/** \file
 *  This C source file was generated by $ANTLR version 3.4
 *
 *     -  From the grammar source file : MySQL.g
 *     -                            On : 2013-10-14 11:38:51
 *     -                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
#pragma GCC diagnostic ignored "-Wtype-limit"
#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[743+4]
     = {
        (pANTLR3_UINT8) "<invalid>",       /* String to print to indicate an invalid token */
        (pANTLR3_UINT8) "<EOR>",
        (pANTLR3_UINT8) "<DOWN>",
        (pANTLR3_UINT8) "<UP>",
        (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) "AUTOEXTEND_SIZE_SYMBOL",
        (pANTLR3_UINT8) "AUTO_INCREMENT_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) "BOOLEAN_SYMBOL",
        (pANTLR3_UINT8) "BOOL_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) "CLASS_ORIGIN_SYMBOL",
        (pANTLR3_UINT8) "CLIENT_SYMBOL",
        (pANTLR3_UINT8) "COALESCE_SYMBOL",
        (pANTLR3_UINT8) "CODE_SYMBOL",
        (pANTLR3_UINT8) "COLLATION_SYMBOL",
        (pANTLR3_UINT8) "COLUMNS_SYMBOL",
        (pANTLR3_UINT8) "COLUMN_FORMAT_SYMBOL",
        (pANTLR3_UINT8) "COLUMN_NAME_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_NAME_SYMBOL",
        (pANTLR3_UINT8) "CONSTRAINT_SCHEMA_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) "DATAFILE_SYMBOL",
        (pANTLR3_UINT8) "DATA_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) "ENABLE_SYMBOL",
        (pANTLR3_UINT8) "ENDS_SYMBOL",
        (pANTLR3_UINT8) "ENGINES_SYMBOL",
        (pANTLR3_UINT8) "ENGINE_SYMBOL",
        (pANTLR3_UINT8) "ENUM_SYMBOL",
        (pANTLR3_UINT8) "ERRORS_SYMBOL",
        (pANTLR3_UINT8) "ERROR_SYMBOL",
        (pANTLR3_UINT8) "ESCAPE_SYMBOL",
        (pANTLR3_UINT8) "EVENTS_SYMBOL",
        (pANTLR3_UINT8) "EVENT_SYMBOL",
        (pANTLR3_UINT8) "EVERY_SYMBOL",
        (pANTLR3_UINT8) "EXPANSION_SYMBOL",
        (pANTLR3_UINT8) "EXPORT_SYMBOL",
        (pANTLR3_UINT8) "EXTENDED_SYMBOL",
        (pANTLR3_UINT8) "EXTENT_SIZE_SYMBOL",
        (pANTLR3_UINT8) "FAST_SYMBOL",
        (pANTLR3_UINT8) "FAULTS_SYMBOL",
        (pANTLR3_UINT8) "FILE_SYMBOL",
        (pANTLR3_UINT8) "FIRST_SYMBOL",
        (pANTLR3_UINT8) "FIXED_SYMBOL",
        (pANTLR3_UINT8) "FOUND_SYMBOL",
        (pANTLR3_UINT8) "FULL_SYMBOL",
        (pANTLR3_UINT8) "FUNCTION_SYMBOL",
        (pANTLR3_UINT8) "GENERAL_SYMBOL",
        (pANTLR3_UINT8) "GEOMETRYCOLLECTION_SYMBOL",
        (pANTLR3_UINT8) "GEOMETRY_SYMBOL",
        (pANTLR3_UINT8) "GET_FORMAT_SYMBOL",
        (pANTLR3_UINT8) "GLOBAL_SYMBOL",
        (pANTLR3_UINT8) "GRANTS_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) "IMPORT_SYMBOL",
        (pANTLR3_UINT8) "INDEXES_SYMBOL",
        (pANTLR3_UINT8) "INITIAL_SIZE_SYMBOL",
        (pANTLR3_UINT8) "INNODB_SYMBOL",
        (pANTLR3_UINT8) "INSERT_METHOD_SYMBOL",
        (pANTLR3_UINT8) "INVOKER_SYMBOL",
        (pANTLR3_UINT8) "IO_SYMBOL",
        (pANTLR3_UINT8) "IPC_SYMBOL",
        (pANTLR3_UINT8) "ISOLATION_SYMBOL",
        (pANTLR3_UINT8) "ISSUER_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) "MASTER_AUTO_POSITION_SYMBOL",
        (pANTLR3_UINT8) "MASTER_CONNECT_RETRY_SYMBOL",
        (pANTLR3_UINT8) "MASTER_DELAY_SYMBOL",
        (pANTLR3_UINT8) "MASTER_HEARTBEAT_PERIOD_SYMBOL",
        (pANTLR3_UINT8) "MASTER_HOST_SYMBOL",
        (pANTLR3_UINT8) "MASTER_LOG_FILE_SYMBOL",
        (pANTLR3_UINT8) "MASTER_LOG_POS_SYMBOL",
        (pANTLR3_UINT8) "MASTER_PASSWORD_SYMBOL",
        (pANTLR3_UINT8) "MASTER_PORT_SYMBOL",
        (pANTLR3_UINT8) "MASTER_RETRY_COUNT_SYMBOL",
        (pANTLR3_UINT8) "MASTER_SERVER_ID_SYMBOL",
        (pANTLR3_UINT8) "MASTER_SSL_CAPATH_SYMBOL",
        (pANTLR3_UINT8) "MASTER_SSL_CA_SYMBOL",
        (pANTLR3_UINT8) "MASTER_SSL_CERT_SYMBOL",
        (pANTLR3_UINT8) "MASTER_SSL_CIPHER_SYMBOL",
        (pANTLR3_UINT8) "MASTER_SSL_CRLPATH_SYMBOL",
        (pANTLR3_UINT8) "MASTER_SSL_CRL_SYMBOL",
        (pANTLR3_UINT8) "MASTER_SSL_KEY_SYMBOL",
        (pANTLR3_UINT8) "MASTER_SSL_SYMBOL",
        (pANTLR3_UINT8) "MASTER_SYMBOL",
        (pANTLR3_UINT8) "MASTER_USER_SYMBOL",
        (pANTLR3_UINT8) "MAX_CONNECTIONS_PER_HOUR_SYMBOL",
        (pANTLR3_UINT8) "MAX_QUERIES_PER_HOUR_SYMBOL",
        (pANTLR3_UINT8) "MAX_ROWS_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) "MODE_SYMBOL",
        (pANTLR3_UINT8) "MODIFY_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) "NAMES_SYMBOL",
        (pANTLR3_UINT8) "NAME_SYMBOL",
        (pANTLR3_UINT8) "NATIONAL_SYMBOL",
        (pANTLR3_UINT8) "NCHAR_SYMBOL",
        (pANTLR3_UINT8) "NDBCLUSTER_SYMBOL",
        (pANTLR3_UINT8) "NEW_SYMBOL",
        (pANTLR3_UINT8) "NEXT_SYMBOL",
        (pANTLR3_UINT8) "NODEGROUP_SYMBOL",
        (pANTLR3_UINT8) "NONE_SYMBOL",
        (pANTLR3_UINT8) "NO_WAIT_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) "PLUGINS_SYMBOL",
        (pANTLR3_UINT8) "PLUGIN_DIR_SYMBOL",
        (pANTLR3_UINT8) "PLUGIN_SYMBOL",
        (pANTLR3_UINT8) "POINT_SYMBOL",
        (pANTLR3_UINT8) "POLYGON_SYMBOL",
        (pANTLR3_UINT8) "PRESERVE_SYMBOL",
        (pANTLR3_UINT8) "PREV_SYMBOL",
        (pANTLR3_UINT8) "PRIVILEGES_SYMBOL",
        (pANTLR3_UINT8) "PROCESSLIST_SYMBOL",
        (pANTLR3_UINT8) "PROCESS_SYMBOL",
        (pANTLR3_UINT8) "PROFILES_SYMBOL",
        (pANTLR3_UINT8) "PROFILE_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) "REDOFILE_SYMBOL",
        (pANTLR3_UINT8) "REDO_BUFFER_SIZE_SYMBOL",
        (pANTLR3_UINT8) "REDUNDANT_SYMBOL",
        (pANTLR3_UINT8) "RELAYLOG_SYMBOL",
        (pANTLR3_UINT8) "RELAY_LOG_FILE_SYMBOL",
        (pANTLR3_UINT8) "RELAY_LOG_POS_SYMBOL",
        (pANTLR3_UINT8) "RELAY_SYMBOL",
        (pANTLR3_UINT8) "RELAY_THREAD_SYMBOL",
        (pANTLR3_UINT8) "RELOAD_SYMBOL",
        (pANTLR3_UINT8) "REORGANIZE_SYMBOL",
        (pANTLR3_UINT8) "REPEATABLE_SYMBOL",
        (pANTLR3_UINT8) "REPLICATION_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) "SERIALIZABLE_SYMBOL",
        (pANTLR3_UINT8) "SERIAL_SYMBOL",
        (pANTLR3_UINT8) "SESSION_SYMBOL",
        (pANTLR3_UINT8) "SHARE_SYMBOL",
        (pANTLR3_UINT8) "SHUTDOWN_SYMBOL",
        (pANTLR3_UINT8) "SIMPLE_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_BUFFER_RESULT_SYMBOL",
        (pANTLR3_UINT8) "SQL_CACHE_SYMBOL",
        (pANTLR3_UINT8) "SQL_NO_CACHE_SYMBOL",
        (pANTLR3_UINT8) "SQL_THREAD_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) "SUBPARTITIONS_SYMBOL",
        (pANTLR3_UINT8) "SUBPARTITION_SYMBOL",
        (pANTLR3_UINT8) "SUPER_SYMBOL",
        (pANTLR3_UINT8) "SUSPEND_SYMBOL",
        (pANTLR3_UINT8) "SWAPS_SYMBOL",
        (pANTLR3_UINT8) "SWITCHES_SYMBOL",
        (pANTLR3_UINT8) "TABLESPACE_SYMBOL",
        (pANTLR3_UINT8) "TABLES_SYMBOL",
        (pANTLR3_UINT8) "TABLE_CHECKSUM_SYMBOL",
        (pANTLR3_UINT8) "TABLE_NAME_SYMBOL",
        (pANTLR3_UINT8) "TEMPORARY_SYMBOL",
        (pANTLR3_UINT8) "TEMPTABLE_SYMBOL",
        (pANTLR3_UINT8) "TEXT_SYMBOL",
        (pANTLR3_UINT8) "THAN_SYMBOL",
        (pANTLR3_UINT8) "TIMESTAMP_ADD_SYMBOL",
        (pANTLR3_UINT8) "TIMESTAMP_DIFF_SYMBOL",
        (pANTLR3_UINT8) "TIMESTAMP_SYMBOL",
        (pANTLR3_UINT8) "TIME_SYMBOL",
        (pANTLR3_UINT8) "TRANSACTION_SYMBOL",
        (pANTLR3_UINT8) "TRIGGERS_SYMBOL",
        (pANTLR3_UINT8) "TYPES_SYMBOL",
        (pANTLR3_UINT8) "TYPE_SYMBOL",
        (pANTLR3_UINT8) "UDF_RETURNS_SYMBOL",
        (pANTLR3_UINT8) "UNCOMMITTED_SYMBOL",
        (pANTLR3_UINT8) "UNDEFINED_SYMBOL",
        (pANTLR3_UINT8) "UNDOFILE_SYMBOL",
        (pANTLR3_UINT8) "UNDO_BUFFER_SIZE_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) "VALUE_SYMBOL",
        (pANTLR3_UINT8) "VARIABLES_SYMBOL",
        (pANTLR3_UINT8) "VIEW_SYMBOL",
        (pANTLR3_UINT8) "WAIT_SYMBOL",
        (pANTLR3_UINT8) "WARNINGS_SYMBOL",
        (pANTLR3_UINT8) "WEEK_SYMBOL",
        (pANTLR3_UINT8) "WEIGHT_STRING_SYMBOL",
        (pANTLR3_UINT8) "WORK_SYMBOL",
        (pANTLR3_UINT8) "X509_SYMBOL",
        (pANTLR3_UINT8) "XML_SYMBOL",
        (pANTLR3_UINT8) "YEAR_SYMBOL",
        (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) "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) "PORT_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) "PARTITION_SYMBOL",
        (pANTLR3_UINT8) "ACCESSIBLE_SYMBOL",
        (pANTLR3_UINT8) "ADD_SYMBOL",
        (pANTLR3_UINT8) "ALL_SYMBOL",
        (pANTLR3_UINT8) "ALTER_SYMBOL",
        (pANTLR3_UINT8) "ALTER_TABLE_ITEM",
        (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) "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",
        (pANTLR3_UINT8) "CHANGE_SYMBOL",
        (pANTLR3_UINT8) "CHARACTER_SYMBOL",
        (pANTLR3_UINT8) "CHAR_SYMBOL",
        (pANTLR3_UINT8) "CHECK_SYMBOL",
        (pANTLR3_UINT8) "CLOSE_BRACKET_SYMBOL",
        (pANTLR3_UINT8) "CLOSE_CURLY_SYMBOL",
        (pANTLR3_UINT8) "CLOSE_PAR_SYMBOL",
        (pANTLR3_UINT8) "COLLATE_SYMBOL",
        (pANTLR3_UINT8) "COLON_SYMBOL",
        (pANTLR3_UINT8) "COLUMN_ASSIGNMENT_LIST",
        (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_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",
        (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) "EXCHANGE_SYMBOL",
        (pANTLR3_UINT8) "EXISTS_SYMBOL",
        (pANTLR3_UINT8) "EXIT_SYMBOL",
        (pANTLR3_UINT8) "EXPIRE_SYMBOL",
        (pANTLR3_UINT8) "EXPLAIN_SYMBOL",
        (pANTLR3_UINT8) "EXPRESSION",
        (pANTLR3_UINT8) "EXTRACT_SYMBOL",
        (pANTLR3_UINT8) "FALSE_SYMBOL",
        (pANTLR3_UINT8) "FETCH_SYMBOL",
        (pANTLR3_UINT8) "FIELDS_SYMBOL",
        (pANTLR3_UINT8) "FIELD_REF_ID",
        (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",
        (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",
        (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) "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",
        (pANTLR3_UINT8) "JOIN_SYMBOL",
        (pANTLR3_UINT8) "KEYS_SYMBOL",
        (pANTLR3_UINT8) "KEY_CACHE_LIST",
        (pANTLR3_UINT8) "KEY_CACHE_PARTITION",
        (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) "LEX_HOSTNAME_SYMBOL",
        (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_OPTIONS",
        (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) "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) "NUM_SYMBOL",
        (pANTLR3_UINT8) "OFFLINE_SYMBOL",
        (pANTLR3_UINT8) "ONLINE_SYMBOL",
        (pANTLR3_UINT8) "ONLY_SYMBOL",
        (pANTLR3_UINT8) "ON_SYMBOL",
        (pANTLR3_UINT8) "OPEN_BRACKET_SYMBOL",
        (pANTLR3_UINT8) "OPEN_CURLY_SYMBOL",
        (pANTLR3_UINT8) "OPEN_PAR_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",
        (pANTLR3_UINT8) "PLUS_OPERATOR",
        (pANTLR3_UINT8) "POSITION_SYMBOL",
        (pANTLR3_UINT8) "POUND_COMMENT",
        (pANTLR3_UINT8) "PRECISION_SYMBOL",
        (pANTLR3_UINT8) "PRIMARY_SYMBOL",
        (pANTLR3_UINT8) "PRIVILEGE_TARGET",
        (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) "SCHEMAS_SYMBOL",
        (pANTLR3_UINT8) "SCHEMA_SYMBOL",
        (pANTLR3_UINT8) "SECOND_MICROSECOND_SYMBOL",
        (pANTLR3_UINT8) "SELECT_EXPR",
        (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) "SINGLE_QUOTE",
        (pANTLR3_UINT8) "SINGLE_QUOTED_TEXT",
        (pANTLR3_UINT8) "SLAVE_THREAD_OPTIONS",
        (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",
        (pANTLR3_UINT8) "SUBQUERY",
        (pANTLR3_UINT8) "SUBSTRING_SYMBOL",
        (pANTLR3_UINT8) "SUBSTR_SYMBOL",
        (pANTLR3_UINT8) "SUM_SYMBOL",
        (pANTLR3_UINT8) "SYSDATE_SYMBOL",
        (pANTLR3_UINT8) "SYSTEM_USER_SYMBOL",
        (pANTLR3_UINT8) "TABLE_REF_ID",
        (pANTLR3_UINT8) "TABLE_REF_PRIORITY_SYMBOL",
        (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_SYMBOL",
        (pANTLR3_UINT8) "TRIM_SYMBOL",
        (pANTLR3_UINT8) "TRUE_SYMBOL",
        (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) "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",
        (pANTLR3_UINT8) "VERSION_COMMENT_TAIL",
        (pANTLR3_UINT8) "WHEN_SYMBOL",
        (pANTLR3_UINT8) "WHERE_SYMBOL",
        (pANTLR3_UINT8) "WHILE_SYMBOL",
        (pANTLR3_UINT8) "WITH_CUBE_SYMBOL",
        (pANTLR3_UINT8) "WITH_ROLLUP_SYMBOL",
        (pANTLR3_UINT8) "WITH_SYMBOL",
        (pANTLR3_UINT8) "WRITE_SYMBOL",
        (pANTLR3_UINT8) "WS",
        (pANTLR3_UINT8) "XA_ID",
        (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_routine_return
	alter_routine    (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_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_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_event_return
	create_event    (pMySQLParser ctx);
static 
 MySQLParser_create_routine_or_udf_return
	create_routine_or_udf    (pMySQLParser ctx);
static 
 MySQLParser_udf_tail_return
	udf_tail    (pMySQLParser ctx);
static 
 MySQLParser_routine_create_option_return
	routine_create_option    (pMySQLParser ctx);
static 
 MySQLParser_routine_option_return
	routine_option    (pMySQLParser ctx);
static 
 MySQLParser_create_index_return
	create_index    (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_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_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_field_list_return
	create_field_list    (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_tablespace_option_return
	tablespace_option    (pMySQLParser ctx);
static 
 MySQLParser_create_trigger_return
	create_trigger    (pMySQLParser ctx);
static 
 MySQLParser_create_view_return
	create_view    (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_name_list_with_wildcards_return
	table_name_list_with_wildcards    (pMySQLParser ctx);
static 
 MySQLParser_do_statement_return
	do_statement    (pMySQLParser ctx);
static 
 MySQLParser_handler_statement_return
	handler_statement    (pMySQLParser ctx);
static 
 MySQLParser_insert_statement_return
	insert_statement    (pMySQLParser ctx);
static 
 MySQLParser_insert_option_return
	insert_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_identifier_ref_return
	insert_identifier_ref    (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_part2_return
	select_part2    (pMySQLParser ctx);
static 
 MySQLParser_subquery_return
	subquery    (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_expression_option_return
	query_expression_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_select_source_and_options_return
	select_source_and_options    (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_select_from_return
	select_from    (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_where_clause_return
	where_clause    (pMySQLParser ctx);
static 
 MySQLParser_table_references_return
	table_references    (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_table_factor_select_tail_return
	table_factor_select_tail    (pMySQLParser ctx);
static 
 MySQLParser_select_table_factor_union_return
	select_table_factor_union    (pMySQLParser ctx);
static 
 MySQLParser_join_query_specification_return
	join_query_specification    (pMySQLParser ctx);
static 
 MySQLParser_table_factor_table_return
	table_factor_table    (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_type_return
	lock_type    (pMySQLParser ctx);
static 
 MySQLParser_xa_statement_return
	xa_statement    (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_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_return
	alter_user    (pMySQLParser ctx);
static 
 MySQLParser_create_user_return
	create_user    (pMySQLParser ctx);
static 
 MySQLParser_drop_user_return
	drop_user    (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_variable_assignment_return
	variable_assignment    (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_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_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_comparison_operator_return
	comparison_operator    (pMySQLParser ctx);
static 
 MySQLParser_multiplication_operator_return
	multiplication_operator    (pMySQLParser ctx);
static 
 MySQLParser_function_call_expression_return
	function_call_expression    (pMySQLParser ctx);
static 
 MySQLParser_function_call_return
	function_call    (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_generic_function_call_return
	generic_function_call    (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_count_function_return
	count_function    (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_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_condition_information_item_name_return
	condition_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_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_definitions_return
	partition_definitions    (pMySQLParser ctx);
static 
 MySQLParser_partition_definition_return
	partition_definition    (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_table_identifier_return
	table_identifier    (pMySQLParser ctx);
static 
 MySQLParser_table_identifier_variants_return
	table_identifier_variants    (pMySQLParser ctx);
static 
 MySQLParser_table_identifier_list_return
	table_identifier_list    (pMySQLParser ctx);
static 
 MySQLParser_qualified_identifier_list_return
	qualified_identifier_list    (pMySQLParser ctx);
static 
 MySQLParser_qualified_identifier_return
	qualified_identifier    (pMySQLParser ctx);
static 
 MySQLParser_qualified_identifier_with_wildcard_return
	qualified_identifier_with_wildcard    (pMySQLParser ctx);
static 
 MySQLParser_target_table_return
	target_table    (pMySQLParser ctx);
static 
 MySQLParser_target_table_with_optional_wildcard_return
	target_table_with_optional_wildcard    (pMySQLParser ctx);
static 
 MySQLParser_column_assignment_return
	column_assignment    (pMySQLParser ctx);
static 
 MySQLParser_field_name_list_return
	field_name_list    (pMySQLParser ctx);
static 
 MySQLParser_field_name_return
	field_name    (pMySQLParser ctx);
static 
 MySQLParser_field_name_entry_return
	field_name_entry    (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_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_integer_list_return
	integer_list    (pMySQLParser ctx);
static 
 MySQLParser_string_list_return
	string_list    (pMySQLParser ctx);
static 
 MySQLParser_literal_return
	literal    (pMySQLParser ctx);
static 
 MySQLParser_string_literal_return
	string_literal    (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_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 
 ANTLR3_BOOLEAN
	synpred3_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_routine	= alter_routine;
    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->remove_partitioning	= remove_partitioning;
    ctx->all_or_partition_name_list	= all_or_partition_name_list;
    ctx->alter_tablespace	= alter_tablespace;
    ctx->alter_view	= alter_view;
    ctx->create_statement	= create_statement;
    ctx->create_database	= create_database;
    ctx->create_event	= create_event;
    ctx->create_routine_or_udf	= create_routine_or_udf;
    ctx->udf_tail	= udf_tail;
    ctx->routine_create_option	= routine_create_option;
    ctx->routine_option	= routine_option;
    ctx->create_index	= create_index;
    ctx->create_index_target	= create_index_target;
    ctx->create_logfile_group	= create_logfile_group;
    ctx->logfile_group_options	= logfile_group_options;
    ctx->logfile_group_option	= logfile_group_option;
    ctx->create_server	= create_server;
    ctx->server_options	= server_options;
    ctx->server_option	= server_option;
    ctx->create_table	= create_table;
    ctx->create_field_list	= create_field_list;
    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->tablespace_option	= tablespace_option;
    ctx->create_trigger	= create_trigger;
    ctx->create_view	= create_view;
    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_name_list_with_wildcards	= table_name_list_with_wildcards;
    ctx->do_statement	= do_statement;
    ctx->handler_statement	= handler_statement;
    ctx->insert_statement	= insert_statement;
    ctx->insert_option	= insert_option;
    ctx->insert_field_spec	= insert_field_spec;
    ctx->fields	= fields;
    ctx->insert_identifier	= insert_identifier;
    ctx->insert_identifier_ref	= insert_identifier_ref;
    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_part2	= select_part2;
    ctx->subquery	= subquery;
    ctx->select_part2_derived	= select_part2_derived;
    ctx->select_option	= select_option;
    ctx->query_expression_option	= query_expression_option;
    ctx->select_item_list	= select_item_list;
    ctx->select_item	= select_item;
    ctx->select_alias	= select_alias;
    ctx->select_source_and_options	= select_source_and_options;
    ctx->limit_clause	= limit_clause;
    ctx->limit_options	= limit_options;
    ctx->limit_option	= limit_option;
    ctx->into_clause	= into_clause;
    ctx->select_from	= select_from;
    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->where_clause	= where_clause;
    ctx->table_references	= table_references;
    ctx->escaped_table_reference	= escaped_table_reference;
    ctx->table_reference	= table_reference;
    ctx->join	= join;
    ctx->table_factor	= table_factor;
    ctx->table_factor_select_tail	= table_factor_select_tail;
    ctx->select_table_factor_union	= select_table_factor_union;
    ctx->join_query_specification	= join_query_specification;
    ctx->table_factor_table	= table_factor_table;
    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_type	= lock_type;
    ctx->xa_statement	= xa_statement;
    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->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	= alter_user;
    ctx->create_user	= create_user;
    ctx->drop_user	= drop_user;
    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->variable_assignment	= variable_assignment;
    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->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->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->comparison_operator	= comparison_operator;
    ctx->multiplication_operator	= multiplication_operator;
    ctx->function_call_expression	= function_call_expression;
    ctx->function_call	= function_call;
    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->generic_function_call	= generic_function_call;
    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->count_function	= count_function;
    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->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->condition_information_item_name	= condition_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_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_definitions	= partition_definitions;
    ctx->partition_definition	= partition_definition;
    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->table_identifier	= table_identifier;
    ctx->table_identifier_variants	= table_identifier_variants;
    ctx->table_identifier_list	= table_identifier_list;
    ctx->qualified_identifier_list	= qualified_identifier_list;
    ctx->qualified_identifier	= qualified_identifier;
    ctx->qualified_identifier_with_wildcard	= qualified_identifier_with_wildcard;
    ctx->target_table	= target_table;
    ctx->target_table_with_optional_wildcard	= target_table_with_optional_wildcard;
    ctx->column_assignment	= column_assignment;
    ctx->field_name_list	= field_name_list;
    ctx->field_name	= field_name;
    ctx->field_name_entry	= field_name_entry;
    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->pure_identifier	= pure_identifier;
    ctx->identifier	= identifier;
    ctx->identifier_list	= identifier_list;
    ctx->identifier_list_with_parentheses	= identifier_list_with_parentheses;
    ctx->integer_list	= integer_list;
    ctx->string_list	= string_list;
    ctx->literal	= literal;
    ctx->string_literal	= string_literal;
    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->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->synpred3_MySQL	= synpred3_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_query249  */
static	ANTLR3_BITWORD FOLLOW_statement_in_query249_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_statement_in_query249	= { FOLLOW_statement_in_query249_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SEMICOLON_SYMBOL_in_query251  */
static	ANTLR3_BITWORD FOLLOW_SEMICOLON_SYMBOL_in_query251_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_SEMICOLON_SYMBOL_in_query251	= { FOLLOW_SEMICOLON_SYMBOL_in_query251_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EOF_in_query256  */
static	ANTLR3_BITWORD FOLLOW_EOF_in_query256_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_EOF_in_query256	= { FOLLOW_EOF_in_query256_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_alter_statement_in_statement267  */
static	ANTLR3_BITWORD FOLLOW_alter_statement_in_statement267_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_alter_statement_in_statement267	= { FOLLOW_alter_statement_in_statement267_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_create_statement_in_statement272  */
static	ANTLR3_BITWORD FOLLOW_create_statement_in_statement272_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_create_statement_in_statement272	= { FOLLOW_create_statement_in_statement272_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_drop_statement_in_statement277  */
static	ANTLR3_BITWORD FOLLOW_drop_statement_in_statement277_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_drop_statement_in_statement277	= { FOLLOW_drop_statement_in_statement277_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_rename_table_statement_in_statement282  */
static	ANTLR3_BITWORD FOLLOW_rename_table_statement_in_statement282_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_rename_table_statement_in_statement282	= { FOLLOW_rename_table_statement_in_statement282_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_truncate_table_statement_in_statement287  */
static	ANTLR3_BITWORD FOLLOW_truncate_table_statement_in_statement287_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_truncate_table_statement_in_statement287	= { FOLLOW_truncate_table_statement_in_statement287_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_call_statement_in_statement296  */
static	ANTLR3_BITWORD FOLLOW_call_statement_in_statement296_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_call_statement_in_statement296	= { FOLLOW_call_statement_in_statement296_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_delete_statement_in_statement301  */
static	ANTLR3_BITWORD FOLLOW_delete_statement_in_statement301_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_delete_statement_in_statement301	= { FOLLOW_delete_statement_in_statement301_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_do_statement_in_statement306  */
static	ANTLR3_BITWORD FOLLOW_do_statement_in_statement306_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_do_statement_in_statement306	= { FOLLOW_do_statement_in_statement306_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_handler_statement_in_statement311  */
static	ANTLR3_BITWORD FOLLOW_handler_statement_in_statement311_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_handler_statement_in_statement311	= { FOLLOW_handler_statement_in_statement311_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_insert_statement_in_statement316  */
static	ANTLR3_BITWORD FOLLOW_insert_statement_in_statement316_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_insert_statement_in_statement316	= { FOLLOW_insert_statement_in_statement316_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_load_statement_in_statement321  */
static	ANTLR3_BITWORD FOLLOW_load_statement_in_statement321_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_load_statement_in_statement321	= { FOLLOW_load_statement_in_statement321_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_replace_statement_in_statement326  */
static	ANTLR3_BITWORD FOLLOW_replace_statement_in_statement326_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_replace_statement_in_statement326	= { FOLLOW_replace_statement_in_statement326_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_select_statement_in_statement331  */
static	ANTLR3_BITWORD FOLLOW_select_statement_in_statement331_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_select_statement_in_statement331	= { FOLLOW_select_statement_in_statement331_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_update_statement_in_statement336  */
static	ANTLR3_BITWORD FOLLOW_update_statement_in_statement336_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_update_statement_in_statement336	= { FOLLOW_update_statement_in_statement336_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_partitioning_in_statement342  */
static	ANTLR3_BITWORD FOLLOW_partitioning_in_statement342_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_partitioning_in_statement342	= { FOLLOW_partitioning_in_statement342_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_transaction_or_locking_statement_in_statement351  */
static	ANTLR3_BITWORD FOLLOW_transaction_or_locking_statement_in_statement351_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_transaction_or_locking_statement_in_statement351	= { FOLLOW_transaction_or_locking_statement_in_statement351_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_replication_statement_in_statement358  */
static	ANTLR3_BITWORD FOLLOW_replication_statement_in_statement358_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_replication_statement_in_statement358	= { FOLLOW_replication_statement_in_statement358_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_prepared_statement_in_statement365  */
static	ANTLR3_BITWORD FOLLOW_prepared_statement_in_statement365_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_prepared_statement_in_statement365	= { FOLLOW_prepared_statement_in_statement365_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_account_management_statement_in_statement374  */
static	ANTLR3_BITWORD FOLLOW_account_management_statement_in_statement374_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_account_management_statement_in_statement374	= { FOLLOW_account_management_statement_in_statement374_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_administration_statement_in_statement379  */
static	ANTLR3_BITWORD FOLLOW_table_administration_statement_in_statement379_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_table_administration_statement_in_statement379	= { FOLLOW_table_administration_statement_in_statement379_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_install_uninstall_statment_in_statement384  */
static	ANTLR3_BITWORD FOLLOW_install_uninstall_statment_in_statement384_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_install_uninstall_statment_in_statement384	= { FOLLOW_install_uninstall_statment_in_statement384_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_statement_in_statement391  */
static	ANTLR3_BITWORD FOLLOW_set_statement_in_statement391_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_set_statement_in_statement391	= { FOLLOW_set_statement_in_statement391_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_show_statement_in_statement397  */
static	ANTLR3_BITWORD FOLLOW_show_statement_in_statement397_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_show_statement_in_statement397	= { FOLLOW_show_statement_in_statement397_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_miscellaneous_statement_in_statement402  */
static	ANTLR3_BITWORD FOLLOW_miscellaneous_statement_in_statement402_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_miscellaneous_statement_in_statement402	= { FOLLOW_miscellaneous_statement_in_statement402_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_utility_statement_in_statement411  */
static	ANTLR3_BITWORD FOLLOW_utility_statement_in_statement411_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_utility_statement_in_statement411	= { FOLLOW_utility_statement_in_statement411_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ALTER_SYMBOL_in_alter_statement423  */
static	ANTLR3_BITWORD FOLLOW_ALTER_SYMBOL_in_alter_statement423_bits[]	= { ANTLR3_UINT64_LIT(0x0800000000000200), ANTLR3_UINT64_LIT(0x0800000010008000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000020000002000), ANTLR3_UINT64_LIT(0x0000000000400000), ANTLR3_UINT64_LIT(0x0000004000000000), ANTLR3_UINT64_LIT(0x0040000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000400000C00000), ANTLR3_UINT64_LIT(0x0100000040000000) };
static  ANTLR3_BITSET_LIST FOLLOW_ALTER_SYMBOL_in_alter_statement423	= { FOLLOW_ALTER_SYMBOL_in_alter_statement423_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_alter_database_in_alter_statement431  */
static	ANTLR3_BITWORD FOLLOW_alter_database_in_alter_statement431_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_alter_database_in_alter_statement431	= { FOLLOW_alter_database_in_alter_statement431_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_alter_log_file_group_in_alter_statement436  */
static	ANTLR3_BITWORD FOLLOW_alter_log_file_group_in_alter_statement436_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_alter_log_file_group_in_alter_statement436	= { FOLLOW_alter_log_file_group_in_alter_statement436_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FUNCTION_SYMBOL_in_alter_statement441  */
static	ANTLR3_BITWORD FOLLOW_FUNCTION_SYMBOL_in_alter_statement441_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_FUNCTION_SYMBOL_in_alter_statement441	= { FOLLOW_FUNCTION_SYMBOL_in_alter_statement441_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_alter_routine_in_alter_statement443  */
static	ANTLR3_BITWORD FOLLOW_alter_routine_in_alter_statement443_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_alter_routine_in_alter_statement443	= { FOLLOW_alter_routine_in_alter_statement443_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PROCEDURE_SYMBOL_in_alter_statement448  */
static	ANTLR3_BITWORD FOLLOW_PROCEDURE_SYMBOL_in_alter_statement448_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_PROCEDURE_SYMBOL_in_alter_statement448	= { FOLLOW_PROCEDURE_SYMBOL_in_alter_statement448_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_alter_routine_in_alter_statement450  */
static	ANTLR3_BITWORD FOLLOW_alter_routine_in_alter_statement450_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_alter_routine_in_alter_statement450	= { FOLLOW_alter_routine_in_alter_statement450_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_alter_server_in_alter_statement455  */
static	ANTLR3_BITWORD FOLLOW_alter_server_in_alter_statement455_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_alter_server_in_alter_statement455	= { FOLLOW_alter_server_in_alter_statement455_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_alter_table_in_alter_statement460  */
static	ANTLR3_BITWORD FOLLOW_alter_table_in_alter_statement460_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_alter_table_in_alter_statement460	= { FOLLOW_alter_table_in_alter_statement460_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_alter_tablespace_in_alter_statement465  */
static	ANTLR3_BITWORD FOLLOW_alter_tablespace_in_alter_statement465_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_alter_tablespace_in_alter_statement465	= { FOLLOW_alter_tablespace_in_alter_statement465_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_alter_event_in_alter_statement474  */
static	ANTLR3_BITWORD FOLLOW_alter_event_in_alter_statement474_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_alter_event_in_alter_statement474	= { FOLLOW_alter_event_in_alter_statement474_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_alter_view_in_alter_statement479  */
static	ANTLR3_BITWORD FOLLOW_alter_view_in_alter_statement479_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_alter_view_in_alter_statement479	= { FOLLOW_alter_view_in_alter_statement479_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DATABASE_SYMBOL_in_alter_database492  */
static	ANTLR3_BITWORD FOLLOW_DATABASE_SYMBOL_in_alter_database492_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0020000000021000), ANTLR3_UINT64_LIT(0x0010000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_DATABASE_SYMBOL_in_alter_database492	= { FOLLOW_DATABASE_SYMBOL_in_alter_database492_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_alter_database499  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_alter_database499_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0020000000021000) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_alter_database499	= { FOLLOW_identifier_in_alter_database499_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_database_option_in_alter_database502  */
static	ANTLR3_BITWORD FOLLOW_database_option_in_alter_database502_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0020000000021000) };
static  ANTLR3_BITSET_LIST FOLLOW_database_option_in_alter_database502	= { FOLLOW_database_option_in_alter_database502_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_alter_database509  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_alter_database509_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_identifier_in_alter_database509	= { FOLLOW_identifier_in_alter_database509_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_UPGRADE_SYMBOL_in_alter_database511  */
static	ANTLR3_BITWORD FOLLOW_UPGRADE_SYMBOL_in_alter_database511_bits[]	= { ANTLR3_UINT64_LIT(0x0040000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_UPGRADE_SYMBOL_in_alter_database511	= { FOLLOW_UPGRADE_SYMBOL_in_alter_database511_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DATA_SYMBOL_in_alter_database513  */
static	ANTLR3_BITWORD FOLLOW_DATA_SYMBOL_in_alter_database513_bits[]	= { ANTLR3_UINT64_LIT(0x8000000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_DATA_SYMBOL_in_alter_database513	= { FOLLOW_DATA_SYMBOL_in_alter_database513_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DIRECTORY_SYMBOL_in_alter_database515  */
static	ANTLR3_BITWORD FOLLOW_DIRECTORY_SYMBOL_in_alter_database515_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000020000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_DIRECTORY_SYMBOL_in_alter_database515	= { FOLLOW_DIRECTORY_SYMBOL_in_alter_database515_bits, 3	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_NAME_SYMBOL_in_alter_database517  */
static	ANTLR3_BITWORD FOLLOW_NAME_SYMBOL_in_alter_database517_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_NAME_SYMBOL_in_alter_database517	= { FOLLOW_NAME_SYMBOL_in_alter_database517_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_definer_clause_in_alter_event529  */
static	ANTLR3_BITWORD FOLLOW_definer_clause_in_alter_event529_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000008000) };
static  ANTLR3_BITSET_LIST FOLLOW_definer_clause_in_alter_event529	= { FOLLOW_definer_clause_in_alter_event529_bits, 2	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EVENT_SYMBOL_in_alter_event534  */
static	ANTLR3_BITWORD FOLLOW_EVENT_SYMBOL_in_alter_event534_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_EVENT_SYMBOL_in_alter_event534	= { FOLLOW_EVENT_SYMBOL_in_alter_event534_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_alter_event536  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_alter_event536_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000041), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x4400000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0100000002000000) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_alter_event536	= { FOLLOW_identifier_in_alter_event536_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ON_SYMBOL_in_alter_event541  */
static	ANTLR3_BITWORD FOLLOW_ON_SYMBOL_in_alter_event541_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000020000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_ON_SYMBOL_in_alter_event541	= { FOLLOW_ON_SYMBOL_in_alter_event541_bits, 4	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SCHEDULE_SYMBOL_in_alter_event543  */
static	ANTLR3_BITWORD FOLLOW_SCHEDULE_SYMBOL_in_alter_event543_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000001000), ANTLR3_UINT64_LIT(0x0000000000010000) };
static  ANTLR3_BITSET_LIST FOLLOW_SCHEDULE_SYMBOL_in_alter_event543	= { FOLLOW_SCHEDULE_SYMBOL_in_alter_event543_bits, 2	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_schedule_in_alter_event545  */
static	ANTLR3_BITWORD FOLLOW_schedule_in_alter_event545_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000041), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x4400000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0100000002000000) };
static  ANTLR3_BITSET_LIST FOLLOW_schedule_in_alter_event545	= { FOLLOW_schedule_in_alter_event545_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ON_SYMBOL_in_alter_event552  */
static	ANTLR3_BITWORD FOLLOW_ON_SYMBOL_in_alter_event552_bits[]	= { ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_ON_SYMBOL_in_alter_event552	= { FOLLOW_ON_SYMBOL_in_alter_event552_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMPLETION_SYMBOL_in_alter_event554  */
static	ANTLR3_BITWORD FOLLOW_COMPLETION_SYMBOL_in_alter_event554_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000010), 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_COMPLETION_SYMBOL_in_alter_event554	= { FOLLOW_COMPLETION_SYMBOL_in_alter_event554_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_NOT_SYMBOL_in_alter_event556  */
static	ANTLR3_BITWORD FOLLOW_NOT_SYMBOL_in_alter_event556_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_NOT_SYMBOL_in_alter_event556	= { FOLLOW_NOT_SYMBOL_in_alter_event556_bits, 4	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PRESERVE_SYMBOL_in_alter_event559  */
static	ANTLR3_BITWORD FOLLOW_PRESERVE_SYMBOL_in_alter_event559_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000041), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x4400000000000000), 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_PRESERVE_SYMBOL_in_alter_event559	= { FOLLOW_PRESERVE_SYMBOL_in_alter_event559_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_RENAME_SYMBOL_in_alter_event566  */
static	ANTLR3_BITWORD FOLLOW_RENAME_SYMBOL_in_alter_event566_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_RENAME_SYMBOL_in_alter_event566	= { FOLLOW_RENAME_SYMBOL_in_alter_event566_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TO_SYMBOL_in_alter_event568  */
static	ANTLR3_BITWORD FOLLOW_TO_SYMBOL_in_alter_event568_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_TO_SYMBOL_in_alter_event568	= { FOLLOW_TO_SYMBOL_in_alter_event568_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_alter_event570  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_alter_event570_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000041), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x4400000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_alter_event570	= { FOLLOW_identifier_in_alter_event570_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ENABLE_SYMBOL_in_alter_event577  */
static	ANTLR3_BITWORD FOLLOW_ENABLE_SYMBOL_in_alter_event577_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x4400000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_ENABLE_SYMBOL_in_alter_event577	= { FOLLOW_ENABLE_SYMBOL_in_alter_event577_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DISABLE_SYMBOL_in_alter_event581  */
static	ANTLR3_BITWORD FOLLOW_DISABLE_SYMBOL_in_alter_event581_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x4400000000000000), 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_DISABLE_SYMBOL_in_alter_event581	= { FOLLOW_DISABLE_SYMBOL_in_alter_event581_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ON_SYMBOL_in_alter_event584  */
static	ANTLR3_BITWORD FOLLOW_ON_SYMBOL_in_alter_event584_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000001000000) };
static  ANTLR3_BITSET_LIST FOLLOW_ON_SYMBOL_in_alter_event584	= { FOLLOW_ON_SYMBOL_in_alter_event584_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SLAVE_SYMBOL_in_alter_event586  */
static	ANTLR3_BITWORD FOLLOW_SLAVE_SYMBOL_in_alter_event586_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x4400000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_SLAVE_SYMBOL_in_alter_event586	= { FOLLOW_SLAVE_SYMBOL_in_alter_event586_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMENT_SYMBOL_in_alter_event595  */
static	ANTLR3_BITWORD FOLLOW_COMMENT_SYMBOL_in_alter_event595_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMENT_SYMBOL_in_alter_event595	= { FOLLOW_COMMENT_SYMBOL_in_alter_event595_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_alter_event597  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_alter_event597_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x4000000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_alter_event597	= { FOLLOW_string_literal_in_alter_event597_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DO_SYMBOL_in_alter_event604  */
static	ANTLR3_BITWORD FOLLOW_DO_SYMBOL_in_alter_event604_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x6B5BFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004008CB81F425B), ANTLR3_UINT64_LIT(0x03800000200024A0), ANTLR3_UINT64_LIT(0x203000C001000050), ANTLR3_UINT64_LIT(0x0000804400902000), ANTLR3_UINT64_LIT(0xD780800030000000), ANTLR3_UINT64_LIT(0x0000000000031040), ANTLR3_UINT64_LIT(0x0000000200002A00) };
static  ANTLR3_BITSET_LIST FOLLOW_DO_SYMBOL_in_alter_event604	= { FOLLOW_DO_SYMBOL_in_alter_event604_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_compound_statement_in_alter_event606  */
static	ANTLR3_BITWORD FOLLOW_compound_statement_in_alter_event606_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_compound_statement_in_alter_event606	= { FOLLOW_compound_statement_in_alter_event606_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_LOGFILE_SYMBOL_in_alter_log_file_group617  */
static	ANTLR3_BITWORD FOLLOW_LOGFILE_SYMBOL_in_alter_log_file_group617_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_LOGFILE_SYMBOL_in_alter_log_file_group617	= { FOLLOW_LOGFILE_SYMBOL_in_alter_log_file_group617_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_GROUP_SYMBOL_in_alter_log_file_group619  */
static	ANTLR3_BITWORD FOLLOW_GROUP_SYMBOL_in_alter_log_file_group619_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_GROUP_SYMBOL_in_alter_log_file_group619	= { FOLLOW_GROUP_SYMBOL_in_alter_log_file_group619_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_alter_log_file_group621  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_alter_log_file_group621_bits[]	= { 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_identifier_in_alter_log_file_group621	= { FOLLOW_identifier_in_alter_log_file_group621_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ADD_SYMBOL_in_alter_log_file_group623  */
static	ANTLR3_BITWORD FOLLOW_ADD_SYMBOL_in_alter_log_file_group623_bits[]	= { 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_group623	= { FOLLOW_ADD_SYMBOL_in_alter_log_file_group623_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_UNDOFILE_SYMBOL_in_alter_log_file_group625  */
static	ANTLR3_BITWORD FOLLOW_UNDOFILE_SYMBOL_in_alter_log_file_group625_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_UNDOFILE_SYMBOL_in_alter_log_file_group625	= { FOLLOW_UNDOFILE_SYMBOL_in_alter_log_file_group625_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_alter_log_file_group627  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_alter_log_file_group627_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000040000000200), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000040000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_alter_log_file_group627	= { FOLLOW_string_literal_in_alter_log_file_group627_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INITIAL_SIZE_SYMBOL_in_alter_log_file_group632  */
static	ANTLR3_BITWORD FOLLOW_INITIAL_SIZE_SYMBOL_in_alter_log_file_group632_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010400000002000), ANTLR3_UINT64_LIT(0x0000000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_INITIAL_SIZE_SYMBOL_in_alter_log_file_group632	= { FOLLOW_INITIAL_SIZE_SYMBOL_in_alter_log_file_group632_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_alter_log_file_group634  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_alter_log_file_group634_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010400000000000), ANTLR3_UINT64_LIT(0x0000000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_alter_log_file_group634	= { FOLLOW_EQUAL_OPERATOR_in_alter_log_file_group634_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_size_number_in_alter_log_file_group637  */
static	ANTLR3_BITWORD FOLLOW_size_number_in_alter_log_file_group637_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000200), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000040000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_size_number_in_alter_log_file_group637	= { FOLLOW_size_number_in_alter_log_file_group637_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_WAIT_SYMBOL_in_alter_log_file_group641  */
static	ANTLR3_BITWORD FOLLOW_WAIT_SYMBOL_in_alter_log_file_group641_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000200) };
static  ANTLR3_BITSET_LIST FOLLOW_WAIT_SYMBOL_in_alter_log_file_group641	= { FOLLOW_WAIT_SYMBOL_in_alter_log_file_group641_bits, 2	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ENGINE_SYMBOL_in_alter_log_file_group644  */
static	ANTLR3_BITWORD FOLLOW_ENGINE_SYMBOL_in_alter_log_file_group644_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000002000) };
static  ANTLR3_BITSET_LIST FOLLOW_ENGINE_SYMBOL_in_alter_log_file_group644	= { FOLLOW_ENGINE_SYMBOL_in_alter_log_file_group644_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_alter_log_file_group646  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_alter_log_file_group646_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_EQUAL_OPERATOR_in_alter_log_file_group646	= { FOLLOW_EQUAL_OPERATOR_in_alter_log_file_group646_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_IDENTIFIER_in_alter_log_file_group649  */
static	ANTLR3_BITWORD FOLLOW_IDENTIFIER_in_alter_log_file_group649_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_IDENTIFIER_in_alter_log_file_group649	= { FOLLOW_IDENTIFIER_in_alter_log_file_group649_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_alter_routine658  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_alter_routine658_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x1400000000000000), ANTLR3_UINT64_LIT(0x0000000000000180), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0002000000000002), ANTLR3_UINT64_LIT(0x0000000040000000) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_alter_routine658	= { FOLLOW_identifier_in_alter_routine658_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_routine_option_in_alter_routine660  */
static	ANTLR3_BITWORD FOLLOW_routine_option_in_alter_routine660_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x1400000000000000), ANTLR3_UINT64_LIT(0x0000000000000180), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0002000000000002), ANTLR3_UINT64_LIT(0x0000000040000000) };
static  ANTLR3_BITSET_LIST FOLLOW_routine_option_in_alter_routine660	= { FOLLOW_routine_option_in_alter_routine660_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SERVER_SYMBOL_in_alter_server670  */
static	ANTLR3_BITWORD FOLLOW_SERVER_SYMBOL_in_alter_server670_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_SERVER_SYMBOL_in_alter_server670	= { FOLLOW_SERVER_SYMBOL_in_alter_server670_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_text_or_identifier_in_alter_server672  */
static	ANTLR3_BITWORD FOLLOW_text_or_identifier_in_alter_server672_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_text_or_identifier_in_alter_server672	= { FOLLOW_text_or_identifier_in_alter_server672_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_server_options_in_alter_server674  */
static	ANTLR3_BITWORD FOLLOW_server_options_in_alter_server674_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_server_options_in_alter_server674	= { FOLLOW_server_options_in_alter_server674_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_online_option_in_alter_table683  */
static	ANTLR3_BITWORD FOLLOW_online_option_in_alter_table683_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0100000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_online_option_in_alter_table683	= { FOLLOW_online_option_in_alter_table683_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_IGNORE_SYMBOL_in_alter_table686  */
static	ANTLR3_BITWORD FOLLOW_IGNORE_SYMBOL_in_alter_table686_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_IGNORE_SYMBOL_in_alter_table686	= { FOLLOW_IGNORE_SYMBOL_in_alter_table686_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TABLE_SYMBOL_in_alter_table689  */
static	ANTLR3_BITWORD FOLLOW_TABLE_SYMBOL_in_alter_table689_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000012) };
static  ANTLR3_BITSET_LIST FOLLOW_TABLE_SYMBOL_in_alter_table689	= { FOLLOW_TABLE_SYMBOL_in_alter_table689_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_identifier_in_alter_table691  */
static	ANTLR3_BITWORD FOLLOW_table_identifier_in_alter_table691_bits[]	= { ANTLR3_UINT64_LIT(0x1040040080018602), ANTLR3_UINT64_LIT(0x0004110000000243), ANTLR3_UINT64_LIT(0x2100000280100000), ANTLR3_UINT64_LIT(0xC000004008010000), ANTLR3_UINT64_LIT(0x058000001000A005), ANTLR3_UINT64_LIT(0x000000A820018000), ANTLR3_UINT64_LIT(0x0020000008023400), ANTLR3_UINT64_LIT(0x0100000080010040), ANTLR3_UINT64_LIT(0x0000004000000000), ANTLR3_UINT64_LIT(0x0100000120000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000080) };
static  ANTLR3_BITSET_LIST FOLLOW_table_identifier_in_alter_table691	= { FOLLOW_table_identifier_in_alter_table691_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_alter_table_commands_in_alter_table693  */
static	ANTLR3_BITWORD FOLLOW_alter_table_commands_in_alter_table693_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_alter_table_commands_in_alter_table693	= { FOLLOW_alter_table_commands_in_alter_table693_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DISCARD_SYMBOL_in_alter_table_commands703  */
static	ANTLR3_BITWORD FOLLOW_DISCARD_SYMBOL_in_alter_table_commands703_bits[]	= { 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_DISCARD_SYMBOL_in_alter_table_commands703	= { FOLLOW_DISCARD_SYMBOL_in_alter_table_commands703_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TABLESPACE_SYMBOL_in_alter_table_commands705  */
static	ANTLR3_BITWORD FOLLOW_TABLESPACE_SYMBOL_in_alter_table_commands705_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_TABLESPACE_SYMBOL_in_alter_table_commands705	= { FOLLOW_TABLESPACE_SYMBOL_in_alter_table_commands705_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_IMPORT_SYMBOL_in_alter_table_commands710  */
static	ANTLR3_BITWORD FOLLOW_IMPORT_SYMBOL_in_alter_table_commands710_bits[]	= { 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_IMPORT_SYMBOL_in_alter_table_commands710	= { FOLLOW_IMPORT_SYMBOL_in_alter_table_commands710_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TABLESPACE_SYMBOL_in_alter_table_commands712  */
static	ANTLR3_BITWORD FOLLOW_TABLESPACE_SYMBOL_in_alter_table_commands712_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_TABLESPACE_SYMBOL_in_alter_table_commands712	= { FOLLOW_TABLESPACE_SYMBOL_in_alter_table_commands712_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_alter_table_list_item_in_alter_table_commands717  */
static	ANTLR3_BITWORD FOLLOW_alter_table_list_item_in_alter_table_commands717_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000800008000), ANTLR3_UINT64_LIT(0x0000000000200000) };
static  ANTLR3_BITSET_LIST FOLLOW_alter_table_list_item_in_alter_table_commands717	= { FOLLOW_alter_table_list_item_in_alter_table_commands717_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_alter_table_commands720  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_alter_table_commands720_bits[]	= { ANTLR3_UINT64_LIT(0x1040040000018200), ANTLR3_UINT64_LIT(0x0004100000000241), ANTLR3_UINT64_LIT(0x2100000280100000), ANTLR3_UINT64_LIT(0xC000004000000000), ANTLR3_UINT64_LIT(0x058000001000A005), ANTLR3_UINT64_LIT(0x000000A000000000), ANTLR3_UINT64_LIT(0x0020000008021400), ANTLR3_UINT64_LIT(0x0100000080000040), ANTLR3_UINT64_LIT(0x0000004000000000), ANTLR3_UINT64_LIT(0x0100000100000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000080) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_alter_table_commands720	= { FOLLOW_COMMA_SYMBOL_in_alter_table_commands720_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_alter_table_list_item_in_alter_table_commands722  */
static	ANTLR3_BITWORD FOLLOW_alter_table_list_item_in_alter_table_commands722_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000800008000), ANTLR3_UINT64_LIT(0x0000000000200000) };
static  ANTLR3_BITSET_LIST FOLLOW_alter_table_list_item_in_alter_table_commands722	= { FOLLOW_alter_table_list_item_in_alter_table_commands722_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_partitioning_in_alter_table_commands727  */
static	ANTLR3_BITWORD FOLLOW_partitioning_in_alter_table_commands727_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_partitioning_in_alter_table_commands727	= { FOLLOW_partitioning_in_alter_table_commands727_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_remove_partitioning_in_alter_table_commands732  */
static	ANTLR3_BITWORD FOLLOW_remove_partitioning_in_alter_table_commands732_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_remove_partitioning_in_alter_table_commands732	= { FOLLOW_remove_partitioning_in_alter_table_commands732_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_remove_partitioning_in_alter_table_commands738  */
static	ANTLR3_BITWORD FOLLOW_remove_partitioning_in_alter_table_commands738_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_remove_partitioning_in_alter_table_commands738	= { FOLLOW_remove_partitioning_in_alter_table_commands738_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_partitioning_in_alter_table_commands743  */
static	ANTLR3_BITWORD FOLLOW_partitioning_in_alter_table_commands743_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_partitioning_in_alter_table_commands743	= { FOLLOW_partitioning_in_alter_table_commands743_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_alter_partition_in_alter_table_commands752  */
static	ANTLR3_BITWORD FOLLOW_alter_partition_in_alter_table_commands752_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_alter_partition_in_alter_table_commands752	= { FOLLOW_alter_partition_in_alter_table_commands752_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_alter_table_list_entry_in_alter_table_list_item761  */
static	ANTLR3_BITWORD FOLLOW_alter_table_list_entry_in_alter_table_list_item761_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_alter_table_list_entry_in_alter_table_list_item761	= { FOLLOW_alter_table_list_entry_in_alter_table_list_item761_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_alter_table_options_in_alter_table_list_entry778  */
static	ANTLR3_BITWORD FOLLOW_alter_table_options_in_alter_table_list_entry778_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_alter_table_options_in_alter_table_list_entry778	= { FOLLOW_alter_table_options_in_alter_table_list_entry778_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ADD_SYMBOL_in_alter_table_list_entry783  */
static	ANTLR3_BITWORD FOLLOW_ADD_SYMBOL_in_alter_table_list_entry783_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000100000), ANTLR3_UINT64_LIT(0x0010000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000010000000) };
static  ANTLR3_BITSET_LIST FOLLOW_ADD_SYMBOL_in_alter_table_list_entry783	= { FOLLOW_ADD_SYMBOL_in_alter_table_list_entry783_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COLUMN_SYMBOL_in_alter_table_list_entry785  */
static	ANTLR3_BITWORD FOLLOW_COLUMN_SYMBOL_in_alter_table_list_entry785_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000010000000) };
static  ANTLR3_BITSET_LIST FOLLOW_COLUMN_SYMBOL_in_alter_table_list_entry785	= { FOLLOW_COLUMN_SYMBOL_in_alter_table_list_entry785_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_column_definition_in_alter_table_list_entry795  */
static	ANTLR3_BITWORD FOLLOW_column_definition_in_alter_table_list_entry795_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000042), ANTLR3_UINT64_LIT(0x0000000001000000) };
static  ANTLR3_BITSET_LIST FOLLOW_column_definition_in_alter_table_list_entry795	= { FOLLOW_column_definition_in_alter_table_list_entry795_bits, 2	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FIRST_SYMBOL_in_alter_table_list_entry798  */
static	ANTLR3_BITWORD FOLLOW_FIRST_SYMBOL_in_alter_table_list_entry798_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_FIRST_SYMBOL_in_alter_table_list_entry798	= { FOLLOW_FIRST_SYMBOL_in_alter_table_list_entry798_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_AFTER_SYMBOL_in_alter_table_list_entry802  */
static	ANTLR3_BITWORD FOLLOW_AFTER_SYMBOL_in_alter_table_list_entry802_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_AFTER_SYMBOL_in_alter_table_list_entry802	= { FOLLOW_AFTER_SYMBOL_in_alter_table_list_entry802_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_alter_table_list_entry804  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_alter_table_list_entry804_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_alter_table_list_entry804	= { FOLLOW_identifier_in_alter_table_list_entry804_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_alter_table_list_entry813  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_alter_table_list_entry813_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_alter_table_list_entry813	= { FOLLOW_OPEN_PAR_SYMBOL_in_alter_table_list_entry813_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_column_definition_in_alter_table_list_entry815  */
static	ANTLR3_BITWORD FOLLOW_column_definition_in_alter_table_list_entry815_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000210000) };
static  ANTLR3_BITSET_LIST FOLLOW_column_definition_in_alter_table_list_entry815	= { FOLLOW_column_definition_in_alter_table_list_entry815_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_alter_table_list_entry818  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_alter_table_list_entry818_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_alter_table_list_entry818	= { FOLLOW_COMMA_SYMBOL_in_alter_table_list_entry818_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_column_definition_in_alter_table_list_entry820  */
static	ANTLR3_BITWORD FOLLOW_column_definition_in_alter_table_list_entry820_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000210000) };
static  ANTLR3_BITSET_LIST FOLLOW_column_definition_in_alter_table_list_entry820	= { FOLLOW_column_definition_in_alter_table_list_entry820_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_alter_table_list_entry824  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_alter_table_list_entry824_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_alter_table_list_entry824	= { FOLLOW_CLOSE_PAR_SYMBOL_in_alter_table_list_entry824_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ADD_SYMBOL_in_alter_table_list_entry833  */
static	ANTLR3_BITWORD FOLLOW_ADD_SYMBOL_in_alter_table_list_entry833_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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(0x0000000000080000) };
static  ANTLR3_BITSET_LIST FOLLOW_ADD_SYMBOL_in_alter_table_list_entry833	= { FOLLOW_ADD_SYMBOL_in_alter_table_list_entry833_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_alter_table_list_entry835  */
static	ANTLR3_BITWORD FOLLOW_set_in_alter_table_list_entry835_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000010000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000004000) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_alter_table_list_entry835	= { FOLLOW_set_in_alter_table_list_entry835_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_alter_table_list_entry843  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_alter_table_list_entry843_bits[]	= { 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(0x0000000010000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000004000) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_alter_table_list_entry843	= { FOLLOW_identifier_in_alter_table_list_entry843_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_index_type_in_alter_table_list_entry846  */
static	ANTLR3_BITWORD FOLLOW_index_type_in_alter_table_list_entry846_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_type_in_alter_table_list_entry846	= { FOLLOW_index_type_in_alter_table_list_entry846_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_index_columns_in_alter_table_list_entry849  */
static	ANTLR3_BITWORD FOLLOW_index_columns_in_alter_table_list_entry849_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0004000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0400000010000000), ANTLR3_UINT64_LIT(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_index_columns_in_alter_table_list_entry849	= { FOLLOW_index_columns_in_alter_table_list_entry849_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_index_option_in_alter_table_list_entry851  */
static	ANTLR3_BITWORD FOLLOW_index_option_in_alter_table_list_entry851_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0004000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0400000010000000), ANTLR3_UINT64_LIT(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_index_option_in_alter_table_list_entry851	= { FOLLOW_index_option_in_alter_table_list_entry851_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ADD_SYMBOL_in_alter_table_list_entry857  */
static	ANTLR3_BITWORD FOLLOW_ADD_SYMBOL_in_alter_table_list_entry857_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000000100000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000100000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100) };
static  ANTLR3_BITSET_LIST FOLLOW_ADD_SYMBOL_in_alter_table_list_entry857	= { FOLLOW_ADD_SYMBOL_in_alter_table_list_entry857_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CONSTRAINT_SYMBOL_in_alter_table_list_entry860  */
static	ANTLR3_BITWORD FOLLOW_CONSTRAINT_SYMBOL_in_alter_table_list_entry860_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000100000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000100000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100) };
static  ANTLR3_BITSET_LIST FOLLOW_CONSTRAINT_SYMBOL_in_alter_table_list_entry860	= { FOLLOW_CONSTRAINT_SYMBOL_in_alter_table_list_entry860_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_alter_table_list_entry862  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_alter_table_list_entry862_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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(0x0000100000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_alter_table_list_entry862	= { FOLLOW_identifier_in_alter_table_list_entry862_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PRIMARY_SYMBOL_in_alter_table_list_entry874  */
static	ANTLR3_BITWORD FOLLOW_PRIMARY_SYMBOL_in_alter_table_list_entry874_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_PRIMARY_SYMBOL_in_alter_table_list_entry874	= { FOLLOW_PRIMARY_SYMBOL_in_alter_table_list_entry874_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_KEY_SYMBOL_in_alter_table_list_entry876  */
static	ANTLR3_BITWORD FOLLOW_KEY_SYMBOL_in_alter_table_list_entry876_bits[]	= { 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(0x0000000010000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000004000) };
static  ANTLR3_BITSET_LIST FOLLOW_KEY_SYMBOL_in_alter_table_list_entry876	= { FOLLOW_KEY_SYMBOL_in_alter_table_list_entry876_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_index_type_in_alter_table_list_entry878  */
static	ANTLR3_BITWORD FOLLOW_index_type_in_alter_table_list_entry878_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_type_in_alter_table_list_entry878	= { FOLLOW_index_type_in_alter_table_list_entry878_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_index_columns_in_alter_table_list_entry881  */
static	ANTLR3_BITWORD FOLLOW_index_columns_in_alter_table_list_entry881_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0004000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0400000010000000), ANTLR3_UINT64_LIT(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_index_columns_in_alter_table_list_entry881	= { FOLLOW_index_columns_in_alter_table_list_entry881_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_index_option_in_alter_table_list_entry883  */
static	ANTLR3_BITWORD FOLLOW_index_option_in_alter_table_list_entry883_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0004000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0400000010000000), ANTLR3_UINT64_LIT(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_index_option_in_alter_table_list_entry883	= { FOLLOW_index_option_in_alter_table_list_entry883_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_UNIQUE_SYMBOL_in_alter_table_list_entry891  */
static	ANTLR3_BITWORD FOLLOW_UNIQUE_SYMBOL_in_alter_table_list_entry891_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0110000000000010), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000010000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000004000) };
static  ANTLR3_BITSET_LIST FOLLOW_UNIQUE_SYMBOL_in_alter_table_list_entry891	= { FOLLOW_UNIQUE_SYMBOL_in_alter_table_list_entry891_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_alter_table_list_entry902  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_alter_table_list_entry902_bits[]	= { 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(0x0000000010000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000004000) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_alter_table_list_entry902	= { FOLLOW_identifier_in_alter_table_list_entry902_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_index_type_in_alter_table_list_entry905  */
static	ANTLR3_BITWORD FOLLOW_index_type_in_alter_table_list_entry905_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_type_in_alter_table_list_entry905	= { FOLLOW_index_type_in_alter_table_list_entry905_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_index_columns_in_alter_table_list_entry908  */
static	ANTLR3_BITWORD FOLLOW_index_columns_in_alter_table_list_entry908_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0004000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0400000010000000), ANTLR3_UINT64_LIT(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_index_columns_in_alter_table_list_entry908	= { FOLLOW_index_columns_in_alter_table_list_entry908_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_index_option_in_alter_table_list_entry910  */
static	ANTLR3_BITWORD FOLLOW_index_option_in_alter_table_list_entry910_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0004000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0400000010000000), ANTLR3_UINT64_LIT(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_index_option_in_alter_table_list_entry910	= { FOLLOW_index_option_in_alter_table_list_entry910_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FOREIGN_SYMBOL_in_alter_table_list_entry918  */
static	ANTLR3_BITWORD FOLLOW_FOREIGN_SYMBOL_in_alter_table_list_entry918_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_FOREIGN_SYMBOL_in_alter_table_list_entry918	= { FOLLOW_FOREIGN_SYMBOL_in_alter_table_list_entry918_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_KEY_SYMBOL_in_alter_table_list_entry920  */
static	ANTLR3_BITWORD FOLLOW_KEY_SYMBOL_in_alter_table_list_entry920_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000010000000) };
static  ANTLR3_BITSET_LIST FOLLOW_KEY_SYMBOL_in_alter_table_list_entry920	= { FOLLOW_KEY_SYMBOL_in_alter_table_list_entry920_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_alter_table_list_entry922  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_alter_table_list_entry922_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_alter_table_list_entry922	= { FOLLOW_identifier_in_alter_table_list_entry922_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_index_columns_in_alter_table_list_entry925  */
static	ANTLR3_BITWORD FOLLOW_index_columns_in_alter_table_list_entry925_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_index_columns_in_alter_table_list_entry925	= { FOLLOW_index_columns_in_alter_table_list_entry925_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_reference_definition_in_alter_table_list_entry927  */
static	ANTLR3_BITWORD FOLLOW_reference_definition_in_alter_table_list_entry927_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_reference_definition_in_alter_table_list_entry927	= { FOLLOW_reference_definition_in_alter_table_list_entry927_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ADD_SYMBOL_in_alter_table_list_entry936  */
static	ANTLR3_BITWORD FOLLOW_ADD_SYMBOL_in_alter_table_list_entry936_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), 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_ADD_SYMBOL_in_alter_table_list_entry936	= { FOLLOW_ADD_SYMBOL_in_alter_table_list_entry936_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FULLTEXT_SYMBOL_in_alter_table_list_entry938  */
static	ANTLR3_BITWORD FOLLOW_FULLTEXT_SYMBOL_in_alter_table_list_entry938_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0110000000000010), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000010000000) };
static  ANTLR3_BITSET_LIST FOLLOW_FULLTEXT_SYMBOL_in_alter_table_list_entry938	= { FOLLOW_FULLTEXT_SYMBOL_in_alter_table_list_entry938_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_alter_table_list_entry949  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_alter_table_list_entry949_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_alter_table_list_entry949	= { FOLLOW_identifier_in_alter_table_list_entry949_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_index_columns_in_alter_table_list_entry952  */
static	ANTLR3_BITWORD FOLLOW_index_columns_in_alter_table_list_entry952_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0004000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0400000010000000), ANTLR3_UINT64_LIT(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_index_columns_in_alter_table_list_entry952	= { FOLLOW_index_columns_in_alter_table_list_entry952_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_index_option_in_alter_table_list_entry954  */
static	ANTLR3_BITWORD FOLLOW_index_option_in_alter_table_list_entry954_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0004000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0400000010000000), ANTLR3_UINT64_LIT(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_index_option_in_alter_table_list_entry954	= { FOLLOW_index_option_in_alter_table_list_entry954_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ADD_SYMBOL_in_alter_table_list_entry960  */
static	ANTLR3_BITWORD FOLLOW_ADD_SYMBOL_in_alter_table_list_entry960_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_ADD_SYMBOL_in_alter_table_list_entry960	= { FOLLOW_ADD_SYMBOL_in_alter_table_list_entry960_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SPATIAL_SYMBOL_in_alter_table_list_entry962  */
static	ANTLR3_BITWORD FOLLOW_SPATIAL_SYMBOL_in_alter_table_list_entry962_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0110000000000010), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000010000000) };
static  ANTLR3_BITSET_LIST FOLLOW_SPATIAL_SYMBOL_in_alter_table_list_entry962	= { FOLLOW_SPATIAL_SYMBOL_in_alter_table_list_entry962_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_alter_table_list_entry973  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_alter_table_list_entry973_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_alter_table_list_entry973	= { FOLLOW_identifier_in_alter_table_list_entry973_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_index_columns_in_alter_table_list_entry976  */
static	ANTLR3_BITWORD FOLLOW_index_columns_in_alter_table_list_entry976_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0004000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0400000010000000), ANTLR3_UINT64_LIT(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_index_columns_in_alter_table_list_entry976	= { FOLLOW_index_columns_in_alter_table_list_entry976_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_index_option_in_alter_table_list_entry978  */
static	ANTLR3_BITWORD FOLLOW_index_option_in_alter_table_list_entry978_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0004000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0400000010000000), ANTLR3_UINT64_LIT(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_index_option_in_alter_table_list_entry978	= { FOLLOW_index_option_in_alter_table_list_entry978_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ALTER_SYMBOL_in_alter_table_list_entry984  */
static	ANTLR3_BITWORD FOLLOW_ALTER_SYMBOL_in_alter_table_list_entry984_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000100000), ANTLR3_UINT64_LIT(0x0010000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_ALTER_SYMBOL_in_alter_table_list_entry984	= { FOLLOW_ALTER_SYMBOL_in_alter_table_list_entry984_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COLUMN_SYMBOL_in_alter_table_list_entry986  */
static	ANTLR3_BITWORD FOLLOW_COLUMN_SYMBOL_in_alter_table_list_entry986_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_COLUMN_SYMBOL_in_alter_table_list_entry986	= { FOLLOW_COLUMN_SYMBOL_in_alter_table_list_entry986_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_alter_table_list_entry989  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_alter_table_list_entry989_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000001000) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_alter_table_list_entry989	= { FOLLOW_identifier_in_alter_table_list_entry989_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SET_SYMBOL_in_alter_table_list_entry992  */
static	ANTLR3_BITWORD FOLLOW_SET_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(0x0020000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_SET_SYMBOL_in_alter_table_list_entry992	= { FOLLOW_SET_SYMBOL_in_alter_table_list_entry992_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DEFAULT_SYMBOL_in_alter_table_list_entry994  */
static	ANTLR3_BITWORD FOLLOW_DEFAULT_SYMBOL_in_alter_table_list_entry994_bits[]	= { ANTLR3_UINT64_LIT(0x0100000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000001800000), ANTLR3_UINT64_LIT(0x0300000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000C00008800010), ANTLR3_UINT64_LIT(0x0000000000000008), ANTLR3_UINT64_LIT(0x00000000000A0100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000024) };
static  ANTLR3_BITSET_LIST FOLLOW_DEFAULT_SYMBOL_in_alter_table_list_entry994	= { FOLLOW_DEFAULT_SYMBOL_in_alter_table_list_entry994_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_literal_in_alter_table_list_entry996  */
static	ANTLR3_BITWORD FOLLOW_literal_in_alter_table_list_entry996_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_literal_in_alter_table_list_entry996	= { FOLLOW_literal_in_alter_table_list_entry996_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DROP_SYMBOL_in_alter_table_list_entry1000  */
static	ANTLR3_BITWORD FOLLOW_DROP_SYMBOL_in_alter_table_list_entry1000_bits[]	= { ANTLR3_UINT64_LIT(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_DROP_SYMBOL_in_alter_table_list_entry1000	= { FOLLOW_DROP_SYMBOL_in_alter_table_list_entry1000_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DEFAULT_SYMBOL_in_alter_table_list_entry1002  */
static	ANTLR3_BITWORD FOLLOW_DEFAULT_SYMBOL_in_alter_table_list_entry1002_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_DEFAULT_SYMBOL_in_alter_table_list_entry1002	= { FOLLOW_DEFAULT_SYMBOL_in_alter_table_list_entry1002_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CHANGE_SYMBOL_in_alter_table_list_entry1008  */
static	ANTLR3_BITWORD FOLLOW_CHANGE_SYMBOL_in_alter_table_list_entry1008_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000100000), ANTLR3_UINT64_LIT(0x0010000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_CHANGE_SYMBOL_in_alter_table_list_entry1008	= { FOLLOW_CHANGE_SYMBOL_in_alter_table_list_entry1008_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COLUMN_SYMBOL_in_alter_table_list_entry1010  */
static	ANTLR3_BITWORD FOLLOW_COLUMN_SYMBOL_in_alter_table_list_entry1010_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_COLUMN_SYMBOL_in_alter_table_list_entry1010	= { FOLLOW_COLUMN_SYMBOL_in_alter_table_list_entry1010_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_alter_table_list_entry1013  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_alter_table_list_entry1013_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_alter_table_list_entry1013	= { FOLLOW_identifier_in_alter_table_list_entry1013_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_field_spec_in_alter_table_list_entry1015  */
static	ANTLR3_BITWORD FOLLOW_field_spec_in_alter_table_list_entry1015_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000042), ANTLR3_UINT64_LIT(0x0000000001000000) };
static  ANTLR3_BITSET_LIST FOLLOW_field_spec_in_alter_table_list_entry1015	= { FOLLOW_field_spec_in_alter_table_list_entry1015_bits, 2	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FIRST_SYMBOL_in_alter_table_list_entry1018  */
static	ANTLR3_BITWORD FOLLOW_FIRST_SYMBOL_in_alter_table_list_entry1018_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_FIRST_SYMBOL_in_alter_table_list_entry1018	= { FOLLOW_FIRST_SYMBOL_in_alter_table_list_entry1018_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_AFTER_SYMBOL_in_alter_table_list_entry1022  */
static	ANTLR3_BITWORD FOLLOW_AFTER_SYMBOL_in_alter_table_list_entry1022_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_AFTER_SYMBOL_in_alter_table_list_entry1022	= { FOLLOW_AFTER_SYMBOL_in_alter_table_list_entry1022_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_alter_table_list_entry1024  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_alter_table_list_entry1024_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_alter_table_list_entry1024	= { FOLLOW_identifier_in_alter_table_list_entry1024_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MODIFY_SYMBOL_in_alter_table_list_entry1031  */
static	ANTLR3_BITWORD FOLLOW_MODIFY_SYMBOL_in_alter_table_list_entry1031_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000100000), ANTLR3_UINT64_LIT(0x0010000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_MODIFY_SYMBOL_in_alter_table_list_entry1031	= { FOLLOW_MODIFY_SYMBOL_in_alter_table_list_entry1031_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COLUMN_SYMBOL_in_alter_table_list_entry1033  */
static	ANTLR3_BITWORD FOLLOW_COLUMN_SYMBOL_in_alter_table_list_entry1033_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_COLUMN_SYMBOL_in_alter_table_list_entry1033	= { FOLLOW_COLUMN_SYMBOL_in_alter_table_list_entry1033_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_alter_table_list_entry1036  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_alter_table_list_entry1036_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_alter_table_list_entry1036	= { FOLLOW_identifier_in_alter_table_list_entry1036_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_field_spec_in_alter_table_list_entry1038  */
static	ANTLR3_BITWORD FOLLOW_field_spec_in_alter_table_list_entry1038_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000042), ANTLR3_UINT64_LIT(0x0000000001000000) };
static  ANTLR3_BITSET_LIST FOLLOW_field_spec_in_alter_table_list_entry1038	= { FOLLOW_field_spec_in_alter_table_list_entry1038_bits, 2	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FIRST_SYMBOL_in_alter_table_list_entry1041  */
static	ANTLR3_BITWORD FOLLOW_FIRST_SYMBOL_in_alter_table_list_entry1041_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_FIRST_SYMBOL_in_alter_table_list_entry1041	= { FOLLOW_FIRST_SYMBOL_in_alter_table_list_entry1041_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_AFTER_SYMBOL_in_alter_table_list_entry1045  */
static	ANTLR3_BITWORD FOLLOW_AFTER_SYMBOL_in_alter_table_list_entry1045_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_AFTER_SYMBOL_in_alter_table_list_entry1045	= { FOLLOW_AFTER_SYMBOL_in_alter_table_list_entry1045_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_alter_table_list_entry1047  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_alter_table_list_entry1047_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_alter_table_list_entry1047	= { FOLLOW_identifier_in_alter_table_list_entry1047_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DROP_SYMBOL_in_alter_table_list_entry1054  */
static	ANTLR3_BITWORD FOLLOW_DROP_SYMBOL_in_alter_table_list_entry1054_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000100000), ANTLR3_UINT64_LIT(0x0110000100000010), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000100000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_DROP_SYMBOL_in_alter_table_list_entry1054	= { FOLLOW_DROP_SYMBOL_in_alter_table_list_entry1054_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_alter_table_list_entry1063  */
static	ANTLR3_BITWORD FOLLOW_set_in_alter_table_list_entry1063_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_alter_table_list_entry1063	= { FOLLOW_set_in_alter_table_list_entry1063_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_alter_table_list_entry1071  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_alter_table_list_entry1071_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_alter_table_list_entry1071	= { FOLLOW_identifier_in_alter_table_list_entry1071_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COLUMN_SYMBOL_in_alter_table_list_entry1078  */
static	ANTLR3_BITWORD FOLLOW_COLUMN_SYMBOL_in_alter_table_list_entry1078_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_COLUMN_SYMBOL_in_alter_table_list_entry1078	= { FOLLOW_COLUMN_SYMBOL_in_alter_table_list_entry1078_bits, 8	};
/** 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(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_alter_table_list_entry1081	= { FOLLOW_identifier_in_alter_table_list_entry1081_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PRIMARY_SYMBOL_in_alter_table_list_entry1088  */
static	ANTLR3_BITWORD FOLLOW_PRIMARY_SYMBOL_in_alter_table_list_entry1088_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_PRIMARY_SYMBOL_in_alter_table_list_entry1088	= { FOLLOW_PRIMARY_SYMBOL_in_alter_table_list_entry1088_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_KEY_SYMBOL_in_alter_table_list_entry1090  */
static	ANTLR3_BITWORD FOLLOW_KEY_SYMBOL_in_alter_table_list_entry1090_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_KEY_SYMBOL_in_alter_table_list_entry1090	= { FOLLOW_KEY_SYMBOL_in_alter_table_list_entry1090_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FOREIGN_SYMBOL_in_alter_table_list_entry1097  */
static	ANTLR3_BITWORD FOLLOW_FOREIGN_SYMBOL_in_alter_table_list_entry1097_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_FOREIGN_SYMBOL_in_alter_table_list_entry1097	= { FOLLOW_FOREIGN_SYMBOL_in_alter_table_list_entry1097_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_KEY_SYMBOL_in_alter_table_list_entry1099  */
static	ANTLR3_BITWORD FOLLOW_KEY_SYMBOL_in_alter_table_list_entry1099_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_KEY_SYMBOL_in_alter_table_list_entry1099	= { FOLLOW_KEY_SYMBOL_in_alter_table_list_entry1099_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_alter_table_list_entry1101  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_alter_table_list_entry1101_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_alter_table_list_entry1101	= { FOLLOW_identifier_in_alter_table_list_entry1101_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DISABLE_SYMBOL_in_alter_table_list_entry1110  */
static	ANTLR3_BITWORD FOLLOW_DISABLE_SYMBOL_in_alter_table_list_entry1110_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000010000) };
static  ANTLR3_BITSET_LIST FOLLOW_DISABLE_SYMBOL_in_alter_table_list_entry1110	= { FOLLOW_DISABLE_SYMBOL_in_alter_table_list_entry1110_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_KEYS_SYMBOL_in_alter_table_list_entry1112  */
static	ANTLR3_BITWORD FOLLOW_KEYS_SYMBOL_in_alter_table_list_entry1112_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_KEYS_SYMBOL_in_alter_table_list_entry1112	= { FOLLOW_KEYS_SYMBOL_in_alter_table_list_entry1112_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ENABLE_SYMBOL_in_alter_table_list_entry1117  */
static	ANTLR3_BITWORD FOLLOW_ENABLE_SYMBOL_in_alter_table_list_entry1117_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000010000) };
static  ANTLR3_BITSET_LIST FOLLOW_ENABLE_SYMBOL_in_alter_table_list_entry1117	= { FOLLOW_ENABLE_SYMBOL_in_alter_table_list_entry1117_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_KEYS_SYMBOL_in_alter_table_list_entry1119  */
static	ANTLR3_BITWORD FOLLOW_KEYS_SYMBOL_in_alter_table_list_entry1119_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_KEYS_SYMBOL_in_alter_table_list_entry1119	= { FOLLOW_KEYS_SYMBOL_in_alter_table_list_entry1119_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_RENAME_SYMBOL_in_alter_table_list_entry1124  */
static	ANTLR3_BITWORD FOLLOW_RENAME_SYMBOL_in_alter_table_list_entry1124_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004400FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x4000000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_RENAME_SYMBOL_in_alter_table_list_entry1124	= { FOLLOW_RENAME_SYMBOL_in_alter_table_list_entry1124_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_alter_table_list_entry1135  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_alter_table_list_entry1135_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_alter_table_list_entry1135	= { FOLLOW_identifier_in_alter_table_list_entry1135_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_alter_order_by_in_alter_table_list_entry1140  */
static	ANTLR3_BITWORD FOLLOW_alter_order_by_in_alter_table_list_entry1140_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_alter_order_by_in_alter_table_list_entry1140	= { FOLLOW_alter_order_by_in_alter_table_list_entry1140_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CONVERT_SYMBOL_in_alter_table_list_entry1145  */
static	ANTLR3_BITWORD FOLLOW_CONVERT_SYMBOL_in_alter_table_list_entry1145_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_CONVERT_SYMBOL_in_alter_table_list_entry1145	= { FOLLOW_CONVERT_SYMBOL_in_alter_table_list_entry1145_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TO_SYMBOL_in_alter_table_list_entry1147  */
static	ANTLR3_BITWORD FOLLOW_TO_SYMBOL_in_alter_table_list_entry1147_bits[]	= { ANTLR3_UINT64_LIT(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_TO_SYMBOL_in_alter_table_list_entry1147	= { FOLLOW_TO_SYMBOL_in_alter_table_list_entry1147_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CHAR_SYMBOL_in_alter_table_list_entry1149  */
static	ANTLR3_BITWORD FOLLOW_CHAR_SYMBOL_in_alter_table_list_entry1149_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_CHAR_SYMBOL_in_alter_table_list_entry1149	= { FOLLOW_CHAR_SYMBOL_in_alter_table_list_entry1149_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(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0044000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0020000000000000), ANTLR3_UINT64_LIT(0x0010000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_SET_SYMBOL_in_alter_table_list_entry1151	= { FOLLOW_SET_SYMBOL_in_alter_table_list_entry1151_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_charset_name_or_default_in_alter_table_list_entry1153  */
static	ANTLR3_BITWORD FOLLOW_charset_name_or_default_in_alter_table_list_entry1153_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), 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_charset_name_or_default_in_alter_table_list_entry1153	= { FOLLOW_charset_name_or_default_in_alter_table_list_entry1153_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COLLATE_SYMBOL_in_alter_table_list_entry1156  */
static	ANTLR3_BITWORD FOLLOW_COLLATE_SYMBOL_in_alter_table_list_entry1156_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0020000000000000), ANTLR3_UINT64_LIT(0x0010000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_COLLATE_SYMBOL_in_alter_table_list_entry1156	= { FOLLOW_COLLATE_SYMBOL_in_alter_table_list_entry1156_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_collation_name_or_default_in_alter_table_list_entry1158  */
static	ANTLR3_BITWORD FOLLOW_collation_name_or_default_in_alter_table_list_entry1158_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_collation_name_or_default_in_alter_table_list_entry1158	= { FOLLOW_collation_name_or_default_in_alter_table_list_entry1158_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FORCE_SYMBOL_in_alter_table_list_entry1165  */
static	ANTLR3_BITWORD FOLLOW_FORCE_SYMBOL_in_alter_table_list_entry1165_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_FORCE_SYMBOL_in_alter_table_list_entry1165	= { FOLLOW_FORCE_SYMBOL_in_alter_table_list_entry1165_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_alter_algorithm_option_in_alter_table_list_entry1174  */
static	ANTLR3_BITWORD FOLLOW_alter_algorithm_option_in_alter_table_list_entry1174_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_alter_algorithm_option_in_alter_table_list_entry1174	= { FOLLOW_alter_algorithm_option_in_alter_table_list_entry1174_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_alter_lock_option_in_alter_table_list_entry1183  */
static	ANTLR3_BITWORD FOLLOW_alter_lock_option_in_alter_table_list_entry1183_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_alter_lock_option_in_alter_table_list_entry1183	= { FOLLOW_alter_lock_option_in_alter_table_list_entry1183_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ORDER_SYMBOL_in_alter_order_by1192  */
static	ANTLR3_BITWORD FOLLOW_ORDER_SYMBOL_in_alter_order_by1192_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_ORDER_SYMBOL_in_alter_order_by1192	= { FOLLOW_ORDER_SYMBOL_in_alter_order_by1192_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BY_SYMBOL_in_alter_order_by1194  */
static	ANTLR3_BITWORD FOLLOW_BY_SYMBOL_in_alter_order_by1194_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_BY_SYMBOL_in_alter_order_by1194	= { FOLLOW_BY_SYMBOL_in_alter_order_by1194_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_alter_order_by1196  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_alter_order_by1196_bits[]	= { 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(0x0200000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_alter_order_by1196	= { FOLLOW_identifier_in_alter_order_by1196_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_direction_in_alter_order_by1198  */
static	ANTLR3_BITWORD FOLLOW_direction_in_alter_order_by1198_bits[]	= { ANTLR3_UINT64_LIT(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) };
static  ANTLR3_BITSET_LIST FOLLOW_direction_in_alter_order_by1198	= { FOLLOW_direction_in_alter_order_by1198_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_alter_order_by1213  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_alter_order_by1213_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_alter_order_by1213	= { FOLLOW_COMMA_SYMBOL_in_alter_order_by1213_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_alter_order_by1215  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_alter_order_by1215_bits[]	= { 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(0x0200000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_alter_order_by1215	= { FOLLOW_identifier_in_alter_order_by1215_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_direction_in_alter_order_by1217  */
static	ANTLR3_BITWORD FOLLOW_direction_in_alter_order_by1217_bits[]	= { ANTLR3_UINT64_LIT(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) };
static  ANTLR3_BITSET_LIST FOLLOW_direction_in_alter_order_by1217	= { FOLLOW_direction_in_alter_order_by1217_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ALGORITHM_SYMBOL_in_alter_algorithm_option1228  */
static	ANTLR3_BITWORD FOLLOW_ALGORITHM_SYMBOL_in_alter_algorithm_option1228_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0020000000000000), ANTLR3_UINT64_LIT(0x0010000000002010) };
static  ANTLR3_BITSET_LIST FOLLOW_ALGORITHM_SYMBOL_in_alter_algorithm_option1228	= { FOLLOW_ALGORITHM_SYMBOL_in_alter_algorithm_option1228_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_alter_algorithm_option1230  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_alter_algorithm_option1230_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0020000000000000), ANTLR3_UINT64_LIT(0x0010000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_alter_algorithm_option1230	= { FOLLOW_EQUAL_OPERATOR_in_alter_algorithm_option1230_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DEFAULT_SYMBOL_in_alter_algorithm_option1235  */
static	ANTLR3_BITWORD FOLLOW_DEFAULT_SYMBOL_in_alter_algorithm_option1235_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_DEFAULT_SYMBOL_in_alter_algorithm_option1235	= { FOLLOW_DEFAULT_SYMBOL_in_alter_algorithm_option1235_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_alter_algorithm_option1239  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_alter_algorithm_option1239_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_alter_algorithm_option1239	= { FOLLOW_identifier_in_alter_algorithm_option1239_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_LOCK_SYMBOL_in_alter_lock_option1250  */
static	ANTLR3_BITWORD FOLLOW_LOCK_SYMBOL_in_alter_lock_option1250_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0020000000000000), ANTLR3_UINT64_LIT(0x0010000000002010) };
static  ANTLR3_BITSET_LIST FOLLOW_LOCK_SYMBOL_in_alter_lock_option1250	= { FOLLOW_LOCK_SYMBOL_in_alter_lock_option1250_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_alter_lock_option1252  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_alter_lock_option1252_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0020000000000000), ANTLR3_UINT64_LIT(0x0010000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_alter_lock_option1252	= { FOLLOW_EQUAL_OPERATOR_in_alter_lock_option1252_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DEFAULT_SYMBOL_in_alter_lock_option1256  */
static	ANTLR3_BITWORD FOLLOW_DEFAULT_SYMBOL_in_alter_lock_option1256_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_DEFAULT_SYMBOL_in_alter_lock_option1256	= { FOLLOW_DEFAULT_SYMBOL_in_alter_lock_option1256_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_alter_lock_option1260  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_alter_lock_option1260_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_alter_lock_option1260	= { FOLLOW_identifier_in_alter_lock_option1260_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_alter_algorithm_option_in_index_lock_algorithm1282  */
static	ANTLR3_BITWORD FOLLOW_alter_algorithm_option_in_index_lock_algorithm1282_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000004000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_alter_algorithm_option_in_index_lock_algorithm1282	= { FOLLOW_alter_algorithm_option_in_index_lock_algorithm1282_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_alter_lock_option_in_index_lock_algorithm1284  */
static	ANTLR3_BITWORD FOLLOW_alter_lock_option_in_index_lock_algorithm1284_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_alter_lock_option_in_index_lock_algorithm1284	= { FOLLOW_alter_lock_option_in_index_lock_algorithm1284_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_alter_lock_option_in_index_lock_algorithm1292  */
static	ANTLR3_BITWORD FOLLOW_alter_lock_option_in_index_lock_algorithm1292_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000202) };
static  ANTLR3_BITSET_LIST FOLLOW_alter_lock_option_in_index_lock_algorithm1292	= { FOLLOW_alter_lock_option_in_index_lock_algorithm1292_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_alter_algorithm_option_in_index_lock_algorithm1294  */
static	ANTLR3_BITWORD FOLLOW_alter_algorithm_option_in_index_lock_algorithm1294_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_alter_algorithm_option_in_index_lock_algorithm1294	= { FOLLOW_alter_algorithm_option_in_index_lock_algorithm1294_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ADD_SYMBOL_in_alter_partition1312  */
static	ANTLR3_BITWORD FOLLOW_ADD_SYMBOL_in_alter_partition1312_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000800000000) };
static  ANTLR3_BITSET_LIST FOLLOW_ADD_SYMBOL_in_alter_partition1312	= { FOLLOW_ADD_SYMBOL_in_alter_partition1312_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PARTITION_SYMBOL_in_alter_partition1314  */
static	ANTLR3_BITWORD FOLLOW_PARTITION_SYMBOL_in_alter_partition1314_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0200000000000000), ANTLR3_UINT64_LIT(0x1000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000010010000) };
static  ANTLR3_BITSET_LIST FOLLOW_PARTITION_SYMBOL_in_alter_partition1314	= { FOLLOW_PARTITION_SYMBOL_in_alter_partition1314_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_no_write_to_bin_log_in_alter_partition1316  */
static	ANTLR3_BITWORD FOLLOW_no_write_to_bin_log_in_alter_partition1316_bits[]	= { 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(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000010000000) };
static  ANTLR3_BITSET_LIST FOLLOW_no_write_to_bin_log_in_alter_partition1316	= { FOLLOW_no_write_to_bin_log_in_alter_partition1316_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_alter_partition1326  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_alter_partition1326_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000800000000) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_alter_partition1326	= { FOLLOW_OPEN_PAR_SYMBOL_in_alter_partition1326_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_partition_definition_in_alter_partition1328  */
static	ANTLR3_BITWORD FOLLOW_partition_definition_in_alter_partition1328_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000010000) };
static  ANTLR3_BITSET_LIST FOLLOW_partition_definition_in_alter_partition1328	= { FOLLOW_partition_definition_in_alter_partition1328_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_alter_partition1330  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_alter_partition1330_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_alter_partition1330	= { FOLLOW_CLOSE_PAR_SYMBOL_in_alter_partition1330_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PARTITIONS_SYMBOL_in_alter_partition1337  */
static	ANTLR3_BITWORD FOLLOW_PARTITIONS_SYMBOL_in_alter_partition1337_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_PARTITIONS_SYMBOL_in_alter_partition1337	= { FOLLOW_PARTITIONS_SYMBOL_in_alter_partition1337_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_alter_partition1339  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_alter_partition1339_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_INTEGER_in_alter_partition1339	= { FOLLOW_INTEGER_in_alter_partition1339_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DROP_SYMBOL_in_alter_partition1348  */
static	ANTLR3_BITWORD FOLLOW_DROP_SYMBOL_in_alter_partition1348_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000800000000) };
static  ANTLR3_BITSET_LIST FOLLOW_DROP_SYMBOL_in_alter_partition1348	= { FOLLOW_DROP_SYMBOL_in_alter_partition1348_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PARTITION_SYMBOL_in_alter_partition1350  */
static	ANTLR3_BITWORD FOLLOW_PARTITION_SYMBOL_in_alter_partition1350_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_PARTITION_SYMBOL_in_alter_partition1350	= { FOLLOW_PARTITION_SYMBOL_in_alter_partition1350_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_list_in_alter_partition1352  */
static	ANTLR3_BITWORD FOLLOW_identifier_list_in_alter_partition1352_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_list_in_alter_partition1352	= { FOLLOW_identifier_list_in_alter_partition1352_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_REBUILD_SYMBOL_in_alter_partition1357  */
static	ANTLR3_BITWORD FOLLOW_REBUILD_SYMBOL_in_alter_partition1357_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000800000000) };
static  ANTLR3_BITSET_LIST FOLLOW_REBUILD_SYMBOL_in_alter_partition1357	= { FOLLOW_REBUILD_SYMBOL_in_alter_partition1357_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PARTITION_SYMBOL_in_alter_partition1359  */
static	ANTLR3_BITWORD FOLLOW_PARTITION_SYMBOL_in_alter_partition1359_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004004FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000010000) };
static  ANTLR3_BITSET_LIST FOLLOW_PARTITION_SYMBOL_in_alter_partition1359	= { FOLLOW_PARTITION_SYMBOL_in_alter_partition1359_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_no_write_to_bin_log_in_alter_partition1361  */
static	ANTLR3_BITWORD FOLLOW_no_write_to_bin_log_in_alter_partition1361_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004004FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_no_write_to_bin_log_in_alter_partition1361	= { FOLLOW_no_write_to_bin_log_in_alter_partition1361_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_all_or_partition_name_list_in_alter_partition1364  */
static	ANTLR3_BITWORD FOLLOW_all_or_partition_name_list_in_alter_partition1364_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_all_or_partition_name_list_in_alter_partition1364	= { FOLLOW_all_or_partition_name_list_in_alter_partition1364_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPTIMIZE_SYMBOL_in_alter_partition1369  */
static	ANTLR3_BITWORD FOLLOW_OPTIMIZE_SYMBOL_in_alter_partition1369_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000800000000) };
static  ANTLR3_BITSET_LIST FOLLOW_OPTIMIZE_SYMBOL_in_alter_partition1369	= { FOLLOW_OPTIMIZE_SYMBOL_in_alter_partition1369_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PARTITION_SYMBOL_in_alter_partition1371  */
static	ANTLR3_BITWORD FOLLOW_PARTITION_SYMBOL_in_alter_partition1371_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004004FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000010000) };
static  ANTLR3_BITSET_LIST FOLLOW_PARTITION_SYMBOL_in_alter_partition1371	= { FOLLOW_PARTITION_SYMBOL_in_alter_partition1371_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_no_write_to_bin_log_in_alter_partition1373  */
static	ANTLR3_BITWORD FOLLOW_no_write_to_bin_log_in_alter_partition1373_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004004FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_no_write_to_bin_log_in_alter_partition1373	= { FOLLOW_no_write_to_bin_log_in_alter_partition1373_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_all_or_partition_name_list_in_alter_partition1376  */
static	ANTLR3_BITWORD FOLLOW_all_or_partition_name_list_in_alter_partition1376_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0200000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000010000) };
static  ANTLR3_BITSET_LIST FOLLOW_all_or_partition_name_list_in_alter_partition1376	= { FOLLOW_all_or_partition_name_list_in_alter_partition1376_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_no_write_to_bin_log_in_alter_partition1378  */
static	ANTLR3_BITWORD FOLLOW_no_write_to_bin_log_in_alter_partition1378_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_no_write_to_bin_log_in_alter_partition1378	= { FOLLOW_no_write_to_bin_log_in_alter_partition1378_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ANALYZE_SYMBOL_in_alter_partition1385  */
static	ANTLR3_BITWORD FOLLOW_ANALYZE_SYMBOL_in_alter_partition1385_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000800000000) };
static  ANTLR3_BITSET_LIST FOLLOW_ANALYZE_SYMBOL_in_alter_partition1385	= { FOLLOW_ANALYZE_SYMBOL_in_alter_partition1385_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PARTITION_SYMBOL_in_alter_partition1387  */
static	ANTLR3_BITWORD FOLLOW_PARTITION_SYMBOL_in_alter_partition1387_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004004FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000010000) };
static  ANTLR3_BITSET_LIST FOLLOW_PARTITION_SYMBOL_in_alter_partition1387	= { FOLLOW_PARTITION_SYMBOL_in_alter_partition1387_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_no_write_to_bin_log_in_alter_partition1389  */
static	ANTLR3_BITWORD FOLLOW_no_write_to_bin_log_in_alter_partition1389_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004004FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_no_write_to_bin_log_in_alter_partition1389	= { FOLLOW_no_write_to_bin_log_in_alter_partition1389_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_all_or_partition_name_list_in_alter_partition1392  */
static	ANTLR3_BITWORD FOLLOW_all_or_partition_name_list_in_alter_partition1392_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_all_or_partition_name_list_in_alter_partition1392	= { FOLLOW_all_or_partition_name_list_in_alter_partition1392_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CHECK_SYMBOL_in_alter_partition1397  */
static	ANTLR3_BITWORD FOLLOW_CHECK_SYMBOL_in_alter_partition1397_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000800000000) };
static  ANTLR3_BITSET_LIST FOLLOW_CHECK_SYMBOL_in_alter_partition1397	= { FOLLOW_CHECK_SYMBOL_in_alter_partition1397_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PARTITION_SYMBOL_in_alter_partition1399  */
static	ANTLR3_BITWORD FOLLOW_PARTITION_SYMBOL_in_alter_partition1399_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004004FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_PARTITION_SYMBOL_in_alter_partition1399	= { FOLLOW_PARTITION_SYMBOL_in_alter_partition1399_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_all_or_partition_name_list_in_alter_partition1401  */
static	ANTLR3_BITWORD FOLLOW_all_or_partition_name_list_in_alter_partition1401_bits[]	= { ANTLR3_UINT64_LIT(0x0000000008000002), ANTLR3_UINT64_LIT(0x0000000000280000), ANTLR3_UINT64_LIT(0x0000000001000000), ANTLR3_UINT64_LIT(0x0000000000004000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000200000000) };
static  ANTLR3_BITSET_LIST FOLLOW_all_or_partition_name_list_in_alter_partition1401	= { FOLLOW_all_or_partition_name_list_in_alter_partition1401_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_check_option_in_alter_partition1403  */
static	ANTLR3_BITWORD FOLLOW_check_option_in_alter_partition1403_bits[]	= { ANTLR3_UINT64_LIT(0x0000000008000002), ANTLR3_UINT64_LIT(0x0000000000280000), ANTLR3_UINT64_LIT(0x0000000001000000), ANTLR3_UINT64_LIT(0x0000000000004000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000200000000) };
static  ANTLR3_BITSET_LIST FOLLOW_check_option_in_alter_partition1403	= { FOLLOW_check_option_in_alter_partition1403_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_REPAIR_SYMBOL_in_alter_partition1409  */
static	ANTLR3_BITWORD FOLLOW_REPAIR_SYMBOL_in_alter_partition1409_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000800000000) };
static  ANTLR3_BITSET_LIST FOLLOW_REPAIR_SYMBOL_in_alter_partition1409	= { FOLLOW_REPAIR_SYMBOL_in_alter_partition1409_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PARTITION_SYMBOL_in_alter_partition1411  */
static	ANTLR3_BITWORD FOLLOW_PARTITION_SYMBOL_in_alter_partition1411_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004004FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000010000) };
static  ANTLR3_BITSET_LIST FOLLOW_PARTITION_SYMBOL_in_alter_partition1411	= { FOLLOW_PARTITION_SYMBOL_in_alter_partition1411_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_no_write_to_bin_log_in_alter_partition1413  */
static	ANTLR3_BITWORD FOLLOW_no_write_to_bin_log_in_alter_partition1413_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004004FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_no_write_to_bin_log_in_alter_partition1413	= { FOLLOW_no_write_to_bin_log_in_alter_partition1413_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_all_or_partition_name_list_in_alter_partition1416  */
static	ANTLR3_BITWORD FOLLOW_all_or_partition_name_list_in_alter_partition1416_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000004000), ANTLR3_UINT64_LIT(0x0000004000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_all_or_partition_name_list_in_alter_partition1416	= { FOLLOW_all_or_partition_name_list_in_alter_partition1416_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_repair_option_in_alter_partition1418  */
static	ANTLR3_BITWORD FOLLOW_repair_option_in_alter_partition1418_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000004000), ANTLR3_UINT64_LIT(0x0000004000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_repair_option_in_alter_partition1418	= { FOLLOW_repair_option_in_alter_partition1418_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COALESCE_SYMBOL_in_alter_partition1424  */
static	ANTLR3_BITWORD FOLLOW_COALESCE_SYMBOL_in_alter_partition1424_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000800000000) };
static  ANTLR3_BITSET_LIST FOLLOW_COALESCE_SYMBOL_in_alter_partition1424	= { FOLLOW_COALESCE_SYMBOL_in_alter_partition1424_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PARTITION_SYMBOL_in_alter_partition1426  */
static	ANTLR3_BITWORD FOLLOW_PARTITION_SYMBOL_in_alter_partition1426_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0200000000000000), ANTLR3_UINT64_LIT(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(0x0000000000010000) };
static  ANTLR3_BITSET_LIST FOLLOW_PARTITION_SYMBOL_in_alter_partition1426	= { FOLLOW_PARTITION_SYMBOL_in_alter_partition1426_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_no_write_to_bin_log_in_alter_partition1428  */
static	ANTLR3_BITWORD FOLLOW_no_write_to_bin_log_in_alter_partition1428_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_no_write_to_bin_log_in_alter_partition1428	= { FOLLOW_no_write_to_bin_log_in_alter_partition1428_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_alter_partition1431  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_alter_partition1431_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_INTEGER_in_alter_partition1431	= { FOLLOW_INTEGER_in_alter_partition1431_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TRUNCATE_SYMBOL_in_alter_partition1440  */
static	ANTLR3_BITWORD FOLLOW_TRUNCATE_SYMBOL_in_alter_partition1440_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000800000000) };
static  ANTLR3_BITSET_LIST FOLLOW_TRUNCATE_SYMBOL_in_alter_partition1440	= { FOLLOW_TRUNCATE_SYMBOL_in_alter_partition1440_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PARTITION_SYMBOL_in_alter_partition1442  */
static	ANTLR3_BITWORD FOLLOW_PARTITION_SYMBOL_in_alter_partition1442_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004004FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_PARTITION_SYMBOL_in_alter_partition1442	= { FOLLOW_PARTITION_SYMBOL_in_alter_partition1442_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_all_or_partition_name_list_in_alter_partition1444  */
static	ANTLR3_BITWORD FOLLOW_all_or_partition_name_list_in_alter_partition1444_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_all_or_partition_name_list_in_alter_partition1444	= { FOLLOW_all_or_partition_name_list_in_alter_partition1444_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EXCHANGE_SYMBOL_in_alter_partition1449  */
static	ANTLR3_BITWORD FOLLOW_EXCHANGE_SYMBOL_in_alter_partition1449_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000800000000) };
static  ANTLR3_BITSET_LIST FOLLOW_EXCHANGE_SYMBOL_in_alter_partition1449	= { FOLLOW_EXCHANGE_SYMBOL_in_alter_partition1449_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PARTITION_SYMBOL_in_alter_partition1451  */
static	ANTLR3_BITWORD FOLLOW_PARTITION_SYMBOL_in_alter_partition1451_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_PARTITION_SYMBOL_in_alter_partition1451	= { FOLLOW_PARTITION_SYMBOL_in_alter_partition1451_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_alter_partition1453  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_alter_partition1453_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), 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_identifier_in_alter_partition1453	= { FOLLOW_identifier_in_alter_partition1453_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_WITH_SYMBOL_in_alter_partition1455  */
static	ANTLR3_BITWORD FOLLOW_WITH_SYMBOL_in_alter_partition1455_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_WITH_SYMBOL_in_alter_partition1455	= { FOLLOW_WITH_SYMBOL_in_alter_partition1455_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TABLE_SYMBOL_in_alter_partition1457  */
static	ANTLR3_BITWORD FOLLOW_TABLE_SYMBOL_in_alter_partition1457_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000012) };
static  ANTLR3_BITSET_LIST FOLLOW_TABLE_SYMBOL_in_alter_partition1457	= { FOLLOW_TABLE_SYMBOL_in_alter_partition1457_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_identifier_in_alter_partition1459  */
static	ANTLR3_BITWORD FOLLOW_table_identifier_in_alter_partition1459_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_table_identifier_in_alter_partition1459	= { FOLLOW_table_identifier_in_alter_partition1459_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_REORGANIZE_SYMBOL_in_alter_partition1464  */
static	ANTLR3_BITWORD FOLLOW_REORGANIZE_SYMBOL_in_alter_partition1464_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000800000000) };
static  ANTLR3_BITSET_LIST FOLLOW_REORGANIZE_SYMBOL_in_alter_partition1464	= { FOLLOW_REORGANIZE_SYMBOL_in_alter_partition1464_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PARTITION_SYMBOL_in_alter_partition1466  */
static	ANTLR3_BITWORD FOLLOW_PARTITION_SYMBOL_in_alter_partition1466_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF2), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000010000) };
static  ANTLR3_BITSET_LIST FOLLOW_PARTITION_SYMBOL_in_alter_partition1466	= { FOLLOW_PARTITION_SYMBOL_in_alter_partition1466_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_no_write_to_bin_log_in_alter_partition1468  */
static	ANTLR3_BITWORD FOLLOW_no_write_to_bin_log_in_alter_partition1468_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF2), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_no_write_to_bin_log_in_alter_partition1468	= { FOLLOW_no_write_to_bin_log_in_alter_partition1468_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_list_in_alter_partition1472  */
static	ANTLR3_BITWORD FOLLOW_identifier_list_in_alter_partition1472_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_identifier_list_in_alter_partition1472	= { FOLLOW_identifier_list_in_alter_partition1472_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTO_SYMBOL_in_alter_partition1474  */
static	ANTLR3_BITWORD FOLLOW_INTO_SYMBOL_in_alter_partition1474_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_alter_partition1474	= { FOLLOW_INTO_SYMBOL_in_alter_partition1474_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_partition_definitions_in_alter_partition1476  */
static	ANTLR3_BITWORD FOLLOW_partition_definitions_in_alter_partition1476_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_partition_definitions_in_alter_partition1476	= { FOLLOW_partition_definitions_in_alter_partition1476_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_REMOVE_SYMBOL_in_remove_partitioning1491  */
static	ANTLR3_BITWORD FOLLOW_REMOVE_SYMBOL_in_remove_partitioning1491_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0800000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_REMOVE_SYMBOL_in_remove_partitioning1491	= { FOLLOW_REMOVE_SYMBOL_in_remove_partitioning1491_bits, 3	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PARTITIONING_SYMBOL_in_remove_partitioning1493  */
static	ANTLR3_BITWORD FOLLOW_PARTITIONING_SYMBOL_in_remove_partitioning1493_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_PARTITIONING_SYMBOL_in_remove_partitioning1493	= { FOLLOW_PARTITIONING_SYMBOL_in_remove_partitioning1493_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ALL_SYMBOL_in_all_or_partition_name_list1502  */
static	ANTLR3_BITWORD FOLLOW_ALL_SYMBOL_in_all_or_partition_name_list1502_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_ALL_SYMBOL_in_all_or_partition_name_list1502	= { FOLLOW_ALL_SYMBOL_in_all_or_partition_name_list1502_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_list_in_all_or_partition_name_list1507  */
static	ANTLR3_BITWORD FOLLOW_identifier_list_in_all_or_partition_name_list1507_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_list_in_all_or_partition_name_list1507	= { FOLLOW_identifier_list_in_all_or_partition_name_list1507_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TABLESPACE_SYMBOL_in_alter_tablespace1516  */
static	ANTLR3_BITWORD FOLLOW_TABLESPACE_SYMBOL_in_alter_tablespace1516_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_TABLESPACE_SYMBOL_in_alter_tablespace1516	= { FOLLOW_TABLESPACE_SYMBOL_in_alter_tablespace1516_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_alter_tablespace1518  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_alter_tablespace1518_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000002000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000040) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_alter_tablespace1518	= { FOLLOW_identifier_in_alter_tablespace1518_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_alter_tablespace1520  */
static	ANTLR3_BITWORD FOLLOW_set_in_alter_tablespace1520_bits[]	= { ANTLR3_UINT64_LIT(0x0020000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_alter_tablespace1520	= { FOLLOW_set_in_alter_tablespace1520_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DATAFILE_SYMBOL_in_alter_tablespace1528  */
static	ANTLR3_BITWORD FOLLOW_DATAFILE_SYMBOL_in_alter_tablespace1528_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000040000000200), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000040000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_DATAFILE_SYMBOL_in_alter_tablespace1528	= { FOLLOW_DATAFILE_SYMBOL_in_alter_tablespace1528_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INITIAL_SIZE_SYMBOL_in_alter_tablespace1532  */
static	ANTLR3_BITWORD FOLLOW_INITIAL_SIZE_SYMBOL_in_alter_tablespace1532_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010400000002000), ANTLR3_UINT64_LIT(0x0000000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_INITIAL_SIZE_SYMBOL_in_alter_tablespace1532	= { FOLLOW_INITIAL_SIZE_SYMBOL_in_alter_tablespace1532_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_alter_tablespace1534  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_alter_tablespace1534_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010400000000000), ANTLR3_UINT64_LIT(0x0000000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_alter_tablespace1534	= { FOLLOW_EQUAL_OPERATOR_in_alter_tablespace1534_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_size_number_in_alter_tablespace1537  */
static	ANTLR3_BITWORD FOLLOW_size_number_in_alter_tablespace1537_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000200), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000040000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_size_number_in_alter_tablespace1537	= { FOLLOW_size_number_in_alter_tablespace1537_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_WAIT_SYMBOL_in_alter_tablespace1543  */
static	ANTLR3_BITWORD FOLLOW_WAIT_SYMBOL_in_alter_tablespace1543_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000200) };
static  ANTLR3_BITSET_LIST FOLLOW_WAIT_SYMBOL_in_alter_tablespace1543	= { FOLLOW_WAIT_SYMBOL_in_alter_tablespace1543_bits, 2	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ENGINE_SYMBOL_in_alter_tablespace1546  */
static	ANTLR3_BITWORD FOLLOW_ENGINE_SYMBOL_in_alter_tablespace1546_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000002000) };
static  ANTLR3_BITSET_LIST FOLLOW_ENGINE_SYMBOL_in_alter_tablespace1546	= { FOLLOW_ENGINE_SYMBOL_in_alter_tablespace1546_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_alter_tablespace1548  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_alter_tablespace1548_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_EQUAL_OPERATOR_in_alter_tablespace1548	= { FOLLOW_EQUAL_OPERATOR_in_alter_tablespace1548_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_IDENTIFIER_in_alter_tablespace1551  */
static	ANTLR3_BITWORD FOLLOW_IDENTIFIER_in_alter_tablespace1551_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_IDENTIFIER_in_alter_tablespace1551	= { FOLLOW_IDENTIFIER_in_alter_tablespace1551_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ALGORITHM_SYMBOL_in_alter_view1561  */
static	ANTLR3_BITWORD FOLLOW_ALGORITHM_SYMBOL_in_alter_view1561_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_ALGORITHM_SYMBOL_in_alter_view1561	= { FOLLOW_ALGORITHM_SYMBOL_in_alter_view1561_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_alter_view1563  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_alter_view1563_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000004000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080040000) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_alter_view1563	= { FOLLOW_EQUAL_OPERATOR_in_alter_view1563_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_alter_view1565  */
static	ANTLR3_BITWORD FOLLOW_set_in_alter_view1565_bits[]	= { ANTLR3_UINT64_LIT(0x0800000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), 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(0x0000000040000000) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_alter_view1565	= { FOLLOW_set_in_alter_view1565_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_definer_clause_in_alter_view1581  */
static	ANTLR3_BITWORD FOLLOW_definer_clause_in_alter_view1581_bits[]	= { 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(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000040000000) };
static  ANTLR3_BITSET_LIST FOLLOW_definer_clause_in_alter_view1581	= { FOLLOW_definer_clause_in_alter_view1581_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SQL_SYMBOL_in_alter_view1587  */
static	ANTLR3_BITWORD FOLLOW_SQL_SYMBOL_in_alter_view1587_bits[]	= { 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_SQL_SYMBOL_in_alter_view1587	= { FOLLOW_SQL_SYMBOL_in_alter_view1587_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SECURITY_SYMBOL_in_alter_view1589  */
static	ANTLR3_BITWORD FOLLOW_SECURITY_SYMBOL_in_alter_view1589_bits[]	= { ANTLR3_UINT64_LIT(0x0800000000000000), ANTLR3_UINT64_LIT(0x0000200000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_SECURITY_SYMBOL_in_alter_view1589	= { FOLLOW_SECURITY_SYMBOL_in_alter_view1589_bits, 2	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_alter_view1591  */
static	ANTLR3_BITWORD FOLLOW_set_in_alter_view1591_bits[]	= { 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_set_in_alter_view1591	= { FOLLOW_set_in_alter_view1591_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_VIEW_SYMBOL_in_alter_view1603  */
static	ANTLR3_BITWORD FOLLOW_VIEW_SYMBOL_in_alter_view1603_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_VIEW_SYMBOL_in_alter_view1603	= { FOLLOW_VIEW_SYMBOL_in_alter_view1603_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_alter_view1605  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_alter_view1605_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000400000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000010000000) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_alter_view1605	= { FOLLOW_identifier_in_alter_view1605_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_list_with_parentheses_in_alter_view1607  */
static	ANTLR3_BITWORD FOLLOW_identifier_list_with_parentheses_in_alter_view1607_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000400000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_list_with_parentheses_in_alter_view1607	= { FOLLOW_identifier_list_with_parentheses_in_alter_view1607_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_AS_SYMBOL_in_alter_view1610  */
static	ANTLR3_BITWORD FOLLOW_AS_SYMBOL_in_alter_view1610_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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), ANTLR3_UINT64_LIT(0x0000000000000040) };
static  ANTLR3_BITSET_LIST FOLLOW_AS_SYMBOL_in_alter_view1610	= { FOLLOW_AS_SYMBOL_in_alter_view1610_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_select_statement_in_alter_view1612  */
static	ANTLR3_BITWORD FOLLOW_select_statement_in_alter_view1612_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000001000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_select_statement_in_alter_view1612	= { FOLLOW_select_statement_in_alter_view1612_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_WITH_SYMBOL_in_alter_view1617  */
static	ANTLR3_BITWORD FOLLOW_WITH_SYMBOL_in_alter_view1617_bits[]	= { ANTLR3_UINT64_LIT(0x0000000001000000), ANTLR3_UINT64_LIT(0x0200000000000000), 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_WITH_SYMBOL_in_alter_view1617	= { FOLLOW_WITH_SYMBOL_in_alter_view1617_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CHECK_SYMBOL_in_alter_view1628  */
static	ANTLR3_BITWORD FOLLOW_CHECK_SYMBOL_in_alter_view1628_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_CHECK_SYMBOL_in_alter_view1628	= { FOLLOW_CHECK_SYMBOL_in_alter_view1628_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPTION_SYMBOL_in_alter_view1630  */
static	ANTLR3_BITWORD FOLLOW_OPTION_SYMBOL_in_alter_view1630_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_OPTION_SYMBOL_in_alter_view1630	= { FOLLOW_OPTION_SYMBOL_in_alter_view1630_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CREATE_SYMBOL_in_create_statement1643  */
static	ANTLR3_BITWORD FOLLOW_CREATE_SYMBOL_in_create_statement1643_bits[]	= { ANTLR3_UINT64_LIT(0x0800000000000300), ANTLR3_UINT64_LIT(0x0800000010008000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000020000022000), ANTLR3_UINT64_LIT(0x0000000000400000), ANTLR3_UINT64_LIT(0x0000004000000000), ANTLR3_UINT64_LIT(0x0100001000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000400200C00000), ANTLR3_UINT64_LIT(0x0100000040400000), ANTLR3_UINT64_LIT(0x0000000000000101) };
static  ANTLR3_BITSET_LIST FOLLOW_CREATE_SYMBOL_in_create_statement1643	= { FOLLOW_CREATE_SYMBOL_in_create_statement1643_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_create_table_in_create_statement1651  */
static	ANTLR3_BITWORD FOLLOW_create_table_in_create_statement1651_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_create_table_in_create_statement1651	= { FOLLOW_create_table_in_create_statement1651_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_create_index_in_create_statement1657  */
static	ANTLR3_BITWORD FOLLOW_create_index_in_create_statement1657_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_create_index_in_create_statement1657	= { FOLLOW_create_index_in_create_statement1657_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_create_database_in_create_statement1663  */
static	ANTLR3_BITWORD FOLLOW_create_database_in_create_statement1663_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_create_database_in_create_statement1663	= { FOLLOW_create_database_in_create_statement1663_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_definer_clause_in_create_statement1669  */
static	ANTLR3_BITWORD FOLLOW_definer_clause_in_create_statement1669_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000010008000), 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(0x0000400000000000), ANTLR3_UINT64_LIT(0x0000000040000000), ANTLR3_UINT64_LIT(0x0000000000000001) };
static  ANTLR3_BITSET_LIST FOLLOW_definer_clause_in_create_statement1669	= { FOLLOW_definer_clause_in_create_statement1669_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_create_event_in_create_statement1685  */
static	ANTLR3_BITWORD FOLLOW_create_event_in_create_statement1685_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_create_event_in_create_statement1685	= { FOLLOW_create_event_in_create_statement1685_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_create_view_in_create_statement1693  */
static	ANTLR3_BITWORD FOLLOW_create_view_in_create_statement1693_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_create_view_in_create_statement1693	= { FOLLOW_create_view_in_create_statement1693_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_create_routine_or_udf_in_create_statement1701  */
static	ANTLR3_BITWORD FOLLOW_create_routine_or_udf_in_create_statement1701_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_create_routine_or_udf_in_create_statement1701	= { FOLLOW_create_routine_or_udf_in_create_statement1701_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_create_trigger_in_create_statement1709  */
static	ANTLR3_BITWORD FOLLOW_create_trigger_in_create_statement1709_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_create_trigger_in_create_statement1709	= { FOLLOW_create_trigger_in_create_statement1709_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_view_replace_or_algorithm_in_create_statement1720  */
static	ANTLR3_BITWORD FOLLOW_view_replace_or_algorithm_in_create_statement1720_bits[]	= { ANTLR3_UINT64_LIT(0x0800000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), 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(0x0000000040000000) };
static  ANTLR3_BITSET_LIST FOLLOW_view_replace_or_algorithm_in_create_statement1720	= { FOLLOW_view_replace_or_algorithm_in_create_statement1720_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_definer_clause_in_create_statement1722  */
static	ANTLR3_BITWORD FOLLOW_definer_clause_in_create_statement1722_bits[]	= { 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(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000040000000) };
static  ANTLR3_BITSET_LIST FOLLOW_definer_clause_in_create_statement1722	= { FOLLOW_definer_clause_in_create_statement1722_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_create_view_in_create_statement1725  */
static	ANTLR3_BITWORD FOLLOW_create_view_in_create_statement1725_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_create_view_in_create_statement1725	= { FOLLOW_create_view_in_create_statement1725_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_create_logfile_group_in_create_statement1731  */
static	ANTLR3_BITWORD FOLLOW_create_logfile_group_in_create_statement1731_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_create_logfile_group_in_create_statement1731	= { FOLLOW_create_logfile_group_in_create_statement1731_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_create_server_in_create_statement1737  */
static	ANTLR3_BITWORD FOLLOW_create_server_in_create_statement1737_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_create_server_in_create_statement1737	= { FOLLOW_create_server_in_create_statement1737_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_create_tablespace_in_create_statement1743  */
static	ANTLR3_BITWORD FOLLOW_create_tablespace_in_create_statement1743_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_create_tablespace_in_create_statement1743	= { FOLLOW_create_tablespace_in_create_statement1743_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DATABASE_SYMBOL_in_create_database1755  */
static	ANTLR3_BITWORD FOLLOW_DATABASE_SYMBOL_in_create_database1755_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0030000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_DATABASE_SYMBOL_in_create_database1755	= { FOLLOW_DATABASE_SYMBOL_in_create_database1755_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_if_not_exists_in_create_database1757  */
static	ANTLR3_BITWORD FOLLOW_if_not_exists_in_create_database1757_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_if_not_exists_in_create_database1757	= { FOLLOW_if_not_exists_in_create_database1757_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_create_database1760  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_create_database1760_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0020000000021000) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_create_database1760	= { FOLLOW_identifier_in_create_database1760_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_database_option_in_create_database1762  */
static	ANTLR3_BITWORD FOLLOW_database_option_in_create_database1762_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0020000000021000) };
static  ANTLR3_BITSET_LIST FOLLOW_database_option_in_create_database1762	= { FOLLOW_database_option_in_create_database1762_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EVENT_SYMBOL_in_create_event1772  */
static	ANTLR3_BITWORD FOLLOW_EVENT_SYMBOL_in_create_event1772_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0030000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_EVENT_SYMBOL_in_create_event1772	= { FOLLOW_EVENT_SYMBOL_in_create_event1772_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_if_not_exists_in_create_event1774  */
static	ANTLR3_BITWORD FOLLOW_if_not_exists_in_create_event1774_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_if_not_exists_in_create_event1774	= { FOLLOW_if_not_exists_in_create_event1774_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_create_event1777  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_create_event1777_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_identifier_in_create_event1777	= { FOLLOW_identifier_in_create_event1777_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ON_SYMBOL_in_create_event1779  */
static	ANTLR3_BITWORD FOLLOW_ON_SYMBOL_in_create_event1779_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000020000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_ON_SYMBOL_in_create_event1779	= { FOLLOW_ON_SYMBOL_in_create_event1779_bits, 4	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SCHEDULE_SYMBOL_in_create_event1781  */
static	ANTLR3_BITWORD FOLLOW_SCHEDULE_SYMBOL_in_create_event1781_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000001000), ANTLR3_UINT64_LIT(0x0000000000010000) };
static  ANTLR3_BITSET_LIST FOLLOW_SCHEDULE_SYMBOL_in_create_event1781	= { FOLLOW_SCHEDULE_SYMBOL_in_create_event1781_bits, 2	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_schedule_in_create_event1783  */
static	ANTLR3_BITWORD FOLLOW_schedule_in_create_event1783_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000041), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x4400000000000000), 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_schedule_in_create_event1783	= { FOLLOW_schedule_in_create_event1783_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ON_SYMBOL_in_create_event1788  */
static	ANTLR3_BITWORD FOLLOW_ON_SYMBOL_in_create_event1788_bits[]	= { ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_ON_SYMBOL_in_create_event1788	= { FOLLOW_ON_SYMBOL_in_create_event1788_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMPLETION_SYMBOL_in_create_event1790  */
static	ANTLR3_BITWORD FOLLOW_COMPLETION_SYMBOL_in_create_event1790_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000010), 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_COMPLETION_SYMBOL_in_create_event1790	= { FOLLOW_COMPLETION_SYMBOL_in_create_event1790_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_NOT_SYMBOL_in_create_event1792  */
static	ANTLR3_BITWORD FOLLOW_NOT_SYMBOL_in_create_event1792_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_NOT_SYMBOL_in_create_event1792	= { FOLLOW_NOT_SYMBOL_in_create_event1792_bits, 4	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PRESERVE_SYMBOL_in_create_event1795  */
static	ANTLR3_BITWORD FOLLOW_PRESERVE_SYMBOL_in_create_event1795_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000041), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x4400000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_PRESERVE_SYMBOL_in_create_event1795	= { FOLLOW_PRESERVE_SYMBOL_in_create_event1795_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ENABLE_SYMBOL_in_create_event1802  */
static	ANTLR3_BITWORD FOLLOW_ENABLE_SYMBOL_in_create_event1802_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x4400000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_ENABLE_SYMBOL_in_create_event1802	= { FOLLOW_ENABLE_SYMBOL_in_create_event1802_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DISABLE_SYMBOL_in_create_event1806  */
static	ANTLR3_BITWORD FOLLOW_DISABLE_SYMBOL_in_create_event1806_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x4400000000000000), 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_DISABLE_SYMBOL_in_create_event1806	= { FOLLOW_DISABLE_SYMBOL_in_create_event1806_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ON_SYMBOL_in_create_event1809  */
static	ANTLR3_BITWORD FOLLOW_ON_SYMBOL_in_create_event1809_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000001000000) };
static  ANTLR3_BITSET_LIST FOLLOW_ON_SYMBOL_in_create_event1809	= { FOLLOW_ON_SYMBOL_in_create_event1809_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SLAVE_SYMBOL_in_create_event1811  */
static	ANTLR3_BITWORD FOLLOW_SLAVE_SYMBOL_in_create_event1811_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x4400000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_SLAVE_SYMBOL_in_create_event1811	= { FOLLOW_SLAVE_SYMBOL_in_create_event1811_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMENT_SYMBOL_in_create_event1820  */
static	ANTLR3_BITWORD FOLLOW_COMMENT_SYMBOL_in_create_event1820_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMENT_SYMBOL_in_create_event1820	= { FOLLOW_COMMENT_SYMBOL_in_create_event1820_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_create_event1822  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_create_event1822_bits[]	= { 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_string_literal_in_create_event1822	= { FOLLOW_string_literal_in_create_event1822_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DO_SYMBOL_in_create_event1828  */
static	ANTLR3_BITWORD FOLLOW_DO_SYMBOL_in_create_event1828_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x6B5BFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004008CB81F425B), ANTLR3_UINT64_LIT(0x03800000200024A0), ANTLR3_UINT64_LIT(0x203000C001000050), ANTLR3_UINT64_LIT(0x0000804400902000), ANTLR3_UINT64_LIT(0xD780800030000000), ANTLR3_UINT64_LIT(0x0000000000031040), ANTLR3_UINT64_LIT(0x0000000200002A00) };
static  ANTLR3_BITSET_LIST FOLLOW_DO_SYMBOL_in_create_event1828	= { FOLLOW_DO_SYMBOL_in_create_event1828_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_compound_statement_in_create_event1830  */
static	ANTLR3_BITWORD FOLLOW_compound_statement_in_create_event1830_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_compound_statement_in_create_event1830	= { FOLLOW_compound_statement_in_create_event1830_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PROCEDURE_SYMBOL_in_create_routine_or_udf1839  */
static	ANTLR3_BITWORD FOLLOW_PROCEDURE_SYMBOL_in_create_routine_or_udf1839_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_PROCEDURE_SYMBOL_in_create_routine_or_udf1839	= { FOLLOW_PROCEDURE_SYMBOL_in_create_routine_or_udf1839_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_qualified_identifier_in_create_routine_or_udf1841  */
static	ANTLR3_BITWORD FOLLOW_qualified_identifier_in_create_routine_or_udf1841_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_qualified_identifier_in_create_routine_or_udf1841	= { FOLLOW_qualified_identifier_in_create_routine_or_udf1841_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_create_routine_or_udf1843  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_create_routine_or_udf1843_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000010000), ANTLR3_UINT64_LIT(0x0810000000000010), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000001000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_create_routine_or_udf1843	= { FOLLOW_OPEN_PAR_SYMBOL_in_create_routine_or_udf1843_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_procedure_parameter_in_create_routine_or_udf1846  */
static	ANTLR3_BITWORD FOLLOW_procedure_parameter_in_create_routine_or_udf1846_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000210000) };
static  ANTLR3_BITSET_LIST FOLLOW_procedure_parameter_in_create_routine_or_udf1846	= { FOLLOW_procedure_parameter_in_create_routine_or_udf1846_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_create_routine_or_udf1849  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_create_routine_or_udf1849_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0810000000000010), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000001000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_create_routine_or_udf1849	= { FOLLOW_COMMA_SYMBOL_in_create_routine_or_udf1849_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_procedure_parameter_in_create_routine_or_udf1851  */
static	ANTLR3_BITWORD FOLLOW_procedure_parameter_in_create_routine_or_udf1851_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000210000) };
static  ANTLR3_BITSET_LIST FOLLOW_procedure_parameter_in_create_routine_or_udf1851	= { FOLLOW_procedure_parameter_in_create_routine_or_udf1851_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_create_routine_or_udf1857  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_create_routine_or_udf1857_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x7F5BFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004008CB81F43DB), ANTLR3_UINT64_LIT(0x07800000200024A0), ANTLR3_UINT64_LIT(0x203000C001000050), ANTLR3_UINT64_LIT(0x0000804400902000), ANTLR3_UINT64_LIT(0xD782800030004002), ANTLR3_UINT64_LIT(0x0000000040031040), ANTLR3_UINT64_LIT(0x0000000200002A00) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_create_routine_or_udf1857	= { FOLLOW_CLOSE_PAR_SYMBOL_in_create_routine_or_udf1857_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_routine_create_option_in_create_routine_or_udf1861  */
static	ANTLR3_BITWORD FOLLOW_routine_create_option_in_create_routine_or_udf1861_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x7F5BFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004008CB81F43DB), ANTLR3_UINT64_LIT(0x07800000200024A0), ANTLR3_UINT64_LIT(0x203000C001000050), ANTLR3_UINT64_LIT(0x0000804400902000), ANTLR3_UINT64_LIT(0xD782800030004002), ANTLR3_UINT64_LIT(0x0000000040031040), ANTLR3_UINT64_LIT(0x0000000200002A00) };
static  ANTLR3_BITSET_LIST FOLLOW_routine_create_option_in_create_routine_or_udf1861	= { FOLLOW_routine_create_option_in_create_routine_or_udf1861_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_compound_statement_in_create_routine_or_udf1864  */
static	ANTLR3_BITWORD FOLLOW_compound_statement_in_create_routine_or_udf1864_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_compound_statement_in_create_routine_or_udf1864	= { FOLLOW_compound_statement_in_create_routine_or_udf1864_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FUNCTION_SYMBOL_in_create_routine_or_udf1869  */
static	ANTLR3_BITWORD FOLLOW_FUNCTION_SYMBOL_in_create_routine_or_udf1869_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_FUNCTION_SYMBOL_in_create_routine_or_udf1869	= { FOLLOW_FUNCTION_SYMBOL_in_create_routine_or_udf1869_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_qualified_identifier_in_create_routine_or_udf1878  */
static	ANTLR3_BITWORD FOLLOW_qualified_identifier_in_create_routine_or_udf1878_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_qualified_identifier_in_create_routine_or_udf1878	= { FOLLOW_qualified_identifier_in_create_routine_or_udf1878_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_create_routine_or_udf1880  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_create_routine_or_udf1880_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000010000), ANTLR3_UINT64_LIT(0x0010000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_create_routine_or_udf1880	= { FOLLOW_OPEN_PAR_SYMBOL_in_create_routine_or_udf1880_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_function_parameter_in_create_routine_or_udf1883  */
static	ANTLR3_BITWORD FOLLOW_function_parameter_in_create_routine_or_udf1883_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000210000) };
static  ANTLR3_BITSET_LIST FOLLOW_function_parameter_in_create_routine_or_udf1883	= { FOLLOW_function_parameter_in_create_routine_or_udf1883_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_create_routine_or_udf1886  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_create_routine_or_udf1886_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_create_routine_or_udf1886	= { FOLLOW_COMMA_SYMBOL_in_create_routine_or_udf1886_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_function_parameter_in_create_routine_or_udf1888  */
static	ANTLR3_BITWORD FOLLOW_function_parameter_in_create_routine_or_udf1888_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000210000) };
static  ANTLR3_BITSET_LIST FOLLOW_function_parameter_in_create_routine_or_udf1888	= { FOLLOW_function_parameter_in_create_routine_or_udf1888_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_create_routine_or_udf1894  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_create_routine_or_udf1894_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_create_routine_or_udf1894	= { FOLLOW_CLOSE_PAR_SYMBOL_in_create_routine_or_udf1894_bits, 4	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_RETURNS_SYMBOL_in_create_routine_or_udf1896  */
static	ANTLR3_BITWORD FOLLOW_RETURNS_SYMBOL_in_create_routine_or_udf1896_bits[]	= { ANTLR3_UINT64_LIT(0x0180000000680000), ANTLR3_UINT64_LIT(0x00800000C2000400), ANTLR3_UINT64_LIT(0x00080C3800000000), ANTLR3_UINT64_LIT(0x000020000000000C), ANTLR3_UINT64_LIT(0x0002000001880000), ANTLR3_UINT64_LIT(0x0060000000000000), ANTLR3_UINT64_LIT(0x0004000000001002), ANTLR3_UINT64_LIT(0x0000000040000020), ANTLR3_UINT64_LIT(0x01C0580000000090), ANTLR3_UINT64_LIT(0x0010000000100000), ANTLR3_UINT64_LIT(0x3800000000201000), ANTLR3_UINT64_LIT(0x0000000000280000) };
static  ANTLR3_BITSET_LIST FOLLOW_RETURNS_SYMBOL_in_create_routine_or_udf1896	= { FOLLOW_RETURNS_SYMBOL_in_create_routine_or_udf1896_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_data_type_in_create_routine_or_udf1902  */
static	ANTLR3_BITWORD FOLLOW_data_type_in_create_routine_or_udf1902_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x7F5BFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004008CB81F43DB), ANTLR3_UINT64_LIT(0x07800000200024A0), ANTLR3_UINT64_LIT(0x203000C001000050), ANTLR3_UINT64_LIT(0x0000804400902000), ANTLR3_UINT64_LIT(0xD782800030004002), ANTLR3_UINT64_LIT(0x0000000040031040), ANTLR3_UINT64_LIT(0x0000000200002A00) };
static  ANTLR3_BITSET_LIST FOLLOW_data_type_in_create_routine_or_udf1902	= { FOLLOW_data_type_in_create_routine_or_udf1902_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_routine_create_option_in_create_routine_or_udf1904  */
static	ANTLR3_BITWORD FOLLOW_routine_create_option_in_create_routine_or_udf1904_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x7F5BFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004008CB81F43DB), ANTLR3_UINT64_LIT(0x07800000200024A0), ANTLR3_UINT64_LIT(0x203000C001000050), ANTLR3_UINT64_LIT(0x0000804400902000), ANTLR3_UINT64_LIT(0xD782800030004002), ANTLR3_UINT64_LIT(0x0000000040031040), ANTLR3_UINT64_LIT(0x0000000200002A00) };
static  ANTLR3_BITSET_LIST FOLLOW_routine_create_option_in_create_routine_or_udf1904	= { FOLLOW_routine_create_option_in_create_routine_or_udf1904_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_compound_statement_in_create_routine_or_udf1907  */
static	ANTLR3_BITWORD FOLLOW_compound_statement_in_create_routine_or_udf1907_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_compound_statement_in_create_routine_or_udf1907	= { FOLLOW_compound_statement_in_create_routine_or_udf1907_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_udf_tail_in_create_routine_or_udf1914  */
static	ANTLR3_BITWORD FOLLOW_udf_tail_in_create_routine_or_udf1914_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_udf_tail_in_create_routine_or_udf1914	= { FOLLOW_udf_tail_in_create_routine_or_udf1914_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_AGGREGATE_SYMBOL_in_create_routine_or_udf1923  */
static	ANTLR3_BITWORD FOLLOW_AGGREGATE_SYMBOL_in_create_routine_or_udf1923_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000010000000) };
static  ANTLR3_BITSET_LIST FOLLOW_AGGREGATE_SYMBOL_in_create_routine_or_udf1923	= { FOLLOW_AGGREGATE_SYMBOL_in_create_routine_or_udf1923_bits, 2	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FUNCTION_SYMBOL_in_create_routine_or_udf1925  */
static	ANTLR3_BITWORD FOLLOW_FUNCTION_SYMBOL_in_create_routine_or_udf1925_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_FUNCTION_SYMBOL_in_create_routine_or_udf1925	= { FOLLOW_FUNCTION_SYMBOL_in_create_routine_or_udf1925_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_udf_tail_in_create_routine_or_udf1927  */
static	ANTLR3_BITWORD FOLLOW_udf_tail_in_create_routine_or_udf1927_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_udf_tail_in_create_routine_or_udf1927	= { FOLLOW_udf_tail_in_create_routine_or_udf1927_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_udf_tail1937  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_udf_tail1937_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_udf_tail1937	= { FOLLOW_identifier_in_udf_tail1937_bits, 4	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_RETURNS_SYMBOL_in_udf_tail1939  */
static	ANTLR3_BITWORD FOLLOW_RETURNS_SYMBOL_in_udf_tail1939_bits[]	= { 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(0x0004000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000010), ANTLR3_UINT64_LIT(0x0010000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_RETURNS_SYMBOL_in_udf_tail1939	= { FOLLOW_RETURNS_SYMBOL_in_udf_tail1939_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_udf_tail1941  */
static	ANTLR3_BITWORD FOLLOW_set_in_udf_tail1941_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) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_udf_tail1941	= { FOLLOW_set_in_udf_tail1941_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SONAME_SYMBOL_in_udf_tail1957  */
static	ANTLR3_BITWORD FOLLOW_SONAME_SYMBOL_in_udf_tail1957_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_SONAME_SYMBOL_in_udf_tail1957	= { FOLLOW_SONAME_SYMBOL_in_udf_tail1957_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_udf_tail1959  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_udf_tail1959_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_udf_tail1959	= { FOLLOW_string_literal_in_udf_tail1959_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_routine_option_in_routine_create_option1968  */
static	ANTLR3_BITWORD FOLLOW_routine_option_in_routine_create_option1968_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_routine_option_in_routine_create_option1968	= { FOLLOW_routine_option_in_routine_create_option1968_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_NOT_SYMBOL_in_routine_create_option1973  */
static	ANTLR3_BITWORD FOLLOW_NOT_SYMBOL_in_routine_create_option1973_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0400000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_NOT_SYMBOL_in_routine_create_option1973	= { FOLLOW_NOT_SYMBOL_in_routine_create_option1973_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DETERMINISTIC_SYMBOL_in_routine_create_option1976  */
static	ANTLR3_BITWORD FOLLOW_DETERMINISTIC_SYMBOL_in_routine_create_option1976_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_DETERMINISTIC_SYMBOL_in_routine_create_option1976	= { FOLLOW_DETERMINISTIC_SYMBOL_in_routine_create_option1976_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMENT_SYMBOL_in_routine_option1985  */
static	ANTLR3_BITWORD FOLLOW_COMMENT_SYMBOL_in_routine_option1985_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMENT_SYMBOL_in_routine_option1985	= { FOLLOW_COMMENT_SYMBOL_in_routine_option1985_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_routine_option1987  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_routine_option1987_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_routine_option1987	= { FOLLOW_string_literal_in_routine_option1987_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_LANGUAGE_SYMBOL_in_routine_option1992  */
static	ANTLR3_BITWORD FOLLOW_LANGUAGE_SYMBOL_in_routine_option1992_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_LANGUAGE_SYMBOL_in_routine_option1992	= { FOLLOW_LANGUAGE_SYMBOL_in_routine_option1992_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SQL_SYMBOL_in_routine_option1994  */
static	ANTLR3_BITWORD FOLLOW_SQL_SYMBOL_in_routine_option1994_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_SQL_SYMBOL_in_routine_option1994	= { FOLLOW_SQL_SYMBOL_in_routine_option1994_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_NO_SYMBOL_in_routine_option1999  */
static	ANTLR3_BITWORD FOLLOW_NO_SYMBOL_in_routine_option1999_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_NO_SYMBOL_in_routine_option1999	= { FOLLOW_NO_SYMBOL_in_routine_option1999_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SQL_SYMBOL_in_routine_option2001  */
static	ANTLR3_BITWORD FOLLOW_SQL_SYMBOL_in_routine_option2001_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_SQL_SYMBOL_in_routine_option2001	= { FOLLOW_SQL_SYMBOL_in_routine_option2001_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CONTAINS_SYMBOL_in_routine_option2006  */
static	ANTLR3_BITWORD FOLLOW_CONTAINS_SYMBOL_in_routine_option2006_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_CONTAINS_SYMBOL_in_routine_option2006	= { FOLLOW_CONTAINS_SYMBOL_in_routine_option2006_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SQL_SYMBOL_in_routine_option2008  */
static	ANTLR3_BITWORD FOLLOW_SQL_SYMBOL_in_routine_option2008_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_SQL_SYMBOL_in_routine_option2008	= { FOLLOW_SQL_SYMBOL_in_routine_option2008_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_READS_SYMBOL_in_routine_option2013  */
static	ANTLR3_BITWORD FOLLOW_READS_SYMBOL_in_routine_option2013_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_READS_SYMBOL_in_routine_option2013	= { FOLLOW_READS_SYMBOL_in_routine_option2013_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SQL_SYMBOL_in_routine_option2015  */
static	ANTLR3_BITWORD FOLLOW_SQL_SYMBOL_in_routine_option2015_bits[]	= { ANTLR3_UINT64_LIT(0x0040000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_SQL_SYMBOL_in_routine_option2015	= { FOLLOW_SQL_SYMBOL_in_routine_option2015_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DATA_SYMBOL_in_routine_option2017  */
static	ANTLR3_BITWORD FOLLOW_DATA_SYMBOL_in_routine_option2017_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_DATA_SYMBOL_in_routine_option2017	= { FOLLOW_DATA_SYMBOL_in_routine_option2017_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MODIFIES_SYMBOL_in_routine_option2022  */
static	ANTLR3_BITWORD FOLLOW_MODIFIES_SYMBOL_in_routine_option2022_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_MODIFIES_SYMBOL_in_routine_option2022	= { FOLLOW_MODIFIES_SYMBOL_in_routine_option2022_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SQL_SYMBOL_in_routine_option2024  */
static	ANTLR3_BITWORD FOLLOW_SQL_SYMBOL_in_routine_option2024_bits[]	= { ANTLR3_UINT64_LIT(0x0040000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_SQL_SYMBOL_in_routine_option2024	= { FOLLOW_SQL_SYMBOL_in_routine_option2024_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DATA_SYMBOL_in_routine_option2026  */
static	ANTLR3_BITWORD FOLLOW_DATA_SYMBOL_in_routine_option2026_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_DATA_SYMBOL_in_routine_option2026	= { FOLLOW_DATA_SYMBOL_in_routine_option2026_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SQL_SYMBOL_in_routine_option2031  */
static	ANTLR3_BITWORD FOLLOW_SQL_SYMBOL_in_routine_option2031_bits[]	= { 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_SQL_SYMBOL_in_routine_option2031	= { FOLLOW_SQL_SYMBOL_in_routine_option2031_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SECURITY_SYMBOL_in_routine_option2033  */
static	ANTLR3_BITWORD FOLLOW_SECURITY_SYMBOL_in_routine_option2033_bits[]	= { ANTLR3_UINT64_LIT(0x0800000000000000), ANTLR3_UINT64_LIT(0x0000200000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_SECURITY_SYMBOL_in_routine_option2033	= { FOLLOW_SECURITY_SYMBOL_in_routine_option2033_bits, 2	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_routine_option2035  */
static	ANTLR3_BITWORD FOLLOW_set_in_routine_option2035_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_routine_option2035	= { FOLLOW_set_in_routine_option2035_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_online_option_in_create_index2050  */
static	ANTLR3_BITWORD FOLLOW_online_option_in_create_index2050_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0100001000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000400000), ANTLR3_UINT64_LIT(0x0000000000000100) };
static  ANTLR3_BITSET_LIST FOLLOW_online_option_in_create_index2050	= { FOLLOW_online_option_in_create_index2050_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_UNIQUE_SYMBOL_in_create_index2058  */
static	ANTLR3_BITWORD FOLLOW_UNIQUE_SYMBOL_in_create_index2058_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_UNIQUE_SYMBOL_in_create_index2058	= { FOLLOW_UNIQUE_SYMBOL_in_create_index2058_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INDEX_SYMBOL_in_create_index2061  */
static	ANTLR3_BITWORD FOLLOW_INDEX_SYMBOL_in_create_index2061_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_INDEX_SYMBOL_in_create_index2061	= { FOLLOW_INDEX_SYMBOL_in_create_index2061_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_create_index2063  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_create_index2063_bits[]	= { 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(0x0000000002000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000004000) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_create_index2063	= { FOLLOW_identifier_in_create_index2063_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_index_type_in_create_index2065  */
static	ANTLR3_BITWORD FOLLOW_index_type_in_create_index2065_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_index_type_in_create_index2065	= { FOLLOW_index_type_in_create_index2065_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_create_index_target_in_create_index2068  */
static	ANTLR3_BITWORD FOLLOW_create_index_target_in_create_index2068_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000202), ANTLR3_UINT64_LIT(0x0004000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0400000010000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000004000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000004000) };
static  ANTLR3_BITSET_LIST FOLLOW_create_index_target_in_create_index2068	= { FOLLOW_create_index_target_in_create_index2068_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_index_option_in_create_index2070  */
static	ANTLR3_BITWORD FOLLOW_index_option_in_create_index2070_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000202), ANTLR3_UINT64_LIT(0x0004000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0400000010000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000004000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000004000) };
static  ANTLR3_BITSET_LIST FOLLOW_index_option_in_create_index2070	= { FOLLOW_index_option_in_create_index2070_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_index_lock_algorithm_in_create_index2073  */
static	ANTLR3_BITWORD FOLLOW_index_lock_algorithm_in_create_index2073_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_index_lock_algorithm_in_create_index2073	= { FOLLOW_index_lock_algorithm_in_create_index2073_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FULLTEXT_SYMBOL_in_create_index2080  */
static	ANTLR3_BITWORD FOLLOW_FULLTEXT_SYMBOL_in_create_index2080_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_FULLTEXT_SYMBOL_in_create_index2080	= { FOLLOW_FULLTEXT_SYMBOL_in_create_index2080_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INDEX_SYMBOL_in_create_index2082  */
static	ANTLR3_BITWORD FOLLOW_INDEX_SYMBOL_in_create_index2082_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_INDEX_SYMBOL_in_create_index2082	= { FOLLOW_INDEX_SYMBOL_in_create_index2082_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_create_index2084  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_create_index2084_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_identifier_in_create_index2084	= { FOLLOW_identifier_in_create_index2084_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_create_index_target_in_create_index2086  */
static	ANTLR3_BITWORD FOLLOW_create_index_target_in_create_index2086_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000202), ANTLR3_UINT64_LIT(0x0004000000000000), 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(0x0000004000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000001000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_create_index_target_in_create_index2086	= { FOLLOW_create_index_target_in_create_index2086_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_fulltext_index_option_in_create_index2088  */
static	ANTLR3_BITWORD FOLLOW_fulltext_index_option_in_create_index2088_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000202), ANTLR3_UINT64_LIT(0x0004000000000000), 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(0x0000004000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000001000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_fulltext_index_option_in_create_index2088	= { FOLLOW_fulltext_index_option_in_create_index2088_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_index_lock_algorithm_in_create_index2091  */
static	ANTLR3_BITWORD FOLLOW_index_lock_algorithm_in_create_index2091_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_index_lock_algorithm_in_create_index2091	= { FOLLOW_index_lock_algorithm_in_create_index2091_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SPATIAL_SYMBOL_in_create_index2098  */
static	ANTLR3_BITWORD FOLLOW_SPATIAL_SYMBOL_in_create_index2098_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_SPATIAL_SYMBOL_in_create_index2098	= { FOLLOW_SPATIAL_SYMBOL_in_create_index2098_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INDEX_SYMBOL_in_create_index2100  */
static	ANTLR3_BITWORD FOLLOW_INDEX_SYMBOL_in_create_index2100_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_INDEX_SYMBOL_in_create_index2100	= { FOLLOW_INDEX_SYMBOL_in_create_index2100_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_create_index2102  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_create_index2102_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_identifier_in_create_index2102	= { FOLLOW_identifier_in_create_index2102_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_create_index_target_in_create_index2104  */
static	ANTLR3_BITWORD FOLLOW_create_index_target_in_create_index2104_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000202), ANTLR3_UINT64_LIT(0x0004000000000000), 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(0x0000004000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_create_index_target_in_create_index2104	= { FOLLOW_create_index_target_in_create_index2104_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_spatial_index_option_in_create_index2106  */
static	ANTLR3_BITWORD FOLLOW_spatial_index_option_in_create_index2106_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000202), ANTLR3_UINT64_LIT(0x0004000000000000), 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(0x0000004000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_spatial_index_option_in_create_index2106	= { FOLLOW_spatial_index_option_in_create_index2106_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_index_lock_algorithm_in_create_index2109  */
static	ANTLR3_BITWORD FOLLOW_index_lock_algorithm_in_create_index2109_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_index_lock_algorithm_in_create_index2109	= { FOLLOW_index_lock_algorithm_in_create_index2109_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ON_SYMBOL_in_create_index_target2122  */
static	ANTLR3_BITWORD FOLLOW_ON_SYMBOL_in_create_index_target2122_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000012) };
static  ANTLR3_BITSET_LIST FOLLOW_ON_SYMBOL_in_create_index_target2122	= { FOLLOW_ON_SYMBOL_in_create_index_target2122_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_identifier_in_create_index_target2125  */
static	ANTLR3_BITWORD FOLLOW_table_identifier_in_create_index_target2125_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_table_identifier_in_create_index_target2125	= { FOLLOW_table_identifier_in_create_index_target2125_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_index_columns_in_create_index_target2127  */
static	ANTLR3_BITWORD FOLLOW_index_columns_in_create_index_target2127_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_index_columns_in_create_index_target2127	= { FOLLOW_index_columns_in_create_index_target2127_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_LOGFILE_SYMBOL_in_create_logfile_group2136  */
static	ANTLR3_BITWORD FOLLOW_LOGFILE_SYMBOL_in_create_logfile_group2136_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_LOGFILE_SYMBOL_in_create_logfile_group2136	= { FOLLOW_LOGFILE_SYMBOL_in_create_logfile_group2136_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_GROUP_SYMBOL_in_create_logfile_group2138  */
static	ANTLR3_BITWORD FOLLOW_GROUP_SYMBOL_in_create_logfile_group2138_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_GROUP_SYMBOL_in_create_logfile_group2138	= { FOLLOW_GROUP_SYMBOL_in_create_logfile_group2138_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_create_logfile_group2140  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_create_logfile_group2140_bits[]	= { 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_identifier_in_create_logfile_group2140	= { FOLLOW_identifier_in_create_logfile_group2140_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ADD_SYMBOL_in_create_logfile_group2142  */
static	ANTLR3_BITWORD FOLLOW_ADD_SYMBOL_in_create_logfile_group2142_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_ADD_SYMBOL_in_create_logfile_group2142	= { FOLLOW_ADD_SYMBOL_in_create_logfile_group2142_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_create_logfile_group2144  */
static	ANTLR3_BITWORD FOLLOW_set_in_create_logfile_group2144_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_create_logfile_group2144	= { FOLLOW_set_in_create_logfile_group2144_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_create_logfile_group2152  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_create_logfile_group2152_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000040000000200), ANTLR3_UINT64_LIT(0x0002800000000000), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0400040200000004) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_create_logfile_group2152	= { FOLLOW_string_literal_in_create_logfile_group2152_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_logfile_group_options_in_create_logfile_group2156  */
static	ANTLR3_BITWORD FOLLOW_logfile_group_options_in_create_logfile_group2156_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_logfile_group_options_in_create_logfile_group2156	= { FOLLOW_logfile_group_options_in_create_logfile_group2156_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_logfile_group_option_in_logfile_group_options2167  */
static	ANTLR3_BITWORD FOLLOW_logfile_group_option_in_logfile_group_options2167_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000040000000200), ANTLR3_UINT64_LIT(0x0002800000000000), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0400040200000004), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000200000) };
static  ANTLR3_BITSET_LIST FOLLOW_logfile_group_option_in_logfile_group_options2167	= { FOLLOW_logfile_group_option_in_logfile_group_options2167_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_logfile_group_options2170  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_logfile_group_options2170_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000040000000200), ANTLR3_UINT64_LIT(0x0002800000000000), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0400040200000004) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_logfile_group_options2170	= { FOLLOW_COMMA_SYMBOL_in_logfile_group_options2170_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_logfile_group_option_in_logfile_group_options2173  */
static	ANTLR3_BITWORD FOLLOW_logfile_group_option_in_logfile_group_options2173_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000040000000200), ANTLR3_UINT64_LIT(0x0002800000000000), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0400040200000004), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000200000) };
static  ANTLR3_BITSET_LIST FOLLOW_logfile_group_option_in_logfile_group_options2173	= { FOLLOW_logfile_group_option_in_logfile_group_options2173_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INITIAL_SIZE_SYMBOL_in_logfile_group_option2203  */
static	ANTLR3_BITWORD FOLLOW_INITIAL_SIZE_SYMBOL_in_logfile_group_option2203_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010400000002000), ANTLR3_UINT64_LIT(0x0000000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_INITIAL_SIZE_SYMBOL_in_logfile_group_option2203	= { FOLLOW_INITIAL_SIZE_SYMBOL_in_logfile_group_option2203_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_logfile_group_option2205  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_logfile_group_option2205_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010400000000000), ANTLR3_UINT64_LIT(0x0000000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_logfile_group_option2205	= { FOLLOW_EQUAL_OPERATOR_in_logfile_group_option2205_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_size_number_in_logfile_group_option2208  */
static	ANTLR3_BITWORD FOLLOW_size_number_in_logfile_group_option2208_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_size_number_in_logfile_group_option2208	= { FOLLOW_size_number_in_logfile_group_option2208_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_logfile_group_option2213  */
static	ANTLR3_BITWORD FOLLOW_set_in_logfile_group_option2213_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010400000002000), ANTLR3_UINT64_LIT(0x0000000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_logfile_group_option2213	= { FOLLOW_set_in_logfile_group_option2213_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_logfile_group_option2221  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_logfile_group_option2221_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010400000000000), ANTLR3_UINT64_LIT(0x0000000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_logfile_group_option2221	= { FOLLOW_EQUAL_OPERATOR_in_logfile_group_option2221_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_size_number_in_logfile_group_option2224  */
static	ANTLR3_BITWORD FOLLOW_size_number_in_logfile_group_option2224_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_size_number_in_logfile_group_option2224	= { FOLLOW_size_number_in_logfile_group_option2224_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_NODEGROUP_SYMBOL_in_logfile_group_option2229  */
static	ANTLR3_BITWORD FOLLOW_NODEGROUP_SYMBOL_in_logfile_group_option2229_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000400000002000), ANTLR3_UINT64_LIT(0x0000000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_NODEGROUP_SYMBOL_in_logfile_group_option2229	= { FOLLOW_NODEGROUP_SYMBOL_in_logfile_group_option2229_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_logfile_group_option2231  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_logfile_group_option2231_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000400000000000), ANTLR3_UINT64_LIT(0x0000000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_logfile_group_option2231	= { FOLLOW_EQUAL_OPERATOR_in_logfile_group_option2231_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_logfile_group_option2234  */
static	ANTLR3_BITWORD FOLLOW_set_in_logfile_group_option2234_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_logfile_group_option2234	= { FOLLOW_set_in_logfile_group_option2234_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_logfile_group_option2245  */
static	ANTLR3_BITWORD FOLLOW_set_in_logfile_group_option2245_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_logfile_group_option2245	= { FOLLOW_set_in_logfile_group_option2245_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMENT_SYMBOL_in_logfile_group_option2256  */
static	ANTLR3_BITWORD FOLLOW_COMMENT_SYMBOL_in_logfile_group_option2256_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000002010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMENT_SYMBOL_in_logfile_group_option2256	= { FOLLOW_COMMENT_SYMBOL_in_logfile_group_option2256_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_logfile_group_option2258  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_logfile_group_option2258_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_logfile_group_option2258	= { FOLLOW_EQUAL_OPERATOR_in_logfile_group_option2258_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_logfile_group_option2261  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_logfile_group_option2261_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_logfile_group_option2261	= { FOLLOW_string_literal_in_logfile_group_option2261_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_STORAGE_SYMBOL_in_logfile_group_option2266  */
static	ANTLR3_BITWORD FOLLOW_STORAGE_SYMBOL_in_logfile_group_option2266_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000200) };
static  ANTLR3_BITSET_LIST FOLLOW_STORAGE_SYMBOL_in_logfile_group_option2266	= { FOLLOW_STORAGE_SYMBOL_in_logfile_group_option2266_bits, 2	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ENGINE_SYMBOL_in_logfile_group_option2269  */
static	ANTLR3_BITWORD FOLLOW_ENGINE_SYMBOL_in_logfile_group_option2269_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000002010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_ENGINE_SYMBOL_in_logfile_group_option2269	= { FOLLOW_ENGINE_SYMBOL_in_logfile_group_option2269_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_logfile_group_option2271  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_logfile_group_option2271_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_logfile_group_option2271	= { FOLLOW_EQUAL_OPERATOR_in_logfile_group_option2271_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_text_or_identifier_in_logfile_group_option2274  */
static	ANTLR3_BITWORD FOLLOW_text_or_identifier_in_logfile_group_option2274_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_text_or_identifier_in_logfile_group_option2274	= { FOLLOW_text_or_identifier_in_logfile_group_option2274_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SERVER_SYMBOL_in_create_server2284  */
static	ANTLR3_BITWORD FOLLOW_SERVER_SYMBOL_in_create_server2284_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_SERVER_SYMBOL_in_create_server2284	= { FOLLOW_SERVER_SYMBOL_in_create_server2284_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_text_or_identifier_in_create_server2286  */
static	ANTLR3_BITWORD FOLLOW_text_or_identifier_in_create_server2286_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_text_or_identifier_in_create_server2286	= { FOLLOW_text_or_identifier_in_create_server2286_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FOREIGN_SYMBOL_in_create_server2290  */
static	ANTLR3_BITWORD FOLLOW_FOREIGN_SYMBOL_in_create_server2290_bits[]	= { ANTLR3_UINT64_LIT(0x0040000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_FOREIGN_SYMBOL_in_create_server2290	= { FOLLOW_FOREIGN_SYMBOL_in_create_server2290_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DATA_SYMBOL_in_create_server2292  */
static	ANTLR3_BITWORD FOLLOW_DATA_SYMBOL_in_create_server2292_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) };
static  ANTLR3_BITSET_LIST FOLLOW_DATA_SYMBOL_in_create_server2292	= { FOLLOW_DATA_SYMBOL_in_create_server2292_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_WRAPPER_SYMBOL_in_create_server2294  */
static	ANTLR3_BITWORD FOLLOW_WRAPPER_SYMBOL_in_create_server2294_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_WRAPPER_SYMBOL_in_create_server2294	= { FOLLOW_WRAPPER_SYMBOL_in_create_server2294_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_text_or_identifier_in_create_server2296  */
static	ANTLR3_BITWORD FOLLOW_text_or_identifier_in_create_server2296_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_text_or_identifier_in_create_server2296	= { FOLLOW_text_or_identifier_in_create_server2296_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_server_options_in_create_server2298  */
static	ANTLR3_BITWORD FOLLOW_server_options_in_create_server2298_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_server_options_in_create_server2298	= { FOLLOW_server_options_in_create_server2298_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPTIONS_SYMBOL_in_server_options2307  */
static	ANTLR3_BITWORD FOLLOW_OPTIONS_SYMBOL_in_server_options2307_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_OPTIONS_SYMBOL_in_server_options2307	= { FOLLOW_OPTIONS_SYMBOL_in_server_options2307_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_server_options2310  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_server_options2310_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x2000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000002000000000), ANTLR3_UINT64_LIT(0x0000000002002820), ANTLR3_UINT64_LIT(0x0000004000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_server_options2310	= { FOLLOW_OPEN_PAR_SYMBOL_in_server_options2310_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_server_option_in_server_options2312  */
static	ANTLR3_BITWORD FOLLOW_server_option_in_server_options2312_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000210000) };
static  ANTLR3_BITSET_LIST FOLLOW_server_option_in_server_options2312	= { FOLLOW_server_option_in_server_options2312_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_server_options2315  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_server_options2315_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x2000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000002000000000), ANTLR3_UINT64_LIT(0x0000000002002820), ANTLR3_UINT64_LIT(0x0000004000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_server_options2315	= { FOLLOW_COMMA_SYMBOL_in_server_options2315_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_server_option_in_server_options2317  */
static	ANTLR3_BITWORD FOLLOW_server_option_in_server_options2317_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000210000) };
static  ANTLR3_BITSET_LIST FOLLOW_server_option_in_server_options2317	= { FOLLOW_server_option_in_server_options2317_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_server_options2321  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_server_options2321_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_server_options2321	= { FOLLOW_CLOSE_PAR_SYMBOL_in_server_options2321_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_HOST_SYMBOL_in_server_option2331  */
static	ANTLR3_BITWORD FOLLOW_HOST_SYMBOL_in_server_option2331_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_HOST_SYMBOL_in_server_option2331	= { FOLLOW_HOST_SYMBOL_in_server_option2331_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_server_option2333  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_server_option2333_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_server_option2333	= { FOLLOW_string_literal_in_server_option2333_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DATABASE_SYMBOL_in_server_option2338  */
static	ANTLR3_BITWORD FOLLOW_DATABASE_SYMBOL_in_server_option2338_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_DATABASE_SYMBOL_in_server_option2338	= { FOLLOW_DATABASE_SYMBOL_in_server_option2338_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_server_option2340  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_server_option2340_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_server_option2340	= { FOLLOW_string_literal_in_server_option2340_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_USER_SYMBOL_in_server_option2345  */
static	ANTLR3_BITWORD FOLLOW_USER_SYMBOL_in_server_option2345_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_USER_SYMBOL_in_server_option2345	= { FOLLOW_USER_SYMBOL_in_server_option2345_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_server_option2347  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_server_option2347_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_server_option2347	= { FOLLOW_string_literal_in_server_option2347_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PASSWORD_SYMBOL_in_server_option2352  */
static	ANTLR3_BITWORD FOLLOW_PASSWORD_SYMBOL_in_server_option2352_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_PASSWORD_SYMBOL_in_server_option2352	= { FOLLOW_PASSWORD_SYMBOL_in_server_option2352_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_server_option2354  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_server_option2354_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_server_option2354	= { FOLLOW_string_literal_in_server_option2354_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SOCKET_SYMBOL_in_server_option2359  */
static	ANTLR3_BITWORD FOLLOW_SOCKET_SYMBOL_in_server_option2359_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_SOCKET_SYMBOL_in_server_option2359	= { FOLLOW_SOCKET_SYMBOL_in_server_option2359_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_server_option2361  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_server_option2361_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_server_option2361	= { FOLLOW_string_literal_in_server_option2361_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OWNER_SYMBOL_in_server_option2366  */
static	ANTLR3_BITWORD FOLLOW_OWNER_SYMBOL_in_server_option2366_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_OWNER_SYMBOL_in_server_option2366	= { FOLLOW_OWNER_SYMBOL_in_server_option2366_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_server_option2368  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_server_option2368_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_server_option2368	= { FOLLOW_string_literal_in_server_option2368_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PORT_SYMBOL_in_server_option2373  */
static	ANTLR3_BITWORD FOLLOW_PORT_SYMBOL_in_server_option2373_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_PORT_SYMBOL_in_server_option2373	= { FOLLOW_PORT_SYMBOL_in_server_option2373_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_server_option2375  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_server_option2375_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_INTEGER_in_server_option2375	= { FOLLOW_INTEGER_in_server_option2375_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TEMPORARY_SYMBOL_in_create_table2384  */
static	ANTLR3_BITWORD FOLLOW_TEMPORARY_SYMBOL_in_create_table2384_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_TEMPORARY_SYMBOL_in_create_table2384	= { FOLLOW_TEMPORARY_SYMBOL_in_create_table2384_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TABLE_SYMBOL_in_create_table2387  */
static	ANTLR3_BITWORD FOLLOW_TABLE_SYMBOL_in_create_table2387_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0030000000000012) };
static  ANTLR3_BITSET_LIST FOLLOW_TABLE_SYMBOL_in_create_table2387	= { FOLLOW_TABLE_SYMBOL_in_create_table2387_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_if_not_exists_in_create_table2389  */
static	ANTLR3_BITWORD FOLLOW_if_not_exists_in_create_table2389_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000012) };
static  ANTLR3_BITSET_LIST FOLLOW_if_not_exists_in_create_table2389	= { FOLLOW_if_not_exists_in_create_table2389_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_identifier_in_create_table2392  */
static	ANTLR3_BITWORD FOLLOW_table_identifier_in_create_table2392_bits[]	= { ANTLR3_UINT64_LIT(0x1040040000018000), ANTLR3_UINT64_LIT(0x0004100000000200), ANTLR3_UINT64_LIT(0x2100000080100000), ANTLR3_UINT64_LIT(0xC000004000000000), ANTLR3_UINT64_LIT(0x058000001000A005), ANTLR3_UINT64_LIT(0x0000400800000000), ANTLR3_UINT64_LIT(0x0020000000021000), ANTLR3_UINT64_LIT(0x0140000000000000), ANTLR3_UINT64_LIT(0x0000000020000000), ANTLR3_UINT64_LIT(0x0400000010000000), ANTLR3_UINT64_LIT(0x0000000000000040), ANTLR3_UINT64_LIT(0x0000000000000080) };
static  ANTLR3_BITSET_LIST FOLLOW_table_identifier_in_create_table2392	= { FOLLOW_table_identifier_in_create_table2392_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_create_table2401  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_create_table2401_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000002002000), ANTLR3_UINT64_LIT(0x0110001100000010), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000100000000000), ANTLR3_UINT64_LIT(0x0000000000400000), ANTLR3_UINT64_LIT(0x0000000000000100) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_create_table2401	= { FOLLOW_OPEN_PAR_SYMBOL_in_create_table2401_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_create_field_list_in_create_table2414  */
static	ANTLR3_BITWORD FOLLOW_create_field_list_in_create_table2414_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000010000) };
static  ANTLR3_BITSET_LIST FOLLOW_create_field_list_in_create_table2414	= { FOLLOW_create_field_list_in_create_table2414_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_create_table2416  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_create_table2416_bits[]	= { ANTLR3_UINT64_LIT(0x1040040000018002), ANTLR3_UINT64_LIT(0x0004100000000200), ANTLR3_UINT64_LIT(0x2100000080100000), ANTLR3_UINT64_LIT(0xC000004000000000), ANTLR3_UINT64_LIT(0x058000001000A005), ANTLR3_UINT64_LIT(0x0000400800000000), ANTLR3_UINT64_LIT(0x0020000000021000), ANTLR3_UINT64_LIT(0x0140000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0400000010000000), ANTLR3_UINT64_LIT(0x0000000000000040), ANTLR3_UINT64_LIT(0x0000000000000080) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_create_table2416	= { FOLLOW_CLOSE_PAR_SYMBOL_in_create_table2416_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_create_table_options_in_create_table2418  */
static	ANTLR3_BITWORD FOLLOW_create_table_options_in_create_table2418_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000400800000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0040000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0400000010000000), ANTLR3_UINT64_LIT(0x0000000000000040) };
static  ANTLR3_BITSET_LIST FOLLOW_create_table_options_in_create_table2418	= { FOLLOW_create_table_options_in_create_table2418_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_partitioning_in_create_table2421  */
static	ANTLR3_BITWORD FOLLOW_partitioning_in_create_table2421_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000400000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0040000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0400000010000000), ANTLR3_UINT64_LIT(0x0000000000000040) };
static  ANTLR3_BITSET_LIST FOLLOW_partitioning_in_create_table2421	= { FOLLOW_partitioning_in_create_table2421_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_creation_source_in_create_table2424  */
static	ANTLR3_BITWORD FOLLOW_table_creation_source_in_create_table2424_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_table_creation_source_in_create_table2424	= { FOLLOW_table_creation_source_in_create_table2424_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_partitioning_in_create_table2434  */
static	ANTLR3_BITWORD FOLLOW_partitioning_in_create_table2434_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_partitioning_in_create_table2434	= { FOLLOW_partitioning_in_create_table2434_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_create_select_in_create_table2436  */
static	ANTLR3_BITWORD FOLLOW_create_select_in_create_table2436_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000010000) };
static  ANTLR3_BITSET_LIST FOLLOW_create_select_in_create_table2436	= { FOLLOW_create_select_in_create_table2436_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_create_table2438  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_create_table2438_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000000000000080) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_create_table2438	= { FOLLOW_CLOSE_PAR_SYMBOL_in_create_table2438_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_union_clause_in_create_table2440  */
static	ANTLR3_BITWORD FOLLOW_union_clause_in_create_table2440_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_union_clause_in_create_table2440	= { FOLLOW_union_clause_in_create_table2440_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_create_table_options_in_create_table2454  */
static	ANTLR3_BITWORD FOLLOW_create_table_options_in_create_table2454_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000400800000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0040000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0400000010000000), ANTLR3_UINT64_LIT(0x0000000000000040) };
static  ANTLR3_BITSET_LIST FOLLOW_create_table_options_in_create_table2454	= { FOLLOW_create_table_options_in_create_table2454_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_partitioning_in_create_table2457  */
static	ANTLR3_BITWORD FOLLOW_partitioning_in_create_table2457_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000400000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0040000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0400000010000000), ANTLR3_UINT64_LIT(0x0000000000000040) };
static  ANTLR3_BITSET_LIST FOLLOW_partitioning_in_create_table2457	= { FOLLOW_partitioning_in_create_table2457_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_creation_source_in_create_table2460  */
static	ANTLR3_BITWORD FOLLOW_table_creation_source_in_create_table2460_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_table_creation_source_in_create_table2460	= { FOLLOW_table_creation_source_in_create_table2460_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_LIKE_SYMBOL_in_create_table2467  */
static	ANTLR3_BITWORD FOLLOW_LIKE_SYMBOL_in_create_table2467_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000012) };
static  ANTLR3_BITSET_LIST FOLLOW_LIKE_SYMBOL_in_create_table2467	= { FOLLOW_LIKE_SYMBOL_in_create_table2467_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_identifier_in_create_table2469  */
static	ANTLR3_BITWORD FOLLOW_table_identifier_in_create_table2469_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_table_identifier_in_create_table2469	= { FOLLOW_table_identifier_in_create_table2469_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_create_table2476  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_create_table2476_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_create_table2476	= { FOLLOW_OPEN_PAR_SYMBOL_in_create_table2476_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_LIKE_SYMBOL_in_create_table2478  */
static	ANTLR3_BITWORD FOLLOW_LIKE_SYMBOL_in_create_table2478_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000012) };
static  ANTLR3_BITSET_LIST FOLLOW_LIKE_SYMBOL_in_create_table2478	= { FOLLOW_LIKE_SYMBOL_in_create_table2478_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_identifier_in_create_table2480  */
static	ANTLR3_BITWORD FOLLOW_table_identifier_in_create_table2480_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000010000) };
static  ANTLR3_BITSET_LIST FOLLOW_table_identifier_in_create_table2480	= { FOLLOW_table_identifier_in_create_table2480_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_create_table2482  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_create_table2482_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_create_table2482	= { FOLLOW_CLOSE_PAR_SYMBOL_in_create_table2482_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_create_field_list_item_in_create_field_list2495  */
static	ANTLR3_BITWORD FOLLOW_create_field_list_item_in_create_field_list2495_bits[]	= { ANTLR3_UINT64_LIT(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) };
static  ANTLR3_BITSET_LIST FOLLOW_create_field_list_item_in_create_field_list2495	= { FOLLOW_create_field_list_item_in_create_field_list2495_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_create_field_list2498  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_create_field_list2498_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000002002000), ANTLR3_UINT64_LIT(0x0110001100000010), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000100000000000), ANTLR3_UINT64_LIT(0x0000000000400000), ANTLR3_UINT64_LIT(0x0000000000000100) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_create_field_list2498	= { FOLLOW_COMMA_SYMBOL_in_create_field_list2498_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_create_field_list_item_in_create_field_list2500  */
static	ANTLR3_BITWORD FOLLOW_create_field_list_item_in_create_field_list2500_bits[]	= { ANTLR3_UINT64_LIT(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) };
static  ANTLR3_BITSET_LIST FOLLOW_create_field_list_item_in_create_field_list2500	= { FOLLOW_create_field_list_item_in_create_field_list2500_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_column_definition_in_create_field_list_item2511  */
static	ANTLR3_BITWORD FOLLOW_column_definition_in_create_field_list_item2511_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_column_definition_in_create_field_list_item2511	= { FOLLOW_column_definition_in_create_field_list_item2511_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CONSTRAINT_SYMBOL_in_create_field_list_item2517  */
static	ANTLR3_BITWORD FOLLOW_CONSTRAINT_SYMBOL_in_create_field_list_item2517_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000100000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000100000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100) };
static  ANTLR3_BITSET_LIST FOLLOW_CONSTRAINT_SYMBOL_in_create_field_list_item2517	= { FOLLOW_CONSTRAINT_SYMBOL_in_create_field_list_item2517_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_create_field_list_item2519  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_create_field_list_item2519_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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(0x0000100000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_create_field_list_item2519	= { FOLLOW_identifier_in_create_field_list_item2519_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PRIMARY_SYMBOL_in_create_field_list_item2531  */
static	ANTLR3_BITWORD FOLLOW_PRIMARY_SYMBOL_in_create_field_list_item2531_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_PRIMARY_SYMBOL_in_create_field_list_item2531	= { FOLLOW_PRIMARY_SYMBOL_in_create_field_list_item2531_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_KEY_SYMBOL_in_create_field_list_item2533  */
static	ANTLR3_BITWORD FOLLOW_KEY_SYMBOL_in_create_field_list_item2533_bits[]	= { 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(0x0000000010000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000004000) };
static  ANTLR3_BITSET_LIST FOLLOW_KEY_SYMBOL_in_create_field_list_item2533	= { FOLLOW_KEY_SYMBOL_in_create_field_list_item2533_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_index_type_in_create_field_list_item2535  */
static	ANTLR3_BITWORD FOLLOW_index_type_in_create_field_list_item2535_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_type_in_create_field_list_item2535	= { FOLLOW_index_type_in_create_field_list_item2535_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_index_columns_in_create_field_list_item2538  */
static	ANTLR3_BITWORD FOLLOW_index_columns_in_create_field_list_item2538_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0004000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0400000010000000), ANTLR3_UINT64_LIT(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_index_columns_in_create_field_list_item2538	= { FOLLOW_index_columns_in_create_field_list_item2538_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_index_option_in_create_field_list_item2540  */
static	ANTLR3_BITWORD FOLLOW_index_option_in_create_field_list_item2540_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0004000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0400000010000000), ANTLR3_UINT64_LIT(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_index_option_in_create_field_list_item2540	= { FOLLOW_index_option_in_create_field_list_item2540_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FOREIGN_SYMBOL_in_create_field_list_item2548  */
static	ANTLR3_BITWORD FOLLOW_FOREIGN_SYMBOL_in_create_field_list_item2548_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_FOREIGN_SYMBOL_in_create_field_list_item2548	= { FOLLOW_FOREIGN_SYMBOL_in_create_field_list_item2548_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_KEY_SYMBOL_in_create_field_list_item2550  */
static	ANTLR3_BITWORD FOLLOW_KEY_SYMBOL_in_create_field_list_item2550_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), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000010000000) };
static  ANTLR3_BITSET_LIST FOLLOW_KEY_SYMBOL_in_create_field_list_item2550	= { FOLLOW_KEY_SYMBOL_in_create_field_list_item2550_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_pure_identifier_in_create_field_list_item2552  */
static	ANTLR3_BITWORD FOLLOW_pure_identifier_in_create_field_list_item2552_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_pure_identifier_in_create_field_list_item2552	= { FOLLOW_pure_identifier_in_create_field_list_item2552_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_index_columns_in_create_field_list_item2555  */
static	ANTLR3_BITWORD FOLLOW_index_columns_in_create_field_list_item2555_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_index_columns_in_create_field_list_item2555	= { FOLLOW_index_columns_in_create_field_list_item2555_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_reference_definition_in_create_field_list_item2557  */
static	ANTLR3_BITWORD FOLLOW_reference_definition_in_create_field_list_item2557_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_reference_definition_in_create_field_list_item2557	= { FOLLOW_reference_definition_in_create_field_list_item2557_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_UNIQUE_SYMBOL_in_create_field_list_item2564  */
static	ANTLR3_BITWORD FOLLOW_UNIQUE_SYMBOL_in_create_field_list_item2564_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0110000000000010), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000010000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000004000) };
static  ANTLR3_BITSET_LIST FOLLOW_UNIQUE_SYMBOL_in_create_field_list_item2564	= { FOLLOW_UNIQUE_SYMBOL_in_create_field_list_item2564_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_create_field_list_item2575  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_create_field_list_item2575_bits[]	= { 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(0x0000000010000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000004000) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_create_field_list_item2575	= { FOLLOW_identifier_in_create_field_list_item2575_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_index_type_in_create_field_list_item2578  */
static	ANTLR3_BITWORD FOLLOW_index_type_in_create_field_list_item2578_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_type_in_create_field_list_item2578	= { FOLLOW_index_type_in_create_field_list_item2578_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_index_columns_in_create_field_list_item2581  */
static	ANTLR3_BITWORD FOLLOW_index_columns_in_create_field_list_item2581_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0004000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0400000010000000), ANTLR3_UINT64_LIT(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_index_columns_in_create_field_list_item2581	= { FOLLOW_index_columns_in_create_field_list_item2581_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_index_option_in_create_field_list_item2583  */
static	ANTLR3_BITWORD FOLLOW_index_option_in_create_field_list_item2583_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0004000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0400000010000000), ANTLR3_UINT64_LIT(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_index_option_in_create_field_list_item2583	= { FOLLOW_index_option_in_create_field_list_item2583_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_create_field_list_item2593  */
static	ANTLR3_BITWORD FOLLOW_set_in_create_field_list_item2593_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000010000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000004000) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_create_field_list_item2593	= { FOLLOW_set_in_create_field_list_item2593_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_create_field_list_item2601  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_create_field_list_item2601_bits[]	= { 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(0x0000000010000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000004000) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_create_field_list_item2601	= { FOLLOW_identifier_in_create_field_list_item2601_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_index_type_in_create_field_list_item2604  */
static	ANTLR3_BITWORD FOLLOW_index_type_in_create_field_list_item2604_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_type_in_create_field_list_item2604	= { FOLLOW_index_type_in_create_field_list_item2604_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_index_columns_in_create_field_list_item2607  */
static	ANTLR3_BITWORD FOLLOW_index_columns_in_create_field_list_item2607_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0004000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0400000010000000), ANTLR3_UINT64_LIT(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_index_columns_in_create_field_list_item2607	= { FOLLOW_index_columns_in_create_field_list_item2607_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_index_option_in_create_field_list_item2609  */
static	ANTLR3_BITWORD FOLLOW_index_option_in_create_field_list_item2609_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0004000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0400000010000000), ANTLR3_UINT64_LIT(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_index_option_in_create_field_list_item2609	= { FOLLOW_index_option_in_create_field_list_item2609_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_create_field_list_item2615  */
static	ANTLR3_BITWORD FOLLOW_set_in_create_field_list_item2615_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0110000000000010), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000010000000) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_create_field_list_item2615	= { FOLLOW_set_in_create_field_list_item2615_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_create_field_list_item2632  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_create_field_list_item2632_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_create_field_list_item2632	= { FOLLOW_identifier_in_create_field_list_item2632_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_index_columns_in_create_field_list_item2635  */
static	ANTLR3_BITWORD FOLLOW_index_columns_in_create_field_list_item2635_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0004000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0400000010000000), ANTLR3_UINT64_LIT(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_index_columns_in_create_field_list_item2635	= { FOLLOW_index_columns_in_create_field_list_item2635_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_index_option_in_create_field_list_item2637  */
static	ANTLR3_BITWORD FOLLOW_index_option_in_create_field_list_item2637_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0004000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0400000010000000), ANTLR3_UINT64_LIT(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_index_option_in_create_field_list_item2637	= { FOLLOW_index_option_in_create_field_list_item2637_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CHECK_SYMBOL_in_create_field_list_item2643  */
static	ANTLR3_BITWORD FOLLOW_CHECK_SYMBOL_in_create_field_list_item2643_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_create_field_list_item2643	= { FOLLOW_CHECK_SYMBOL_in_create_field_list_item2643_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_create_field_list_item2645  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_create_field_list_item2645_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180AC908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_create_field_list_item2645	= { FOLLOW_OPEN_PAR_SYMBOL_in_create_field_list_item2645_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_create_field_list_item2647  */
static	ANTLR3_BITWORD FOLLOW_expression_in_create_field_list_item2647_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000010000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_create_field_list_item2647	= { FOLLOW_expression_in_create_field_list_item2647_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_create_field_list_item2649  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_create_field_list_item2649_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_create_field_list_item2649	= { FOLLOW_CLOSE_PAR_SYMBOL_in_create_field_list_item2649_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_AS_SYMBOL_in_table_creation_source2667  */
static	ANTLR3_BITWORD FOLLOW_AS_SYMBOL_in_table_creation_source2667_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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), ANTLR3_UINT64_LIT(0x0000000000000040) };
static  ANTLR3_BITSET_LIST FOLLOW_AS_SYMBOL_in_table_creation_source2667	= { FOLLOW_AS_SYMBOL_in_table_creation_source2667_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_create_select_in_table_creation_source2671  */
static	ANTLR3_BITWORD FOLLOW_create_select_in_table_creation_source2671_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000000000000080) };
static  ANTLR3_BITSET_LIST FOLLOW_create_select_in_table_creation_source2671	= { FOLLOW_create_select_in_table_creation_source2671_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_table_creation_source2675  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_table_creation_source2675_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_OPEN_PAR_SYMBOL_in_table_creation_source2675	= { FOLLOW_OPEN_PAR_SYMBOL_in_table_creation_source2675_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_create_select_in_table_creation_source2677  */
static	ANTLR3_BITWORD FOLLOW_create_select_in_table_creation_source2677_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000010000) };
static  ANTLR3_BITSET_LIST FOLLOW_create_select_in_table_creation_source2677	= { FOLLOW_create_select_in_table_creation_source2677_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_table_creation_source2679  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_table_creation_source2679_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000000000000080) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_table_creation_source2679	= { FOLLOW_CLOSE_PAR_SYMBOL_in_table_creation_source2679_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_union_clause_in_table_creation_source2682  */
static	ANTLR3_BITWORD FOLLOW_union_clause_in_table_creation_source2682_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_union_clause_in_table_creation_source2682	= { FOLLOW_union_clause_in_table_creation_source2682_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SELECT_SYMBOL_in_create_select2693  */
static	ANTLR3_BITWORD FOLLOW_SELECT_SYMBOL_in_create_select2693_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45804FFFFFFFFF), ANTLR3_UINT64_LIT(0x40000A4A98001181), ANTLR3_UINT64_LIT(0x2031C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180AC928), ANTLR3_UINT64_LIT(0x001A680038080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_SELECT_SYMBOL_in_create_select2693	= { FOLLOW_SELECT_SYMBOL_in_create_select2693_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_select_option_in_create_select2709  */
static	ANTLR3_BITWORD FOLLOW_select_option_in_create_select2709_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45804FFFFFFFFF), ANTLR3_UINT64_LIT(0x40000A4A98001181), ANTLR3_UINT64_LIT(0x2031C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180AC928), ANTLR3_UINT64_LIT(0x001A680038080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_select_option_in_create_select2709	= { FOLLOW_select_option_in_create_select2709_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_select_item_list_in_create_select2713  */
static	ANTLR3_BITWORD FOLLOW_select_item_list_in_create_select2713_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000000A00000000), ANTLR3_UINT64_LIT(0x0000004040000040) };
static  ANTLR3_BITSET_LIST FOLLOW_select_item_list_in_create_select2713	= { FOLLOW_select_item_list_in_create_select2713_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_select_source_and_options_in_create_select2715  */
static	ANTLR3_BITWORD FOLLOW_select_source_and_options_in_create_select2715_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000000200000000), ANTLR3_UINT64_LIT(0x0000004000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_select_source_and_options_in_create_select2715	= { FOLLOW_select_source_and_options_in_create_select2715_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_select_lock_type_in_create_select2718  */
static	ANTLR3_BITWORD FOLLOW_select_lock_type_in_create_select2718_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_select_lock_type_in_create_select2718	= { FOLLOW_select_lock_type_in_create_select2718_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TABLESPACE_SYMBOL_in_create_tablespace2728  */
static	ANTLR3_BITWORD FOLLOW_TABLESPACE_SYMBOL_in_create_tablespace2728_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_TABLESPACE_SYMBOL_in_create_tablespace2728	= { FOLLOW_TABLESPACE_SYMBOL_in_create_tablespace2728_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_create_tablespace2730  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_create_tablespace2730_bits[]	= { 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_identifier_in_create_tablespace2730	= { FOLLOW_identifier_in_create_tablespace2730_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ADD_SYMBOL_in_create_tablespace2732  */
static	ANTLR3_BITWORD FOLLOW_ADD_SYMBOL_in_create_tablespace2732_bits[]	= { ANTLR3_UINT64_LIT(0x0020000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_ADD_SYMBOL_in_create_tablespace2732	= { FOLLOW_ADD_SYMBOL_in_create_tablespace2732_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DATAFILE_SYMBOL_in_create_tablespace2734  */
static	ANTLR3_BITWORD FOLLOW_DATAFILE_SYMBOL_in_create_tablespace2734_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_DATAFILE_SYMBOL_in_create_tablespace2734	= { FOLLOW_DATAFILE_SYMBOL_in_create_tablespace2734_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_create_tablespace2736  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_create_tablespace2736_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000004002), ANTLR3_UINT64_LIT(0x0000040000100200), ANTLR3_UINT64_LIT(0x0002800000200000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0400040000000004), ANTLR3_UINT64_LIT(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_string_literal_in_create_tablespace2736	= { FOLLOW_string_literal_in_create_tablespace2736_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_USE_SYMBOL_in_create_tablespace2741  */
static	ANTLR3_BITWORD FOLLOW_USE_SYMBOL_in_create_tablespace2741_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0800000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_USE_SYMBOL_in_create_tablespace2741	= { FOLLOW_USE_SYMBOL_in_create_tablespace2741_bits, 2	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_LOGFILE_SYMBOL_in_create_tablespace2743  */
static	ANTLR3_BITWORD FOLLOW_LOGFILE_SYMBOL_in_create_tablespace2743_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_LOGFILE_SYMBOL_in_create_tablespace2743	= { FOLLOW_LOGFILE_SYMBOL_in_create_tablespace2743_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_GROUP_SYMBOL_in_create_tablespace2745  */
static	ANTLR3_BITWORD FOLLOW_GROUP_SYMBOL_in_create_tablespace2745_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_GROUP_SYMBOL_in_create_tablespace2745	= { FOLLOW_GROUP_SYMBOL_in_create_tablespace2745_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_create_tablespace2747  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_create_tablespace2747_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000004002), ANTLR3_UINT64_LIT(0x0000040000100200), ANTLR3_UINT64_LIT(0x0002800000200000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0400040000000004) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_create_tablespace2747	= { FOLLOW_identifier_in_create_tablespace2747_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_tablespace_option_in_create_tablespace2752  */
static	ANTLR3_BITWORD FOLLOW_tablespace_option_in_create_tablespace2752_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000004002), ANTLR3_UINT64_LIT(0x0000040000100200), ANTLR3_UINT64_LIT(0x0002800000200000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0400040000000004), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000200000) };
static  ANTLR3_BITSET_LIST FOLLOW_tablespace_option_in_create_tablespace2752	= { FOLLOW_tablespace_option_in_create_tablespace2752_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_create_tablespace2755  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_create_tablespace2755_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000004000), ANTLR3_UINT64_LIT(0x0000040000100200), ANTLR3_UINT64_LIT(0x0002800000200000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0400040000000004) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_create_tablespace2755	= { FOLLOW_COMMA_SYMBOL_in_create_tablespace2755_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_tablespace_option_in_create_tablespace2758  */
static	ANTLR3_BITWORD FOLLOW_tablespace_option_in_create_tablespace2758_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000004002), ANTLR3_UINT64_LIT(0x0000040000100200), ANTLR3_UINT64_LIT(0x0002800000200000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0400040000000004), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000200000) };
static  ANTLR3_BITSET_LIST FOLLOW_tablespace_option_in_create_tablespace2758	= { FOLLOW_tablespace_option_in_create_tablespace2758_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INITIAL_SIZE_SYMBOL_in_tablespace_option2771  */
static	ANTLR3_BITWORD FOLLOW_INITIAL_SIZE_SYMBOL_in_tablespace_option2771_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010400000002000), ANTLR3_UINT64_LIT(0x0000000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_INITIAL_SIZE_SYMBOL_in_tablespace_option2771	= { FOLLOW_INITIAL_SIZE_SYMBOL_in_tablespace_option2771_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_tablespace_option2773  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_tablespace_option2773_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010400000000000), ANTLR3_UINT64_LIT(0x0000000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_tablespace_option2773	= { FOLLOW_EQUAL_OPERATOR_in_tablespace_option2773_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_size_number_in_tablespace_option2776  */
static	ANTLR3_BITWORD FOLLOW_size_number_in_tablespace_option2776_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_size_number_in_tablespace_option2776	= { FOLLOW_size_number_in_tablespace_option2776_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_AUTOEXTEND_SIZE_SYMBOL_in_tablespace_option2781  */
static	ANTLR3_BITWORD FOLLOW_AUTOEXTEND_SIZE_SYMBOL_in_tablespace_option2781_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010400000002000), ANTLR3_UINT64_LIT(0x0000000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_AUTOEXTEND_SIZE_SYMBOL_in_tablespace_option2781	= { FOLLOW_AUTOEXTEND_SIZE_SYMBOL_in_tablespace_option2781_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_tablespace_option2783  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_tablespace_option2783_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010400000000000), ANTLR3_UINT64_LIT(0x0000000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_tablespace_option2783	= { FOLLOW_EQUAL_OPERATOR_in_tablespace_option2783_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_size_number_in_tablespace_option2786  */
static	ANTLR3_BITWORD FOLLOW_size_number_in_tablespace_option2786_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_size_number_in_tablespace_option2786	= { FOLLOW_size_number_in_tablespace_option2786_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MAX_SIZE_SYMBOL_in_tablespace_option2791  */
static	ANTLR3_BITWORD FOLLOW_MAX_SIZE_SYMBOL_in_tablespace_option2791_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010400000002000), ANTLR3_UINT64_LIT(0x0000000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_MAX_SIZE_SYMBOL_in_tablespace_option2791	= { FOLLOW_MAX_SIZE_SYMBOL_in_tablespace_option2791_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_tablespace_option2793  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_tablespace_option2793_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010400000000000), ANTLR3_UINT64_LIT(0x0000000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_tablespace_option2793	= { FOLLOW_EQUAL_OPERATOR_in_tablespace_option2793_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_size_number_in_tablespace_option2796  */
static	ANTLR3_BITWORD FOLLOW_size_number_in_tablespace_option2796_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_size_number_in_tablespace_option2796	= { FOLLOW_size_number_in_tablespace_option2796_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EXTENT_SIZE_SYMBOL_in_tablespace_option2801  */
static	ANTLR3_BITWORD FOLLOW_EXTENT_SIZE_SYMBOL_in_tablespace_option2801_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010400000002000), ANTLR3_UINT64_LIT(0x0000000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_EXTENT_SIZE_SYMBOL_in_tablespace_option2801	= { FOLLOW_EXTENT_SIZE_SYMBOL_in_tablespace_option2801_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_tablespace_option2803  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_tablespace_option2803_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010400000000000), ANTLR3_UINT64_LIT(0x0000000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_tablespace_option2803	= { FOLLOW_EQUAL_OPERATOR_in_tablespace_option2803_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_size_number_in_tablespace_option2806  */
static	ANTLR3_BITWORD FOLLOW_size_number_in_tablespace_option2806_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_size_number_in_tablespace_option2806	= { FOLLOW_size_number_in_tablespace_option2806_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_NODEGROUP_SYMBOL_in_tablespace_option2811  */
static	ANTLR3_BITWORD FOLLOW_NODEGROUP_SYMBOL_in_tablespace_option2811_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000400000002000), ANTLR3_UINT64_LIT(0x0000000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_NODEGROUP_SYMBOL_in_tablespace_option2811	= { FOLLOW_NODEGROUP_SYMBOL_in_tablespace_option2811_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_tablespace_option2813  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_tablespace_option2813_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000400000000000), ANTLR3_UINT64_LIT(0x0000000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_tablespace_option2813	= { FOLLOW_EQUAL_OPERATOR_in_tablespace_option2813_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_tablespace_option2816  */
static	ANTLR3_BITWORD FOLLOW_set_in_tablespace_option2816_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_tablespace_option2816	= { FOLLOW_set_in_tablespace_option2816_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_tablespace_option2827  */
static	ANTLR3_BITWORD FOLLOW_set_in_tablespace_option2827_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_tablespace_option2827	= { FOLLOW_set_in_tablespace_option2827_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMENT_SYMBOL_in_tablespace_option2838  */
static	ANTLR3_BITWORD FOLLOW_COMMENT_SYMBOL_in_tablespace_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(0x0000000000002010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMENT_SYMBOL_in_tablespace_option2838	= { FOLLOW_COMMENT_SYMBOL_in_tablespace_option2838_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_tablespace_option2840  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_tablespace_option2840_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_tablespace_option2840	= { FOLLOW_EQUAL_OPERATOR_in_tablespace_option2840_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_tablespace_option2843  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_tablespace_option2843_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_tablespace_option2843	= { FOLLOW_string_literal_in_tablespace_option2843_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_STORAGE_SYMBOL_in_tablespace_option2848  */
static	ANTLR3_BITWORD FOLLOW_STORAGE_SYMBOL_in_tablespace_option2848_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000200) };
static  ANTLR3_BITSET_LIST FOLLOW_STORAGE_SYMBOL_in_tablespace_option2848	= { FOLLOW_STORAGE_SYMBOL_in_tablespace_option2848_bits, 2	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ENGINE_SYMBOL_in_tablespace_option2851  */
static	ANTLR3_BITWORD FOLLOW_ENGINE_SYMBOL_in_tablespace_option2851_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000002010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_ENGINE_SYMBOL_in_tablespace_option2851	= { FOLLOW_ENGINE_SYMBOL_in_tablespace_option2851_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_tablespace_option2853  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_tablespace_option2853_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_tablespace_option2853	= { FOLLOW_EQUAL_OPERATOR_in_tablespace_option2853_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_text_or_identifier_in_tablespace_option2856  */
static	ANTLR3_BITWORD FOLLOW_text_or_identifier_in_tablespace_option2856_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_text_or_identifier_in_tablespace_option2856	= { FOLLOW_text_or_identifier_in_tablespace_option2856_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TRIGGER_SYMBOL_in_create_trigger2865  */
static	ANTLR3_BITWORD FOLLOW_TRIGGER_SYMBOL_in_create_trigger2865_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_TRIGGER_SYMBOL_in_create_trigger2865	= { FOLLOW_TRIGGER_SYMBOL_in_create_trigger2865_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_create_trigger2867  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_create_trigger2867_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000040), 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_trigger2867	= { FOLLOW_identifier_in_create_trigger2867_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_create_trigger2869  */
static	ANTLR3_BITWORD FOLLOW_set_in_create_trigger2869_bits[]	= { ANTLR3_UINT64_LIT(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(0x2000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000800) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_create_trigger2869	= { FOLLOW_set_in_create_trigger2869_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_create_trigger2877  */
static	ANTLR3_BITWORD FOLLOW_set_in_create_trigger2877_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_set_in_create_trigger2877	= { FOLLOW_set_in_create_trigger2877_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ON_SYMBOL_in_create_trigger2891  */
static	ANTLR3_BITWORD FOLLOW_ON_SYMBOL_in_create_trigger2891_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_ON_SYMBOL_in_create_trigger2891	= { FOLLOW_ON_SYMBOL_in_create_trigger2891_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_qualified_identifier_in_create_trigger2893  */
static	ANTLR3_BITWORD FOLLOW_qualified_identifier_in_create_trigger2893_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_qualified_identifier_in_create_trigger2893	= { FOLLOW_qualified_identifier_in_create_trigger2893_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FOR_SYMBOL_in_create_trigger2895  */
static	ANTLR3_BITWORD FOLLOW_FOR_SYMBOL_in_create_trigger2895_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_FOR_SYMBOL_in_create_trigger2895	= { FOLLOW_FOR_SYMBOL_in_create_trigger2895_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EACH_SYMBOL_in_create_trigger2897  */
static	ANTLR3_BITWORD FOLLOW_EACH_SYMBOL_in_create_trigger2897_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_EACH_SYMBOL_in_create_trigger2897	= { FOLLOW_EACH_SYMBOL_in_create_trigger2897_bits, 4	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ROW_SYMBOL_in_create_trigger2899  */
static	ANTLR3_BITWORD FOLLOW_ROW_SYMBOL_in_create_trigger2899_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x6B5BFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004008CB81F425B), ANTLR3_UINT64_LIT(0x03800000200024A0), ANTLR3_UINT64_LIT(0x203000C001000050), ANTLR3_UINT64_LIT(0x0000804400902000), ANTLR3_UINT64_LIT(0xD780800030000000), ANTLR3_UINT64_LIT(0x0000000000031040), ANTLR3_UINT64_LIT(0x0000000200002A00) };
static  ANTLR3_BITSET_LIST FOLLOW_ROW_SYMBOL_in_create_trigger2899	= { FOLLOW_ROW_SYMBOL_in_create_trigger2899_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_compound_statement_in_create_trigger2901  */
static	ANTLR3_BITWORD FOLLOW_compound_statement_in_create_trigger2901_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_compound_statement_in_create_trigger2901	= { FOLLOW_compound_statement_in_create_trigger2901_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SQL_SYMBOL_in_create_view2911  */
static	ANTLR3_BITWORD FOLLOW_SQL_SYMBOL_in_create_view2911_bits[]	= { 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_SQL_SYMBOL_in_create_view2911	= { FOLLOW_SQL_SYMBOL_in_create_view2911_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SECURITY_SYMBOL_in_create_view2913  */
static	ANTLR3_BITWORD FOLLOW_SECURITY_SYMBOL_in_create_view2913_bits[]	= { ANTLR3_UINT64_LIT(0x0800000000000000), ANTLR3_UINT64_LIT(0x0000200000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_SECURITY_SYMBOL_in_create_view2913	= { FOLLOW_SECURITY_SYMBOL_in_create_view2913_bits, 2	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_create_view2915  */
static	ANTLR3_BITWORD FOLLOW_set_in_create_view2915_bits[]	= { 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_set_in_create_view2915	= { FOLLOW_set_in_create_view2915_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_VIEW_SYMBOL_in_create_view2927  */
static	ANTLR3_BITWORD FOLLOW_VIEW_SYMBOL_in_create_view2927_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_VIEW_SYMBOL_in_create_view2927	= { FOLLOW_VIEW_SYMBOL_in_create_view2927_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_qualified_identifier_in_create_view2929  */
static	ANTLR3_BITWORD FOLLOW_qualified_identifier_in_create_view2929_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000400000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000010000000) };
static  ANTLR3_BITSET_LIST FOLLOW_qualified_identifier_in_create_view2929	= { FOLLOW_qualified_identifier_in_create_view2929_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_list_with_parentheses_in_create_view2931  */
static	ANTLR3_BITWORD FOLLOW_identifier_list_with_parentheses_in_create_view2931_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000400000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_list_with_parentheses_in_create_view2931	= { FOLLOW_identifier_list_with_parentheses_in_create_view2931_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_AS_SYMBOL_in_create_view2936  */
static	ANTLR3_BITWORD FOLLOW_AS_SYMBOL_in_create_view2936_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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), ANTLR3_UINT64_LIT(0x0000000000000040) };
static  ANTLR3_BITSET_LIST FOLLOW_AS_SYMBOL_in_create_view2936	= { FOLLOW_AS_SYMBOL_in_create_view2936_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_select_statement_in_create_view2938  */
static	ANTLR3_BITWORD FOLLOW_select_statement_in_create_view2938_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000001000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_select_statement_in_create_view2938	= { FOLLOW_select_statement_in_create_view2938_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_WITH_SYMBOL_in_create_view2943  */
static	ANTLR3_BITWORD FOLLOW_WITH_SYMBOL_in_create_view2943_bits[]	= { ANTLR3_UINT64_LIT(0x0000000001000000), ANTLR3_UINT64_LIT(0x0200000000000000), 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_WITH_SYMBOL_in_create_view2943	= { FOLLOW_WITH_SYMBOL_in_create_view2943_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CHECK_SYMBOL_in_create_view2954  */
static	ANTLR3_BITWORD FOLLOW_CHECK_SYMBOL_in_create_view2954_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_CHECK_SYMBOL_in_create_view2954	= { FOLLOW_CHECK_SYMBOL_in_create_view2954_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPTION_SYMBOL_in_create_view2956  */
static	ANTLR3_BITWORD FOLLOW_OPTION_SYMBOL_in_create_view2956_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_OPTION_SYMBOL_in_create_view2956	= { FOLLOW_OPTION_SYMBOL_in_create_view2956_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OR_SYMBOL_in_view_replace_or_algorithm2967  */
static	ANTLR3_BITWORD FOLLOW_OR_SYMBOL_in_view_replace_or_algorithm2967_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0400000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_OR_SYMBOL_in_view_replace_or_algorithm2967	= { FOLLOW_OR_SYMBOL_in_view_replace_or_algorithm2967_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_REPLACE_SYMBOL_in_view_replace_or_algorithm2969  */
static	ANTLR3_BITWORD FOLLOW_REPLACE_SYMBOL_in_view_replace_or_algorithm2969_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000202) };
static  ANTLR3_BITSET_LIST FOLLOW_REPLACE_SYMBOL_in_view_replace_or_algorithm2969	= { FOLLOW_REPLACE_SYMBOL_in_view_replace_or_algorithm2969_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_view_algorithm_in_view_replace_or_algorithm2971  */
static	ANTLR3_BITWORD FOLLOW_view_algorithm_in_view_replace_or_algorithm2971_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_view_algorithm_in_view_replace_or_algorithm2971	= { FOLLOW_view_algorithm_in_view_replace_or_algorithm2971_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_view_algorithm_in_view_replace_or_algorithm2977  */
static	ANTLR3_BITWORD FOLLOW_view_algorithm_in_view_replace_or_algorithm2977_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_view_algorithm_in_view_replace_or_algorithm2977	= { FOLLOW_view_algorithm_in_view_replace_or_algorithm2977_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ALGORITHM_SYMBOL_in_view_algorithm2986  */
static	ANTLR3_BITWORD FOLLOW_ALGORITHM_SYMBOL_in_view_algorithm2986_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_ALGORITHM_SYMBOL_in_view_algorithm2986	= { FOLLOW_ALGORITHM_SYMBOL_in_view_algorithm2986_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_view_algorithm2988  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_view_algorithm2988_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000004000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080040000) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_view_algorithm2988	= { FOLLOW_EQUAL_OPERATOR_in_view_algorithm2988_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_view_algorithm2990  */
static	ANTLR3_BITWORD FOLLOW_set_in_view_algorithm2990_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_view_algorithm2990	= { FOLLOW_set_in_view_algorithm2990_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DROP_SYMBOL_in_drop_statement3011  */
static	ANTLR3_BITWORD FOLLOW_DROP_SYMBOL_in_drop_statement3011_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0800000010008000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000020000026000), ANTLR3_UINT64_LIT(0x0000000000400000), ANTLR3_UINT64_LIT(0x0000004000000000), ANTLR3_UINT64_LIT(0x0100000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000400000C00000), ANTLR3_UINT64_LIT(0x0100000000000000), ANTLR3_UINT64_LIT(0x0000000000000001) };
static  ANTLR3_BITSET_LIST FOLLOW_DROP_SYMBOL_in_drop_statement3011	= { FOLLOW_DROP_SYMBOL_in_drop_statement3011_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DATABASE_SYMBOL_in_drop_statement3019  */
static	ANTLR3_BITWORD FOLLOW_DATABASE_SYMBOL_in_drop_statement3019_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0030000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_DATABASE_SYMBOL_in_drop_statement3019	= { FOLLOW_DATABASE_SYMBOL_in_drop_statement3019_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_if_exists_in_drop_statement3021  */
static	ANTLR3_BITWORD FOLLOW_if_exists_in_drop_statement3021_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_if_exists_in_drop_statement3021	= { FOLLOW_if_exists_in_drop_statement3021_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_drop_statement3025  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_drop_statement3025_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_drop_statement3025	= { FOLLOW_identifier_in_drop_statement3025_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EVENT_SYMBOL_in_drop_statement3035  */
static	ANTLR3_BITWORD FOLLOW_EVENT_SYMBOL_in_drop_statement3035_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0030000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_EVENT_SYMBOL_in_drop_statement3035	= { FOLLOW_EVENT_SYMBOL_in_drop_statement3035_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_if_exists_in_drop_statement3037  */
static	ANTLR3_BITWORD FOLLOW_if_exists_in_drop_statement3037_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_if_exists_in_drop_statement3037	= { FOLLOW_if_exists_in_drop_statement3037_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_qualified_identifier_in_drop_statement3040  */
static	ANTLR3_BITWORD FOLLOW_qualified_identifier_in_drop_statement3040_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_qualified_identifier_in_drop_statement3040	= { FOLLOW_qualified_identifier_in_drop_statement3040_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_drop_statement3046  */
static	ANTLR3_BITWORD FOLLOW_set_in_drop_statement3046_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0030000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_drop_statement3046	= { FOLLOW_set_in_drop_statement3046_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_if_exists_in_drop_statement3054  */
static	ANTLR3_BITWORD FOLLOW_if_exists_in_drop_statement3054_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_if_exists_in_drop_statement3054	= { FOLLOW_if_exists_in_drop_statement3054_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_qualified_identifier_in_drop_statement3057  */
static	ANTLR3_BITWORD FOLLOW_qualified_identifier_in_drop_statement3057_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_qualified_identifier_in_drop_statement3057	= { FOLLOW_qualified_identifier_in_drop_statement3057_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_online_option_in_drop_statement3064  */
static	ANTLR3_BITWORD FOLLOW_online_option_in_drop_statement3064_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_online_option_in_drop_statement3064	= { FOLLOW_online_option_in_drop_statement3064_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INDEX_SYMBOL_in_drop_statement3067  */
static	ANTLR3_BITWORD FOLLOW_INDEX_SYMBOL_in_drop_statement3067_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_INDEX_SYMBOL_in_drop_statement3067	= { FOLLOW_INDEX_SYMBOL_in_drop_statement3067_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_drop_statement3069  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_drop_statement3069_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_identifier_in_drop_statement3069	= { FOLLOW_identifier_in_drop_statement3069_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ON_SYMBOL_in_drop_statement3071  */
static	ANTLR3_BITWORD FOLLOW_ON_SYMBOL_in_drop_statement3071_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000012) };
static  ANTLR3_BITSET_LIST FOLLOW_ON_SYMBOL_in_drop_statement3071	= { FOLLOW_ON_SYMBOL_in_drop_statement3071_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_identifier_in_drop_statement3073  */
static	ANTLR3_BITWORD FOLLOW_table_identifier_in_drop_statement3073_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(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000004000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_table_identifier_in_drop_statement3073	= { FOLLOW_table_identifier_in_drop_statement3073_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_index_lock_algorithm_in_drop_statement3075  */
static	ANTLR3_BITWORD FOLLOW_index_lock_algorithm_in_drop_statement3075_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_index_lock_algorithm_in_drop_statement3075	= { FOLLOW_index_lock_algorithm_in_drop_statement3075_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_LOGFILE_SYMBOL_in_drop_statement3082  */
static	ANTLR3_BITWORD FOLLOW_LOGFILE_SYMBOL_in_drop_statement3082_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_LOGFILE_SYMBOL_in_drop_statement3082	= { FOLLOW_LOGFILE_SYMBOL_in_drop_statement3082_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_GROUP_SYMBOL_in_drop_statement3084  */
static	ANTLR3_BITWORD FOLLOW_GROUP_SYMBOL_in_drop_statement3084_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_GROUP_SYMBOL_in_drop_statement3084	= { FOLLOW_GROUP_SYMBOL_in_drop_statement3084_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_drop_statement3086  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_drop_statement3086_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000200), ANTLR3_UINT64_LIT(0x0002000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000040000000004) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_drop_statement3086	= { FOLLOW_identifier_in_drop_statement3086_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_drop_logfile_group_option_in_drop_statement3089  */
static	ANTLR3_BITWORD FOLLOW_drop_logfile_group_option_in_drop_statement3089_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000200), ANTLR3_UINT64_LIT(0x0002000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000040000000004), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000200000) };
static  ANTLR3_BITSET_LIST FOLLOW_drop_logfile_group_option_in_drop_statement3089	= { FOLLOW_drop_logfile_group_option_in_drop_statement3089_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_drop_statement3092  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_drop_statement3092_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000200), ANTLR3_UINT64_LIT(0x0002000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000040000000004) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_drop_statement3092	= { FOLLOW_COMMA_SYMBOL_in_drop_statement3092_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_drop_logfile_group_option_in_drop_statement3095  */
static	ANTLR3_BITWORD FOLLOW_drop_logfile_group_option_in_drop_statement3095_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000200), ANTLR3_UINT64_LIT(0x0002000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000040000000004), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000200000) };
static  ANTLR3_BITSET_LIST FOLLOW_drop_logfile_group_option_in_drop_statement3095	= { FOLLOW_drop_logfile_group_option_in_drop_statement3095_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SERVER_SYMBOL_in_drop_statement3105  */
static	ANTLR3_BITWORD FOLLOW_SERVER_SYMBOL_in_drop_statement3105_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0030000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_SERVER_SYMBOL_in_drop_statement3105	= { FOLLOW_SERVER_SYMBOL_in_drop_statement3105_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_if_exists_in_drop_statement3107  */
static	ANTLR3_BITWORD FOLLOW_if_exists_in_drop_statement3107_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_if_exists_in_drop_statement3107	= { FOLLOW_if_exists_in_drop_statement3107_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_text_or_identifier_in_drop_statement3110  */
static	ANTLR3_BITWORD FOLLOW_text_or_identifier_in_drop_statement3110_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_text_or_identifier_in_drop_statement3110	= { FOLLOW_text_or_identifier_in_drop_statement3110_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TEMPORARY_SYMBOL_in_drop_statement3116  */
static	ANTLR3_BITWORD FOLLOW_TEMPORARY_SYMBOL_in_drop_statement3116_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000004000), 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_TEMPORARY_SYMBOL_in_drop_statement3116	= { FOLLOW_TEMPORARY_SYMBOL_in_drop_statement3116_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_drop_statement3119  */
static	ANTLR3_BITWORD FOLLOW_set_in_drop_statement3119_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0030000000000012) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_drop_statement3119	= { FOLLOW_set_in_drop_statement3119_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_if_exists_in_drop_statement3127  */
static	ANTLR3_BITWORD FOLLOW_if_exists_in_drop_statement3127_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000012) };
static  ANTLR3_BITSET_LIST FOLLOW_if_exists_in_drop_statement3127	= { FOLLOW_if_exists_in_drop_statement3127_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_identifier_list_in_drop_statement3130  */
static	ANTLR3_BITWORD FOLLOW_table_identifier_list_in_drop_statement3130_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), 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(0x2000000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_table_identifier_list_in_drop_statement3130	= { FOLLOW_table_identifier_list_in_drop_statement3130_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TABLESPACE_SYMBOL_in_drop_statement3145  */
static	ANTLR3_BITWORD FOLLOW_TABLESPACE_SYMBOL_in_drop_statement3145_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_TABLESPACE_SYMBOL_in_drop_statement3145	= { FOLLOW_TABLESPACE_SYMBOL_in_drop_statement3145_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_drop_statement3147  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_drop_statement3147_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000200), ANTLR3_UINT64_LIT(0x0002000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000040000000004) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_drop_statement3147	= { FOLLOW_identifier_in_drop_statement3147_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_drop_logfile_group_option_in_drop_statement3150  */
static	ANTLR3_BITWORD FOLLOW_drop_logfile_group_option_in_drop_statement3150_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000200), ANTLR3_UINT64_LIT(0x0002000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000040000000004), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000200000) };
static  ANTLR3_BITSET_LIST FOLLOW_drop_logfile_group_option_in_drop_statement3150	= { FOLLOW_drop_logfile_group_option_in_drop_statement3150_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_drop_statement3153  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_drop_statement3153_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000200), ANTLR3_UINT64_LIT(0x0002000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000040000000004) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_drop_statement3153	= { FOLLOW_COMMA_SYMBOL_in_drop_statement3153_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_drop_logfile_group_option_in_drop_statement3156  */
static	ANTLR3_BITWORD FOLLOW_drop_logfile_group_option_in_drop_statement3156_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000200), ANTLR3_UINT64_LIT(0x0002000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000040000000004), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000200000) };
static  ANTLR3_BITSET_LIST FOLLOW_drop_logfile_group_option_in_drop_statement3156	= { FOLLOW_drop_logfile_group_option_in_drop_statement3156_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TRIGGER_SYMBOL_in_drop_statement3166  */
static	ANTLR3_BITWORD FOLLOW_TRIGGER_SYMBOL_in_drop_statement3166_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0030000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_TRIGGER_SYMBOL_in_drop_statement3166	= { FOLLOW_TRIGGER_SYMBOL_in_drop_statement3166_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_if_exists_in_drop_statement3168  */
static	ANTLR3_BITWORD FOLLOW_if_exists_in_drop_statement3168_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_if_exists_in_drop_statement3168	= { FOLLOW_if_exists_in_drop_statement3168_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_qualified_identifier_in_drop_statement3171  */
static	ANTLR3_BITWORD FOLLOW_qualified_identifier_in_drop_statement3171_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_qualified_identifier_in_drop_statement3171	= { FOLLOW_qualified_identifier_in_drop_statement3171_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_VIEW_SYMBOL_in_drop_statement3177  */
static	ANTLR3_BITWORD FOLLOW_VIEW_SYMBOL_in_drop_statement3177_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0030000000000012) };
static  ANTLR3_BITSET_LIST FOLLOW_VIEW_SYMBOL_in_drop_statement3177	= { FOLLOW_VIEW_SYMBOL_in_drop_statement3177_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_if_exists_in_drop_statement3179  */
static	ANTLR3_BITWORD FOLLOW_if_exists_in_drop_statement3179_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000012) };
static  ANTLR3_BITSET_LIST FOLLOW_if_exists_in_drop_statement3179	= { FOLLOW_if_exists_in_drop_statement3179_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_identifier_list_in_drop_statement3182  */
static	ANTLR3_BITWORD FOLLOW_table_identifier_list_in_drop_statement3182_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), 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(0x2000000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_table_identifier_list_in_drop_statement3182	= { FOLLOW_table_identifier_list_in_drop_statement3182_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_drop_logfile_group_option3203  */
static	ANTLR3_BITWORD FOLLOW_set_in_drop_logfile_group_option3203_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_drop_logfile_group_option3203	= { FOLLOW_set_in_drop_logfile_group_option3203_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_STORAGE_SYMBOL_in_drop_logfile_group_option3214  */
static	ANTLR3_BITWORD FOLLOW_STORAGE_SYMBOL_in_drop_logfile_group_option3214_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000200) };
static  ANTLR3_BITSET_LIST FOLLOW_STORAGE_SYMBOL_in_drop_logfile_group_option3214	= { FOLLOW_STORAGE_SYMBOL_in_drop_logfile_group_option3214_bits, 2	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ENGINE_SYMBOL_in_drop_logfile_group_option3217  */
static	ANTLR3_BITWORD FOLLOW_ENGINE_SYMBOL_in_drop_logfile_group_option3217_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000002010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_ENGINE_SYMBOL_in_drop_logfile_group_option3217	= { FOLLOW_ENGINE_SYMBOL_in_drop_logfile_group_option3217_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_drop_logfile_group_option3219  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_drop_logfile_group_option3219_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_drop_logfile_group_option3219	= { FOLLOW_EQUAL_OPERATOR_in_drop_logfile_group_option3219_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_text_or_identifier_in_drop_logfile_group_option3222  */
static	ANTLR3_BITWORD FOLLOW_text_or_identifier_in_drop_logfile_group_option3222_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_text_or_identifier_in_drop_logfile_group_option3222	= { FOLLOW_text_or_identifier_in_drop_logfile_group_option3222_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_RENAME_SYMBOL_in_rename_table_statement3232  */
static	ANTLR3_BITWORD FOLLOW_RENAME_SYMBOL_in_rename_table_statement3232_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000004000), 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_RENAME_SYMBOL_in_rename_table_statement3232	= { FOLLOW_RENAME_SYMBOL_in_rename_table_statement3232_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_rename_table_statement3235  */
static	ANTLR3_BITWORD FOLLOW_set_in_rename_table_statement3235_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000012) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_rename_table_statement3235	= { FOLLOW_set_in_rename_table_statement3235_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_identifier_in_rename_table_statement3245  */
static	ANTLR3_BITWORD FOLLOW_table_identifier_in_rename_table_statement3245_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_table_identifier_in_rename_table_statement3245	= { FOLLOW_table_identifier_in_rename_table_statement3245_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TO_SYMBOL_in_rename_table_statement3247  */
static	ANTLR3_BITWORD FOLLOW_TO_SYMBOL_in_rename_table_statement3247_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000012) };
static  ANTLR3_BITSET_LIST FOLLOW_TO_SYMBOL_in_rename_table_statement3247	= { FOLLOW_TO_SYMBOL_in_rename_table_statement3247_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_identifier_in_rename_table_statement3249  */
static	ANTLR3_BITWORD FOLLOW_table_identifier_in_rename_table_statement3249_bits[]	= { ANTLR3_UINT64_LIT(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) };
static  ANTLR3_BITSET_LIST FOLLOW_table_identifier_in_rename_table_statement3249	= { FOLLOW_table_identifier_in_rename_table_statement3249_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_rename_table_statement3252  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_rename_table_statement3252_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000012) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_rename_table_statement3252	= { FOLLOW_COMMA_SYMBOL_in_rename_table_statement3252_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_identifier_in_rename_table_statement3254  */
static	ANTLR3_BITWORD FOLLOW_table_identifier_in_rename_table_statement3254_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_table_identifier_in_rename_table_statement3254	= { FOLLOW_table_identifier_in_rename_table_statement3254_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TO_SYMBOL_in_rename_table_statement3256  */
static	ANTLR3_BITWORD FOLLOW_TO_SYMBOL_in_rename_table_statement3256_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000012) };
static  ANTLR3_BITSET_LIST FOLLOW_TO_SYMBOL_in_rename_table_statement3256	= { FOLLOW_TO_SYMBOL_in_rename_table_statement3256_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_identifier_in_rename_table_statement3258  */
static	ANTLR3_BITWORD FOLLOW_table_identifier_in_rename_table_statement3258_bits[]	= { ANTLR3_UINT64_LIT(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) };
static  ANTLR3_BITSET_LIST FOLLOW_table_identifier_in_rename_table_statement3258	= { FOLLOW_table_identifier_in_rename_table_statement3258_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TRUNCATE_SYMBOL_in_truncate_table_statement3272  */
static	ANTLR3_BITWORD FOLLOW_TRUNCATE_SYMBOL_in_truncate_table_statement3272_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000012), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0100000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_TRUNCATE_SYMBOL_in_truncate_table_statement3272	= { FOLLOW_TRUNCATE_SYMBOL_in_truncate_table_statement3272_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TABLE_SYMBOL_in_truncate_table_statement3275  */
static	ANTLR3_BITWORD FOLLOW_TABLE_SYMBOL_in_truncate_table_statement3275_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000012) };
static  ANTLR3_BITSET_LIST FOLLOW_TABLE_SYMBOL_in_truncate_table_statement3275	= { FOLLOW_TABLE_SYMBOL_in_truncate_table_statement3275_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_identifier_in_truncate_table_statement3278  */
static	ANTLR3_BITWORD FOLLOW_table_identifier_in_truncate_table_statement3278_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_table_identifier_in_truncate_table_statement3278	= { FOLLOW_table_identifier_in_truncate_table_statement3278_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CALL_SYMBOL_in_call_statement3289  */
static	ANTLR3_BITWORD FOLLOW_CALL_SYMBOL_in_call_statement3289_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_CALL_SYMBOL_in_call_statement3289	= { FOLLOW_CALL_SYMBOL_in_call_statement3289_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_qualified_identifier_in_call_statement3292  */
static	ANTLR3_BITWORD FOLLOW_qualified_identifier_in_call_statement3292_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000000010000000) };
static  ANTLR3_BITSET_LIST FOLLOW_qualified_identifier_in_call_statement3292	= { FOLLOW_qualified_identifier_in_call_statement3292_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_call_statement3295  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_call_statement3295_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98011181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180AC908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_call_statement3295	= { FOLLOW_OPEN_PAR_SYMBOL_in_call_statement3295_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_list_in_call_statement3297  */
static	ANTLR3_BITWORD FOLLOW_expression_list_in_call_statement3297_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000010000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_list_in_call_statement3297	= { FOLLOW_expression_list_in_call_statement3297_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_call_statement3300  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_call_statement3300_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_call_statement3300	= { FOLLOW_CLOSE_PAR_SYMBOL_in_call_statement3300_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DELETE_SYMBOL_in_delete_statement3311  */
static	ANTLR3_BITWORD FOLLOW_DELETE_SYMBOL_in_delete_statement3311_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0050000800000010), ANTLR3_UINT64_LIT(0x0001000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_DELETE_SYMBOL_in_delete_statement3311	= { FOLLOW_DELETE_SYMBOL_in_delete_statement3311_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_delete_option_in_delete_statement3328  */
static	ANTLR3_BITWORD FOLLOW_delete_option_in_delete_statement3328_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0050000800000010), ANTLR3_UINT64_LIT(0x0001000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_delete_option_in_delete_statement3328	= { FOLLOW_delete_option_in_delete_statement3328_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FROM_SYMBOL_in_delete_statement3339  */
static	ANTLR3_BITWORD FOLLOW_FROM_SYMBOL_in_delete_statement3339_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000012) };
static  ANTLR3_BITSET_LIST FOLLOW_FROM_SYMBOL_in_delete_statement3339	= { FOLLOW_FROM_SYMBOL_in_delete_statement3339_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_name_list_with_wildcards_in_delete_statement3374  */
static	ANTLR3_BITWORD FOLLOW_table_name_list_with_wildcards_in_delete_statement3374_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_table_name_list_with_wildcards_in_delete_statement3374	= { FOLLOW_table_name_list_with_wildcards_in_delete_statement3374_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_USING_SYMBOL_in_delete_statement3376  */
static	ANTLR3_BITWORD FOLLOW_USING_SYMBOL_in_delete_statement3376_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000012), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000018000000), ANTLR3_UINT64_LIT(0x0000000000000040) };
static  ANTLR3_BITSET_LIST FOLLOW_USING_SYMBOL_in_delete_statement3376	= { FOLLOW_USING_SYMBOL_in_delete_statement3376_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_references_in_delete_statement3378  */
static	ANTLR3_BITWORD FOLLOW_table_references_in_delete_statement3378_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000000100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_table_references_in_delete_statement3378	= { FOLLOW_table_references_in_delete_statement3378_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_where_clause_in_delete_statement3380  */
static	ANTLR3_BITWORD FOLLOW_where_clause_in_delete_statement3380_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_where_clause_in_delete_statement3380	= { FOLLOW_where_clause_in_delete_statement3380_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_identifier_in_delete_statement3391  */
static	ANTLR3_BITWORD FOLLOW_table_identifier_in_delete_statement3391_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000800000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000040000000), ANTLR3_UINT64_LIT(0x0000000100000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_table_identifier_in_delete_statement3391	= { FOLLOW_table_identifier_in_delete_statement3391_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_partition_delete_in_delete_statement3393  */
static	ANTLR3_BITWORD FOLLOW_partition_delete_in_delete_statement3393_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000000040000000), ANTLR3_UINT64_LIT(0x0000000100000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_partition_delete_in_delete_statement3393	= { FOLLOW_partition_delete_in_delete_statement3393_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_where_clause_in_delete_statement3396  */
static	ANTLR3_BITWORD FOLLOW_where_clause_in_delete_statement3396_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000000040000000), ANTLR3_UINT64_LIT(0x0000000100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_where_clause_in_delete_statement3396	= { FOLLOW_where_clause_in_delete_statement3396_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_order_by_clause_in_delete_statement3399  */
static	ANTLR3_BITWORD FOLLOW_order_by_clause_in_delete_statement3399_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000000040000000) };
static  ANTLR3_BITSET_LIST FOLLOW_order_by_clause_in_delete_statement3399	= { FOLLOW_order_by_clause_in_delete_statement3399_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_LIMIT_SYMBOL_in_delete_statement3403  */
static	ANTLR3_BITWORD FOLLOW_LIMIT_SYMBOL_in_delete_statement3403_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010), ANTLR3_UINT64_LIT(0x0000000000000008), ANTLR3_UINT64_LIT(0x0000002000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_LIMIT_SYMBOL_in_delete_statement3403	= { FOLLOW_LIMIT_SYMBOL_in_delete_statement3403_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_limit_option_in_delete_statement3405  */
static	ANTLR3_BITWORD FOLLOW_limit_option_in_delete_statement3405_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_limit_option_in_delete_statement3405	= { FOLLOW_limit_option_in_delete_statement3405_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_name_list_with_wildcards_in_delete_statement3422  */
static	ANTLR3_BITWORD FOLLOW_table_name_list_with_wildcards_in_delete_statement3422_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000800000000) };
static  ANTLR3_BITSET_LIST FOLLOW_table_name_list_with_wildcards_in_delete_statement3422	= { FOLLOW_table_name_list_with_wildcards_in_delete_statement3422_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FROM_SYMBOL_in_delete_statement3424  */
static	ANTLR3_BITWORD FOLLOW_FROM_SYMBOL_in_delete_statement3424_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000012), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000018000000), ANTLR3_UINT64_LIT(0x0000000000000040) };
static  ANTLR3_BITSET_LIST FOLLOW_FROM_SYMBOL_in_delete_statement3424	= { FOLLOW_FROM_SYMBOL_in_delete_statement3424_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_references_in_delete_statement3426  */
static	ANTLR3_BITWORD FOLLOW_table_references_in_delete_statement3426_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000000100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_table_references_in_delete_statement3426	= { FOLLOW_table_references_in_delete_statement3426_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_where_clause_in_delete_statement3428  */
static	ANTLR3_BITWORD FOLLOW_where_clause_in_delete_statement3428_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_where_clause_in_delete_statement3428	= { FOLLOW_where_clause_in_delete_statement3428_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PARTITION_SYMBOL_in_partition_delete3447  */
static	ANTLR3_BITWORD FOLLOW_PARTITION_SYMBOL_in_partition_delete3447_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_PARTITION_SYMBOL_in_partition_delete3447	= { FOLLOW_PARTITION_SYMBOL_in_partition_delete3447_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_partition_delete3449  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_partition_delete3449_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_partition_delete3449	= { FOLLOW_OPEN_PAR_SYMBOL_in_partition_delete3449_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_list_in_partition_delete3451  */
static	ANTLR3_BITWORD FOLLOW_identifier_list_in_partition_delete3451_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000010000) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_list_in_partition_delete3451	= { FOLLOW_identifier_list_in_partition_delete3451_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_partition_delete3453  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_partition_delete3453_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_partition_delete3453	= { FOLLOW_CLOSE_PAR_SYMBOL_in_partition_delete3453_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_target_table_with_optional_wildcard_in_table_name_list_with_wildcards3479  */
static	ANTLR3_BITWORD FOLLOW_target_table_with_optional_wildcard_in_table_name_list_with_wildcards3479_bits[]	= { ANTLR3_UINT64_LIT(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) };
static  ANTLR3_BITSET_LIST FOLLOW_target_table_with_optional_wildcard_in_table_name_list_with_wildcards3479	= { FOLLOW_target_table_with_optional_wildcard_in_table_name_list_with_wildcards3479_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_table_name_list_with_wildcards3482  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_table_name_list_with_wildcards3482_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_table_name_list_with_wildcards3482	= { FOLLOW_COMMA_SYMBOL_in_table_name_list_with_wildcards3482_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_target_table_with_optional_wildcard_in_table_name_list_with_wildcards3484  */
static	ANTLR3_BITWORD FOLLOW_target_table_with_optional_wildcard_in_table_name_list_with_wildcards3484_bits[]	= { ANTLR3_UINT64_LIT(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) };
static  ANTLR3_BITSET_LIST FOLLOW_target_table_with_optional_wildcard_in_table_name_list_with_wildcards3484	= { FOLLOW_target_table_with_optional_wildcard_in_table_name_list_with_wildcards3484_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DO_SYMBOL_in_do_statement3495  */
static	ANTLR3_BITWORD FOLLOW_DO_SYMBOL_in_do_statement3495_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180AC908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_DO_SYMBOL_in_do_statement3495	= { FOLLOW_DO_SYMBOL_in_do_statement3495_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_list_in_do_statement3498  */
static	ANTLR3_BITWORD FOLLOW_expression_list_in_do_statement3498_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_list_in_do_statement3498	= { FOLLOW_expression_list_in_do_statement3498_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_HANDLER_SYMBOL_in_handler_statement3507  */
static	ANTLR3_BITWORD FOLLOW_HANDLER_SYMBOL_in_handler_statement3507_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000012) };
static  ANTLR3_BITSET_LIST FOLLOW_HANDLER_SYMBOL_in_handler_statement3507	= { FOLLOW_HANDLER_SYMBOL_in_handler_statement3507_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_identifier_in_handler_statement3515  */
static	ANTLR3_BITWORD FOLLOW_table_identifier_in_handler_statement3515_bits[]	= { 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_table_identifier_in_handler_statement3515	= { FOLLOW_table_identifier_in_handler_statement3515_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_SYMBOL_in_handler_statement3517  */
static	ANTLR3_BITWORD FOLLOW_OPEN_SYMBOL_in_handler_statement3517_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF2), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004400FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_SYMBOL_in_handler_statement3517	= { FOLLOW_OPEN_SYMBOL_in_handler_statement3517_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_AS_SYMBOL_in_handler_statement3520  */
static	ANTLR3_BITWORD FOLLOW_AS_SYMBOL_in_handler_statement3520_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_AS_SYMBOL_in_handler_statement3520	= { FOLLOW_AS_SYMBOL_in_handler_statement3520_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_handler_statement3523  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_handler_statement3523_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_handler_statement3523	= { FOLLOW_identifier_in_handler_statement3523_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_handler_statement3531  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_handler_statement3531_bits[]	= { 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_identifier_in_handler_statement3531	= { FOLLOW_identifier_in_handler_statement3531_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_SYMBOL_in_handler_statement3533  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_SYMBOL_in_handler_statement3533_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_SYMBOL_in_handler_statement3533	= { FOLLOW_CLOSE_SYMBOL_in_handler_statement3533_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_handler_statement3539  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_handler_statement3539_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), 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_identifier_in_handler_statement3539	= { FOLLOW_identifier_in_handler_statement3539_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_READ_SYMBOL_in_handler_statement3541  */
static	ANTLR3_BITWORD FOLLOW_READ_SYMBOL_in_handler_statement3541_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_READ_SYMBOL_in_handler_statement3541	= { FOLLOW_READ_SYMBOL_in_handler_statement3541_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_handler_statement3552  */
static	ANTLR3_BITWORD FOLLOW_set_in_handler_statement3552_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000000040000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_handler_statement3552	= { FOLLOW_set_in_handler_statement3552_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_handler_statement3566  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_handler_statement3566_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000001000000), ANTLR3_UINT64_LIT(0x0000400000000000), ANTLR3_UINT64_LIT(0x0000000000000020), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000030000002000), ANTLR3_UINT64_LIT(0x0000000006000000) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_handler_statement3566	= { FOLLOW_identifier_in_handler_statement3566_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_handler_statement3581  */
static	ANTLR3_BITWORD FOLLOW_set_in_handler_statement3581_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000000040000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_handler_statement3581	= { FOLLOW_set_in_handler_statement3581_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_handler_statement3605  */
static	ANTLR3_BITWORD FOLLOW_set_in_handler_statement3605_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_set_in_handler_statement3605	= { FOLLOW_set_in_handler_statement3605_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_values_in_handler_statement3632  */
static	ANTLR3_BITWORD FOLLOW_values_in_handler_statement3632_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000000040000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_values_in_handler_statement3632	= { FOLLOW_values_in_handler_statement3632_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_where_clause_in_handler_statement3649  */
static	ANTLR3_BITWORD FOLLOW_where_clause_in_handler_statement3649_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000000040000000) };
static  ANTLR3_BITSET_LIST FOLLOW_where_clause_in_handler_statement3649	= { FOLLOW_where_clause_in_handler_statement3649_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_limit_clause_in_handler_statement3652  */
static	ANTLR3_BITWORD FOLLOW_limit_clause_in_handler_statement3652_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_limit_clause_in_handler_statement3652	= { FOLLOW_limit_clause_in_handler_statement3652_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INSERT_SYMBOL_in_insert_statement3667  */
static	ANTLR3_BITWORD FOLLOW_INSERT_SYMBOL_in_insert_statement3667_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0040000000000000), ANTLR3_UINT64_LIT(0x0051000000000012), ANTLR3_UINT64_LIT(0x0001000000000040) };
static  ANTLR3_BITSET_LIST FOLLOW_INSERT_SYMBOL_in_insert_statement3667	= { FOLLOW_INSERT_SYMBOL_in_insert_statement3667_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_insert_option_in_insert_statement3670  */
static	ANTLR3_BITWORD FOLLOW_insert_option_in_insert_statement3670_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0050000000000012), ANTLR3_UINT64_LIT(0x0000000000000040) };
static  ANTLR3_BITSET_LIST FOLLOW_insert_option_in_insert_statement3670	= { FOLLOW_insert_option_in_insert_statement3670_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_IGNORE_SYMBOL_in_insert_statement3673  */
static	ANTLR3_BITWORD FOLLOW_IGNORE_SYMBOL_in_insert_statement3673_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000012), ANTLR3_UINT64_LIT(0x0000000000000040) };
static  ANTLR3_BITSET_LIST FOLLOW_IGNORE_SYMBOL_in_insert_statement3673	= { FOLLOW_IGNORE_SYMBOL_in_insert_statement3673_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTO_SYMBOL_in_insert_statement3676  */
static	ANTLR3_BITWORD FOLLOW_INTO_SYMBOL_in_insert_statement3676_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000012) };
static  ANTLR3_BITSET_LIST FOLLOW_INTO_SYMBOL_in_insert_statement3676	= { FOLLOW_INTO_SYMBOL_in_insert_statement3676_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_identifier_in_insert_statement3679  */
static	ANTLR3_BITWORD FOLLOW_table_identifier_in_insert_statement3679_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000), ANTLR3_UINT64_LIT(0x0000000800000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000010000000), ANTLR3_UINT64_LIT(0x0000000000001040), ANTLR3_UINT64_LIT(0x0000000000040000) };
static  ANTLR3_BITSET_LIST FOLLOW_table_identifier_in_insert_statement3679	= { FOLLOW_table_identifier_in_insert_statement3679_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_use_partition_in_insert_statement3681  */
static	ANTLR3_BITWORD FOLLOW_use_partition_in_insert_statement3681_bits[]	= { 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(0x0000000010000000), ANTLR3_UINT64_LIT(0x0000000000001040), ANTLR3_UINT64_LIT(0x0000000000040000) };
static  ANTLR3_BITSET_LIST FOLLOW_use_partition_in_insert_statement3681	= { FOLLOW_use_partition_in_insert_statement3681_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_insert_field_spec_in_insert_statement3684  */
static	ANTLR3_BITWORD FOLLOW_insert_field_spec_in_insert_statement3684_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000000002000000) };
static  ANTLR3_BITSET_LIST FOLLOW_insert_field_spec_in_insert_statement3684	= { FOLLOW_insert_field_spec_in_insert_statement3684_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_duplicate_key_update_in_insert_statement3686  */
static	ANTLR3_BITWORD FOLLOW_duplicate_key_update_in_insert_statement3686_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_duplicate_key_update_in_insert_statement3686	= { FOLLOW_duplicate_key_update_in_insert_statement3686_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_insert_field_spec3718  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_insert_field_spec3718_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000010000), ANTLR3_UINT64_LIT(0x0010000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_insert_field_spec3718	= { FOLLOW_OPEN_PAR_SYMBOL_in_insert_field_spec3718_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_fields_in_insert_field_spec3720  */
static	ANTLR3_BITWORD FOLLOW_fields_in_insert_field_spec3720_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000010000) };
static  ANTLR3_BITSET_LIST FOLLOW_fields_in_insert_field_spec3720	= { FOLLOW_fields_in_insert_field_spec3720_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_insert_field_spec3723  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_insert_field_spec3723_bits[]	= { 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(0x0000000010000000), ANTLR3_UINT64_LIT(0x0000000000000040), ANTLR3_UINT64_LIT(0x0000000000040000) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_insert_field_spec3723	= { FOLLOW_CLOSE_PAR_SYMBOL_in_insert_field_spec3723_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_insert_values_in_insert_field_spec3727  */
static	ANTLR3_BITWORD FOLLOW_insert_values_in_insert_field_spec3727_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_insert_values_in_insert_field_spec3727	= { FOLLOW_insert_values_in_insert_field_spec3727_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SET_SYMBOL_in_insert_field_spec3732  */
static	ANTLR3_BITWORD FOLLOW_SET_SYMBOL_in_insert_field_spec3732_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000012) };
static  ANTLR3_BITSET_LIST FOLLOW_SET_SYMBOL_in_insert_field_spec3732	= { FOLLOW_SET_SYMBOL_in_insert_field_spec3732_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_column_assignment_list_with_default_in_insert_field_spec3734  */
static	ANTLR3_BITWORD FOLLOW_column_assignment_list_with_default_in_insert_field_spec3734_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_column_assignment_list_with_default_in_insert_field_spec3734	= { FOLLOW_column_assignment_list_with_default_in_insert_field_spec3734_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_insert_identifier_in_fields3743  */
static	ANTLR3_BITWORD FOLLOW_insert_identifier_in_fields3743_bits[]	= { ANTLR3_UINT64_LIT(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) };
static  ANTLR3_BITSET_LIST FOLLOW_insert_identifier_in_fields3743	= { FOLLOW_insert_identifier_in_fields3743_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_fields3746  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_fields3746_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_fields3746	= { FOLLOW_COMMA_SYMBOL_in_fields3746_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_insert_identifier_in_fields3748  */
static	ANTLR3_BITWORD FOLLOW_insert_identifier_in_fields3748_bits[]	= { ANTLR3_UINT64_LIT(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) };
static  ANTLR3_BITSET_LIST FOLLOW_insert_identifier_in_fields3748	= { FOLLOW_insert_identifier_in_fields3748_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_insert_identifier_ref_in_insert_identifier3759  */
static	ANTLR3_BITWORD FOLLOW_insert_identifier_ref_in_insert_identifier3759_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_insert_identifier_ref_in_insert_identifier3759	= { FOLLOW_insert_identifier_ref_in_insert_identifier3759_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_insert_identifier_ref3778  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_insert_identifier_ref3778_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_identifier_in_insert_identifier_ref3778	= { FOLLOW_identifier_in_insert_identifier_ref3778_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DOT_SYMBOL_in_insert_identifier_ref3780  */
static	ANTLR3_BITWORD FOLLOW_DOT_SYMBOL_in_insert_identifier_ref3780_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_DOT_SYMBOL_in_insert_identifier_ref3780	= { FOLLOW_DOT_SYMBOL_in_insert_identifier_ref3780_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_insert_identifier_ref3783  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_insert_identifier_ref3783_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_identifier_in_insert_identifier_ref3783	= { FOLLOW_identifier_in_insert_identifier_ref3783_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DOT_SYMBOL_in_insert_identifier_ref3785  */
static	ANTLR3_BITWORD FOLLOW_DOT_SYMBOL_in_insert_identifier_ref3785_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_DOT_SYMBOL_in_insert_identifier_ref3785	= { FOLLOW_DOT_SYMBOL_in_insert_identifier_ref3785_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_insert_identifier_ref3792  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_insert_identifier_ref3792_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_insert_identifier_ref3792	= { FOLLOW_identifier_in_insert_identifier_ref3792_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MULT_OPERATOR_in_insert_identifier_ref3796  */
static	ANTLR3_BITWORD FOLLOW_MULT_OPERATOR_in_insert_identifier_ref3796_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_MULT_OPERATOR_in_insert_identifier_ref3796	= { FOLLOW_MULT_OPERATOR_in_insert_identifier_ref3796_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_insert_values3806  */
static	ANTLR3_BITWORD FOLLOW_set_in_insert_values3806_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_set_in_insert_values3806	= { FOLLOW_set_in_insert_values3806_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_insert_value_list_in_insert_values3814  */
static	ANTLR3_BITWORD FOLLOW_insert_value_list_in_insert_values3814_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_insert_value_list_in_insert_values3814	= { FOLLOW_insert_value_list_in_insert_values3814_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_create_select_in_insert_values3819  */
static	ANTLR3_BITWORD FOLLOW_create_select_in_insert_values3819_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000000000000080) };
static  ANTLR3_BITSET_LIST FOLLOW_create_select_in_insert_values3819	= { FOLLOW_create_select_in_insert_values3819_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_union_clause_in_insert_values3821  */
static	ANTLR3_BITWORD FOLLOW_union_clause_in_insert_values3821_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_union_clause_in_insert_values3821	= { FOLLOW_union_clause_in_insert_values3821_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_insert_values3827  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_insert_values3827_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_OPEN_PAR_SYMBOL_in_insert_values3827	= { FOLLOW_OPEN_PAR_SYMBOL_in_insert_values3827_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_create_select_in_insert_values3829  */
static	ANTLR3_BITWORD FOLLOW_create_select_in_insert_values3829_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000010000) };
static  ANTLR3_BITSET_LIST FOLLOW_create_select_in_insert_values3829	= { FOLLOW_create_select_in_insert_values3829_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_insert_values3831  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_insert_values3831_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000000040000000), ANTLR3_UINT64_LIT(0x0000000100000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000080) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_insert_values3831	= { FOLLOW_CLOSE_PAR_SYMBOL_in_insert_values3831_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_union_or_order_by_or_limit_in_insert_values3833  */
static	ANTLR3_BITWORD FOLLOW_union_or_order_by_or_limit_in_insert_values3833_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_union_or_order_by_or_limit_in_insert_values3833	= { FOLLOW_union_or_order_by_or_limit_in_insert_values3833_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_values_in_insert_value_list3843  */
static	ANTLR3_BITWORD FOLLOW_values_in_insert_value_list3843_bits[]	= { ANTLR3_UINT64_LIT(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) };
static  ANTLR3_BITSET_LIST FOLLOW_values_in_insert_value_list3843	= { FOLLOW_values_in_insert_value_list3843_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_insert_value_list3846  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_insert_value_list3846_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_COMMA_SYMBOL_in_insert_value_list3846	= { FOLLOW_COMMA_SYMBOL_in_insert_value_list3846_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_values_in_insert_value_list3848  */
static	ANTLR3_BITWORD FOLLOW_values_in_insert_value_list3848_bits[]	= { ANTLR3_UINT64_LIT(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) };
static  ANTLR3_BITSET_LIST FOLLOW_values_in_insert_value_list3848	= { FOLLOW_values_in_insert_value_list3848_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_values3860  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_values3860_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00200A4A98011181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180AC908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_values3860	= { FOLLOW_OPEN_PAR_SYMBOL_in_values3860_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_values3864  */
static	ANTLR3_BITWORD FOLLOW_expression_in_values3864_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000210000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_values3864	= { FOLLOW_expression_in_values3864_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DEFAULT_SYMBOL_in_values3868  */
static	ANTLR3_BITWORD FOLLOW_DEFAULT_SYMBOL_in_values3868_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000210000) };
static  ANTLR3_BITSET_LIST FOLLOW_DEFAULT_SYMBOL_in_values3868	= { FOLLOW_DEFAULT_SYMBOL_in_values3868_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_values3872  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_values3872_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00200A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180AC908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_values3872	= { FOLLOW_COMMA_SYMBOL_in_values3872_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_values3875  */
static	ANTLR3_BITWORD FOLLOW_expression_in_values3875_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000210000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_values3875	= { FOLLOW_expression_in_values3875_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DEFAULT_SYMBOL_in_values3879  */
static	ANTLR3_BITWORD FOLLOW_DEFAULT_SYMBOL_in_values3879_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000210000) };
static  ANTLR3_BITSET_LIST FOLLOW_DEFAULT_SYMBOL_in_values3879	= { FOLLOW_DEFAULT_SYMBOL_in_values3879_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_values3886  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_values3886_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_values3886	= { FOLLOW_CLOSE_PAR_SYMBOL_in_values3886_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ON_SYMBOL_in_duplicate_key_update3895  */
static	ANTLR3_BITWORD FOLLOW_ON_SYMBOL_in_duplicate_key_update3895_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_ON_SYMBOL_in_duplicate_key_update3895	= { FOLLOW_ON_SYMBOL_in_duplicate_key_update3895_bits, 2	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DUPLICATE_SYMBOL_in_duplicate_key_update3897  */
static	ANTLR3_BITWORD FOLLOW_DUPLICATE_SYMBOL_in_duplicate_key_update3897_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_DUPLICATE_SYMBOL_in_duplicate_key_update3897	= { FOLLOW_DUPLICATE_SYMBOL_in_duplicate_key_update3897_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_KEY_SYMBOL_in_duplicate_key_update3899  */
static	ANTLR3_BITWORD FOLLOW_KEY_SYMBOL_in_duplicate_key_update3899_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_KEY_SYMBOL_in_duplicate_key_update3899	= { FOLLOW_KEY_SYMBOL_in_duplicate_key_update3899_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_UPDATE_SYMBOL_in_duplicate_key_update3901  */
static	ANTLR3_BITWORD FOLLOW_UPDATE_SYMBOL_in_duplicate_key_update3901_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000012) };
static  ANTLR3_BITSET_LIST FOLLOW_UPDATE_SYMBOL_in_duplicate_key_update3901	= { FOLLOW_UPDATE_SYMBOL_in_duplicate_key_update3901_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_column_assignment_in_duplicate_key_update3903  */
static	ANTLR3_BITWORD FOLLOW_column_assignment_in_duplicate_key_update3903_bits[]	= { ANTLR3_UINT64_LIT(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) };
static  ANTLR3_BITSET_LIST FOLLOW_column_assignment_in_duplicate_key_update3903	= { FOLLOW_column_assignment_in_duplicate_key_update3903_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_duplicate_key_update3906  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_duplicate_key_update3906_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000012) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_duplicate_key_update3906	= { FOLLOW_COMMA_SYMBOL_in_duplicate_key_update3906_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_column_assignment_in_duplicate_key_update3908  */
static	ANTLR3_BITWORD FOLLOW_column_assignment_in_duplicate_key_update3908_bits[]	= { ANTLR3_UINT64_LIT(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) };
static  ANTLR3_BITSET_LIST FOLLOW_column_assignment_in_duplicate_key_update3908	= { FOLLOW_column_assignment_in_duplicate_key_update3908_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_LOAD_SYMBOL_in_load_statement3921  */
static	ANTLR3_BITWORD FOLLOW_LOAD_SYMBOL_in_load_statement3921_bits[]	= { ANTLR3_UINT64_LIT(0x0040000000000000), 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_statement3921	= { FOLLOW_LOAD_SYMBOL_in_load_statement3921_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_data_or_xml_in_load_statement3924  */
static	ANTLR3_BITWORD FOLLOW_data_or_xml_in_load_statement3924_bits[]	= { ANTLR3_UINT64_LIT(0x0000020000000000), ANTLR3_UINT64_LIT(0x0200000000000000), 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(0x0001000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_data_or_xml_in_load_statement3924	= { FOLLOW_data_or_xml_in_load_statement3924_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_LOCAL_SYMBOL_in_load_statement3935  */
static	ANTLR3_BITWORD FOLLOW_LOCAL_SYMBOL_in_load_statement3935_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_LOCAL_SYMBOL_in_load_statement3935	= { FOLLOW_LOCAL_SYMBOL_in_load_statement3935_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INFILE_SYMBOL_in_load_statement3938  */
static	ANTLR3_BITWORD FOLLOW_INFILE_SYMBOL_in_load_statement3938_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_INFILE_SYMBOL_in_load_statement3938	= { FOLLOW_INFILE_SYMBOL_in_load_statement3938_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_load_statement3940  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_load_statement3940_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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), ANTLR3_UINT64_LIT(0x0000000000000040), ANTLR3_UINT64_LIT(0x0400000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_load_statement3940	= { FOLLOW_string_literal_in_load_statement3940_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTO_SYMBOL_in_load_statement3953  */
static	ANTLR3_BITWORD FOLLOW_INTO_SYMBOL_in_load_statement3953_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_INTO_SYMBOL_in_load_statement3953	= { FOLLOW_INTO_SYMBOL_in_load_statement3953_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TABLE_SYMBOL_in_load_statement3955  */
static	ANTLR3_BITWORD FOLLOW_TABLE_SYMBOL_in_load_statement3955_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000012) };
static  ANTLR3_BITSET_LIST FOLLOW_TABLE_SYMBOL_in_load_statement3955	= { FOLLOW_TABLE_SYMBOL_in_load_statement3955_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_identifier_in_load_statement3957  */
static	ANTLR3_BITWORD FOLLOW_table_identifier_in_load_statement3957_bits[]	= { ANTLR3_UINT64_LIT(0x0000000400000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000001000000000), ANTLR3_UINT64_LIT(0x0080000000000000), ANTLR3_UINT64_LIT(0x0000000800000000), ANTLR3_UINT64_LIT(0x0000000000001000), ANTLR3_UINT64_LIT(0x0040000000000000), ANTLR3_UINT64_LIT(0x0000000200000000), ANTLR3_UINT64_LIT(0x0000000010000000), ANTLR3_UINT64_LIT(0x0000000000001000) };
static  ANTLR3_BITSET_LIST FOLLOW_table_identifier_in_load_statement3957	= { FOLLOW_table_identifier_in_load_statement3957_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_use_partition_in_load_statement3961  */
static	ANTLR3_BITWORD FOLLOW_use_partition_in_load_statement3961_bits[]	= { ANTLR3_UINT64_LIT(0x0000000400000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000001000000000), ANTLR3_UINT64_LIT(0x0080000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000001000), ANTLR3_UINT64_LIT(0x0040000000000000), ANTLR3_UINT64_LIT(0x0000000200000000), ANTLR3_UINT64_LIT(0x0000000010000000), ANTLR3_UINT64_LIT(0x0000000000001000) };
static  ANTLR3_BITSET_LIST FOLLOW_use_partition_in_load_statement3961	= { FOLLOW_use_partition_in_load_statement3961_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_charset_clause_in_load_statement3964  */
static	ANTLR3_BITWORD FOLLOW_charset_clause_in_load_statement3964_bits[]	= { ANTLR3_UINT64_LIT(0x0000000400000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000001000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0040000000000000), ANTLR3_UINT64_LIT(0x0000000200000000), ANTLR3_UINT64_LIT(0x0000000010000000), ANTLR3_UINT64_LIT(0x0000000000001000) };
static  ANTLR3_BITSET_LIST FOLLOW_charset_clause_in_load_statement3964	= { FOLLOW_charset_clause_in_load_statement3964_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_xml_rows_identified_by_in_load_statement3969  */
static	ANTLR3_BITWORD FOLLOW_xml_rows_identified_by_in_load_statement3969_bits[]	= { ANTLR3_UINT64_LIT(0x0000000400000000), ANTLR3_UINT64_LIT(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), ANTLR3_UINT64_LIT(0x0000000200000000), ANTLR3_UINT64_LIT(0x0000000010000000), ANTLR3_UINT64_LIT(0x0000000000001000) };
static  ANTLR3_BITSET_LIST FOLLOW_xml_rows_identified_by_in_load_statement3969	= { FOLLOW_xml_rows_identified_by_in_load_statement3969_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_fields_clause_in_load_statement3974  */
static	ANTLR3_BITWORD FOLLOW_fields_clause_in_load_statement3974_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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), ANTLR3_UINT64_LIT(0x0000000200000000), ANTLR3_UINT64_LIT(0x0000000010000000), ANTLR3_UINT64_LIT(0x0000000000001000) };
static  ANTLR3_BITSET_LIST FOLLOW_fields_clause_in_load_statement3974	= { FOLLOW_fields_clause_in_load_statement3974_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_lines_clause_in_load_statement3977  */
static	ANTLR3_BITWORD FOLLOW_lines_clause_in_load_statement3977_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000010000000), ANTLR3_UINT64_LIT(0x0000000000001000) };
static  ANTLR3_BITSET_LIST FOLLOW_lines_clause_in_load_statement3977	= { FOLLOW_lines_clause_in_load_statement3977_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_load_data_file_tail_in_load_statement3982  */
static	ANTLR3_BITWORD FOLLOW_load_data_file_tail_in_load_statement3982_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_load_data_file_tail_in_load_statement3982	= { FOLLOW_load_data_file_tail_in_load_statement3982_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DATA_SYMBOL_in_data_or_xml3991  */
static	ANTLR3_BITWORD FOLLOW_DATA_SYMBOL_in_data_or_xml3991_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_DATA_SYMBOL_in_data_or_xml3991	= { FOLLOW_DATA_SYMBOL_in_data_or_xml3991_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_XML_SYMBOL_in_data_or_xml4000  */
static	ANTLR3_BITWORD FOLLOW_XML_SYMBOL_in_data_or_xml4000_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_XML_SYMBOL_in_data_or_xml4000	= { FOLLOW_XML_SYMBOL_in_data_or_xml4000_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ROWS_SYMBOL_in_xml_rows_identified_by4013  */
static	ANTLR3_BITWORD FOLLOW_ROWS_SYMBOL_in_xml_rows_identified_by4013_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000004000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_ROWS_SYMBOL_in_xml_rows_identified_by4013	= { FOLLOW_ROWS_SYMBOL_in_xml_rows_identified_by4013_bits, 2	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_IDENTIFIED_SYMBOL_in_xml_rows_identified_by4015  */
static	ANTLR3_BITWORD FOLLOW_IDENTIFIED_SYMBOL_in_xml_rows_identified_by4015_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_IDENTIFIED_SYMBOL_in_xml_rows_identified_by4015	= { FOLLOW_IDENTIFIED_SYMBOL_in_xml_rows_identified_by4015_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BY_SYMBOL_in_xml_rows_identified_by4017  */
static	ANTLR3_BITWORD FOLLOW_BY_SYMBOL_in_xml_rows_identified_by4017_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_BY_SYMBOL_in_xml_rows_identified_by4017	= { FOLLOW_BY_SYMBOL_in_xml_rows_identified_by4017_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_xml_rows_identified_by4019  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_xml_rows_identified_by4019_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_xml_rows_identified_by4019	= { FOLLOW_string_literal_in_xml_rows_identified_by4019_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_IGNORE_SYMBOL_in_load_data_file_tail4029  */
static	ANTLR3_BITWORD FOLLOW_IGNORE_SYMBOL_in_load_data_file_tail4029_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_IGNORE_SYMBOL_in_load_data_file_tail4029	= { FOLLOW_IGNORE_SYMBOL_in_load_data_file_tail4029_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_load_data_file_tail4031  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_load_data_file_tail4031_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000001000000000), 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_INTEGER_in_load_data_file_tail4031	= { FOLLOW_INTEGER_in_load_data_file_tail4031_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_load_data_file_tail4033  */
static	ANTLR3_BITWORD FOLLOW_set_in_load_data_file_tail4033_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000000010000000), ANTLR3_UINT64_LIT(0x0000000000001000) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_load_data_file_tail4033	= { FOLLOW_set_in_load_data_file_tail4033_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_load_data_file_target_list_in_load_data_file_tail4043  */
static	ANTLR3_BITWORD FOLLOW_load_data_file_target_list_in_load_data_file_tail4043_bits[]	= { ANTLR3_UINT64_LIT(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) };
static  ANTLR3_BITSET_LIST FOLLOW_load_data_file_target_list_in_load_data_file_tail4043	= { FOLLOW_load_data_file_target_list_in_load_data_file_tail4043_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SET_SYMBOL_in_load_data_file_tail4047  */
static	ANTLR3_BITWORD FOLLOW_SET_SYMBOL_in_load_data_file_tail4047_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000012) };
static  ANTLR3_BITSET_LIST FOLLOW_SET_SYMBOL_in_load_data_file_tail4047	= { FOLLOW_SET_SYMBOL_in_load_data_file_tail4047_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_column_assignment_list_with_default_in_load_data_file_tail4049  */
static	ANTLR3_BITWORD FOLLOW_column_assignment_list_with_default_in_load_data_file_tail4049_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_column_assignment_list_with_default_in_load_data_file_tail4049	= { FOLLOW_column_assignment_list_with_default_in_load_data_file_tail4049_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_load_data_file_target_list4060  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_load_data_file_target_list4060_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0005000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000010000), ANTLR3_UINT64_LIT(0x0010000000000012) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_load_data_file_target_list4060	= { FOLLOW_OPEN_PAR_SYMBOL_in_load_data_file_target_list4060_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_field_or_variable_list_in_load_data_file_target_list4062  */
static	ANTLR3_BITWORD FOLLOW_field_or_variable_list_in_load_data_file_target_list4062_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000010000) };
static  ANTLR3_BITSET_LIST FOLLOW_field_or_variable_list_in_load_data_file_target_list4062	= { FOLLOW_field_or_variable_list_in_load_data_file_target_list4062_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_load_data_file_target_list4065  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_load_data_file_target_list4065_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_load_data_file_target_list4065	= { FOLLOW_CLOSE_PAR_SYMBOL_in_load_data_file_target_list4065_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_field_name_in_field_or_variable_list4075  */
static	ANTLR3_BITWORD FOLLOW_field_name_in_field_or_variable_list4075_bits[]	= { ANTLR3_UINT64_LIT(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) };
static  ANTLR3_BITSET_LIST FOLLOW_field_name_in_field_or_variable_list4075	= { FOLLOW_field_name_in_field_or_variable_list4075_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_user_variable_in_field_or_variable_list4079  */
static	ANTLR3_BITWORD FOLLOW_user_variable_in_field_or_variable_list4079_bits[]	= { ANTLR3_UINT64_LIT(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) };
static  ANTLR3_BITSET_LIST FOLLOW_user_variable_in_field_or_variable_list4079	= { FOLLOW_user_variable_in_field_or_variable_list4079_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_field_or_variable_list4083  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_field_or_variable_list4083_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0005000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000012) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_field_or_variable_list4083	= { FOLLOW_COMMA_SYMBOL_in_field_or_variable_list4083_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_field_name_in_field_or_variable_list4086  */
static	ANTLR3_BITWORD FOLLOW_field_name_in_field_or_variable_list4086_bits[]	= { ANTLR3_UINT64_LIT(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) };
static  ANTLR3_BITSET_LIST FOLLOW_field_name_in_field_or_variable_list4086	= { FOLLOW_field_name_in_field_or_variable_list4086_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_user_variable_in_field_or_variable_list4090  */
static	ANTLR3_BITWORD FOLLOW_user_variable_in_field_or_variable_list4090_bits[]	= { ANTLR3_UINT64_LIT(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) };
static  ANTLR3_BITSET_LIST FOLLOW_user_variable_in_field_or_variable_list4090	= { FOLLOW_user_variable_in_field_or_variable_list4090_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_REPLACE_SYMBOL_in_replace_statement4104  */
static	ANTLR3_BITWORD FOLLOW_REPLACE_SYMBOL_in_replace_statement4104_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0040000000000000), ANTLR3_UINT64_LIT(0x0010000000000012), ANTLR3_UINT64_LIT(0x0001000000000040) };
static  ANTLR3_BITSET_LIST FOLLOW_REPLACE_SYMBOL_in_replace_statement4104	= { FOLLOW_REPLACE_SYMBOL_in_replace_statement4104_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTO_SYMBOL_in_replace_statement4116  */
static	ANTLR3_BITWORD FOLLOW_INTO_SYMBOL_in_replace_statement4116_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000012) };
static  ANTLR3_BITSET_LIST FOLLOW_INTO_SYMBOL_in_replace_statement4116	= { FOLLOW_INTO_SYMBOL_in_replace_statement4116_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_identifier_in_replace_statement4119  */
static	ANTLR3_BITWORD FOLLOW_table_identifier_in_replace_statement4119_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008000000000), ANTLR3_UINT64_LIT(0x0000000800000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000010000000), ANTLR3_UINT64_LIT(0x0000000000001040), ANTLR3_UINT64_LIT(0x0000000000040000) };
static  ANTLR3_BITSET_LIST FOLLOW_table_identifier_in_replace_statement4119	= { FOLLOW_table_identifier_in_replace_statement4119_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_use_partition_in_replace_statement4123  */
static	ANTLR3_BITWORD FOLLOW_use_partition_in_replace_statement4123_bits[]	= { 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(0x0000000010000000), ANTLR3_UINT64_LIT(0x0000000000001040), ANTLR3_UINT64_LIT(0x0000000000040000) };
static  ANTLR3_BITSET_LIST FOLLOW_use_partition_in_replace_statement4123	= { FOLLOW_use_partition_in_replace_statement4123_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_insert_field_spec_in_replace_statement4126  */
static	ANTLR3_BITWORD FOLLOW_insert_field_spec_in_replace_statement4126_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_insert_field_spec_in_replace_statement4126	= { FOLLOW_insert_field_spec_in_replace_statement4126_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SELECT_SYMBOL_in_select_statement4137  */
static	ANTLR3_BITWORD FOLLOW_SELECT_SYMBOL_in_select_statement4137_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45804FFFFFFFFF), ANTLR3_UINT64_LIT(0x40000A4A98001181), ANTLR3_UINT64_LIT(0x2031C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180AC928), ANTLR3_UINT64_LIT(0x001A680038080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_SELECT_SYMBOL_in_select_statement4137	= { FOLLOW_SELECT_SYMBOL_in_select_statement4137_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_select_part2_in_select_statement4140  */
static	ANTLR3_BITWORD FOLLOW_select_part2_in_select_statement4140_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000000000000080) };
static  ANTLR3_BITSET_LIST FOLLOW_select_part2_in_select_statement4140	= { FOLLOW_select_part2_in_select_statement4140_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_union_clause_in_select_statement4142  */
static	ANTLR3_BITWORD FOLLOW_union_clause_in_select_statement4142_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_union_clause_in_select_statement4142	= { FOLLOW_union_clause_in_select_statement4142_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_select_statement4148  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_select_statement4148_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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), ANTLR3_UINT64_LIT(0x0000000000000040) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_select_statement4148	= { FOLLOW_OPEN_PAR_SYMBOL_in_select_statement4148_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_select_paren_in_select_statement4150  */
static	ANTLR3_BITWORD FOLLOW_select_paren_in_select_statement4150_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000010000) };
static  ANTLR3_BITSET_LIST FOLLOW_select_paren_in_select_statement4150	= { FOLLOW_select_paren_in_select_statement4150_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_select_statement4152  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_select_statement4152_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000000040000000), ANTLR3_UINT64_LIT(0x0000000100000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000080) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_select_statement4152	= { FOLLOW_CLOSE_PAR_SYMBOL_in_select_statement4152_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_union_or_order_by_or_limit_in_select_statement4154  */
static	ANTLR3_BITWORD FOLLOW_union_or_order_by_or_limit_in_select_statement4154_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_union_or_order_by_or_limit_in_select_statement4154	= { FOLLOW_union_or_order_by_or_limit_in_select_statement4154_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SELECT_SYMBOL_in_select_paren4164  */
static	ANTLR3_BITWORD FOLLOW_SELECT_SYMBOL_in_select_paren4164_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45804FFFFFFFFF), ANTLR3_UINT64_LIT(0x40000A4A98001181), ANTLR3_UINT64_LIT(0x2031C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180AC928), ANTLR3_UINT64_LIT(0x001A680038080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_SELECT_SYMBOL_in_select_paren4164	= { FOLLOW_SELECT_SYMBOL_in_select_paren4164_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_select_part2_in_select_paren4167  */
static	ANTLR3_BITWORD FOLLOW_select_part2_in_select_paren4167_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_select_part2_in_select_paren4167	= { FOLLOW_select_part2_in_select_paren4167_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_select_paren4172  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_select_paren4172_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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), ANTLR3_UINT64_LIT(0x0000000000000040) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_select_paren4172	= { FOLLOW_OPEN_PAR_SYMBOL_in_select_paren4172_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_select_paren_in_select_paren4174  */
static	ANTLR3_BITWORD FOLLOW_select_paren_in_select_paren4174_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000010000) };
static  ANTLR3_BITSET_LIST FOLLOW_select_paren_in_select_paren4174	= { FOLLOW_select_paren_in_select_paren4174_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_select_paren4176  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_select_paren4176_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_select_paren4176	= { FOLLOW_CLOSE_PAR_SYMBOL_in_select_paren4176_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_select_option_in_select_part24199  */
static	ANTLR3_BITWORD FOLLOW_select_option_in_select_part24199_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45804FFFFFFFFF), ANTLR3_UINT64_LIT(0x40000A4A98001181), ANTLR3_UINT64_LIT(0x2031C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180AC928), ANTLR3_UINT64_LIT(0x001A680038080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_select_option_in_select_part24199	= { FOLLOW_select_option_in_select_part24199_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_select_item_list_in_select_part24203  */
static	ANTLR3_BITWORD FOLLOW_select_item_list_in_select_part24203_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000000A00000000), ANTLR3_UINT64_LIT(0x0000004040000040) };
static  ANTLR3_BITSET_LIST FOLLOW_select_item_list_in_select_part24203	= { FOLLOW_select_item_list_in_select_part24203_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_select_source_and_options_in_select_part24205  */
static	ANTLR3_BITWORD FOLLOW_select_source_and_options_in_select_part24205_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000000200000000), ANTLR3_UINT64_LIT(0x0000004000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_select_source_and_options_in_select_part24205	= { FOLLOW_select_source_and_options_in_select_part24205_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_select_lock_type_in_select_part24208  */
static	ANTLR3_BITWORD FOLLOW_select_lock_type_in_select_part24208_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_select_lock_type_in_select_part24208	= { FOLLOW_select_lock_type_in_select_part24208_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_subquery4218  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_subquery4218_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_OPEN_PAR_SYMBOL_in_subquery4218	= { FOLLOW_OPEN_PAR_SYMBOL_in_subquery4218_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SELECT_SYMBOL_in_subquery4220  */
static	ANTLR3_BITWORD FOLLOW_SELECT_SYMBOL_in_subquery4220_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45804FFFFFFFFF), ANTLR3_UINT64_LIT(0x40000A4A98001181), ANTLR3_UINT64_LIT(0x2031C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180AC928), ANTLR3_UINT64_LIT(0x001A680038080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_SELECT_SYMBOL_in_subquery4220	= { FOLLOW_SELECT_SYMBOL_in_subquery4220_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_select_part2_derived_in_subquery4222  */
static	ANTLR3_BITWORD FOLLOW_select_part2_derived_in_subquery4222_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000010000), 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_select_part2_derived_in_subquery4222	= { FOLLOW_select_part2_derived_in_subquery4222_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_union_clause_in_subquery4224  */
static	ANTLR3_BITWORD FOLLOW_union_clause_in_subquery4224_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000010000) };
static  ANTLR3_BITSET_LIST FOLLOW_union_clause_in_subquery4224	= { FOLLOW_union_clause_in_subquery4224_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_subquery4227  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_subquery4227_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_subquery4227	= { FOLLOW_CLOSE_PAR_SYMBOL_in_subquery4227_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_query_expression_option_in_select_part2_derived4272  */
static	ANTLR3_BITWORD FOLLOW_query_expression_option_in_select_part2_derived4272_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45804FFFFFFFFF), ANTLR3_UINT64_LIT(0x40000A4A98001181), ANTLR3_UINT64_LIT(0x2031C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180AC928), ANTLR3_UINT64_LIT(0x001A680038080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_query_expression_option_in_select_part2_derived4272	= { FOLLOW_query_expression_option_in_select_part2_derived4272_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_select_part2_derived4282  */
static	ANTLR3_BITWORD FOLLOW_set_in_select_part2_derived4282_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45804FFFFFFFFF), ANTLR3_UINT64_LIT(0x40000A4A98001181), ANTLR3_UINT64_LIT(0x2031C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180AC928), ANTLR3_UINT64_LIT(0x001A680038080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_select_part2_derived4282	= { FOLLOW_set_in_select_part2_derived4282_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_select_item_list_in_select_part2_derived4294  */
static	ANTLR3_BITWORD FOLLOW_select_item_list_in_select_part2_derived4294_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000000A00000000), ANTLR3_UINT64_LIT(0x0000004040000040) };
static  ANTLR3_BITSET_LIST FOLLOW_select_item_list_in_select_part2_derived4294	= { FOLLOW_select_item_list_in_select_part2_derived4294_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_select_source_and_options_in_select_part2_derived4296  */
static	ANTLR3_BITWORD FOLLOW_select_source_and_options_in_select_part2_derived4296_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000000200000000), ANTLR3_UINT64_LIT(0x0000004000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_select_source_and_options_in_select_part2_derived4296	= { FOLLOW_select_source_and_options_in_select_part2_derived4296_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_select_lock_type_in_select_part2_derived4299  */
static	ANTLR3_BITWORD FOLLOW_select_lock_type_in_select_part2_derived4299_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_select_lock_type_in_select_part2_derived4299	= { FOLLOW_select_lock_type_in_select_part2_derived4299_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_query_expression_option_in_select_option4309  */
static	ANTLR3_BITWORD FOLLOW_query_expression_option_in_select_option4309_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_query_expression_option_in_select_option4309	= { FOLLOW_query_expression_option_in_select_option4309_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SQL_NO_CACHE_SYMBOL_in_select_option4314  */
static	ANTLR3_BITWORD FOLLOW_SQL_NO_CACHE_SYMBOL_in_select_option4314_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_SQL_NO_CACHE_SYMBOL_in_select_option4314	= { FOLLOW_SQL_NO_CACHE_SYMBOL_in_select_option4314_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SQL_CACHE_SYMBOL_in_select_option4319  */
static	ANTLR3_BITWORD FOLLOW_SQL_CACHE_SYMBOL_in_select_option4319_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_SQL_CACHE_SYMBOL_in_select_option4319	= { FOLLOW_SQL_CACHE_SYMBOL_in_select_option4319_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_select_item_in_select_item_list4374  */
static	ANTLR3_BITWORD FOLLOW_select_item_in_select_item_list4374_bits[]	= { ANTLR3_UINT64_LIT(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) };
static  ANTLR3_BITSET_LIST FOLLOW_select_item_in_select_item_list4374	= { FOLLOW_select_item_in_select_item_list4374_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MULT_OPERATOR_in_select_item_list4378  */
static	ANTLR3_BITWORD FOLLOW_MULT_OPERATOR_in_select_item_list4378_bits[]	= { ANTLR3_UINT64_LIT(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) };
static  ANTLR3_BITSET_LIST FOLLOW_MULT_OPERATOR_in_select_item_list4378	= { FOLLOW_MULT_OPERATOR_in_select_item_list4378_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_select_item_list4395  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_select_item_list4395_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180AC908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_select_item_list4395	= { FOLLOW_COMMA_SYMBOL_in_select_item_list4395_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_select_item_in_select_item_list4397  */
static	ANTLR3_BITWORD FOLLOW_select_item_in_select_item_list4397_bits[]	= { ANTLR3_UINT64_LIT(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) };
static  ANTLR3_BITSET_LIST FOLLOW_select_item_in_select_item_list4397	= { FOLLOW_select_item_in_select_item_list4397_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_qualified_identifier_with_wildcard_in_select_item4414  */
static	ANTLR3_BITWORD FOLLOW_qualified_identifier_with_wildcard_in_select_item4414_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_qualified_identifier_with_wildcard_in_select_item4414	= { FOLLOW_qualified_identifier_with_wildcard_in_select_item4414_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_select_item4427  */
static	ANTLR3_BITWORD FOLLOW_expression_in_select_item4427_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF2), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004400FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_select_item4427	= { FOLLOW_expression_in_select_item4427_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_select_alias_in_select_item4429  */
static	ANTLR3_BITWORD FOLLOW_select_alias_in_select_item4429_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_select_alias_in_select_item4429	= { FOLLOW_select_alias_in_select_item4429_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_AS_SYMBOL_in_select_alias4450  */
static	ANTLR3_BITWORD FOLLOW_AS_SYMBOL_in_select_alias4450_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_AS_SYMBOL_in_select_alias4450	= { FOLLOW_AS_SYMBOL_in_select_alias4450_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_text_or_identifier_in_select_alias4453  */
static	ANTLR3_BITWORD FOLLOW_text_or_identifier_in_select_alias4453_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_text_or_identifier_in_select_alias4453	= { FOLLOW_text_or_identifier_in_select_alias4453_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_limit_clause_in_select_source_and_options4471  */
static	ANTLR3_BITWORD FOLLOW_limit_clause_in_select_source_and_options4471_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_limit_clause_in_select_source_and_options4471	= { FOLLOW_limit_clause_in_select_source_and_options4471_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_into_clause_in_select_source_and_options4476  */
static	ANTLR3_BITWORD FOLLOW_into_clause_in_select_source_and_options4476_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000000800000000) };
static  ANTLR3_BITSET_LIST FOLLOW_into_clause_in_select_source_and_options4476	= { FOLLOW_into_clause_in_select_source_and_options4476_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_select_from_in_select_source_and_options4478  */
static	ANTLR3_BITWORD FOLLOW_select_from_in_select_source_and_options4478_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_select_from_in_select_source_and_options4478	= { FOLLOW_select_from_in_select_source_and_options4478_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_select_from_in_select_source_and_options4484  */
static	ANTLR3_BITWORD FOLLOW_select_from_in_select_source_and_options4484_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000000000000040) };
static  ANTLR3_BITSET_LIST FOLLOW_select_from_in_select_source_and_options4484	= { FOLLOW_select_from_in_select_source_and_options4484_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_into_clause_in_select_source_and_options4486  */
static	ANTLR3_BITWORD FOLLOW_into_clause_in_select_source_and_options4486_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_into_clause_in_select_source_and_options4486	= { FOLLOW_into_clause_in_select_source_and_options4486_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_LIMIT_SYMBOL_in_limit_clause4496  */
static	ANTLR3_BITWORD FOLLOW_LIMIT_SYMBOL_in_limit_clause4496_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010), ANTLR3_UINT64_LIT(0x0000000000000008), ANTLR3_UINT64_LIT(0x0000002000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_LIMIT_SYMBOL_in_limit_clause4496	= { FOLLOW_LIMIT_SYMBOL_in_limit_clause4496_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_limit_options_in_limit_clause4498  */
static	ANTLR3_BITWORD FOLLOW_limit_options_in_limit_clause4498_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_limit_options_in_limit_clause4498	= { FOLLOW_limit_options_in_limit_clause4498_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_limit_option_in_limit_options4507  */
static	ANTLR3_BITWORD FOLLOW_limit_option_in_limit_options4507_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000200000) };
static  ANTLR3_BITSET_LIST FOLLOW_limit_option_in_limit_options4507	= { FOLLOW_limit_option_in_limit_options4507_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_limit_options4523  */
static	ANTLR3_BITWORD FOLLOW_set_in_limit_options4523_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010), ANTLR3_UINT64_LIT(0x0000000000000008), ANTLR3_UINT64_LIT(0x0000002000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_limit_options4523	= { FOLLOW_set_in_limit_options4523_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_limit_option_in_limit_options4531  */
static	ANTLR3_BITWORD FOLLOW_limit_option_in_limit_options4531_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_limit_option_in_limit_options4531	= { FOLLOW_limit_option_in_limit_options4531_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PARAM_MARKER_in_limit_option4542  */
static	ANTLR3_BITWORD FOLLOW_PARAM_MARKER_in_limit_option4542_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_PARAM_MARKER_in_limit_option4542	= { FOLLOW_PARAM_MARKER_in_limit_option4542_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_limit_option4547  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_limit_option4547_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_INTEGER_in_limit_option4547	= { FOLLOW_INTEGER_in_limit_option4547_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_limit_option4552  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_limit_option4552_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_limit_option4552	= { FOLLOW_identifier_in_limit_option4552_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTO_SYMBOL_in_into_clause4562  */
static	ANTLR3_BITWORD FOLLOW_INTO_SYMBOL_in_into_clause4562_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0005000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000800000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_INTO_SYMBOL_in_into_clause4562	= { FOLLOW_INTO_SYMBOL_in_into_clause4562_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OUTFILE_SYMBOL_in_into_clause4569  */
static	ANTLR3_BITWORD FOLLOW_OUTFILE_SYMBOL_in_into_clause4569_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_OUTFILE_SYMBOL_in_into_clause4569	= { FOLLOW_OUTFILE_SYMBOL_in_into_clause4569_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_into_clause4571  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_into_clause4571_bits[]	= { ANTLR3_UINT64_LIT(0x0000000400000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0080000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000001000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000200000000) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_into_clause4571	= { FOLLOW_string_literal_in_into_clause4571_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_charset_clause_in_into_clause4573  */
static	ANTLR3_BITWORD FOLLOW_charset_clause_in_into_clause4573_bits[]	= { ANTLR3_UINT64_LIT(0x0000000400000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_charset_clause_in_into_clause4573	= { FOLLOW_charset_clause_in_into_clause4573_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_fields_clause_in_into_clause4576  */
static	ANTLR3_BITWORD FOLLOW_fields_clause_in_into_clause4576_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000000200000000) };
static  ANTLR3_BITSET_LIST FOLLOW_fields_clause_in_into_clause4576	= { FOLLOW_fields_clause_in_into_clause4576_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_lines_clause_in_into_clause4579  */
static	ANTLR3_BITWORD FOLLOW_lines_clause_in_into_clause4579_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_lines_clause_in_into_clause4579	= { FOLLOW_lines_clause_in_into_clause4579_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DUMPFILE_SYMBOL_in_into_clause4586  */
static	ANTLR3_BITWORD FOLLOW_DUMPFILE_SYMBOL_in_into_clause4586_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_DUMPFILE_SYMBOL_in_into_clause4586	= { FOLLOW_DUMPFILE_SYMBOL_in_into_clause4586_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_into_clause4588  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_into_clause4588_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_into_clause4588	= { FOLLOW_string_literal_in_into_clause4588_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_AT_SIGN_SYMBOL_in_into_clause4594  */
static	ANTLR3_BITWORD FOLLOW_AT_SIGN_SYMBOL_in_into_clause4594_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_AT_SIGN_SYMBOL_in_into_clause4594	= { FOLLOW_AT_SIGN_SYMBOL_in_into_clause4594_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_text_or_identifier_in_into_clause4597  */
static	ANTLR3_BITWORD FOLLOW_text_or_identifier_in_into_clause4597_bits[]	= { ANTLR3_UINT64_LIT(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) };
static  ANTLR3_BITSET_LIST FOLLOW_text_or_identifier_in_into_clause4597	= { FOLLOW_text_or_identifier_in_into_clause4597_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_into_clause4600  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_into_clause4600_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0005000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_into_clause4600	= { FOLLOW_COMMA_SYMBOL_in_into_clause4600_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_AT_SIGN_SYMBOL_in_into_clause4602  */
static	ANTLR3_BITWORD FOLLOW_AT_SIGN_SYMBOL_in_into_clause4602_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_AT_SIGN_SYMBOL_in_into_clause4602	= { FOLLOW_AT_SIGN_SYMBOL_in_into_clause4602_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_text_or_identifier_in_into_clause4605  */
static	ANTLR3_BITWORD FOLLOW_text_or_identifier_in_into_clause4605_bits[]	= { ANTLR3_UINT64_LIT(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) };
static  ANTLR3_BITSET_LIST FOLLOW_text_or_identifier_in_into_clause4605	= { FOLLOW_text_or_identifier_in_into_clause4605_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FROM_SYMBOL_in_select_from4619  */
static	ANTLR3_BITWORD FOLLOW_FROM_SYMBOL_in_select_from4619_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000092), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000018000000), ANTLR3_UINT64_LIT(0x0000000000000040) };
static  ANTLR3_BITSET_LIST FOLLOW_FROM_SYMBOL_in_select_from4619	= { FOLLOW_FROM_SYMBOL_in_select_from4619_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DUAL_SYMBOL_in_select_from4627  */
static	ANTLR3_BITWORD FOLLOW_DUAL_SYMBOL_in_select_from4627_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000000040000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_DUAL_SYMBOL_in_select_from4627	= { FOLLOW_DUAL_SYMBOL_in_select_from4627_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_where_clause_in_select_from4643  */
static	ANTLR3_BITWORD FOLLOW_where_clause_in_select_from4643_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000000040000000) };
static  ANTLR3_BITSET_LIST FOLLOW_where_clause_in_select_from4643	= { FOLLOW_where_clause_in_select_from4643_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_limit_clause_in_select_from4661  */
static	ANTLR3_BITWORD FOLLOW_limit_clause_in_select_from4661_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_limit_clause_in_select_from4661	= { FOLLOW_limit_clause_in_select_from4661_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_references_in_select_from4669  */
static	ANTLR3_BITWORD FOLLOW_table_references_in_select_from4669_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000180000000000), ANTLR3_UINT64_LIT(0x0000000040000000), ANTLR3_UINT64_LIT(0x0000400100000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_table_references_in_select_from4669	= { FOLLOW_table_references_in_select_from4669_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_where_clause_in_select_from4688  */
static	ANTLR3_BITWORD FOLLOW_where_clause_in_select_from4688_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000180000000000), ANTLR3_UINT64_LIT(0x0000000040000000), ANTLR3_UINT64_LIT(0x0000400100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_where_clause_in_select_from4688	= { FOLLOW_where_clause_in_select_from4688_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_group_by_clause_in_select_from4709  */
static	ANTLR3_BITWORD FOLLOW_group_by_clause_in_select_from4709_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000100000000000), ANTLR3_UINT64_LIT(0x0000000040000000), ANTLR3_UINT64_LIT(0x0000400100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_group_by_clause_in_select_from4709	= { FOLLOW_group_by_clause_in_select_from4709_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_having_clause_in_select_from4730  */
static	ANTLR3_BITWORD FOLLOW_having_clause_in_select_from4730_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000000040000000), ANTLR3_UINT64_LIT(0x0000400100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_having_clause_in_select_from4730	= { FOLLOW_having_clause_in_select_from4730_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_order_by_clause_in_select_from4751  */
static	ANTLR3_BITWORD FOLLOW_order_by_clause_in_select_from4751_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000000040000000), ANTLR3_UINT64_LIT(0x0000400000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_order_by_clause_in_select_from4751	= { FOLLOW_order_by_clause_in_select_from4751_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_limit_clause_in_select_from4772  */
static	ANTLR3_BITWORD FOLLOW_limit_clause_in_select_from4772_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000400000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_limit_clause_in_select_from4772	= { FOLLOW_limit_clause_in_select_from4772_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_procedure_analyse_clause_in_select_from4793  */
static	ANTLR3_BITWORD FOLLOW_procedure_analyse_clause_in_select_from4793_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_procedure_analyse_clause_in_select_from4793	= { FOLLOW_procedure_analyse_clause_in_select_from4793_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PROCEDURE_SYMBOL_in_procedure_analyse_clause4807  */
static	ANTLR3_BITWORD FOLLOW_PROCEDURE_SYMBOL_in_procedure_analyse_clause4807_bits[]	= { 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_PROCEDURE_SYMBOL_in_procedure_analyse_clause4807	= { FOLLOW_PROCEDURE_SYMBOL_in_procedure_analyse_clause4807_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ANALYSE_SYMBOL_in_procedure_analyse_clause4810  */
static	ANTLR3_BITWORD FOLLOW_ANALYSE_SYMBOL_in_procedure_analyse_clause4810_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_ANALYSE_SYMBOL_in_procedure_analyse_clause4810	= { FOLLOW_ANALYSE_SYMBOL_in_procedure_analyse_clause4810_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_procedure_analyse_clause4812  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_procedure_analyse_clause4812_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000010000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_procedure_analyse_clause4812	= { FOLLOW_OPEN_PAR_SYMBOL_in_procedure_analyse_clause4812_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_procedure_analyse_clause4815  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_procedure_analyse_clause4815_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000210000) };
static  ANTLR3_BITSET_LIST FOLLOW_INTEGER_in_procedure_analyse_clause4815	= { FOLLOW_INTEGER_in_procedure_analyse_clause4815_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_procedure_analyse_clause4818  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_procedure_analyse_clause4818_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_COMMA_SYMBOL_in_procedure_analyse_clause4818	= { FOLLOW_COMMA_SYMBOL_in_procedure_analyse_clause4818_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_procedure_analyse_clause4820  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_procedure_analyse_clause4820_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000010000) };
static  ANTLR3_BITSET_LIST FOLLOW_INTEGER_in_procedure_analyse_clause4820	= { FOLLOW_INTEGER_in_procedure_analyse_clause4820_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_procedure_analyse_clause4826  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_procedure_analyse_clause4826_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_procedure_analyse_clause4826	= { FOLLOW_CLOSE_PAR_SYMBOL_in_procedure_analyse_clause4826_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_HAVING_SYMBOL_in_having_clause4835  */
static	ANTLR3_BITWORD FOLLOW_HAVING_SYMBOL_in_having_clause4835_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180AC908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_HAVING_SYMBOL_in_having_clause4835	= { FOLLOW_HAVING_SYMBOL_in_having_clause4835_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_having_clause4838  */
static	ANTLR3_BITWORD FOLLOW_expression_in_having_clause4838_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_having_clause4838	= { FOLLOW_expression_in_having_clause4838_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_GROUP_SYMBOL_in_group_by_clause4847  */
static	ANTLR3_BITWORD FOLLOW_GROUP_SYMBOL_in_group_by_clause4847_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_GROUP_SYMBOL_in_group_by_clause4847	= { FOLLOW_GROUP_SYMBOL_in_group_by_clause4847_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BY_SYMBOL_in_group_by_clause4850  */
static	ANTLR3_BITWORD FOLLOW_BY_SYMBOL_in_group_by_clause4850_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180AC908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_BY_SYMBOL_in_group_by_clause4850	= { FOLLOW_BY_SYMBOL_in_group_by_clause4850_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_list_with_direction_in_group_by_clause4852  */
static	ANTLR3_BITWORD FOLLOW_expression_list_with_direction_in_group_by_clause4852_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000001000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_list_with_direction_in_group_by_clause4852	= { FOLLOW_expression_list_with_direction_in_group_by_clause4852_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_olap_option_in_group_by_clause4854  */
static	ANTLR3_BITWORD FOLLOW_olap_option_in_group_by_clause4854_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_olap_option_in_group_by_clause4854	= { FOLLOW_olap_option_in_group_by_clause4854_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_WITH_SYMBOL_in_olap_option4864  */
static	ANTLR3_BITWORD FOLLOW_WITH_SYMBOL_in_olap_option4864_bits[]	= { ANTLR3_UINT64_LIT(0x0004000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_WITH_SYMBOL_in_olap_option4864	= { FOLLOW_WITH_SYMBOL_in_olap_option4864_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CUBE_SYMBOL_in_olap_option4866  */
static	ANTLR3_BITWORD FOLLOW_CUBE_SYMBOL_in_olap_option4866_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CUBE_SYMBOL_in_olap_option4866	= { FOLLOW_CUBE_SYMBOL_in_olap_option4866_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_WITH_SYMBOL_in_olap_option4871  */
static	ANTLR3_BITWORD FOLLOW_WITH_SYMBOL_in_olap_option4871_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000400000000) };
static  ANTLR3_BITSET_LIST FOLLOW_WITH_SYMBOL_in_olap_option4871	= { FOLLOW_WITH_SYMBOL_in_olap_option4871_bits, 4	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ROLLUP_SYMBOL_in_olap_option4873  */
static	ANTLR3_BITWORD FOLLOW_ROLLUP_SYMBOL_in_olap_option4873_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_ROLLUP_SYMBOL_in_olap_option4873	= { FOLLOW_ROLLUP_SYMBOL_in_olap_option4873_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ORDER_SYMBOL_in_order_by_clause4882  */
static	ANTLR3_BITWORD FOLLOW_ORDER_SYMBOL_in_order_by_clause4882_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_ORDER_SYMBOL_in_order_by_clause4882	= { FOLLOW_ORDER_SYMBOL_in_order_by_clause4882_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BY_SYMBOL_in_order_by_clause4885  */
static	ANTLR3_BITWORD FOLLOW_BY_SYMBOL_in_order_by_clause4885_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180AC908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_BY_SYMBOL_in_order_by_clause4885	= { FOLLOW_BY_SYMBOL_in_order_by_clause4885_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_list_with_direction_in_order_by_clause4887  */
static	ANTLR3_BITWORD FOLLOW_expression_list_with_direction_in_order_by_clause4887_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_list_with_direction_in_order_by_clause4887	= { FOLLOW_expression_list_with_direction_in_order_by_clause4887_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_order_by_clause_in_order_by_or_limit4896  */
static	ANTLR3_BITWORD FOLLOW_order_by_clause_in_order_by_or_limit4896_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000000040000000) };
static  ANTLR3_BITSET_LIST FOLLOW_order_by_clause_in_order_by_or_limit4896	= { FOLLOW_order_by_clause_in_order_by_or_limit4896_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_limit_clause_in_order_by_or_limit4898  */
static	ANTLR3_BITWORD FOLLOW_limit_clause_in_order_by_or_limit4898_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_limit_clause_in_order_by_or_limit4898	= { FOLLOW_limit_clause_in_order_by_or_limit4898_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_limit_clause_in_order_by_or_limit4904  */
static	ANTLR3_BITWORD FOLLOW_limit_clause_in_order_by_or_limit4904_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_limit_clause_in_order_by_or_limit4904	= { FOLLOW_limit_clause_in_order_by_or_limit4904_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_WHERE_SYMBOL_in_where_clause4935  */
static	ANTLR3_BITWORD FOLLOW_WHERE_SYMBOL_in_where_clause4935_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180AC908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_WHERE_SYMBOL_in_where_clause4935	= { FOLLOW_WHERE_SYMBOL_in_where_clause4935_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_where_clause4938  */
static	ANTLR3_BITWORD FOLLOW_expression_in_where_clause4938_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_where_clause4938	= { FOLLOW_expression_in_where_clause4938_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_escaped_table_reference_in_table_references4948  */
static	ANTLR3_BITWORD FOLLOW_escaped_table_reference_in_table_references4948_bits[]	= { ANTLR3_UINT64_LIT(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) };
static  ANTLR3_BITSET_LIST FOLLOW_escaped_table_reference_in_table_references4948	= { FOLLOW_escaped_table_reference_in_table_references4948_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_table_references4964  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_table_references4964_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000012), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000018000000), ANTLR3_UINT64_LIT(0x0000000000000040) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_table_references4964	= { FOLLOW_COMMA_SYMBOL_in_table_references4964_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_escaped_table_reference_in_table_references4966  */
static	ANTLR3_BITWORD FOLLOW_escaped_table_reference_in_table_references4966_bits[]	= { ANTLR3_UINT64_LIT(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) };
static  ANTLR3_BITSET_LIST FOLLOW_escaped_table_reference_in_table_references4966	= { FOLLOW_escaped_table_reference_in_table_references4966_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_reference_in_escaped_table_reference4983  */
static	ANTLR3_BITWORD FOLLOW_table_reference_in_escaped_table_reference4983_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_table_reference_in_escaped_table_reference4983	= { FOLLOW_table_reference_in_escaped_table_reference4983_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_CURLY_SYMBOL_in_escaped_table_reference4988  */
static	ANTLR3_BITWORD FOLLOW_OPEN_CURLY_SYMBOL_in_escaped_table_reference4988_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_CURLY_SYMBOL_in_escaped_table_reference4988	= { FOLLOW_OPEN_CURLY_SYMBOL_in_escaped_table_reference4988_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_escaped_table_reference4990  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_escaped_table_reference4990_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000012), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000010000000), ANTLR3_UINT64_LIT(0x0000000000000040) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_escaped_table_reference4990	= { FOLLOW_identifier_in_escaped_table_reference4990_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_reference_in_escaped_table_reference4992  */
static	ANTLR3_BITWORD FOLLOW_table_reference_in_escaped_table_reference4992_bits[]	= { ANTLR3_UINT64_LIT(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_table_reference_in_escaped_table_reference4992	= { FOLLOW_table_reference_in_escaped_table_reference4992_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_CURLY_SYMBOL_in_escaped_table_reference4994  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_CURLY_SYMBOL_in_escaped_table_reference4994_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_CURLY_SYMBOL_in_escaped_table_reference4994	= { FOLLOW_CLOSE_CURLY_SYMBOL_in_escaped_table_reference4994_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_factor_in_table_reference5003  */
static	ANTLR3_BITWORD FOLLOW_table_factor_in_table_reference5003_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000040000000), ANTLR3_UINT64_LIT(0x0400000000000000), ANTLR3_UINT64_LIT(0x0000000001008000), ANTLR3_UINT64_LIT(0x0000000000000040), ANTLR3_UINT64_LIT(0x0000400000000001) };
static  ANTLR3_BITSET_LIST FOLLOW_table_factor_in_table_reference5003	= { FOLLOW_table_factor_in_table_reference5003_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_join_in_table_reference5019  */
static	ANTLR3_BITWORD FOLLOW_join_in_table_reference5019_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000040000000), ANTLR3_UINT64_LIT(0x0400000000000000), ANTLR3_UINT64_LIT(0x0000000001008000), ANTLR3_UINT64_LIT(0x0000000000000040), ANTLR3_UINT64_LIT(0x0000400000000001) };
static  ANTLR3_BITSET_LIST FOLLOW_join_in_table_reference5019	= { FOLLOW_join_in_table_reference5019_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_join_table_in_join5030  */
static	ANTLR3_BITWORD FOLLOW_join_table_in_join5030_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_join_table_in_join5030	= { FOLLOW_join_table_in_join5030_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SELECT_SYMBOL_in_table_factor5047  */
static	ANTLR3_BITWORD FOLLOW_SELECT_SYMBOL_in_table_factor5047_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45804FFFFFFFFF), ANTLR3_UINT64_LIT(0x40000A4A98001181), ANTLR3_UINT64_LIT(0x2031C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180AC928), ANTLR3_UINT64_LIT(0x001A680038080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_SELECT_SYMBOL_in_table_factor5047	= { FOLLOW_SELECT_SYMBOL_in_table_factor5047_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_select_option_in_table_factor5063  */
static	ANTLR3_BITWORD FOLLOW_select_option_in_table_factor5063_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45804FFFFFFFFF), ANTLR3_UINT64_LIT(0x40000A4A98001181), ANTLR3_UINT64_LIT(0x2031C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180AC928), ANTLR3_UINT64_LIT(0x001A680038080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_select_option_in_table_factor5063	= { FOLLOW_select_option_in_table_factor5063_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_select_item_list_in_table_factor5067  */
static	ANTLR3_BITWORD FOLLOW_select_item_list_in_table_factor5067_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000000800000000), ANTLR3_UINT64_LIT(0x0000000040000000) };
static  ANTLR3_BITSET_LIST FOLLOW_select_item_list_in_table_factor5067	= { FOLLOW_select_item_list_in_table_factor5067_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_factor_select_tail_in_table_factor5083  */
static	ANTLR3_BITWORD FOLLOW_table_factor_select_tail_in_table_factor5083_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_table_factor_select_tail_in_table_factor5083	= { FOLLOW_table_factor_select_tail_in_table_factor5083_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_table_factor5090  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_table_factor5090_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000012), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000018000000), ANTLR3_UINT64_LIT(0x0000000000000040) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_table_factor5090	= { FOLLOW_OPEN_PAR_SYMBOL_in_table_factor5090_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_select_table_factor_union_in_table_factor5092  */
static	ANTLR3_BITWORD FOLLOW_select_table_factor_union_in_table_factor5092_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000010000) };
static  ANTLR3_BITSET_LIST FOLLOW_select_table_factor_union_in_table_factor5092	= { FOLLOW_select_table_factor_union_in_table_factor5092_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_table_factor5094  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_table_factor5094_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF2), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004400FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000002010) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_table_factor5094	= { FOLLOW_CLOSE_PAR_SYMBOL_in_table_factor5094_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_alias_in_table_factor5096  */
static	ANTLR3_BITWORD FOLLOW_table_alias_in_table_factor5096_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_table_alias_in_table_factor5096	= { FOLLOW_table_alias_in_table_factor5096_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_factor_table_in_table_factor5102  */
static	ANTLR3_BITWORD FOLLOW_table_factor_table_in_table_factor5102_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_table_factor_table_in_table_factor5102	= { FOLLOW_table_factor_table_in_table_factor5102_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_select_from_in_table_factor_select_tail5111  */
static	ANTLR3_BITWORD FOLLOW_select_from_in_table_factor_select_tail5111_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000000200000000), ANTLR3_UINT64_LIT(0x0000004000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_select_from_in_table_factor_select_tail5111	= { FOLLOW_select_from_in_table_factor_select_tail5111_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_select_lock_type_in_table_factor_select_tail5127  */
static	ANTLR3_BITWORD FOLLOW_select_lock_type_in_table_factor_select_tail5127_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_select_lock_type_in_table_factor_select_tail5127	= { FOLLOW_select_lock_type_in_table_factor_select_tail5127_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_limit_clause_in_table_factor_select_tail5134  */
static	ANTLR3_BITWORD FOLLOW_limit_clause_in_table_factor_select_tail5134_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_limit_clause_in_table_factor_select_tail5134	= { FOLLOW_limit_clause_in_table_factor_select_tail5134_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_references_in_select_table_factor_union5144  */
static	ANTLR3_BITWORD FOLLOW_table_references_in_select_table_factor_union5144_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000000040000000), ANTLR3_UINT64_LIT(0x0000000100000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000080) };
static  ANTLR3_BITSET_LIST FOLLOW_table_references_in_select_table_factor_union5144	= { FOLLOW_table_references_in_select_table_factor_union5144_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_order_by_or_limit_in_select_table_factor_union5146  */
static	ANTLR3_BITWORD FOLLOW_order_by_or_limit_in_select_table_factor_union5146_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000000000000080) };
static  ANTLR3_BITSET_LIST FOLLOW_order_by_or_limit_in_select_table_factor_union5146	= { FOLLOW_order_by_or_limit_in_select_table_factor_union5146_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_UNION_SYMBOL_in_select_table_factor_union5151  */
static	ANTLR3_BITWORD FOLLOW_UNION_SYMBOL_in_select_table_factor_union5151_bits[]	= { 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(0x4000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000010000000), ANTLR3_UINT64_LIT(0x0000000000000040) };
static  ANTLR3_BITSET_LIST FOLLOW_UNION_SYMBOL_in_select_table_factor_union5151	= { FOLLOW_UNION_SYMBOL_in_select_table_factor_union5151_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_union_option_in_select_table_factor_union5153  */
static	ANTLR3_BITWORD FOLLOW_union_option_in_select_table_factor_union5153_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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), ANTLR3_UINT64_LIT(0x0000000000000040) };
static  ANTLR3_BITSET_LIST FOLLOW_union_option_in_select_table_factor_union5153	= { FOLLOW_union_option_in_select_table_factor_union5153_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_join_query_specification_in_select_table_factor_union5156  */
static	ANTLR3_BITWORD FOLLOW_join_query_specification_in_select_table_factor_union5156_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000000040000000), ANTLR3_UINT64_LIT(0x0000000100000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000080) };
static  ANTLR3_BITSET_LIST FOLLOW_join_query_specification_in_select_table_factor_union5156	= { FOLLOW_join_query_specification_in_select_table_factor_union5156_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_order_by_or_limit_in_select_table_factor_union5158  */
static	ANTLR3_BITWORD FOLLOW_order_by_or_limit_in_select_table_factor_union5158_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000000000000080) };
static  ANTLR3_BITSET_LIST FOLLOW_order_by_or_limit_in_select_table_factor_union5158	= { FOLLOW_order_by_or_limit_in_select_table_factor_union5158_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SELECT_SYMBOL_in_join_query_specification5170  */
static	ANTLR3_BITWORD FOLLOW_SELECT_SYMBOL_in_join_query_specification5170_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45804FFFFFFFFF), ANTLR3_UINT64_LIT(0x40000A4A98001181), ANTLR3_UINT64_LIT(0x2031C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180AC928), ANTLR3_UINT64_LIT(0x001A680038080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_SELECT_SYMBOL_in_join_query_specification5170	= { FOLLOW_SELECT_SYMBOL_in_join_query_specification5170_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_query_expression_option_in_join_query_specification5186  */
static	ANTLR3_BITWORD FOLLOW_query_expression_option_in_join_query_specification5186_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45804FFFFFFFFF), ANTLR3_UINT64_LIT(0x40000A4A98001181), ANTLR3_UINT64_LIT(0x2031C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180AC928), ANTLR3_UINT64_LIT(0x001A680038080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_query_expression_option_in_join_query_specification5186	= { FOLLOW_query_expression_option_in_join_query_specification5186_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_select_item_list_in_join_query_specification5190  */
static	ANTLR3_BITWORD FOLLOW_select_item_list_in_join_query_specification5190_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000000A00000000), ANTLR3_UINT64_LIT(0x0000004000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_select_item_list_in_join_query_specification5190	= { FOLLOW_select_item_list_in_join_query_specification5190_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_select_from_in_join_query_specification5192  */
static	ANTLR3_BITWORD FOLLOW_select_from_in_join_query_specification5192_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000000200000000), ANTLR3_UINT64_LIT(0x0000004000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_select_from_in_join_query_specification5192	= { FOLLOW_select_from_in_join_query_specification5192_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_select_lock_type_in_join_query_specification5195  */
static	ANTLR3_BITWORD FOLLOW_select_lock_type_in_join_query_specification5195_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_select_lock_type_in_join_query_specification5195	= { FOLLOW_select_lock_type_in_join_query_specification5195_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_join_query_specification5201  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_join_query_specification5201_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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), ANTLR3_UINT64_LIT(0x0000000000000040) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_join_query_specification5201	= { FOLLOW_OPEN_PAR_SYMBOL_in_join_query_specification5201_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_join_query_specification_in_join_query_specification5203  */
static	ANTLR3_BITWORD FOLLOW_join_query_specification_in_join_query_specification5203_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000010000) };
static  ANTLR3_BITSET_LIST FOLLOW_join_query_specification_in_join_query_specification5203	= { FOLLOW_join_query_specification_in_join_query_specification5203_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_join_query_specification5205  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_join_query_specification5205_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_join_query_specification5205	= { FOLLOW_CLOSE_PAR_SYMBOL_in_join_query_specification5205_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_identifier_in_table_factor_table5214  */
static	ANTLR3_BITWORD FOLLOW_table_identifier_in_table_factor_table5214_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF2), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004400FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0050000080002010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000002000) };
static  ANTLR3_BITSET_LIST FOLLOW_table_identifier_in_table_factor_table5214	= { FOLLOW_table_identifier_in_table_factor_table5214_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_use_partition_in_table_factor_table5216  */
static	ANTLR3_BITWORD FOLLOW_use_partition_in_table_factor_table5216_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF2), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004400FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0050000080002010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000002000) };
static  ANTLR3_BITSET_LIST FOLLOW_use_partition_in_table_factor_table5216	= { FOLLOW_use_partition_in_table_factor_table5216_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_alias_in_table_factor_table5219  */
static	ANTLR3_BITWORD FOLLOW_table_alias_in_table_factor_table5219_bits[]	= { ANTLR3_UINT64_LIT(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(0x0040000080000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000002000) };
static  ANTLR3_BITSET_LIST FOLLOW_table_alias_in_table_factor_table5219	= { FOLLOW_table_alias_in_table_factor_table5219_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_index_hint_list_in_table_factor_table5222  */
static	ANTLR3_BITWORD FOLLOW_index_hint_list_in_table_factor_table5222_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_index_hint_list_in_table_factor_table5222	= { FOLLOW_index_hint_list_in_table_factor_table5222_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_JOIN_SYMBOL_in_join_table5241  */
static	ANTLR3_BITWORD FOLLOW_JOIN_SYMBOL_in_join_table5241_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000012), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000010000000), ANTLR3_UINT64_LIT(0x0000000000000040) };
static  ANTLR3_BITSET_LIST FOLLOW_JOIN_SYMBOL_in_join_table5241	= { FOLLOW_JOIN_SYMBOL_in_join_table5241_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_reference_in_join_table5243  */
static	ANTLR3_BITWORD FOLLOW_table_reference_in_join_table5243_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000000002000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000004000) };
static  ANTLR3_BITSET_LIST FOLLOW_table_reference_in_join_table5243	= { FOLLOW_table_reference_in_join_table5243_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_join_condition_in_join_table5257  */
static	ANTLR3_BITWORD FOLLOW_join_condition_in_join_table5257_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_join_condition_in_join_table5257	= { FOLLOW_join_condition_in_join_table5257_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_STRAIGHT_JOIN_SYMBOL_in_join_table5264  */
static	ANTLR3_BITWORD FOLLOW_STRAIGHT_JOIN_SYMBOL_in_join_table5264_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000012), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000010000000), ANTLR3_UINT64_LIT(0x0000000000000040) };
static  ANTLR3_BITSET_LIST FOLLOW_STRAIGHT_JOIN_SYMBOL_in_join_table5264	= { FOLLOW_STRAIGHT_JOIN_SYMBOL_in_join_table5264_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_factor_in_join_table5266  */
static	ANTLR3_BITWORD FOLLOW_table_factor_in_join_table5266_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000000002000000) };
static  ANTLR3_BITSET_LIST FOLLOW_table_factor_in_join_table5266	= { FOLLOW_table_factor_in_join_table5266_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ON_SYMBOL_in_join_table5280  */
static	ANTLR3_BITWORD FOLLOW_ON_SYMBOL_in_join_table5280_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180AC908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_ON_SYMBOL_in_join_table5280	= { FOLLOW_ON_SYMBOL_in_join_table5280_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_join_table5282  */
static	ANTLR3_BITWORD FOLLOW_expression_in_join_table5282_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_join_table5282	= { FOLLOW_expression_in_join_table5282_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_join_table5289  */
static	ANTLR3_BITWORD FOLLOW_set_in_join_table5289_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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), ANTLR3_UINT64_LIT(0x0000000400000000) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_join_table5289	= { FOLLOW_set_in_join_table5289_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OUTER_SYMBOL_in_join_table5297  */
static	ANTLR3_BITWORD FOLLOW_OUTER_SYMBOL_in_join_table5297_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_OUTER_SYMBOL_in_join_table5297	= { FOLLOW_OUTER_SYMBOL_in_join_table5297_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_JOIN_SYMBOL_in_join_table5300  */
static	ANTLR3_BITWORD FOLLOW_JOIN_SYMBOL_in_join_table5300_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000012), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000010000000), ANTLR3_UINT64_LIT(0x0000000000000040) };
static  ANTLR3_BITSET_LIST FOLLOW_JOIN_SYMBOL_in_join_table5300	= { FOLLOW_JOIN_SYMBOL_in_join_table5300_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_reference_in_join_table5302  */
static	ANTLR3_BITWORD FOLLOW_table_reference_in_join_table5302_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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(0x0000000000004000) };
static  ANTLR3_BITSET_LIST FOLLOW_table_reference_in_join_table5302	= { FOLLOW_table_reference_in_join_table5302_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_join_condition_in_join_table5304  */
static	ANTLR3_BITWORD FOLLOW_join_condition_in_join_table5304_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_join_condition_in_join_table5304	= { FOLLOW_join_condition_in_join_table5304_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_NATURAL_SYMBOL_in_join_table5309  */
static	ANTLR3_BITWORD FOLLOW_NATURAL_SYMBOL_in_join_table5309_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000001008000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000001) };
static  ANTLR3_BITSET_LIST FOLLOW_NATURAL_SYMBOL_in_join_table5309	= { FOLLOW_NATURAL_SYMBOL_in_join_table5309_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_join_table5312  */
static	ANTLR3_BITWORD FOLLOW_set_in_join_table5312_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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), ANTLR3_UINT64_LIT(0x0000000400000000) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_join_table5312	= { FOLLOW_set_in_join_table5312_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OUTER_SYMBOL_in_join_table5320  */
static	ANTLR3_BITWORD FOLLOW_OUTER_SYMBOL_in_join_table5320_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_OUTER_SYMBOL_in_join_table5320	= { FOLLOW_OUTER_SYMBOL_in_join_table5320_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_JOIN_SYMBOL_in_join_table5325  */
static	ANTLR3_BITWORD FOLLOW_JOIN_SYMBOL_in_join_table5325_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000012), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000010000000), ANTLR3_UINT64_LIT(0x0000000000000040) };
static  ANTLR3_BITSET_LIST FOLLOW_JOIN_SYMBOL_in_join_table5325	= { FOLLOW_JOIN_SYMBOL_in_join_table5325_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_factor_in_join_table5327  */
static	ANTLR3_BITWORD FOLLOW_table_factor_in_join_table5327_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_table_factor_in_join_table5327	= { FOLLOW_table_factor_in_join_table5327_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ON_SYMBOL_in_join_condition5336  */
static	ANTLR3_BITWORD FOLLOW_ON_SYMBOL_in_join_condition5336_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180AC908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_ON_SYMBOL_in_join_condition5336	= { FOLLOW_ON_SYMBOL_in_join_condition5336_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_join_condition5338  */
static	ANTLR3_BITWORD FOLLOW_expression_in_join_condition5338_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_join_condition5338	= { FOLLOW_expression_in_join_condition5338_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_USING_SYMBOL_in_join_condition5343  */
static	ANTLR3_BITWORD FOLLOW_USING_SYMBOL_in_join_condition5343_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_USING_SYMBOL_in_join_condition5343	= { FOLLOW_USING_SYMBOL_in_join_condition5343_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_list_with_parentheses_in_join_condition5345  */
static	ANTLR3_BITWORD FOLLOW_identifier_list_with_parentheses_in_join_condition5345_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_list_with_parentheses_in_join_condition5345	= { FOLLOW_identifier_list_with_parentheses_in_join_condition5345_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_UNION_SYMBOL_in_union_clause5355  */
static	ANTLR3_BITWORD FOLLOW_UNION_SYMBOL_in_union_clause5355_bits[]	= { 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(0x4000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000010000000), ANTLR3_UINT64_LIT(0x0000000000000040) };
static  ANTLR3_BITSET_LIST FOLLOW_UNION_SYMBOL_in_union_clause5355	= { FOLLOW_UNION_SYMBOL_in_union_clause5355_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_union_option_in_union_clause5358  */
static	ANTLR3_BITWORD FOLLOW_union_option_in_union_clause5358_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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), ANTLR3_UINT64_LIT(0x0000000000000040) };
static  ANTLR3_BITSET_LIST FOLLOW_union_option_in_union_clause5358	= { FOLLOW_union_option_in_union_clause5358_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_select_statement_in_union_clause5361  */
static	ANTLR3_BITWORD FOLLOW_select_statement_in_union_clause5361_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_select_statement_in_union_clause5361	= { FOLLOW_select_statement_in_union_clause5361_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_union_clause_in_union_or_order_by_or_limit5385  */
static	ANTLR3_BITWORD FOLLOW_union_clause_in_union_or_order_by_or_limit5385_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_union_clause_in_union_or_order_by_or_limit5385	= { FOLLOW_union_clause_in_union_or_order_by_or_limit5385_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_order_by_clause_in_union_or_order_by_or_limit5390  */
static	ANTLR3_BITWORD FOLLOW_order_by_clause_in_union_or_order_by_or_limit5390_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000000040000000) };
static  ANTLR3_BITSET_LIST FOLLOW_order_by_clause_in_union_or_order_by_or_limit5390	= { FOLLOW_order_by_clause_in_union_or_order_by_or_limit5390_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_limit_clause_in_union_or_order_by_or_limit5392  */
static	ANTLR3_BITWORD FOLLOW_limit_clause_in_union_or_order_by_or_limit5392_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_limit_clause_in_union_or_order_by_or_limit5392	= { FOLLOW_limit_clause_in_union_or_order_by_or_limit5392_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_limit_clause_in_union_or_order_by_or_limit5398  */
static	ANTLR3_BITWORD FOLLOW_limit_clause_in_union_or_order_by_or_limit5398_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_limit_clause_in_union_or_order_by_or_limit5398	= { FOLLOW_limit_clause_in_union_or_order_by_or_limit5398_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FOR_SYMBOL_in_select_lock_type5407  */
static	ANTLR3_BITWORD FOLLOW_FOR_SYMBOL_in_select_lock_type5407_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_FOR_SYMBOL_in_select_lock_type5407	= { FOLLOW_FOR_SYMBOL_in_select_lock_type5407_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_UPDATE_SYMBOL_in_select_lock_type5409  */
static	ANTLR3_BITWORD FOLLOW_UPDATE_SYMBOL_in_select_lock_type5409_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_UPDATE_SYMBOL_in_select_lock_type5409	= { FOLLOW_UPDATE_SYMBOL_in_select_lock_type5409_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_LOCK_SYMBOL_in_select_lock_type5414  */
static	ANTLR3_BITWORD FOLLOW_LOCK_SYMBOL_in_select_lock_type5414_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_LOCK_SYMBOL_in_select_lock_type5414	= { FOLLOW_LOCK_SYMBOL_in_select_lock_type5414_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_IN_SYMBOL_in_select_lock_type5416  */
static	ANTLR3_BITWORD FOLLOW_IN_SYMBOL_in_select_lock_type5416_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000800000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_IN_SYMBOL_in_select_lock_type5416	= { FOLLOW_IN_SYMBOL_in_select_lock_type5416_bits, 4	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SHARE_SYMBOL_in_select_lock_type5418  */
static	ANTLR3_BITWORD FOLLOW_SHARE_SYMBOL_in_select_lock_type5418_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_SHARE_SYMBOL_in_select_lock_type5418	= { FOLLOW_SHARE_SYMBOL_in_select_lock_type5418_bits, 3	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MODE_SYMBOL_in_select_lock_type5420  */
static	ANTLR3_BITWORD FOLLOW_MODE_SYMBOL_in_select_lock_type5420_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_MODE_SYMBOL_in_select_lock_type5420	= { FOLLOW_MODE_SYMBOL_in_select_lock_type5420_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_table_alias5438  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_table_alias5438_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_table_alias5438	= { FOLLOW_identifier_in_table_alias5438_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_index_hint_in_index_hint_list5447  */
static	ANTLR3_BITWORD FOLLOW_index_hint_in_index_hint_list5447_bits[]	= { ANTLR3_UINT64_LIT(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) };
static  ANTLR3_BITSET_LIST FOLLOW_index_hint_in_index_hint_list5447	= { FOLLOW_index_hint_in_index_hint_list5447_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_index_hint_list5450  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_index_hint_list5450_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0040000080000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000002000) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_index_hint_list5450	= { FOLLOW_COMMA_SYMBOL_in_index_hint_list5450_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_index_hint_in_index_hint_list5452  */
static	ANTLR3_BITWORD FOLLOW_index_hint_in_index_hint_list5452_bits[]	= { ANTLR3_UINT64_LIT(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) };
static  ANTLR3_BITSET_LIST FOLLOW_index_hint_in_index_hint_list5452	= { FOLLOW_index_hint_in_index_hint_list5452_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_index_hint_type_in_index_hint5478  */
static	ANTLR3_BITWORD FOLLOW_index_hint_type_in_index_hint5478_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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(0x0000000000080000) };
static  ANTLR3_BITSET_LIST FOLLOW_index_hint_type_in_index_hint5478	= { FOLLOW_index_hint_type_in_index_hint5478_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_key_or_index_in_index_hint5480  */
static	ANTLR3_BITWORD FOLLOW_key_or_index_in_index_hint5480_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000010000000) };
static  ANTLR3_BITSET_LIST FOLLOW_key_or_index_in_index_hint5480	= { FOLLOW_key_or_index_in_index_hint5480_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_index_hint_clause_in_index_hint5482  */
static	ANTLR3_BITWORD FOLLOW_index_hint_clause_in_index_hint5482_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_hint_clause_in_index_hint5482	= { FOLLOW_index_hint_clause_in_index_hint5482_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_index_hint5485  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_index_hint5485_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000100000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_index_hint5485	= { FOLLOW_OPEN_PAR_SYMBOL_in_index_hint5485_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_index_list_in_index_hint5487  */
static	ANTLR3_BITWORD FOLLOW_index_list_in_index_hint5487_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000010000) };
static  ANTLR3_BITSET_LIST FOLLOW_index_list_in_index_hint5487	= { FOLLOW_index_list_in_index_hint5487_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_index_hint5489  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_index_hint5489_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_index_hint5489	= { FOLLOW_CLOSE_PAR_SYMBOL_in_index_hint5489_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_USE_SYMBOL_in_index_hint5494  */
static	ANTLR3_BITWORD FOLLOW_USE_SYMBOL_in_index_hint5494_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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(0x0000000000080000) };
static  ANTLR3_BITSET_LIST FOLLOW_USE_SYMBOL_in_index_hint5494	= { FOLLOW_USE_SYMBOL_in_index_hint5494_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_key_or_index_in_index_hint5496  */
static	ANTLR3_BITWORD FOLLOW_key_or_index_in_index_hint5496_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000010000000) };
static  ANTLR3_BITSET_LIST FOLLOW_key_or_index_in_index_hint5496	= { FOLLOW_key_or_index_in_index_hint5496_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_index_hint_clause_in_index_hint5498  */
static	ANTLR3_BITWORD FOLLOW_index_hint_clause_in_index_hint5498_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_hint_clause_in_index_hint5498	= { FOLLOW_index_hint_clause_in_index_hint5498_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_index_hint5501  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_index_hint5501_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000010000), ANTLR3_UINT64_LIT(0x0010000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000100000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_index_hint5501	= { FOLLOW_OPEN_PAR_SYMBOL_in_index_hint5501_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_index_list_in_index_hint5503  */
static	ANTLR3_BITWORD FOLLOW_index_list_in_index_hint5503_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000010000) };
static  ANTLR3_BITSET_LIST FOLLOW_index_list_in_index_hint5503	= { FOLLOW_index_list_in_index_hint5503_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_index_hint5506  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_index_hint5506_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_index_hint5506	= { FOLLOW_CLOSE_PAR_SYMBOL_in_index_hint5506_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FOR_SYMBOL_in_index_hint_clause5542  */
static	ANTLR3_BITWORD FOLLOW_FOR_SYMBOL_in_index_hint_clause5542_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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(0x0000000000008000), ANTLR3_UINT64_LIT(0x0000000100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_FOR_SYMBOL_in_index_hint_clause5542	= { FOLLOW_FOR_SYMBOL_in_index_hint_clause5542_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_JOIN_SYMBOL_in_index_hint_clause5545  */
static	ANTLR3_BITWORD FOLLOW_JOIN_SYMBOL_in_index_hint_clause5545_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_JOIN_SYMBOL_in_index_hint_clause5545	= { FOLLOW_JOIN_SYMBOL_in_index_hint_clause5545_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ORDER_SYMBOL_in_index_hint_clause5549  */
static	ANTLR3_BITWORD FOLLOW_ORDER_SYMBOL_in_index_hint_clause5549_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_ORDER_SYMBOL_in_index_hint_clause5549	= { FOLLOW_ORDER_SYMBOL_in_index_hint_clause5549_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BY_SYMBOL_in_index_hint_clause5551  */
static	ANTLR3_BITWORD FOLLOW_BY_SYMBOL_in_index_hint_clause5551_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_BY_SYMBOL_in_index_hint_clause5551	= { FOLLOW_BY_SYMBOL_in_index_hint_clause5551_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_GROUP_SYMBOL_in_index_hint_clause5555  */
static	ANTLR3_BITWORD FOLLOW_GROUP_SYMBOL_in_index_hint_clause5555_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_GROUP_SYMBOL_in_index_hint_clause5555	= { FOLLOW_GROUP_SYMBOL_in_index_hint_clause5555_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BY_SYMBOL_in_index_hint_clause5557  */
static	ANTLR3_BITWORD FOLLOW_BY_SYMBOL_in_index_hint_clause5557_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_BY_SYMBOL_in_index_hint_clause5557	= { FOLLOW_BY_SYMBOL_in_index_hint_clause5557_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_index_list_element_in_index_list5567  */
static	ANTLR3_BITWORD FOLLOW_index_list_element_in_index_list5567_bits[]	= { ANTLR3_UINT64_LIT(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) };
static  ANTLR3_BITSET_LIST FOLLOW_index_list_element_in_index_list5567	= { FOLLOW_index_list_element_in_index_list5567_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_index_list5570  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_index_list5570_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000100000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_index_list5570	= { FOLLOW_COMMA_SYMBOL_in_index_list5570_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_index_list_element_in_index_list5572  */
static	ANTLR3_BITWORD FOLLOW_index_list_element_in_index_list5572_bits[]	= { ANTLR3_UINT64_LIT(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) };
static  ANTLR3_BITSET_LIST FOLLOW_index_list_element_in_index_list5572	= { FOLLOW_index_list_element_in_index_list5572_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_index_list_element5583  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_index_list_element5583_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_index_list_element5583	= { FOLLOW_identifier_in_index_list_element5583_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PRIMARY_SYMBOL_in_index_list_element5588  */
static	ANTLR3_BITWORD FOLLOW_PRIMARY_SYMBOL_in_index_list_element5588_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_PRIMARY_SYMBOL_in_index_list_element5588	= { FOLLOW_PRIMARY_SYMBOL_in_index_list_element5588_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_UPDATE_SYMBOL_in_update_statement5599  */
static	ANTLR3_BITWORD FOLLOW_UPDATE_SYMBOL_in_update_statement5599_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0050000000000012), ANTLR3_UINT64_LIT(0x0001000000000000), ANTLR3_UINT64_LIT(0x0000000018000000), ANTLR3_UINT64_LIT(0x0000000000000040) };
static  ANTLR3_BITSET_LIST FOLLOW_UPDATE_SYMBOL_in_update_statement5599	= { FOLLOW_UPDATE_SYMBOL_in_update_statement5599_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_LOW_PRIORITY_SYMBOL_in_update_statement5602  */
static	ANTLR3_BITWORD FOLLOW_LOW_PRIORITY_SYMBOL_in_update_statement5602_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0050000000000012), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000018000000), ANTLR3_UINT64_LIT(0x0000000000000040) };
static  ANTLR3_BITSET_LIST FOLLOW_LOW_PRIORITY_SYMBOL_in_update_statement5602	= { FOLLOW_LOW_PRIORITY_SYMBOL_in_update_statement5602_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_IGNORE_SYMBOL_in_update_statement5605  */
static	ANTLR3_BITWORD FOLLOW_IGNORE_SYMBOL_in_update_statement5605_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000012), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000018000000), ANTLR3_UINT64_LIT(0x0000000000000040) };
static  ANTLR3_BITSET_LIST FOLLOW_IGNORE_SYMBOL_in_update_statement5605	= { FOLLOW_IGNORE_SYMBOL_in_update_statement5605_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_references_in_update_statement5608  */
static	ANTLR3_BITWORD FOLLOW_table_references_in_update_statement5608_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_references_in_update_statement5608	= { FOLLOW_table_references_in_update_statement5608_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SET_SYMBOL_in_update_statement5612  */
static	ANTLR3_BITWORD FOLLOW_SET_SYMBOL_in_update_statement5612_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000012) };
static  ANTLR3_BITSET_LIST FOLLOW_SET_SYMBOL_in_update_statement5612	= { FOLLOW_SET_SYMBOL_in_update_statement5612_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_column_assignment_list_with_default_in_update_statement5614  */
static	ANTLR3_BITWORD FOLLOW_column_assignment_list_with_default_in_update_statement5614_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000000040000000), ANTLR3_UINT64_LIT(0x0000000100000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_column_assignment_list_with_default_in_update_statement5614	= { FOLLOW_column_assignment_list_with_default_in_update_statement5614_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_where_clause_in_update_statement5616  */
static	ANTLR3_BITWORD FOLLOW_where_clause_in_update_statement5616_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000000040000000), ANTLR3_UINT64_LIT(0x0000000100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_where_clause_in_update_statement5616	= { FOLLOW_where_clause_in_update_statement5616_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_order_by_clause_in_update_statement5619  */
static	ANTLR3_BITWORD FOLLOW_order_by_clause_in_update_statement5619_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000000040000000) };
static  ANTLR3_BITSET_LIST FOLLOW_order_by_clause_in_update_statement5619	= { FOLLOW_order_by_clause_in_update_statement5619_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_limit_clause_in_update_statement5622  */
static	ANTLR3_BITWORD FOLLOW_limit_clause_in_update_statement5622_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_limit_clause_in_update_statement5622	= { FOLLOW_limit_clause_in_update_statement5622_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_transaction_statement_in_transaction_or_locking_statement5634  */
static	ANTLR3_BITWORD FOLLOW_transaction_statement_in_transaction_or_locking_statement5634_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_transaction_statement_in_transaction_or_locking_statement5634	= { FOLLOW_transaction_statement_in_transaction_or_locking_statement5634_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_savepoint_statement_in_transaction_or_locking_statement5639  */
static	ANTLR3_BITWORD FOLLOW_savepoint_statement_in_transaction_or_locking_statement5639_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_savepoint_statement_in_transaction_or_locking_statement5639	= { FOLLOW_savepoint_statement_in_transaction_or_locking_statement5639_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_lock_statement_in_transaction_or_locking_statement5644  */
static	ANTLR3_BITWORD FOLLOW_lock_statement_in_transaction_or_locking_statement5644_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_lock_statement_in_transaction_or_locking_statement5644	= { FOLLOW_lock_statement_in_transaction_or_locking_statement5644_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_xa_statement_in_transaction_or_locking_statement5649  */
static	ANTLR3_BITWORD FOLLOW_xa_statement_in_transaction_or_locking_statement5649_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_xa_statement_in_transaction_or_locking_statement5649	= { FOLLOW_xa_statement_in_transaction_or_locking_statement5649_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_START_SYMBOL_in_transaction_statement5658  */
static	ANTLR3_BITWORD FOLLOW_START_SYMBOL_in_transaction_statement5658_bits[]	= { 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_START_SYMBOL_in_transaction_statement5658	= { FOLLOW_START_SYMBOL_in_transaction_statement5658_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TRANSACTION_SYMBOL_in_transaction_statement5661  */
static	ANTLR3_BITWORD FOLLOW_TRANSACTION_SYMBOL_in_transaction_statement5661_bits[]	= { ANTLR3_UINT64_LIT(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(0x0004000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000001000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_TRANSACTION_SYMBOL_in_transaction_statement5661	= { FOLLOW_TRANSACTION_SYMBOL_in_transaction_statement5661_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_transaction_characteristic_in_transaction_statement5663  */
static	ANTLR3_BITWORD FOLLOW_transaction_characteristic_in_transaction_statement5663_bits[]	= { ANTLR3_UINT64_LIT(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(0x0004000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000001000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_transaction_characteristic_in_transaction_statement5663	= { FOLLOW_transaction_characteristic_in_transaction_statement5663_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BEGIN_SYMBOL_in_transaction_statement5669  */
static	ANTLR3_BITWORD FOLLOW_BEGIN_SYMBOL_in_transaction_statement5669_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000400000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_BEGIN_SYMBOL_in_transaction_statement5669	= { FOLLOW_BEGIN_SYMBOL_in_transaction_statement5669_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_WORK_SYMBOL_in_transaction_statement5672  */
static	ANTLR3_BITWORD FOLLOW_WORK_SYMBOL_in_transaction_statement5672_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_WORK_SYMBOL_in_transaction_statement5672	= { FOLLOW_WORK_SYMBOL_in_transaction_statement5672_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMIT_SYMBOL_in_transaction_statement5678  */
static	ANTLR3_BITWORD FOLLOW_COMMIT_SYMBOL_in_transaction_statement5678_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000400000000000), ANTLR3_UINT64_LIT(0x0000040000000100), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0080000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMIT_SYMBOL_in_transaction_statement5678	= { FOLLOW_COMMIT_SYMBOL_in_transaction_statement5678_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_WORK_SYMBOL_in_transaction_statement5681  */
static	ANTLR3_BITWORD FOLLOW_WORK_SYMBOL_in_transaction_statement5681_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000040000000100), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0080000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_WORK_SYMBOL_in_transaction_statement5681	= { FOLLOW_WORK_SYMBOL_in_transaction_statement5681_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_AND_SYMBOL_in_transaction_statement5685  */
static	ANTLR3_BITWORD FOLLOW_AND_SYMBOL_in_transaction_statement5685_bits[]	= { ANTLR3_UINT64_LIT(0x0000000004000000), 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_AND_SYMBOL_in_transaction_statement5685	= { FOLLOW_AND_SYMBOL_in_transaction_statement5685_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_NO_SYMBOL_in_transaction_statement5687  */
static	ANTLR3_BITWORD FOLLOW_NO_SYMBOL_in_transaction_statement5687_bits[]	= { ANTLR3_UINT64_LIT(0x0000000004000000) };
static  ANTLR3_BITSET_LIST FOLLOW_NO_SYMBOL_in_transaction_statement5687	= { FOLLOW_NO_SYMBOL_in_transaction_statement5687_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CHAIN_SYMBOL_in_transaction_statement5690  */
static	ANTLR3_BITWORD FOLLOW_CHAIN_SYMBOL_in_transaction_statement5690_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), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0080000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_CHAIN_SYMBOL_in_transaction_statement5690	= { FOLLOW_CHAIN_SYMBOL_in_transaction_statement5690_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_NO_SYMBOL_in_transaction_statement5695  */
static	ANTLR3_BITWORD FOLLOW_NO_SYMBOL_in_transaction_statement5695_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_NO_SYMBOL_in_transaction_statement5695	= { FOLLOW_NO_SYMBOL_in_transaction_statement5695_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_RELEASE_SYMBOL_in_transaction_statement5698  */
static	ANTLR3_BITWORD FOLLOW_RELEASE_SYMBOL_in_transaction_statement5698_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_RELEASE_SYMBOL_in_transaction_statement5698	= { FOLLOW_RELEASE_SYMBOL_in_transaction_statement5698_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ROLLBACK_SYMBOL_in_transaction_statement5705  */
static	ANTLR3_BITWORD FOLLOW_ROLLBACK_SYMBOL_in_transaction_statement5705_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000400000000000), ANTLR3_UINT64_LIT(0x0000040000000100), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0080000000000000), ANTLR3_UINT64_LIT(0x4000000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_ROLLBACK_SYMBOL_in_transaction_statement5705	= { FOLLOW_ROLLBACK_SYMBOL_in_transaction_statement5705_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_WORK_SYMBOL_in_transaction_statement5708  */
static	ANTLR3_BITWORD FOLLOW_WORK_SYMBOL_in_transaction_statement5708_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000040000000100), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0080000000000000), ANTLR3_UINT64_LIT(0x4000000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_WORK_SYMBOL_in_transaction_statement5708	= { FOLLOW_WORK_SYMBOL_in_transaction_statement5708_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_AND_SYMBOL_in_transaction_statement5719  */
static	ANTLR3_BITWORD FOLLOW_AND_SYMBOL_in_transaction_statement5719_bits[]	= { ANTLR3_UINT64_LIT(0x0000000004000000), 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_AND_SYMBOL_in_transaction_statement5719	= { FOLLOW_AND_SYMBOL_in_transaction_statement5719_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_NO_SYMBOL_in_transaction_statement5721  */
static	ANTLR3_BITWORD FOLLOW_NO_SYMBOL_in_transaction_statement5721_bits[]	= { ANTLR3_UINT64_LIT(0x0000000004000000) };
static  ANTLR3_BITSET_LIST FOLLOW_NO_SYMBOL_in_transaction_statement5721	= { FOLLOW_NO_SYMBOL_in_transaction_statement5721_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CHAIN_SYMBOL_in_transaction_statement5724  */
static	ANTLR3_BITWORD FOLLOW_CHAIN_SYMBOL_in_transaction_statement5724_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), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0080000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_CHAIN_SYMBOL_in_transaction_statement5724	= { FOLLOW_CHAIN_SYMBOL_in_transaction_statement5724_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_NO_SYMBOL_in_transaction_statement5729  */
static	ANTLR3_BITWORD FOLLOW_NO_SYMBOL_in_transaction_statement5729_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_NO_SYMBOL_in_transaction_statement5729	= { FOLLOW_NO_SYMBOL_in_transaction_statement5729_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_RELEASE_SYMBOL_in_transaction_statement5732  */
static	ANTLR3_BITWORD FOLLOW_RELEASE_SYMBOL_in_transaction_statement5732_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_RELEASE_SYMBOL_in_transaction_statement5732	= { FOLLOW_RELEASE_SYMBOL_in_transaction_statement5732_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TO_SYMBOL_in_transaction_statement5741  */
static	ANTLR3_BITWORD FOLLOW_TO_SYMBOL_in_transaction_statement5741_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_TO_SYMBOL_in_transaction_statement5741	= { FOLLOW_TO_SYMBOL_in_transaction_statement5741_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SAVEPOINT_SYMBOL_in_transaction_statement5743  */
static	ANTLR3_BITWORD FOLLOW_SAVEPOINT_SYMBOL_in_transaction_statement5743_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_SAVEPOINT_SYMBOL_in_transaction_statement5743	= { FOLLOW_SAVEPOINT_SYMBOL_in_transaction_statement5743_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_transaction_statement5746  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_transaction_statement5746_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_transaction_statement5746	= { FOLLOW_identifier_in_transaction_statement5746_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_WITH_SYMBOL_in_transaction_characteristic5766  */
static	ANTLR3_BITWORD FOLLOW_WITH_SYMBOL_in_transaction_characteristic5766_bits[]	= { ANTLR3_UINT64_LIT(0x0000080000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_WITH_SYMBOL_in_transaction_characteristic5766	= { FOLLOW_WITH_SYMBOL_in_transaction_characteristic5766_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CONSISTENT_SYMBOL_in_transaction_characteristic5768  */
static	ANTLR3_BITWORD FOLLOW_CONSISTENT_SYMBOL_in_transaction_characteristic5768_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_CONSISTENT_SYMBOL_in_transaction_characteristic5768	= { FOLLOW_CONSISTENT_SYMBOL_in_transaction_characteristic5768_bits, 4	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SNAPSHOT_SYMBOL_in_transaction_characteristic5770  */
static	ANTLR3_BITWORD FOLLOW_SNAPSHOT_SYMBOL_in_transaction_characteristic5770_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_SNAPSHOT_SYMBOL_in_transaction_characteristic5770	= { FOLLOW_SNAPSHOT_SYMBOL_in_transaction_characteristic5770_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_READ_SYMBOL_in_transaction_characteristic5779  */
static	ANTLR3_BITWORD FOLLOW_READ_SYMBOL_in_transaction_characteristic5779_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000001000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000002000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_READ_SYMBOL_in_transaction_characteristic5779	= { FOLLOW_READ_SYMBOL_in_transaction_characteristic5779_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_transaction_characteristic5781  */
static	ANTLR3_BITWORD FOLLOW_set_in_transaction_characteristic5781_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_transaction_characteristic5781	= { FOLLOW_set_in_transaction_characteristic5781_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ISOLATION_SYMBOL_in_set_transaction_characteristic5796  */
static	ANTLR3_BITWORD FOLLOW_ISOLATION_SYMBOL_in_set_transaction_characteristic5796_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0040000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_ISOLATION_SYMBOL_in_set_transaction_characteristic5796	= { FOLLOW_ISOLATION_SYMBOL_in_set_transaction_characteristic5796_bits, 2	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_LEVEL_SYMBOL_in_set_transaction_characteristic5798  */
static	ANTLR3_BITWORD FOLLOW_LEVEL_SYMBOL_in_set_transaction_characteristic5798_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000100010000000), 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_LEVEL_SYMBOL_in_set_transaction_characteristic5798	= { FOLLOW_LEVEL_SYMBOL_in_set_transaction_characteristic5798_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_isolation_level_in_set_transaction_characteristic5800  */
static	ANTLR3_BITWORD FOLLOW_isolation_level_in_set_transaction_characteristic5800_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_isolation_level_in_set_transaction_characteristic5800	= { FOLLOW_isolation_level_in_set_transaction_characteristic5800_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_READ_SYMBOL_in_set_transaction_characteristic5809  */
static	ANTLR3_BITWORD FOLLOW_READ_SYMBOL_in_set_transaction_characteristic5809_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000001000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000002000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_READ_SYMBOL_in_set_transaction_characteristic5809	= { FOLLOW_READ_SYMBOL_in_set_transaction_characteristic5809_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_set_transaction_characteristic5811  */
static	ANTLR3_BITWORD FOLLOW_set_in_set_transaction_characteristic5811_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_set_transaction_characteristic5811	= { FOLLOW_set_in_set_transaction_characteristic5811_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_REPEATABLE_SYMBOL_in_isolation_level5826  */
static	ANTLR3_BITWORD FOLLOW_REPEATABLE_SYMBOL_in_isolation_level5826_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), 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_REPEATABLE_SYMBOL_in_isolation_level5826	= { FOLLOW_REPEATABLE_SYMBOL_in_isolation_level5826_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_READ_SYMBOL_in_isolation_level5828  */
static	ANTLR3_BITWORD FOLLOW_READ_SYMBOL_in_isolation_level5828_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_READ_SYMBOL_in_isolation_level5828	= { FOLLOW_READ_SYMBOL_in_isolation_level5828_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_READ_SYMBOL_in_isolation_level5833  */
static	ANTLR3_BITWORD FOLLOW_READ_SYMBOL_in_isolation_level5833_bits[]	= { ANTLR3_UINT64_LIT(0x0000002000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000040000000) };
static  ANTLR3_BITSET_LIST FOLLOW_READ_SYMBOL_in_isolation_level5833	= { FOLLOW_READ_SYMBOL_in_isolation_level5833_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_isolation_level5835  */
static	ANTLR3_BITWORD FOLLOW_set_in_isolation_level5835_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_isolation_level5835	= { FOLLOW_set_in_isolation_level5835_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SERIALIZABLE_SYMBOL_in_isolation_level5846  */
static	ANTLR3_BITWORD FOLLOW_SERIALIZABLE_SYMBOL_in_isolation_level5846_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_SERIALIZABLE_SYMBOL_in_isolation_level5846	= { FOLLOW_SERIALIZABLE_SYMBOL_in_isolation_level5846_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SAVEPOINT_SYMBOL_in_savepoint_statement5855  */
static	ANTLR3_BITWORD FOLLOW_SAVEPOINT_SYMBOL_in_savepoint_statement5855_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_SAVEPOINT_SYMBOL_in_savepoint_statement5855	= { FOLLOW_SAVEPOINT_SYMBOL_in_savepoint_statement5855_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_savepoint_statement5858  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_savepoint_statement5858_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_savepoint_statement5858	= { FOLLOW_identifier_in_savepoint_statement5858_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_RELEASE_SYMBOL_in_savepoint_statement5863  */
static	ANTLR3_BITWORD FOLLOW_RELEASE_SYMBOL_in_savepoint_statement5863_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_RELEASE_SYMBOL_in_savepoint_statement5863	= { FOLLOW_RELEASE_SYMBOL_in_savepoint_statement5863_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SAVEPOINT_SYMBOL_in_savepoint_statement5866  */
static	ANTLR3_BITWORD FOLLOW_SAVEPOINT_SYMBOL_in_savepoint_statement5866_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_SAVEPOINT_SYMBOL_in_savepoint_statement5866	= { FOLLOW_SAVEPOINT_SYMBOL_in_savepoint_statement5866_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_savepoint_statement5868  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_savepoint_statement5868_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_savepoint_statement5868	= { FOLLOW_identifier_in_savepoint_statement5868_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_LOCK_SYMBOL_in_lock_statement5877  */
static	ANTLR3_BITWORD FOLLOW_LOCK_SYMBOL_in_lock_statement5877_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000004000), 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_LOCK_SYMBOL_in_lock_statement5877	= { FOLLOW_LOCK_SYMBOL_in_lock_statement5877_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_lock_statement5880  */
static	ANTLR3_BITWORD FOLLOW_set_in_lock_statement5880_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000012) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_lock_statement5880	= { FOLLOW_set_in_lock_statement5880_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_lock_item_in_lock_statement5888  */
static	ANTLR3_BITWORD FOLLOW_lock_item_in_lock_statement5888_bits[]	= { ANTLR3_UINT64_LIT(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) };
static  ANTLR3_BITSET_LIST FOLLOW_lock_item_in_lock_statement5888	= { FOLLOW_lock_item_in_lock_statement5888_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_lock_statement5891  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_lock_statement5891_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000012) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_lock_statement5891	= { FOLLOW_COMMA_SYMBOL_in_lock_statement5891_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_lock_item_in_lock_statement5893  */
static	ANTLR3_BITWORD FOLLOW_lock_item_in_lock_statement5893_bits[]	= { ANTLR3_UINT64_LIT(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) };
static  ANTLR3_BITSET_LIST FOLLOW_lock_item_in_lock_statement5893	= { FOLLOW_lock_item_in_lock_statement5893_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_UNLOCK_SYMBOL_in_lock_statement5900  */
static	ANTLR3_BITWORD FOLLOW_UNLOCK_SYMBOL_in_lock_statement5900_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000004000), 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_UNLOCK_SYMBOL_in_lock_statement5900	= { FOLLOW_UNLOCK_SYMBOL_in_lock_statement5900_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_lock_statement5903  */
static	ANTLR3_BITWORD FOLLOW_set_in_lock_statement5903_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_lock_statement5903	= { FOLLOW_set_in_lock_statement5903_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_identifier_in_lock_item5918  */
static	ANTLR3_BITWORD FOLLOW_table_identifier_in_lock_item5918_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004400FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000002010), ANTLR3_UINT64_LIT(0x0001000000000000), ANTLR3_UINT64_LIT(0x0004000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000002000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_table_identifier_in_lock_item5918	= { FOLLOW_table_identifier_in_lock_item5918_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_alias_in_lock_item5920  */
static	ANTLR3_BITWORD FOLLOW_table_alias_in_lock_item5920_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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(0x0004000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000002000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_table_alias_in_lock_item5920	= { FOLLOW_table_alias_in_lock_item5920_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_lock_type_in_lock_item5923  */
static	ANTLR3_BITWORD FOLLOW_lock_type_in_lock_item5923_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_lock_type_in_lock_item5923	= { FOLLOW_lock_type_in_lock_item5923_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_READ_SYMBOL_in_lock_type5932  */
static	ANTLR3_BITWORD FOLLOW_READ_SYMBOL_in_lock_type5932_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0200000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_READ_SYMBOL_in_lock_type5932	= { FOLLOW_READ_SYMBOL_in_lock_type5932_bits, 2	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_LOCAL_SYMBOL_in_lock_type5934  */
static	ANTLR3_BITWORD FOLLOW_LOCAL_SYMBOL_in_lock_type5934_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_LOCAL_SYMBOL_in_lock_type5934	= { FOLLOW_LOCAL_SYMBOL_in_lock_type5934_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_LOW_PRIORITY_SYMBOL_in_lock_type5940  */
static	ANTLR3_BITWORD FOLLOW_LOW_PRIORITY_SYMBOL_in_lock_type5940_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_LOW_PRIORITY_SYMBOL_in_lock_type5940	= { FOLLOW_LOW_PRIORITY_SYMBOL_in_lock_type5940_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_WRITE_SYMBOL_in_lock_type5943  */
static	ANTLR3_BITWORD FOLLOW_WRITE_SYMBOL_in_lock_type5943_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_WRITE_SYMBOL_in_lock_type5943	= { FOLLOW_WRITE_SYMBOL_in_lock_type5943_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_XA_SYMBOL_in_xa_statement5952  */
static	ANTLR3_BITWORD FOLLOW_XA_SYMBOL_in_xa_statement5952_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000020000), ANTLR3_UINT64_LIT(0x8810000000000000), ANTLR3_UINT64_LIT(0x0000000008084000) };
static  ANTLR3_BITSET_LIST FOLLOW_XA_SYMBOL_in_xa_statement5952	= { FOLLOW_XA_SYMBOL_in_xa_statement5952_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_xa_statement5962  */
static	ANTLR3_BITWORD FOLLOW_set_in_xa_statement5962_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_xa_statement5962	= { FOLLOW_set_in_xa_statement5962_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_xid_in_xa_statement5970  */
static	ANTLR3_BITWORD FOLLOW_xid_in_xa_statement5970_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000040000000), 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_xid_in_xa_statement5970	= { FOLLOW_xid_in_xa_statement5970_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_END_SYMBOL_in_xa_statement5986  */
static	ANTLR3_BITWORD FOLLOW_END_SYMBOL_in_xa_statement5986_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_END_SYMBOL_in_xa_statement5986	= { FOLLOW_END_SYMBOL_in_xa_statement5986_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_xid_in_xa_statement5988  */
static	ANTLR3_BITWORD FOLLOW_xid_in_xa_statement5988_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_xid_in_xa_statement5988	= { FOLLOW_xid_in_xa_statement5988_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SUSPEND_SYMBOL_in_xa_statement5991  */
static	ANTLR3_BITWORD FOLLOW_SUSPEND_SYMBOL_in_xa_statement5991_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000000200000000) };
static  ANTLR3_BITSET_LIST FOLLOW_SUSPEND_SYMBOL_in_xa_statement5991	= { FOLLOW_SUSPEND_SYMBOL_in_xa_statement5991_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FOR_SYMBOL_in_xa_statement5994  */
static	ANTLR3_BITWORD FOLLOW_FOR_SYMBOL_in_xa_statement5994_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000020000000) };
static  ANTLR3_BITSET_LIST FOLLOW_FOR_SYMBOL_in_xa_statement5994	= { FOLLOW_FOR_SYMBOL_in_xa_statement5994_bits, 3	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MIGRATE_SYMBOL_in_xa_statement5996  */
static	ANTLR3_BITWORD FOLLOW_MIGRATE_SYMBOL_in_xa_statement5996_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_MIGRATE_SYMBOL_in_xa_statement5996	= { FOLLOW_MIGRATE_SYMBOL_in_xa_statement5996_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PREPARE_SYMBOL_in_xa_statement6007  */
static	ANTLR3_BITWORD FOLLOW_PREPARE_SYMBOL_in_xa_statement6007_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_PREPARE_SYMBOL_in_xa_statement6007	= { FOLLOW_PREPARE_SYMBOL_in_xa_statement6007_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_xid_in_xa_statement6009  */
static	ANTLR3_BITWORD FOLLOW_xid_in_xa_statement6009_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_xid_in_xa_statement6009	= { FOLLOW_xid_in_xa_statement6009_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMIT_SYMBOL_in_xa_statement6016  */
static	ANTLR3_BITWORD FOLLOW_COMMIT_SYMBOL_in_xa_statement6016_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMIT_SYMBOL_in_xa_statement6016	= { FOLLOW_COMMIT_SYMBOL_in_xa_statement6016_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_xid_in_xa_statement6018  */
static	ANTLR3_BITWORD FOLLOW_xid_in_xa_statement6018_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0080000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_xid_in_xa_statement6018	= { FOLLOW_xid_in_xa_statement6018_bits, 3	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ONE_SYMBOL_in_xa_statement6021  */
static	ANTLR3_BITWORD FOLLOW_ONE_SYMBOL_in_xa_statement6021_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x4000000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_ONE_SYMBOL_in_xa_statement6021	= { FOLLOW_ONE_SYMBOL_in_xa_statement6021_bits, 3	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PHASE_SYMBOL_in_xa_statement6023  */
static	ANTLR3_BITWORD FOLLOW_PHASE_SYMBOL_in_xa_statement6023_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_PHASE_SYMBOL_in_xa_statement6023	= { FOLLOW_PHASE_SYMBOL_in_xa_statement6023_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ROLLBACK_SYMBOL_in_xa_statement6032  */
static	ANTLR3_BITWORD FOLLOW_ROLLBACK_SYMBOL_in_xa_statement6032_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_ROLLBACK_SYMBOL_in_xa_statement6032	= { FOLLOW_ROLLBACK_SYMBOL_in_xa_statement6032_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_xid_in_xa_statement6034  */
static	ANTLR3_BITWORD FOLLOW_xid_in_xa_statement6034_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_xid_in_xa_statement6034	= { FOLLOW_xid_in_xa_statement6034_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_RECOVER_SYMBOL_in_xa_statement6041  */
static	ANTLR3_BITWORD FOLLOW_RECOVER_SYMBOL_in_xa_statement6041_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_RECOVER_SYMBOL_in_xa_statement6041	= { FOLLOW_RECOVER_SYMBOL_in_xa_statement6041_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_xid6054  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_xid6054_bits[]	= { ANTLR3_UINT64_LIT(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) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_xid6054	= { FOLLOW_string_literal_in_xid6054_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_xid6057  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_xid6057_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_xid6057	= { FOLLOW_COMMA_SYMBOL_in_xid6057_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_xid6059  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_xid6059_bits[]	= { ANTLR3_UINT64_LIT(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) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_xid6059	= { FOLLOW_string_literal_in_xid6059_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_xid6062  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_xid6062_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_COMMA_SYMBOL_in_xid6062	= { FOLLOW_COMMA_SYMBOL_in_xid6062_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_xid6064  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_xid6064_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_INTEGER_in_xid6064	= { FOLLOW_INTEGER_in_xid6064_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PURGE_SYMBOL_in_replication_statement6103  */
static	ANTLR3_BITWORD FOLLOW_PURGE_SYMBOL_in_replication_statement6103_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000010000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0040000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_PURGE_SYMBOL_in_replication_statement6103	= { FOLLOW_PURGE_SYMBOL_in_replication_statement6103_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_replication_statement6106  */
static	ANTLR3_BITWORD FOLLOW_set_in_replication_statement6106_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x1000000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_replication_statement6106	= { FOLLOW_set_in_replication_statement6106_bits, 2	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_LOGS_SYMBOL_in_replication_statement6114  */
static	ANTLR3_BITWORD FOLLOW_LOGS_SYMBOL_in_replication_statement6114_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), 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_LOGS_SYMBOL_in_replication_statement6114	= { FOLLOW_LOGS_SYMBOL_in_replication_statement6114_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TO_SYMBOL_in_replication_statement6117  */
static	ANTLR3_BITWORD FOLLOW_TO_SYMBOL_in_replication_statement6117_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_TO_SYMBOL_in_replication_statement6117	= { FOLLOW_TO_SYMBOL_in_replication_statement6117_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_replication_statement6119  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_replication_statement6119_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_replication_statement6119	= { FOLLOW_string_literal_in_replication_statement6119_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BEFORE_SYMBOL_in_replication_statement6123  */
static	ANTLR3_BITWORD FOLLOW_BEFORE_SYMBOL_in_replication_statement6123_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180AC908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_BEFORE_SYMBOL_in_replication_statement6123	= { FOLLOW_BEFORE_SYMBOL_in_replication_statement6123_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_replication_statement6125  */
static	ANTLR3_BITWORD FOLLOW_expression_in_replication_statement6125_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_replication_statement6125	= { FOLLOW_expression_in_replication_statement6125_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_change_master_in_replication_statement6131  */
static	ANTLR3_BITWORD FOLLOW_change_master_in_replication_statement6131_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_change_master_in_replication_statement6131	= { FOLLOW_change_master_in_replication_statement6131_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_start_slave_in_replication_statement6139  */
static	ANTLR3_BITWORD FOLLOW_start_slave_in_replication_statement6139_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_start_slave_in_replication_statement6139	= { FOLLOW_start_slave_in_replication_statement6139_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_stop_slave_in_replication_statement6144  */
static	ANTLR3_BITWORD FOLLOW_stop_slave_in_replication_statement6144_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_stop_slave_in_replication_statement6144	= { FOLLOW_stop_slave_in_replication_statement6144_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_replication_load_in_replication_statement6153  */
static	ANTLR3_BITWORD FOLLOW_replication_load_in_replication_statement6153_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_replication_load_in_replication_statement6153	= { FOLLOW_replication_load_in_replication_statement6153_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_LOAD_SYMBOL_in_replication_load6162  */
static	ANTLR3_BITWORD FOLLOW_LOAD_SYMBOL_in_replication_load6162_bits[]	= { ANTLR3_UINT64_LIT(0x0040000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_LOAD_SYMBOL_in_replication_load6162	= { FOLLOW_LOAD_SYMBOL_in_replication_load6162_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DATA_SYMBOL_in_replication_load6166  */
static	ANTLR3_BITWORD FOLLOW_DATA_SYMBOL_in_replication_load6166_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000800000000) };
static  ANTLR3_BITSET_LIST FOLLOW_DATA_SYMBOL_in_replication_load6166	= { FOLLOW_DATA_SYMBOL_in_replication_load6166_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TABLE_SYMBOL_in_replication_load6170  */
static	ANTLR3_BITWORD FOLLOW_TABLE_SYMBOL_in_replication_load6170_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000012) };
static  ANTLR3_BITSET_LIST FOLLOW_TABLE_SYMBOL_in_replication_load6170	= { FOLLOW_TABLE_SYMBOL_in_replication_load6170_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_identifier_in_replication_load6172  */
static	ANTLR3_BITWORD FOLLOW_table_identifier_in_replication_load6172_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000800000000) };
static  ANTLR3_BITSET_LIST FOLLOW_table_identifier_in_replication_load6172	= { FOLLOW_table_identifier_in_replication_load6172_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FROM_SYMBOL_in_replication_load6175  */
static	ANTLR3_BITWORD FOLLOW_FROM_SYMBOL_in_replication_load6175_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000010000) };
static  ANTLR3_BITSET_LIST FOLLOW_FROM_SYMBOL_in_replication_load6175	= { FOLLOW_FROM_SYMBOL_in_replication_load6175_bits, 3	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MASTER_SYMBOL_in_replication_load6177  */
static	ANTLR3_BITWORD FOLLOW_MASTER_SYMBOL_in_replication_load6177_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_MASTER_SYMBOL_in_replication_load6177	= { FOLLOW_MASTER_SYMBOL_in_replication_load6177_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CHANGE_SYMBOL_in_change_master6186  */
static	ANTLR3_BITWORD FOLLOW_CHANGE_SYMBOL_in_change_master6186_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000010000) };
static  ANTLR3_BITSET_LIST FOLLOW_CHANGE_SYMBOL_in_change_master6186	= { FOLLOW_CHANGE_SYMBOL_in_change_master6186_bits, 3	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MASTER_SYMBOL_in_change_master6189  */
static	ANTLR3_BITWORD FOLLOW_MASTER_SYMBOL_in_change_master6189_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_MASTER_SYMBOL_in_change_master6189	= { FOLLOW_MASTER_SYMBOL_in_change_master6189_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TO_SYMBOL_in_change_master6191  */
static	ANTLR3_BITWORD FOLLOW_TO_SYMBOL_in_change_master6191_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0xE000008000000000), ANTLR3_UINT64_LIT(0x000000000002FF7F), ANTLR3_UINT64_LIT(0x0000000000C00000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0006000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_TO_SYMBOL_in_change_master6191	= { FOLLOW_TO_SYMBOL_in_change_master6191_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_change_master_options_in_change_master6193  */
static	ANTLR3_BITWORD FOLLOW_change_master_options_in_change_master6193_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_change_master_options_in_change_master6193	= { FOLLOW_change_master_options_in_change_master6193_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_master_option_in_change_master_options6202  */
static	ANTLR3_BITWORD FOLLOW_master_option_in_change_master_options6202_bits[]	= { ANTLR3_UINT64_LIT(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) };
static  ANTLR3_BITSET_LIST FOLLOW_master_option_in_change_master_options6202	= { FOLLOW_master_option_in_change_master_options6202_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_change_master_options6205  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_change_master_options6205_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0xE000008000000000), ANTLR3_UINT64_LIT(0x000000000002FF7F), ANTLR3_UINT64_LIT(0x0000000000C00000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0006000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_change_master_options6205	= { FOLLOW_COMMA_SYMBOL_in_change_master_options6205_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_master_option_in_change_master_options6207  */
static	ANTLR3_BITWORD FOLLOW_master_option_in_change_master_options6207_bits[]	= { ANTLR3_UINT64_LIT(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) };
static  ANTLR3_BITSET_LIST FOLLOW_master_option_in_change_master_options6207	= { FOLLOW_master_option_in_change_master_options6207_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MASTER_BIND_SYMBOL_in_master_option6233  */
static	ANTLR3_BITWORD FOLLOW_MASTER_BIND_SYMBOL_in_master_option6233_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_MASTER_BIND_SYMBOL_in_master_option6233	= { FOLLOW_MASTER_BIND_SYMBOL_in_master_option6233_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_master_option6235  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_master_option6235_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_master_option6235	= { FOLLOW_EQUAL_OPERATOR_in_master_option6235_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_master_option6237  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_master_option6237_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_master_option6237	= { FOLLOW_string_literal_in_master_option6237_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MASTER_HOST_SYMBOL_in_master_option6242  */
static	ANTLR3_BITWORD FOLLOW_MASTER_HOST_SYMBOL_in_master_option6242_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_MASTER_HOST_SYMBOL_in_master_option6242	= { FOLLOW_MASTER_HOST_SYMBOL_in_master_option6242_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_master_option6244  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_master_option6244_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_master_option6244	= { FOLLOW_EQUAL_OPERATOR_in_master_option6244_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_master_option6246  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_master_option6246_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_master_option6246	= { FOLLOW_string_literal_in_master_option6246_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MASTER_USER_SYMBOL_in_master_option6251  */
static	ANTLR3_BITWORD FOLLOW_MASTER_USER_SYMBOL_in_master_option6251_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_MASTER_USER_SYMBOL_in_master_option6251	= { FOLLOW_MASTER_USER_SYMBOL_in_master_option6251_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_master_option6253  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_master_option6253_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_master_option6253	= { FOLLOW_EQUAL_OPERATOR_in_master_option6253_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_master_option6255  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_master_option6255_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_master_option6255	= { FOLLOW_string_literal_in_master_option6255_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MASTER_PASSWORD_SYMBOL_in_master_option6260  */
static	ANTLR3_BITWORD FOLLOW_MASTER_PASSWORD_SYMBOL_in_master_option6260_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_MASTER_PASSWORD_SYMBOL_in_master_option6260	= { FOLLOW_MASTER_PASSWORD_SYMBOL_in_master_option6260_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_master_option6262  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_master_option6262_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_master_option6262	= { FOLLOW_EQUAL_OPERATOR_in_master_option6262_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_master_option6264  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_master_option6264_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_master_option6264	= { FOLLOW_string_literal_in_master_option6264_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MASTER_PORT_SYMBOL_in_master_option6269  */
static	ANTLR3_BITWORD FOLLOW_MASTER_PORT_SYMBOL_in_master_option6269_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_MASTER_PORT_SYMBOL_in_master_option6269	= { FOLLOW_MASTER_PORT_SYMBOL_in_master_option6269_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_master_option6271  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_master_option6271_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_EQUAL_OPERATOR_in_master_option6271	= { FOLLOW_EQUAL_OPERATOR_in_master_option6271_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_master_option6273  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_master_option6273_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_INTEGER_in_master_option6273	= { FOLLOW_INTEGER_in_master_option6273_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MASTER_CONNECT_RETRY_SYMBOL_in_master_option6278  */
static	ANTLR3_BITWORD FOLLOW_MASTER_CONNECT_RETRY_SYMBOL_in_master_option6278_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_MASTER_CONNECT_RETRY_SYMBOL_in_master_option6278	= { FOLLOW_MASTER_CONNECT_RETRY_SYMBOL_in_master_option6278_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_master_option6280  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_master_option6280_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_EQUAL_OPERATOR_in_master_option6280	= { FOLLOW_EQUAL_OPERATOR_in_master_option6280_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_master_option6282  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_master_option6282_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_INTEGER_in_master_option6282	= { FOLLOW_INTEGER_in_master_option6282_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MASTER_RETRY_COUNT_SYMBOL_in_master_option6287  */
static	ANTLR3_BITWORD FOLLOW_MASTER_RETRY_COUNT_SYMBOL_in_master_option6287_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_MASTER_RETRY_COUNT_SYMBOL_in_master_option6287	= { FOLLOW_MASTER_RETRY_COUNT_SYMBOL_in_master_option6287_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_master_option6289  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_master_option6289_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_EQUAL_OPERATOR_in_master_option6289	= { FOLLOW_EQUAL_OPERATOR_in_master_option6289_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_master_option6291  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_master_option6291_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_INTEGER_in_master_option6291	= { FOLLOW_INTEGER_in_master_option6291_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MASTER_DELAY_SYMBOL_in_master_option6296  */
static	ANTLR3_BITWORD FOLLOW_MASTER_DELAY_SYMBOL_in_master_option6296_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_MASTER_DELAY_SYMBOL_in_master_option6296	= { FOLLOW_MASTER_DELAY_SYMBOL_in_master_option6296_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_master_option6298  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_master_option6298_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_EQUAL_OPERATOR_in_master_option6298	= { FOLLOW_EQUAL_OPERATOR_in_master_option6298_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_master_option6300  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_master_option6300_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_INTEGER_in_master_option6300	= { FOLLOW_INTEGER_in_master_option6300_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MASTER_HEARTBEAT_PERIOD_SYMBOL_in_master_option6305  */
static	ANTLR3_BITWORD FOLLOW_MASTER_HEARTBEAT_PERIOD_SYMBOL_in_master_option6305_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_MASTER_HEARTBEAT_PERIOD_SYMBOL_in_master_option6305	= { FOLLOW_MASTER_HEARTBEAT_PERIOD_SYMBOL_in_master_option6305_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_master_option6307  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_master_option6307_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_EQUAL_OPERATOR_in_master_option6307	= { FOLLOW_EQUAL_OPERATOR_in_master_option6307_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_master_option6309  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_master_option6309_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_INTEGER_in_master_option6309	= { FOLLOW_INTEGER_in_master_option6309_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MASTER_LOG_FILE_SYMBOL_in_master_option6314  */
static	ANTLR3_BITWORD FOLLOW_MASTER_LOG_FILE_SYMBOL_in_master_option6314_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_MASTER_LOG_FILE_SYMBOL_in_master_option6314	= { FOLLOW_MASTER_LOG_FILE_SYMBOL_in_master_option6314_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_master_option6316  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_master_option6316_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_master_option6316	= { FOLLOW_EQUAL_OPERATOR_in_master_option6316_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_master_option6318  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_master_option6318_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_master_option6318	= { FOLLOW_string_literal_in_master_option6318_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MASTER_LOG_POS_SYMBOL_in_master_option6323  */
static	ANTLR3_BITWORD FOLLOW_MASTER_LOG_POS_SYMBOL_in_master_option6323_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_MASTER_LOG_POS_SYMBOL_in_master_option6323	= { FOLLOW_MASTER_LOG_POS_SYMBOL_in_master_option6323_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_master_option6325  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_master_option6325_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_EQUAL_OPERATOR_in_master_option6325	= { FOLLOW_EQUAL_OPERATOR_in_master_option6325_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_master_option6327  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_master_option6327_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_INTEGER_in_master_option6327	= { FOLLOW_INTEGER_in_master_option6327_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MASTER_AUTO_POSITION_SYMBOL_in_master_option6332  */
static	ANTLR3_BITWORD FOLLOW_MASTER_AUTO_POSITION_SYMBOL_in_master_option6332_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_MASTER_AUTO_POSITION_SYMBOL_in_master_option6332	= { FOLLOW_MASTER_AUTO_POSITION_SYMBOL_in_master_option6332_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_master_option6334  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_master_option6334_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_EQUAL_OPERATOR_in_master_option6334	= { FOLLOW_EQUAL_OPERATOR_in_master_option6334_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_master_option6336  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_master_option6336_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_INTEGER_in_master_option6336	= { FOLLOW_INTEGER_in_master_option6336_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_RELAY_LOG_FILE_SYMBOL_in_master_option6341  */
static	ANTLR3_BITWORD FOLLOW_RELAY_LOG_FILE_SYMBOL_in_master_option6341_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_RELAY_LOG_FILE_SYMBOL_in_master_option6341	= { FOLLOW_RELAY_LOG_FILE_SYMBOL_in_master_option6341_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_master_option6343  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_master_option6343_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_master_option6343	= { FOLLOW_EQUAL_OPERATOR_in_master_option6343_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_master_option6345  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_master_option6345_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_master_option6345	= { FOLLOW_string_literal_in_master_option6345_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_RELAY_LOG_POS_SYMBOL_in_master_option6350  */
static	ANTLR3_BITWORD FOLLOW_RELAY_LOG_POS_SYMBOL_in_master_option6350_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_RELAY_LOG_POS_SYMBOL_in_master_option6350	= { FOLLOW_RELAY_LOG_POS_SYMBOL_in_master_option6350_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_master_option6352  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_master_option6352_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_EQUAL_OPERATOR_in_master_option6352	= { FOLLOW_EQUAL_OPERATOR_in_master_option6352_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_master_option6354  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_master_option6354_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_INTEGER_in_master_option6354	= { FOLLOW_INTEGER_in_master_option6354_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MASTER_SSL_SYMBOL_in_master_option6359  */
static	ANTLR3_BITWORD FOLLOW_MASTER_SSL_SYMBOL_in_master_option6359_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_MASTER_SSL_SYMBOL_in_master_option6359	= { FOLLOW_MASTER_SSL_SYMBOL_in_master_option6359_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_master_option6361  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_master_option6361_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_EQUAL_OPERATOR_in_master_option6361	= { FOLLOW_EQUAL_OPERATOR_in_master_option6361_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_master_option6363  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_master_option6363_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_INTEGER_in_master_option6363	= { FOLLOW_INTEGER_in_master_option6363_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MASTER_SSL_CA_SYMBOL_in_master_option6368  */
static	ANTLR3_BITWORD FOLLOW_MASTER_SSL_CA_SYMBOL_in_master_option6368_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_MASTER_SSL_CA_SYMBOL_in_master_option6368	= { FOLLOW_MASTER_SSL_CA_SYMBOL_in_master_option6368_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_master_option6370  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_master_option6370_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_master_option6370	= { FOLLOW_EQUAL_OPERATOR_in_master_option6370_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_master_option6372  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_master_option6372_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_master_option6372	= { FOLLOW_string_literal_in_master_option6372_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MASTER_SSL_CAPATH_SYMBOL_in_master_option6377  */
static	ANTLR3_BITWORD FOLLOW_MASTER_SSL_CAPATH_SYMBOL_in_master_option6377_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_MASTER_SSL_CAPATH_SYMBOL_in_master_option6377	= { FOLLOW_MASTER_SSL_CAPATH_SYMBOL_in_master_option6377_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_master_option6379  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_master_option6379_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_master_option6379	= { FOLLOW_EQUAL_OPERATOR_in_master_option6379_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_master_option6381  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_master_option6381_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_master_option6381	= { FOLLOW_string_literal_in_master_option6381_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MASTER_SSL_CERT_SYMBOL_in_master_option6386  */
static	ANTLR3_BITWORD FOLLOW_MASTER_SSL_CERT_SYMBOL_in_master_option6386_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_MASTER_SSL_CERT_SYMBOL_in_master_option6386	= { FOLLOW_MASTER_SSL_CERT_SYMBOL_in_master_option6386_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_master_option6388  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_master_option6388_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_master_option6388	= { FOLLOW_EQUAL_OPERATOR_in_master_option6388_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_master_option6390  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_master_option6390_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_master_option6390	= { FOLLOW_string_literal_in_master_option6390_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MASTER_SSL_CRL_SYMBOL_in_master_option6395  */
static	ANTLR3_BITWORD FOLLOW_MASTER_SSL_CRL_SYMBOL_in_master_option6395_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_MASTER_SSL_CRL_SYMBOL_in_master_option6395	= { FOLLOW_MASTER_SSL_CRL_SYMBOL_in_master_option6395_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_master_option6397  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_master_option6397_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_master_option6397	= { FOLLOW_EQUAL_OPERATOR_in_master_option6397_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_master_option6399  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_master_option6399_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_master_option6399	= { FOLLOW_string_literal_in_master_option6399_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MASTER_SSL_CRLPATH_SYMBOL_in_master_option6404  */
static	ANTLR3_BITWORD FOLLOW_MASTER_SSL_CRLPATH_SYMBOL_in_master_option6404_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_MASTER_SSL_CRLPATH_SYMBOL_in_master_option6404	= { FOLLOW_MASTER_SSL_CRLPATH_SYMBOL_in_master_option6404_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_master_option6406  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_master_option6406_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_master_option6406	= { FOLLOW_EQUAL_OPERATOR_in_master_option6406_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_master_option6408  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_master_option6408_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_master_option6408	= { FOLLOW_string_literal_in_master_option6408_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MASTER_SSL_KEY_SYMBOL_in_master_option6413  */
static	ANTLR3_BITWORD FOLLOW_MASTER_SSL_KEY_SYMBOL_in_master_option6413_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_MASTER_SSL_KEY_SYMBOL_in_master_option6413	= { FOLLOW_MASTER_SSL_KEY_SYMBOL_in_master_option6413_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_master_option6415  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_master_option6415_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_master_option6415	= { FOLLOW_EQUAL_OPERATOR_in_master_option6415_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_master_option6417  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_master_option6417_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_master_option6417	= { FOLLOW_string_literal_in_master_option6417_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MASTER_SSL_CIPHER_SYMBOL_in_master_option6422  */
static	ANTLR3_BITWORD FOLLOW_MASTER_SSL_CIPHER_SYMBOL_in_master_option6422_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_MASTER_SSL_CIPHER_SYMBOL_in_master_option6422	= { FOLLOW_MASTER_SSL_CIPHER_SYMBOL_in_master_option6422_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_master_option6424  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_master_option6424_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_master_option6424	= { FOLLOW_EQUAL_OPERATOR_in_master_option6424_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_master_option6426  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_master_option6426_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_master_option6426	= { FOLLOW_string_literal_in_master_option6426_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MASTER_SSL_VERIFY_SERVER_CERT_SYMBOL_in_master_option6431  */
static	ANTLR3_BITWORD FOLLOW_MASTER_SSL_VERIFY_SERVER_CERT_SYMBOL_in_master_option6431_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_MASTER_SSL_VERIFY_SERVER_CERT_SYMBOL_in_master_option6431	= { FOLLOW_MASTER_SSL_VERIFY_SERVER_CERT_SYMBOL_in_master_option6431_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_master_option6433  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_master_option6433_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_EQUAL_OPERATOR_in_master_option6433	= { FOLLOW_EQUAL_OPERATOR_in_master_option6433_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_master_option6435  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_master_option6435_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_INTEGER_in_master_option6435	= { FOLLOW_INTEGER_in_master_option6435_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_IGNORE_SERVER_IDS_SYMBOL_in_master_option6440  */
static	ANTLR3_BITWORD FOLLOW_IGNORE_SERVER_IDS_SYMBOL_in_master_option6440_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_IGNORE_SERVER_IDS_SYMBOL_in_master_option6440	= { FOLLOW_IGNORE_SERVER_IDS_SYMBOL_in_master_option6440_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_master_option6442  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_master_option6442_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_EQUAL_OPERATOR_in_master_option6442	= { FOLLOW_EQUAL_OPERATOR_in_master_option6442_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_server_id_list_in_master_option6444  */
static	ANTLR3_BITWORD FOLLOW_server_id_list_in_master_option6444_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_server_id_list_in_master_option6444	= { FOLLOW_server_id_list_in_master_option6444_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_server_id_list6453  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_server_id_list6453_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000010000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_server_id_list6453	= { FOLLOW_OPEN_PAR_SYMBOL_in_server_id_list6453_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_integer_list_in_server_id_list6455  */
static	ANTLR3_BITWORD FOLLOW_integer_list_in_server_id_list6455_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000010000) };
static  ANTLR3_BITSET_LIST FOLLOW_integer_list_in_server_id_list6455	= { FOLLOW_integer_list_in_server_id_list6455_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_server_id_list6458  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_server_id_list6458_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_server_id_list6458	= { FOLLOW_CLOSE_PAR_SYMBOL_in_server_id_list6458_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_START_SYMBOL_in_start_slave6467  */
static	ANTLR3_BITWORD FOLLOW_START_SYMBOL_in_start_slave6467_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000001000000) };
static  ANTLR3_BITSET_LIST FOLLOW_START_SYMBOL_in_start_slave6467	= { FOLLOW_START_SYMBOL_in_start_slave6467_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SLAVE_SYMBOL_in_start_slave6470  */
static	ANTLR3_BITWORD FOLLOW_SLAVE_SYMBOL_in_start_slave6470_bits[]	= { ANTLR3_UINT64_LIT(0x0400000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x2000000000000000), ANTLR3_UINT64_LIT(0x1000000002000001), ANTLR3_UINT64_LIT(0x0000002800000000) };
static  ANTLR3_BITSET_LIST FOLLOW_SLAVE_SYMBOL_in_start_slave6470	= { FOLLOW_SLAVE_SYMBOL_in_start_slave6470_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_slave_thread_options_in_start_slave6472  */
static	ANTLR3_BITWORD FOLLOW_slave_thread_options_in_start_slave6472_bits[]	= { ANTLR3_UINT64_LIT(0x0400000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x2000000000000000), ANTLR3_UINT64_LIT(0x0000000000000001), ANTLR3_UINT64_LIT(0x0000002800000000) };
static  ANTLR3_BITSET_LIST FOLLOW_slave_thread_options_in_start_slave6472	= { FOLLOW_slave_thread_options_in_start_slave6472_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_UNTIL_SYMBOL_in_start_slave6476  */
static	ANTLR3_BITWORD FOLLOW_UNTIL_SYMBOL_in_start_slave6476_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x000000000000000C), ANTLR3_UINT64_LIT(0x01C0000000C00000) };
static  ANTLR3_BITSET_LIST FOLLOW_UNTIL_SYMBOL_in_start_slave6476	= { FOLLOW_UNTIL_SYMBOL_in_start_slave6476_bits, 4	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_slave_until_options_in_start_slave6478  */
static	ANTLR3_BITWORD FOLLOW_slave_until_options_in_start_slave6478_bits[]	= { ANTLR3_UINT64_LIT(0x0400000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x2000000000000000), ANTLR3_UINT64_LIT(0x0000000000000001), ANTLR3_UINT64_LIT(0x0000002000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_slave_until_options_in_start_slave6478	= { FOLLOW_slave_until_options_in_start_slave6478_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_slave_connection_options_in_start_slave6482  */
static	ANTLR3_BITWORD FOLLOW_slave_connection_options_in_start_slave6482_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_slave_connection_options_in_start_slave6482	= { FOLLOW_slave_connection_options_in_start_slave6482_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_master_file_def_in_slave_until_options6497  */
static	ANTLR3_BITWORD FOLLOW_master_file_def_in_slave_until_options6497_bits[]	= { ANTLR3_UINT64_LIT(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) };
static  ANTLR3_BITSET_LIST FOLLOW_master_file_def_in_slave_until_options6497	= { FOLLOW_master_file_def_in_slave_until_options6497_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_slave_until_options6507  */
static	ANTLR3_BITWORD FOLLOW_set_in_slave_until_options6507_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_set_in_slave_until_options6507	= { FOLLOW_set_in_slave_until_options6507_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_slave_until_options6515  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_slave_until_options6515_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_slave_until_options6515	= { FOLLOW_EQUAL_OPERATOR_in_slave_until_options6515_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_gtid_set_in_slave_until_options6517  */
static	ANTLR3_BITWORD FOLLOW_gtid_set_in_slave_until_options6517_bits[]	= { ANTLR3_UINT64_LIT(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) };
static  ANTLR3_BITSET_LIST FOLLOW_gtid_set_in_slave_until_options6517	= { FOLLOW_gtid_set_in_slave_until_options6517_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SQL_AFTER_MTS_GAPS_SYMBOL_in_slave_until_options6527  */
static	ANTLR3_BITWORD FOLLOW_SQL_AFTER_MTS_GAPS_SYMBOL_in_slave_until_options6527_bits[]	= { ANTLR3_UINT64_LIT(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) };
static  ANTLR3_BITSET_LIST FOLLOW_SQL_AFTER_MTS_GAPS_SYMBOL_in_slave_until_options6527	= { FOLLOW_SQL_AFTER_MTS_GAPS_SYMBOL_in_slave_until_options6527_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_slave_until_options6534  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_slave_until_options6534_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x000000000000000C), ANTLR3_UINT64_LIT(0x0000000000C00000) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_slave_until_options6534	= { FOLLOW_COMMA_SYMBOL_in_slave_until_options6534_bits, 4	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_master_file_def_in_slave_until_options6536  */
static	ANTLR3_BITWORD FOLLOW_master_file_def_in_slave_until_options6536_bits[]	= { ANTLR3_UINT64_LIT(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) };
static  ANTLR3_BITSET_LIST FOLLOW_master_file_def_in_slave_until_options6536	= { FOLLOW_master_file_def_in_slave_until_options6536_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MASTER_LOG_FILE_SYMBOL_in_master_file_def6547  */
static	ANTLR3_BITWORD FOLLOW_MASTER_LOG_FILE_SYMBOL_in_master_file_def6547_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_MASTER_LOG_FILE_SYMBOL_in_master_file_def6547	= { FOLLOW_MASTER_LOG_FILE_SYMBOL_in_master_file_def6547_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_master_file_def6549  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_master_file_def6549_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_master_file_def6549	= { FOLLOW_EQUAL_OPERATOR_in_master_file_def6549_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_master_file_def6551  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_master_file_def6551_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_master_file_def6551	= { FOLLOW_string_literal_in_master_file_def6551_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MASTER_LOG_POS_SYMBOL_in_master_file_def6556  */
static	ANTLR3_BITWORD FOLLOW_MASTER_LOG_POS_SYMBOL_in_master_file_def6556_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_MASTER_LOG_POS_SYMBOL_in_master_file_def6556	= { FOLLOW_MASTER_LOG_POS_SYMBOL_in_master_file_def6556_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_master_file_def6558  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_master_file_def6558_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_EQUAL_OPERATOR_in_master_file_def6558	= { FOLLOW_EQUAL_OPERATOR_in_master_file_def6558_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_master_file_def6560  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_master_file_def6560_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_INTEGER_in_master_file_def6560	= { FOLLOW_INTEGER_in_master_file_def6560_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_RELAY_LOG_FILE_SYMBOL_in_master_file_def6565  */
static	ANTLR3_BITWORD FOLLOW_RELAY_LOG_FILE_SYMBOL_in_master_file_def6565_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_RELAY_LOG_FILE_SYMBOL_in_master_file_def6565	= { FOLLOW_RELAY_LOG_FILE_SYMBOL_in_master_file_def6565_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_master_file_def6567  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_master_file_def6567_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_master_file_def6567	= { FOLLOW_EQUAL_OPERATOR_in_master_file_def6567_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_master_file_def6569  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_master_file_def6569_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_master_file_def6569	= { FOLLOW_string_literal_in_master_file_def6569_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_RELAY_LOG_POS_SYMBOL_in_master_file_def6574  */
static	ANTLR3_BITWORD FOLLOW_RELAY_LOG_POS_SYMBOL_in_master_file_def6574_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_RELAY_LOG_POS_SYMBOL_in_master_file_def6574	= { FOLLOW_RELAY_LOG_POS_SYMBOL_in_master_file_def6574_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_master_file_def6576  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_master_file_def6576_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_EQUAL_OPERATOR_in_master_file_def6576	= { FOLLOW_EQUAL_OPERATOR_in_master_file_def6576_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_master_file_def6578  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_master_file_def6578_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_INTEGER_in_master_file_def6578	= { FOLLOW_INTEGER_in_master_file_def6578_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_USER_SYMBOL_in_slave_connection_options6592  */
static	ANTLR3_BITWORD FOLLOW_USER_SYMBOL_in_slave_connection_options6592_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_USER_SYMBOL_in_slave_connection_options6592	= { FOLLOW_USER_SYMBOL_in_slave_connection_options6592_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_slave_connection_options6594  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_slave_connection_options6594_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_slave_connection_options6594	= { FOLLOW_EQUAL_OPERATOR_in_slave_connection_options6594_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_slave_connection_options6596  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_slave_connection_options6596_bits[]	= { ANTLR3_UINT64_LIT(0x0400000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x2000000000000000), ANTLR3_UINT64_LIT(0x0000000000000001) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_slave_connection_options6596	= { FOLLOW_string_literal_in_slave_connection_options6596_bits, 4	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PASSWORD_SYMBOL_in_slave_connection_options6601  */
static	ANTLR3_BITWORD FOLLOW_PASSWORD_SYMBOL_in_slave_connection_options6601_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_PASSWORD_SYMBOL_in_slave_connection_options6601	= { FOLLOW_PASSWORD_SYMBOL_in_slave_connection_options6601_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_slave_connection_options6603  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_slave_connection_options6603_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_slave_connection_options6603	= { FOLLOW_EQUAL_OPERATOR_in_slave_connection_options6603_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_slave_connection_options6605  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_slave_connection_options6605_bits[]	= { ANTLR3_UINT64_LIT(0x0400000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000001) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_slave_connection_options6605	= { FOLLOW_string_literal_in_slave_connection_options6605_bits, 4	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DEFAULT_AUTH_SYMBOL_in_slave_connection_options6612  */
static	ANTLR3_BITWORD FOLLOW_DEFAULT_AUTH_SYMBOL_in_slave_connection_options6612_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_DEFAULT_AUTH_SYMBOL_in_slave_connection_options6612	= { FOLLOW_DEFAULT_AUTH_SYMBOL_in_slave_connection_options6612_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_slave_connection_options6614  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_slave_connection_options6614_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_slave_connection_options6614	= { FOLLOW_EQUAL_OPERATOR_in_slave_connection_options6614_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_slave_connection_options6616  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_slave_connection_options6616_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000001) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_slave_connection_options6616	= { FOLLOW_string_literal_in_slave_connection_options6616_bits, 4	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PLUGIN_DIR_SYMBOL_in_slave_connection_options6621  */
static	ANTLR3_BITWORD FOLLOW_PLUGIN_DIR_SYMBOL_in_slave_connection_options6621_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_PLUGIN_DIR_SYMBOL_in_slave_connection_options6621	= { FOLLOW_PLUGIN_DIR_SYMBOL_in_slave_connection_options6621_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_slave_connection_options6623  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_slave_connection_options6623_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_slave_connection_options6623	= { FOLLOW_EQUAL_OPERATOR_in_slave_connection_options6623_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_slave_connection_options6625  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_slave_connection_options6625_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_slave_connection_options6625	= { FOLLOW_string_literal_in_slave_connection_options6625_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_STOP_SYMBOL_in_stop_slave6640  */
static	ANTLR3_BITWORD FOLLOW_STOP_SYMBOL_in_stop_slave6640_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000001000000) };
static  ANTLR3_BITSET_LIST FOLLOW_STOP_SYMBOL_in_stop_slave6640	= { FOLLOW_STOP_SYMBOL_in_stop_slave6640_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SLAVE_SYMBOL_in_stop_slave6643  */
static	ANTLR3_BITWORD FOLLOW_SLAVE_SYMBOL_in_stop_slave6643_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x1000000002000000) };
static  ANTLR3_BITSET_LIST FOLLOW_SLAVE_SYMBOL_in_stop_slave6643	= { FOLLOW_SLAVE_SYMBOL_in_stop_slave6643_bits, 4	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_slave_thread_options_in_stop_slave6645  */
static	ANTLR3_BITWORD FOLLOW_slave_thread_options_in_stop_slave6645_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_slave_thread_options_in_stop_slave6645	= { FOLLOW_slave_thread_options_in_stop_slave6645_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_slave_thread_option_in_slave_thread_options6655  */
static	ANTLR3_BITWORD FOLLOW_slave_thread_option_in_slave_thread_options6655_bits[]	= { ANTLR3_UINT64_LIT(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) };
static  ANTLR3_BITSET_LIST FOLLOW_slave_thread_option_in_slave_thread_options6655	= { FOLLOW_slave_thread_option_in_slave_thread_options6655_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_slave_thread_options6658  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_slave_thread_options6658_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x1000000002000000) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_slave_thread_options6658	= { FOLLOW_COMMA_SYMBOL_in_slave_thread_options6658_bits, 4	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_slave_thread_option_in_slave_thread_options6660  */
static	ANTLR3_BITWORD FOLLOW_slave_thread_option_in_slave_thread_options6660_bits[]	= { ANTLR3_UINT64_LIT(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) };
static  ANTLR3_BITSET_LIST FOLLOW_slave_thread_option_in_slave_thread_options6660	= { FOLLOW_slave_thread_option_in_slave_thread_options6660_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_gtid_set6699  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_gtid_set6699_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_gtid_set6699	= { FOLLOW_string_literal_in_gtid_set6699_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PREPARE_SYMBOL_in_prepared_statement6711  */
static	ANTLR3_BITWORD FOLLOW_PREPARE_SYMBOL_in_prepared_statement6711_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_PREPARE_SYMBOL_in_prepared_statement6711	= { FOLLOW_PREPARE_SYMBOL_in_prepared_statement6711_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_prepared_statement6714  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_prepared_statement6714_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000800000000) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_prepared_statement6714	= { FOLLOW_identifier_in_prepared_statement6714_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FROM_SYMBOL_in_prepared_statement6716  */
static	ANTLR3_BITWORD FOLLOW_FROM_SYMBOL_in_prepared_statement6716_bits[]	= { 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(0x0000000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_FROM_SYMBOL_in_prepared_statement6716	= { FOLLOW_FROM_SYMBOL_in_prepared_statement6716_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_prepared_statement6719  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_prepared_statement6719_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_prepared_statement6719	= { FOLLOW_string_literal_in_prepared_statement6719_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_user_variable_in_prepared_statement6723  */
static	ANTLR3_BITWORD FOLLOW_user_variable_in_prepared_statement6723_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_user_variable_in_prepared_statement6723	= { FOLLOW_user_variable_in_prepared_statement6723_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_execute_statement_in_prepared_statement6729  */
static	ANTLR3_BITWORD FOLLOW_execute_statement_in_prepared_statement6729_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_execute_statement_in_prepared_statement6729	= { FOLLOW_execute_statement_in_prepared_statement6729_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_prepared_statement6734  */
static	ANTLR3_BITWORD FOLLOW_set_in_prepared_statement6734_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_set_in_prepared_statement6734	= { FOLLOW_set_in_prepared_statement6734_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PREPARE_SYMBOL_in_prepared_statement6743  */
static	ANTLR3_BITWORD FOLLOW_PREPARE_SYMBOL_in_prepared_statement6743_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_PREPARE_SYMBOL_in_prepared_statement6743	= { FOLLOW_PREPARE_SYMBOL_in_prepared_statement6743_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_prepared_statement6745  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_prepared_statement6745_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_prepared_statement6745	= { FOLLOW_identifier_in_prepared_statement6745_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EXECUTE_SYMBOL_in_execute_statement6754  */
static	ANTLR3_BITWORD FOLLOW_EXECUTE_SYMBOL_in_execute_statement6754_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_EXECUTE_SYMBOL_in_execute_statement6754	= { FOLLOW_EXECUTE_SYMBOL_in_execute_statement6754_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_execute_statement6757  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_execute_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(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_identifier_in_execute_statement6757	= { FOLLOW_identifier_in_execute_statement6757_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_USING_SYMBOL_in_execute_statement6759  */
static	ANTLR3_BITWORD FOLLOW_USING_SYMBOL_in_execute_statement6759_bits[]	= { 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_USING_SYMBOL_in_execute_statement6759	= { FOLLOW_USING_SYMBOL_in_execute_statement6759_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_execute_var_list_in_execute_statement6761  */
static	ANTLR3_BITWORD FOLLOW_execute_var_list_in_execute_statement6761_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_execute_var_list_in_execute_statement6761	= { FOLLOW_execute_var_list_in_execute_statement6761_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_user_variable_in_execute_var_list6770  */
static	ANTLR3_BITWORD FOLLOW_user_variable_in_execute_var_list6770_bits[]	= { ANTLR3_UINT64_LIT(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) };
static  ANTLR3_BITSET_LIST FOLLOW_user_variable_in_execute_var_list6770	= { FOLLOW_user_variable_in_execute_var_list6770_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_execute_var_list6773  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_execute_var_list6773_bits[]	= { 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_COMMA_SYMBOL_in_execute_var_list6773	= { FOLLOW_COMMA_SYMBOL_in_execute_var_list6773_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_user_variable_in_execute_var_list6775  */
static	ANTLR3_BITWORD FOLLOW_user_variable_in_execute_var_list6775_bits[]	= { ANTLR3_UINT64_LIT(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) };
static  ANTLR3_BITSET_LIST FOLLOW_user_variable_in_execute_var_list6775	= { FOLLOW_user_variable_in_execute_var_list6775_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_alter_user_in_account_management_statement6792  */
static	ANTLR3_BITWORD FOLLOW_alter_user_in_account_management_statement6792_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_alter_user_in_account_management_statement6792	= { FOLLOW_alter_user_in_account_management_statement6792_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_create_user_in_account_management_statement6797  */
static	ANTLR3_BITWORD FOLLOW_create_user_in_account_management_statement6797_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_create_user_in_account_management_statement6797	= { FOLLOW_create_user_in_account_management_statement6797_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_drop_user_in_account_management_statement6802  */
static	ANTLR3_BITWORD FOLLOW_drop_user_in_account_management_statement6802_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_drop_user_in_account_management_statement6802	= { FOLLOW_drop_user_in_account_management_statement6802_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_grant_proxy_in_account_management_statement6811  */
static	ANTLR3_BITWORD FOLLOW_grant_proxy_in_account_management_statement6811_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_grant_proxy_in_account_management_statement6811	= { FOLLOW_grant_proxy_in_account_management_statement6811_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_grant_in_account_management_statement6816  */
static	ANTLR3_BITWORD FOLLOW_grant_in_account_management_statement6816_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_grant_in_account_management_statement6816	= { FOLLOW_grant_in_account_management_statement6816_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_rename_user_in_account_management_statement6821  */
static	ANTLR3_BITWORD FOLLOW_rename_user_in_account_management_statement6821_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_rename_user_in_account_management_statement6821	= { FOLLOW_rename_user_in_account_management_statement6821_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_revoke_statement_in_account_management_statement6826  */
static	ANTLR3_BITWORD FOLLOW_revoke_statement_in_account_management_statement6826_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_revoke_statement_in_account_management_statement6826	= { FOLLOW_revoke_statement_in_account_management_statement6826_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_password_in_account_management_statement6831  */
static	ANTLR3_BITWORD FOLLOW_set_password_in_account_management_statement6831_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_set_password_in_account_management_statement6831	= { FOLLOW_set_password_in_account_management_statement6831_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ALTER_SYMBOL_in_alter_user6840  */
static	ANTLR3_BITWORD FOLLOW_ALTER_SYMBOL_in_alter_user6840_bits[]	= { 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_ALTER_SYMBOL_in_alter_user6840	= { FOLLOW_ALTER_SYMBOL_in_alter_user6840_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_USER_SYMBOL_in_alter_user6843  */
static	ANTLR3_BITWORD FOLLOW_USER_SYMBOL_in_alter_user6843_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000200000000), ANTLR3_UINT64_LIT(0x0010000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_USER_SYMBOL_in_alter_user6843	= { FOLLOW_USER_SYMBOL_in_alter_user6843_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_user_in_alter_user6845  */
static	ANTLR3_BITWORD FOLLOW_user_in_alter_user6845_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x2000000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_user_in_alter_user6845	= { FOLLOW_user_in_alter_user6845_bits, 3	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PASSWORD_SYMBOL_in_alter_user6847  */
static	ANTLR3_BITWORD FOLLOW_PASSWORD_SYMBOL_in_alter_user6847_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_PASSWORD_SYMBOL_in_alter_user6847	= { FOLLOW_PASSWORD_SYMBOL_in_alter_user6847_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EXPIRE_SYMBOL_in_alter_user6849  */
static	ANTLR3_BITWORD FOLLOW_EXPIRE_SYMBOL_in_alter_user6849_bits[]	= { ANTLR3_UINT64_LIT(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) };
static  ANTLR3_BITSET_LIST FOLLOW_EXPIRE_SYMBOL_in_alter_user6849	= { FOLLOW_EXPIRE_SYMBOL_in_alter_user6849_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_alter_user6852  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_alter_user6852_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000200000000), ANTLR3_UINT64_LIT(0x0010000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_alter_user6852	= { FOLLOW_COMMA_SYMBOL_in_alter_user6852_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_user_in_alter_user6854  */
static	ANTLR3_BITWORD FOLLOW_user_in_alter_user6854_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x2000000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_user_in_alter_user6854	= { FOLLOW_user_in_alter_user6854_bits, 3	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PASSWORD_SYMBOL_in_alter_user6856  */
static	ANTLR3_BITWORD FOLLOW_PASSWORD_SYMBOL_in_alter_user6856_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_PASSWORD_SYMBOL_in_alter_user6856	= { FOLLOW_PASSWORD_SYMBOL_in_alter_user6856_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EXPIRE_SYMBOL_in_alter_user6858  */
static	ANTLR3_BITWORD FOLLOW_EXPIRE_SYMBOL_in_alter_user6858_bits[]	= { ANTLR3_UINT64_LIT(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) };
static  ANTLR3_BITSET_LIST FOLLOW_EXPIRE_SYMBOL_in_alter_user6858	= { FOLLOW_EXPIRE_SYMBOL_in_alter_user6858_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CREATE_SYMBOL_in_create_user6869  */
static	ANTLR3_BITWORD FOLLOW_CREATE_SYMBOL_in_create_user6869_bits[]	= { 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_CREATE_SYMBOL_in_create_user6869	= { FOLLOW_CREATE_SYMBOL_in_create_user6869_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_USER_SYMBOL_in_create_user6872  */
static	ANTLR3_BITWORD FOLLOW_USER_SYMBOL_in_create_user6872_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000200000000), ANTLR3_UINT64_LIT(0x0010000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_USER_SYMBOL_in_create_user6872	= { FOLLOW_USER_SYMBOL_in_create_user6872_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_user_specification_in_create_user6874  */
static	ANTLR3_BITWORD FOLLOW_user_specification_in_create_user6874_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_user_specification_in_create_user6874	= { FOLLOW_user_specification_in_create_user6874_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DROP_SYMBOL_in_drop_user6883  */
static	ANTLR3_BITWORD FOLLOW_DROP_SYMBOL_in_drop_user6883_bits[]	= { 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_DROP_SYMBOL_in_drop_user6883	= { FOLLOW_DROP_SYMBOL_in_drop_user6883_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_USER_SYMBOL_in_drop_user6886  */
static	ANTLR3_BITWORD FOLLOW_USER_SYMBOL_in_drop_user6886_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000200000000), ANTLR3_UINT64_LIT(0x0010000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_USER_SYMBOL_in_drop_user6886	= { FOLLOW_USER_SYMBOL_in_drop_user6886_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_user_list_in_drop_user6888  */
static	ANTLR3_BITWORD FOLLOW_user_list_in_drop_user6888_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_user_list_in_drop_user6888	= { FOLLOW_user_list_in_drop_user6888_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_GRANT_SYMBOL_in_grant6897  */
static	ANTLR3_BITWORD FOLLOW_GRANT_SYMBOL_in_grant6897_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000808000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0001000024000900), ANTLR3_UINT64_LIT(0x0000000000000200), ANTLR3_UINT64_LIT(0x000000C000000001), ANTLR3_UINT64_LIT(0x0080000020000000), ANTLR3_UINT64_LIT(0x2100008000000040), ANTLR3_UINT64_LIT(0x0000004000000000), ANTLR3_UINT64_LIT(0x0020000000000000), ANTLR3_UINT64_LIT(0x0000000000010040), ANTLR3_UINT64_LIT(0x0000000000001801) };
static  ANTLR3_BITSET_LIST FOLLOW_GRANT_SYMBOL_in_grant6897	= { FOLLOW_GRANT_SYMBOL_in_grant6897_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_grant_privileges_in_grant6900  */
static	ANTLR3_BITWORD FOLLOW_grant_privileges_in_grant6900_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_grant_privileges_in_grant6900	= { FOLLOW_grant_privileges_in_grant6900_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_privilege_target_in_grant6902  */
static	ANTLR3_BITWORD FOLLOW_privilege_target_in_grant6902_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_privilege_target_in_grant6902	= { FOLLOW_privilege_target_in_grant6902_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TO_SYMBOL_in_grant6906  */
static	ANTLR3_BITWORD FOLLOW_TO_SYMBOL_in_grant6906_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000200000000), ANTLR3_UINT64_LIT(0x0010000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_TO_SYMBOL_in_grant6906	= { FOLLOW_TO_SYMBOL_in_grant6906_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_user_specification_in_grant6908  */
static	ANTLR3_BITWORD FOLLOW_user_specification_in_grant6908_bits[]	= { ANTLR3_UINT64_LIT(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(0x0800000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000001000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_user_specification_in_grant6908	= { FOLLOW_user_specification_in_grant6908_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_grant6911  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_grant6911_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000200000000), ANTLR3_UINT64_LIT(0x0010000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_grant6911	= { FOLLOW_COMMA_SYMBOL_in_grant6911_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_user_specification_in_grant6913  */
static	ANTLR3_BITWORD FOLLOW_user_specification_in_grant6913_bits[]	= { ANTLR3_UINT64_LIT(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(0x0800000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000001000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_user_specification_in_grant6913	= { FOLLOW_user_specification_in_grant6913_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_REQUIRE_SYMBOL_in_grant6920  */
static	ANTLR3_BITWORD FOLLOW_REQUIRE_SYMBOL_in_grant6920_bits[]	= { ANTLR3_UINT64_LIT(0x0000000010000000), ANTLR3_UINT64_LIT(0x0002000000000000), ANTLR3_UINT64_LIT(0x0001000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000800000000040), 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_REQUIRE_SYMBOL_in_grant6920	= { FOLLOW_REQUIRE_SYMBOL_in_grant6920_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_NONE_SYMBOL_in_grant6931  */
static	ANTLR3_BITWORD FOLLOW_NONE_SYMBOL_in_grant6931_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000001000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_NONE_SYMBOL_in_grant6931	= { FOLLOW_NONE_SYMBOL_in_grant6931_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SSL_SYMBOL_in_grant6939  */
static	ANTLR3_BITWORD FOLLOW_SSL_SYMBOL_in_grant6939_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000001000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_SSL_SYMBOL_in_grant6939	= { FOLLOW_SSL_SYMBOL_in_grant6939_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_X509_SYMBOL_in_grant6947  */
static	ANTLR3_BITWORD FOLLOW_X509_SYMBOL_in_grant6947_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000001000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_X509_SYMBOL_in_grant6947	= { FOLLOW_X509_SYMBOL_in_grant6947_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_require_list_in_grant6955  */
static	ANTLR3_BITWORD FOLLOW_require_list_in_grant6955_bits[]	= { ANTLR3_UINT64_LIT(0x0000000010000002), ANTLR3_UINT64_LIT(0x0002000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000040), ANTLR3_UINT64_LIT(0x0000040000000000), 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_require_list_in_grant6955	= { FOLLOW_require_list_in_grant6955_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_AND_SYMBOL_in_grant6958  */
static	ANTLR3_BITWORD FOLLOW_AND_SYMBOL_in_grant6958_bits[]	= { ANTLR3_UINT64_LIT(0x0000000010000000), ANTLR3_UINT64_LIT(0x0002000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000040) };
static  ANTLR3_BITSET_LIST FOLLOW_AND_SYMBOL_in_grant6958	= { FOLLOW_AND_SYMBOL_in_grant6958_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_require_list_in_grant6961  */
static	ANTLR3_BITWORD FOLLOW_require_list_in_grant6961_bits[]	= { ANTLR3_UINT64_LIT(0x0000000010000002), ANTLR3_UINT64_LIT(0x0002000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000040), ANTLR3_UINT64_LIT(0x0000040000000000), 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_require_list_in_grant6961	= { FOLLOW_require_list_in_grant6961_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_WITH_SYMBOL_in_grant6978  */
static	ANTLR3_BITWORD FOLLOW_WITH_SYMBOL_in_grant6978_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000CC0000), 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_WITH_SYMBOL_in_grant6978	= { FOLLOW_WITH_SYMBOL_in_grant6978_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_grant_option_in_grant6980  */
static	ANTLR3_BITWORD FOLLOW_grant_option_in_grant6980_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000CC0000), 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_grant_option_in_grant6980	= { FOLLOW_grant_option_in_grant6980_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_GRANT_SYMBOL_in_grant_proxy6992  */
static	ANTLR3_BITWORD FOLLOW_GRANT_SYMBOL_in_grant_proxy6992_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000800) };
static  ANTLR3_BITSET_LIST FOLLOW_GRANT_SYMBOL_in_grant_proxy6992	= { FOLLOW_GRANT_SYMBOL_in_grant_proxy6992_bits, 4	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PROXY_SYMBOL_in_grant_proxy6995  */
static	ANTLR3_BITWORD FOLLOW_PROXY_SYMBOL_in_grant_proxy6995_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_PROXY_SYMBOL_in_grant_proxy6995	= { FOLLOW_PROXY_SYMBOL_in_grant_proxy6995_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ON_SYMBOL_in_grant_proxy6997  */
static	ANTLR3_BITWORD FOLLOW_ON_SYMBOL_in_grant_proxy6997_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000200000000), ANTLR3_UINT64_LIT(0x0010000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_ON_SYMBOL_in_grant_proxy6997	= { FOLLOW_ON_SYMBOL_in_grant_proxy6997_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_user_specification_in_grant_proxy6999  */
static	ANTLR3_BITWORD FOLLOW_user_specification_in_grant_proxy6999_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_user_specification_in_grant_proxy6999	= { FOLLOW_user_specification_in_grant_proxy6999_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TO_SYMBOL_in_grant_proxy7001  */
static	ANTLR3_BITWORD FOLLOW_TO_SYMBOL_in_grant_proxy7001_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000200000000), ANTLR3_UINT64_LIT(0x0010000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_TO_SYMBOL_in_grant_proxy7001	= { FOLLOW_TO_SYMBOL_in_grant_proxy7001_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_user_specification_in_grant_proxy7003  */
static	ANTLR3_BITWORD FOLLOW_user_specification_in_grant_proxy7003_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000001000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_user_specification_in_grant_proxy7003	= { FOLLOW_user_specification_in_grant_proxy7003_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_grant_proxy7006  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_grant_proxy7006_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000200000000), ANTLR3_UINT64_LIT(0x0010000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_grant_proxy7006	= { FOLLOW_COMMA_SYMBOL_in_grant_proxy7006_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_user_specification_in_grant_proxy7008  */
static	ANTLR3_BITWORD FOLLOW_user_specification_in_grant_proxy7008_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000001000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_user_specification_in_grant_proxy7008	= { FOLLOW_user_specification_in_grant_proxy7008_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_WITH_SYMBOL_in_grant_proxy7015  */
static	ANTLR3_BITWORD FOLLOW_WITH_SYMBOL_in_grant_proxy7015_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_WITH_SYMBOL_in_grant_proxy7015	= { FOLLOW_WITH_SYMBOL_in_grant_proxy7015_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_GRANT_SYMBOL_in_grant_proxy7017  */
static	ANTLR3_BITWORD FOLLOW_GRANT_SYMBOL_in_grant_proxy7017_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_GRANT_SYMBOL_in_grant_proxy7017	= { FOLLOW_GRANT_SYMBOL_in_grant_proxy7017_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPTION_SYMBOL_in_grant_proxy7019  */
static	ANTLR3_BITWORD FOLLOW_OPTION_SYMBOL_in_grant_proxy7019_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_OPTION_SYMBOL_in_grant_proxy7019	= { FOLLOW_OPTION_SYMBOL_in_grant_proxy7019_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_RENAME_SYMBOL_in_rename_user7030  */
static	ANTLR3_BITWORD FOLLOW_RENAME_SYMBOL_in_rename_user7030_bits[]	= { 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_RENAME_SYMBOL_in_rename_user7030	= { FOLLOW_RENAME_SYMBOL_in_rename_user7030_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_USER_SYMBOL_in_rename_user7033  */
static	ANTLR3_BITWORD FOLLOW_USER_SYMBOL_in_rename_user7033_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000200000000), ANTLR3_UINT64_LIT(0x0010000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_USER_SYMBOL_in_rename_user7033	= { FOLLOW_USER_SYMBOL_in_rename_user7033_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_user_in_rename_user7035  */
static	ANTLR3_BITWORD FOLLOW_user_in_rename_user7035_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_user_in_rename_user7035	= { FOLLOW_user_in_rename_user7035_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TO_SYMBOL_in_rename_user7037  */
static	ANTLR3_BITWORD FOLLOW_TO_SYMBOL_in_rename_user7037_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000200000000), ANTLR3_UINT64_LIT(0x0010000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_TO_SYMBOL_in_rename_user7037	= { FOLLOW_TO_SYMBOL_in_rename_user7037_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_user_in_rename_user7039  */
static	ANTLR3_BITWORD FOLLOW_user_in_rename_user7039_bits[]	= { ANTLR3_UINT64_LIT(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) };
static  ANTLR3_BITSET_LIST FOLLOW_user_in_rename_user7039	= { FOLLOW_user_in_rename_user7039_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_rename_user7042  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_rename_user7042_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000200000000), ANTLR3_UINT64_LIT(0x0010000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_rename_user7042	= { FOLLOW_COMMA_SYMBOL_in_rename_user7042_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_user_in_rename_user7044  */
static	ANTLR3_BITWORD FOLLOW_user_in_rename_user7044_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_user_in_rename_user7044	= { FOLLOW_user_in_rename_user7044_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TO_SYMBOL_in_rename_user7046  */
static	ANTLR3_BITWORD FOLLOW_TO_SYMBOL_in_rename_user7046_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000200000000), ANTLR3_UINT64_LIT(0x0010000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_TO_SYMBOL_in_rename_user7046	= { FOLLOW_TO_SYMBOL_in_rename_user7046_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_user_in_rename_user7048  */
static	ANTLR3_BITWORD FOLLOW_user_in_rename_user7048_bits[]	= { ANTLR3_UINT64_LIT(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) };
static  ANTLR3_BITSET_LIST FOLLOW_user_in_rename_user7048	= { FOLLOW_user_in_rename_user7048_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_REVOKE_SYMBOL_in_revoke_statement7059  */
static	ANTLR3_BITWORD FOLLOW_REVOKE_SYMBOL_in_revoke_statement7059_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000808000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0001000024000900), ANTLR3_UINT64_LIT(0x0000000000000200), ANTLR3_UINT64_LIT(0x000000C000000001), ANTLR3_UINT64_LIT(0x0080000020000000), ANTLR3_UINT64_LIT(0x2100008000000040), ANTLR3_UINT64_LIT(0x0000004000000000), ANTLR3_UINT64_LIT(0x0020000000000000), ANTLR3_UINT64_LIT(0x0000000000010040), ANTLR3_UINT64_LIT(0x0000000000001801) };
static  ANTLR3_BITSET_LIST FOLLOW_REVOKE_SYMBOL_in_revoke_statement7059	= { FOLLOW_REVOKE_SYMBOL_in_revoke_statement7059_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ALL_SYMBOL_in_revoke_statement7071  */
static	ANTLR3_BITWORD FOLLOW_ALL_SYMBOL_in_revoke_statement7071_bits[]	= { 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(0x0000000000200000) };
static  ANTLR3_BITSET_LIST FOLLOW_ALL_SYMBOL_in_revoke_statement7071	= { FOLLOW_ALL_SYMBOL_in_revoke_statement7071_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PRIVILEGES_SYMBOL_in_revoke_statement7073  */
static	ANTLR3_BITWORD FOLLOW_PRIVILEGES_SYMBOL_in_revoke_statement7073_bits[]	= { ANTLR3_UINT64_LIT(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_PRIVILEGES_SYMBOL_in_revoke_statement7073	= { FOLLOW_PRIVILEGES_SYMBOL_in_revoke_statement7073_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_revoke_statement7076  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_revoke_statement7076_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_COMMA_SYMBOL_in_revoke_statement7076	= { FOLLOW_COMMA_SYMBOL_in_revoke_statement7076_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_GRANT_SYMBOL_in_revoke_statement7078  */
static	ANTLR3_BITWORD FOLLOW_GRANT_SYMBOL_in_revoke_statement7078_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_GRANT_SYMBOL_in_revoke_statement7078	= { FOLLOW_GRANT_SYMBOL_in_revoke_statement7078_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPTION_SYMBOL_in_revoke_statement7080  */
static	ANTLR3_BITWORD FOLLOW_OPTION_SYMBOL_in_revoke_statement7080_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000800000000) };
static  ANTLR3_BITSET_LIST FOLLOW_OPTION_SYMBOL_in_revoke_statement7080	= { FOLLOW_OPTION_SYMBOL_in_revoke_statement7080_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FROM_SYMBOL_in_revoke_statement7082  */
static	ANTLR3_BITWORD FOLLOW_FROM_SYMBOL_in_revoke_statement7082_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000200000000), ANTLR3_UINT64_LIT(0x0010000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_FROM_SYMBOL_in_revoke_statement7082	= { FOLLOW_FROM_SYMBOL_in_revoke_statement7082_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_user_list_in_revoke_statement7084  */
static	ANTLR3_BITWORD FOLLOW_user_list_in_revoke_statement7084_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_user_list_in_revoke_statement7084	= { FOLLOW_user_list_in_revoke_statement7084_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_grant_privileges_in_revoke_statement7090  */
static	ANTLR3_BITWORD FOLLOW_grant_privileges_in_revoke_statement7090_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_grant_privileges_in_revoke_statement7090	= { FOLLOW_grant_privileges_in_revoke_statement7090_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_privilege_target_in_revoke_statement7092  */
static	ANTLR3_BITWORD FOLLOW_privilege_target_in_revoke_statement7092_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000800000000) };
static  ANTLR3_BITSET_LIST FOLLOW_privilege_target_in_revoke_statement7092	= { FOLLOW_privilege_target_in_revoke_statement7092_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FROM_SYMBOL_in_revoke_statement7094  */
static	ANTLR3_BITWORD FOLLOW_FROM_SYMBOL_in_revoke_statement7094_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000200000000), ANTLR3_UINT64_LIT(0x0010000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_FROM_SYMBOL_in_revoke_statement7094	= { FOLLOW_FROM_SYMBOL_in_revoke_statement7094_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_user_list_in_revoke_statement7096  */
static	ANTLR3_BITWORD FOLLOW_user_list_in_revoke_statement7096_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_user_list_in_revoke_statement7096	= { FOLLOW_user_list_in_revoke_statement7096_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PROXY_SYMBOL_in_revoke_statement7106  */
static	ANTLR3_BITWORD FOLLOW_PROXY_SYMBOL_in_revoke_statement7106_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_PROXY_SYMBOL_in_revoke_statement7106	= { FOLLOW_PROXY_SYMBOL_in_revoke_statement7106_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ON_SYMBOL_in_revoke_statement7108  */
static	ANTLR3_BITWORD FOLLOW_ON_SYMBOL_in_revoke_statement7108_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000200000000), ANTLR3_UINT64_LIT(0x0010000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_ON_SYMBOL_in_revoke_statement7108	= { FOLLOW_ON_SYMBOL_in_revoke_statement7108_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_user_in_revoke_statement7110  */
static	ANTLR3_BITWORD FOLLOW_user_in_revoke_statement7110_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000800000000) };
static  ANTLR3_BITSET_LIST FOLLOW_user_in_revoke_statement7110	= { FOLLOW_user_in_revoke_statement7110_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FROM_SYMBOL_in_revoke_statement7112  */
static	ANTLR3_BITWORD FOLLOW_FROM_SYMBOL_in_revoke_statement7112_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000200000000), ANTLR3_UINT64_LIT(0x0010000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_FROM_SYMBOL_in_revoke_statement7112	= { FOLLOW_FROM_SYMBOL_in_revoke_statement7112_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_user_list_in_revoke_statement7114  */
static	ANTLR3_BITWORD FOLLOW_user_list_in_revoke_statement7114_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_user_list_in_revoke_statement7114	= { FOLLOW_user_list_in_revoke_statement7114_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ON_SYMBOL_in_privilege_target7126  */
static	ANTLR3_BITWORD FOLLOW_ON_SYMBOL_in_privilege_target7126_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000400000000020), ANTLR3_UINT64_LIT(0x0100000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_ON_SYMBOL_in_privilege_target7126	= { FOLLOW_ON_SYMBOL_in_privilege_target7126_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_grant_object_type_in_privilege_target7128  */
static	ANTLR3_BITWORD FOLLOW_grant_object_type_in_privilege_target7128_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_grant_object_type_in_privilege_target7128	= { FOLLOW_grant_object_type_in_privilege_target7128_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_privilege_level_in_privilege_target7130  */
static	ANTLR3_BITWORD FOLLOW_privilege_level_in_privilege_target7130_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_privilege_level_in_privilege_target7130	= { FOLLOW_privilege_level_in_privilege_target7130_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SET_SYMBOL_in_set_password7151  */
static	ANTLR3_BITWORD FOLLOW_SET_SYMBOL_in_set_password7151_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x2000000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_SET_SYMBOL_in_set_password7151	= { FOLLOW_SET_SYMBOL_in_set_password7151_bits, 3	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PASSWORD_SYMBOL_in_set_password7154  */
static	ANTLR3_BITWORD FOLLOW_PASSWORD_SYMBOL_in_set_password7154_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000200000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000200002000) };
static  ANTLR3_BITSET_LIST FOLLOW_PASSWORD_SYMBOL_in_set_password7154	= { FOLLOW_PASSWORD_SYMBOL_in_set_password7154_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FOR_SYMBOL_in_set_password7157  */
static	ANTLR3_BITWORD FOLLOW_FOR_SYMBOL_in_set_password7157_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000200000000), ANTLR3_UINT64_LIT(0x0010000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_FOR_SYMBOL_in_set_password7157	= { FOLLOW_FOR_SYMBOL_in_set_password7157_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_user_in_set_password7159  */
static	ANTLR3_BITWORD FOLLOW_user_in_set_password7159_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000200000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000002000) };
static  ANTLR3_BITSET_LIST FOLLOW_user_in_set_password7159	= { FOLLOW_user_in_set_password7159_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_equal_in_set_password7163  */
static	ANTLR3_BITWORD FOLLOW_equal_in_set_password7163_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x2020000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_equal_in_set_password7163	= { FOLLOW_equal_in_set_password7163_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PASSWORD_SYMBOL_in_set_password7170  */
static	ANTLR3_BITWORD FOLLOW_PASSWORD_SYMBOL_in_set_password7170_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_PASSWORD_SYMBOL_in_set_password7170	= { FOLLOW_PASSWORD_SYMBOL_in_set_password7170_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_set_password7172  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_set_password7172_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_set_password7172	= { FOLLOW_OPEN_PAR_SYMBOL_in_set_password7172_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_set_password7174  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_set_password7174_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000010000) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_set_password7174	= { FOLLOW_string_literal_in_set_password7174_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_set_password7176  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_set_password7176_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_set_password7176	= { FOLLOW_CLOSE_PAR_SYMBOL_in_set_password7176_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OLD_PASSWORD_SYMBOL_in_set_password7182  */
static	ANTLR3_BITWORD FOLLOW_OLD_PASSWORD_SYMBOL_in_set_password7182_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_OLD_PASSWORD_SYMBOL_in_set_password7182	= { FOLLOW_OLD_PASSWORD_SYMBOL_in_set_password7182_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_set_password7184  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_set_password7184_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_set_password7184	= { FOLLOW_OPEN_PAR_SYMBOL_in_set_password7184_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_set_password7186  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_set_password7186_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000010000) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_set_password7186	= { FOLLOW_string_literal_in_set_password7186_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_set_password7188  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_set_password7188_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_set_password7188	= { FOLLOW_CLOSE_PAR_SYMBOL_in_set_password7188_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_set_password7194  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_set_password7194_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_set_password7194	= { FOLLOW_string_literal_in_set_password7194_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TABLE_SYMBOL_in_grant_object_type7207  */
static	ANTLR3_BITWORD FOLLOW_TABLE_SYMBOL_in_grant_object_type7207_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_TABLE_SYMBOL_in_grant_object_type7207	= { FOLLOW_TABLE_SYMBOL_in_grant_object_type7207_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FUNCTION_SYMBOL_in_grant_object_type7212  */
static	ANTLR3_BITWORD FOLLOW_FUNCTION_SYMBOL_in_grant_object_type7212_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_FUNCTION_SYMBOL_in_grant_object_type7212	= { FOLLOW_FUNCTION_SYMBOL_in_grant_object_type7212_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PROCEDURE_SYMBOL_in_grant_object_type7216  */
static	ANTLR3_BITWORD FOLLOW_PROCEDURE_SYMBOL_in_grant_object_type7216_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_PROCEDURE_SYMBOL_in_grant_object_type7216	= { FOLLOW_PROCEDURE_SYMBOL_in_grant_object_type7216_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ALL_SYMBOL_in_grant_privileges7226  */
static	ANTLR3_BITWORD FOLLOW_ALL_SYMBOL_in_grant_privileges7226_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000040) };
static  ANTLR3_BITSET_LIST FOLLOW_ALL_SYMBOL_in_grant_privileges7226	= { FOLLOW_ALL_SYMBOL_in_grant_privileges7226_bits, 4	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PRIVILEGES_SYMBOL_in_grant_privileges7228  */
static	ANTLR3_BITWORD FOLLOW_PRIVILEGES_SYMBOL_in_grant_privileges7228_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_PRIVILEGES_SYMBOL_in_grant_privileges7228	= { FOLLOW_PRIVILEGES_SYMBOL_in_grant_privileges7228_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_privilege_type_in_grant_privileges7234  */
static	ANTLR3_BITWORD FOLLOW_privilege_type_in_grant_privileges7234_bits[]	= { ANTLR3_UINT64_LIT(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) };
static  ANTLR3_BITSET_LIST FOLLOW_privilege_type_in_grant_privileges7234	= { FOLLOW_privilege_type_in_grant_privileges7234_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_grant_privileges7237  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_grant_privileges7237_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000808000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0001000024000900), ANTLR3_UINT64_LIT(0x0000000000000200), ANTLR3_UINT64_LIT(0x0000008000000001), ANTLR3_UINT64_LIT(0x0080000020000000), ANTLR3_UINT64_LIT(0x2100008000000040), ANTLR3_UINT64_LIT(0x0000004000000000), ANTLR3_UINT64_LIT(0x0020000000000000), ANTLR3_UINT64_LIT(0x0000000000010040), ANTLR3_UINT64_LIT(0x0000000000001801) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_grant_privileges7237	= { FOLLOW_COMMA_SYMBOL_in_grant_privileges7237_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_privilege_type_in_grant_privileges7239  */
static	ANTLR3_BITWORD FOLLOW_privilege_type_in_grant_privileges7239_bits[]	= { ANTLR3_UINT64_LIT(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) };
static  ANTLR3_BITSET_LIST FOLLOW_privilege_type_in_grant_privileges7239	= { FOLLOW_privilege_type_in_grant_privileges7239_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ALTER_SYMBOL_in_privilege_type7250  */
static	ANTLR3_BITWORD FOLLOW_ALTER_SYMBOL_in_privilege_type7250_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000800000000) };
static  ANTLR3_BITSET_LIST FOLLOW_ALTER_SYMBOL_in_privilege_type7250	= { FOLLOW_ALTER_SYMBOL_in_privilege_type7250_bits, 4	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ROUTINE_SYMBOL_in_privilege_type7252  */
static	ANTLR3_BITWORD FOLLOW_ROUTINE_SYMBOL_in_privilege_type7252_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_ROUTINE_SYMBOL_in_privilege_type7252	= { FOLLOW_ROUTINE_SYMBOL_in_privilege_type7252_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CREATE_SYMBOL_in_privilege_type7258  */
static	ANTLR3_BITWORD FOLLOW_CREATE_SYMBOL_in_privilege_type7258_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000800000000), ANTLR3_UINT64_LIT(0x0000022000022000) };
static  ANTLR3_BITSET_LIST FOLLOW_CREATE_SYMBOL_in_privilege_type7258	= { FOLLOW_CREATE_SYMBOL_in_privilege_type7258_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ROUTINE_SYMBOL_in_privilege_type7261  */
static	ANTLR3_BITWORD FOLLOW_ROUTINE_SYMBOL_in_privilege_type7261_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_ROUTINE_SYMBOL_in_privilege_type7261	= { FOLLOW_ROUTINE_SYMBOL_in_privilege_type7261_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TABLESPACE_SYMBOL_in_privilege_type7265  */
static	ANTLR3_BITWORD FOLLOW_TABLESPACE_SYMBOL_in_privilege_type7265_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_TABLESPACE_SYMBOL_in_privilege_type7265	= { FOLLOW_TABLESPACE_SYMBOL_in_privilege_type7265_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TEMPORARY_SYMBOL_in_privilege_type7269  */
static	ANTLR3_BITWORD FOLLOW_TEMPORARY_SYMBOL_in_privilege_type7269_bits[]	= { 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_TEMPORARY_SYMBOL_in_privilege_type7269	= { FOLLOW_TEMPORARY_SYMBOL_in_privilege_type7269_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TABLES_SYMBOL_in_privilege_type7271  */
static	ANTLR3_BITWORD FOLLOW_TABLES_SYMBOL_in_privilege_type7271_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_TABLES_SYMBOL_in_privilege_type7271	= { FOLLOW_TABLES_SYMBOL_in_privilege_type7271_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_USER_SYMBOL_in_privilege_type7275  */
static	ANTLR3_BITWORD FOLLOW_USER_SYMBOL_in_privilege_type7275_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_USER_SYMBOL_in_privilege_type7275	= { FOLLOW_USER_SYMBOL_in_privilege_type7275_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_VIEW_SYMBOL_in_privilege_type7279  */
static	ANTLR3_BITWORD FOLLOW_VIEW_SYMBOL_in_privilege_type7279_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_VIEW_SYMBOL_in_privilege_type7279	= { FOLLOW_VIEW_SYMBOL_in_privilege_type7279_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DELETE_SYMBOL_in_privilege_type7286  */
static	ANTLR3_BITWORD FOLLOW_DELETE_SYMBOL_in_privilege_type7286_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_DELETE_SYMBOL_in_privilege_type7286	= { FOLLOW_DELETE_SYMBOL_in_privilege_type7286_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DROP_SYMBOL_in_privilege_type7291  */
static	ANTLR3_BITWORD FOLLOW_DROP_SYMBOL_in_privilege_type7291_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_DROP_SYMBOL_in_privilege_type7291	= { FOLLOW_DROP_SYMBOL_in_privilege_type7291_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EVENT_SYMBOL_in_privilege_type7296  */
static	ANTLR3_BITWORD FOLLOW_EVENT_SYMBOL_in_privilege_type7296_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_EVENT_SYMBOL_in_privilege_type7296	= { FOLLOW_EVENT_SYMBOL_in_privilege_type7296_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EXECUTE_SYMBOL_in_privilege_type7301  */
static	ANTLR3_BITWORD FOLLOW_EXECUTE_SYMBOL_in_privilege_type7301_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_EXECUTE_SYMBOL_in_privilege_type7301	= { FOLLOW_EXECUTE_SYMBOL_in_privilege_type7301_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FILE_SYMBOL_in_privilege_type7306  */
static	ANTLR3_BITWORD FOLLOW_FILE_SYMBOL_in_privilege_type7306_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_FILE_SYMBOL_in_privilege_type7306	= { FOLLOW_FILE_SYMBOL_in_privilege_type7306_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_GRANT_SYMBOL_in_privilege_type7311  */
static	ANTLR3_BITWORD FOLLOW_GRANT_SYMBOL_in_privilege_type7311_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_GRANT_SYMBOL_in_privilege_type7311	= { FOLLOW_GRANT_SYMBOL_in_privilege_type7311_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPTION_SYMBOL_in_privilege_type7313  */
static	ANTLR3_BITWORD FOLLOW_OPTION_SYMBOL_in_privilege_type7313_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_OPTION_SYMBOL_in_privilege_type7313	= { FOLLOW_OPTION_SYMBOL_in_privilege_type7313_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INDEX_SYMBOL_in_privilege_type7318  */
static	ANTLR3_BITWORD FOLLOW_INDEX_SYMBOL_in_privilege_type7318_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_INDEX_SYMBOL_in_privilege_type7318	= { FOLLOW_INDEX_SYMBOL_in_privilege_type7318_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INSERT_SYMBOL_in_privilege_type7323  */
static	ANTLR3_BITWORD FOLLOW_INSERT_SYMBOL_in_privilege_type7323_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000000010000000) };
static  ANTLR3_BITSET_LIST FOLLOW_INSERT_SYMBOL_in_privilege_type7323	= { FOLLOW_INSERT_SYMBOL_in_privilege_type7323_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_list_with_parentheses_in_privilege_type7325  */
static	ANTLR3_BITWORD FOLLOW_identifier_list_with_parentheses_in_privilege_type7325_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_list_with_parentheses_in_privilege_type7325	= { FOLLOW_identifier_list_with_parentheses_in_privilege_type7325_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_LOCK_SYMBOL_in_privilege_type7331  */
static	ANTLR3_BITWORD FOLLOW_LOCK_SYMBOL_in_privilege_type7331_bits[]	= { 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_LOCK_SYMBOL_in_privilege_type7331	= { FOLLOW_LOCK_SYMBOL_in_privilege_type7331_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TABLES_SYMBOL_in_privilege_type7333  */
static	ANTLR3_BITWORD FOLLOW_TABLES_SYMBOL_in_privilege_type7333_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_TABLES_SYMBOL_in_privilege_type7333	= { FOLLOW_TABLES_SYMBOL_in_privilege_type7333_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PROCESS_SYMBOL_in_privilege_type7338  */
static	ANTLR3_BITWORD FOLLOW_PROCESS_SYMBOL_in_privilege_type7338_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_PROCESS_SYMBOL_in_privilege_type7338	= { FOLLOW_PROCESS_SYMBOL_in_privilege_type7338_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PROXY_SYMBOL_in_privilege_type7343  */
static	ANTLR3_BITWORD FOLLOW_PROXY_SYMBOL_in_privilege_type7343_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_PROXY_SYMBOL_in_privilege_type7343	= { FOLLOW_PROXY_SYMBOL_in_privilege_type7343_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_REFERENCES_SYMBOL_in_privilege_type7348  */
static	ANTLR3_BITWORD FOLLOW_REFERENCES_SYMBOL_in_privilege_type7348_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000000010000000) };
static  ANTLR3_BITSET_LIST FOLLOW_REFERENCES_SYMBOL_in_privilege_type7348	= { FOLLOW_REFERENCES_SYMBOL_in_privilege_type7348_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_list_with_parentheses_in_privilege_type7350  */
static	ANTLR3_BITWORD FOLLOW_identifier_list_with_parentheses_in_privilege_type7350_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_list_with_parentheses_in_privilege_type7350	= { FOLLOW_identifier_list_with_parentheses_in_privilege_type7350_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_RELOAD_SYMBOL_in_privilege_type7356  */
static	ANTLR3_BITWORD FOLLOW_RELOAD_SYMBOL_in_privilege_type7356_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_RELOAD_SYMBOL_in_privilege_type7356	= { FOLLOW_RELOAD_SYMBOL_in_privilege_type7356_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_REPLICATION_SYMBOL_in_privilege_type7361  */
static	ANTLR3_BITWORD FOLLOW_REPLICATION_SYMBOL_in_privilege_type7361_bits[]	= { ANTLR3_UINT64_LIT(0x0000000040000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000001000000) };
static  ANTLR3_BITSET_LIST FOLLOW_REPLICATION_SYMBOL_in_privilege_type7361	= { FOLLOW_REPLICATION_SYMBOL_in_privilege_type7361_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_privilege_type7363  */
static	ANTLR3_BITWORD FOLLOW_set_in_privilege_type7363_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_privilege_type7363	= { FOLLOW_set_in_privilege_type7363_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SELECT_SYMBOL_in_privilege_type7374  */
static	ANTLR3_BITWORD FOLLOW_SELECT_SYMBOL_in_privilege_type7374_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000000010000000) };
static  ANTLR3_BITSET_LIST FOLLOW_SELECT_SYMBOL_in_privilege_type7374	= { FOLLOW_SELECT_SYMBOL_in_privilege_type7374_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_list_with_parentheses_in_privilege_type7376  */
static	ANTLR3_BITWORD FOLLOW_identifier_list_with_parentheses_in_privilege_type7376_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_list_with_parentheses_in_privilege_type7376	= { FOLLOW_identifier_list_with_parentheses_in_privilege_type7376_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SHOW_SYMBOL_in_privilege_type7382  */
static	ANTLR3_BITWORD FOLLOW_SHOW_SYMBOL_in_privilege_type7382_bits[]	= { ANTLR3_UINT64_LIT(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_SHOW_SYMBOL_in_privilege_type7382	= { FOLLOW_SHOW_SYMBOL_in_privilege_type7382_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DATABASES_SYMBOL_in_privilege_type7384  */
static	ANTLR3_BITWORD FOLLOW_DATABASES_SYMBOL_in_privilege_type7384_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_DATABASES_SYMBOL_in_privilege_type7384	= { FOLLOW_DATABASES_SYMBOL_in_privilege_type7384_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SHOW_SYMBOL_in_privilege_type7389  */
static	ANTLR3_BITWORD FOLLOW_SHOW_SYMBOL_in_privilege_type7389_bits[]	= { 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_SHOW_SYMBOL_in_privilege_type7389	= { FOLLOW_SHOW_SYMBOL_in_privilege_type7389_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_VIEW_SYMBOL_in_privilege_type7391  */
static	ANTLR3_BITWORD FOLLOW_VIEW_SYMBOL_in_privilege_type7391_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_VIEW_SYMBOL_in_privilege_type7391	= { FOLLOW_VIEW_SYMBOL_in_privilege_type7391_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SHUTDOWN_SYMBOL_in_privilege_type7396  */
static	ANTLR3_BITWORD FOLLOW_SHUTDOWN_SYMBOL_in_privilege_type7396_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_SHUTDOWN_SYMBOL_in_privilege_type7396	= { FOLLOW_SHUTDOWN_SYMBOL_in_privilege_type7396_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SUPER_SYMBOL_in_privilege_type7401  */
static	ANTLR3_BITWORD FOLLOW_SUPER_SYMBOL_in_privilege_type7401_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_SUPER_SYMBOL_in_privilege_type7401	= { FOLLOW_SUPER_SYMBOL_in_privilege_type7401_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TRIGGER_SYMBOL_in_privilege_type7406  */
static	ANTLR3_BITWORD FOLLOW_TRIGGER_SYMBOL_in_privilege_type7406_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_TRIGGER_SYMBOL_in_privilege_type7406	= { FOLLOW_TRIGGER_SYMBOL_in_privilege_type7406_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_UPDATE_SYMBOL_in_privilege_type7411  */
static	ANTLR3_BITWORD FOLLOW_UPDATE_SYMBOL_in_privilege_type7411_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000000010000000) };
static  ANTLR3_BITSET_LIST FOLLOW_UPDATE_SYMBOL_in_privilege_type7411	= { FOLLOW_UPDATE_SYMBOL_in_privilege_type7411_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_list_with_parentheses_in_privilege_type7413  */
static	ANTLR3_BITWORD FOLLOW_identifier_list_with_parentheses_in_privilege_type7413_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_list_with_parentheses_in_privilege_type7413	= { FOLLOW_identifier_list_with_parentheses_in_privilege_type7413_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_USAGE_SYMBOL_in_privilege_type7419  */
static	ANTLR3_BITWORD FOLLOW_USAGE_SYMBOL_in_privilege_type7419_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_USAGE_SYMBOL_in_privilege_type7419	= { FOLLOW_USAGE_SYMBOL_in_privilege_type7419_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MULT_OPERATOR_in_privilege_level7428  */
static	ANTLR3_BITWORD FOLLOW_MULT_OPERATOR_in_privilege_level7428_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_MULT_OPERATOR_in_privilege_level7428	= { FOLLOW_MULT_OPERATOR_in_privilege_level7428_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DOT_SYMBOL_in_privilege_level7431  */
static	ANTLR3_BITWORD FOLLOW_DOT_SYMBOL_in_privilege_level7431_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_DOT_SYMBOL_in_privilege_level7431	= { FOLLOW_DOT_SYMBOL_in_privilege_level7431_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MULT_OPERATOR_in_privilege_level7433  */
static	ANTLR3_BITWORD FOLLOW_MULT_OPERATOR_in_privilege_level7433_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_MULT_OPERATOR_in_privilege_level7433	= { FOLLOW_MULT_OPERATOR_in_privilege_level7433_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_privilege_level7440  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_privilege_level7440_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_privilege_level7440	= { FOLLOW_identifier_in_privilege_level7440_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DOT_SYMBOL_in_privilege_level7443  */
static	ANTLR3_BITWORD FOLLOW_DOT_SYMBOL_in_privilege_level7443_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_DOT_SYMBOL_in_privilege_level7443	= { FOLLOW_DOT_SYMBOL_in_privilege_level7443_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MULT_OPERATOR_in_privilege_level7446  */
static	ANTLR3_BITWORD FOLLOW_MULT_OPERATOR_in_privilege_level7446_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_MULT_OPERATOR_in_privilege_level7446	= { FOLLOW_MULT_OPERATOR_in_privilege_level7446_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_privilege_level7450  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_privilege_level7450_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_privilege_level7450	= { FOLLOW_identifier_in_privilege_level7450_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CIPHER_SYMBOL_in_require_list7462  */
static	ANTLR3_BITWORD FOLLOW_CIPHER_SYMBOL_in_require_list7462_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_CIPHER_SYMBOL_in_require_list7462	= { FOLLOW_CIPHER_SYMBOL_in_require_list7462_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_require_list7464  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_require_list7464_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_require_list7464	= { FOLLOW_string_literal_in_require_list7464_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ISSUER_SYMBOL_in_require_list7469  */
static	ANTLR3_BITWORD FOLLOW_ISSUER_SYMBOL_in_require_list7469_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_ISSUER_SYMBOL_in_require_list7469	= { FOLLOW_ISSUER_SYMBOL_in_require_list7469_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_require_list7471  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_require_list7471_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_require_list7471	= { FOLLOW_string_literal_in_require_list7471_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SUBJECT_SYMBOL_in_require_list7476  */
static	ANTLR3_BITWORD FOLLOW_SUBJECT_SYMBOL_in_require_list7476_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_SUBJECT_SYMBOL_in_require_list7476	= { FOLLOW_SUBJECT_SYMBOL_in_require_list7476_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_require_list7478  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_require_list7478_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_require_list7478	= { FOLLOW_string_literal_in_require_list7478_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_GRANT_SYMBOL_in_grant_option7487  */
static	ANTLR3_BITWORD FOLLOW_GRANT_SYMBOL_in_grant_option7487_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_GRANT_SYMBOL_in_grant_option7487	= { FOLLOW_GRANT_SYMBOL_in_grant_option7487_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPTION_SYMBOL_in_grant_option7489  */
static	ANTLR3_BITWORD FOLLOW_OPTION_SYMBOL_in_grant_option7489_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_OPTION_SYMBOL_in_grant_option7489	= { FOLLOW_OPTION_SYMBOL_in_grant_option7489_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MAX_QUERIES_PER_HOUR_SYMBOL_in_grant_option7494  */
static	ANTLR3_BITWORD FOLLOW_MAX_QUERIES_PER_HOUR_SYMBOL_in_grant_option7494_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_MAX_QUERIES_PER_HOUR_SYMBOL_in_grant_option7494	= { FOLLOW_MAX_QUERIES_PER_HOUR_SYMBOL_in_grant_option7494_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_grant_option7496  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_grant_option7496_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_INTEGER_in_grant_option7496	= { FOLLOW_INTEGER_in_grant_option7496_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MAX_UPDATES_PER_HOUR_SYMBOL_in_grant_option7501  */
static	ANTLR3_BITWORD FOLLOW_MAX_UPDATES_PER_HOUR_SYMBOL_in_grant_option7501_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_MAX_UPDATES_PER_HOUR_SYMBOL_in_grant_option7501	= { FOLLOW_MAX_UPDATES_PER_HOUR_SYMBOL_in_grant_option7501_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_grant_option7503  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_grant_option7503_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_INTEGER_in_grant_option7503	= { FOLLOW_INTEGER_in_grant_option7503_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MAX_CONNECTIONS_PER_HOUR_SYMBOL_in_grant_option7508  */
static	ANTLR3_BITWORD FOLLOW_MAX_CONNECTIONS_PER_HOUR_SYMBOL_in_grant_option7508_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_MAX_CONNECTIONS_PER_HOUR_SYMBOL_in_grant_option7508	= { FOLLOW_MAX_CONNECTIONS_PER_HOUR_SYMBOL_in_grant_option7508_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_grant_option7510  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_grant_option7510_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_INTEGER_in_grant_option7510	= { FOLLOW_INTEGER_in_grant_option7510_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MAX_USER_CONNECTIONS_SYMBOL_in_grant_option7515  */
static	ANTLR3_BITWORD FOLLOW_MAX_USER_CONNECTIONS_SYMBOL_in_grant_option7515_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_MAX_USER_CONNECTIONS_SYMBOL_in_grant_option7515	= { FOLLOW_MAX_USER_CONNECTIONS_SYMBOL_in_grant_option7515_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_grant_option7517  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_grant_option7517_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_INTEGER_in_grant_option7517	= { FOLLOW_INTEGER_in_grant_option7517_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ANALYZE_SYMBOL_in_table_administration_statement7528  */
static	ANTLR3_BITWORD FOLLOW_ANALYZE_SYMBOL_in_table_administration_statement7528_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0200000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000010000), ANTLR3_UINT64_LIT(0x0100000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_ANALYZE_SYMBOL_in_table_administration_statement7528	= { FOLLOW_ANALYZE_SYMBOL_in_table_administration_statement7528_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_no_write_to_bin_log_in_table_administration_statement7531  */
static	ANTLR3_BITWORD FOLLOW_no_write_to_bin_log_in_table_administration_statement7531_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_no_write_to_bin_log_in_table_administration_statement7531	= { FOLLOW_no_write_to_bin_log_in_table_administration_statement7531_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TABLE_SYMBOL_in_table_administration_statement7534  */
static	ANTLR3_BITWORD FOLLOW_TABLE_SYMBOL_in_table_administration_statement7534_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_TABLE_SYMBOL_in_table_administration_statement7534	= { FOLLOW_TABLE_SYMBOL_in_table_administration_statement7534_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_qualified_identifier_list_in_table_administration_statement7536  */
static	ANTLR3_BITWORD FOLLOW_qualified_identifier_list_in_table_administration_statement7536_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_qualified_identifier_list_in_table_administration_statement7536	= { FOLLOW_qualified_identifier_list_in_table_administration_statement7536_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CHECK_SYMBOL_in_table_administration_statement7541  */
static	ANTLR3_BITWORD FOLLOW_CHECK_SYMBOL_in_table_administration_statement7541_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_CHECK_SYMBOL_in_table_administration_statement7541	= { FOLLOW_CHECK_SYMBOL_in_table_administration_statement7541_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TABLE_SYMBOL_in_table_administration_statement7544  */
static	ANTLR3_BITWORD FOLLOW_TABLE_SYMBOL_in_table_administration_statement7544_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_TABLE_SYMBOL_in_table_administration_statement7544	= { FOLLOW_TABLE_SYMBOL_in_table_administration_statement7544_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_qualified_identifier_list_in_table_administration_statement7546  */
static	ANTLR3_BITWORD FOLLOW_qualified_identifier_list_in_table_administration_statement7546_bits[]	= { ANTLR3_UINT64_LIT(0x0000000008000002), ANTLR3_UINT64_LIT(0x0000000000280000), ANTLR3_UINT64_LIT(0x0000000001000000), ANTLR3_UINT64_LIT(0x0000000000004000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000200000000) };
static  ANTLR3_BITSET_LIST FOLLOW_qualified_identifier_list_in_table_administration_statement7546	= { FOLLOW_qualified_identifier_list_in_table_administration_statement7546_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_check_option_in_table_administration_statement7548  */
static	ANTLR3_BITWORD FOLLOW_check_option_in_table_administration_statement7548_bits[]	= { ANTLR3_UINT64_LIT(0x0000000008000002), ANTLR3_UINT64_LIT(0x0000000000280000), ANTLR3_UINT64_LIT(0x0000000001000000), ANTLR3_UINT64_LIT(0x0000000000004000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000200000000) };
static  ANTLR3_BITSET_LIST FOLLOW_check_option_in_table_administration_statement7548	= { FOLLOW_check_option_in_table_administration_statement7548_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CHECKSUM_SYMBOL_in_table_administration_statement7554  */
static	ANTLR3_BITWORD FOLLOW_CHECKSUM_SYMBOL_in_table_administration_statement7554_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_CHECKSUM_SYMBOL_in_table_administration_statement7554	= { FOLLOW_CHECKSUM_SYMBOL_in_table_administration_statement7554_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TABLE_SYMBOL_in_table_administration_statement7557  */
static	ANTLR3_BITWORD FOLLOW_TABLE_SYMBOL_in_table_administration_statement7557_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_TABLE_SYMBOL_in_table_administration_statement7557	= { FOLLOW_TABLE_SYMBOL_in_table_administration_statement7557_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_qualified_identifier_list_in_table_administration_statement7559  */
static	ANTLR3_BITWORD FOLLOW_qualified_identifier_list_in_table_administration_statement7559_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000004000) };
static  ANTLR3_BITSET_LIST FOLLOW_qualified_identifier_list_in_table_administration_statement7559	= { FOLLOW_qualified_identifier_list_in_table_administration_statement7559_bits, 4	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPTIMIZE_SYMBOL_in_table_administration_statement7573  */
static	ANTLR3_BITWORD FOLLOW_OPTIMIZE_SYMBOL_in_table_administration_statement7573_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0200000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000010000), ANTLR3_UINT64_LIT(0x0100000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_OPTIMIZE_SYMBOL_in_table_administration_statement7573	= { FOLLOW_OPTIMIZE_SYMBOL_in_table_administration_statement7573_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_no_write_to_bin_log_in_table_administration_statement7576  */
static	ANTLR3_BITWORD FOLLOW_no_write_to_bin_log_in_table_administration_statement7576_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_no_write_to_bin_log_in_table_administration_statement7576	= { FOLLOW_no_write_to_bin_log_in_table_administration_statement7576_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TABLE_SYMBOL_in_table_administration_statement7579  */
static	ANTLR3_BITWORD FOLLOW_TABLE_SYMBOL_in_table_administration_statement7579_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_TABLE_SYMBOL_in_table_administration_statement7579	= { FOLLOW_TABLE_SYMBOL_in_table_administration_statement7579_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_qualified_identifier_list_in_table_administration_statement7581  */
static	ANTLR3_BITWORD FOLLOW_qualified_identifier_list_in_table_administration_statement7581_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_qualified_identifier_list_in_table_administration_statement7581	= { FOLLOW_qualified_identifier_list_in_table_administration_statement7581_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_REPAIR_SYMBOL_in_table_administration_statement7586  */
static	ANTLR3_BITWORD FOLLOW_REPAIR_SYMBOL_in_table_administration_statement7586_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0200000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000010000), ANTLR3_UINT64_LIT(0x0100000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_REPAIR_SYMBOL_in_table_administration_statement7586	= { FOLLOW_REPAIR_SYMBOL_in_table_administration_statement7586_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_no_write_to_bin_log_in_table_administration_statement7589  */
static	ANTLR3_BITWORD FOLLOW_no_write_to_bin_log_in_table_administration_statement7589_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_no_write_to_bin_log_in_table_administration_statement7589	= { FOLLOW_no_write_to_bin_log_in_table_administration_statement7589_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TABLE_SYMBOL_in_table_administration_statement7592  */
static	ANTLR3_BITWORD FOLLOW_TABLE_SYMBOL_in_table_administration_statement7592_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_TABLE_SYMBOL_in_table_administration_statement7592	= { FOLLOW_TABLE_SYMBOL_in_table_administration_statement7592_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_qualified_identifier_list_in_table_administration_statement7594  */
static	ANTLR3_BITWORD FOLLOW_qualified_identifier_list_in_table_administration_statement7594_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000004000), ANTLR3_UINT64_LIT(0x0000004000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_qualified_identifier_list_in_table_administration_statement7594	= { FOLLOW_qualified_identifier_list_in_table_administration_statement7594_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_repair_option_in_table_administration_statement7596  */
static	ANTLR3_BITWORD FOLLOW_repair_option_in_table_administration_statement7596_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000004000), ANTLR3_UINT64_LIT(0x0000004000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_repair_option_in_table_administration_statement7596	= { FOLLOW_repair_option_in_table_administration_statement7596_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BACKUP_SYMBOL_in_table_administration_statement7606  */
static	ANTLR3_BITWORD FOLLOW_BACKUP_SYMBOL_in_table_administration_statement7606_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_BACKUP_SYMBOL_in_table_administration_statement7606	= { FOLLOW_BACKUP_SYMBOL_in_table_administration_statement7606_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TABLE_SYMBOL_in_table_administration_statement7609  */
static	ANTLR3_BITWORD FOLLOW_TABLE_SYMBOL_in_table_administration_statement7609_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000012) };
static  ANTLR3_BITSET_LIST FOLLOW_TABLE_SYMBOL_in_table_administration_statement7609	= { FOLLOW_TABLE_SYMBOL_in_table_administration_statement7609_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_identifier_list_in_table_administration_statement7611  */
static	ANTLR3_BITWORD FOLLOW_table_identifier_list_in_table_administration_statement7611_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_table_identifier_list_in_table_administration_statement7611	= { FOLLOW_table_identifier_list_in_table_administration_statement7611_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TO_SYMBOL_in_table_administration_statement7613  */
static	ANTLR3_BITWORD FOLLOW_TO_SYMBOL_in_table_administration_statement7613_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_TO_SYMBOL_in_table_administration_statement7613	= { FOLLOW_TO_SYMBOL_in_table_administration_statement7613_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_table_administration_statement7615  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_table_administration_statement7615_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_table_administration_statement7615	= { FOLLOW_string_literal_in_table_administration_statement7615_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_RESTORE_SYMBOL_in_table_administration_statement7624  */
static	ANTLR3_BITWORD FOLLOW_RESTORE_SYMBOL_in_table_administration_statement7624_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_RESTORE_SYMBOL_in_table_administration_statement7624	= { FOLLOW_RESTORE_SYMBOL_in_table_administration_statement7624_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TABLE_SYMBOL_in_table_administration_statement7627  */
static	ANTLR3_BITWORD FOLLOW_TABLE_SYMBOL_in_table_administration_statement7627_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000012) };
static  ANTLR3_BITSET_LIST FOLLOW_TABLE_SYMBOL_in_table_administration_statement7627	= { FOLLOW_TABLE_SYMBOL_in_table_administration_statement7627_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_identifier_list_in_table_administration_statement7629  */
static	ANTLR3_BITWORD FOLLOW_table_identifier_list_in_table_administration_statement7629_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000800000000) };
static  ANTLR3_BITSET_LIST FOLLOW_table_identifier_list_in_table_administration_statement7629	= { FOLLOW_table_identifier_list_in_table_administration_statement7629_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FROM_SYMBOL_in_table_administration_statement7631  */
static	ANTLR3_BITWORD FOLLOW_FROM_SYMBOL_in_table_administration_statement7631_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_FROM_SYMBOL_in_table_administration_statement7631	= { FOLLOW_FROM_SYMBOL_in_table_administration_statement7631_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_table_administration_statement7633  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_table_administration_statement7633_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_table_administration_statement7633	= { FOLLOW_string_literal_in_table_administration_statement7633_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FOR_SYMBOL_in_check_option7642  */
static	ANTLR3_BITWORD FOLLOW_FOR_SYMBOL_in_check_option7642_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_FOR_SYMBOL_in_check_option7642	= { FOLLOW_FOR_SYMBOL_in_check_option7642_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_UPGRADE_SYMBOL_in_check_option7644  */
static	ANTLR3_BITWORD FOLLOW_UPGRADE_SYMBOL_in_check_option7644_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_UPGRADE_SYMBOL_in_check_option7644	= { FOLLOW_UPGRADE_SYMBOL_in_check_option7644_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_QUICK_SYMBOL_in_check_option7648  */
static	ANTLR3_BITWORD FOLLOW_QUICK_SYMBOL_in_check_option7648_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_QUICK_SYMBOL_in_check_option7648	= { FOLLOW_QUICK_SYMBOL_in_check_option7648_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FAST_SYMBOL_in_check_option7652  */
static	ANTLR3_BITWORD FOLLOW_FAST_SYMBOL_in_check_option7652_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_FAST_SYMBOL_in_check_option7652	= { FOLLOW_FAST_SYMBOL_in_check_option7652_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MEDIUM_SYMBOL_in_check_option7656  */
static	ANTLR3_BITWORD FOLLOW_MEDIUM_SYMBOL_in_check_option7656_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_MEDIUM_SYMBOL_in_check_option7656	= { FOLLOW_MEDIUM_SYMBOL_in_check_option7656_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EXTENDED_SYMBOL_in_check_option7660  */
static	ANTLR3_BITWORD FOLLOW_EXTENDED_SYMBOL_in_check_option7660_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_EXTENDED_SYMBOL_in_check_option7660	= { FOLLOW_EXTENDED_SYMBOL_in_check_option7660_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CHANGED_SYMBOL_in_check_option7664  */
static	ANTLR3_BITWORD FOLLOW_CHANGED_SYMBOL_in_check_option7664_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CHANGED_SYMBOL_in_check_option7664	= { FOLLOW_CHANGED_SYMBOL_in_check_option7664_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INSTALL_SYMBOL_in_install_uninstall_statment7692  */
static	ANTLR3_BITWORD FOLLOW_INSTALL_SYMBOL_in_install_uninstall_statment7692_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_INSTALL_SYMBOL_in_install_uninstall_statment7692	= { FOLLOW_INSTALL_SYMBOL_in_install_uninstall_statment7692_bits, 4	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PLUGIN_SYMBOL_in_install_uninstall_statment7695  */
static	ANTLR3_BITWORD FOLLOW_PLUGIN_SYMBOL_in_install_uninstall_statment7695_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_PLUGIN_SYMBOL_in_install_uninstall_statment7695	= { FOLLOW_PLUGIN_SYMBOL_in_install_uninstall_statment7695_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_install_uninstall_statment7697  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_install_uninstall_statment7697_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) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_install_uninstall_statment7697	= { FOLLOW_identifier_in_install_uninstall_statment7697_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SONAME_SYMBOL_in_install_uninstall_statment7699  */
static	ANTLR3_BITWORD FOLLOW_SONAME_SYMBOL_in_install_uninstall_statment7699_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_SONAME_SYMBOL_in_install_uninstall_statment7699	= { FOLLOW_SONAME_SYMBOL_in_install_uninstall_statment7699_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_install_uninstall_statment7701  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_install_uninstall_statment7701_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_install_uninstall_statment7701	= { FOLLOW_string_literal_in_install_uninstall_statment7701_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_UNINSTALL_SYMBOL_in_install_uninstall_statment7706  */
static	ANTLR3_BITWORD FOLLOW_UNINSTALL_SYMBOL_in_install_uninstall_statment7706_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_UNINSTALL_SYMBOL_in_install_uninstall_statment7706	= { FOLLOW_UNINSTALL_SYMBOL_in_install_uninstall_statment7706_bits, 4	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PLUGIN_SYMBOL_in_install_uninstall_statment7709  */
static	ANTLR3_BITWORD FOLLOW_PLUGIN_SYMBOL_in_install_uninstall_statment7709_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_PLUGIN_SYMBOL_in_install_uninstall_statment7709	= { FOLLOW_PLUGIN_SYMBOL_in_install_uninstall_statment7709_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_install_uninstall_statment7711  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_install_uninstall_statment7711_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_install_uninstall_statment7711	= { FOLLOW_identifier_in_install_uninstall_statment7711_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SET_SYMBOL_in_set_statement7722  */
static	ANTLR3_BITWORD FOLLOW_SET_SYMBOL_in_set_statement7722_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0005800FFFFFFFFF), ANTLR3_UINT64_LIT(0x0020000000001000), ANTLR3_UINT64_LIT(0x0010000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_SET_SYMBOL_in_set_statement7722	= { FOLLOW_SET_SYMBOL_in_set_statement7722_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_option_type_in_set_statement7725  */
static	ANTLR3_BITWORD FOLLOW_option_type_in_set_statement7725_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0005800FFFFFFFFF), ANTLR3_UINT64_LIT(0x0020000000001000), ANTLR3_UINT64_LIT(0x0010000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_option_type_in_set_statement7725	= { FOLLOW_option_type_in_set_statement7725_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TRANSACTION_SYMBOL_in_set_statement7736  */
static	ANTLR3_BITWORD FOLLOW_TRANSACTION_SYMBOL_in_set_statement7736_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0001000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), 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_TRANSACTION_SYMBOL_in_set_statement7736	= { FOLLOW_TRANSACTION_SYMBOL_in_set_statement7736_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_transaction_characteristic_in_set_statement7738  */
static	ANTLR3_BITWORD FOLLOW_set_transaction_characteristic_in_set_statement7738_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_set_transaction_characteristic_in_set_statement7738	= { FOLLOW_set_transaction_characteristic_in_set_statement7738_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ONE_SHOT_SYMBOL_in_set_statement7745  */
static	ANTLR3_BITWORD FOLLOW_ONE_SHOT_SYMBOL_in_set_statement7745_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0005800FFFFFFFFF), ANTLR3_UINT64_LIT(0x0020000000001000), ANTLR3_UINT64_LIT(0x0010000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_ONE_SHOT_SYMBOL_in_set_statement7745	= { FOLLOW_ONE_SHOT_SYMBOL_in_set_statement7745_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_variable_assignment_in_set_statement7748  */
static	ANTLR3_BITWORD FOLLOW_variable_assignment_in_set_statement7748_bits[]	= { ANTLR3_UINT64_LIT(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) };
static  ANTLR3_BITSET_LIST FOLLOW_variable_assignment_in_set_statement7748	= { FOLLOW_variable_assignment_in_set_statement7748_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_set_statement7751  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_set_statement7751_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0005800FFFFFFFFF), ANTLR3_UINT64_LIT(0x0020000000001000), ANTLR3_UINT64_LIT(0x0010000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_set_statement7751	= { FOLLOW_COMMA_SYMBOL_in_set_statement7751_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_option_value_list_in_set_statement7753  */
static	ANTLR3_BITWORD FOLLOW_option_value_list_in_set_statement7753_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_option_value_list_in_set_statement7753	= { FOLLOW_option_value_list_in_set_statement7753_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_NAMES_SYMBOL_in_variable_assignment7774  */
static	ANTLR3_BITWORD FOLLOW_NAMES_SYMBOL_in_variable_assignment7774_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0044200FFFFFFFFF), ANTLR3_UINT64_LIT(0x0020000000000000), ANTLR3_UINT64_LIT(0x0010000000002010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_NAMES_SYMBOL_in_variable_assignment7774	= { FOLLOW_NAMES_SYMBOL_in_variable_assignment7774_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_equal_in_variable_assignment7783  */
static	ANTLR3_BITWORD FOLLOW_equal_in_variable_assignment7783_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180AC908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_equal_in_variable_assignment7783	= { FOLLOW_equal_in_variable_assignment7783_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_variable_assignment7785  */
static	ANTLR3_BITWORD FOLLOW_expression_in_variable_assignment7785_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_variable_assignment7785	= { FOLLOW_expression_in_variable_assignment7785_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_charset_name_or_default_in_variable_assignment7792  */
static	ANTLR3_BITWORD FOLLOW_charset_name_or_default_in_variable_assignment7792_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), 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_charset_name_or_default_in_variable_assignment7792	= { FOLLOW_charset_name_or_default_in_variable_assignment7792_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COLLATE_SYMBOL_in_variable_assignment7795  */
static	ANTLR3_BITWORD FOLLOW_COLLATE_SYMBOL_in_variable_assignment7795_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0020000000000000), ANTLR3_UINT64_LIT(0x0010000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_COLLATE_SYMBOL_in_variable_assignment7795	= { FOLLOW_COLLATE_SYMBOL_in_variable_assignment7795_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_collation_name_or_default_in_variable_assignment7797  */
static	ANTLR3_BITWORD FOLLOW_collation_name_or_default_in_variable_assignment7797_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_collation_name_or_default_in_variable_assignment7797	= { FOLLOW_collation_name_or_default_in_variable_assignment7797_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_variable_name_in_variable_assignment7808  */
static	ANTLR3_BITWORD FOLLOW_variable_name_in_variable_assignment7808_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000200000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000002000) };
static  ANTLR3_BITSET_LIST FOLLOW_variable_name_in_variable_assignment7808	= { FOLLOW_variable_name_in_variable_assignment7808_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_equal_in_variable_assignment7810  */
static	ANTLR3_BITWORD FOLLOW_equal_in_variable_assignment7810_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45804FFFFFFFFF), ANTLR3_UINT64_LIT(0x00200A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x060003201A0AC908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_equal_in_variable_assignment7810	= { FOLLOW_equal_in_variable_assignment7810_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_expression_or_default_in_variable_assignment7812  */
static	ANTLR3_BITWORD FOLLOW_set_expression_or_default_in_variable_assignment7812_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_set_expression_or_default_in_variable_assignment7812	= { FOLLOW_set_expression_or_default_in_variable_assignment7812_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_user_variable_in_variable_assignment7817  */
static	ANTLR3_BITWORD FOLLOW_user_variable_in_variable_assignment7817_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000200000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000002000) };
static  ANTLR3_BITSET_LIST FOLLOW_user_variable_in_variable_assignment7817	= { FOLLOW_user_variable_in_variable_assignment7817_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_equal_in_variable_assignment7819  */
static	ANTLR3_BITWORD FOLLOW_equal_in_variable_assignment7819_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180AC908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_equal_in_variable_assignment7819	= { FOLLOW_equal_in_variable_assignment7819_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_variable_assignment7821  */
static	ANTLR3_BITWORD FOLLOW_expression_in_variable_assignment7821_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_variable_assignment7821	= { FOLLOW_expression_in_variable_assignment7821_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_system_variable_in_variable_assignment7826  */
static	ANTLR3_BITWORD FOLLOW_system_variable_in_variable_assignment7826_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000200000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000002000) };
static  ANTLR3_BITSET_LIST FOLLOW_system_variable_in_variable_assignment7826	= { FOLLOW_system_variable_in_variable_assignment7826_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_equal_in_variable_assignment7828  */
static	ANTLR3_BITWORD FOLLOW_equal_in_variable_assignment7828_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45804FFFFFFFFF), ANTLR3_UINT64_LIT(0x00200A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x060003201A0AC908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_equal_in_variable_assignment7828	= { FOLLOW_equal_in_variable_assignment7828_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_expression_or_default_in_variable_assignment7830  */
static	ANTLR3_BITWORD FOLLOW_set_expression_or_default_in_variable_assignment7830_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_set_expression_or_default_in_variable_assignment7830	= { FOLLOW_set_expression_or_default_in_variable_assignment7830_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_charset_clause_in_variable_assignment7835  */
static	ANTLR3_BITWORD FOLLOW_charset_clause_in_variable_assignment7835_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_charset_clause_in_variable_assignment7835	= { FOLLOW_charset_clause_in_variable_assignment7835_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_set_expression_or_default7844  */
static	ANTLR3_BITWORD FOLLOW_expression_in_set_expression_or_default7844_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_set_expression_or_default7844	= { FOLLOW_expression_in_set_expression_or_default7844_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DEFAULT_SYMBOL_in_set_expression_or_default7849  */
static	ANTLR3_BITWORD FOLLOW_DEFAULT_SYMBOL_in_set_expression_or_default7849_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_DEFAULT_SYMBOL_in_set_expression_or_default7849	= { FOLLOW_DEFAULT_SYMBOL_in_set_expression_or_default7849_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ON_SYMBOL_in_set_expression_or_default7854  */
static	ANTLR3_BITWORD FOLLOW_ON_SYMBOL_in_set_expression_or_default7854_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_ON_SYMBOL_in_set_expression_or_default7854	= { FOLLOW_ON_SYMBOL_in_set_expression_or_default7854_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ALL_SYMBOL_in_set_expression_or_default7859  */
static	ANTLR3_BITWORD FOLLOW_ALL_SYMBOL_in_set_expression_or_default7859_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_ALL_SYMBOL_in_set_expression_or_default7859	= { FOLLOW_ALL_SYMBOL_in_set_expression_or_default7859_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BINARY_SYMBOL_in_set_expression_or_default7864  */
static	ANTLR3_BITWORD FOLLOW_BINARY_SYMBOL_in_set_expression_or_default7864_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_BINARY_SYMBOL_in_set_expression_or_default7864	= { FOLLOW_BINARY_SYMBOL_in_set_expression_or_default7864_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_option_value_in_option_value_list7873  */
static	ANTLR3_BITWORD FOLLOW_option_value_in_option_value_list7873_bits[]	= { ANTLR3_UINT64_LIT(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) };
static  ANTLR3_BITSET_LIST FOLLOW_option_value_in_option_value_list7873	= { FOLLOW_option_value_in_option_value_list7873_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_option_value_list7876  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_option_value_list7876_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0005800FFFFFFFFF), ANTLR3_UINT64_LIT(0x0020000000001000), ANTLR3_UINT64_LIT(0x0010000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_option_value_list7876	= { FOLLOW_COMMA_SYMBOL_in_option_value_list7876_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_option_value_in_option_value_list7878  */
static	ANTLR3_BITWORD FOLLOW_option_value_in_option_value_list7878_bits[]	= { ANTLR3_UINT64_LIT(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) };
static  ANTLR3_BITSET_LIST FOLLOW_option_value_in_option_value_list7878	= { FOLLOW_option_value_in_option_value_list7878_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_option_type_in_option_value7889  */
static	ANTLR3_BITWORD FOLLOW_option_type_in_option_value7889_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0020000000000000), ANTLR3_UINT64_LIT(0x0010000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_option_type_in_option_value7889	= { FOLLOW_option_type_in_option_value7889_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_variable_name_in_option_value7891  */
static	ANTLR3_BITWORD FOLLOW_variable_name_in_option_value7891_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000200000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000002000) };
static  ANTLR3_BITSET_LIST FOLLOW_variable_name_in_option_value7891	= { FOLLOW_variable_name_in_option_value7891_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_equal_in_option_value7893  */
static	ANTLR3_BITWORD FOLLOW_equal_in_option_value7893_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45804FFFFFFFFF), ANTLR3_UINT64_LIT(0x00200A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x060003201A0AC908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_equal_in_option_value7893	= { FOLLOW_equal_in_option_value7893_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_expression_or_default_in_option_value7895  */
static	ANTLR3_BITWORD FOLLOW_set_expression_or_default_in_option_value7895_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_set_expression_or_default_in_option_value7895	= { FOLLOW_set_expression_or_default_in_option_value7895_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_variable_assignment_in_option_value7900  */
static	ANTLR3_BITWORD FOLLOW_variable_assignment_in_option_value7900_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_variable_assignment_in_option_value7900	= { FOLLOW_variable_assignment_in_option_value7900_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SHOW_SYMBOL_in_show_statement7911  */
static	ANTLR3_BITWORD FOLLOW_SHOW_SYMBOL_in_show_statement7911_bits[]	= { ANTLR3_UINT64_LIT(0x0001000600042000), ANTLR3_UINT64_LIT(0x02000A0618004B00), ANTLR3_UINT64_LIT(0x8000000000010000), ANTLR3_UINT64_LIT(0x00004000002006C2), ANTLR3_UINT64_LIT(0x0080090004004006), ANTLR3_UINT64_LIT(0x0040000001000200), ANTLR3_UINT64_LIT(0x0000002030001000), ANTLR3_UINT64_LIT(0x0100000000000000), ANTLR3_UINT64_LIT(0x0000000000010000), ANTLR3_UINT64_LIT(0x0000400000000000), ANTLR3_UINT64_LIT(0x0100000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_SHOW_SYMBOL_in_show_statement7911	= { FOLLOW_SHOW_SYMBOL_in_show_statement7911_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_AUTHORS_SYMBOL_in_show_statement7919  */
static	ANTLR3_BITWORD FOLLOW_AUTHORS_SYMBOL_in_show_statement7919_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_AUTHORS_SYMBOL_in_show_statement7919	= { FOLLOW_AUTHORS_SYMBOL_in_show_statement7919_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BINARY_SYMBOL_in_show_statement7925  */
static	ANTLR3_BITWORD FOLLOW_BINARY_SYMBOL_in_show_statement7925_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x1000000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_BINARY_SYMBOL_in_show_statement7925	= { FOLLOW_BINARY_SYMBOL_in_show_statement7925_bits, 2	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_LOGS_SYMBOL_in_show_statement7927  */
static	ANTLR3_BITWORD FOLLOW_LOGS_SYMBOL_in_show_statement7927_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_LOGS_SYMBOL_in_show_statement7927	= { FOLLOW_LOGS_SYMBOL_in_show_statement7927_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_show_statement7933  */
static	ANTLR3_BITWORD FOLLOW_set_in_show_statement7933_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000004000) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_show_statement7933	= { FOLLOW_set_in_show_statement7933_bits, 2	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EVENTS_SYMBOL_in_show_statement7941  */
static	ANTLR3_BITWORD FOLLOW_EVENTS_SYMBOL_in_show_statement7941_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000000800000000), ANTLR3_UINT64_LIT(0x0000000040000100) };
static  ANTLR3_BITSET_LIST FOLLOW_EVENTS_SYMBOL_in_show_statement7941	= { FOLLOW_EVENTS_SYMBOL_in_show_statement7941_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_IN_SYMBOL_in_show_statement7944  */
static	ANTLR3_BITWORD FOLLOW_IN_SYMBOL_in_show_statement7944_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_IN_SYMBOL_in_show_statement7944	= { FOLLOW_IN_SYMBOL_in_show_statement7944_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_show_statement7946  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_show_statement7946_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000000800000000), ANTLR3_UINT64_LIT(0x0000000040000000) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_show_statement7946	= { FOLLOW_string_literal_in_show_statement7946_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FROM_SYMBOL_in_show_statement7951  */
static	ANTLR3_BITWORD FOLLOW_FROM_SYMBOL_in_show_statement7951_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_FROM_SYMBOL_in_show_statement7951	= { FOLLOW_FROM_SYMBOL_in_show_statement7951_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_show_statement7953  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_show_statement7953_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000000040000000) };
static  ANTLR3_BITSET_LIST FOLLOW_INTEGER_in_show_statement7953	= { FOLLOW_INTEGER_in_show_statement7953_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_limit_clause_in_show_statement7957  */
static	ANTLR3_BITWORD FOLLOW_limit_clause_in_show_statement7957_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_limit_clause_in_show_statement7957	= { FOLLOW_limit_clause_in_show_statement7957_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CHAR_SYMBOL_in_show_statement7965  */
static	ANTLR3_BITWORD FOLLOW_CHAR_SYMBOL_in_show_statement7965_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_CHAR_SYMBOL_in_show_statement7965	= { FOLLOW_CHAR_SYMBOL_in_show_statement7965_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SET_SYMBOL_in_show_statement7967  */
static	ANTLR3_BITWORD FOLLOW_SET_SYMBOL_in_show_statement7967_bits[]	= { ANTLR3_UINT64_LIT(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), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_SET_SYMBOL_in_show_statement7967	= { FOLLOW_SET_SYMBOL_in_show_statement7967_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CHARSET_SYMBOL_in_show_statement7971  */
static	ANTLR3_BITWORD FOLLOW_CHARSET_SYMBOL_in_show_statement7971_bits[]	= { ANTLR3_UINT64_LIT(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), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_CHARSET_SYMBOL_in_show_statement7971	= { FOLLOW_CHARSET_SYMBOL_in_show_statement7971_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_like_or_where_in_show_statement7974  */
static	ANTLR3_BITWORD FOLLOW_like_or_where_in_show_statement7974_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_like_or_where_in_show_statement7974	= { FOLLOW_like_or_where_in_show_statement7974_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COLLATION_SYMBOL_in_show_statement7981  */
static	ANTLR3_BITWORD FOLLOW_COLLATION_SYMBOL_in_show_statement7981_bits[]	= { ANTLR3_UINT64_LIT(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), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_COLLATION_SYMBOL_in_show_statement7981	= { FOLLOW_COLLATION_SYMBOL_in_show_statement7981_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_like_or_where_in_show_statement7983  */
static	ANTLR3_BITWORD FOLLOW_like_or_where_in_show_statement7983_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_like_or_where_in_show_statement7983	= { FOLLOW_like_or_where_in_show_statement7983_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FULL_SYMBOL_in_show_statement7990  */
static	ANTLR3_BITWORD FOLLOW_FULL_SYMBOL_in_show_statement7990_bits[]	= { ANTLR3_UINT64_LIT(0x0000000400000000) };
static  ANTLR3_BITSET_LIST FOLLOW_FULL_SYMBOL_in_show_statement7990	= { FOLLOW_FULL_SYMBOL_in_show_statement7990_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COLUMNS_SYMBOL_in_show_statement7993  */
static	ANTLR3_BITWORD FOLLOW_COLUMNS_SYMBOL_in_show_statement7993_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000800000000), ANTLR3_UINT64_LIT(0x0000000000000100) };
static  ANTLR3_BITSET_LIST FOLLOW_COLUMNS_SYMBOL_in_show_statement7993	= { FOLLOW_COLUMNS_SYMBOL_in_show_statement7993_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_show_statement7995  */
static	ANTLR3_BITWORD FOLLOW_set_in_show_statement7995_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000012) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_show_statement7995	= { FOLLOW_set_in_show_statement7995_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_identifier_in_show_statement8003  */
static	ANTLR3_BITWORD FOLLOW_table_identifier_in_show_statement8003_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000000800000000), ANTLR3_UINT64_LIT(0x0000000020000100), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_table_identifier_in_show_statement8003	= { FOLLOW_table_identifier_in_show_statement8003_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_in_db_in_show_statement8005  */
static	ANTLR3_BITWORD FOLLOW_in_db_in_show_statement8005_bits[]	= { ANTLR3_UINT64_LIT(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), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_in_db_in_show_statement8005	= { FOLLOW_in_db_in_show_statement8005_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_like_or_where_in_show_statement8008  */
static	ANTLR3_BITWORD FOLLOW_like_or_where_in_show_statement8008_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_like_or_where_in_show_statement8008	= { FOLLOW_like_or_where_in_show_statement8008_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CONTRIBUTORS_SYMBOL_in_show_statement8015  */
static	ANTLR3_BITWORD FOLLOW_CONTRIBUTORS_SYMBOL_in_show_statement8015_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CONTRIBUTORS_SYMBOL_in_show_statement8015	= { FOLLOW_CONTRIBUTORS_SYMBOL_in_show_statement8015_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COUNT_SYMBOL_in_show_statement8021  */
static	ANTLR3_BITWORD FOLLOW_COUNT_SYMBOL_in_show_statement8021_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_COUNT_SYMBOL_in_show_statement8021	= { FOLLOW_COUNT_SYMBOL_in_show_statement8021_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_show_statement8023  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_show_statement8023_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_OPEN_PAR_SYMBOL_in_show_statement8023	= { FOLLOW_OPEN_PAR_SYMBOL_in_show_statement8023_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MULT_OPERATOR_in_show_statement8025  */
static	ANTLR3_BITWORD FOLLOW_MULT_OPERATOR_in_show_statement8025_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000010000) };
static  ANTLR3_BITSET_LIST FOLLOW_MULT_OPERATOR_in_show_statement8025	= { FOLLOW_MULT_OPERATOR_in_show_statement8025_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_show_statement8027  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_show_statement8027_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000800), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000080000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_show_statement8027	= { FOLLOW_CLOSE_PAR_SYMBOL_in_show_statement8027_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_show_statement8029  */
static	ANTLR3_BITWORD FOLLOW_set_in_show_statement8029_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_show_statement8029	= { FOLLOW_set_in_show_statement8029_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CREATE_SYMBOL_in_show_statement8041  */
static	ANTLR3_BITWORD FOLLOW_CREATE_SYMBOL_in_show_statement8041_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000010008000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000020000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000004000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000400000000000), ANTLR3_UINT64_LIT(0x0100000000000000), ANTLR3_UINT64_LIT(0x0000000000000001) };
static  ANTLR3_BITSET_LIST FOLLOW_CREATE_SYMBOL_in_show_statement8041	= { FOLLOW_CREATE_SYMBOL_in_show_statement8041_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_show_statement8043  */
static	ANTLR3_BITWORD FOLLOW_set_in_show_statement8043_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_show_statement8043	= { FOLLOW_set_in_show_statement8043_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_qualified_identifier_in_show_statement8071  */
static	ANTLR3_BITWORD FOLLOW_qualified_identifier_in_show_statement8071_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_qualified_identifier_in_show_statement8071	= { FOLLOW_qualified_identifier_in_show_statement8071_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DATABASES_SYMBOL_in_show_statement8077  */
static	ANTLR3_BITWORD FOLLOW_DATABASES_SYMBOL_in_show_statement8077_bits[]	= { ANTLR3_UINT64_LIT(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_DATABASES_SYMBOL_in_show_statement8077	= { FOLLOW_DATABASES_SYMBOL_in_show_statement8077_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_like_clause_in_show_statement8079  */
static	ANTLR3_BITWORD FOLLOW_like_clause_in_show_statement8079_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_like_clause_in_show_statement8079	= { FOLLOW_like_clause_in_show_statement8079_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ENGINE_SYMBOL_in_show_statement8086  */
static	ANTLR3_BITWORD FOLLOW_ENGINE_SYMBOL_in_show_statement8086_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_ENGINE_SYMBOL_in_show_statement8086	= { FOLLOW_ENGINE_SYMBOL_in_show_statement8086_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_text_or_identifier_in_show_statement8088  */
static	ANTLR3_BITWORD FOLLOW_text_or_identifier_in_show_statement8088_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000004000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_text_or_identifier_in_show_statement8088	= { FOLLOW_text_or_identifier_in_show_statement8088_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_show_statement8090  */
static	ANTLR3_BITWORD FOLLOW_set_in_show_statement8090_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_show_statement8090	= { FOLLOW_set_in_show_statement8090_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_STORAGE_SYMBOL_in_show_statement8102  */
static	ANTLR3_BITWORD FOLLOW_STORAGE_SYMBOL_in_show_statement8102_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100) };
static  ANTLR3_BITSET_LIST FOLLOW_STORAGE_SYMBOL_in_show_statement8102	= { FOLLOW_STORAGE_SYMBOL_in_show_statement8102_bits, 2	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ENGINES_SYMBOL_in_show_statement8105  */
static	ANTLR3_BITWORD FOLLOW_ENGINES_SYMBOL_in_show_statement8105_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_ENGINES_SYMBOL_in_show_statement8105	= { FOLLOW_ENGINES_SYMBOL_in_show_statement8105_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ERRORS_SYMBOL_in_show_statement8111  */
static	ANTLR3_BITWORD FOLLOW_ERRORS_SYMBOL_in_show_statement8111_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000000040000000) };
static  ANTLR3_BITSET_LIST FOLLOW_ERRORS_SYMBOL_in_show_statement8111	= { FOLLOW_ERRORS_SYMBOL_in_show_statement8111_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_limit_clause_in_show_statement8113  */
static	ANTLR3_BITWORD FOLLOW_limit_clause_in_show_statement8113_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_limit_clause_in_show_statement8113	= { FOLLOW_limit_clause_in_show_statement8113_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EVENTS_SYMBOL_in_show_statement8120  */
static	ANTLR3_BITWORD FOLLOW_EVENTS_SYMBOL_in_show_statement8120_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_EVENTS_SYMBOL_in_show_statement8120	= { FOLLOW_EVENTS_SYMBOL_in_show_statement8120_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FUNCTION_SYMBOL_in_show_statement8126  */
static	ANTLR3_BITWORD FOLLOW_FUNCTION_SYMBOL_in_show_statement8126_bits[]	= { ANTLR3_UINT64_LIT(0x0000000100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_FUNCTION_SYMBOL_in_show_statement8126	= { FOLLOW_FUNCTION_SYMBOL_in_show_statement8126_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CODE_SYMBOL_in_show_statement8128  */
static	ANTLR3_BITWORD FOLLOW_CODE_SYMBOL_in_show_statement8128_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_CODE_SYMBOL_in_show_statement8128	= { FOLLOW_CODE_SYMBOL_in_show_statement8128_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_qualified_identifier_in_show_statement8130  */
static	ANTLR3_BITWORD FOLLOW_qualified_identifier_in_show_statement8130_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_qualified_identifier_in_show_statement8130	= { FOLLOW_qualified_identifier_in_show_statement8130_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FUNCTION_SYMBOL_in_show_statement8136  */
static	ANTLR3_BITWORD FOLLOW_FUNCTION_SYMBOL_in_show_statement8136_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_FUNCTION_SYMBOL_in_show_statement8136	= { FOLLOW_FUNCTION_SYMBOL_in_show_statement8136_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_STATUS_SYMBOL_in_show_statement8138  */
static	ANTLR3_BITWORD FOLLOW_STATUS_SYMBOL_in_show_statement8138_bits[]	= { ANTLR3_UINT64_LIT(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), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_STATUS_SYMBOL_in_show_statement8138	= { FOLLOW_STATUS_SYMBOL_in_show_statement8138_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_like_or_where_in_show_statement8140  */
static	ANTLR3_BITWORD FOLLOW_like_or_where_in_show_statement8140_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_like_or_where_in_show_statement8140	= { FOLLOW_like_or_where_in_show_statement8140_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_GRANTS_SYMBOL_in_show_statement8147  */
static	ANTLR3_BITWORD FOLLOW_GRANTS_SYMBOL_in_show_statement8147_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_GRANTS_SYMBOL_in_show_statement8147	= { FOLLOW_GRANTS_SYMBOL_in_show_statement8147_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FOR_SYMBOL_in_show_statement8149  */
static	ANTLR3_BITWORD FOLLOW_FOR_SYMBOL_in_show_statement8149_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000200000000), ANTLR3_UINT64_LIT(0x0010000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_FOR_SYMBOL_in_show_statement8149	= { FOLLOW_FOR_SYMBOL_in_show_statement8149_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_user_in_show_statement8151  */
static	ANTLR3_BITWORD FOLLOW_user_in_show_statement8151_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_user_in_show_statement8151	= { FOLLOW_user_in_show_statement8151_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_show_statement8157  */
static	ANTLR3_BITWORD FOLLOW_set_in_show_statement8157_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000800000000), ANTLR3_UINT64_LIT(0x0000000000000100) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_show_statement8157	= { FOLLOW_set_in_show_statement8157_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_from_or_in_in_show_statement8169  */
static	ANTLR3_BITWORD FOLLOW_from_or_in_in_show_statement8169_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000012) };
static  ANTLR3_BITSET_LIST FOLLOW_from_or_in_in_show_statement8169	= { FOLLOW_from_or_in_in_show_statement8169_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_identifier_in_show_statement8171  */
static	ANTLR3_BITWORD FOLLOW_table_identifier_in_show_statement8171_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000000800000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_table_identifier_in_show_statement8171	= { FOLLOW_table_identifier_in_show_statement8171_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_in_db_in_show_statement8173  */
static	ANTLR3_BITWORD FOLLOW_in_db_in_show_statement8173_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000000100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_in_db_in_show_statement8173	= { FOLLOW_in_db_in_show_statement8173_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_where_clause_in_show_statement8176  */
static	ANTLR3_BITWORD FOLLOW_where_clause_in_show_statement8176_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_where_clause_in_show_statement8176	= { FOLLOW_where_clause_in_show_statement8176_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INNODB_SYMBOL_in_show_statement8187  */
static	ANTLR3_BITWORD FOLLOW_INNODB_SYMBOL_in_show_statement8187_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_INNODB_SYMBOL_in_show_statement8187	= { FOLLOW_INNODB_SYMBOL_in_show_statement8187_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_STATUS_SYMBOL_in_show_statement8189  */
static	ANTLR3_BITWORD FOLLOW_STATUS_SYMBOL_in_show_statement8189_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_STATUS_SYMBOL_in_show_statement8189	= { FOLLOW_STATUS_SYMBOL_in_show_statement8189_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MASTER_SYMBOL_in_show_statement8196  */
static	ANTLR3_BITWORD FOLLOW_MASTER_SYMBOL_in_show_statement8196_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_MASTER_SYMBOL_in_show_statement8196	= { FOLLOW_MASTER_SYMBOL_in_show_statement8196_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_STATUS_SYMBOL_in_show_statement8198  */
static	ANTLR3_BITWORD FOLLOW_STATUS_SYMBOL_in_show_statement8198_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_STATUS_SYMBOL_in_show_statement8198	= { FOLLOW_STATUS_SYMBOL_in_show_statement8198_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_SYMBOL_in_show_statement8204  */
static	ANTLR3_BITWORD FOLLOW_OPEN_SYMBOL_in_show_statement8204_bits[]	= { 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_OPEN_SYMBOL_in_show_statement8204	= { FOLLOW_OPEN_SYMBOL_in_show_statement8204_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TABLES_SYMBOL_in_show_statement8206  */
static	ANTLR3_BITWORD FOLLOW_TABLES_SYMBOL_in_show_statement8206_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000000800000000), ANTLR3_UINT64_LIT(0x0000000020000100), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_TABLES_SYMBOL_in_show_statement8206	= { FOLLOW_TABLES_SYMBOL_in_show_statement8206_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_in_db_in_show_statement8208  */
static	ANTLR3_BITWORD FOLLOW_in_db_in_show_statement8208_bits[]	= { ANTLR3_UINT64_LIT(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), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_in_db_in_show_statement8208	= { FOLLOW_in_db_in_show_statement8208_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_like_or_where_in_show_statement8211  */
static	ANTLR3_BITWORD FOLLOW_like_or_where_in_show_statement8211_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_like_or_where_in_show_statement8211	= { FOLLOW_like_or_where_in_show_statement8211_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PLUGIN_SYMBOL_in_show_statement8222  */
static	ANTLR3_BITWORD FOLLOW_PLUGIN_SYMBOL_in_show_statement8222_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_PLUGIN_SYMBOL_in_show_statement8222	= { FOLLOW_PLUGIN_SYMBOL_in_show_statement8222_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PLUGINS_SYMBOL_in_show_statement8233  */
static	ANTLR3_BITWORD FOLLOW_PLUGINS_SYMBOL_in_show_statement8233_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_PLUGINS_SYMBOL_in_show_statement8233	= { FOLLOW_PLUGINS_SYMBOL_in_show_statement8233_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PROCEDURE_SYMBOL_in_show_statement8239  */
static	ANTLR3_BITWORD FOLLOW_PROCEDURE_SYMBOL_in_show_statement8239_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_PROCEDURE_SYMBOL_in_show_statement8239	= { FOLLOW_PROCEDURE_SYMBOL_in_show_statement8239_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_STATUS_SYMBOL_in_show_statement8241  */
static	ANTLR3_BITWORD FOLLOW_STATUS_SYMBOL_in_show_statement8241_bits[]	= { ANTLR3_UINT64_LIT(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), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_STATUS_SYMBOL_in_show_statement8241	= { FOLLOW_STATUS_SYMBOL_in_show_statement8241_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_like_or_where_in_show_statement8243  */
static	ANTLR3_BITWORD FOLLOW_like_or_where_in_show_statement8243_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_like_or_where_in_show_statement8243	= { FOLLOW_like_or_where_in_show_statement8243_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PROCEDURE_SYMBOL_in_show_statement8250  */
static	ANTLR3_BITWORD FOLLOW_PROCEDURE_SYMBOL_in_show_statement8250_bits[]	= { ANTLR3_UINT64_LIT(0x0000000100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_PROCEDURE_SYMBOL_in_show_statement8250	= { FOLLOW_PROCEDURE_SYMBOL_in_show_statement8250_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CODE_SYMBOL_in_show_statement8252  */
static	ANTLR3_BITWORD FOLLOW_CODE_SYMBOL_in_show_statement8252_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_CODE_SYMBOL_in_show_statement8252	= { FOLLOW_CODE_SYMBOL_in_show_statement8252_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_qualified_identifier_in_show_statement8254  */
static	ANTLR3_BITWORD FOLLOW_qualified_identifier_in_show_statement8254_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_qualified_identifier_in_show_statement8254	= { FOLLOW_qualified_identifier_in_show_statement8254_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PRIVILEGES_SYMBOL_in_show_statement8260  */
static	ANTLR3_BITWORD FOLLOW_PRIVILEGES_SYMBOL_in_show_statement8260_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_PRIVILEGES_SYMBOL_in_show_statement8260	= { FOLLOW_PRIVILEGES_SYMBOL_in_show_statement8260_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FULL_SYMBOL_in_show_statement8266  */
static	ANTLR3_BITWORD FOLLOW_FULL_SYMBOL_in_show_statement8266_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000080) };
static  ANTLR3_BITSET_LIST FOLLOW_FULL_SYMBOL_in_show_statement8266	= { FOLLOW_FULL_SYMBOL_in_show_statement8266_bits, 4	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PROCESSLIST_SYMBOL_in_show_statement8269  */
static	ANTLR3_BITWORD FOLLOW_PROCESSLIST_SYMBOL_in_show_statement8269_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_PROCESSLIST_SYMBOL_in_show_statement8269	= { FOLLOW_PROCESSLIST_SYMBOL_in_show_statement8269_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PROFILE_SYMBOL_in_show_statement8275  */
static	ANTLR3_BITWORD FOLLOW_PROFILE_SYMBOL_in_show_statement8275_bits[]	= { ANTLR3_UINT64_LIT(0x0002800000100002), ANTLR3_UINT64_LIT(0x0000800000000000), ANTLR3_UINT64_LIT(0x0200000002000000), ANTLR3_UINT64_LIT(0x0020000000000000), ANTLR3_UINT64_LIT(0x0000000000000800), ANTLR3_UINT64_LIT(0x0000004000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000200000000), ANTLR3_UINT64_LIT(0x0000000040000000) };
static  ANTLR3_BITSET_LIST FOLLOW_PROFILE_SYMBOL_in_show_statement8275	= { FOLLOW_PROFILE_SYMBOL_in_show_statement8275_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_profile_type_in_show_statement8278  */
static	ANTLR3_BITWORD FOLLOW_profile_type_in_show_statement8278_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000000200000000), ANTLR3_UINT64_LIT(0x0000000040000000) };
static  ANTLR3_BITSET_LIST FOLLOW_profile_type_in_show_statement8278	= { FOLLOW_profile_type_in_show_statement8278_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_show_statement8281  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_show_statement8281_bits[]	= { ANTLR3_UINT64_LIT(0x0002800000100000), ANTLR3_UINT64_LIT(0x0000800000000000), ANTLR3_UINT64_LIT(0x0200000002000000), ANTLR3_UINT64_LIT(0x0020000000000000), ANTLR3_UINT64_LIT(0x0000000000000800), ANTLR3_UINT64_LIT(0x0000004000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_show_statement8281	= { FOLLOW_COMMA_SYMBOL_in_show_statement8281_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_profile_type_in_show_statement8283  */
static	ANTLR3_BITWORD FOLLOW_profile_type_in_show_statement8283_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000000200000000), ANTLR3_UINT64_LIT(0x0000000040000000) };
static  ANTLR3_BITSET_LIST FOLLOW_profile_type_in_show_statement8283	= { FOLLOW_profile_type_in_show_statement8283_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FOR_SYMBOL_in_show_statement8290  */
static	ANTLR3_BITWORD FOLLOW_FOR_SYMBOL_in_show_statement8290_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000002000) };
static  ANTLR3_BITSET_LIST FOLLOW_FOR_SYMBOL_in_show_statement8290	= { FOLLOW_FOR_SYMBOL_in_show_statement8290_bits, 4	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_QUERY_SYMBOL_in_show_statement8292  */
static	ANTLR3_BITWORD FOLLOW_QUERY_SYMBOL_in_show_statement8292_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_QUERY_SYMBOL_in_show_statement8292	= { FOLLOW_QUERY_SYMBOL_in_show_statement8292_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_show_statement8294  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_show_statement8294_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000000040000000) };
static  ANTLR3_BITSET_LIST FOLLOW_INTEGER_in_show_statement8294	= { FOLLOW_INTEGER_in_show_statement8294_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_limit_clause_in_show_statement8298  */
static	ANTLR3_BITWORD FOLLOW_limit_clause_in_show_statement8298_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_limit_clause_in_show_statement8298	= { FOLLOW_limit_clause_in_show_statement8298_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PROFILES_SYMBOL_in_show_statement8305  */
static	ANTLR3_BITWORD FOLLOW_PROFILES_SYMBOL_in_show_statement8305_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_PROFILES_SYMBOL_in_show_statement8305	= { FOLLOW_PROFILES_SYMBOL_in_show_statement8305_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SLAVE_SYMBOL_in_show_statement8311  */
static	ANTLR3_BITWORD FOLLOW_SLAVE_SYMBOL_in_show_statement8311_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000001000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_SLAVE_SYMBOL_in_show_statement8311	= { FOLLOW_SLAVE_SYMBOL_in_show_statement8311_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_show_statement8313  */
static	ANTLR3_BITWORD FOLLOW_set_in_show_statement8313_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_show_statement8313	= { FOLLOW_set_in_show_statement8313_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_option_type_in_show_statement8325  */
static	ANTLR3_BITWORD FOLLOW_option_type_in_show_statement8325_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000010000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_option_type_in_show_statement8325	= { FOLLOW_option_type_in_show_statement8325_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_show_statement8328  */
static	ANTLR3_BITWORD FOLLOW_set_in_show_statement8328_bits[]	= { ANTLR3_UINT64_LIT(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), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_show_statement8328	= { FOLLOW_set_in_show_statement8328_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_like_or_where_in_show_statement8336  */
static	ANTLR3_BITWORD FOLLOW_like_or_where_in_show_statement8336_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_like_or_where_in_show_statement8336	= { FOLLOW_like_or_where_in_show_statement8336_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TABLE_SYMBOL_in_show_statement8343  */
static	ANTLR3_BITWORD FOLLOW_TABLE_SYMBOL_in_show_statement8343_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_TABLE_SYMBOL_in_show_statement8343	= { FOLLOW_TABLE_SYMBOL_in_show_statement8343_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_STATUS_SYMBOL_in_show_statement8345  */
static	ANTLR3_BITWORD FOLLOW_STATUS_SYMBOL_in_show_statement8345_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000000800000000), ANTLR3_UINT64_LIT(0x0000000020000100), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_STATUS_SYMBOL_in_show_statement8345	= { FOLLOW_STATUS_SYMBOL_in_show_statement8345_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_in_db_in_show_statement8347  */
static	ANTLR3_BITWORD FOLLOW_in_db_in_show_statement8347_bits[]	= { ANTLR3_UINT64_LIT(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), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_in_db_in_show_statement8347	= { FOLLOW_in_db_in_show_statement8347_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_like_or_where_in_show_statement8350  */
static	ANTLR3_BITWORD FOLLOW_like_or_where_in_show_statement8350_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_like_or_where_in_show_statement8350	= { FOLLOW_like_or_where_in_show_statement8350_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FULL_SYMBOL_in_show_statement8357  */
static	ANTLR3_BITWORD FOLLOW_FULL_SYMBOL_in_show_statement8357_bits[]	= { 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_FULL_SYMBOL_in_show_statement8357	= { FOLLOW_FULL_SYMBOL_in_show_statement8357_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TABLES_SYMBOL_in_show_statement8360  */
static	ANTLR3_BITWORD FOLLOW_TABLES_SYMBOL_in_show_statement8360_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000000800000000), ANTLR3_UINT64_LIT(0x0000000020000100), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_TABLES_SYMBOL_in_show_statement8360	= { FOLLOW_TABLES_SYMBOL_in_show_statement8360_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_in_db_in_show_statement8362  */
static	ANTLR3_BITWORD FOLLOW_in_db_in_show_statement8362_bits[]	= { ANTLR3_UINT64_LIT(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), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_in_db_in_show_statement8362	= { FOLLOW_in_db_in_show_statement8362_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_like_or_where_in_show_statement8365  */
static	ANTLR3_BITWORD FOLLOW_like_or_where_in_show_statement8365_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_like_or_where_in_show_statement8365	= { FOLLOW_like_or_where_in_show_statement8365_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FULL_SYMBOL_in_show_statement8372  */
static	ANTLR3_BITWORD FOLLOW_FULL_SYMBOL_in_show_statement8372_bits[]	= { 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_FULL_SYMBOL_in_show_statement8372	= { FOLLOW_FULL_SYMBOL_in_show_statement8372_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TRIGGERS_SYMBOL_in_show_statement8375  */
static	ANTLR3_BITWORD FOLLOW_TRIGGERS_SYMBOL_in_show_statement8375_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000000800000000), ANTLR3_UINT64_LIT(0x0000000020000100), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_TRIGGERS_SYMBOL_in_show_statement8375	= { FOLLOW_TRIGGERS_SYMBOL_in_show_statement8375_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_in_db_in_show_statement8377  */
static	ANTLR3_BITWORD FOLLOW_in_db_in_show_statement8377_bits[]	= { ANTLR3_UINT64_LIT(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), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_in_db_in_show_statement8377	= { FOLLOW_in_db_in_show_statement8377_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_like_or_where_in_show_statement8380  */
static	ANTLR3_BITWORD FOLLOW_like_or_where_in_show_statement8380_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_like_or_where_in_show_statement8380	= { FOLLOW_like_or_where_in_show_statement8380_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_WARNINGS_SYMBOL_in_show_statement8387  */
static	ANTLR3_BITWORD FOLLOW_WARNINGS_SYMBOL_in_show_statement8387_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000000040000000) };
static  ANTLR3_BITSET_LIST FOLLOW_WARNINGS_SYMBOL_in_show_statement8387	= { FOLLOW_WARNINGS_SYMBOL_in_show_statement8387_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_limit_clause_in_show_statement8389  */
static	ANTLR3_BITWORD FOLLOW_limit_clause_in_show_statement8389_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_limit_clause_in_show_statement8389	= { FOLLOW_limit_clause_in_show_statement8389_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_from_or_in_in_in_db8415  */
static	ANTLR3_BITWORD FOLLOW_from_or_in_in_in_db8415_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_from_or_in_in_in_db8415	= { FOLLOW_from_or_in_in_in_db8415_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_in_db8417  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_in_db8417_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_in_db8417	= { FOLLOW_identifier_in_in_db8417_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ALL_SYMBOL_in_profile_type8426  */
static	ANTLR3_BITWORD FOLLOW_ALL_SYMBOL_in_profile_type8426_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_ALL_SYMBOL_in_profile_type8426	= { FOLLOW_ALL_SYMBOL_in_profile_type8426_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BLOCK_SYMBOL_in_profile_type8431  */
static	ANTLR3_BITWORD FOLLOW_BLOCK_SYMBOL_in_profile_type8431_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000400000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_BLOCK_SYMBOL_in_profile_type8431	= { FOLLOW_BLOCK_SYMBOL_in_profile_type8431_bits, 2	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_IO_SYMBOL_in_profile_type8433  */
static	ANTLR3_BITWORD FOLLOW_IO_SYMBOL_in_profile_type8433_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_IO_SYMBOL_in_profile_type8433	= { FOLLOW_IO_SYMBOL_in_profile_type8433_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CONTEXT_SYMBOL_in_profile_type8438  */
static	ANTLR3_BITWORD FOLLOW_CONTEXT_SYMBOL_in_profile_type8438_bits[]	= { 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_CONTEXT_SYMBOL_in_profile_type8438	= { FOLLOW_CONTEXT_SYMBOL_in_profile_type8438_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SWITCHES_SYMBOL_in_profile_type8440  */
static	ANTLR3_BITWORD FOLLOW_SWITCHES_SYMBOL_in_profile_type8440_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_SWITCHES_SYMBOL_in_profile_type8440	= { FOLLOW_SWITCHES_SYMBOL_in_profile_type8440_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CPU_SYMBOL_in_profile_type8445  */
static	ANTLR3_BITWORD FOLLOW_CPU_SYMBOL_in_profile_type8445_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CPU_SYMBOL_in_profile_type8445	= { FOLLOW_CPU_SYMBOL_in_profile_type8445_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_IPC_SYMBOL_in_profile_type8450  */
static	ANTLR3_BITWORD FOLLOW_IPC_SYMBOL_in_profile_type8450_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_IPC_SYMBOL_in_profile_type8450	= { FOLLOW_IPC_SYMBOL_in_profile_type8450_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MEMORY_SYMBOL_in_profile_type8455  */
static	ANTLR3_BITWORD FOLLOW_MEMORY_SYMBOL_in_profile_type8455_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_MEMORY_SYMBOL_in_profile_type8455	= { FOLLOW_MEMORY_SYMBOL_in_profile_type8455_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PAGE_SYMBOL_in_profile_type8460  */
static	ANTLR3_BITWORD FOLLOW_PAGE_SYMBOL_in_profile_type8460_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000400000) };
static  ANTLR3_BITSET_LIST FOLLOW_PAGE_SYMBOL_in_profile_type8460	= { FOLLOW_PAGE_SYMBOL_in_profile_type8460_bits, 2	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FAULTS_SYMBOL_in_profile_type8462  */
static	ANTLR3_BITWORD FOLLOW_FAULTS_SYMBOL_in_profile_type8462_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_FAULTS_SYMBOL_in_profile_type8462	= { FOLLOW_FAULTS_SYMBOL_in_profile_type8462_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SOURCE_SYMBOL_in_profile_type8467  */
static	ANTLR3_BITWORD FOLLOW_SOURCE_SYMBOL_in_profile_type8467_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_SOURCE_SYMBOL_in_profile_type8467	= { FOLLOW_SOURCE_SYMBOL_in_profile_type8467_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SWAPS_SYMBOL_in_profile_type8472  */
static	ANTLR3_BITWORD FOLLOW_SWAPS_SYMBOL_in_profile_type8472_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_SWAPS_SYMBOL_in_profile_type8472	= { FOLLOW_SWAPS_SYMBOL_in_profile_type8472_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BINLOG_SYMBOL_in_miscellaneous_statement8483  */
static	ANTLR3_BITWORD FOLLOW_BINLOG_SYMBOL_in_miscellaneous_statement8483_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_BINLOG_SYMBOL_in_miscellaneous_statement8483	= { FOLLOW_BINLOG_SYMBOL_in_miscellaneous_statement8483_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_miscellaneous_statement8486  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_miscellaneous_statement8486_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_miscellaneous_statement8486	= { FOLLOW_string_literal_in_miscellaneous_statement8486_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CACHE_SYMBOL_in_miscellaneous_statement8491  */
static	ANTLR3_BITWORD FOLLOW_CACHE_SYMBOL_in_miscellaneous_statement8491_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_CACHE_SYMBOL_in_miscellaneous_statement8491	= { FOLLOW_CACHE_SYMBOL_in_miscellaneous_statement8491_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INDEX_SYMBOL_in_miscellaneous_statement8494  */
static	ANTLR3_BITWORD FOLLOW_INDEX_SYMBOL_in_miscellaneous_statement8494_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000012) };
static  ANTLR3_BITSET_LIST FOLLOW_INDEX_SYMBOL_in_miscellaneous_statement8494	= { FOLLOW_INDEX_SYMBOL_in_miscellaneous_statement8494_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_key_cache_list_or_parts_in_miscellaneous_statement8496  */
static	ANTLR3_BITWORD FOLLOW_key_cache_list_or_parts_in_miscellaneous_statement8496_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_key_cache_list_or_parts_in_miscellaneous_statement8496	= { FOLLOW_key_cache_list_or_parts_in_miscellaneous_statement8496_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_IN_SYMBOL_in_miscellaneous_statement8498  */
static	ANTLR3_BITWORD FOLLOW_IN_SYMBOL_in_miscellaneous_statement8498_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0020000000000000), ANTLR3_UINT64_LIT(0x0010000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_IN_SYMBOL_in_miscellaneous_statement8498	= { FOLLOW_IN_SYMBOL_in_miscellaneous_statement8498_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_miscellaneous_statement8501  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_miscellaneous_statement8501_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_miscellaneous_statement8501	= { FOLLOW_identifier_in_miscellaneous_statement8501_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DEFAULT_SYMBOL_in_miscellaneous_statement8505  */
static	ANTLR3_BITWORD FOLLOW_DEFAULT_SYMBOL_in_miscellaneous_statement8505_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_DEFAULT_SYMBOL_in_miscellaneous_statement8505	= { FOLLOW_DEFAULT_SYMBOL_in_miscellaneous_statement8505_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FLUSH_SYMBOL_in_miscellaneous_statement8511  */
static	ANTLR3_BITWORD FOLLOW_FLUSH_SYMBOL_in_miscellaneous_statement8511_bits[]	= { ANTLR3_UINT64_LIT(0x2000000000000000), ANTLR3_UINT64_LIT(0x1200001020001200), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0004000001002040), ANTLR3_UINT64_LIT(0x0000001000004002), ANTLR3_UINT64_LIT(0x0040000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000010000), ANTLR3_UINT64_LIT(0x0100000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_FLUSH_SYMBOL_in_miscellaneous_statement8511	= { FOLLOW_FLUSH_SYMBOL_in_miscellaneous_statement8511_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_no_write_to_bin_log_in_miscellaneous_statement8514  */
static	ANTLR3_BITWORD FOLLOW_no_write_to_bin_log_in_miscellaneous_statement8514_bits[]	= { ANTLR3_UINT64_LIT(0x2000000000000000), ANTLR3_UINT64_LIT(0x1000001020001200), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0004000001002040), ANTLR3_UINT64_LIT(0x0000001000004002), ANTLR3_UINT64_LIT(0x0040000000000000), 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_no_write_to_bin_log_in_miscellaneous_statement8514	= { FOLLOW_no_write_to_bin_log_in_miscellaneous_statement8514_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_flush_option_in_miscellaneous_statement8517  */
static	ANTLR3_BITWORD FOLLOW_flush_option_in_miscellaneous_statement8517_bits[]	= { ANTLR3_UINT64_LIT(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) };
static  ANTLR3_BITSET_LIST FOLLOW_flush_option_in_miscellaneous_statement8517	= { FOLLOW_flush_option_in_miscellaneous_statement8517_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_miscellaneous_statement8520  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_miscellaneous_statement8520_bits[]	= { ANTLR3_UINT64_LIT(0x2000000000000000), ANTLR3_UINT64_LIT(0x1000001020001200), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0004000001002040), ANTLR3_UINT64_LIT(0x0000001000004002), ANTLR3_UINT64_LIT(0x0040000000000000), 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_COMMA_SYMBOL_in_miscellaneous_statement8520	= { FOLLOW_COMMA_SYMBOL_in_miscellaneous_statement8520_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_flush_option_in_miscellaneous_statement8522  */
static	ANTLR3_BITWORD FOLLOW_flush_option_in_miscellaneous_statement8522_bits[]	= { ANTLR3_UINT64_LIT(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) };
static  ANTLR3_BITSET_LIST FOLLOW_flush_option_in_miscellaneous_statement8522	= { FOLLOW_flush_option_in_miscellaneous_statement8522_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_KILL_SYMBOL_in_miscellaneous_statement8529  */
static	ANTLR3_BITWORD FOLLOW_KILL_SYMBOL_in_miscellaneous_statement8529_bits[]	= { ANTLR3_UINT64_LIT(0x0000040000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000002000), 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_KILL_SYMBOL_in_miscellaneous_statement8529	= { FOLLOW_KILL_SYMBOL_in_miscellaneous_statement8529_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_miscellaneous_statement8541  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_miscellaneous_statement8541_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_INTEGER_in_miscellaneous_statement8541	= { FOLLOW_INTEGER_in_miscellaneous_statement8541_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_LOAD_SYMBOL_in_miscellaneous_statement8546  */
static	ANTLR3_BITWORD FOLLOW_LOAD_SYMBOL_in_miscellaneous_statement8546_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_LOAD_SYMBOL_in_miscellaneous_statement8546	= { FOLLOW_LOAD_SYMBOL_in_miscellaneous_statement8546_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INDEX_SYMBOL_in_miscellaneous_statement8549  */
static	ANTLR3_BITWORD FOLLOW_INDEX_SYMBOL_in_miscellaneous_statement8549_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_INDEX_SYMBOL_in_miscellaneous_statement8549	= { FOLLOW_INDEX_SYMBOL_in_miscellaneous_statement8549_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTO_SYMBOL_in_miscellaneous_statement8551  */
static	ANTLR3_BITWORD FOLLOW_INTO_SYMBOL_in_miscellaneous_statement8551_bits[]	= { 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_INTO_SYMBOL_in_miscellaneous_statement8551	= { FOLLOW_INTO_SYMBOL_in_miscellaneous_statement8551_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CACHE_SYMBOL_in_miscellaneous_statement8553  */
static	ANTLR3_BITWORD FOLLOW_CACHE_SYMBOL_in_miscellaneous_statement8553_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000012) };
static  ANTLR3_BITSET_LIST FOLLOW_CACHE_SYMBOL_in_miscellaneous_statement8553	= { FOLLOW_CACHE_SYMBOL_in_miscellaneous_statement8553_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_load_table_index_list_in_miscellaneous_statement8555  */
static	ANTLR3_BITWORD FOLLOW_load_table_index_list_in_miscellaneous_statement8555_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_load_table_index_list_in_miscellaneous_statement8555	= { FOLLOW_load_table_index_list_in_miscellaneous_statement8555_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_RESET_SYMBOL_in_miscellaneous_statement8560  */
static	ANTLR3_BITWORD FOLLOW_RESET_SYMBOL_in_miscellaneous_statement8560_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000010000), ANTLR3_UINT64_LIT(0x0000000000002000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000001000000) };
static  ANTLR3_BITSET_LIST FOLLOW_RESET_SYMBOL_in_miscellaneous_statement8560	= { FOLLOW_RESET_SYMBOL_in_miscellaneous_statement8560_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_reset_option_in_miscellaneous_statement8563  */
static	ANTLR3_BITWORD FOLLOW_reset_option_in_miscellaneous_statement8563_bits[]	= { ANTLR3_UINT64_LIT(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) };
static  ANTLR3_BITSET_LIST FOLLOW_reset_option_in_miscellaneous_statement8563	= { FOLLOW_reset_option_in_miscellaneous_statement8563_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_miscellaneous_statement8566  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_miscellaneous_statement8566_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000010000), ANTLR3_UINT64_LIT(0x0000000000002000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000001000000) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_miscellaneous_statement8566	= { FOLLOW_COMMA_SYMBOL_in_miscellaneous_statement8566_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_reset_option_in_miscellaneous_statement8568  */
static	ANTLR3_BITWORD FOLLOW_reset_option_in_miscellaneous_statement8568_bits[]	= { ANTLR3_UINT64_LIT(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) };
static  ANTLR3_BITSET_LIST FOLLOW_reset_option_in_miscellaneous_statement8568	= { FOLLOW_reset_option_in_miscellaneous_statement8568_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_key_cache_list_in_key_cache_list_or_parts8590  */
static	ANTLR3_BITWORD FOLLOW_key_cache_list_in_key_cache_list_or_parts8590_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_key_cache_list_in_key_cache_list_or_parts8590	= { FOLLOW_key_cache_list_in_key_cache_list_or_parts8590_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_assign_to_keycache_partition_in_key_cache_list_or_parts8603  */
static	ANTLR3_BITWORD FOLLOW_assign_to_keycache_partition_in_key_cache_list_or_parts8603_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_assign_to_keycache_partition_in_key_cache_list_or_parts8603	= { FOLLOW_assign_to_keycache_partition_in_key_cache_list_or_parts8603_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_assign_to_keycache_in_key_cache_list8620  */
static	ANTLR3_BITWORD FOLLOW_assign_to_keycache_in_key_cache_list8620_bits[]	= { ANTLR3_UINT64_LIT(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) };
static  ANTLR3_BITSET_LIST FOLLOW_assign_to_keycache_in_key_cache_list8620	= { FOLLOW_assign_to_keycache_in_key_cache_list8620_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_key_cache_list8623  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_key_cache_list8623_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000012) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_key_cache_list8623	= { FOLLOW_COMMA_SYMBOL_in_key_cache_list8623_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_assign_to_keycache_in_key_cache_list8625  */
static	ANTLR3_BITWORD FOLLOW_assign_to_keycache_in_key_cache_list8625_bits[]	= { ANTLR3_UINT64_LIT(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) };
static  ANTLR3_BITSET_LIST FOLLOW_assign_to_keycache_in_key_cache_list8625	= { FOLLOW_assign_to_keycache_in_key_cache_list8625_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_identifier_in_assign_to_keycache8636  */
static	ANTLR3_BITWORD FOLLOW_table_identifier_in_assign_to_keycache8636_bits[]	= { ANTLR3_UINT64_LIT(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(0x0100000000000000), ANTLR3_UINT64_LIT(0x0000000000080000) };
static  ANTLR3_BITSET_LIST FOLLOW_table_identifier_in_assign_to_keycache8636	= { FOLLOW_table_identifier_in_assign_to_keycache8636_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_cache_keys_spec_in_assign_to_keycache8638  */
static	ANTLR3_BITWORD FOLLOW_cache_keys_spec_in_assign_to_keycache8638_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_cache_keys_spec_in_assign_to_keycache8638	= { FOLLOW_cache_keys_spec_in_assign_to_keycache8638_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_identifier_in_assign_to_keycache_partition8648  */
static	ANTLR3_BITWORD FOLLOW_table_identifier_in_assign_to_keycache_partition8648_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000800000000) };
static  ANTLR3_BITSET_LIST FOLLOW_table_identifier_in_assign_to_keycache_partition8648	= { FOLLOW_table_identifier_in_assign_to_keycache_partition8648_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PARTITION_SYMBOL_in_assign_to_keycache_partition8650  */
static	ANTLR3_BITWORD FOLLOW_PARTITION_SYMBOL_in_assign_to_keycache_partition8650_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_PARTITION_SYMBOL_in_assign_to_keycache_partition8650	= { FOLLOW_PARTITION_SYMBOL_in_assign_to_keycache_partition8650_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_assign_to_keycache_partition8652  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_assign_to_keycache_partition8652_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004004FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_assign_to_keycache_partition8652	= { FOLLOW_OPEN_PAR_SYMBOL_in_assign_to_keycache_partition8652_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ALL_SYMBOL_in_assign_to_keycache_partition8655  */
static	ANTLR3_BITWORD FOLLOW_ALL_SYMBOL_in_assign_to_keycache_partition8655_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000010000) };
static  ANTLR3_BITSET_LIST FOLLOW_ALL_SYMBOL_in_assign_to_keycache_partition8655	= { FOLLOW_ALL_SYMBOL_in_assign_to_keycache_partition8655_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_list_in_assign_to_keycache_partition8659  */
static	ANTLR3_BITWORD FOLLOW_identifier_list_in_assign_to_keycache_partition8659_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000010000) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_list_in_assign_to_keycache_partition8659	= { FOLLOW_identifier_list_in_assign_to_keycache_partition8659_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_assign_to_keycache_partition8662  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_assign_to_keycache_partition8662_bits[]	= { ANTLR3_UINT64_LIT(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(0x0100000000000000), ANTLR3_UINT64_LIT(0x0000000000080000) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_assign_to_keycache_partition8662	= { FOLLOW_CLOSE_PAR_SYMBOL_in_assign_to_keycache_partition8662_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_cache_keys_spec_in_assign_to_keycache_partition8664  */
static	ANTLR3_BITWORD FOLLOW_cache_keys_spec_in_assign_to_keycache_partition8664_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_cache_keys_spec_in_assign_to_keycache_partition8664	= { FOLLOW_cache_keys_spec_in_assign_to_keycache_partition8664_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_cache_keys_spec8674  */
static	ANTLR3_BITWORD FOLLOW_set_in_cache_keys_spec8674_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_set_in_cache_keys_spec8674	= { FOLLOW_set_in_cache_keys_spec8674_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_cache_keys_spec8682  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_cache_keys_spec8682_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000010000), ANTLR3_UINT64_LIT(0x0010000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000100000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_cache_keys_spec8682	= { FOLLOW_OPEN_PAR_SYMBOL_in_cache_keys_spec8682_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_key_usage_element_in_cache_keys_spec8685  */
static	ANTLR3_BITWORD FOLLOW_key_usage_element_in_cache_keys_spec8685_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000210000) };
static  ANTLR3_BITSET_LIST FOLLOW_key_usage_element_in_cache_keys_spec8685	= { FOLLOW_key_usage_element_in_cache_keys_spec8685_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_cache_keys_spec8688  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_cache_keys_spec8688_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000100000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_cache_keys_spec8688	= { FOLLOW_COMMA_SYMBOL_in_cache_keys_spec8688_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_key_usage_element_in_cache_keys_spec8690  */
static	ANTLR3_BITWORD FOLLOW_key_usage_element_in_cache_keys_spec8690_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000210000) };
static  ANTLR3_BITSET_LIST FOLLOW_key_usage_element_in_cache_keys_spec8690	= { FOLLOW_key_usage_element_in_cache_keys_spec8690_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_cache_keys_spec8696  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_cache_keys_spec8696_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_cache_keys_spec8696	= { FOLLOW_CLOSE_PAR_SYMBOL_in_cache_keys_spec8696_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_key_usage_element8705  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_key_usage_element8705_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_key_usage_element8705	= { FOLLOW_identifier_in_key_usage_element8705_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PRIMARY_SYMBOL_in_key_usage_element8710  */
static	ANTLR3_BITWORD FOLLOW_PRIMARY_SYMBOL_in_key_usage_element8710_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_PRIMARY_SYMBOL_in_key_usage_element8710	= { FOLLOW_PRIMARY_SYMBOL_in_key_usage_element8710_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DES_KEY_FILE_SYMBOL_in_flush_option8719  */
static	ANTLR3_BITWORD FOLLOW_DES_KEY_FILE_SYMBOL_in_flush_option8719_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_DES_KEY_FILE_SYMBOL_in_flush_option8719	= { FOLLOW_DES_KEY_FILE_SYMBOL_in_flush_option8719_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_HOSTS_SYMBOL_in_flush_option8724  */
static	ANTLR3_BITWORD FOLLOW_HOSTS_SYMBOL_in_flush_option8724_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_HOSTS_SYMBOL_in_flush_option8724	= { FOLLOW_HOSTS_SYMBOL_in_flush_option8724_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_log_type_in_flush_option8729  */
static	ANTLR3_BITWORD FOLLOW_log_type_in_flush_option8729_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x1000000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_log_type_in_flush_option8729	= { FOLLOW_log_type_in_flush_option8729_bits, 2	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_LOGS_SYMBOL_in_flush_option8732  */
static	ANTLR3_BITWORD FOLLOW_LOGS_SYMBOL_in_flush_option8732_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_LOGS_SYMBOL_in_flush_option8732	= { FOLLOW_LOGS_SYMBOL_in_flush_option8732_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PRIVILEGES_SYMBOL_in_flush_option8737  */
static	ANTLR3_BITWORD FOLLOW_PRIVILEGES_SYMBOL_in_flush_option8737_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_PRIVILEGES_SYMBOL_in_flush_option8737	= { FOLLOW_PRIVILEGES_SYMBOL_in_flush_option8737_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_QUERY_SYMBOL_in_flush_option8742  */
static	ANTLR3_BITWORD FOLLOW_QUERY_SYMBOL_in_flush_option8742_bits[]	= { 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_QUERY_SYMBOL_in_flush_option8742	= { FOLLOW_QUERY_SYMBOL_in_flush_option8742_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CACHE_SYMBOL_in_flush_option8744  */
static	ANTLR3_BITWORD FOLLOW_CACHE_SYMBOL_in_flush_option8744_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CACHE_SYMBOL_in_flush_option8744	= { FOLLOW_CACHE_SYMBOL_in_flush_option8744_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_STATUS_SYMBOL_in_flush_option8749  */
static	ANTLR3_BITWORD FOLLOW_STATUS_SYMBOL_in_flush_option8749_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_STATUS_SYMBOL_in_flush_option8749	= { FOLLOW_STATUS_SYMBOL_in_flush_option8749_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_flush_tables_in_flush_option8754  */
static	ANTLR3_BITWORD FOLLOW_flush_tables_in_flush_option8754_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_flush_tables_in_flush_option8754	= { FOLLOW_flush_tables_in_flush_option8754_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_USER_RESOURCES_SYMBOL_in_flush_option8759  */
static	ANTLR3_BITWORD FOLLOW_USER_RESOURCES_SYMBOL_in_flush_option8759_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_USER_RESOURCES_SYMBOL_in_flush_option8759	= { FOLLOW_USER_RESOURCES_SYMBOL_in_flush_option8759_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_flush_tables8802  */
static	ANTLR3_BITWORD FOLLOW_set_in_flush_tables8802_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF2), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000001000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_flush_tables8802	= { FOLLOW_set_in_flush_tables8802_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_WITH_SYMBOL_in_flush_tables8815  */
static	ANTLR3_BITWORD FOLLOW_WITH_SYMBOL_in_flush_tables8815_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), 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_WITH_SYMBOL_in_flush_tables8815	= { FOLLOW_WITH_SYMBOL_in_flush_tables8815_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_READ_SYMBOL_in_flush_tables8817  */
static	ANTLR3_BITWORD FOLLOW_READ_SYMBOL_in_flush_tables8817_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_READ_SYMBOL_in_flush_tables8817	= { FOLLOW_READ_SYMBOL_in_flush_tables8817_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_LOCK_SYMBOL_in_flush_tables8819  */
static	ANTLR3_BITWORD FOLLOW_LOCK_SYMBOL_in_flush_tables8819_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_LOCK_SYMBOL_in_flush_tables8819	= { FOLLOW_LOCK_SYMBOL_in_flush_tables8819_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_list_in_flush_tables8825  */
static	ANTLR3_BITWORD FOLLOW_identifier_list_in_flush_tables8825_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000000200000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000001000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_list_in_flush_tables8825	= { FOLLOW_identifier_list_in_flush_tables8825_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_flush_tables_options_in_flush_tables8827  */
static	ANTLR3_BITWORD FOLLOW_flush_tables_options_in_flush_tables8827_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_flush_tables_options_in_flush_tables8827	= { FOLLOW_flush_tables_options_in_flush_tables8827_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FOR_SYMBOL_in_flush_tables_options8845  */
static	ANTLR3_BITWORD FOLLOW_FOR_SYMBOL_in_flush_tables_options8845_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000040000) };
static  ANTLR3_BITSET_LIST FOLLOW_FOR_SYMBOL_in_flush_tables_options8845	= { FOLLOW_FOR_SYMBOL_in_flush_tables_options8845_bits, 2	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EXPORT_SYMBOL_in_flush_tables_options8847  */
static	ANTLR3_BITWORD FOLLOW_EXPORT_SYMBOL_in_flush_tables_options8847_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_EXPORT_SYMBOL_in_flush_tables_options8847	= { FOLLOW_EXPORT_SYMBOL_in_flush_tables_options8847_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_WITH_SYMBOL_in_flush_tables_options8852  */
static	ANTLR3_BITWORD FOLLOW_WITH_SYMBOL_in_flush_tables_options8852_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), 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_WITH_SYMBOL_in_flush_tables_options8852	= { FOLLOW_WITH_SYMBOL_in_flush_tables_options8852_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_READ_SYMBOL_in_flush_tables_options8854  */
static	ANTLR3_BITWORD FOLLOW_READ_SYMBOL_in_flush_tables_options8854_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_READ_SYMBOL_in_flush_tables_options8854	= { FOLLOW_READ_SYMBOL_in_flush_tables_options8854_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_LOCK_SYMBOL_in_flush_tables_options8856  */
static	ANTLR3_BITWORD FOLLOW_LOCK_SYMBOL_in_flush_tables_options8856_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_LOCK_SYMBOL_in_flush_tables_options8856	= { FOLLOW_LOCK_SYMBOL_in_flush_tables_options8856_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_identifier_in_load_table_index_list8865  */
static	ANTLR3_BITWORD FOLLOW_table_identifier_in_load_table_index_list8865_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000800000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0140000000000000), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000010000000) };
static  ANTLR3_BITSET_LIST FOLLOW_table_identifier_in_load_table_index_list8865	= { FOLLOW_table_identifier_in_load_table_index_list8865_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_load_table_index_partion_in_load_table_index_list8867  */
static	ANTLR3_BITWORD FOLLOW_load_table_index_partion_in_load_table_index_list8867_bits[]	= { ANTLR3_UINT64_LIT(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(0x0140000000000000), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000010000000) };
static  ANTLR3_BITSET_LIST FOLLOW_load_table_index_partion_in_load_table_index_list8867	= { FOLLOW_load_table_index_partion_in_load_table_index_list8867_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_list_with_parentheses_in_load_table_index_list8882  */
static	ANTLR3_BITWORD FOLLOW_identifier_list_with_parentheses_in_load_table_index_list8882_bits[]	= { ANTLR3_UINT64_LIT(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(0x0040000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_list_with_parentheses_in_load_table_index_list8882	= { FOLLOW_identifier_list_with_parentheses_in_load_table_index_list8882_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_IGNORE_SYMBOL_in_load_table_index_list8887  */
static	ANTLR3_BITWORD FOLLOW_IGNORE_SYMBOL_in_load_table_index_list8887_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_IGNORE_SYMBOL_in_load_table_index_list8887	= { FOLLOW_IGNORE_SYMBOL_in_load_table_index_list8887_bits, 2	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_LEAVES_SYMBOL_in_load_table_index_list8889  */
static	ANTLR3_BITWORD FOLLOW_LEAVES_SYMBOL_in_load_table_index_list8889_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_LEAVES_SYMBOL_in_load_table_index_list8889	= { FOLLOW_LEAVES_SYMBOL_in_load_table_index_list8889_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PARTITION_SYMBOL_in_load_table_index_partion8905  */
static	ANTLR3_BITWORD FOLLOW_PARTITION_SYMBOL_in_load_table_index_partion8905_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_PARTITION_SYMBOL_in_load_table_index_partion8905	= { FOLLOW_PARTITION_SYMBOL_in_load_table_index_partion8905_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_load_table_index_partion8907  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_load_table_index_partion8907_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004004FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_load_table_index_partion8907	= { FOLLOW_OPEN_PAR_SYMBOL_in_load_table_index_partion8907_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_list_in_load_table_index_partion8910  */
static	ANTLR3_BITWORD FOLLOW_identifier_list_in_load_table_index_partion8910_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000010000) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_list_in_load_table_index_partion8910	= { FOLLOW_identifier_list_in_load_table_index_partion8910_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ALL_SYMBOL_in_load_table_index_partion8914  */
static	ANTLR3_BITWORD FOLLOW_ALL_SYMBOL_in_load_table_index_partion8914_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000010000) };
static  ANTLR3_BITSET_LIST FOLLOW_ALL_SYMBOL_in_load_table_index_partion8914	= { FOLLOW_ALL_SYMBOL_in_load_table_index_partion8914_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_load_table_index_partion8917  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_load_table_index_partion8917_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_load_table_index_partion8917	= { FOLLOW_CLOSE_PAR_SYMBOL_in_load_table_index_partion8917_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MASTER_SYMBOL_in_reset_option8927  */
static	ANTLR3_BITWORD FOLLOW_MASTER_SYMBOL_in_reset_option8927_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_MASTER_SYMBOL_in_reset_option8927	= { FOLLOW_MASTER_SYMBOL_in_reset_option8927_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_QUERY_SYMBOL_in_reset_option8931  */
static	ANTLR3_BITWORD FOLLOW_QUERY_SYMBOL_in_reset_option8931_bits[]	= { 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_QUERY_SYMBOL_in_reset_option8931	= { FOLLOW_QUERY_SYMBOL_in_reset_option8931_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CACHE_SYMBOL_in_reset_option8933  */
static	ANTLR3_BITWORD FOLLOW_CACHE_SYMBOL_in_reset_option8933_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CACHE_SYMBOL_in_reset_option8933	= { FOLLOW_CACHE_SYMBOL_in_reset_option8933_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SLAVE_SYMBOL_in_reset_option8937  */
static	ANTLR3_BITWORD FOLLOW_SLAVE_SYMBOL_in_reset_option8937_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_SLAVE_SYMBOL_in_reset_option8937	= { FOLLOW_SLAVE_SYMBOL_in_reset_option8937_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_describe_command_in_utility_statement8948  */
static	ANTLR3_BITWORD FOLLOW_describe_command_in_utility_statement8948_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0080000000000000), ANTLR3_UINT64_LIT(0x2010000000000012), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0400000010000000), ANTLR3_UINT64_LIT(0x0000000000000040), ANTLR3_UINT64_LIT(0x0000000000000800) };
static  ANTLR3_BITSET_LIST FOLLOW_describe_command_in_utility_statement8948	= { FOLLOW_describe_command_in_utility_statement8948_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_identifier_in_utility_statement8957  */
static	ANTLR3_BITWORD FOLLOW_table_identifier_in_utility_statement8957_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF2), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_table_identifier_in_utility_statement8957	= { FOLLOW_table_identifier_in_utility_statement8957_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_text_or_identifier_in_utility_statement8959  */
static	ANTLR3_BITWORD FOLLOW_text_or_identifier_in_utility_statement8959_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_text_or_identifier_in_utility_statement8959	= { FOLLOW_text_or_identifier_in_utility_statement8959_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EXTENDED_SYMBOL_in_utility_statement8990  */
static	ANTLR3_BITWORD FOLLOW_EXTENDED_SYMBOL_in_utility_statement8990_bits[]	= { ANTLR3_UINT64_LIT(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(0x2000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0400000010000000), ANTLR3_UINT64_LIT(0x0000000000000040), ANTLR3_UINT64_LIT(0x0000000000000800) };
static  ANTLR3_BITSET_LIST FOLLOW_EXTENDED_SYMBOL_in_utility_statement8990	= { FOLLOW_EXTENDED_SYMBOL_in_utility_statement8990_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PARTITIONS_SYMBOL_in_utility_statement9003  */
static	ANTLR3_BITWORD FOLLOW_PARTITIONS_SYMBOL_in_utility_statement9003_bits[]	= { ANTLR3_UINT64_LIT(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(0x2000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0400000010000000), ANTLR3_UINT64_LIT(0x0000000000000040), ANTLR3_UINT64_LIT(0x0000000000000800) };
static  ANTLR3_BITSET_LIST FOLLOW_PARTITIONS_SYMBOL_in_utility_statement9003	= { FOLLOW_PARTITIONS_SYMBOL_in_utility_statement9003_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FORMAT_SYMBOL_in_utility_statement9016  */
static	ANTLR3_BITWORD FOLLOW_FORMAT_SYMBOL_in_utility_statement9016_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_FORMAT_SYMBOL_in_utility_statement9016	= { FOLLOW_FORMAT_SYMBOL_in_utility_statement9016_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_utility_statement9018  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_utility_statement9018_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_utility_statement9018	= { FOLLOW_EQUAL_OPERATOR_in_utility_statement9018_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_text_or_identifier_in_utility_statement9020  */
static	ANTLR3_BITWORD FOLLOW_text_or_identifier_in_utility_statement9020_bits[]	= { ANTLR3_UINT64_LIT(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(0x2000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0400000010000000), ANTLR3_UINT64_LIT(0x0000000000000040), ANTLR3_UINT64_LIT(0x0000000000000800) };
static  ANTLR3_BITSET_LIST FOLLOW_text_or_identifier_in_utility_statement9020	= { FOLLOW_text_or_identifier_in_utility_statement9020_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_explainable_statement_in_utility_statement9029  */
static	ANTLR3_BITWORD FOLLOW_explainable_statement_in_utility_statement9029_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_explainable_statement_in_utility_statement9029	= { FOLLOW_explainable_statement_in_utility_statement9029_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_HELP_SYMBOL_in_utility_statement9038  */
static	ANTLR3_BITWORD FOLLOW_HELP_SYMBOL_in_utility_statement9038_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_HELP_SYMBOL_in_utility_statement9038	= { FOLLOW_HELP_SYMBOL_in_utility_statement9038_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_text_or_identifier_in_utility_statement9041  */
static	ANTLR3_BITWORD FOLLOW_text_or_identifier_in_utility_statement9041_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_text_or_identifier_in_utility_statement9041	= { FOLLOW_text_or_identifier_in_utility_statement9041_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_USE_SYMBOL_in_utility_statement9046  */
static	ANTLR3_BITWORD FOLLOW_USE_SYMBOL_in_utility_statement9046_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_USE_SYMBOL_in_utility_statement9046	= { FOLLOW_USE_SYMBOL_in_utility_statement9046_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_utility_statement9049  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_utility_statement9049_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_utility_statement9049	= { FOLLOW_identifier_in_utility_statement9049_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DESCRIBE_SYMBOL_in_describe_command9058  */
static	ANTLR3_BITWORD FOLLOW_DESCRIBE_SYMBOL_in_describe_command9058_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_DESCRIBE_SYMBOL_in_describe_command9058	= { FOLLOW_DESCRIBE_SYMBOL_in_describe_command9058_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DESC_SYMBOL_in_describe_command9063  */
static	ANTLR3_BITWORD FOLLOW_DESC_SYMBOL_in_describe_command9063_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_DESC_SYMBOL_in_describe_command9063	= { FOLLOW_DESC_SYMBOL_in_describe_command9063_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_delete_statement_in_explainable_statement9085  */
static	ANTLR3_BITWORD FOLLOW_delete_statement_in_explainable_statement9085_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_delete_statement_in_explainable_statement9085	= { FOLLOW_delete_statement_in_explainable_statement9085_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_insert_statement_in_explainable_statement9092  */
static	ANTLR3_BITWORD FOLLOW_insert_statement_in_explainable_statement9092_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_insert_statement_in_explainable_statement9092	= { FOLLOW_insert_statement_in_explainable_statement9092_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_replace_statement_in_explainable_statement9099  */
static	ANTLR3_BITWORD FOLLOW_replace_statement_in_explainable_statement9099_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_replace_statement_in_explainable_statement9099	= { FOLLOW_replace_statement_in_explainable_statement9099_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_update_statement_in_explainable_statement9106  */
static	ANTLR3_BITWORD FOLLOW_update_statement_in_explainable_statement9106_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_update_statement_in_explainable_statement9106	= { FOLLOW_update_statement_in_explainable_statement9106_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_select_statement_in_explainable_statement9115  */
static	ANTLR3_BITWORD FOLLOW_select_statement_in_explainable_statement9115_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_select_statement_in_explainable_statement9115	= { FOLLOW_select_statement_in_explainable_statement9115_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_logical_or_expression_in_expression9129  */
static	ANTLR3_BITWORD FOLLOW_logical_or_expression_in_expression9129_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_logical_or_expression_in_expression9129	= { FOLLOW_logical_or_expression_in_expression9129_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_logical_xor_expression_in_logical_or_expression9138  */
static	ANTLR3_BITWORD FOLLOW_logical_xor_expression_in_logical_or_expression9138_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000040000000000), ANTLR3_UINT64_LIT(0x0000000200000000) };
static  ANTLR3_BITSET_LIST FOLLOW_logical_xor_expression_in_logical_or_expression9138	= { FOLLOW_logical_xor_expression_in_logical_or_expression9138_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_logical_or_expression9154  */
static	ANTLR3_BITWORD FOLLOW_set_in_logical_or_expression9154_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180AC908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_logical_or_expression9154	= { FOLLOW_set_in_logical_or_expression9154_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_logical_xor_expression_in_logical_or_expression9163  */
static	ANTLR3_BITWORD FOLLOW_logical_xor_expression_in_logical_or_expression9163_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000040000000000), ANTLR3_UINT64_LIT(0x0000000200000000) };
static  ANTLR3_BITSET_LIST FOLLOW_logical_xor_expression_in_logical_or_expression9163	= { FOLLOW_logical_xor_expression_in_logical_or_expression9163_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_logical_and_expression_in_logical_xor_expression9174  */
static	ANTLR3_BITWORD FOLLOW_logical_and_expression_in_logical_xor_expression9174_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000010000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_logical_and_expression_in_logical_xor_expression9174	= { FOLLOW_logical_and_expression_in_logical_xor_expression9174_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_XOR_SYMBOL_in_logical_xor_expression9190  */
static	ANTLR3_BITWORD FOLLOW_XOR_SYMBOL_in_logical_xor_expression9190_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180AC908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_XOR_SYMBOL_in_logical_xor_expression9190	= { FOLLOW_XOR_SYMBOL_in_logical_xor_expression9190_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_logical_and_expression_in_logical_xor_expression9193  */
static	ANTLR3_BITWORD FOLLOW_logical_and_expression_in_logical_xor_expression9193_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000010000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_logical_and_expression_in_logical_xor_expression9193	= { FOLLOW_logical_and_expression_in_logical_xor_expression9193_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_logical_not_expression_in_logical_and_expression9204  */
static	ANTLR3_BITWORD FOLLOW_logical_not_expression_in_logical_and_expression9204_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000040000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000010000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_logical_not_expression_in_logical_and_expression9204	= { FOLLOW_logical_not_expression_in_logical_and_expression9204_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_logical_and_expression9220  */
static	ANTLR3_BITWORD FOLLOW_set_in_logical_and_expression9220_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180AC908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_logical_and_expression9220	= { FOLLOW_set_in_logical_and_expression9220_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_logical_not_expression_in_logical_and_expression9229  */
static	ANTLR3_BITWORD FOLLOW_logical_not_expression_in_logical_and_expression9229_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000040000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000010000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_logical_not_expression_in_logical_and_expression9229	= { FOLLOW_logical_not_expression_in_logical_and_expression9229_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_NOT_SYMBOL_in_logical_not_expression9240  */
static	ANTLR3_BITWORD FOLLOW_NOT_SYMBOL_in_logical_not_expression9240_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180AC908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_NOT_SYMBOL_in_logical_not_expression9240	= { FOLLOW_NOT_SYMBOL_in_logical_not_expression9240_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_logical_not_expression_in_logical_not_expression9243  */
static	ANTLR3_BITWORD FOLLOW_logical_not_expression_in_logical_not_expression9243_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_logical_not_expression_in_logical_not_expression9243	= { FOLLOW_logical_not_expression_in_logical_not_expression9243_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_boolean_primary_expression_in_logical_not_expression9248  */
static	ANTLR3_BITWORD FOLLOW_boolean_primary_expression_in_logical_not_expression9248_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_boolean_primary_expression_in_logical_not_expression9248	= { FOLLOW_boolean_primary_expression_in_logical_not_expression9248_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_predicate_in_boolean_primary_expression9257  */
static	ANTLR3_BITWORD FOLLOW_predicate_in_boolean_primary_expression9257_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000030000002000), ANTLR3_UINT64_LIT(0x0000000006001000), ANTLR3_UINT64_LIT(0x0000000000043000) };
static  ANTLR3_BITSET_LIST FOLLOW_predicate_in_boolean_primary_expression9257	= { FOLLOW_predicate_in_boolean_primary_expression9257_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_comparison_operator_in_boolean_primary_expression9279  */
static	ANTLR3_BITWORD FOLLOW_comparison_operator_in_boolean_primary_expression9279_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45804FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180A8908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_comparison_operator_in_boolean_primary_expression9279	= { FOLLOW_comparison_operator_in_boolean_primary_expression9279_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_boolean_primary_expression9293  */
static	ANTLR3_BITWORD FOLLOW_set_in_boolean_primary_expression9293_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_set_in_boolean_primary_expression9293	= { FOLLOW_set_in_boolean_primary_expression9293_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_subquery_in_boolean_primary_expression9301  */
static	ANTLR3_BITWORD FOLLOW_subquery_in_boolean_primary_expression9301_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000030000002000), ANTLR3_UINT64_LIT(0x0000000006001000), ANTLR3_UINT64_LIT(0x0000000000043000) };
static  ANTLR3_BITSET_LIST FOLLOW_subquery_in_boolean_primary_expression9301	= { FOLLOW_subquery_in_boolean_primary_expression9301_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_predicate_in_boolean_primary_expression9309  */
static	ANTLR3_BITWORD FOLLOW_predicate_in_boolean_primary_expression9309_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000030000002000), ANTLR3_UINT64_LIT(0x0000000006001000), ANTLR3_UINT64_LIT(0x0000000000043000) };
static  ANTLR3_BITSET_LIST FOLLOW_predicate_in_boolean_primary_expression9309	= { FOLLOW_predicate_in_boolean_primary_expression9309_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_IS_SYMBOL_in_boolean_primary_expression9338  */
static	ANTLR3_BITWORD FOLLOW_IS_SYMBOL_in_boolean_primary_expression9338_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000400000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x00000000000A4000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000004) };
static  ANTLR3_BITSET_LIST FOLLOW_IS_SYMBOL_in_boolean_primary_expression9338	= { FOLLOW_IS_SYMBOL_in_boolean_primary_expression9338_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_NOT_SYMBOL_in_boolean_primary_expression9341  */
static	ANTLR3_BITWORD FOLLOW_NOT_SYMBOL_in_boolean_primary_expression9341_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000400000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x00000000000A0000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000004) };
static  ANTLR3_BITSET_LIST FOLLOW_NOT_SYMBOL_in_boolean_primary_expression9341	= { FOLLOW_NOT_SYMBOL_in_boolean_primary_expression9341_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_null_literal_in_boolean_primary_expression9346  */
static	ANTLR3_BITWORD FOLLOW_null_literal_in_boolean_primary_expression9346_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000030000002000), ANTLR3_UINT64_LIT(0x0000000006001000), ANTLR3_UINT64_LIT(0x0000000000043000) };
static  ANTLR3_BITSET_LIST FOLLOW_null_literal_in_boolean_primary_expression9346	= { FOLLOW_null_literal_in_boolean_primary_expression9346_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FALSE_SYMBOL_in_boolean_primary_expression9350  */
static	ANTLR3_BITWORD FOLLOW_FALSE_SYMBOL_in_boolean_primary_expression9350_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000030000002000), ANTLR3_UINT64_LIT(0x0000000006001000), ANTLR3_UINT64_LIT(0x0000000000043000) };
static  ANTLR3_BITSET_LIST FOLLOW_FALSE_SYMBOL_in_boolean_primary_expression9350	= { FOLLOW_FALSE_SYMBOL_in_boolean_primary_expression9350_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TRUE_SYMBOL_in_boolean_primary_expression9354  */
static	ANTLR3_BITWORD FOLLOW_TRUE_SYMBOL_in_boolean_primary_expression9354_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000030000002000), ANTLR3_UINT64_LIT(0x0000000006001000), ANTLR3_UINT64_LIT(0x0000000000043000) };
static  ANTLR3_BITSET_LIST FOLLOW_TRUE_SYMBOL_in_boolean_primary_expression9354	= { FOLLOW_TRUE_SYMBOL_in_boolean_primary_expression9354_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_UNKNOWN_SYMBOL_in_boolean_primary_expression9358  */
static	ANTLR3_BITWORD FOLLOW_UNKNOWN_SYMBOL_in_boolean_primary_expression9358_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000030000002000), ANTLR3_UINT64_LIT(0x0000000006001000), ANTLR3_UINT64_LIT(0x0000000000043000) };
static  ANTLR3_BITSET_LIST FOLLOW_UNKNOWN_SYMBOL_in_boolean_primary_expression9358	= { FOLLOW_UNKNOWN_SYMBOL_in_boolean_primary_expression9358_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_bitwise_or_expression_in_predicate9375  */
static	ANTLR3_BITWORD FOLLOW_bitwise_or_expression_in_predicate9375_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000020000100), ANTLR3_UINT64_LIT(0x0040000000004000) };
static  ANTLR3_BITSET_LIST FOLLOW_bitwise_or_expression_in_predicate9375	= { FOLLOW_bitwise_or_expression_in_predicate9375_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_NOT_SYMBOL_in_predicate9396  */
static	ANTLR3_BITWORD FOLLOW_NOT_SYMBOL_in_predicate9396_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(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000020000100), ANTLR3_UINT64_LIT(0x0040000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_NOT_SYMBOL_in_predicate9396	= { FOLLOW_NOT_SYMBOL_in_predicate9396_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BETWEEN_SYMBOL_in_predicate9410  */
static	ANTLR3_BITWORD FOLLOW_BETWEEN_SYMBOL_in_predicate9410_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180A8908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_BETWEEN_SYMBOL_in_predicate9410	= { FOLLOW_BETWEEN_SYMBOL_in_predicate9410_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_bitwise_or_expression_in_predicate9413  */
static	ANTLR3_BITWORD FOLLOW_bitwise_or_expression_in_predicate9413_bits[]	= { 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_bitwise_or_expression_in_predicate9413	= { FOLLOW_bitwise_or_expression_in_predicate9413_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_AND_SYMBOL_in_predicate9415  */
static	ANTLR3_BITWORD FOLLOW_AND_SYMBOL_in_predicate9415_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180A8908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_AND_SYMBOL_in_predicate9415	= { FOLLOW_AND_SYMBOL_in_predicate9415_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_predicate_in_predicate9417  */
static	ANTLR3_BITWORD FOLLOW_predicate_in_predicate9417_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_predicate_in_predicate9417	= { FOLLOW_predicate_in_predicate9417_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_LIKE_SYMBOL_in_predicate9426  */
static	ANTLR3_BITWORD FOLLOW_LIKE_SYMBOL_in_predicate9426_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180A8908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_LIKE_SYMBOL_in_predicate9426	= { FOLLOW_LIKE_SYMBOL_in_predicate9426_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_unary_expression_in_predicate9429  */
static	ANTLR3_BITWORD FOLLOW_unary_expression_in_predicate9429_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000002000) };
static  ANTLR3_BITSET_LIST FOLLOW_unary_expression_in_predicate9429	= { FOLLOW_unary_expression_in_predicate9429_bits, 2	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ESCAPE_SYMBOL_in_predicate9445  */
static	ANTLR3_BITWORD FOLLOW_ESCAPE_SYMBOL_in_predicate9445_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xC345800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4028000001000008), ANTLR3_UINT64_LIT(0x06000220180A8108), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_ESCAPE_SYMBOL_in_predicate9445	= { FOLLOW_ESCAPE_SYMBOL_in_predicate9445_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_primary_in_predicate9447  */
static	ANTLR3_BITWORD FOLLOW_primary_in_predicate9447_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_primary_in_predicate9447	= { FOLLOW_primary_in_predicate9447_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_REGEXP_SYMBOL_in_predicate9458  */
static	ANTLR3_BITWORD FOLLOW_REGEXP_SYMBOL_in_predicate9458_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180A8908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_REGEXP_SYMBOL_in_predicate9458	= { FOLLOW_REGEXP_SYMBOL_in_predicate9458_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_bitwise_or_expression_in_predicate9461  */
static	ANTLR3_BITWORD FOLLOW_bitwise_or_expression_in_predicate9461_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_bitwise_or_expression_in_predicate9461	= { FOLLOW_bitwise_or_expression_in_predicate9461_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_IN_SYMBOL_in_predicate9470  */
static	ANTLR3_BITWORD FOLLOW_IN_SYMBOL_in_predicate9470_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_IN_SYMBOL_in_predicate9470	= { FOLLOW_IN_SYMBOL_in_predicate9470_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_subquery_in_predicate9475  */
static	ANTLR3_BITWORD FOLLOW_subquery_in_predicate9475_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_subquery_in_predicate9475	= { FOLLOW_subquery_in_predicate9475_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_list_with_parentheses_in_predicate9479  */
static	ANTLR3_BITWORD FOLLOW_expression_list_with_parentheses_in_predicate9479_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_list_with_parentheses_in_predicate9479	= { FOLLOW_expression_list_with_parentheses_in_predicate9479_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SOUNDS_SYMBOL_in_predicate9499  */
static	ANTLR3_BITWORD FOLLOW_SOUNDS_SYMBOL_in_predicate9499_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_SOUNDS_SYMBOL_in_predicate9499	= { FOLLOW_SOUNDS_SYMBOL_in_predicate9499_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_LIKE_SYMBOL_in_predicate9502  */
static	ANTLR3_BITWORD FOLLOW_LIKE_SYMBOL_in_predicate9502_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180A8908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_LIKE_SYMBOL_in_predicate9502	= { FOLLOW_LIKE_SYMBOL_in_predicate9502_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_bitwise_or_expression_in_predicate9504  */
static	ANTLR3_BITWORD FOLLOW_bitwise_or_expression_in_predicate9504_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_bitwise_or_expression_in_predicate9504	= { FOLLOW_bitwise_or_expression_in_predicate9504_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_bitwise_and_expression_in_bitwise_or_expression9518  */
static	ANTLR3_BITWORD FOLLOW_bitwise_and_expression_in_bitwise_or_expression9518_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_bitwise_and_expression_in_bitwise_or_expression9518	= { FOLLOW_bitwise_and_expression_in_bitwise_or_expression9518_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BITWISE_OR_OPERATOR_in_bitwise_or_expression9534  */
static	ANTLR3_BITWORD FOLLOW_BITWISE_OR_OPERATOR_in_bitwise_or_expression9534_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180A8908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_BITWISE_OR_OPERATOR_in_bitwise_or_expression9534	= { FOLLOW_BITWISE_OR_OPERATOR_in_bitwise_or_expression9534_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_bitwise_and_expression_in_bitwise_or_expression9537  */
static	ANTLR3_BITWORD FOLLOW_bitwise_and_expression_in_bitwise_or_expression9537_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_bitwise_and_expression_in_bitwise_or_expression9537	= { FOLLOW_bitwise_and_expression_in_bitwise_or_expression9537_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_shift_expression_in_bitwise_and_expression9548  */
static	ANTLR3_BITWORD FOLLOW_shift_expression_in_bitwise_and_expression9548_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0400000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_shift_expression_in_bitwise_and_expression9548	= { FOLLOW_shift_expression_in_bitwise_and_expression9548_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BITWISE_AND_OPERATOR_in_bitwise_and_expression9564  */
static	ANTLR3_BITWORD FOLLOW_BITWISE_AND_OPERATOR_in_bitwise_and_expression9564_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180A8908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_BITWISE_AND_OPERATOR_in_bitwise_and_expression9564	= { FOLLOW_BITWISE_AND_OPERATOR_in_bitwise_and_expression9564_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_shift_expression_in_bitwise_and_expression9567  */
static	ANTLR3_BITWORD FOLLOW_shift_expression_in_bitwise_and_expression9567_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0400000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_shift_expression_in_bitwise_and_expression9567	= { FOLLOW_shift_expression_in_bitwise_and_expression9567_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_additive_expression_in_shift_expression9578  */
static	ANTLR3_BITWORD FOLLOW_additive_expression_in_shift_expression9578_bits[]	= { ANTLR3_UINT64_LIT(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(0x000000000000C000) };
static  ANTLR3_BITSET_LIST FOLLOW_additive_expression_in_shift_expression9578	= { FOLLOW_additive_expression_in_shift_expression9578_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_shift_expression9594  */
static	ANTLR3_BITWORD FOLLOW_set_in_shift_expression9594_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180A8908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_shift_expression9594	= { FOLLOW_set_in_shift_expression9594_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_additive_expression_in_shift_expression9603  */
static	ANTLR3_BITWORD FOLLOW_additive_expression_in_shift_expression9603_bits[]	= { ANTLR3_UINT64_LIT(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(0x000000000000C000) };
static  ANTLR3_BITSET_LIST FOLLOW_additive_expression_in_shift_expression9603	= { FOLLOW_additive_expression_in_shift_expression9603_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_multiplicative_expression_in_additive_expression9614  */
static	ANTLR3_BITWORD FOLLOW_multiplicative_expression_in_additive_expression9614_bits[]	= { ANTLR3_UINT64_LIT(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(0x0800000000000000), ANTLR3_UINT64_LIT(0x0000010000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_multiplicative_expression_in_additive_expression9614	= { FOLLOW_multiplicative_expression_in_additive_expression9614_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_additive_expression9630  */
static	ANTLR3_BITWORD FOLLOW_set_in_additive_expression9630_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180A8908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_additive_expression9630	= { FOLLOW_set_in_additive_expression9630_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_multiplicative_expression_in_additive_expression9639  */
static	ANTLR3_BITWORD FOLLOW_multiplicative_expression_in_additive_expression9639_bits[]	= { ANTLR3_UINT64_LIT(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(0x0800000000000000), ANTLR3_UINT64_LIT(0x0000010000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_multiplicative_expression_in_additive_expression9639	= { FOLLOW_multiplicative_expression_in_additive_expression9639_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_bitwise_xor_expression_in_multiplicative_expression9650  */
static	ANTLR3_BITWORD FOLLOW_bitwise_xor_expression_in_multiplicative_expression9650_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x8000000000000000), ANTLR3_UINT64_LIT(0x0000000000000001), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x000000000000002C) };
static  ANTLR3_BITSET_LIST FOLLOW_bitwise_xor_expression_in_multiplicative_expression9650	= { FOLLOW_bitwise_xor_expression_in_multiplicative_expression9650_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_multiplication_operator_in_multiplicative_expression9666  */
static	ANTLR3_BITWORD FOLLOW_multiplication_operator_in_multiplicative_expression9666_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180A8908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_multiplication_operator_in_multiplicative_expression9666	= { FOLLOW_multiplication_operator_in_multiplicative_expression9666_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_bitwise_xor_expression_in_multiplicative_expression9669  */
static	ANTLR3_BITWORD FOLLOW_bitwise_xor_expression_in_multiplicative_expression9669_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x8000000000000000), ANTLR3_UINT64_LIT(0x0000000000000001), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x000000000000002C) };
static  ANTLR3_BITSET_LIST FOLLOW_bitwise_xor_expression_in_multiplicative_expression9669	= { FOLLOW_bitwise_xor_expression_in_multiplicative_expression9669_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_concat_expression_in_bitwise_xor_expression9680  */
static	ANTLR3_BITWORD FOLLOW_concat_expression_in_bitwise_xor_expression9680_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), 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_concat_expression_in_bitwise_xor_expression9680	= { FOLLOW_concat_expression_in_bitwise_xor_expression9680_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BITWISE_XOR_OPERATOR_in_bitwise_xor_expression9696  */
static	ANTLR3_BITWORD FOLLOW_BITWISE_XOR_OPERATOR_in_bitwise_xor_expression9696_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180A8908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_BITWISE_XOR_OPERATOR_in_bitwise_xor_expression9696	= { FOLLOW_BITWISE_XOR_OPERATOR_in_bitwise_xor_expression9696_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_concat_expression_in_bitwise_xor_expression9699  */
static	ANTLR3_BITWORD FOLLOW_concat_expression_in_bitwise_xor_expression9699_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), 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_concat_expression_in_bitwise_xor_expression9699	= { FOLLOW_concat_expression_in_bitwise_xor_expression9699_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_unary_expression_in_concat_expression9711  */
static	ANTLR3_BITWORD FOLLOW_unary_expression_in_concat_expression9711_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000800000) };
static  ANTLR3_BITSET_LIST FOLLOW_unary_expression_in_concat_expression9711	= { FOLLOW_unary_expression_in_concat_expression9711_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CONCAT_PIPES_SYMBOL_in_concat_expression9727  */
static	ANTLR3_BITWORD FOLLOW_CONCAT_PIPES_SYMBOL_in_concat_expression9727_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180A8908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_CONCAT_PIPES_SYMBOL_in_concat_expression9727	= { FOLLOW_CONCAT_PIPES_SYMBOL_in_concat_expression9727_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_unary_expression_in_concat_expression9730  */
static	ANTLR3_BITWORD FOLLOW_unary_expression_in_concat_expression9730_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000800000) };
static  ANTLR3_BITSET_LIST FOLLOW_unary_expression_in_concat_expression9730	= { FOLLOW_unary_expression_in_concat_expression9730_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_unary_expression9741  */
static	ANTLR3_BITWORD FOLLOW_set_in_unary_expression9741_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180A8908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_unary_expression9741	= { FOLLOW_set_in_unary_expression9741_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_unary_expression_in_unary_expression9753  */
static	ANTLR3_BITWORD FOLLOW_unary_expression_in_unary_expression9753_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_unary_expression_in_unary_expression9753	= { FOLLOW_unary_expression_in_unary_expression9753_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_not_expression_in_unary_expression9758  */
static	ANTLR3_BITWORD FOLLOW_not_expression_in_unary_expression9758_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_not_expression_in_unary_expression9758	= { FOLLOW_not_expression_in_unary_expression9758_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_not2_rule_in_not_expression9767  */
static	ANTLR3_BITWORD FOLLOW_not2_rule_in_not_expression9767_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xC345800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4028000001000028), ANTLR3_UINT64_LIT(0x06000220180A8108), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_not2_rule_in_not_expression9767	= { FOLLOW_not2_rule_in_not_expression9767_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_interval_expression_in_not_expression9770  */
static	ANTLR3_BITWORD FOLLOW_interval_expression_in_not_expression9770_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_interval_expression_in_not_expression9770	= { FOLLOW_interval_expression_in_not_expression9770_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTERVAL_SYMBOL_in_interval_expression9779  */
static	ANTLR3_BITWORD FOLLOW_INTERVAL_SYMBOL_in_interval_expression9779_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180AC908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_INTERVAL_SYMBOL_in_interval_expression9779	= { FOLLOW_INTERVAL_SYMBOL_in_interval_expression9779_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_interval_function_in_interval_expression9811  */
static	ANTLR3_BITWORD FOLLOW_interval_function_in_interval_expression9811_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_interval_function_in_interval_expression9811	= { FOLLOW_interval_function_in_interval_expression9811_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_interval_time_span_in_interval_expression9818  */
static	ANTLR3_BITWORD FOLLOW_interval_time_span_in_interval_expression9818_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_interval_time_span_in_interval_expression9818	= { FOLLOW_interval_time_span_in_interval_expression9818_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_primary_in_interval_expression9827  */
static	ANTLR3_BITWORD FOLLOW_primary_in_interval_expression9827_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_primary_in_interval_expression9827	= { FOLLOW_primary_in_interval_expression9827_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_interval_function9836  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_interval_function9836_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180AC908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_interval_function9836	= { FOLLOW_OPEN_PAR_SYMBOL_in_interval_function9836_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_interval_function9838  */
static	ANTLR3_BITWORD FOLLOW_expression_in_interval_function9838_bits[]	= { ANTLR3_UINT64_LIT(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_expression_in_interval_function9838	= { FOLLOW_expression_in_interval_function9838_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_interval_function9841  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_interval_function9841_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180AC908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_interval_function9841	= { FOLLOW_COMMA_SYMBOL_in_interval_function9841_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_interval_function9843  */
static	ANTLR3_BITWORD FOLLOW_expression_in_interval_function9843_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000210000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_interval_function9843	= { FOLLOW_expression_in_interval_function9843_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_interval_function9847  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_interval_function9847_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_interval_function9847	= { FOLLOW_CLOSE_PAR_SYMBOL_in_interval_function9847_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_interval_in_interval_time_span9879  */
static	ANTLR3_BITWORD FOLLOW_interval_in_interval_time_span9879_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_interval_in_interval_time_span9879	= { FOLLOW_interval_in_interval_time_span9879_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_literal_in_primary9903  */
static	ANTLR3_BITWORD FOLLOW_literal_in_primary9903_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), 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_literal_in_primary9903	= { FOLLOW_literal_in_primary9903_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_field_name_in_primary9909  */
static	ANTLR3_BITWORD FOLLOW_field_name_in_primary9909_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), 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_field_name_in_primary9909	= { FOLLOW_field_name_in_primary9909_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_function_call_expression_in_primary9915  */
static	ANTLR3_BITWORD FOLLOW_function_call_expression_in_primary9915_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), 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_function_call_expression_in_primary9915	= { FOLLOW_function_call_expression_in_primary9915_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_generic_function_call_in_primary9929  */
static	ANTLR3_BITWORD FOLLOW_generic_function_call_in_primary9929_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), 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_generic_function_call_in_primary9929	= { FOLLOW_generic_function_call_in_primary9929_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PARAM_MARKER_in_primary9935  */
static	ANTLR3_BITWORD FOLLOW_PARAM_MARKER_in_primary9935_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), 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_PARAM_MARKER_in_primary9935	= { FOLLOW_PARAM_MARKER_in_primary9935_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_variable_in_primary9941  */
static	ANTLR3_BITWORD FOLLOW_variable_in_primary9941_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), 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_variable_in_primary9941	= { FOLLOW_variable_in_primary9941_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_subquery_in_primary9949  */
static	ANTLR3_BITWORD FOLLOW_subquery_in_primary9949_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), 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_subquery_in_primary9949	= { FOLLOW_subquery_in_primary9949_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EXISTS_SYMBOL_in_primary9955  */
static	ANTLR3_BITWORD FOLLOW_EXISTS_SYMBOL_in_primary9955_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_EXISTS_SYMBOL_in_primary9955	= { FOLLOW_EXISTS_SYMBOL_in_primary9955_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_subquery_in_primary9957  */
static	ANTLR3_BITWORD FOLLOW_subquery_in_primary9957_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), 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_subquery_in_primary9957	= { FOLLOW_subquery_in_primary9957_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ROW_SYMBOL_in_primary9963  */
static	ANTLR3_BITWORD FOLLOW_ROW_SYMBOL_in_primary9963_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_ROW_SYMBOL_in_primary9963	= { FOLLOW_ROW_SYMBOL_in_primary9963_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_list_with_parentheses_in_primary9966  */
static	ANTLR3_BITWORD FOLLOW_expression_list_with_parentheses_in_primary9966_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), 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_expression_list_with_parentheses_in_primary9966	= { FOLLOW_expression_list_with_parentheses_in_primary9966_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_CURLY_SYMBOL_in_primary9972  */
static	ANTLR3_BITWORD FOLLOW_OPEN_CURLY_SYMBOL_in_primary9972_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_CURLY_SYMBOL_in_primary9972	= { FOLLOW_OPEN_CURLY_SYMBOL_in_primary9972_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_primary9974  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_primary9974_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180AC908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_primary9974	= { FOLLOW_identifier_in_primary9974_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_primary9976  */
static	ANTLR3_BITWORD FOLLOW_expression_in_primary9976_bits[]	= { ANTLR3_UINT64_LIT(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_expression_in_primary9976	= { FOLLOW_expression_in_primary9976_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_CURLY_SYMBOL_in_primary9978  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_CURLY_SYMBOL_in_primary9978_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), 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_CLOSE_CURLY_SYMBOL_in_primary9978	= { FOLLOW_CLOSE_CURLY_SYMBOL_in_primary9978_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_match_expression_in_primary9984  */
static	ANTLR3_BITWORD FOLLOW_match_expression_in_primary9984_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), 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_match_expression_in_primary9984	= { FOLLOW_match_expression_in_primary9984_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_case_expression_in_primary9990  */
static	ANTLR3_BITWORD FOLLOW_case_expression_in_primary9990_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), 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_case_expression_in_primary9990	= { FOLLOW_case_expression_in_primary9990_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_cast_expression_in_primary9996  */
static	ANTLR3_BITWORD FOLLOW_cast_expression_in_primary9996_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), 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_cast_expression_in_primary9996	= { FOLLOW_cast_expression_in_primary9996_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COLLATE_SYMBOL_in_primary10018  */
static	ANTLR3_BITWORD FOLLOW_COLLATE_SYMBOL_in_primary10018_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_COLLATE_SYMBOL_in_primary10018	= { FOLLOW_COLLATE_SYMBOL_in_primary10018_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_text_or_identifier_in_primary10020  */
static	ANTLR3_BITWORD FOLLOW_text_or_identifier_in_primary10020_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), 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_text_or_identifier_in_primary10020	= { FOLLOW_text_or_identifier_in_primary10020_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_function_call_in_function_call_expression10097  */
static	ANTLR3_BITWORD FOLLOW_function_call_in_function_call_expression10097_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_function_call_in_function_call_expression10097	= { FOLLOW_function_call_in_function_call_expression10097_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CHAR_SYMBOL_in_function_call10116  */
static	ANTLR3_BITWORD FOLLOW_CHAR_SYMBOL_in_function_call10116_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_CHAR_SYMBOL_in_function_call10116	= { FOLLOW_CHAR_SYMBOL_in_function_call10116_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_function_call10118  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_function_call10118_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180AC908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_function_call10118	= { FOLLOW_OPEN_PAR_SYMBOL_in_function_call10118_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_list_in_function_call10120  */
static	ANTLR3_BITWORD FOLLOW_expression_list_in_function_call10120_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000010000), 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_expression_list_in_function_call10120	= { FOLLOW_expression_list_in_function_call10120_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_USING_SYMBOL_in_function_call10123  */
static	ANTLR3_BITWORD FOLLOW_USING_SYMBOL_in_function_call10123_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0044000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_USING_SYMBOL_in_function_call10123	= { FOLLOW_USING_SYMBOL_in_function_call10123_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_charset_name_in_function_call10125  */
static	ANTLR3_BITWORD FOLLOW_charset_name_in_function_call10125_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000010000) };
static  ANTLR3_BITSET_LIST FOLLOW_charset_name_in_function_call10125	= { FOLLOW_charset_name_in_function_call10125_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10129  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10129_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10129	= { FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10129_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CURRENT_USER_SYMBOL_in_function_call10134  */
static	ANTLR3_BITWORD FOLLOW_CURRENT_USER_SYMBOL_in_function_call10134_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000000010000000) };
static  ANTLR3_BITSET_LIST FOLLOW_CURRENT_USER_SYMBOL_in_function_call10134	= { FOLLOW_CURRENT_USER_SYMBOL_in_function_call10134_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_parentheses_in_function_call10136  */
static	ANTLR3_BITWORD FOLLOW_parentheses_in_function_call10136_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_parentheses_in_function_call10136	= { FOLLOW_parentheses_in_function_call10136_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DATE_SYMBOL_in_function_call10142  */
static	ANTLR3_BITWORD FOLLOW_DATE_SYMBOL_in_function_call10142_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_DATE_SYMBOL_in_function_call10142	= { FOLLOW_DATE_SYMBOL_in_function_call10142_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_function_call10144  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_function_call10144_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180AC908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_function_call10144	= { FOLLOW_OPEN_PAR_SYMBOL_in_function_call10144_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_function_call10146  */
static	ANTLR3_BITWORD FOLLOW_expression_in_function_call10146_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000010000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_function_call10146	= { FOLLOW_expression_in_function_call10146_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10148  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10148_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10148	= { FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10148_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DAY_SYMBOL_in_function_call10153  */
static	ANTLR3_BITWORD FOLLOW_DAY_SYMBOL_in_function_call10153_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_DAY_SYMBOL_in_function_call10153	= { FOLLOW_DAY_SYMBOL_in_function_call10153_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_function_call10155  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_function_call10155_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180AC908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_function_call10155	= { FOLLOW_OPEN_PAR_SYMBOL_in_function_call10155_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_function_call10157  */
static	ANTLR3_BITWORD FOLLOW_expression_in_function_call10157_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000010000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_function_call10157	= { FOLLOW_expression_in_function_call10157_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10159  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10159_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10159	= { FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10159_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_HOUR_SYMBOL_in_function_call10164  */
static	ANTLR3_BITWORD FOLLOW_HOUR_SYMBOL_in_function_call10164_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_HOUR_SYMBOL_in_function_call10164	= { FOLLOW_HOUR_SYMBOL_in_function_call10164_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_function_call10166  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_function_call10166_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180AC908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_function_call10166	= { FOLLOW_OPEN_PAR_SYMBOL_in_function_call10166_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_function_call10168  */
static	ANTLR3_BITWORD FOLLOW_expression_in_function_call10168_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000010000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_function_call10168	= { FOLLOW_expression_in_function_call10168_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10170  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10170_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10170	= { FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10170_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INSERT_SYMBOL_in_function_call10175  */
static	ANTLR3_BITWORD FOLLOW_INSERT_SYMBOL_in_function_call10175_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_INSERT_SYMBOL_in_function_call10175	= { FOLLOW_INSERT_SYMBOL_in_function_call10175_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_function_call10177  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_function_call10177_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180AC908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_function_call10177	= { FOLLOW_OPEN_PAR_SYMBOL_in_function_call10177_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_function_call10179  */
static	ANTLR3_BITWORD FOLLOW_expression_in_function_call10179_bits[]	= { ANTLR3_UINT64_LIT(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_expression_in_function_call10179	= { FOLLOW_expression_in_function_call10179_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_function_call10181  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_function_call10181_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180AC908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_function_call10181	= { FOLLOW_COMMA_SYMBOL_in_function_call10181_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_function_call10183  */
static	ANTLR3_BITWORD FOLLOW_expression_in_function_call10183_bits[]	= { ANTLR3_UINT64_LIT(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_expression_in_function_call10183	= { FOLLOW_expression_in_function_call10183_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_function_call10185  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_function_call10185_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180AC908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_function_call10185	= { FOLLOW_COMMA_SYMBOL_in_function_call10185_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_function_call10187  */
static	ANTLR3_BITWORD FOLLOW_expression_in_function_call10187_bits[]	= { ANTLR3_UINT64_LIT(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_expression_in_function_call10187	= { FOLLOW_expression_in_function_call10187_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_function_call10189  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_function_call10189_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180AC908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_function_call10189	= { FOLLOW_COMMA_SYMBOL_in_function_call10189_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_function_call10191  */
static	ANTLR3_BITWORD FOLLOW_expression_in_function_call10191_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000010000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_function_call10191	= { FOLLOW_expression_in_function_call10191_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10193  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10193_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10193	= { FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10193_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_LEFT_SYMBOL_in_function_call10200  */
static	ANTLR3_BITWORD FOLLOW_LEFT_SYMBOL_in_function_call10200_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_LEFT_SYMBOL_in_function_call10200	= { FOLLOW_LEFT_SYMBOL_in_function_call10200_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_function_call10202  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_function_call10202_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180AC908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_function_call10202	= { FOLLOW_OPEN_PAR_SYMBOL_in_function_call10202_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_function_call10204  */
static	ANTLR3_BITWORD FOLLOW_expression_in_function_call10204_bits[]	= { ANTLR3_UINT64_LIT(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_expression_in_function_call10204	= { FOLLOW_expression_in_function_call10204_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_function_call10206  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_function_call10206_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_COMMA_SYMBOL_in_function_call10206	= { FOLLOW_COMMA_SYMBOL_in_function_call10206_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_function_call10208  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_function_call10208_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000010000) };
static  ANTLR3_BITSET_LIST FOLLOW_INTEGER_in_function_call10208	= { FOLLOW_INTEGER_in_function_call10208_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10210  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10210_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10210	= { FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10210_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MINUTE_SYMBOL_in_function_call10215  */
static	ANTLR3_BITWORD FOLLOW_MINUTE_SYMBOL_in_function_call10215_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_MINUTE_SYMBOL_in_function_call10215	= { FOLLOW_MINUTE_SYMBOL_in_function_call10215_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_function_call10217  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_function_call10217_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180AC908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_function_call10217	= { FOLLOW_OPEN_PAR_SYMBOL_in_function_call10217_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_function_call10219  */
static	ANTLR3_BITWORD FOLLOW_expression_in_function_call10219_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000010000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_function_call10219	= { FOLLOW_expression_in_function_call10219_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10221  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10221_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10221	= { FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10221_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MONTH_SYMBOL_in_function_call10226  */
static	ANTLR3_BITWORD FOLLOW_MONTH_SYMBOL_in_function_call10226_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_MONTH_SYMBOL_in_function_call10226	= { FOLLOW_MONTH_SYMBOL_in_function_call10226_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_function_call10228  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_function_call10228_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180AC908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_function_call10228	= { FOLLOW_OPEN_PAR_SYMBOL_in_function_call10228_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_function_call10230  */
static	ANTLR3_BITWORD FOLLOW_expression_in_function_call10230_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000010000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_function_call10230	= { FOLLOW_expression_in_function_call10230_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10232  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10232_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10232	= { FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10232_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_RIGHT_SYMBOL_in_function_call10237  */
static	ANTLR3_BITWORD FOLLOW_RIGHT_SYMBOL_in_function_call10237_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_RIGHT_SYMBOL_in_function_call10237	= { FOLLOW_RIGHT_SYMBOL_in_function_call10237_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_function_call10239  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_function_call10239_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180AC908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_function_call10239	= { FOLLOW_OPEN_PAR_SYMBOL_in_function_call10239_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_function_call10241  */
static	ANTLR3_BITWORD FOLLOW_expression_in_function_call10241_bits[]	= { ANTLR3_UINT64_LIT(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_expression_in_function_call10241	= { FOLLOW_expression_in_function_call10241_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_function_call10243  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_function_call10243_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_COMMA_SYMBOL_in_function_call10243	= { FOLLOW_COMMA_SYMBOL_in_function_call10243_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_function_call10245  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_function_call10245_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000010000) };
static  ANTLR3_BITSET_LIST FOLLOW_INTEGER_in_function_call10245	= { FOLLOW_INTEGER_in_function_call10245_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10247  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10247_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10247	= { FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10247_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SECOND_SYMBOL_in_function_call10252  */
static	ANTLR3_BITWORD FOLLOW_SECOND_SYMBOL_in_function_call10252_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_SECOND_SYMBOL_in_function_call10252	= { FOLLOW_SECOND_SYMBOL_in_function_call10252_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_function_call10254  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_function_call10254_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180AC908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_function_call10254	= { FOLLOW_OPEN_PAR_SYMBOL_in_function_call10254_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_function_call10256  */
static	ANTLR3_BITWORD FOLLOW_expression_in_function_call10256_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000010000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_function_call10256	= { FOLLOW_expression_in_function_call10256_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10258  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10258_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10258	= { FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10258_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TIME_SYMBOL_in_function_call10263  */
static	ANTLR3_BITWORD FOLLOW_TIME_SYMBOL_in_function_call10263_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_TIME_SYMBOL_in_function_call10263	= { FOLLOW_TIME_SYMBOL_in_function_call10263_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_function_call10265  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_function_call10265_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180AC908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_function_call10265	= { FOLLOW_OPEN_PAR_SYMBOL_in_function_call10265_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_function_call10267  */
static	ANTLR3_BITWORD FOLLOW_expression_in_function_call10267_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000010000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_function_call10267	= { FOLLOW_expression_in_function_call10267_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10269  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10269_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10269	= { FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10269_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TIMESTAMP_SYMBOL_in_function_call10274  */
static	ANTLR3_BITWORD FOLLOW_TIMESTAMP_SYMBOL_in_function_call10274_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_TIMESTAMP_SYMBOL_in_function_call10274	= { FOLLOW_TIMESTAMP_SYMBOL_in_function_call10274_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_function_call10276  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_function_call10276_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180AC908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_function_call10276	= { FOLLOW_OPEN_PAR_SYMBOL_in_function_call10276_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_function_call10278  */
static	ANTLR3_BITWORD FOLLOW_expression_in_function_call10278_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000210000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_function_call10278	= { FOLLOW_expression_in_function_call10278_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_function_call10281  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_function_call10281_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180AC908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_function_call10281	= { FOLLOW_COMMA_SYMBOL_in_function_call10281_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_function_call10283  */
static	ANTLR3_BITWORD FOLLOW_expression_in_function_call10283_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000010000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_function_call10283	= { FOLLOW_expression_in_function_call10283_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10287  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10287_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10287	= { FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10287_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_trim_function_in_function_call10292  */
static	ANTLR3_BITWORD FOLLOW_trim_function_in_function_call10292_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_trim_function_in_function_call10292	= { FOLLOW_trim_function_in_function_call10292_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_USER_SYMBOL_in_function_call10297  */
static	ANTLR3_BITWORD FOLLOW_USER_SYMBOL_in_function_call10297_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_USER_SYMBOL_in_function_call10297	= { FOLLOW_USER_SYMBOL_in_function_call10297_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_parentheses_in_function_call10299  */
static	ANTLR3_BITWORD FOLLOW_parentheses_in_function_call10299_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_parentheses_in_function_call10299	= { FOLLOW_parentheses_in_function_call10299_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_VALUES_SYMBOL_in_function_call10304  */
static	ANTLR3_BITWORD FOLLOW_VALUES_SYMBOL_in_function_call10304_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_VALUES_SYMBOL_in_function_call10304	= { FOLLOW_VALUES_SYMBOL_in_function_call10304_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_function_call10306  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_function_call10306_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180AC908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_function_call10306	= { FOLLOW_OPEN_PAR_SYMBOL_in_function_call10306_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_function_call10308  */
static	ANTLR3_BITWORD FOLLOW_expression_in_function_call10308_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000010000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_function_call10308	= { FOLLOW_expression_in_function_call10308_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10310  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10310_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10310	= { FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10310_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_YEAR_SYMBOL_in_function_call10315  */
static	ANTLR3_BITWORD FOLLOW_YEAR_SYMBOL_in_function_call10315_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_YEAR_SYMBOL_in_function_call10315	= { FOLLOW_YEAR_SYMBOL_in_function_call10315_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_function_call10317  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_function_call10317_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180AC908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_function_call10317	= { FOLLOW_OPEN_PAR_SYMBOL_in_function_call10317_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_function_call10319  */
static	ANTLR3_BITWORD FOLLOW_expression_in_function_call10319_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000010000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_function_call10319	= { FOLLOW_expression_in_function_call10319_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10321  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10321_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10321	= { FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10321_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_function_call10329  */
static	ANTLR3_BITWORD FOLLOW_set_in_function_call10329_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_set_in_function_call10329	= { FOLLOW_set_in_function_call10329_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_function_call10337  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_function_call10337_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180AC908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_function_call10337	= { FOLLOW_OPEN_PAR_SYMBOL_in_function_call10337_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_function_call10339  */
static	ANTLR3_BITWORD FOLLOW_expression_in_function_call10339_bits[]	= { ANTLR3_UINT64_LIT(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_expression_in_function_call10339	= { FOLLOW_expression_in_function_call10339_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_function_call10341  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_function_call10341_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180AC908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_function_call10341	= { FOLLOW_COMMA_SYMBOL_in_function_call10341_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_function_call10343  */
static	ANTLR3_BITWORD FOLLOW_expression_in_function_call10343_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000010000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_function_call10343	= { FOLLOW_expression_in_function_call10343_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10345  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10345_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10345	= { FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10345_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CURDATE_SYMBOL_in_function_call10350  */
static	ANTLR3_BITWORD FOLLOW_CURDATE_SYMBOL_in_function_call10350_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000000010000000) };
static  ANTLR3_BITSET_LIST FOLLOW_CURDATE_SYMBOL_in_function_call10350	= { FOLLOW_CURDATE_SYMBOL_in_function_call10350_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_parentheses_in_function_call10352  */
static	ANTLR3_BITWORD FOLLOW_parentheses_in_function_call10352_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_parentheses_in_function_call10352	= { FOLLOW_parentheses_in_function_call10352_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CURTIME_SYMBOL_in_function_call10358  */
static	ANTLR3_BITWORD FOLLOW_CURTIME_SYMBOL_in_function_call10358_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000000010000000) };
static  ANTLR3_BITSET_LIST FOLLOW_CURTIME_SYMBOL_in_function_call10358	= { FOLLOW_CURTIME_SYMBOL_in_function_call10358_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_time_function_parameters_in_function_call10360  */
static	ANTLR3_BITWORD FOLLOW_time_function_parameters_in_function_call10360_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_time_function_parameters_in_function_call10360	= { FOLLOW_time_function_parameters_in_function_call10360_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_function_call10366  */
static	ANTLR3_BITWORD FOLLOW_set_in_function_call10366_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_set_in_function_call10366	= { FOLLOW_set_in_function_call10366_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_function_call10374  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_function_call10374_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180AC908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_function_call10374	= { FOLLOW_OPEN_PAR_SYMBOL_in_function_call10374_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_function_call10376  */
static	ANTLR3_BITWORD FOLLOW_expression_in_function_call10376_bits[]	= { ANTLR3_UINT64_LIT(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_expression_in_function_call10376	= { FOLLOW_expression_in_function_call10376_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_function_call10378  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_function_call10378_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_COMMA_SYMBOL_in_function_call10378	= { FOLLOW_COMMA_SYMBOL_in_function_call10378_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTERVAL_SYMBOL_in_function_call10380  */
static	ANTLR3_BITWORD FOLLOW_INTERVAL_SYMBOL_in_function_call10380_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180AC908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_INTERVAL_SYMBOL_in_function_call10380	= { FOLLOW_INTERVAL_SYMBOL_in_function_call10380_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_interval_in_function_call10382  */
static	ANTLR3_BITWORD FOLLOW_interval_in_function_call10382_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000010000) };
static  ANTLR3_BITSET_LIST FOLLOW_interval_in_function_call10382	= { FOLLOW_interval_in_function_call10382_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10384  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10384_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10384	= { FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10384_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EXTRACT_SYMBOL_in_function_call10389  */
static	ANTLR3_BITWORD FOLLOW_EXTRACT_SYMBOL_in_function_call10389_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_EXTRACT_SYMBOL_in_function_call10389	= { FOLLOW_EXTRACT_SYMBOL_in_function_call10389_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_function_call10391  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_function_call10391_bits[]	= { ANTLR3_UINT64_LIT(0x0200000000000000), ANTLR3_UINT64_LIT(0x0000002000000000), ANTLR3_UINT64_LIT(0x0000000450000000), ANTLR3_UINT64_LIT(0x0000080000001000), ANTLR3_UINT64_LIT(0x0002100000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0001E00000000000), ANTLR3_UINT64_LIT(0x000E000400000000), ANTLR3_UINT64_LIT(0x3000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000010), ANTLR3_UINT64_LIT(0x0000020000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_function_call10391	= { FOLLOW_OPEN_PAR_SYMBOL_in_function_call10391_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_interval_unit_in_function_call10393  */
static	ANTLR3_BITWORD FOLLOW_interval_unit_in_function_call10393_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000800000000) };
static  ANTLR3_BITSET_LIST FOLLOW_interval_unit_in_function_call10393	= { FOLLOW_interval_unit_in_function_call10393_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FROM_SYMBOL_in_function_call10395  */
static	ANTLR3_BITWORD FOLLOW_FROM_SYMBOL_in_function_call10395_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180AC908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_FROM_SYMBOL_in_function_call10395	= { FOLLOW_FROM_SYMBOL_in_function_call10395_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_function_call10397  */
static	ANTLR3_BITWORD FOLLOW_expression_in_function_call10397_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000010000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_function_call10397	= { FOLLOW_expression_in_function_call10397_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10399  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10399_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10399	= { FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10399_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_GET_FORMAT_SYMBOL_in_function_call10404  */
static	ANTLR3_BITWORD FOLLOW_GET_FORMAT_SYMBOL_in_function_call10404_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_GET_FORMAT_SYMBOL_in_function_call10404	= { FOLLOW_GET_FORMAT_SYMBOL_in_function_call10404_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_function_call10406  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_function_call10406_bits[]	= { ANTLR3_UINT64_LIT(0x0180000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000001800000) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_function_call10406	= { FOLLOW_OPEN_PAR_SYMBOL_in_function_call10406_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_date_time_type_in_function_call10408  */
static	ANTLR3_BITWORD FOLLOW_date_time_type_in_function_call10408_bits[]	= { ANTLR3_UINT64_LIT(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_date_time_type_in_function_call10408	= { FOLLOW_date_time_type_in_function_call10408_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_function_call10411  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_function_call10411_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180AC908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_function_call10411	= { FOLLOW_COMMA_SYMBOL_in_function_call10411_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_function_call10413  */
static	ANTLR3_BITWORD FOLLOW_expression_in_function_call10413_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000010000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_function_call10413	= { FOLLOW_expression_in_function_call10413_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10415  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10415_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10415	= { FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10415_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_NOW_SYMBOL_in_function_call10420  */
static	ANTLR3_BITWORD FOLLOW_NOW_SYMBOL_in_function_call10420_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000000010000000) };
static  ANTLR3_BITSET_LIST FOLLOW_NOW_SYMBOL_in_function_call10420	= { FOLLOW_NOW_SYMBOL_in_function_call10420_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_time_function_parameters_in_function_call10422  */
static	ANTLR3_BITWORD FOLLOW_time_function_parameters_in_function_call10422_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_time_function_parameters_in_function_call10422	= { FOLLOW_time_function_parameters_in_function_call10422_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_POSITION_SYMBOL_in_function_call10428  */
static	ANTLR3_BITWORD FOLLOW_POSITION_SYMBOL_in_function_call10428_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_POSITION_SYMBOL_in_function_call10428	= { FOLLOW_POSITION_SYMBOL_in_function_call10428_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_function_call10430  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_function_call10430_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180A8908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_function_call10430	= { FOLLOW_OPEN_PAR_SYMBOL_in_function_call10430_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_bitwise_or_expression_in_function_call10432  */
static	ANTLR3_BITWORD FOLLOW_bitwise_or_expression_in_function_call10432_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_bitwise_or_expression_in_function_call10432	= { FOLLOW_bitwise_or_expression_in_function_call10432_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_IN_SYMBOL_in_function_call10434  */
static	ANTLR3_BITWORD FOLLOW_IN_SYMBOL_in_function_call10434_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180AC908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_IN_SYMBOL_in_function_call10434	= { FOLLOW_IN_SYMBOL_in_function_call10434_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_function_call10436  */
static	ANTLR3_BITWORD FOLLOW_expression_in_function_call10436_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000010000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_function_call10436	= { FOLLOW_expression_in_function_call10436_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10438  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10438_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10438	= { FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10438_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_substring_function_in_function_call10443  */
static	ANTLR3_BITWORD FOLLOW_substring_function_in_function_call10443_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_substring_function_in_function_call10443	= { FOLLOW_substring_function_in_function_call10443_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SYSDATE_SYMBOL_in_function_call10448  */
static	ANTLR3_BITWORD FOLLOW_SYSDATE_SYMBOL_in_function_call10448_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000000010000000) };
static  ANTLR3_BITSET_LIST FOLLOW_SYSDATE_SYMBOL_in_function_call10448	= { FOLLOW_SYSDATE_SYMBOL_in_function_call10448_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_time_function_parameters_in_function_call10450  */
static	ANTLR3_BITWORD FOLLOW_time_function_parameters_in_function_call10450_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_time_function_parameters_in_function_call10450	= { FOLLOW_time_function_parameters_in_function_call10450_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_function_call10456  */
static	ANTLR3_BITWORD FOLLOW_set_in_function_call10456_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_set_in_function_call10456	= { FOLLOW_set_in_function_call10456_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_function_call10464  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_function_call10464_bits[]	= { ANTLR3_UINT64_LIT(0x0200000000000000), ANTLR3_UINT64_LIT(0x0000002000000000), ANTLR3_UINT64_LIT(0x0000000450000000), ANTLR3_UINT64_LIT(0x0000080000001000), ANTLR3_UINT64_LIT(0x0002100000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000400000000) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_function_call10464	= { FOLLOW_OPEN_PAR_SYMBOL_in_function_call10464_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_interval_timestamp_unit_in_function_call10466  */
static	ANTLR3_BITWORD FOLLOW_interval_timestamp_unit_in_function_call10466_bits[]	= { ANTLR3_UINT64_LIT(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_interval_timestamp_unit_in_function_call10466	= { FOLLOW_interval_timestamp_unit_in_function_call10466_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_function_call10468  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_function_call10468_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180AC908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_function_call10468	= { FOLLOW_COMMA_SYMBOL_in_function_call10468_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_function_call10470  */
static	ANTLR3_BITWORD FOLLOW_expression_in_function_call10470_bits[]	= { ANTLR3_UINT64_LIT(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_expression_in_function_call10470	= { FOLLOW_expression_in_function_call10470_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_function_call10472  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_function_call10472_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180AC908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_function_call10472	= { FOLLOW_COMMA_SYMBOL_in_function_call10472_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_function_call10474  */
static	ANTLR3_BITWORD FOLLOW_expression_in_function_call10474_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000010000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_function_call10474	= { FOLLOW_expression_in_function_call10474_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10476  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10476_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10476	= { FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10476_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_UTC_DATE_SYMBOL_in_function_call10481  */
static	ANTLR3_BITWORD FOLLOW_UTC_DATE_SYMBOL_in_function_call10481_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000000010000000) };
static  ANTLR3_BITSET_LIST FOLLOW_UTC_DATE_SYMBOL_in_function_call10481	= { FOLLOW_UTC_DATE_SYMBOL_in_function_call10481_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_parentheses_in_function_call10483  */
static	ANTLR3_BITWORD FOLLOW_parentheses_in_function_call10483_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_parentheses_in_function_call10483	= { FOLLOW_parentheses_in_function_call10483_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_UTC_TIME_SYMBOL_in_function_call10489  */
static	ANTLR3_BITWORD FOLLOW_UTC_TIME_SYMBOL_in_function_call10489_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000000010000000) };
static  ANTLR3_BITSET_LIST FOLLOW_UTC_TIME_SYMBOL_in_function_call10489	= { FOLLOW_UTC_TIME_SYMBOL_in_function_call10489_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_time_function_parameters_in_function_call10491  */
static	ANTLR3_BITWORD FOLLOW_time_function_parameters_in_function_call10491_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_time_function_parameters_in_function_call10491	= { FOLLOW_time_function_parameters_in_function_call10491_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_UTC_TIMESTAMP_SYMBOL_in_function_call10497  */
static	ANTLR3_BITWORD FOLLOW_UTC_TIMESTAMP_SYMBOL_in_function_call10497_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000000010000000) };
static  ANTLR3_BITSET_LIST FOLLOW_UTC_TIMESTAMP_SYMBOL_in_function_call10497	= { FOLLOW_UTC_TIMESTAMP_SYMBOL_in_function_call10497_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_time_function_parameters_in_function_call10499  */
static	ANTLR3_BITWORD FOLLOW_time_function_parameters_in_function_call10499_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_time_function_parameters_in_function_call10499	= { FOLLOW_time_function_parameters_in_function_call10499_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ASCII_SYMBOL_in_function_call10508  */
static	ANTLR3_BITWORD FOLLOW_ASCII_SYMBOL_in_function_call10508_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_ASCII_SYMBOL_in_function_call10508	= { FOLLOW_ASCII_SYMBOL_in_function_call10508_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_function_call10510  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_function_call10510_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180AC908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_function_call10510	= { FOLLOW_OPEN_PAR_SYMBOL_in_function_call10510_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_function_call10512  */
static	ANTLR3_BITWORD FOLLOW_expression_in_function_call10512_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000010000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_function_call10512	= { FOLLOW_expression_in_function_call10512_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10514  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10514_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10514	= { FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10514_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CHARSET_SYMBOL_in_function_call10519  */
static	ANTLR3_BITWORD FOLLOW_CHARSET_SYMBOL_in_function_call10519_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_CHARSET_SYMBOL_in_function_call10519	= { FOLLOW_CHARSET_SYMBOL_in_function_call10519_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_function_call10521  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_function_call10521_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180AC908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_function_call10521	= { FOLLOW_OPEN_PAR_SYMBOL_in_function_call10521_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_function_call10523  */
static	ANTLR3_BITWORD FOLLOW_expression_in_function_call10523_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000010000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_function_call10523	= { FOLLOW_expression_in_function_call10523_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10525  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10525_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10525	= { FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10525_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COALESCE_SYMBOL_in_function_call10530  */
static	ANTLR3_BITWORD FOLLOW_COALESCE_SYMBOL_in_function_call10530_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_COALESCE_SYMBOL_in_function_call10530	= { FOLLOW_COALESCE_SYMBOL_in_function_call10530_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_list_with_parentheses_in_function_call10532  */
static	ANTLR3_BITWORD FOLLOW_expression_list_with_parentheses_in_function_call10532_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_list_with_parentheses_in_function_call10532	= { FOLLOW_expression_list_with_parentheses_in_function_call10532_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COLLATION_SYMBOL_in_function_call10537  */
static	ANTLR3_BITWORD FOLLOW_COLLATION_SYMBOL_in_function_call10537_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_COLLATION_SYMBOL_in_function_call10537	= { FOLLOW_COLLATION_SYMBOL_in_function_call10537_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_function_call10539  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_function_call10539_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180AC908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_function_call10539	= { FOLLOW_OPEN_PAR_SYMBOL_in_function_call10539_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_function_call10541  */
static	ANTLR3_BITWORD FOLLOW_expression_in_function_call10541_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000010000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_function_call10541	= { FOLLOW_expression_in_function_call10541_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10543  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10543_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10543	= { FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10543_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DATABASE_SYMBOL_in_function_call10548  */
static	ANTLR3_BITWORD FOLLOW_DATABASE_SYMBOL_in_function_call10548_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_DATABASE_SYMBOL_in_function_call10548	= { FOLLOW_DATABASE_SYMBOL_in_function_call10548_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_parentheses_in_function_call10550  */
static	ANTLR3_BITWORD FOLLOW_parentheses_in_function_call10550_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_parentheses_in_function_call10550	= { FOLLOW_parentheses_in_function_call10550_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_IF_SYMBOL_in_function_call10555  */
static	ANTLR3_BITWORD FOLLOW_IF_SYMBOL_in_function_call10555_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_IF_SYMBOL_in_function_call10555	= { FOLLOW_IF_SYMBOL_in_function_call10555_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_function_call10557  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_function_call10557_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180AC908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_function_call10557	= { FOLLOW_OPEN_PAR_SYMBOL_in_function_call10557_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_function_call10559  */
static	ANTLR3_BITWORD FOLLOW_expression_in_function_call10559_bits[]	= { ANTLR3_UINT64_LIT(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_expression_in_function_call10559	= { FOLLOW_expression_in_function_call10559_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_function_call10561  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_function_call10561_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180AC908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_function_call10561	= { FOLLOW_COMMA_SYMBOL_in_function_call10561_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_function_call10563  */
static	ANTLR3_BITWORD FOLLOW_expression_in_function_call10563_bits[]	= { ANTLR3_UINT64_LIT(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_expression_in_function_call10563	= { FOLLOW_expression_in_function_call10563_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_function_call10565  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_function_call10565_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180AC908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_function_call10565	= { FOLLOW_COMMA_SYMBOL_in_function_call10565_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_function_call10567  */
static	ANTLR3_BITWORD FOLLOW_expression_in_function_call10567_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000010000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_function_call10567	= { FOLLOW_expression_in_function_call10567_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10569  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10569_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10569	= { FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10569_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FORMAT_SYMBOL_in_function_call10574  */
static	ANTLR3_BITWORD FOLLOW_FORMAT_SYMBOL_in_function_call10574_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_FORMAT_SYMBOL_in_function_call10574	= { FOLLOW_FORMAT_SYMBOL_in_function_call10574_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_function_call10576  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_function_call10576_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180AC908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_function_call10576	= { FOLLOW_OPEN_PAR_SYMBOL_in_function_call10576_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_function_call10578  */
static	ANTLR3_BITWORD FOLLOW_expression_in_function_call10578_bits[]	= { ANTLR3_UINT64_LIT(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_expression_in_function_call10578	= { FOLLOW_expression_in_function_call10578_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_function_call10580  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_function_call10580_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180AC908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_function_call10580	= { FOLLOW_COMMA_SYMBOL_in_function_call10580_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_function_call10582  */
static	ANTLR3_BITWORD FOLLOW_expression_in_function_call10582_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000210000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_function_call10582	= { FOLLOW_expression_in_function_call10582_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_function_call10585  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_function_call10585_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180AC908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_function_call10585	= { FOLLOW_COMMA_SYMBOL_in_function_call10585_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_function_call10587  */
static	ANTLR3_BITWORD FOLLOW_expression_in_function_call10587_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000010000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_function_call10587	= { FOLLOW_expression_in_function_call10587_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10591  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10591_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10591	= { FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10591_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MICROSECOND_SYMBOL_in_function_call10596  */
static	ANTLR3_BITWORD FOLLOW_MICROSECOND_SYMBOL_in_function_call10596_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_MICROSECOND_SYMBOL_in_function_call10596	= { FOLLOW_MICROSECOND_SYMBOL_in_function_call10596_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_function_call10598  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_function_call10598_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180AC908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_function_call10598	= { FOLLOW_OPEN_PAR_SYMBOL_in_function_call10598_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_function_call10600  */
static	ANTLR3_BITWORD FOLLOW_expression_in_function_call10600_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000010000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_function_call10600	= { FOLLOW_expression_in_function_call10600_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10602  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10602_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10602	= { FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10602_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MOD_SYMBOL_in_function_call10607  */
static	ANTLR3_BITWORD FOLLOW_MOD_SYMBOL_in_function_call10607_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_MOD_SYMBOL_in_function_call10607	= { FOLLOW_MOD_SYMBOL_in_function_call10607_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_function_call10609  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_function_call10609_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180AC908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_function_call10609	= { FOLLOW_OPEN_PAR_SYMBOL_in_function_call10609_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_function_call10611  */
static	ANTLR3_BITWORD FOLLOW_expression_in_function_call10611_bits[]	= { ANTLR3_UINT64_LIT(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_expression_in_function_call10611	= { FOLLOW_expression_in_function_call10611_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_function_call10613  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_function_call10613_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180AC908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_function_call10613	= { FOLLOW_COMMA_SYMBOL_in_function_call10613_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_function_call10615  */
static	ANTLR3_BITWORD FOLLOW_expression_in_function_call10615_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000010000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_function_call10615	= { FOLLOW_expression_in_function_call10615_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10617  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10617_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10617	= { FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10617_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OLD_PASSWORD_SYMBOL_in_function_call10622  */
static	ANTLR3_BITWORD FOLLOW_OLD_PASSWORD_SYMBOL_in_function_call10622_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_OLD_PASSWORD_SYMBOL_in_function_call10622	= { FOLLOW_OLD_PASSWORD_SYMBOL_in_function_call10622_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_function_call10624  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_function_call10624_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180AC908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_function_call10624	= { FOLLOW_OPEN_PAR_SYMBOL_in_function_call10624_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_function_call10626  */
static	ANTLR3_BITWORD FOLLOW_expression_in_function_call10626_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000010000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_function_call10626	= { FOLLOW_expression_in_function_call10626_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10628  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10628_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10628	= { FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10628_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PASSWORD_SYMBOL_in_function_call10633  */
static	ANTLR3_BITWORD FOLLOW_PASSWORD_SYMBOL_in_function_call10633_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_PASSWORD_SYMBOL_in_function_call10633	= { FOLLOW_PASSWORD_SYMBOL_in_function_call10633_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_function_call10635  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_function_call10635_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180AC908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_function_call10635	= { FOLLOW_OPEN_PAR_SYMBOL_in_function_call10635_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_function_call10637  */
static	ANTLR3_BITWORD FOLLOW_expression_in_function_call10637_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000010000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_function_call10637	= { FOLLOW_expression_in_function_call10637_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10639  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10639_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10639	= { FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10639_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_QUARTER_SYMBOL_in_function_call10644  */
static	ANTLR3_BITWORD FOLLOW_QUARTER_SYMBOL_in_function_call10644_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_QUARTER_SYMBOL_in_function_call10644	= { FOLLOW_QUARTER_SYMBOL_in_function_call10644_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_function_call10646  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_function_call10646_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180AC908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_function_call10646	= { FOLLOW_OPEN_PAR_SYMBOL_in_function_call10646_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_function_call10648  */
static	ANTLR3_BITWORD FOLLOW_expression_in_function_call10648_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000010000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_function_call10648	= { FOLLOW_expression_in_function_call10648_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10650  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10650_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10650	= { FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10650_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_REPEAT_SYMBOL_in_function_call10655  */
static	ANTLR3_BITWORD FOLLOW_REPEAT_SYMBOL_in_function_call10655_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_REPEAT_SYMBOL_in_function_call10655	= { FOLLOW_REPEAT_SYMBOL_in_function_call10655_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_function_call10657  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_function_call10657_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180AC908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_function_call10657	= { FOLLOW_OPEN_PAR_SYMBOL_in_function_call10657_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_function_call10659  */
static	ANTLR3_BITWORD FOLLOW_expression_in_function_call10659_bits[]	= { ANTLR3_UINT64_LIT(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_expression_in_function_call10659	= { FOLLOW_expression_in_function_call10659_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_function_call10661  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_function_call10661_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180AC908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_function_call10661	= { FOLLOW_COMMA_SYMBOL_in_function_call10661_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_function_call10663  */
static	ANTLR3_BITWORD FOLLOW_expression_in_function_call10663_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000010000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_function_call10663	= { FOLLOW_expression_in_function_call10663_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10665  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10665_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10665	= { FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10665_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_REPLACE_SYMBOL_in_function_call10670  */
static	ANTLR3_BITWORD FOLLOW_REPLACE_SYMBOL_in_function_call10670_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_REPLACE_SYMBOL_in_function_call10670	= { FOLLOW_REPLACE_SYMBOL_in_function_call10670_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_function_call10672  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_function_call10672_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180AC908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_function_call10672	= { FOLLOW_OPEN_PAR_SYMBOL_in_function_call10672_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_function_call10674  */
static	ANTLR3_BITWORD FOLLOW_expression_in_function_call10674_bits[]	= { ANTLR3_UINT64_LIT(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_expression_in_function_call10674	= { FOLLOW_expression_in_function_call10674_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_function_call10676  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_function_call10676_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180AC908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_function_call10676	= { FOLLOW_COMMA_SYMBOL_in_function_call10676_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_function_call10678  */
static	ANTLR3_BITWORD FOLLOW_expression_in_function_call10678_bits[]	= { ANTLR3_UINT64_LIT(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_expression_in_function_call10678	= { FOLLOW_expression_in_function_call10678_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_function_call10680  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_function_call10680_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180AC908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_function_call10680	= { FOLLOW_COMMA_SYMBOL_in_function_call10680_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_function_call10682  */
static	ANTLR3_BITWORD FOLLOW_expression_in_function_call10682_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000010000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_function_call10682	= { FOLLOW_expression_in_function_call10682_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10684  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10684_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10684	= { FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10684_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_REVERSE_SYMBOL_in_function_call10689  */
static	ANTLR3_BITWORD FOLLOW_REVERSE_SYMBOL_in_function_call10689_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_REVERSE_SYMBOL_in_function_call10689	= { FOLLOW_REVERSE_SYMBOL_in_function_call10689_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_function_call10691  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_function_call10691_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180AC908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_function_call10691	= { FOLLOW_OPEN_PAR_SYMBOL_in_function_call10691_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_function_call10693  */
static	ANTLR3_BITWORD FOLLOW_expression_in_function_call10693_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000010000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_function_call10693	= { FOLLOW_expression_in_function_call10693_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10695  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10695_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10695	= { FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10695_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ROW_COUNT_SYMBOL_in_function_call10700  */
static	ANTLR3_BITWORD FOLLOW_ROW_COUNT_SYMBOL_in_function_call10700_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_ROW_COUNT_SYMBOL_in_function_call10700	= { FOLLOW_ROW_COUNT_SYMBOL_in_function_call10700_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_parentheses_in_function_call10702  */
static	ANTLR3_BITWORD FOLLOW_parentheses_in_function_call10702_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_parentheses_in_function_call10702	= { FOLLOW_parentheses_in_function_call10702_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TRUNCATE_SYMBOL_in_function_call10707  */
static	ANTLR3_BITWORD FOLLOW_TRUNCATE_SYMBOL_in_function_call10707_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_TRUNCATE_SYMBOL_in_function_call10707	= { FOLLOW_TRUNCATE_SYMBOL_in_function_call10707_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_function_call10709  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_function_call10709_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180AC908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_function_call10709	= { FOLLOW_OPEN_PAR_SYMBOL_in_function_call10709_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_function_call10711  */
static	ANTLR3_BITWORD FOLLOW_expression_in_function_call10711_bits[]	= { ANTLR3_UINT64_LIT(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_expression_in_function_call10711	= { FOLLOW_expression_in_function_call10711_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_function_call10713  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_function_call10713_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180AC908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_function_call10713	= { FOLLOW_COMMA_SYMBOL_in_function_call10713_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_function_call10715  */
static	ANTLR3_BITWORD FOLLOW_expression_in_function_call10715_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000010000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_function_call10715	= { FOLLOW_expression_in_function_call10715_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10717  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10717_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10717	= { FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10717_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_WEEK_SYMBOL_in_function_call10722  */
static	ANTLR3_BITWORD FOLLOW_WEEK_SYMBOL_in_function_call10722_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_WEEK_SYMBOL_in_function_call10722	= { FOLLOW_WEEK_SYMBOL_in_function_call10722_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_function_call10724  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_function_call10724_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180AC908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_function_call10724	= { FOLLOW_OPEN_PAR_SYMBOL_in_function_call10724_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_function_call10726  */
static	ANTLR3_BITWORD FOLLOW_expression_in_function_call10726_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000210000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_function_call10726	= { FOLLOW_expression_in_function_call10726_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_function_call10729  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_function_call10729_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180AC908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_function_call10729	= { FOLLOW_COMMA_SYMBOL_in_function_call10729_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_function_call10731  */
static	ANTLR3_BITWORD FOLLOW_expression_in_function_call10731_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000010000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_function_call10731	= { FOLLOW_expression_in_function_call10731_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10735  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10735_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10735	= { FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10735_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_WEIGHT_STRING_SYMBOL_in_function_call10744  */
static	ANTLR3_BITWORD FOLLOW_WEIGHT_STRING_SYMBOL_in_function_call10744_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_WEIGHT_STRING_SYMBOL_in_function_call10744	= { FOLLOW_WEIGHT_STRING_SYMBOL_in_function_call10744_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_function_call10746  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_function_call10746_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180AC908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_function_call10746	= { FOLLOW_OPEN_PAR_SYMBOL_in_function_call10746_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_function_call10748  */
static	ANTLR3_BITWORD FOLLOW_expression_in_function_call10748_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0040000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000400000000000), ANTLR3_UINT64_LIT(0x0000000000210000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_function_call10748	= { FOLLOW_expression_in_function_call10748_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_AS_SYMBOL_in_function_call10758  */
static	ANTLR3_BITWORD FOLLOW_AS_SYMBOL_in_function_call10758_bits[]	= { ANTLR3_UINT64_LIT(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_AS_SYMBOL_in_function_call10758	= { FOLLOW_AS_SYMBOL_in_function_call10758_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CHAR_SYMBOL_in_function_call10760  */
static	ANTLR3_BITWORD FOLLOW_CHAR_SYMBOL_in_function_call10760_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_CHAR_SYMBOL_in_function_call10760	= { FOLLOW_CHAR_SYMBOL_in_function_call10760_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_field_length_in_function_call10762  */
static	ANTLR3_BITWORD FOLLOW_field_length_in_function_call10762_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0040000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000010000) };
static  ANTLR3_BITSET_LIST FOLLOW_field_length_in_function_call10762	= { FOLLOW_field_length_in_function_call10762_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_weight_string_levels_in_function_call10766  */
static	ANTLR3_BITWORD FOLLOW_weight_string_levels_in_function_call10766_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000010000) };
static  ANTLR3_BITSET_LIST FOLLOW_weight_string_levels_in_function_call10766	= { FOLLOW_weight_string_levels_in_function_call10766_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_AS_SYMBOL_in_function_call10774  */
static	ANTLR3_BITWORD FOLLOW_AS_SYMBOL_in_function_call10774_bits[]	= { 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_AS_SYMBOL_in_function_call10774	= { FOLLOW_AS_SYMBOL_in_function_call10774_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BINARY_SYMBOL_in_function_call10776  */
static	ANTLR3_BITWORD FOLLOW_BINARY_SYMBOL_in_function_call10776_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_BINARY_SYMBOL_in_function_call10776	= { FOLLOW_BINARY_SYMBOL_in_function_call10776_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_field_length_in_function_call10778  */
static	ANTLR3_BITWORD FOLLOW_field_length_in_function_call10778_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000010000) };
static  ANTLR3_BITSET_LIST FOLLOW_field_length_in_function_call10778	= { FOLLOW_field_length_in_function_call10778_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_function_call10785  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_function_call10785_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_COMMA_SYMBOL_in_function_call10785	= { FOLLOW_COMMA_SYMBOL_in_function_call10785_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_function_call10787  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_function_call10787_bits[]	= { ANTLR3_UINT64_LIT(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_INTEGER_in_function_call10787	= { FOLLOW_INTEGER_in_function_call10787_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_function_call10789  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_function_call10789_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_COMMA_SYMBOL_in_function_call10789	= { FOLLOW_COMMA_SYMBOL_in_function_call10789_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_function_call10791  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_function_call10791_bits[]	= { ANTLR3_UINT64_LIT(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_INTEGER_in_function_call10791	= { FOLLOW_INTEGER_in_function_call10791_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_function_call10793  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_function_call10793_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_COMMA_SYMBOL_in_function_call10793	= { FOLLOW_COMMA_SYMBOL_in_function_call10793_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_function_call10795  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_function_call10795_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000010000) };
static  ANTLR3_BITSET_LIST FOLLOW_INTEGER_in_function_call10795	= { FOLLOW_INTEGER_in_function_call10795_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10803  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10803_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10803	= { FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10803_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_geometry_function_in_function_call10808  */
static	ANTLR3_BITWORD FOLLOW_geometry_function_in_function_call10808_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_geometry_function_in_function_call10808	= { FOLLOW_geometry_function_in_function_call10808_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_aggregate_function_in_function_call10813  */
static	ANTLR3_BITWORD FOLLOW_aggregate_function_in_function_call10813_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_aggregate_function_in_function_call10813	= { FOLLOW_aggregate_function_in_function_call10813_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_time_function_parameters10822  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_time_function_parameters10822_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000010000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_time_function_parameters10822	= { FOLLOW_OPEN_PAR_SYMBOL_in_time_function_parameters10822_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_fractional_precision_in_time_function_parameters10824  */
static	ANTLR3_BITWORD FOLLOW_fractional_precision_in_time_function_parameters10824_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000010000) };
static  ANTLR3_BITSET_LIST FOLLOW_fractional_precision_in_time_function_parameters10824	= { FOLLOW_fractional_precision_in_time_function_parameters10824_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_time_function_parameters10827  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_time_function_parameters10827_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_time_function_parameters10827	= { FOLLOW_CLOSE_PAR_SYMBOL_in_time_function_parameters10827_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_fractional_precision10840  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_fractional_precision10840_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_INTEGER_in_fractional_precision10840	= { FOLLOW_INTEGER_in_fractional_precision10840_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_LEVEL_SYMBOL_in_weight_string_levels10849  */
static	ANTLR3_BITWORD FOLLOW_LEVEL_SYMBOL_in_weight_string_levels10849_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_LEVEL_SYMBOL_in_weight_string_levels10849	= { FOLLOW_LEVEL_SYMBOL_in_weight_string_levels10849_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_weight_string_levels10858  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_weight_string_levels10858_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_INTEGER_in_weight_string_levels10858	= { FOLLOW_INTEGER_in_weight_string_levels10858_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MINUS_OPERATOR_in_weight_string_levels10860  */
static	ANTLR3_BITWORD FOLLOW_MINUS_OPERATOR_in_weight_string_levels10860_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_MINUS_OPERATOR_in_weight_string_levels10860	= { FOLLOW_MINUS_OPERATOR_in_weight_string_levels10860_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_weight_string_levels10862  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_weight_string_levels10862_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_INTEGER_in_weight_string_levels10862	= { FOLLOW_INTEGER_in_weight_string_levels10862_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_weight_string_level_list_item_in_weight_string_levels10869  */
static	ANTLR3_BITWORD FOLLOW_weight_string_level_list_item_in_weight_string_levels10869_bits[]	= { ANTLR3_UINT64_LIT(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) };
static  ANTLR3_BITSET_LIST FOLLOW_weight_string_level_list_item_in_weight_string_levels10869	= { FOLLOW_weight_string_level_list_item_in_weight_string_levels10869_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_weight_string_levels10872  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_weight_string_levels10872_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_COMMA_SYMBOL_in_weight_string_levels10872	= { FOLLOW_COMMA_SYMBOL_in_weight_string_levels10872_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_weight_string_level_list_item_in_weight_string_levels10874  */
static	ANTLR3_BITWORD FOLLOW_weight_string_level_list_item_in_weight_string_levels10874_bits[]	= { ANTLR3_UINT64_LIT(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) };
static  ANTLR3_BITSET_LIST FOLLOW_weight_string_level_list_item_in_weight_string_levels10874	= { FOLLOW_weight_string_level_list_item_in_weight_string_levels10874_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_weight_string_level_list_item10889  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_weight_string_level_list_item10889_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000200000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000080000000000), ANTLR3_UINT64_LIT(0x0200000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_INTEGER_in_weight_string_level_list_item10889	= { FOLLOW_INTEGER_in_weight_string_level_list_item10889_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_weight_string_level_list_item10898  */
static	ANTLR3_BITWORD FOLLOW_set_in_weight_string_level_list_item10898_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000200000000) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_weight_string_level_list_item10898	= { FOLLOW_set_in_weight_string_level_list_item10898_bits, 4	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_REVERSE_SYMBOL_in_weight_string_level_list_item10906  */
static	ANTLR3_BITWORD FOLLOW_REVERSE_SYMBOL_in_weight_string_level_list_item10906_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_REVERSE_SYMBOL_in_weight_string_level_list_item10906	= { FOLLOW_REVERSE_SYMBOL_in_weight_string_level_list_item10906_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_REVERSE_SYMBOL_in_weight_string_level_list_item10914  */
static	ANTLR3_BITWORD FOLLOW_REVERSE_SYMBOL_in_weight_string_level_list_item10914_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_REVERSE_SYMBOL_in_weight_string_level_list_item10914	= { FOLLOW_REVERSE_SYMBOL_in_weight_string_level_list_item10914_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_qualified_identifier_in_generic_function_call10928  */
static	ANTLR3_BITWORD FOLLOW_qualified_identifier_in_generic_function_call10928_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_qualified_identifier_in_generic_function_call10928	= { FOLLOW_qualified_identifier_in_generic_function_call10928_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_generic_function_call10930  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_generic_function_call10930_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98011181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180AC908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_generic_function_call10930	= { FOLLOW_OPEN_PAR_SYMBOL_in_generic_function_call10930_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_list_in_generic_function_call10932  */
static	ANTLR3_BITWORD FOLLOW_expression_list_in_generic_function_call10932_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000010000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_list_in_generic_function_call10932	= { FOLLOW_expression_list_in_generic_function_call10932_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_generic_function_call10935  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_generic_function_call10935_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_generic_function_call10935	= { FOLLOW_CLOSE_PAR_SYMBOL_in_generic_function_call10935_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TRIM_SYMBOL_in_trim_function10986  */
static	ANTLR3_BITWORD FOLLOW_TRIM_SYMBOL_in_trim_function10986_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_TRIM_SYMBOL_in_trim_function10986	= { FOLLOW_TRIM_SYMBOL_in_trim_function10986_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_trim_function10988  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_trim_function10988_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98001189), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001400028), ANTLR3_UINT64_LIT(0x06000320180AC908), ANTLR3_UINT64_LIT(0x801A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_trim_function10988	= { FOLLOW_OPEN_PAR_SYMBOL_in_trim_function10988_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_trim_function10995  */
static	ANTLR3_BITWORD FOLLOW_expression_in_trim_function10995_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000010000), ANTLR3_UINT64_LIT(0x0000000800000000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_trim_function10995	= { FOLLOW_expression_in_trim_function10995_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FROM_SYMBOL_in_trim_function10998  */
static	ANTLR3_BITWORD FOLLOW_FROM_SYMBOL_in_trim_function10998_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180AC908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_FROM_SYMBOL_in_trim_function10998	= { FOLLOW_FROM_SYMBOL_in_trim_function10998_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_trim_function11000  */
static	ANTLR3_BITWORD FOLLOW_expression_in_trim_function11000_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000010000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_trim_function11000	= { FOLLOW_expression_in_trim_function11000_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_LEADING_SYMBOL_in_trim_function11008  */
static	ANTLR3_BITWORD FOLLOW_LEADING_SYMBOL_in_trim_function11008_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40808C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180AC908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_LEADING_SYMBOL_in_trim_function11008	= { FOLLOW_LEADING_SYMBOL_in_trim_function11008_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_trim_function11010  */
static	ANTLR3_BITWORD FOLLOW_expression_in_trim_function11010_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000800000000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_trim_function11010	= { FOLLOW_expression_in_trim_function11010_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FROM_SYMBOL_in_trim_function11013  */
static	ANTLR3_BITWORD FOLLOW_FROM_SYMBOL_in_trim_function11013_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180AC908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_FROM_SYMBOL_in_trim_function11013	= { FOLLOW_FROM_SYMBOL_in_trim_function11013_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_trim_function11015  */
static	ANTLR3_BITWORD FOLLOW_expression_in_trim_function11015_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000010000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_trim_function11015	= { FOLLOW_expression_in_trim_function11015_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TRAILING_SYMBOL_in_trim_function11021  */
static	ANTLR3_BITWORD FOLLOW_TRAILING_SYMBOL_in_trim_function11021_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40808C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180AC908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_TRAILING_SYMBOL_in_trim_function11021	= { FOLLOW_TRAILING_SYMBOL_in_trim_function11021_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_trim_function11023  */
static	ANTLR3_BITWORD FOLLOW_expression_in_trim_function11023_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000800000000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_trim_function11023	= { FOLLOW_expression_in_trim_function11023_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FROM_SYMBOL_in_trim_function11026  */
static	ANTLR3_BITWORD FOLLOW_FROM_SYMBOL_in_trim_function11026_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180AC908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_FROM_SYMBOL_in_trim_function11026	= { FOLLOW_FROM_SYMBOL_in_trim_function11026_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_trim_function11028  */
static	ANTLR3_BITWORD FOLLOW_expression_in_trim_function11028_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000010000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_trim_function11028	= { FOLLOW_expression_in_trim_function11028_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BOTH_SYMBOL_in_trim_function11034  */
static	ANTLR3_BITWORD FOLLOW_BOTH_SYMBOL_in_trim_function11034_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40808C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180AC908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_BOTH_SYMBOL_in_trim_function11034	= { FOLLOW_BOTH_SYMBOL_in_trim_function11034_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_trim_function11036  */
static	ANTLR3_BITWORD FOLLOW_expression_in_trim_function11036_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000800000000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_trim_function11036	= { FOLLOW_expression_in_trim_function11036_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FROM_SYMBOL_in_trim_function11039  */
static	ANTLR3_BITWORD FOLLOW_FROM_SYMBOL_in_trim_function11039_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180AC908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_FROM_SYMBOL_in_trim_function11039	= { FOLLOW_FROM_SYMBOL_in_trim_function11039_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_trim_function11041  */
static	ANTLR3_BITWORD FOLLOW_expression_in_trim_function11041_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000010000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_trim_function11041	= { FOLLOW_expression_in_trim_function11041_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_trim_function11047  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_trim_function11047_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_trim_function11047	= { FOLLOW_CLOSE_PAR_SYMBOL_in_trim_function11047_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SUBSTRING_SYMBOL_in_substring_function11056  */
static	ANTLR3_BITWORD FOLLOW_SUBSTRING_SYMBOL_in_substring_function11056_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_SUBSTRING_SYMBOL_in_substring_function11056	= { FOLLOW_SUBSTRING_SYMBOL_in_substring_function11056_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_substring_function11058  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_substring_function11058_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180AC908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_substring_function11058	= { FOLLOW_OPEN_PAR_SYMBOL_in_substring_function11058_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_substring_function11060  */
static	ANTLR3_BITWORD FOLLOW_expression_in_substring_function11060_bits[]	= { ANTLR3_UINT64_LIT(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), ANTLR3_UINT64_LIT(0x0000000800000000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_substring_function11060	= { FOLLOW_expression_in_substring_function11060_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_substring_function11067  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_substring_function11067_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180AC908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_substring_function11067	= { FOLLOW_COMMA_SYMBOL_in_substring_function11067_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_substring_function11069  */
static	ANTLR3_BITWORD FOLLOW_expression_in_substring_function11069_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000210000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_substring_function11069	= { FOLLOW_expression_in_substring_function11069_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_substring_function11072  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_substring_function11072_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180AC908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_substring_function11072	= { FOLLOW_COMMA_SYMBOL_in_substring_function11072_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_substring_function11074  */
static	ANTLR3_BITWORD FOLLOW_expression_in_substring_function11074_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000010000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_substring_function11074	= { FOLLOW_expression_in_substring_function11074_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FROM_SYMBOL_in_substring_function11082  */
static	ANTLR3_BITWORD FOLLOW_FROM_SYMBOL_in_substring_function11082_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180AC908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_FROM_SYMBOL_in_substring_function11082	= { FOLLOW_FROM_SYMBOL_in_substring_function11082_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_substring_function11084  */
static	ANTLR3_BITWORD FOLLOW_expression_in_substring_function11084_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000010000), ANTLR3_UINT64_LIT(0x0000000200000000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_substring_function11084	= { FOLLOW_expression_in_substring_function11084_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FOR_SYMBOL_in_substring_function11087  */
static	ANTLR3_BITWORD FOLLOW_FOR_SYMBOL_in_substring_function11087_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180AC908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_FOR_SYMBOL_in_substring_function11087	= { FOLLOW_FOR_SYMBOL_in_substring_function11087_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_substring_function11089  */
static	ANTLR3_BITWORD FOLLOW_expression_in_substring_function11089_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000010000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_substring_function11089	= { FOLLOW_expression_in_substring_function11089_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_substring_function11097  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_substring_function11097_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_substring_function11097	= { FOLLOW_CLOSE_PAR_SYMBOL_in_substring_function11097_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CONTAINS_SYMBOL_in_geometry_function11107  */
static	ANTLR3_BITWORD FOLLOW_CONTAINS_SYMBOL_in_geometry_function11107_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_CONTAINS_SYMBOL_in_geometry_function11107	= { FOLLOW_CONTAINS_SYMBOL_in_geometry_function11107_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_geometry_function11109  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_geometry_function11109_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180AC908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_geometry_function11109	= { FOLLOW_OPEN_PAR_SYMBOL_in_geometry_function11109_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_geometry_function11111  */
static	ANTLR3_BITWORD FOLLOW_expression_in_geometry_function11111_bits[]	= { ANTLR3_UINT64_LIT(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_expression_in_geometry_function11111	= { FOLLOW_expression_in_geometry_function11111_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_geometry_function11113  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_geometry_function11113_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180AC908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_geometry_function11113	= { FOLLOW_COMMA_SYMBOL_in_geometry_function11113_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_geometry_function11115  */
static	ANTLR3_BITWORD FOLLOW_expression_in_geometry_function11115_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000010000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_geometry_function11115	= { FOLLOW_expression_in_geometry_function11115_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_geometry_function11117  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_geometry_function11117_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_geometry_function11117	= { FOLLOW_CLOSE_PAR_SYMBOL_in_geometry_function11117_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_GEOMETRYCOLLECTION_SYMBOL_in_geometry_function11122  */
static	ANTLR3_BITWORD FOLLOW_GEOMETRYCOLLECTION_SYMBOL_in_geometry_function11122_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_GEOMETRYCOLLECTION_SYMBOL_in_geometry_function11122	= { FOLLOW_GEOMETRYCOLLECTION_SYMBOL_in_geometry_function11122_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_list_with_parentheses_in_geometry_function11124  */
static	ANTLR3_BITWORD FOLLOW_expression_list_with_parentheses_in_geometry_function11124_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_list_with_parentheses_in_geometry_function11124	= { FOLLOW_expression_list_with_parentheses_in_geometry_function11124_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_LINESTRING_SYMBOL_in_geometry_function11129  */
static	ANTLR3_BITWORD FOLLOW_LINESTRING_SYMBOL_in_geometry_function11129_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_LINESTRING_SYMBOL_in_geometry_function11129	= { FOLLOW_LINESTRING_SYMBOL_in_geometry_function11129_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_list_with_parentheses_in_geometry_function11131  */
static	ANTLR3_BITWORD FOLLOW_expression_list_with_parentheses_in_geometry_function11131_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_list_with_parentheses_in_geometry_function11131	= { FOLLOW_expression_list_with_parentheses_in_geometry_function11131_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MULTILINESTRING_SYMBOL_in_geometry_function11136  */
static	ANTLR3_BITWORD FOLLOW_MULTILINESTRING_SYMBOL_in_geometry_function11136_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_MULTILINESTRING_SYMBOL_in_geometry_function11136	= { FOLLOW_MULTILINESTRING_SYMBOL_in_geometry_function11136_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_list_with_parentheses_in_geometry_function11138  */
static	ANTLR3_BITWORD FOLLOW_expression_list_with_parentheses_in_geometry_function11138_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_list_with_parentheses_in_geometry_function11138	= { FOLLOW_expression_list_with_parentheses_in_geometry_function11138_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MULTIPOINT_SYMBOL_in_geometry_function11143  */
static	ANTLR3_BITWORD FOLLOW_MULTIPOINT_SYMBOL_in_geometry_function11143_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_MULTIPOINT_SYMBOL_in_geometry_function11143	= { FOLLOW_MULTIPOINT_SYMBOL_in_geometry_function11143_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_list_with_parentheses_in_geometry_function11145  */
static	ANTLR3_BITWORD FOLLOW_expression_list_with_parentheses_in_geometry_function11145_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_list_with_parentheses_in_geometry_function11145	= { FOLLOW_expression_list_with_parentheses_in_geometry_function11145_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MULTIPOLYGON_SYMBOL_in_geometry_function11150  */
static	ANTLR3_BITWORD FOLLOW_MULTIPOLYGON_SYMBOL_in_geometry_function11150_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_MULTIPOLYGON_SYMBOL_in_geometry_function11150	= { FOLLOW_MULTIPOLYGON_SYMBOL_in_geometry_function11150_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_list_with_parentheses_in_geometry_function11152  */
static	ANTLR3_BITWORD FOLLOW_expression_list_with_parentheses_in_geometry_function11152_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_list_with_parentheses_in_geometry_function11152	= { FOLLOW_expression_list_with_parentheses_in_geometry_function11152_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_POINT_SYMBOL_in_geometry_function11157  */
static	ANTLR3_BITWORD FOLLOW_POINT_SYMBOL_in_geometry_function11157_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_POINT_SYMBOL_in_geometry_function11157	= { FOLLOW_POINT_SYMBOL_in_geometry_function11157_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_geometry_function11159  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_geometry_function11159_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180AC908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_geometry_function11159	= { FOLLOW_OPEN_PAR_SYMBOL_in_geometry_function11159_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_geometry_function11161  */
static	ANTLR3_BITWORD FOLLOW_expression_in_geometry_function11161_bits[]	= { ANTLR3_UINT64_LIT(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_expression_in_geometry_function11161	= { FOLLOW_expression_in_geometry_function11161_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_geometry_function11163  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_geometry_function11163_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180AC908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_geometry_function11163	= { FOLLOW_COMMA_SYMBOL_in_geometry_function11163_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_geometry_function11165  */
static	ANTLR3_BITWORD FOLLOW_expression_in_geometry_function11165_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000010000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_geometry_function11165	= { FOLLOW_expression_in_geometry_function11165_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_geometry_function11167  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_geometry_function11167_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_geometry_function11167	= { FOLLOW_CLOSE_PAR_SYMBOL_in_geometry_function11167_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_POLYGON_SYMBOL_in_geometry_function11172  */
static	ANTLR3_BITWORD FOLLOW_POLYGON_SYMBOL_in_geometry_function11172_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_POLYGON_SYMBOL_in_geometry_function11172	= { FOLLOW_POLYGON_SYMBOL_in_geometry_function11172_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_list_with_parentheses_in_geometry_function11174  */
static	ANTLR3_BITWORD FOLLOW_expression_list_with_parentheses_in_geometry_function11174_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_list_with_parentheses_in_geometry_function11174	= { FOLLOW_expression_list_with_parentheses_in_geometry_function11174_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_AVG_SYMBOL_in_aggregate_function11183  */
static	ANTLR3_BITWORD FOLLOW_AVG_SYMBOL_in_aggregate_function11183_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_AVG_SYMBOL_in_aggregate_function11183	= { FOLLOW_AVG_SYMBOL_in_aggregate_function11183_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function11185  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function11185_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x40000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180AC908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function11185	= { FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function11185_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DISTINCT_SYMBOL_in_aggregate_function11187  */
static	ANTLR3_BITWORD FOLLOW_DISTINCT_SYMBOL_in_aggregate_function11187_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180AC908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_DISTINCT_SYMBOL_in_aggregate_function11187	= { FOLLOW_DISTINCT_SYMBOL_in_aggregate_function11187_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_aggregate_function11190  */
static	ANTLR3_BITWORD FOLLOW_expression_in_aggregate_function11190_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000010000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_aggregate_function11190	= { FOLLOW_expression_in_aggregate_function11190_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function11192  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function11192_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function11192	= { FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function11192_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BIT_AND_SYMBOL_in_aggregate_function11197  */
static	ANTLR3_BITWORD FOLLOW_BIT_AND_SYMBOL_in_aggregate_function11197_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_BIT_AND_SYMBOL_in_aggregate_function11197	= { FOLLOW_BIT_AND_SYMBOL_in_aggregate_function11197_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function11199  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function11199_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180AC908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function11199	= { FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function11199_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_aggregate_function11201  */
static	ANTLR3_BITWORD FOLLOW_expression_in_aggregate_function11201_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000010000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_aggregate_function11201	= { FOLLOW_expression_in_aggregate_function11201_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function11203  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function11203_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function11203	= { FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function11203_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BIT_OR_SYMBOL_in_aggregate_function11208  */
static	ANTLR3_BITWORD FOLLOW_BIT_OR_SYMBOL_in_aggregate_function11208_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_BIT_OR_SYMBOL_in_aggregate_function11208	= { FOLLOW_BIT_OR_SYMBOL_in_aggregate_function11208_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function11210  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function11210_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180AC908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function11210	= { FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function11210_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_aggregate_function11212  */
static	ANTLR3_BITWORD FOLLOW_expression_in_aggregate_function11212_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000010000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_aggregate_function11212	= { FOLLOW_expression_in_aggregate_function11212_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function11214  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function11214_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function11214	= { FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function11214_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BIT_XOR_SYMBOL_in_aggregate_function11219  */
static	ANTLR3_BITWORD FOLLOW_BIT_XOR_SYMBOL_in_aggregate_function11219_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_BIT_XOR_SYMBOL_in_aggregate_function11219	= { FOLLOW_BIT_XOR_SYMBOL_in_aggregate_function11219_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function11221  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function11221_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180AC908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function11221	= { FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function11221_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_aggregate_function11223  */
static	ANTLR3_BITWORD FOLLOW_expression_in_aggregate_function11223_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000010000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_aggregate_function11223	= { FOLLOW_expression_in_aggregate_function11223_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function11225  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function11225_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function11225	= { FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function11225_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_count_function_in_aggregate_function11230  */
static	ANTLR3_BITWORD FOLLOW_count_function_in_aggregate_function11230_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_count_function_in_aggregate_function11230	= { FOLLOW_count_function_in_aggregate_function11230_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MIN_SYMBOL_in_aggregate_function11235  */
static	ANTLR3_BITWORD FOLLOW_MIN_SYMBOL_in_aggregate_function11235_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_MIN_SYMBOL_in_aggregate_function11235	= { FOLLOW_MIN_SYMBOL_in_aggregate_function11235_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function11237  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function11237_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x40000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180AC908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function11237	= { FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function11237_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DISTINCT_SYMBOL_in_aggregate_function11239  */
static	ANTLR3_BITWORD FOLLOW_DISTINCT_SYMBOL_in_aggregate_function11239_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180AC908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_DISTINCT_SYMBOL_in_aggregate_function11239	= { FOLLOW_DISTINCT_SYMBOL_in_aggregate_function11239_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_aggregate_function11242  */
static	ANTLR3_BITWORD FOLLOW_expression_in_aggregate_function11242_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000010000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_aggregate_function11242	= { FOLLOW_expression_in_aggregate_function11242_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function11244  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function11244_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function11244	= { FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function11244_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MAX_SYMBOL_in_aggregate_function11249  */
static	ANTLR3_BITWORD FOLLOW_MAX_SYMBOL_in_aggregate_function11249_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_MAX_SYMBOL_in_aggregate_function11249	= { FOLLOW_MAX_SYMBOL_in_aggregate_function11249_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function11251  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function11251_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x40000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180AC908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function11251	= { FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function11251_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DISTINCT_SYMBOL_in_aggregate_function11253  */
static	ANTLR3_BITWORD FOLLOW_DISTINCT_SYMBOL_in_aggregate_function11253_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180AC908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_DISTINCT_SYMBOL_in_aggregate_function11253	= { FOLLOW_DISTINCT_SYMBOL_in_aggregate_function11253_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_aggregate_function11256  */
static	ANTLR3_BITWORD FOLLOW_expression_in_aggregate_function11256_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000010000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_aggregate_function11256	= { FOLLOW_expression_in_aggregate_function11256_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function11258  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function11258_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function11258	= { FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function11258_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_STD_SYMBOL_in_aggregate_function11263  */
static	ANTLR3_BITWORD FOLLOW_STD_SYMBOL_in_aggregate_function11263_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_STD_SYMBOL_in_aggregate_function11263	= { FOLLOW_STD_SYMBOL_in_aggregate_function11263_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function11265  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function11265_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180AC908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function11265	= { FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function11265_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_aggregate_function11267  */
static	ANTLR3_BITWORD FOLLOW_expression_in_aggregate_function11267_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000010000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_aggregate_function11267	= { FOLLOW_expression_in_aggregate_function11267_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function11269  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function11269_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function11269	= { FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function11269_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_VARIANCE_SYMBOL_in_aggregate_function11274  */
static	ANTLR3_BITWORD FOLLOW_VARIANCE_SYMBOL_in_aggregate_function11274_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_VARIANCE_SYMBOL_in_aggregate_function11274	= { FOLLOW_VARIANCE_SYMBOL_in_aggregate_function11274_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function11276  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function11276_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180AC908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function11276	= { FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function11276_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_aggregate_function11278  */
static	ANTLR3_BITWORD FOLLOW_expression_in_aggregate_function11278_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000010000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_aggregate_function11278	= { FOLLOW_expression_in_aggregate_function11278_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function11280  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function11280_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function11280	= { FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function11280_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_STDDEV_SAMP_SYMBOL_in_aggregate_function11285  */
static	ANTLR3_BITWORD FOLLOW_STDDEV_SAMP_SYMBOL_in_aggregate_function11285_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_STDDEV_SAMP_SYMBOL_in_aggregate_function11285	= { FOLLOW_STDDEV_SAMP_SYMBOL_in_aggregate_function11285_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function11287  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function11287_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180AC908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function11287	= { FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function11287_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_aggregate_function11289  */
static	ANTLR3_BITWORD FOLLOW_expression_in_aggregate_function11289_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000010000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_aggregate_function11289	= { FOLLOW_expression_in_aggregate_function11289_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function11291  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function11291_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function11291	= { FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function11291_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_VAR_SAMP_SYMBOL_in_aggregate_function11296  */
static	ANTLR3_BITWORD FOLLOW_VAR_SAMP_SYMBOL_in_aggregate_function11296_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_VAR_SAMP_SYMBOL_in_aggregate_function11296	= { FOLLOW_VAR_SAMP_SYMBOL_in_aggregate_function11296_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function11298  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function11298_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180AC908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function11298	= { FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function11298_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_aggregate_function11300  */
static	ANTLR3_BITWORD FOLLOW_expression_in_aggregate_function11300_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000010000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_aggregate_function11300	= { FOLLOW_expression_in_aggregate_function11300_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function11302  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function11302_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function11302	= { FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function11302_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SUM_SYMBOL_in_aggregate_function11307  */
static	ANTLR3_BITWORD FOLLOW_SUM_SYMBOL_in_aggregate_function11307_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_SUM_SYMBOL_in_aggregate_function11307	= { FOLLOW_SUM_SYMBOL_in_aggregate_function11307_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function11309  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function11309_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x40000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180AC908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function11309	= { FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function11309_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DISTINCT_SYMBOL_in_aggregate_function11311  */
static	ANTLR3_BITWORD FOLLOW_DISTINCT_SYMBOL_in_aggregate_function11311_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180AC908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_DISTINCT_SYMBOL_in_aggregate_function11311	= { FOLLOW_DISTINCT_SYMBOL_in_aggregate_function11311_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_aggregate_function11314  */
static	ANTLR3_BITWORD FOLLOW_expression_in_aggregate_function11314_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000010000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_aggregate_function11314	= { FOLLOW_expression_in_aggregate_function11314_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function11316  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function11316_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function11316	= { FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function11316_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_GROUP_CONCAT_SYMBOL_in_aggregate_function11321  */
static	ANTLR3_BITWORD FOLLOW_GROUP_CONCAT_SYMBOL_in_aggregate_function11321_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_GROUP_CONCAT_SYMBOL_in_aggregate_function11321	= { FOLLOW_GROUP_CONCAT_SYMBOL_in_aggregate_function11321_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function11323  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function11323_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x40000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180AC908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function11323	= { FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function11323_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DISTINCT_SYMBOL_in_aggregate_function11325  */
static	ANTLR3_BITWORD FOLLOW_DISTINCT_SYMBOL_in_aggregate_function11325_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180AC908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_DISTINCT_SYMBOL_in_aggregate_function11325	= { FOLLOW_DISTINCT_SYMBOL_in_aggregate_function11325_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_list_in_aggregate_function11328  */
static	ANTLR3_BITWORD FOLLOW_expression_list_in_aggregate_function11328_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000010000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000), ANTLR3_UINT64_LIT(0x0000000000000200) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_list_in_aggregate_function11328	= { FOLLOW_expression_list_in_aggregate_function11328_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_order_by_clause_in_aggregate_function11330  */
static	ANTLR3_BITWORD FOLLOW_order_by_clause_in_aggregate_function11330_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000010000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000200) };
static  ANTLR3_BITSET_LIST FOLLOW_order_by_clause_in_aggregate_function11330	= { FOLLOW_order_by_clause_in_aggregate_function11330_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SEPARATOR_SYMBOL_in_aggregate_function11334  */
static	ANTLR3_BITWORD FOLLOW_SEPARATOR_SYMBOL_in_aggregate_function11334_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_SEPARATOR_SYMBOL_in_aggregate_function11334	= { FOLLOW_SEPARATOR_SYMBOL_in_aggregate_function11334_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_aggregate_function11336  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_aggregate_function11336_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000010000) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_aggregate_function11336	= { FOLLOW_string_literal_in_aggregate_function11336_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function11340  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function11340_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function11340	= { FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function11340_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COUNT_SYMBOL_in_count_function11349  */
static	ANTLR3_BITWORD FOLLOW_COUNT_SYMBOL_in_count_function11349_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_COUNT_SYMBOL_in_count_function11349	= { FOLLOW_COUNT_SYMBOL_in_count_function11349_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_count_function11351  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_count_function11351_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45804FFFFFFFFF), ANTLR3_UINT64_LIT(0x40000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180AC928), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_count_function11351	= { FOLLOW_OPEN_PAR_SYMBOL_in_count_function11351_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ALL_SYMBOL_in_count_function11358  */
static	ANTLR3_BITWORD FOLLOW_ALL_SYMBOL_in_count_function11358_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_ALL_SYMBOL_in_count_function11358	= { FOLLOW_ALL_SYMBOL_in_count_function11358_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MULT_OPERATOR_in_count_function11361  */
static	ANTLR3_BITWORD FOLLOW_MULT_OPERATOR_in_count_function11361_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000010000) };
static  ANTLR3_BITSET_LIST FOLLOW_MULT_OPERATOR_in_count_function11361	= { FOLLOW_MULT_OPERATOR_in_count_function11361_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_count_function11363  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_count_function11363_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_count_function11363	= { FOLLOW_CLOSE_PAR_SYMBOL_in_count_function11363_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DISTINCT_SYMBOL_in_count_function11369  */
static	ANTLR3_BITWORD FOLLOW_DISTINCT_SYMBOL_in_count_function11369_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180AC908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_DISTINCT_SYMBOL_in_count_function11369	= { FOLLOW_DISTINCT_SYMBOL_in_count_function11369_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_list_in_count_function11372  */
static	ANTLR3_BITWORD FOLLOW_expression_list_in_count_function11372_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000010000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_list_in_count_function11372	= { FOLLOW_expression_list_in_count_function11372_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_count_function11374  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_count_function11374_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_count_function11374	= { FOLLOW_CLOSE_PAR_SYMBOL_in_count_function11374_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_aliased_expression_in_aliased_expression_list11386  */
static	ANTLR3_BITWORD FOLLOW_aliased_expression_in_aliased_expression_list11386_bits[]	= { ANTLR3_UINT64_LIT(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) };
static  ANTLR3_BITSET_LIST FOLLOW_aliased_expression_in_aliased_expression_list11386	= { FOLLOW_aliased_expression_in_aliased_expression_list11386_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_aliased_expression_list11389  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_aliased_expression_list11389_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180AC908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_aliased_expression_list11389	= { FOLLOW_COMMA_SYMBOL_in_aliased_expression_list11389_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_aliased_expression_in_aliased_expression_list11391  */
static	ANTLR3_BITWORD FOLLOW_aliased_expression_in_aliased_expression_list11391_bits[]	= { ANTLR3_UINT64_LIT(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) };
static  ANTLR3_BITSET_LIST FOLLOW_aliased_expression_in_aliased_expression_list11391	= { FOLLOW_aliased_expression_in_aliased_expression_list11391_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_aliased_expression11402  */
static	ANTLR3_BITWORD FOLLOW_expression_in_aliased_expression11402_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF2), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004400FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_aliased_expression11402	= { FOLLOW_expression_in_aliased_expression11402_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_select_alias_in_aliased_expression11404  */
static	ANTLR3_BITWORD FOLLOW_select_alias_in_aliased_expression11404_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_select_alias_in_aliased_expression11404	= { FOLLOW_select_alias_in_aliased_expression11404_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_user_variable_in_variable11425  */
static	ANTLR3_BITWORD FOLLOW_user_variable_in_variable11425_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), 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_user_variable_in_variable11425	= { FOLLOW_user_variable_in_variable11425_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ASSIGN_OPERATOR_in_variable11428  */
static	ANTLR3_BITWORD FOLLOW_ASSIGN_OPERATOR_in_variable11428_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180AC908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_ASSIGN_OPERATOR_in_variable11428	= { FOLLOW_ASSIGN_OPERATOR_in_variable11428_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_variable11431  */
static	ANTLR3_BITWORD FOLLOW_expression_in_variable11431_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_variable11431	= { FOLLOW_expression_in_variable11431_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_system_variable_in_variable11438  */
static	ANTLR3_BITWORD FOLLOW_system_variable_in_variable11438_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_system_variable_in_variable11438	= { FOLLOW_system_variable_in_variable11438_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_AT_SIGN_SYMBOL_in_user_variable11447  */
static	ANTLR3_BITWORD FOLLOW_AT_SIGN_SYMBOL_in_user_variable11447_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_AT_SIGN_SYMBOL_in_user_variable11447	= { FOLLOW_AT_SIGN_SYMBOL_in_user_variable11447_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_text_or_identifier_in_user_variable11449  */
static	ANTLR3_BITWORD FOLLOW_text_or_identifier_in_user_variable11449_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_text_or_identifier_in_user_variable11449	= { FOLLOW_text_or_identifier_in_user_variable11449_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_AT_AT_SIGN_SYMBOL_in_system_variable11459  */
static	ANTLR3_BITWORD FOLLOW_AT_AT_SIGN_SYMBOL_in_system_variable11459_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0020000000000000), ANTLR3_UINT64_LIT(0x0010000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_AT_AT_SIGN_SYMBOL_in_system_variable11459	= { FOLLOW_AT_AT_SIGN_SYMBOL_in_system_variable11459_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_option_type_in_system_variable11475  */
static	ANTLR3_BITWORD FOLLOW_option_type_in_system_variable11475_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_option_type_in_system_variable11475	= { FOLLOW_option_type_in_system_variable11475_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DOT_SYMBOL_in_system_variable11477  */
static	ANTLR3_BITWORD FOLLOW_DOT_SYMBOL_in_system_variable11477_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0020000000000000), ANTLR3_UINT64_LIT(0x0010000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_DOT_SYMBOL_in_system_variable11477	= { FOLLOW_DOT_SYMBOL_in_system_variable11477_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_variable_name_in_system_variable11481  */
static	ANTLR3_BITWORD FOLLOW_variable_name_in_system_variable11481_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_variable_name_in_system_variable11481	= { FOLLOW_variable_name_in_system_variable11481_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_variable_name11490  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_variable_name11490_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_variable_name11490	= { FOLLOW_identifier_in_variable_name11490_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DOT_SYMBOL_in_variable_name11493  */
static	ANTLR3_BITWORD FOLLOW_DOT_SYMBOL_in_variable_name11493_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_DOT_SYMBOL_in_variable_name11493	= { FOLLOW_DOT_SYMBOL_in_variable_name11493_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_variable_name11495  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_variable_name11495_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_variable_name11495	= { FOLLOW_identifier_in_variable_name11495_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DEFAULT_SYMBOL_in_variable_name11506  */
static	ANTLR3_BITWORD FOLLOW_DEFAULT_SYMBOL_in_variable_name11506_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_DEFAULT_SYMBOL_in_variable_name11506	= { FOLLOW_DEFAULT_SYMBOL_in_variable_name11506_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DOT_SYMBOL_in_variable_name11508  */
static	ANTLR3_BITWORD FOLLOW_DOT_SYMBOL_in_variable_name11508_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_DOT_SYMBOL_in_variable_name11508	= { FOLLOW_DOT_SYMBOL_in_variable_name11508_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_variable_name11510  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_variable_name11510_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_variable_name11510	= { FOLLOW_identifier_in_variable_name11510_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MATCH_SYMBOL_in_match_expression11519  */
static	ANTLR3_BITWORD FOLLOW_MATCH_SYMBOL_in_match_expression11519_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_MATCH_SYMBOL_in_match_expression11519	= { FOLLOW_MATCH_SYMBOL_in_match_expression11519_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_match_expression11522  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_match_expression11522_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000012) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_match_expression11522	= { FOLLOW_OPEN_PAR_SYMBOL_in_match_expression11522_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_field_name_list_in_match_expression11524  */
static	ANTLR3_BITWORD FOLLOW_field_name_list_in_match_expression11524_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000010000) };
static  ANTLR3_BITSET_LIST FOLLOW_field_name_list_in_match_expression11524	= { FOLLOW_field_name_list_in_match_expression11524_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_match_expression11526  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_match_expression11526_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000080) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_match_expression11526	= { FOLLOW_CLOSE_PAR_SYMBOL_in_match_expression11526_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_AGAINST_SYMBOL_in_match_expression11528  */
static	ANTLR3_BITWORD FOLLOW_AGAINST_SYMBOL_in_match_expression11528_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_AGAINST_SYMBOL_in_match_expression11528	= { FOLLOW_AGAINST_SYMBOL_in_match_expression11528_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_match_expression11530  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_match_expression11530_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180A8908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_match_expression11530	= { FOLLOW_OPEN_PAR_SYMBOL_in_match_expression11530_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_bitwise_or_expression_in_match_expression11532  */
static	ANTLR3_BITWORD FOLLOW_bitwise_or_expression_in_match_expression11532_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000010000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000001000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_bitwise_or_expression_in_match_expression11532	= { FOLLOW_bitwise_or_expression_in_match_expression11532_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_IN_SYMBOL_in_match_expression11541  */
static	ANTLR3_BITWORD FOLLOW_IN_SYMBOL_in_match_expression11541_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000200000) };
static  ANTLR3_BITSET_LIST FOLLOW_IN_SYMBOL_in_match_expression11541	= { FOLLOW_IN_SYMBOL_in_match_expression11541_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BOOLEAN_SYMBOL_in_match_expression11543  */
static	ANTLR3_BITWORD FOLLOW_BOOLEAN_SYMBOL_in_match_expression11543_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_BOOLEAN_SYMBOL_in_match_expression11543	= { FOLLOW_BOOLEAN_SYMBOL_in_match_expression11543_bits, 3	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MODE_SYMBOL_in_match_expression11545  */
static	ANTLR3_BITWORD FOLLOW_MODE_SYMBOL_in_match_expression11545_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000010000) };
static  ANTLR3_BITSET_LIST FOLLOW_MODE_SYMBOL_in_match_expression11545	= { FOLLOW_MODE_SYMBOL_in_match_expression11545_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_IN_SYMBOL_in_match_expression11553  */
static	ANTLR3_BITWORD FOLLOW_IN_SYMBOL_in_match_expression11553_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_IN_SYMBOL_in_match_expression11553	= { FOLLOW_IN_SYMBOL_in_match_expression11553_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_NATURAL_SYMBOL_in_match_expression11555  */
static	ANTLR3_BITWORD FOLLOW_NATURAL_SYMBOL_in_match_expression11555_bits[]	= { 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_NATURAL_SYMBOL_in_match_expression11555	= { FOLLOW_NATURAL_SYMBOL_in_match_expression11555_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_LANGUAGE_SYMBOL_in_match_expression11557  */
static	ANTLR3_BITWORD FOLLOW_LANGUAGE_SYMBOL_in_match_expression11557_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_LANGUAGE_SYMBOL_in_match_expression11557	= { FOLLOW_LANGUAGE_SYMBOL_in_match_expression11557_bits, 3	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MODE_SYMBOL_in_match_expression11559  */
static	ANTLR3_BITWORD FOLLOW_MODE_SYMBOL_in_match_expression11559_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000010000), 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_MODE_SYMBOL_in_match_expression11559	= { FOLLOW_MODE_SYMBOL_in_match_expression11559_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_WITH_SYMBOL_in_match_expression11564  */
static	ANTLR3_BITWORD FOLLOW_WITH_SYMBOL_in_match_expression11564_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000002000) };
static  ANTLR3_BITSET_LIST FOLLOW_WITH_SYMBOL_in_match_expression11564	= { FOLLOW_WITH_SYMBOL_in_match_expression11564_bits, 4	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_QUERY_SYMBOL_in_match_expression11566  */
static	ANTLR3_BITWORD FOLLOW_QUERY_SYMBOL_in_match_expression11566_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000020000) };
static  ANTLR3_BITSET_LIST FOLLOW_QUERY_SYMBOL_in_match_expression11566	= { FOLLOW_QUERY_SYMBOL_in_match_expression11566_bits, 2	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EXPANSION_SYMBOL_in_match_expression11568  */
static	ANTLR3_BITWORD FOLLOW_EXPANSION_SYMBOL_in_match_expression11568_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000010000) };
static  ANTLR3_BITSET_LIST FOLLOW_EXPANSION_SYMBOL_in_match_expression11568	= { FOLLOW_EXPANSION_SYMBOL_in_match_expression11568_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_match_expression11578  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_match_expression11578_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_match_expression11578	= { FOLLOW_CLOSE_PAR_SYMBOL_in_match_expression11578_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CASE_SYMBOL_in_case_expression11588  */
static	ANTLR3_BITWORD FOLLOW_CASE_SYMBOL_in_case_expression11588_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180AC908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000082478026) };
static  ANTLR3_BITSET_LIST FOLLOW_CASE_SYMBOL_in_case_expression11588	= { FOLLOW_CASE_SYMBOL_in_case_expression11588_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_case_expression11590  */
static	ANTLR3_BITWORD FOLLOW_expression_in_case_expression11590_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_case_expression11590	= { FOLLOW_expression_in_case_expression11590_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_when_expression_in_case_expression11594  */
static	ANTLR3_BITWORD FOLLOW_when_expression_in_case_expression11594_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0400000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_when_expression_in_case_expression11594	= { FOLLOW_when_expression_in_case_expression11594_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_then_expression_in_case_expression11596  */
static	ANTLR3_BITWORD FOLLOW_then_expression_in_case_expression11596_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x8000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000400), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_then_expression_in_case_expression11596	= { FOLLOW_then_expression_in_case_expression11596_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_else_expression_in_case_expression11600  */
static	ANTLR3_BITWORD FOLLOW_else_expression_in_case_expression11600_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_else_expression_in_case_expression11600	= { FOLLOW_else_expression_in_case_expression11600_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_END_SYMBOL_in_case_expression11603  */
static	ANTLR3_BITWORD FOLLOW_END_SYMBOL_in_case_expression11603_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_END_SYMBOL_in_case_expression11603	= { FOLLOW_END_SYMBOL_in_case_expression11603_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_WHEN_SYMBOL_in_when_expression11612  */
static	ANTLR3_BITWORD FOLLOW_WHEN_SYMBOL_in_when_expression11612_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180AC908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_WHEN_SYMBOL_in_when_expression11612	= { FOLLOW_WHEN_SYMBOL_in_when_expression11612_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_when_expression11615  */
static	ANTLR3_BITWORD FOLLOW_expression_in_when_expression11615_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_when_expression11615	= { FOLLOW_expression_in_when_expression11615_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_THEN_SYMBOL_in_then_expression11624  */
static	ANTLR3_BITWORD FOLLOW_THEN_SYMBOL_in_then_expression11624_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180AC908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_THEN_SYMBOL_in_then_expression11624	= { FOLLOW_THEN_SYMBOL_in_then_expression11624_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_then_expression11627  */
static	ANTLR3_BITWORD FOLLOW_expression_in_then_expression11627_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_then_expression11627	= { FOLLOW_expression_in_then_expression11627_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ELSE_SYMBOL_in_else_expression11636  */
static	ANTLR3_BITWORD FOLLOW_ELSE_SYMBOL_in_else_expression11636_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180AC908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_ELSE_SYMBOL_in_else_expression11636	= { FOLLOW_ELSE_SYMBOL_in_else_expression11636_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_else_expression11639  */
static	ANTLR3_BITWORD FOLLOW_expression_in_else_expression11639_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_else_expression11639	= { FOLLOW_expression_in_else_expression11639_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BINARY_SYMBOL_in_cast_expression11648  */
static	ANTLR3_BITWORD FOLLOW_BINARY_SYMBOL_in_cast_expression11648_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xC345800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4028000001000008), ANTLR3_UINT64_LIT(0x06000220180A8108), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_BINARY_SYMBOL_in_cast_expression11648	= { FOLLOW_BINARY_SYMBOL_in_cast_expression11648_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_primary_in_cast_expression11650  */
static	ANTLR3_BITWORD FOLLOW_primary_in_cast_expression11650_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_primary_in_cast_expression11650	= { FOLLOW_primary_in_cast_expression11650_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CAST_SYMBOL_in_cast_expression11655  */
static	ANTLR3_BITWORD FOLLOW_CAST_SYMBOL_in_cast_expression11655_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_CAST_SYMBOL_in_cast_expression11655	= { FOLLOW_CAST_SYMBOL_in_cast_expression11655_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_cast_expression11657  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_cast_expression11657_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180AC908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_cast_expression11657	= { FOLLOW_OPEN_PAR_SYMBOL_in_cast_expression11657_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_cast_expression11659  */
static	ANTLR3_BITWORD FOLLOW_expression_in_cast_expression11659_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000400000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_cast_expression11659	= { FOLLOW_expression_in_cast_expression11659_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_AS_SYMBOL_in_cast_expression11661  */
static	ANTLR3_BITWORD FOLLOW_AS_SYMBOL_in_cast_expression11661_bits[]	= { ANTLR3_UINT64_LIT(0x0180000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000080000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000001000000), ANTLR3_UINT64_LIT(0x0040000000800000), ANTLR3_UINT64_LIT(0x0004000000001000), 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_AS_SYMBOL_in_cast_expression11661	= { FOLLOW_AS_SYMBOL_in_cast_expression11661_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_cast_type_in_cast_expression11663  */
static	ANTLR3_BITWORD FOLLOW_cast_type_in_cast_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(0x0000000000010000) };
static  ANTLR3_BITSET_LIST FOLLOW_cast_type_in_cast_expression11663	= { FOLLOW_cast_type_in_cast_expression11663_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_cast_expression11665  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_cast_expression11665_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_cast_expression11665	= { FOLLOW_CLOSE_PAR_SYMBOL_in_cast_expression11665_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CONVERT_SYMBOL_in_cast_expression11670  */
static	ANTLR3_BITWORD FOLLOW_CONVERT_SYMBOL_in_cast_expression11670_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_CONVERT_SYMBOL_in_cast_expression11670	= { FOLLOW_CONVERT_SYMBOL_in_cast_expression11670_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_cast_expression11672  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_cast_expression11672_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180AC908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_cast_expression11672	= { FOLLOW_OPEN_PAR_SYMBOL_in_cast_expression11672_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_cast_expression11674  */
static	ANTLR3_BITWORD FOLLOW_expression_in_cast_expression11674_bits[]	= { ANTLR3_UINT64_LIT(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), 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_expression_in_cast_expression11674	= { FOLLOW_expression_in_cast_expression11674_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_cast_expression11677  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_cast_expression11677_bits[]	= { ANTLR3_UINT64_LIT(0x0180000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000080000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000001000000), ANTLR3_UINT64_LIT(0x0040000000800000), ANTLR3_UINT64_LIT(0x0004000000001000), 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_COMMA_SYMBOL_in_cast_expression11677	= { FOLLOW_COMMA_SYMBOL_in_cast_expression11677_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_cast_type_in_cast_expression11679  */
static	ANTLR3_BITWORD FOLLOW_cast_type_in_cast_expression11679_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000010000) };
static  ANTLR3_BITSET_LIST FOLLOW_cast_type_in_cast_expression11679	= { FOLLOW_cast_type_in_cast_expression11679_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_USING_SYMBOL_in_cast_expression11683  */
static	ANTLR3_BITWORD FOLLOW_USING_SYMBOL_in_cast_expression11683_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0044000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_USING_SYMBOL_in_cast_expression11683	= { FOLLOW_USING_SYMBOL_in_cast_expression11683_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_charset_name_in_cast_expression11685  */
static	ANTLR3_BITWORD FOLLOW_charset_name_in_cast_expression11685_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000010000) };
static  ANTLR3_BITSET_LIST FOLLOW_charset_name_in_cast_expression11685	= { FOLLOW_charset_name_in_cast_expression11685_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_cast_expression11688  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_cast_expression11688_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_cast_expression11688	= { FOLLOW_CLOSE_PAR_SYMBOL_in_cast_expression11688_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BINARY_SYMBOL_in_cast_type11697  */
static	ANTLR3_BITWORD FOLLOW_BINARY_SYMBOL_in_cast_type11697_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000000010000000) };
static  ANTLR3_BITSET_LIST FOLLOW_BINARY_SYMBOL_in_cast_type11697	= { FOLLOW_BINARY_SYMBOL_in_cast_type11697_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_field_length_in_cast_type11699  */
static	ANTLR3_BITWORD FOLLOW_field_length_in_cast_type11699_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_field_length_in_cast_type11699	= { FOLLOW_field_length_in_cast_type11699_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CHAR_SYMBOL_in_cast_type11705  */
static	ANTLR3_BITWORD FOLLOW_CHAR_SYMBOL_in_cast_type11705_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x00A4000000000000), ANTLR3_UINT64_LIT(0x0040000040000000), ANTLR3_UINT64_LIT(0x0000000000001000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000010000000) };
static  ANTLR3_BITSET_LIST FOLLOW_CHAR_SYMBOL_in_cast_type11705	= { FOLLOW_CHAR_SYMBOL_in_cast_type11705_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_field_length_in_cast_type11707  */
static	ANTLR3_BITWORD FOLLOW_field_length_in_cast_type11707_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x00A4000000000000), ANTLR3_UINT64_LIT(0x0040000040000000), ANTLR3_UINT64_LIT(0x0000000000001000) };
static  ANTLR3_BITSET_LIST FOLLOW_field_length_in_cast_type11707	= { FOLLOW_field_length_in_cast_type11707_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_encoding_in_cast_type11710  */
static	ANTLR3_BITWORD FOLLOW_encoding_in_cast_type11710_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_encoding_in_cast_type11710	= { FOLLOW_encoding_in_cast_type11710_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_NCHAR_SYMBOL_in_cast_type11716  */
static	ANTLR3_BITWORD FOLLOW_NCHAR_SYMBOL_in_cast_type11716_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000000010000000) };
static  ANTLR3_BITSET_LIST FOLLOW_NCHAR_SYMBOL_in_cast_type11716	= { FOLLOW_NCHAR_SYMBOL_in_cast_type11716_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_field_length_in_cast_type11718  */
static	ANTLR3_BITWORD FOLLOW_field_length_in_cast_type11718_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_field_length_in_cast_type11718	= { FOLLOW_field_length_in_cast_type11718_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SIGNED_SYMBOL_in_cast_type11724  */
static	ANTLR3_BITWORD FOLLOW_SIGNED_SYMBOL_in_cast_type11724_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000000000000080) };
static  ANTLR3_BITSET_LIST FOLLOW_SIGNED_SYMBOL_in_cast_type11724	= { FOLLOW_SIGNED_SYMBOL_in_cast_type11724_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INT_SYMBOL_in_cast_type11726  */
static	ANTLR3_BITWORD FOLLOW_INT_SYMBOL_in_cast_type11726_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_INT_SYMBOL_in_cast_type11726	= { FOLLOW_INT_SYMBOL_in_cast_type11726_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_UNSIGNED_SYMBOL_in_cast_type11732  */
static	ANTLR3_BITWORD FOLLOW_UNSIGNED_SYMBOL_in_cast_type11732_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000000000000080) };
static  ANTLR3_BITSET_LIST FOLLOW_UNSIGNED_SYMBOL_in_cast_type11732	= { FOLLOW_UNSIGNED_SYMBOL_in_cast_type11732_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INT_SYMBOL_in_cast_type11734  */
static	ANTLR3_BITWORD FOLLOW_INT_SYMBOL_in_cast_type11734_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_INT_SYMBOL_in_cast_type11734	= { FOLLOW_INT_SYMBOL_in_cast_type11734_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DATE_SYMBOL_in_cast_type11740  */
static	ANTLR3_BITWORD FOLLOW_DATE_SYMBOL_in_cast_type11740_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_DATE_SYMBOL_in_cast_type11740	= { FOLLOW_DATE_SYMBOL_in_cast_type11740_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TIME_SYMBOL_in_cast_type11745  */
static	ANTLR3_BITWORD FOLLOW_TIME_SYMBOL_in_cast_type11745_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000000010000000) };
static  ANTLR3_BITSET_LIST FOLLOW_TIME_SYMBOL_in_cast_type11745	= { FOLLOW_TIME_SYMBOL_in_cast_type11745_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_type_datetime_precision_in_cast_type11747  */
static	ANTLR3_BITWORD FOLLOW_type_datetime_precision_in_cast_type11747_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_type_datetime_precision_in_cast_type11747	= { FOLLOW_type_datetime_precision_in_cast_type11747_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DATETIME_SYMBOL_in_cast_type11753  */
static	ANTLR3_BITWORD FOLLOW_DATETIME_SYMBOL_in_cast_type11753_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000000010000000) };
static  ANTLR3_BITSET_LIST FOLLOW_DATETIME_SYMBOL_in_cast_type11753	= { FOLLOW_DATETIME_SYMBOL_in_cast_type11753_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_type_datetime_precision_in_cast_type11755  */
static	ANTLR3_BITWORD FOLLOW_type_datetime_precision_in_cast_type11755_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_type_datetime_precision_in_cast_type11755	= { FOLLOW_type_datetime_precision_in_cast_type11755_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DECIMAL_SYMBOL_in_cast_type11761  */
static	ANTLR3_BITWORD FOLLOW_DECIMAL_SYMBOL_in_cast_type11761_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000000010000000) };
static  ANTLR3_BITSET_LIST FOLLOW_DECIMAL_SYMBOL_in_cast_type11761	= { FOLLOW_DECIMAL_SYMBOL_in_cast_type11761_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_float_options_in_cast_type11763  */
static	ANTLR3_BITWORD FOLLOW_float_options_in_cast_type11763_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_float_options_in_cast_type11763	= { FOLLOW_float_options_in_cast_type11763_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ASCII_SYMBOL_in_encoding11773  */
static	ANTLR3_BITWORD FOLLOW_ASCII_SYMBOL_in_encoding11773_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), 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_ASCII_SYMBOL_in_encoding11773	= { FOLLOW_ASCII_SYMBOL_in_encoding11773_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BINARY_SYMBOL_in_encoding11775  */
static	ANTLR3_BITWORD FOLLOW_BINARY_SYMBOL_in_encoding11775_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_BINARY_SYMBOL_in_encoding11775	= { FOLLOW_BINARY_SYMBOL_in_encoding11775_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BINARY_SYMBOL_in_encoding11781  */
static	ANTLR3_BITWORD FOLLOW_BINARY_SYMBOL_in_encoding11781_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0084000000000000), ANTLR3_UINT64_LIT(0x0000000040000000), ANTLR3_UINT64_LIT(0x0000000000001000) };
static  ANTLR3_BITSET_LIST FOLLOW_BINARY_SYMBOL_in_encoding11781	= { FOLLOW_BINARY_SYMBOL_in_encoding11781_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ASCII_SYMBOL_in_encoding11784  */
static	ANTLR3_BITWORD FOLLOW_ASCII_SYMBOL_in_encoding11784_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_ASCII_SYMBOL_in_encoding11784	= { FOLLOW_ASCII_SYMBOL_in_encoding11784_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_UNICODE_SYMBOL_in_encoding11788  */
static	ANTLR3_BITWORD FOLLOW_UNICODE_SYMBOL_in_encoding11788_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_UNICODE_SYMBOL_in_encoding11788	= { FOLLOW_UNICODE_SYMBOL_in_encoding11788_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_charset_in_encoding11792  */
static	ANTLR3_BITWORD FOLLOW_charset_in_encoding11792_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0044000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_charset_in_encoding11792	= { FOLLOW_charset_in_encoding11792_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_charset_name_in_encoding11794  */
static	ANTLR3_BITWORD FOLLOW_charset_name_in_encoding11794_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_charset_name_in_encoding11794	= { FOLLOW_charset_name_in_encoding11794_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_UNICODE_SYMBOL_in_encoding11801  */
static	ANTLR3_BITWORD FOLLOW_UNICODE_SYMBOL_in_encoding11801_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), 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_UNICODE_SYMBOL_in_encoding11801	= { FOLLOW_UNICODE_SYMBOL_in_encoding11801_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BINARY_SYMBOL_in_encoding11803  */
static	ANTLR3_BITWORD FOLLOW_BINARY_SYMBOL_in_encoding11803_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_BINARY_SYMBOL_in_encoding11803	= { FOLLOW_BINARY_SYMBOL_in_encoding11803_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BYTE_SYMBOL_in_encoding11809  */
static	ANTLR3_BITWORD FOLLOW_BYTE_SYMBOL_in_encoding11809_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_BYTE_SYMBOL_in_encoding11809	= { FOLLOW_BYTE_SYMBOL_in_encoding11809_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_charset_in_encoding11814  */
static	ANTLR3_BITWORD FOLLOW_charset_in_encoding11814_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0044000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_charset_in_encoding11814	= { FOLLOW_charset_in_encoding11814_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_charset_name_in_encoding11816  */
static	ANTLR3_BITWORD FOLLOW_charset_name_in_encoding11816_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), 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_charset_name_in_encoding11816	= { FOLLOW_charset_name_in_encoding11816_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BINARY_SYMBOL_in_encoding11818  */
static	ANTLR3_BITWORD FOLLOW_BINARY_SYMBOL_in_encoding11818_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_BINARY_SYMBOL_in_encoding11818	= { FOLLOW_BINARY_SYMBOL_in_encoding11818_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CHAR_SYMBOL_in_charset11828  */
static	ANTLR3_BITWORD FOLLOW_CHAR_SYMBOL_in_charset11828_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_CHAR_SYMBOL_in_charset11828	= { FOLLOW_CHAR_SYMBOL_in_charset11828_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SET_SYMBOL_in_charset11830  */
static	ANTLR3_BITWORD FOLLOW_SET_SYMBOL_in_charset11830_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_SET_SYMBOL_in_charset11830	= { FOLLOW_SET_SYMBOL_in_charset11830_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CHARSET_SYMBOL_in_charset11834  */
static	ANTLR3_BITWORD FOLLOW_CHARSET_SYMBOL_in_charset11834_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CHARSET_SYMBOL_in_charset11834	= { FOLLOW_CHARSET_SYMBOL_in_charset11834_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_interval11915  */
static	ANTLR3_BITWORD FOLLOW_expression_in_interval11915_bits[]	= { ANTLR3_UINT64_LIT(0x0200000000000000), ANTLR3_UINT64_LIT(0x0000002000000000), ANTLR3_UINT64_LIT(0x0000000450000000), ANTLR3_UINT64_LIT(0x0000080000001000), ANTLR3_UINT64_LIT(0x0002100000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0001E00000000000), ANTLR3_UINT64_LIT(0x000E000400000000), ANTLR3_UINT64_LIT(0x3000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000010), ANTLR3_UINT64_LIT(0x0000020000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_interval11915	= { FOLLOW_expression_in_interval11915_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_interval_unit_in_interval11917  */
static	ANTLR3_BITWORD FOLLOW_interval_unit_in_interval11917_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_interval_unit_in_interval11917	= { FOLLOW_interval_unit_in_interval11917_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_interval_timestamp_unit_in_interval_unit11927  */
static	ANTLR3_BITWORD FOLLOW_interval_timestamp_unit_in_interval_unit11927_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_interval_timestamp_unit_in_interval_unit11927	= { FOLLOW_interval_timestamp_unit_in_interval_unit11927_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SECOND_MICROSECOND_SYMBOL_in_interval_unit11932  */
static	ANTLR3_BITWORD FOLLOW_SECOND_MICROSECOND_SYMBOL_in_interval_unit11932_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_SECOND_MICROSECOND_SYMBOL_in_interval_unit11932	= { FOLLOW_SECOND_MICROSECOND_SYMBOL_in_interval_unit11932_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MINUTE_MICROSECOND_SYMBOL_in_interval_unit11937  */
static	ANTLR3_BITWORD FOLLOW_MINUTE_MICROSECOND_SYMBOL_in_interval_unit11937_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_MINUTE_MICROSECOND_SYMBOL_in_interval_unit11937	= { FOLLOW_MINUTE_MICROSECOND_SYMBOL_in_interval_unit11937_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MINUTE_SECOND_SYMBOL_in_interval_unit11942  */
static	ANTLR3_BITWORD FOLLOW_MINUTE_SECOND_SYMBOL_in_interval_unit11942_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_MINUTE_SECOND_SYMBOL_in_interval_unit11942	= { FOLLOW_MINUTE_SECOND_SYMBOL_in_interval_unit11942_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_HOUR_MICROSECOND_SYMBOL_in_interval_unit11947  */
static	ANTLR3_BITWORD FOLLOW_HOUR_MICROSECOND_SYMBOL_in_interval_unit11947_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_HOUR_MICROSECOND_SYMBOL_in_interval_unit11947	= { FOLLOW_HOUR_MICROSECOND_SYMBOL_in_interval_unit11947_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_HOUR_SECOND_SYMBOL_in_interval_unit11952  */
static	ANTLR3_BITWORD FOLLOW_HOUR_SECOND_SYMBOL_in_interval_unit11952_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_HOUR_SECOND_SYMBOL_in_interval_unit11952	= { FOLLOW_HOUR_SECOND_SYMBOL_in_interval_unit11952_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_HOUR_MINUTE_SYMBOL_in_interval_unit11957  */
static	ANTLR3_BITWORD FOLLOW_HOUR_MINUTE_SYMBOL_in_interval_unit11957_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_HOUR_MINUTE_SYMBOL_in_interval_unit11957	= { FOLLOW_HOUR_MINUTE_SYMBOL_in_interval_unit11957_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DAY_MICROSECOND_SYMBOL_in_interval_unit11962  */
static	ANTLR3_BITWORD FOLLOW_DAY_MICROSECOND_SYMBOL_in_interval_unit11962_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_DAY_MICROSECOND_SYMBOL_in_interval_unit11962	= { FOLLOW_DAY_MICROSECOND_SYMBOL_in_interval_unit11962_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DAY_SECOND_SYMBOL_in_interval_unit11967  */
static	ANTLR3_BITWORD FOLLOW_DAY_SECOND_SYMBOL_in_interval_unit11967_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_DAY_SECOND_SYMBOL_in_interval_unit11967	= { FOLLOW_DAY_SECOND_SYMBOL_in_interval_unit11967_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DAY_MINUTE_SYMBOL_in_interval_unit11972  */
static	ANTLR3_BITWORD FOLLOW_DAY_MINUTE_SYMBOL_in_interval_unit11972_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_DAY_MINUTE_SYMBOL_in_interval_unit11972	= { FOLLOW_DAY_MINUTE_SYMBOL_in_interval_unit11972_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DAY_HOUR_SYMBOL_in_interval_unit11977  */
static	ANTLR3_BITWORD FOLLOW_DAY_HOUR_SYMBOL_in_interval_unit11977_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_DAY_HOUR_SYMBOL_in_interval_unit11977	= { FOLLOW_DAY_HOUR_SYMBOL_in_interval_unit11977_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_YEAR_MONTH_SYMBOL_in_interval_unit11982  */
static	ANTLR3_BITWORD FOLLOW_YEAR_MONTH_SYMBOL_in_interval_unit11982_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_YEAR_MONTH_SYMBOL_in_interval_unit11982	= { FOLLOW_YEAR_MONTH_SYMBOL_in_interval_unit11982_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MICROSECOND_SYMBOL_in_interval_timestamp_unit11992  */
static	ANTLR3_BITWORD FOLLOW_MICROSECOND_SYMBOL_in_interval_timestamp_unit11992_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_MICROSECOND_SYMBOL_in_interval_timestamp_unit11992	= { FOLLOW_MICROSECOND_SYMBOL_in_interval_timestamp_unit11992_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FRAC_SECOND_SYMBOL_in_interval_timestamp_unit12001  */
static	ANTLR3_BITWORD FOLLOW_FRAC_SECOND_SYMBOL_in_interval_timestamp_unit12001_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_FRAC_SECOND_SYMBOL_in_interval_timestamp_unit12001	= { FOLLOW_FRAC_SECOND_SYMBOL_in_interval_timestamp_unit12001_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SECOND_SYMBOL_in_interval_timestamp_unit12006  */
static	ANTLR3_BITWORD FOLLOW_SECOND_SYMBOL_in_interval_timestamp_unit12006_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_SECOND_SYMBOL_in_interval_timestamp_unit12006	= { FOLLOW_SECOND_SYMBOL_in_interval_timestamp_unit12006_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MINUTE_SYMBOL_in_interval_timestamp_unit12011  */
static	ANTLR3_BITWORD FOLLOW_MINUTE_SYMBOL_in_interval_timestamp_unit12011_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_MINUTE_SYMBOL_in_interval_timestamp_unit12011	= { FOLLOW_MINUTE_SYMBOL_in_interval_timestamp_unit12011_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_HOUR_SYMBOL_in_interval_timestamp_unit12016  */
static	ANTLR3_BITWORD FOLLOW_HOUR_SYMBOL_in_interval_timestamp_unit12016_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_HOUR_SYMBOL_in_interval_timestamp_unit12016	= { FOLLOW_HOUR_SYMBOL_in_interval_timestamp_unit12016_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DAY_SYMBOL_in_interval_timestamp_unit12021  */
static	ANTLR3_BITWORD FOLLOW_DAY_SYMBOL_in_interval_timestamp_unit12021_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_DAY_SYMBOL_in_interval_timestamp_unit12021	= { FOLLOW_DAY_SYMBOL_in_interval_timestamp_unit12021_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_WEEK_SYMBOL_in_interval_timestamp_unit12029  */
static	ANTLR3_BITWORD FOLLOW_WEEK_SYMBOL_in_interval_timestamp_unit12029_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_WEEK_SYMBOL_in_interval_timestamp_unit12029	= { FOLLOW_WEEK_SYMBOL_in_interval_timestamp_unit12029_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MONTH_SYMBOL_in_interval_timestamp_unit12034  */
static	ANTLR3_BITWORD FOLLOW_MONTH_SYMBOL_in_interval_timestamp_unit12034_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_MONTH_SYMBOL_in_interval_timestamp_unit12034	= { FOLLOW_MONTH_SYMBOL_in_interval_timestamp_unit12034_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_QUARTER_SYMBOL_in_interval_timestamp_unit12039  */
static	ANTLR3_BITWORD FOLLOW_QUARTER_SYMBOL_in_interval_timestamp_unit12039_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_QUARTER_SYMBOL_in_interval_timestamp_unit12039	= { FOLLOW_QUARTER_SYMBOL_in_interval_timestamp_unit12039_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_YEAR_SYMBOL_in_interval_timestamp_unit12044  */
static	ANTLR3_BITWORD FOLLOW_YEAR_SYMBOL_in_interval_timestamp_unit12044_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_YEAR_SYMBOL_in_interval_timestamp_unit12044	= { FOLLOW_YEAR_SYMBOL_in_interval_timestamp_unit12044_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_expression_list_with_parentheses12053  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_expression_list_with_parentheses12053_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180AC908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_expression_list_with_parentheses12053	= { FOLLOW_OPEN_PAR_SYMBOL_in_expression_list_with_parentheses12053_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_list_in_expression_list_with_parentheses12055  */
static	ANTLR3_BITWORD FOLLOW_expression_list_in_expression_list_with_parentheses12055_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000010000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_list_in_expression_list_with_parentheses12055	= { FOLLOW_expression_list_in_expression_list_with_parentheses12055_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_expression_list_with_parentheses12057  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_expression_list_with_parentheses12057_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_expression_list_with_parentheses12057	= { FOLLOW_CLOSE_PAR_SYMBOL_in_expression_list_with_parentheses12057_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_expression_list12078  */
static	ANTLR3_BITWORD FOLLOW_expression_in_expression_list12078_bits[]	= { ANTLR3_UINT64_LIT(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) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_expression_list12078	= { FOLLOW_expression_in_expression_list12078_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_expression_list12081  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_expression_list12081_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180AC908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_expression_list12081	= { FOLLOW_COMMA_SYMBOL_in_expression_list12081_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_expression_list12083  */
static	ANTLR3_BITWORD FOLLOW_expression_in_expression_list12083_bits[]	= { ANTLR3_UINT64_LIT(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) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_expression_list12083	= { FOLLOW_expression_in_expression_list12083_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_expression_list_with_direction12094  */
static	ANTLR3_BITWORD FOLLOW_expression_in_expression_list_with_direction12094_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000080000000000), ANTLR3_UINT64_LIT(0x0200000000200000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_expression_list_with_direction12094	= { FOLLOW_expression_in_expression_list_with_direction12094_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_direction_in_expression_list_with_direction12096  */
static	ANTLR3_BITWORD FOLLOW_direction_in_expression_list_with_direction12096_bits[]	= { ANTLR3_UINT64_LIT(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) };
static  ANTLR3_BITSET_LIST FOLLOW_direction_in_expression_list_with_direction12096	= { FOLLOW_direction_in_expression_list_with_direction12096_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_expression_list_with_direction12113  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_expression_list_with_direction12113_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180AC908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_expression_list_with_direction12113	= { FOLLOW_COMMA_SYMBOL_in_expression_list_with_direction12113_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_expression_list_with_direction12115  */
static	ANTLR3_BITWORD FOLLOW_expression_in_expression_list_with_direction12115_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000080000000000), ANTLR3_UINT64_LIT(0x0200000000200000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_expression_list_with_direction12115	= { FOLLOW_expression_in_expression_list_with_direction12115_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_direction_in_expression_list_with_direction12117  */
static	ANTLR3_BITWORD FOLLOW_direction_in_expression_list_with_direction12117_bits[]	= { ANTLR3_UINT64_LIT(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) };
static  ANTLR3_BITSET_LIST FOLLOW_direction_in_expression_list_with_direction12117	= { FOLLOW_direction_in_expression_list_with_direction12117_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_statement_in_compound_statement12133  */
static	ANTLR3_BITWORD FOLLOW_statement_in_compound_statement12133_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_statement_in_compound_statement12133	= { FOLLOW_statement_in_compound_statement12133_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_label_in_compound_statement12138  */
static	ANTLR3_BITWORD FOLLOW_label_in_compound_statement12138_bits[]	= { 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(0x0000800000000000), ANTLR3_UINT64_LIT(0x0200000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000200000000) };
static  ANTLR3_BITSET_LIST FOLLOW_label_in_compound_statement12138	= { FOLLOW_label_in_compound_statement12138_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_begin_end_block_in_compound_statement12150  */
static	ANTLR3_BITWORD FOLLOW_begin_end_block_in_compound_statement12150_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_begin_end_block_in_compound_statement12150	= { FOLLOW_begin_end_block_in_compound_statement12150_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_loop_block_in_compound_statement12157  */
static	ANTLR3_BITWORD FOLLOW_loop_block_in_compound_statement12157_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_loop_block_in_compound_statement12157	= { FOLLOW_loop_block_in_compound_statement12157_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_repeat_until_block_in_compound_statement12164  */
static	ANTLR3_BITWORD FOLLOW_repeat_until_block_in_compound_statement12164_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_repeat_until_block_in_compound_statement12164	= { FOLLOW_repeat_until_block_in_compound_statement12164_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_while_do_block_in_compound_statement12171  */
static	ANTLR3_BITWORD FOLLOW_while_do_block_in_compound_statement12171_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_while_do_block_in_compound_statement12171	= { FOLLOW_while_do_block_in_compound_statement12171_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_case_statement_in_compound_statement12180  */
static	ANTLR3_BITWORD FOLLOW_case_statement_in_compound_statement12180_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_case_statement_in_compound_statement12180	= { FOLLOW_case_statement_in_compound_statement12180_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_if_statement_in_compound_statement12185  */
static	ANTLR3_BITWORD FOLLOW_if_statement_in_compound_statement12185_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_if_statement_in_compound_statement12185	= { FOLLOW_if_statement_in_compound_statement12185_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_iterate_statement_in_compound_statement12190  */
static	ANTLR3_BITWORD FOLLOW_iterate_statement_in_compound_statement12190_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_iterate_statement_in_compound_statement12190	= { FOLLOW_iterate_statement_in_compound_statement12190_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_leave_statement_in_compound_statement12195  */
static	ANTLR3_BITWORD FOLLOW_leave_statement_in_compound_statement12195_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_leave_statement_in_compound_statement12195	= { FOLLOW_leave_statement_in_compound_statement12195_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_return_statement_in_compound_statement12200  */
static	ANTLR3_BITWORD FOLLOW_return_statement_in_compound_statement12200_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_return_statement_in_compound_statement12200	= { FOLLOW_return_statement_in_compound_statement12200_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_cursor_open_in_compound_statement12207  */
static	ANTLR3_BITWORD FOLLOW_cursor_open_in_compound_statement12207_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_cursor_open_in_compound_statement12207	= { FOLLOW_cursor_open_in_compound_statement12207_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_cursor_fetch_in_compound_statement12212  */
static	ANTLR3_BITWORD FOLLOW_cursor_fetch_in_compound_statement12212_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_cursor_fetch_in_compound_statement12212	= { FOLLOW_cursor_fetch_in_compound_statement12212_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_cursor_close_in_compound_statement12217  */
static	ANTLR3_BITWORD FOLLOW_cursor_close_in_compound_statement12217_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_cursor_close_in_compound_statement12217	= { FOLLOW_cursor_close_in_compound_statement12217_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_get_diagnostics_in_compound_statement12228  */
static	ANTLR3_BITWORD FOLLOW_get_diagnostics_in_compound_statement12228_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_get_diagnostics_in_compound_statement12228	= { FOLLOW_get_diagnostics_in_compound_statement12228_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_signal_statement_in_compound_statement12237  */
static	ANTLR3_BITWORD FOLLOW_signal_statement_in_compound_statement12237_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_signal_statement_in_compound_statement12237	= { FOLLOW_signal_statement_in_compound_statement12237_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_resignal_statement_in_compound_statement12246  */
static	ANTLR3_BITWORD FOLLOW_resignal_statement_in_compound_statement12246_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_resignal_statement_in_compound_statement12246	= { FOLLOW_resignal_statement_in_compound_statement12246_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_compound_statement_in_compound_statement_list12256  */
static	ANTLR3_BITWORD FOLLOW_compound_statement_in_compound_statement_list12256_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_compound_statement_in_compound_statement_list12256	= { FOLLOW_compound_statement_in_compound_statement_list12256_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SEMICOLON_SYMBOL_in_compound_statement_list12258  */
static	ANTLR3_BITWORD FOLLOW_SEMICOLON_SYMBOL_in_compound_statement_list12258_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF2), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x6B5BFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004008CB81F425B), ANTLR3_UINT64_LIT(0x03800000200024A0), ANTLR3_UINT64_LIT(0x203000C001000050), ANTLR3_UINT64_LIT(0x0000804400902000), ANTLR3_UINT64_LIT(0xD780800030000000), ANTLR3_UINT64_LIT(0x0000000000031040), ANTLR3_UINT64_LIT(0x0000000200002A00) };
static  ANTLR3_BITSET_LIST FOLLOW_SEMICOLON_SYMBOL_in_compound_statement_list12258	= { FOLLOW_SEMICOLON_SYMBOL_in_compound_statement_list12258_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_label_identifier_in_label12271  */
static	ANTLR3_BITWORD FOLLOW_label_identifier_in_label12271_bits[]	= { ANTLR3_UINT64_LIT(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_label_identifier_in_label12271	= { FOLLOW_label_identifier_in_label12271_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COLON_SYMBOL_in_label12273  */
static	ANTLR3_BITWORD FOLLOW_COLON_SYMBOL_in_label12273_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_COLON_SYMBOL_in_label12273	= { FOLLOW_COLON_SYMBOL_in_label12273_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_pure_identifier_in_label_identifier12292  */
static	ANTLR3_BITWORD FOLLOW_pure_identifier_in_label_identifier12292_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_pure_identifier_in_label_identifier12292	= { FOLLOW_pure_identifier_in_label_identifier12292_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_keyword_sp_in_label_identifier12296  */
static	ANTLR3_BITWORD FOLLOW_keyword_sp_in_label_identifier12296_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_keyword_sp_in_label_identifier12296	= { FOLLOW_keyword_sp_in_label_identifier12296_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BEGIN_SYMBOL_in_begin_end_block12306  */
static	ANTLR3_BITWORD FOLLOW_BEGIN_SYMBOL_in_begin_end_block12306_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xEB5BFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004008CB81F425B), ANTLR3_UINT64_LIT(0x03880000200024A0), ANTLR3_UINT64_LIT(0x203000C001000050), ANTLR3_UINT64_LIT(0x0000804400902000), ANTLR3_UINT64_LIT(0xD780800030000000), ANTLR3_UINT64_LIT(0x0000000000031040), ANTLR3_UINT64_LIT(0x0000000200002A00) };
static  ANTLR3_BITSET_LIST FOLLOW_BEGIN_SYMBOL_in_begin_end_block12306	= { FOLLOW_BEGIN_SYMBOL_in_begin_end_block12306_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_declarations_in_begin_end_block12309  */
static	ANTLR3_BITWORD FOLLOW_declarations_in_begin_end_block12309_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xEB5BFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004008CB81F425B), ANTLR3_UINT64_LIT(0x03800000200024A0), ANTLR3_UINT64_LIT(0x203000C001000050), ANTLR3_UINT64_LIT(0x0000804400902000), ANTLR3_UINT64_LIT(0xD780800030000000), ANTLR3_UINT64_LIT(0x0000000000031040), ANTLR3_UINT64_LIT(0x0000000200002A00) };
static  ANTLR3_BITSET_LIST FOLLOW_declarations_in_begin_end_block12309	= { FOLLOW_declarations_in_begin_end_block12309_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_compound_statement_list_in_begin_end_block12311  */
static	ANTLR3_BITWORD FOLLOW_compound_statement_list_in_begin_end_block12311_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_compound_statement_list_in_begin_end_block12311	= { FOLLOW_compound_statement_list_in_begin_end_block12311_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_END_SYMBOL_in_begin_end_block12314  */
static	ANTLR3_BITWORD FOLLOW_END_SYMBOL_in_begin_end_block12314_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF2), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_END_SYMBOL_in_begin_end_block12314	= { FOLLOW_END_SYMBOL_in_begin_end_block12314_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_label_identifier_in_begin_end_block12316  */
static	ANTLR3_BITWORD FOLLOW_label_identifier_in_begin_end_block12316_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_label_identifier_in_begin_end_block12316	= { FOLLOW_label_identifier_in_begin_end_block12316_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_LOOP_SYMBOL_in_loop_block12326  */
static	ANTLR3_BITWORD FOLLOW_LOOP_SYMBOL_in_loop_block12326_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x6B5BFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004008CB81F425B), ANTLR3_UINT64_LIT(0x03800000200024A0), ANTLR3_UINT64_LIT(0x203000C001000050), ANTLR3_UINT64_LIT(0x0000804400902000), ANTLR3_UINT64_LIT(0xD780800030000000), ANTLR3_UINT64_LIT(0x0000000000031040), ANTLR3_UINT64_LIT(0x0000000200002A00) };
static  ANTLR3_BITSET_LIST FOLLOW_LOOP_SYMBOL_in_loop_block12326	= { FOLLOW_LOOP_SYMBOL_in_loop_block12326_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_compound_statement_list_in_loop_block12329  */
static	ANTLR3_BITWORD FOLLOW_compound_statement_list_in_loop_block12329_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_compound_statement_list_in_loop_block12329	= { FOLLOW_compound_statement_list_in_loop_block12329_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_END_SYMBOL_in_loop_block12331  */
static	ANTLR3_BITWORD FOLLOW_END_SYMBOL_in_loop_block12331_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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) };
static  ANTLR3_BITSET_LIST FOLLOW_END_SYMBOL_in_loop_block12331	= { FOLLOW_END_SYMBOL_in_loop_block12331_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_LOOP_SYMBOL_in_loop_block12333  */
static	ANTLR3_BITWORD FOLLOW_LOOP_SYMBOL_in_loop_block12333_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF2), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_LOOP_SYMBOL_in_loop_block12333	= { FOLLOW_LOOP_SYMBOL_in_loop_block12333_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_label_identifier_in_loop_block12335  */
static	ANTLR3_BITWORD FOLLOW_label_identifier_in_loop_block12335_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_label_identifier_in_loop_block12335	= { FOLLOW_label_identifier_in_loop_block12335_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_REPEAT_SYMBOL_in_repeat_until_block12345  */
static	ANTLR3_BITWORD FOLLOW_REPEAT_SYMBOL_in_repeat_until_block12345_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x6B5BFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004008CB81F425B), ANTLR3_UINT64_LIT(0x03800000200024A0), ANTLR3_UINT64_LIT(0x203000C001000050), ANTLR3_UINT64_LIT(0x0000804400902000), ANTLR3_UINT64_LIT(0xD780800030000000), ANTLR3_UINT64_LIT(0x0000000000031040), ANTLR3_UINT64_LIT(0x0000000200002A00) };
static  ANTLR3_BITSET_LIST FOLLOW_REPEAT_SYMBOL_in_repeat_until_block12345	= { FOLLOW_REPEAT_SYMBOL_in_repeat_until_block12345_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_compound_statement_list_in_repeat_until_block12348  */
static	ANTLR3_BITWORD FOLLOW_compound_statement_list_in_repeat_until_block12348_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000800000000) };
static  ANTLR3_BITSET_LIST FOLLOW_compound_statement_list_in_repeat_until_block12348	= { FOLLOW_compound_statement_list_in_repeat_until_block12348_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_UNTIL_SYMBOL_in_repeat_until_block12350  */
static	ANTLR3_BITWORD FOLLOW_UNTIL_SYMBOL_in_repeat_until_block12350_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180AC908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_UNTIL_SYMBOL_in_repeat_until_block12350	= { FOLLOW_UNTIL_SYMBOL_in_repeat_until_block12350_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_repeat_until_block12352  */
static	ANTLR3_BITWORD FOLLOW_expression_in_repeat_until_block12352_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_expression_in_repeat_until_block12352	= { FOLLOW_expression_in_repeat_until_block12352_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_END_SYMBOL_in_repeat_until_block12354  */
static	ANTLR3_BITWORD FOLLOW_END_SYMBOL_in_repeat_until_block12354_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_END_SYMBOL_in_repeat_until_block12354	= { FOLLOW_END_SYMBOL_in_repeat_until_block12354_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_REPEAT_SYMBOL_in_repeat_until_block12356  */
static	ANTLR3_BITWORD FOLLOW_REPEAT_SYMBOL_in_repeat_until_block12356_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF2), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_REPEAT_SYMBOL_in_repeat_until_block12356	= { FOLLOW_REPEAT_SYMBOL_in_repeat_until_block12356_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_label_identifier_in_repeat_until_block12358  */
static	ANTLR3_BITWORD FOLLOW_label_identifier_in_repeat_until_block12358_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_label_identifier_in_repeat_until_block12358	= { FOLLOW_label_identifier_in_repeat_until_block12358_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_WHILE_SYMBOL_in_while_do_block12368  */
static	ANTLR3_BITWORD FOLLOW_WHILE_SYMBOL_in_while_do_block12368_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180AC908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_WHILE_SYMBOL_in_while_do_block12368	= { FOLLOW_WHILE_SYMBOL_in_while_do_block12368_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_while_do_block12371  */
static	ANTLR3_BITWORD FOLLOW_expression_in_while_do_block12371_bits[]	= { 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_expression_in_while_do_block12371	= { FOLLOW_expression_in_while_do_block12371_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DO_SYMBOL_in_while_do_block12373  */
static	ANTLR3_BITWORD FOLLOW_DO_SYMBOL_in_while_do_block12373_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x6B5BFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004008CB81F425B), ANTLR3_UINT64_LIT(0x03800000200024A0), ANTLR3_UINT64_LIT(0x203000C001000050), ANTLR3_UINT64_LIT(0x0000804400902000), ANTLR3_UINT64_LIT(0xD780800030000000), ANTLR3_UINT64_LIT(0x0000000000031040), ANTLR3_UINT64_LIT(0x0000000200002A00) };
static  ANTLR3_BITSET_LIST FOLLOW_DO_SYMBOL_in_while_do_block12373	= { FOLLOW_DO_SYMBOL_in_while_do_block12373_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_compound_statement_list_in_while_do_block12375  */
static	ANTLR3_BITWORD FOLLOW_compound_statement_list_in_while_do_block12375_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_compound_statement_list_in_while_do_block12375	= { FOLLOW_compound_statement_list_in_while_do_block12375_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_END_SYMBOL_in_while_do_block12377  */
static	ANTLR3_BITWORD FOLLOW_END_SYMBOL_in_while_do_block12377_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_END_SYMBOL_in_while_do_block12377	= { FOLLOW_END_SYMBOL_in_while_do_block12377_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_WHILE_SYMBOL_in_while_do_block12379  */
static	ANTLR3_BITWORD FOLLOW_WHILE_SYMBOL_in_while_do_block12379_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF2), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_WHILE_SYMBOL_in_while_do_block12379	= { FOLLOW_WHILE_SYMBOL_in_while_do_block12379_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_label_identifier_in_while_do_block12381  */
static	ANTLR3_BITWORD FOLLOW_label_identifier_in_while_do_block12381_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_label_identifier_in_while_do_block12381	= { FOLLOW_label_identifier_in_while_do_block12381_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DECLARE_SYMBOL_in_declarations12406  */
static	ANTLR3_BITWORD FOLLOW_DECLARE_SYMBOL_in_declarations12406_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_DECLARE_SYMBOL_in_declarations12406	= { FOLLOW_DECLARE_SYMBOL_in_declarations12406_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_declarations12408  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_declarations12408_bits[]	= { ANTLR3_UINT64_LIT(0x0180000000680000), ANTLR3_UINT64_LIT(0x00800000C2000400), ANTLR3_UINT64_LIT(0x00080C3800000000), ANTLR3_UINT64_LIT(0x000020000000000C), ANTLR3_UINT64_LIT(0x0002000001880000), ANTLR3_UINT64_LIT(0x0060000000000000), ANTLR3_UINT64_LIT(0x0004000001201002), ANTLR3_UINT64_LIT(0x0000000040000020), ANTLR3_UINT64_LIT(0x01C0580000000090), ANTLR3_UINT64_LIT(0x0010000000100000), ANTLR3_UINT64_LIT(0x3800000000201000), ANTLR3_UINT64_LIT(0x0000000000280000) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_declarations12408	= { FOLLOW_identifier_in_declarations12408_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_variable_declaration_in_declarations12411  */
static	ANTLR3_BITWORD FOLLOW_variable_declaration_in_declarations12411_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), 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_variable_declaration_in_declarations12411	= { FOLLOW_variable_declaration_in_declarations12411_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_condition_declaration_in_declarations12415  */
static	ANTLR3_BITWORD FOLLOW_condition_declaration_in_declarations12415_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), 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_condition_declaration_in_declarations12415	= { FOLLOW_condition_declaration_in_declarations12415_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_cursor_declaration_in_declarations12422  */
static	ANTLR3_BITWORD FOLLOW_cursor_declaration_in_declarations12422_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), 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_cursor_declaration_in_declarations12422	= { FOLLOW_cursor_declaration_in_declarations12422_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_handler_declaration_in_declarations12425  */
static	ANTLR3_BITWORD FOLLOW_handler_declaration_in_declarations12425_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), 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_handler_declaration_in_declarations12425	= { FOLLOW_handler_declaration_in_declarations12425_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_variable_declaration12436  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_variable_declaration12436_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_variable_declaration12436	= { FOLLOW_COMMA_SYMBOL_in_variable_declaration12436_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_variable_declaration12438  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_variable_declaration12438_bits[]	= { ANTLR3_UINT64_LIT(0x0180000000680000), ANTLR3_UINT64_LIT(0x00800000C2000400), ANTLR3_UINT64_LIT(0x00080C3800000000), ANTLR3_UINT64_LIT(0x000020000000000C), ANTLR3_UINT64_LIT(0x0002000001880000), ANTLR3_UINT64_LIT(0x0060000000000000), ANTLR3_UINT64_LIT(0x0004000000201002), ANTLR3_UINT64_LIT(0x0000000040000020), ANTLR3_UINT64_LIT(0x01C0580000000090), ANTLR3_UINT64_LIT(0x0010000000100000), ANTLR3_UINT64_LIT(0x3800000000201000), ANTLR3_UINT64_LIT(0x0000000000280000) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_variable_declaration12438	= { FOLLOW_identifier_in_variable_declaration12438_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_data_type_in_variable_declaration12442  */
static	ANTLR3_BITWORD FOLLOW_data_type_in_variable_declaration12442_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000000000000080) };
static  ANTLR3_BITSET_LIST FOLLOW_data_type_in_variable_declaration12442	= { FOLLOW_data_type_in_variable_declaration12442_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DEFAULT_SYMBOL_in_variable_declaration12445  */
static	ANTLR3_BITWORD FOLLOW_DEFAULT_SYMBOL_in_variable_declaration12445_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180AC908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_DEFAULT_SYMBOL_in_variable_declaration12445	= { FOLLOW_DEFAULT_SYMBOL_in_variable_declaration12445_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_variable_declaration12447  */
static	ANTLR3_BITWORD FOLLOW_expression_in_variable_declaration12447_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_expression_in_variable_declaration12447	= { FOLLOW_expression_in_variable_declaration12447_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SEMICOLON_SYMBOL_in_variable_declaration12451  */
static	ANTLR3_BITWORD FOLLOW_SEMICOLON_SYMBOL_in_variable_declaration12451_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_SEMICOLON_SYMBOL_in_variable_declaration12451	= { FOLLOW_SEMICOLON_SYMBOL_in_variable_declaration12451_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CONDITION_SYMBOL_in_condition_declaration12460  */
static	ANTLR3_BITWORD FOLLOW_CONDITION_SYMBOL_in_condition_declaration12460_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_CONDITION_SYMBOL_in_condition_declaration12460	= { FOLLOW_CONDITION_SYMBOL_in_condition_declaration12460_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FOR_SYMBOL_in_condition_declaration12462  */
static	ANTLR3_BITWORD FOLLOW_FOR_SYMBOL_in_condition_declaration12462_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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(0x0000000002000000) };
static  ANTLR3_BITSET_LIST FOLLOW_FOR_SYMBOL_in_condition_declaration12462	= { FOLLOW_FOR_SYMBOL_in_condition_declaration12462_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_condition_declaration12465  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_condition_declaration12465_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_INTEGER_in_condition_declaration12465	= { FOLLOW_INTEGER_in_condition_declaration12465_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SQLSTATE_SYMBOL_in_condition_declaration12469  */
static	ANTLR3_BITWORD FOLLOW_SQLSTATE_SYMBOL_in_condition_declaration12469_bits[]	= { 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(0x0000000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_SQLSTATE_SYMBOL_in_condition_declaration12469	= { FOLLOW_SQLSTATE_SYMBOL_in_condition_declaration12469_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_VALUE_SYMBOL_in_condition_declaration12471  */
static	ANTLR3_BITWORD FOLLOW_VALUE_SYMBOL_in_condition_declaration12471_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_VALUE_SYMBOL_in_condition_declaration12471	= { FOLLOW_VALUE_SYMBOL_in_condition_declaration12471_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_condition_declaration12474  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_condition_declaration12474_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_string_literal_in_condition_declaration12474	= { FOLLOW_string_literal_in_condition_declaration12474_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SEMICOLON_SYMBOL_in_condition_declaration12477  */
static	ANTLR3_BITWORD FOLLOW_SEMICOLON_SYMBOL_in_condition_declaration12477_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_SEMICOLON_SYMBOL_in_condition_declaration12477	= { FOLLOW_SEMICOLON_SYMBOL_in_condition_declaration12477_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DECLARE_SYMBOL_in_cursor_declaration12486  */
static	ANTLR3_BITWORD FOLLOW_DECLARE_SYMBOL_in_cursor_declaration12486_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_DECLARE_SYMBOL_in_cursor_declaration12486	= { FOLLOW_DECLARE_SYMBOL_in_cursor_declaration12486_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_cursor_declaration12488  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_cursor_declaration12488_bits[]	= { ANTLR3_UINT64_LIT(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_cursor_declaration12488	= { FOLLOW_identifier_in_cursor_declaration12488_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CURSOR_SYMBOL_in_cursor_declaration12490  */
static	ANTLR3_BITWORD FOLLOW_CURSOR_SYMBOL_in_cursor_declaration12490_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_CURSOR_SYMBOL_in_cursor_declaration12490	= { FOLLOW_CURSOR_SYMBOL_in_cursor_declaration12490_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SEMICOLON_SYMBOL_in_cursor_declaration12492  */
static	ANTLR3_BITWORD FOLLOW_SEMICOLON_SYMBOL_in_cursor_declaration12492_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_SEMICOLON_SYMBOL_in_cursor_declaration12492	= { FOLLOW_SEMICOLON_SYMBOL_in_cursor_declaration12492_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DECLARE_SYMBOL_in_handler_declaration12501  */
static	ANTLR3_BITWORD FOLLOW_DECLARE_SYMBOL_in_handler_declaration12501_bits[]	= { ANTLR3_UINT64_LIT(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), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000040) };
static  ANTLR3_BITSET_LIST FOLLOW_DECLARE_SYMBOL_in_handler_declaration12501	= { FOLLOW_DECLARE_SYMBOL_in_handler_declaration12501_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_handler_declaration12503  */
static	ANTLR3_BITWORD FOLLOW_set_in_handler_declaration12503_bits[]	= { 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_set_in_handler_declaration12503	= { FOLLOW_set_in_handler_declaration12503_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_HANDLER_SYMBOL_in_handler_declaration12515  */
static	ANTLR3_BITWORD FOLLOW_HANDLER_SYMBOL_in_handler_declaration12515_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_HANDLER_SYMBOL_in_handler_declaration12515	= { FOLLOW_HANDLER_SYMBOL_in_handler_declaration12515_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FOR_SYMBOL_in_handler_declaration12519  */
static	ANTLR3_BITWORD FOLLOW_FOR_SYMBOL_in_handler_declaration12519_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010), ANTLR3_UINT64_LIT(0x0000000000000008), ANTLR3_UINT64_LIT(0x0000000000004000), ANTLR3_UINT64_LIT(0x0000000007000000) };
static  ANTLR3_BITSET_LIST FOLLOW_FOR_SYMBOL_in_handler_declaration12519	= { FOLLOW_FOR_SYMBOL_in_handler_declaration12519_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_handler_condition_in_handler_declaration12521  */
static	ANTLR3_BITWORD FOLLOW_handler_condition_in_handler_declaration12521_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x6B5BFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004008CB81F425B), ANTLR3_UINT64_LIT(0x03800000202024A0), ANTLR3_UINT64_LIT(0x203000C001000050), ANTLR3_UINT64_LIT(0x0000804400902000), ANTLR3_UINT64_LIT(0xD780800030000000), ANTLR3_UINT64_LIT(0x0000000000031040), ANTLR3_UINT64_LIT(0x0000000200002A00) };
static  ANTLR3_BITSET_LIST FOLLOW_handler_condition_in_handler_declaration12521	= { FOLLOW_handler_condition_in_handler_declaration12521_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_handler_declaration12524  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_handler_declaration12524_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010), ANTLR3_UINT64_LIT(0x0000000000000008), ANTLR3_UINT64_LIT(0x0000000000004000), ANTLR3_UINT64_LIT(0x0000000007000000) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_handler_declaration12524	= { FOLLOW_COMMA_SYMBOL_in_handler_declaration12524_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_handler_condition_in_handler_declaration12526  */
static	ANTLR3_BITWORD FOLLOW_handler_condition_in_handler_declaration12526_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x6B5BFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004008CB81F425B), ANTLR3_UINT64_LIT(0x03800000202024A0), ANTLR3_UINT64_LIT(0x203000C001000050), ANTLR3_UINT64_LIT(0x0000804400902000), ANTLR3_UINT64_LIT(0xD780800030000000), ANTLR3_UINT64_LIT(0x0000000000031040), ANTLR3_UINT64_LIT(0x0000000200002A00) };
static  ANTLR3_BITSET_LIST FOLLOW_handler_condition_in_handler_declaration12526	= { FOLLOW_handler_condition_in_handler_declaration12526_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_compound_statement_in_handler_declaration12530  */
static	ANTLR3_BITWORD FOLLOW_compound_statement_in_handler_declaration12530_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_compound_statement_in_handler_declaration12530	= { FOLLOW_compound_statement_in_handler_declaration12530_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SEMICOLON_SYMBOL_in_handler_declaration12532  */
static	ANTLR3_BITWORD FOLLOW_SEMICOLON_SYMBOL_in_handler_declaration12532_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_SEMICOLON_SYMBOL_in_handler_declaration12532	= { FOLLOW_SEMICOLON_SYMBOL_in_handler_declaration12532_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_handler_condition12541  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_handler_condition12541_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_INTEGER_in_handler_condition12541	= { FOLLOW_INTEGER_in_handler_condition12541_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SQLSTATE_SYMBOL_in_handler_condition12546  */
static	ANTLR3_BITWORD FOLLOW_SQLSTATE_SYMBOL_in_handler_condition12546_bits[]	= { 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(0x0000000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_SQLSTATE_SYMBOL_in_handler_condition12546	= { FOLLOW_SQLSTATE_SYMBOL_in_handler_condition12546_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_VALUE_SYMBOL_in_handler_condition12548  */
static	ANTLR3_BITWORD FOLLOW_VALUE_SYMBOL_in_handler_condition12548_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_VALUE_SYMBOL_in_handler_condition12548	= { FOLLOW_VALUE_SYMBOL_in_handler_condition12548_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_handler_condition12551  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_handler_condition12551_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_handler_condition12551	= { FOLLOW_string_literal_in_handler_condition12551_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_handler_condition12556  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_handler_condition12556_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_handler_condition12556	= { FOLLOW_identifier_in_handler_condition12556_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SQLWARNING_SYMBOL_in_handler_condition12561  */
static	ANTLR3_BITWORD FOLLOW_SQLWARNING_SYMBOL_in_handler_condition12561_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_SQLWARNING_SYMBOL_in_handler_condition12561	= { FOLLOW_SQLWARNING_SYMBOL_in_handler_condition12561_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_NOT_SYMBOL_in_handler_condition12566  */
static	ANTLR3_BITWORD FOLLOW_NOT_SYMBOL_in_handler_condition12566_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000004000000) };
static  ANTLR3_BITSET_LIST FOLLOW_NOT_SYMBOL_in_handler_condition12566	= { FOLLOW_NOT_SYMBOL_in_handler_condition12566_bits, 2	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FOUND_SYMBOL_in_handler_condition12568  */
static	ANTLR3_BITWORD FOLLOW_FOUND_SYMBOL_in_handler_condition12568_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_FOUND_SYMBOL_in_handler_condition12568	= { FOLLOW_FOUND_SYMBOL_in_handler_condition12568_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SQLEXCEPTION_SYMBOL_in_handler_condition12573  */
static	ANTLR3_BITWORD FOLLOW_SQLEXCEPTION_SYMBOL_in_handler_condition12573_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_SQLEXCEPTION_SYMBOL_in_handler_condition12573	= { FOLLOW_SQLEXCEPTION_SYMBOL_in_handler_condition12573_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CASE_SYMBOL_in_case_statement12583  */
static	ANTLR3_BITWORD FOLLOW_CASE_SYMBOL_in_case_statement12583_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180AC908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000082478026) };
static  ANTLR3_BITSET_LIST FOLLOW_CASE_SYMBOL_in_case_statement12583	= { FOLLOW_CASE_SYMBOL_in_case_statement12583_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_case_statement12586  */
static	ANTLR3_BITWORD FOLLOW_expression_in_case_statement12586_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_case_statement12586	= { FOLLOW_expression_in_case_statement12586_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_when_expression_in_case_statement12590  */
static	ANTLR3_BITWORD FOLLOW_when_expression_in_case_statement12590_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0400000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_when_expression_in_case_statement12590	= { FOLLOW_when_expression_in_case_statement12590_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_then_statement_in_case_statement12592  */
static	ANTLR3_BITWORD FOLLOW_then_statement_in_case_statement12592_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x8000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000400), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_then_statement_in_case_statement12592	= { FOLLOW_then_statement_in_case_statement12592_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_else_statement_in_case_statement12596  */
static	ANTLR3_BITWORD FOLLOW_else_statement_in_case_statement12596_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_else_statement_in_case_statement12596	= { FOLLOW_else_statement_in_case_statement12596_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_END_SYMBOL_in_case_statement12599  */
static	ANTLR3_BITWORD FOLLOW_END_SYMBOL_in_case_statement12599_bits[]	= { ANTLR3_UINT64_LIT(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_case_statement12599	= { FOLLOW_END_SYMBOL_in_case_statement12599_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CASE_SYMBOL_in_case_statement12601  */
static	ANTLR3_BITWORD FOLLOW_CASE_SYMBOL_in_case_statement12601_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CASE_SYMBOL_in_case_statement12601	= { FOLLOW_CASE_SYMBOL_in_case_statement12601_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_THEN_SYMBOL_in_then_statement12610  */
static	ANTLR3_BITWORD FOLLOW_THEN_SYMBOL_in_then_statement12610_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x6B5BFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004008CB81F425B), ANTLR3_UINT64_LIT(0x03800000200024A0), ANTLR3_UINT64_LIT(0x203000C001000050), ANTLR3_UINT64_LIT(0x0000804400902000), ANTLR3_UINT64_LIT(0xD780800030000000), ANTLR3_UINT64_LIT(0x0000000000031040), ANTLR3_UINT64_LIT(0x0000000200002A00) };
static  ANTLR3_BITSET_LIST FOLLOW_THEN_SYMBOL_in_then_statement12610	= { FOLLOW_THEN_SYMBOL_in_then_statement12610_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_compound_statement_list_in_then_statement12613  */
static	ANTLR3_BITWORD FOLLOW_compound_statement_list_in_then_statement12613_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_compound_statement_list_in_then_statement12613	= { FOLLOW_compound_statement_list_in_then_statement12613_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ELSE_SYMBOL_in_else_statement12622  */
static	ANTLR3_BITWORD FOLLOW_ELSE_SYMBOL_in_else_statement12622_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x6B5BFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004008CB81F425B), ANTLR3_UINT64_LIT(0x03800000200024A0), ANTLR3_UINT64_LIT(0x203000C001000050), ANTLR3_UINT64_LIT(0x0000804400902000), ANTLR3_UINT64_LIT(0xD780800030000000), ANTLR3_UINT64_LIT(0x0000000000031040), ANTLR3_UINT64_LIT(0x0000000200002A00) };
static  ANTLR3_BITSET_LIST FOLLOW_ELSE_SYMBOL_in_else_statement12622	= { FOLLOW_ELSE_SYMBOL_in_else_statement12622_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_compound_statement_list_in_else_statement12625  */
static	ANTLR3_BITWORD FOLLOW_compound_statement_list_in_else_statement12625_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_compound_statement_list_in_else_statement12625	= { FOLLOW_compound_statement_list_in_else_statement12625_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_IF_SYMBOL_in_if_statement12634  */
static	ANTLR3_BITWORD FOLLOW_IF_SYMBOL_in_if_statement12634_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180AC908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_IF_SYMBOL_in_if_statement12634	= { FOLLOW_IF_SYMBOL_in_if_statement12634_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_if_body_in_if_statement12637  */
static	ANTLR3_BITWORD FOLLOW_if_body_in_if_statement12637_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_if_body_in_if_statement12637	= { FOLLOW_if_body_in_if_statement12637_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_END_SYMBOL_in_if_statement12639  */
static	ANTLR3_BITWORD FOLLOW_END_SYMBOL_in_if_statement12639_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_END_SYMBOL_in_if_statement12639	= { FOLLOW_END_SYMBOL_in_if_statement12639_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_IF_SYMBOL_in_if_statement12641  */
static	ANTLR3_BITWORD FOLLOW_IF_SYMBOL_in_if_statement12641_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_IF_SYMBOL_in_if_statement12641	= { FOLLOW_IF_SYMBOL_in_if_statement12641_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_if_body12650  */
static	ANTLR3_BITWORD FOLLOW_expression_in_if_body12650_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0400000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_if_body12650	= { FOLLOW_expression_in_if_body12650_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_then_statement_in_if_body12652  */
static	ANTLR3_BITWORD FOLLOW_then_statement_in_if_body12652_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000000000000600) };
static  ANTLR3_BITSET_LIST FOLLOW_then_statement_in_if_body12652	= { FOLLOW_then_statement_in_if_body12652_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ELSEIF_SYMBOL_in_if_body12655  */
static	ANTLR3_BITWORD FOLLOW_ELSEIF_SYMBOL_in_if_body12655_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180AC908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_ELSEIF_SYMBOL_in_if_body12655	= { FOLLOW_ELSEIF_SYMBOL_in_if_body12655_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_if_body_in_if_body12657  */
static	ANTLR3_BITWORD FOLLOW_if_body_in_if_body12657_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_if_body_in_if_body12657	= { FOLLOW_if_body_in_if_body12657_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ELSE_SYMBOL_in_if_body12661  */
static	ANTLR3_BITWORD FOLLOW_ELSE_SYMBOL_in_if_body12661_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x6B5BFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004008CB81F425B), ANTLR3_UINT64_LIT(0x03800000200024A0), ANTLR3_UINT64_LIT(0x203000C001000050), ANTLR3_UINT64_LIT(0x0000804400902000), ANTLR3_UINT64_LIT(0xD780800030000000), ANTLR3_UINT64_LIT(0x0000000000031040), ANTLR3_UINT64_LIT(0x0000000200002A00) };
static  ANTLR3_BITSET_LIST FOLLOW_ELSE_SYMBOL_in_if_body12661	= { FOLLOW_ELSE_SYMBOL_in_if_body12661_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_compound_statement_list_in_if_body12663  */
static	ANTLR3_BITWORD FOLLOW_compound_statement_list_in_if_body12663_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_compound_statement_list_in_if_body12663	= { FOLLOW_compound_statement_list_in_if_body12663_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ITERATE_SYMBOL_in_iterate_statement12674  */
static	ANTLR3_BITWORD FOLLOW_ITERATE_SYMBOL_in_iterate_statement12674_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_ITERATE_SYMBOL_in_iterate_statement12674	= { FOLLOW_ITERATE_SYMBOL_in_iterate_statement12674_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_label_identifier_in_iterate_statement12676  */
static	ANTLR3_BITWORD FOLLOW_label_identifier_in_iterate_statement12676_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_label_identifier_in_iterate_statement12676	= { FOLLOW_label_identifier_in_iterate_statement12676_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_LEAVE_SYMBOL_in_leave_statement12685  */
static	ANTLR3_BITWORD FOLLOW_LEAVE_SYMBOL_in_leave_statement12685_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0003FFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_LEAVE_SYMBOL_in_leave_statement12685	= { FOLLOW_LEAVE_SYMBOL_in_leave_statement12685_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_label_identifier_in_leave_statement12687  */
static	ANTLR3_BITWORD FOLLOW_label_identifier_in_leave_statement12687_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_label_identifier_in_leave_statement12687	= { FOLLOW_label_identifier_in_leave_statement12687_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_RETURN_SYMBOL_in_return_statement12696  */
static	ANTLR3_BITWORD FOLLOW_RETURN_SYMBOL_in_return_statement12696_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180AC908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_RETURN_SYMBOL_in_return_statement12696	= { FOLLOW_RETURN_SYMBOL_in_return_statement12696_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_return_statement12698  */
static	ANTLR3_BITWORD FOLLOW_expression_in_return_statement12698_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_return_statement12698	= { FOLLOW_expression_in_return_statement12698_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_GET_SYMBOL_in_get_diagnostics12707  */
static	ANTLR3_BITWORD FOLLOW_GET_SYMBOL_in_get_diagnostics12707_bits[]	= { ANTLR3_UINT64_LIT(0x4008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_GET_SYMBOL_in_get_diagnostics12707	= { FOLLOW_GET_SYMBOL_in_get_diagnostics12707_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CURRENT_SYMBOL_in_get_diagnostics12709  */
static	ANTLR3_BITWORD FOLLOW_CURRENT_SYMBOL_in_get_diagnostics12709_bits[]	= { ANTLR3_UINT64_LIT(0x4000000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_CURRENT_SYMBOL_in_get_diagnostics12709	= { FOLLOW_CURRENT_SYMBOL_in_get_diagnostics12709_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DIAGNOSTICS_SYMBOL_in_get_diagnostics12712  */
static	ANTLR3_BITWORD FOLLOW_DIAGNOSTICS_SYMBOL_in_get_diagnostics12712_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0005800FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000001000000), ANTLR3_UINT64_LIT(0x0010000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_DIAGNOSTICS_SYMBOL_in_get_diagnostics12712	= { FOLLOW_DIAGNOSTICS_SYMBOL_in_get_diagnostics12712_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_statement_information_item_in_get_diagnostics12719  */
static	ANTLR3_BITWORD FOLLOW_statement_information_item_in_get_diagnostics12719_bits[]	= { ANTLR3_UINT64_LIT(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) };
static  ANTLR3_BITSET_LIST FOLLOW_statement_information_item_in_get_diagnostics12719	= { FOLLOW_statement_information_item_in_get_diagnostics12719_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_get_diagnostics12722  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_get_diagnostics12722_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0005800FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_get_diagnostics12722	= { FOLLOW_COMMA_SYMBOL_in_get_diagnostics12722_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_statement_information_item_in_get_diagnostics12724  */
static	ANTLR3_BITWORD FOLLOW_statement_information_item_in_get_diagnostics12724_bits[]	= { ANTLR3_UINT64_LIT(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) };
static  ANTLR3_BITSET_LIST FOLLOW_statement_information_item_in_get_diagnostics12724	= { FOLLOW_statement_information_item_in_get_diagnostics12724_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CONDITION_SYMBOL_in_get_diagnostics12732  */
static	ANTLR3_BITWORD FOLLOW_CONDITION_SYMBOL_in_get_diagnostics12732_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_CONDITION_SYMBOL_in_get_diagnostics12732	= { FOLLOW_CONDITION_SYMBOL_in_get_diagnostics12732_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_get_diagnostics12734  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_get_diagnostics12734_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0005800FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_INTEGER_in_get_diagnostics12734	= { FOLLOW_INTEGER_in_get_diagnostics12734_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_condition_information_item_in_get_diagnostics12736  */
static	ANTLR3_BITWORD FOLLOW_condition_information_item_in_get_diagnostics12736_bits[]	= { ANTLR3_UINT64_LIT(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) };
static  ANTLR3_BITSET_LIST FOLLOW_condition_information_item_in_get_diagnostics12736	= { FOLLOW_condition_information_item_in_get_diagnostics12736_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_get_diagnostics12739  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_get_diagnostics12739_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0005800FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_get_diagnostics12739	= { FOLLOW_COMMA_SYMBOL_in_get_diagnostics12739_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_condition_information_item_in_get_diagnostics12741  */
static	ANTLR3_BITWORD FOLLOW_condition_information_item_in_get_diagnostics12741_bits[]	= { ANTLR3_UINT64_LIT(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) };
static  ANTLR3_BITSET_LIST FOLLOW_condition_information_item_in_get_diagnostics12741	= { FOLLOW_condition_information_item_in_get_diagnostics12741_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_variable_in_statement_information_item12756  */
static	ANTLR3_BITWORD FOLLOW_variable_in_statement_information_item12756_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_variable_in_statement_information_item12756	= { FOLLOW_variable_in_statement_information_item12756_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_statement_information_item12760  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_statement_information_item12760_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_identifier_in_statement_information_item12760	= { FOLLOW_identifier_in_statement_information_item12760_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_statement_information_item12763  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_statement_information_item12763_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0004000000000000), ANTLR3_UINT64_LIT(0x0000002000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_statement_information_item12763	= { FOLLOW_EQUAL_OPERATOR_in_statement_information_item12763_bits, 4	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_statement_information_item12765  */
static	ANTLR3_BITWORD FOLLOW_set_in_statement_information_item12765_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_statement_information_item12765	= { FOLLOW_set_in_statement_information_item12765_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_variable_in_condition_information_item12781  */
static	ANTLR3_BITWORD FOLLOW_variable_in_condition_information_item12781_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_variable_in_condition_information_item12781	= { FOLLOW_variable_in_condition_information_item12781_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_condition_information_item12785  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_condition_information_item12785_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_identifier_in_condition_information_item12785	= { FOLLOW_identifier_in_condition_information_item12785_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_condition_information_item12788  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_condition_information_item12788_bits[]	= { ANTLR3_UINT64_LIT(0x0010701022000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008008000000), ANTLR3_UINT64_LIT(0x0000040080000000), ANTLR3_UINT64_LIT(0x0000000000010010) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_condition_information_item12788	= { FOLLOW_EQUAL_OPERATOR_in_condition_information_item12788_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_condition_information_item_name_in_condition_information_item12790  */
static	ANTLR3_BITWORD FOLLOW_condition_information_item_name_in_condition_information_item12790_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_condition_information_item_name_in_condition_information_item12790	= { FOLLOW_condition_information_item_name_in_condition_information_item12790_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SIGNAL_SYMBOL_in_signal_statement12868  */
static	ANTLR3_BITWORD FOLLOW_SIGNAL_SYMBOL_in_signal_statement12868_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_SIGNAL_SYMBOL_in_signal_statement12868	= { FOLLOW_SIGNAL_SYMBOL_in_signal_statement12868_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SQLSTATE_SYMBOL_in_signal_statement12871  */
static	ANTLR3_BITWORD FOLLOW_SQLSTATE_SYMBOL_in_signal_statement12871_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_SQLSTATE_SYMBOL_in_signal_statement12871	= { FOLLOW_SQLSTATE_SYMBOL_in_signal_statement12871_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_VALUE_SYMBOL_in_signal_statement12873  */
static	ANTLR3_BITWORD FOLLOW_VALUE_SYMBOL_in_signal_statement12873_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_VALUE_SYMBOL_in_signal_statement12873	= { FOLLOW_VALUE_SYMBOL_in_signal_statement12873_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_text_or_identifier_in_signal_statement12876  */
static	ANTLR3_BITWORD FOLLOW_text_or_identifier_in_signal_statement12876_bits[]	= { ANTLR3_UINT64_LIT(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) };
static  ANTLR3_BITSET_LIST FOLLOW_text_or_identifier_in_signal_statement12876	= { FOLLOW_text_or_identifier_in_signal_statement12876_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SET_SYMBOL_in_signal_statement12882  */
static	ANTLR3_BITWORD FOLLOW_SET_SYMBOL_in_signal_statement12882_bits[]	= { ANTLR3_UINT64_LIT(0x0010701022000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008008000000), ANTLR3_UINT64_LIT(0x0000040080000000), ANTLR3_UINT64_LIT(0x0000000000010010) };
static  ANTLR3_BITSET_LIST FOLLOW_SET_SYMBOL_in_signal_statement12882	= { FOLLOW_SET_SYMBOL_in_signal_statement12882_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_signal_information_item_in_signal_statement12884  */
static	ANTLR3_BITWORD FOLLOW_signal_information_item_in_signal_statement12884_bits[]	= { ANTLR3_UINT64_LIT(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) };
static  ANTLR3_BITSET_LIST FOLLOW_signal_information_item_in_signal_statement12884	= { FOLLOW_signal_information_item_in_signal_statement12884_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_signal_statement12887  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_signal_statement12887_bits[]	= { ANTLR3_UINT64_LIT(0x0010701022000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008008000000), ANTLR3_UINT64_LIT(0x0000040080000000), ANTLR3_UINT64_LIT(0x0000000000010010) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_signal_statement12887	= { FOLLOW_COMMA_SYMBOL_in_signal_statement12887_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_signal_information_item_in_signal_statement12889  */
static	ANTLR3_BITWORD FOLLOW_signal_information_item_in_signal_statement12889_bits[]	= { ANTLR3_UINT64_LIT(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) };
static  ANTLR3_BITSET_LIST FOLLOW_signal_information_item_in_signal_statement12889	= { FOLLOW_signal_information_item_in_signal_statement12889_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_RESIGNAL_SYMBOL_in_resignal_statement12902  */
static	ANTLR3_BITWORD FOLLOW_RESIGNAL_SYMBOL_in_resignal_statement12902_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000000002001000) };
static  ANTLR3_BITSET_LIST FOLLOW_RESIGNAL_SYMBOL_in_resignal_statement12902	= { FOLLOW_RESIGNAL_SYMBOL_in_resignal_statement12902_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SQLSTATE_SYMBOL_in_resignal_statement12905  */
static	ANTLR3_BITWORD FOLLOW_SQLSTATE_SYMBOL_in_resignal_statement12905_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_SQLSTATE_SYMBOL_in_resignal_statement12905	= { FOLLOW_SQLSTATE_SYMBOL_in_resignal_statement12905_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_VALUE_SYMBOL_in_resignal_statement12907  */
static	ANTLR3_BITWORD FOLLOW_VALUE_SYMBOL_in_resignal_statement12907_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_VALUE_SYMBOL_in_resignal_statement12907	= { FOLLOW_VALUE_SYMBOL_in_resignal_statement12907_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_text_or_identifier_in_resignal_statement12910  */
static	ANTLR3_BITWORD FOLLOW_text_or_identifier_in_resignal_statement12910_bits[]	= { ANTLR3_UINT64_LIT(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) };
static  ANTLR3_BITSET_LIST FOLLOW_text_or_identifier_in_resignal_statement12910	= { FOLLOW_text_or_identifier_in_resignal_statement12910_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SET_SYMBOL_in_resignal_statement12917  */
static	ANTLR3_BITWORD FOLLOW_SET_SYMBOL_in_resignal_statement12917_bits[]	= { ANTLR3_UINT64_LIT(0x0010701022000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008008000000), ANTLR3_UINT64_LIT(0x0000040080000000), ANTLR3_UINT64_LIT(0x0000000000010010) };
static  ANTLR3_BITSET_LIST FOLLOW_SET_SYMBOL_in_resignal_statement12917	= { FOLLOW_SET_SYMBOL_in_resignal_statement12917_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_signal_information_item_in_resignal_statement12919  */
static	ANTLR3_BITWORD FOLLOW_signal_information_item_in_resignal_statement12919_bits[]	= { ANTLR3_UINT64_LIT(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) };
static  ANTLR3_BITSET_LIST FOLLOW_signal_information_item_in_resignal_statement12919	= { FOLLOW_signal_information_item_in_resignal_statement12919_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_resignal_statement12922  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_resignal_statement12922_bits[]	= { ANTLR3_UINT64_LIT(0x0010701022000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000008008000000), ANTLR3_UINT64_LIT(0x0000040080000000), ANTLR3_UINT64_LIT(0x0000000000010010) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_resignal_statement12922	= { FOLLOW_COMMA_SYMBOL_in_resignal_statement12922_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_signal_information_item_in_resignal_statement12924  */
static	ANTLR3_BITWORD FOLLOW_signal_information_item_in_resignal_statement12924_bits[]	= { ANTLR3_UINT64_LIT(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) };
static  ANTLR3_BITSET_LIST FOLLOW_signal_information_item_in_resignal_statement12924	= { FOLLOW_signal_information_item_in_resignal_statement12924_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_condition_information_item_name_in_signal_information_item12937  */
static	ANTLR3_BITWORD FOLLOW_condition_information_item_name_in_signal_information_item12937_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_condition_information_item_name_in_signal_information_item12937	= { FOLLOW_condition_information_item_name_in_signal_information_item12937_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_signal_information_item12939  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_signal_information_item12939_bits[]	= { ANTLR3_UINT64_LIT(0x0100000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000001800000), ANTLR3_UINT64_LIT(0x0300000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000C00008800010), ANTLR3_UINT64_LIT(0x0000000000000008), ANTLR3_UINT64_LIT(0x00000000000A0100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000024) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_signal_information_item12939	= { FOLLOW_EQUAL_OPERATOR_in_signal_information_item12939_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_literal_in_signal_information_item12941  */
static	ANTLR3_BITWORD FOLLOW_literal_in_signal_information_item12941_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_literal_in_signal_information_item12941	= { FOLLOW_literal_in_signal_information_item12941_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_SYMBOL_in_cursor_close12950  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_SYMBOL_in_cursor_close12950_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_SYMBOL_in_cursor_close12950	= { FOLLOW_CLOSE_SYMBOL_in_cursor_close12950_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_cursor_close12952  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_cursor_close12952_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_cursor_close12952	= { FOLLOW_identifier_in_cursor_close12952_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FETCH_SYMBOL_in_cursor_fetch12961  */
static	ANTLR3_BITWORD FOLLOW_FETCH_SYMBOL_in_cursor_fetch12961_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_FETCH_SYMBOL_in_cursor_fetch12961	= { FOLLOW_FETCH_SYMBOL_in_cursor_fetch12961_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_cursor_fetch12963  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_cursor_fetch12963_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_identifier_in_cursor_fetch12963	= { FOLLOW_identifier_in_cursor_fetch12963_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTO_SYMBOL_in_cursor_fetch12965  */
static	ANTLR3_BITWORD FOLLOW_INTO_SYMBOL_in_cursor_fetch12965_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_INTO_SYMBOL_in_cursor_fetch12965	= { FOLLOW_INTO_SYMBOL_in_cursor_fetch12965_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_list_in_cursor_fetch12967  */
static	ANTLR3_BITWORD FOLLOW_identifier_list_in_cursor_fetch12967_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_list_in_cursor_fetch12967	= { FOLLOW_identifier_list_in_cursor_fetch12967_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_SYMBOL_in_cursor_open12976  */
static	ANTLR3_BITWORD FOLLOW_OPEN_SYMBOL_in_cursor_open12976_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_SYMBOL_in_cursor_open12976	= { FOLLOW_OPEN_SYMBOL_in_cursor_open12976_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_cursor_open12978  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_cursor_open12978_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_cursor_open12978	= { FOLLOW_identifier_in_cursor_open12978_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_AT_SYMBOL_in_schedule12990  */
static	ANTLR3_BITWORD FOLLOW_AT_SYMBOL_in_schedule12990_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180AC908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_AT_SYMBOL_in_schedule12990	= { FOLLOW_AT_SYMBOL_in_schedule12990_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_schedule12992  */
static	ANTLR3_BITWORD FOLLOW_expression_in_schedule12992_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_schedule12992	= { FOLLOW_expression_in_schedule12992_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EVERY_SYMBOL_in_schedule12997  */
static	ANTLR3_BITWORD FOLLOW_EVERY_SYMBOL_in_schedule12997_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180AC908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_EVERY_SYMBOL_in_schedule12997	= { FOLLOW_EVERY_SYMBOL_in_schedule12997_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_interval_in_schedule12999  */
static	ANTLR3_BITWORD FOLLOW_interval_in_schedule12999_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x2000000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_interval_in_schedule12999	= { FOLLOW_interval_in_schedule12999_bits, 4	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_STARTS_SYMBOL_in_schedule13002  */
static	ANTLR3_BITWORD FOLLOW_STARTS_SYMBOL_in_schedule13002_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180AC908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_STARTS_SYMBOL_in_schedule13002	= { FOLLOW_STARTS_SYMBOL_in_schedule13002_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_schedule13004  */
static	ANTLR3_BITWORD FOLLOW_expression_in_schedule13004_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000080) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_schedule13004	= { FOLLOW_expression_in_schedule13004_bits, 2	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ENDS_SYMBOL_in_schedule13009  */
static	ANTLR3_BITWORD FOLLOW_ENDS_SYMBOL_in_schedule13009_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180AC908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_ENDS_SYMBOL_in_schedule13009	= { FOLLOW_ENDS_SYMBOL_in_schedule13009_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_schedule13011  */
static	ANTLR3_BITWORD FOLLOW_expression_in_schedule13011_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_schedule13011	= { FOLLOW_expression_in_schedule13011_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DEFAULT_SYMBOL_in_database_option13022  */
static	ANTLR3_BITWORD FOLLOW_DEFAULT_SYMBOL_in_database_option13022_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000021000) };
static  ANTLR3_BITSET_LIST FOLLOW_DEFAULT_SYMBOL_in_database_option13022	= { FOLLOW_DEFAULT_SYMBOL_in_database_option13022_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CHAR_SYMBOL_in_database_option13032  */
static	ANTLR3_BITWORD FOLLOW_CHAR_SYMBOL_in_database_option13032_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_CHAR_SYMBOL_in_database_option13032	= { FOLLOW_CHAR_SYMBOL_in_database_option13032_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SET_SYMBOL_in_database_option13034  */
static	ANTLR3_BITWORD FOLLOW_SET_SYMBOL_in_database_option13034_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0044000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0020000000000000), ANTLR3_UINT64_LIT(0x0010000000002010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_SET_SYMBOL_in_database_option13034	= { FOLLOW_SET_SYMBOL_in_database_option13034_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_database_option13036  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_database_option13036_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0044000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0020000000000000), ANTLR3_UINT64_LIT(0x0010000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_database_option13036	= { FOLLOW_EQUAL_OPERATOR_in_database_option13036_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_charset_name_or_default_in_database_option13039  */
static	ANTLR3_BITWORD FOLLOW_charset_name_or_default_in_database_option13039_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_charset_name_or_default_in_database_option13039	= { FOLLOW_charset_name_or_default_in_database_option13039_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COLLATE_SYMBOL_in_database_option13046  */
static	ANTLR3_BITWORD FOLLOW_COLLATE_SYMBOL_in_database_option13046_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0020000000000000), ANTLR3_UINT64_LIT(0x0010000000002010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_COLLATE_SYMBOL_in_database_option13046	= { FOLLOW_COLLATE_SYMBOL_in_database_option13046_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_database_option13048  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_database_option13048_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0020000000000000), ANTLR3_UINT64_LIT(0x0010000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_database_option13048	= { FOLLOW_EQUAL_OPERATOR_in_database_option13048_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_collation_name_or_default_in_database_option13051  */
static	ANTLR3_BITWORD FOLLOW_collation_name_or_default_in_database_option13051_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_collation_name_or_default_in_database_option13051	= { FOLLOW_collation_name_or_default_in_database_option13051_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_field_spec_in_column_definition13064  */
static	ANTLR3_BITWORD FOLLOW_field_spec_in_column_definition13064_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), 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(0x0000000000000000), ANTLR3_UINT64_LIT(0x0020000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_field_spec_in_column_definition13064	= { FOLLOW_field_spec_in_column_definition13064_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_reference_definition_in_column_definition13067  */
static	ANTLR3_BITWORD FOLLOW_reference_definition_in_column_definition13067_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_reference_definition_in_column_definition13067	= { FOLLOW_reference_definition_in_column_definition13067_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CHECK_SYMBOL_in_column_definition13072  */
static	ANTLR3_BITWORD FOLLOW_CHECK_SYMBOL_in_column_definition13072_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_column_definition13072	= { FOLLOW_CHECK_SYMBOL_in_column_definition13072_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_column_definition13074  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_column_definition13074_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180AC908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_column_definition13074	= { FOLLOW_OPEN_PAR_SYMBOL_in_column_definition13074_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_column_definition13076  */
static	ANTLR3_BITWORD FOLLOW_expression_in_column_definition13076_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000010000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_column_definition13076	= { FOLLOW_expression_in_column_definition13076_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_column_definition13078  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_column_definition13078_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_column_definition13078	= { FOLLOW_CLOSE_PAR_SYMBOL_in_column_definition13078_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_field_spec13090  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_field_spec13090_bits[]	= { ANTLR3_UINT64_LIT(0x0180000000680000), ANTLR3_UINT64_LIT(0x00800000C2000400), ANTLR3_UINT64_LIT(0x00080C3800000000), ANTLR3_UINT64_LIT(0x000020000000000C), ANTLR3_UINT64_LIT(0x0002000001880000), ANTLR3_UINT64_LIT(0x0060000000000000), ANTLR3_UINT64_LIT(0x0004000000001002), ANTLR3_UINT64_LIT(0x0000000040000020), ANTLR3_UINT64_LIT(0x01C0580000000090), ANTLR3_UINT64_LIT(0x0010000000100000), ANTLR3_UINT64_LIT(0x3800000000201000), ANTLR3_UINT64_LIT(0x0000000000280000) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_field_spec13090	= { FOLLOW_identifier_in_field_spec13090_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_data_type_in_field_spec13092  */
static	ANTLR3_BITWORD FOLLOW_data_type_in_field_spec13092_bits[]	= { ANTLR3_UINT64_LIT(0x0000000800008002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000200000000000), ANTLR3_UINT64_LIT(0x0400000000000004), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0020000000020000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x00201000020A4000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100) };
static  ANTLR3_BITSET_LIST FOLLOW_data_type_in_field_spec13092	= { FOLLOW_data_type_in_field_spec13092_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_attribute_in_field_spec13094  */
static	ANTLR3_BITWORD FOLLOW_attribute_in_field_spec13094_bits[]	= { ANTLR3_UINT64_LIT(0x0000000800008002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000200000000000), ANTLR3_UINT64_LIT(0x0400000000000004), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0020000000020000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x00201000020A4000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100) };
static  ANTLR3_BITSET_LIST FOLLOW_attribute_in_field_spec13094	= { FOLLOW_attribute_in_field_spec13094_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_reference_definition_in_field_spec13111  */
static	ANTLR3_BITWORD FOLLOW_reference_definition_in_field_spec13111_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_reference_definition_in_field_spec13111	= { FOLLOW_reference_definition_in_field_spec13111_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_NOT_SYMBOL_in_attribute13122  */
static	ANTLR3_BITWORD FOLLOW_NOT_SYMBOL_in_attribute13122_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x00000000000A0000) };
static  ANTLR3_BITSET_LIST FOLLOW_NOT_SYMBOL_in_attribute13122	= { FOLLOW_NOT_SYMBOL_in_attribute13122_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_null_literal_in_attribute13125  */
static	ANTLR3_BITWORD FOLLOW_null_literal_in_attribute13125_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_null_literal_in_attribute13125	= { FOLLOW_null_literal_in_attribute13125_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DEFAULT_SYMBOL_in_attribute13130  */
static	ANTLR3_BITWORD FOLLOW_DEFAULT_SYMBOL_in_attribute13130_bits[]	= { ANTLR3_UINT64_LIT(0x0100000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000001800000), ANTLR3_UINT64_LIT(0x0300000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000C00008800010), ANTLR3_UINT64_LIT(0x0000000000000008), ANTLR3_UINT64_LIT(0x00000000000A8100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000024) };
static  ANTLR3_BITSET_LIST FOLLOW_DEFAULT_SYMBOL_in_attribute13130	= { FOLLOW_DEFAULT_SYMBOL_in_attribute13130_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_literal_in_attribute13133  */
static	ANTLR3_BITWORD FOLLOW_literal_in_attribute13133_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_literal_in_attribute13133	= { FOLLOW_literal_in_attribute13133_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_NOW_SYMBOL_in_attribute13137  */
static	ANTLR3_BITWORD FOLLOW_NOW_SYMBOL_in_attribute13137_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000000010000000) };
static  ANTLR3_BITSET_LIST FOLLOW_NOW_SYMBOL_in_attribute13137	= { FOLLOW_NOW_SYMBOL_in_attribute13137_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_time_function_parameters_in_attribute13139  */
static	ANTLR3_BITWORD FOLLOW_time_function_parameters_in_attribute13139_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_time_function_parameters_in_attribute13139	= { FOLLOW_time_function_parameters_in_attribute13139_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ON_SYMBOL_in_attribute13146  */
static	ANTLR3_BITWORD FOLLOW_ON_SYMBOL_in_attribute13146_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_ON_SYMBOL_in_attribute13146	= { FOLLOW_ON_SYMBOL_in_attribute13146_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_UPDATE_SYMBOL_in_attribute13148  */
static	ANTLR3_BITWORD FOLLOW_UPDATE_SYMBOL_in_attribute13148_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_UPDATE_SYMBOL_in_attribute13148	= { FOLLOW_UPDATE_SYMBOL_in_attribute13148_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_NOW_SYMBOL_in_attribute13150  */
static	ANTLR3_BITWORD FOLLOW_NOW_SYMBOL_in_attribute13150_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000000010000000) };
static  ANTLR3_BITSET_LIST FOLLOW_NOW_SYMBOL_in_attribute13150	= { FOLLOW_NOW_SYMBOL_in_attribute13150_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_time_function_parameters_in_attribute13152  */
static	ANTLR3_BITWORD FOLLOW_time_function_parameters_in_attribute13152_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_time_function_parameters_in_attribute13152	= { FOLLOW_time_function_parameters_in_attribute13152_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_AUTO_INCREMENT_SYMBOL_in_attribute13158  */
static	ANTLR3_BITWORD FOLLOW_AUTO_INCREMENT_SYMBOL_in_attribute13158_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_AUTO_INCREMENT_SYMBOL_in_attribute13158	= { FOLLOW_AUTO_INCREMENT_SYMBOL_in_attribute13158_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SERIAL_SYMBOL_in_attribute13163  */
static	ANTLR3_BITWORD FOLLOW_SERIAL_SYMBOL_in_attribute13163_bits[]	= { ANTLR3_UINT64_LIT(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_SERIAL_SYMBOL_in_attribute13163	= { FOLLOW_SERIAL_SYMBOL_in_attribute13163_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DEFAULT_SYMBOL_in_attribute13165  */
static	ANTLR3_BITWORD FOLLOW_DEFAULT_SYMBOL_in_attribute13165_bits[]	= { 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_attribute13165	= { FOLLOW_DEFAULT_SYMBOL_in_attribute13165_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_VALUE_SYMBOL_in_attribute13167  */
static	ANTLR3_BITWORD FOLLOW_VALUE_SYMBOL_in_attribute13167_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_VALUE_SYMBOL_in_attribute13167	= { FOLLOW_VALUE_SYMBOL_in_attribute13167_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_UNIQUE_SYMBOL_in_attribute13174  */
static	ANTLR3_BITWORD FOLLOW_UNIQUE_SYMBOL_in_attribute13174_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_UNIQUE_SYMBOL_in_attribute13174	= { FOLLOW_UNIQUE_SYMBOL_in_attribute13174_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_attribute13179  */
static	ANTLR3_BITWORD FOLLOW_set_in_attribute13179_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_attribute13179	= { FOLLOW_set_in_attribute13179_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_KEY_SYMBOL_in_attribute13187  */
static	ANTLR3_BITWORD FOLLOW_KEY_SYMBOL_in_attribute13187_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_KEY_SYMBOL_in_attribute13187	= { FOLLOW_KEY_SYMBOL_in_attribute13187_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_KEY_SYMBOL_in_attribute13192  */
static	ANTLR3_BITWORD FOLLOW_KEY_SYMBOL_in_attribute13192_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_KEY_SYMBOL_in_attribute13192	= { FOLLOW_KEY_SYMBOL_in_attribute13192_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMENT_SYMBOL_in_attribute13197  */
static	ANTLR3_BITWORD FOLLOW_COMMENT_SYMBOL_in_attribute13197_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMENT_SYMBOL_in_attribute13197	= { FOLLOW_COMMENT_SYMBOL_in_attribute13197_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_attribute13199  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_attribute13199_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_attribute13199	= { FOLLOW_string_literal_in_attribute13199_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COLLATE_SYMBOL_in_attribute13204  */
static	ANTLR3_BITWORD FOLLOW_COLLATE_SYMBOL_in_attribute13204_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_COLLATE_SYMBOL_in_attribute13204	= { FOLLOW_COLLATE_SYMBOL_in_attribute13204_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_text_or_identifier_in_attribute13206  */
static	ANTLR3_BITWORD FOLLOW_text_or_identifier_in_attribute13206_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_text_or_identifier_in_attribute13206	= { FOLLOW_text_or_identifier_in_attribute13206_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COLUMN_FORMAT_SYMBOL_in_attribute13211  */
static	ANTLR3_BITWORD FOLLOW_COLUMN_FORMAT_SYMBOL_in_attribute13211_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000002000020), 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_COLUMN_FORMAT_SYMBOL_in_attribute13211	= { FOLLOW_COLUMN_FORMAT_SYMBOL_in_attribute13211_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_attribute13213  */
static	ANTLR3_BITWORD FOLLOW_set_in_attribute13213_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_attribute13213	= { FOLLOW_set_in_attribute13213_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_STORAGE_SYMBOL_in_attribute13228  */
static	ANTLR3_BITWORD FOLLOW_STORAGE_SYMBOL_in_attribute13228_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000004), ANTLR3_UINT64_LIT(0x0000000002000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0020000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_STORAGE_SYMBOL_in_attribute13228	= { FOLLOW_STORAGE_SYMBOL_in_attribute13228_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_attribute13230  */
static	ANTLR3_BITWORD FOLLOW_set_in_attribute13230_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_attribute13230	= { FOLLOW_set_in_attribute13230_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_REFERENCES_SYMBOL_in_reference_definition13249  */
static	ANTLR3_BITWORD FOLLOW_REFERENCES_SYMBOL_in_reference_definition13249_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000012) };
static  ANTLR3_BITSET_LIST FOLLOW_REFERENCES_SYMBOL_in_reference_definition13249	= { FOLLOW_REFERENCES_SYMBOL_in_reference_definition13249_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_identifier_in_reference_definition13252  */
static	ANTLR3_BITWORD FOLLOW_table_identifier_in_reference_definition13252_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000000012000000) };
static  ANTLR3_BITSET_LIST FOLLOW_table_identifier_in_reference_definition13252	= { FOLLOW_table_identifier_in_reference_definition13252_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_reference_definition13255  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_reference_definition13255_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_reference_definition13255	= { FOLLOW_OPEN_PAR_SYMBOL_in_reference_definition13255_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_index_column_in_reference_definition13257  */
static	ANTLR3_BITWORD FOLLOW_index_column_in_reference_definition13257_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000210000) };
static  ANTLR3_BITSET_LIST FOLLOW_index_column_in_reference_definition13257	= { FOLLOW_index_column_in_reference_definition13257_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_reference_definition13260  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_reference_definition13260_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_reference_definition13260	= { FOLLOW_COMMA_SYMBOL_in_reference_definition13260_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_index_column_in_reference_definition13262  */
static	ANTLR3_BITWORD FOLLOW_index_column_in_reference_definition13262_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000010000) };
static  ANTLR3_BITSET_LIST FOLLOW_index_column_in_reference_definition13262	= { FOLLOW_index_column_in_reference_definition13262_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_reference_definition13266  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_reference_definition13266_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000000002000000) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_reference_definition13266	= { FOLLOW_CLOSE_PAR_SYMBOL_in_reference_definition13266_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MATCH_SYMBOL_in_reference_definition13273  */
static	ANTLR3_BITWORD FOLLOW_MATCH_SYMBOL_in_reference_definition13273_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000), ANTLR3_UINT64_LIT(0x0400000000000000), ANTLR3_UINT64_LIT(0x0002000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_MATCH_SYMBOL_in_reference_definition13273	= { FOLLOW_MATCH_SYMBOL_in_reference_definition13273_bits, 4	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_reference_definition13275  */
static	ANTLR3_BITWORD FOLLOW_set_in_reference_definition13275_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000000002000000) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_reference_definition13275	= { FOLLOW_set_in_reference_definition13275_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ON_SYMBOL_in_reference_definition13292  */
static	ANTLR3_BITWORD FOLLOW_ON_SYMBOL_in_reference_definition13292_bits[]	= { ANTLR3_UINT64_LIT(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_ON_SYMBOL_in_reference_definition13292	= { FOLLOW_ON_SYMBOL_in_reference_definition13292_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DELETE_SYMBOL_in_reference_definition13294  */
static	ANTLR3_BITWORD FOLLOW_DELETE_SYMBOL_in_reference_definition13294_bits[]	= { 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(0x0000000000000040), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x2000000000000000), ANTLR3_UINT64_LIT(0x0000000000001000) };
static  ANTLR3_BITSET_LIST FOLLOW_DELETE_SYMBOL_in_reference_definition13294	= { FOLLOW_DELETE_SYMBOL_in_reference_definition13294_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_reference_option_in_reference_definition13296  */
static	ANTLR3_BITWORD FOLLOW_reference_option_in_reference_definition13296_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000000002000000) };
static  ANTLR3_BITSET_LIST FOLLOW_reference_option_in_reference_definition13296	= { FOLLOW_reference_option_in_reference_definition13296_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ON_SYMBOL_in_reference_definition13303  */
static	ANTLR3_BITWORD FOLLOW_ON_SYMBOL_in_reference_definition13303_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_ON_SYMBOL_in_reference_definition13303	= { FOLLOW_ON_SYMBOL_in_reference_definition13303_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_UPDATE_SYMBOL_in_reference_definition13305  */
static	ANTLR3_BITWORD FOLLOW_UPDATE_SYMBOL_in_reference_definition13305_bits[]	= { 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(0x0000000000000040), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x2000000000000000), ANTLR3_UINT64_LIT(0x0000000000001000) };
static  ANTLR3_BITSET_LIST FOLLOW_UPDATE_SYMBOL_in_reference_definition13305	= { FOLLOW_UPDATE_SYMBOL_in_reference_definition13305_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_reference_option_in_reference_definition13307  */
static	ANTLR3_BITWORD FOLLOW_reference_option_in_reference_definition13307_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_reference_option_in_reference_definition13307	= { FOLLOW_reference_option_in_reference_definition13307_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_index_columns13318  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_index_columns13318_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_index_columns13318	= { FOLLOW_OPEN_PAR_SYMBOL_in_index_columns13318_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_index_column_in_index_columns13320  */
static	ANTLR3_BITWORD FOLLOW_index_column_in_index_columns13320_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000210000) };
static  ANTLR3_BITSET_LIST FOLLOW_index_column_in_index_columns13320	= { FOLLOW_index_column_in_index_columns13320_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_index_columns13323  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_index_columns13323_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_index_columns13323	= { FOLLOW_COMMA_SYMBOL_in_index_columns13323_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_index_column_in_index_columns13325  */
static	ANTLR3_BITWORD FOLLOW_index_column_in_index_columns13325_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000210000) };
static  ANTLR3_BITSET_LIST FOLLOW_index_column_in_index_columns13325	= { FOLLOW_index_column_in_index_columns13325_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_index_columns13329  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_index_columns13329_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_index_columns13329	= { FOLLOW_CLOSE_PAR_SYMBOL_in_index_columns13329_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_index_column13338  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_index_column13338_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000080000000000), ANTLR3_UINT64_LIT(0x0200000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000010000000) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_index_column13338	= { FOLLOW_identifier_in_index_column13338_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_field_length_in_index_column13340  */
static	ANTLR3_BITWORD FOLLOW_field_length_in_index_column13340_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000080000000000), ANTLR3_UINT64_LIT(0x0200000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_field_length_in_index_column13340	= { FOLLOW_field_length_in_index_column13340_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_direction_in_index_column13343  */
static	ANTLR3_BITWORD FOLLOW_direction_in_index_column13343_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_direction_in_index_column13343	= { FOLLOW_direction_in_index_column13343_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_index_type13353  */
static	ANTLR3_BITWORD FOLLOW_set_in_index_type13353_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000800000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000010000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_index_type13353	= { FOLLOW_set_in_index_type13353_bits, 4	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_index_type13361  */
static	ANTLR3_BITWORD FOLLOW_set_in_index_type13361_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_index_type13361	= { FOLLOW_set_in_index_type13361_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_index_type_in_index_option13380  */
static	ANTLR3_BITWORD FOLLOW_index_type_in_index_option13380_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_index_type_in_index_option13380	= { FOLLOW_index_type_in_index_option13380_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_spatial_index_option_in_index_option13385  */
static	ANTLR3_BITWORD FOLLOW_spatial_index_option_in_index_option13385_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_spatial_index_option_in_index_option13385	= { FOLLOW_spatial_index_option_in_index_option13385_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_WITH_SYMBOL_in_fulltext_index_option13394  */
static	ANTLR3_BITWORD FOLLOW_WITH_SYMBOL_in_fulltext_index_option13394_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_WITH_SYMBOL_in_fulltext_index_option13394	= { FOLLOW_WITH_SYMBOL_in_fulltext_index_option13394_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PARSER_SYMBOL_in_fulltext_index_option13396  */
static	ANTLR3_BITWORD FOLLOW_PARSER_SYMBOL_in_fulltext_index_option13396_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_PARSER_SYMBOL_in_fulltext_index_option13396	= { FOLLOW_PARSER_SYMBOL_in_fulltext_index_option13396_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_fulltext_index_option13398  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_fulltext_index_option13398_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_fulltext_index_option13398	= { FOLLOW_identifier_in_fulltext_index_option13398_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_spatial_index_option_in_fulltext_index_option13403  */
static	ANTLR3_BITWORD FOLLOW_spatial_index_option_in_fulltext_index_option13403_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_spatial_index_option_in_fulltext_index_option13403	= { FOLLOW_spatial_index_option_in_fulltext_index_option13403_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_KEY_BLOCK_SIZE_SYMBOL_in_spatial_index_option13412  */
static	ANTLR3_BITWORD FOLLOW_KEY_BLOCK_SIZE_SYMBOL_in_spatial_index_option13412_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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(0x0000000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_KEY_BLOCK_SIZE_SYMBOL_in_spatial_index_option13412	= { FOLLOW_KEY_BLOCK_SIZE_SYMBOL_in_spatial_index_option13412_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_spatial_index_option13414  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_spatial_index_option13414_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_EQUAL_OPERATOR_in_spatial_index_option13414	= { FOLLOW_EQUAL_OPERATOR_in_spatial_index_option13414_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_spatial_index_option13417  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_spatial_index_option13417_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_INTEGER_in_spatial_index_option13417	= { FOLLOW_INTEGER_in_spatial_index_option13417_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMENT_SYMBOL_in_spatial_index_option13426  */
static	ANTLR3_BITWORD FOLLOW_COMMENT_SYMBOL_in_spatial_index_option13426_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMENT_SYMBOL_in_spatial_index_option13426	= { FOLLOW_COMMENT_SYMBOL_in_spatial_index_option13426_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_spatial_index_option13428  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_spatial_index_option13428_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_spatial_index_option13428	= { FOLLOW_string_literal_in_spatial_index_option13428_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_RESTRICT_SYMBOL_in_reference_option13437  */
static	ANTLR3_BITWORD FOLLOW_RESTRICT_SYMBOL_in_reference_option13437_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_RESTRICT_SYMBOL_in_reference_option13437	= { FOLLOW_RESTRICT_SYMBOL_in_reference_option13437_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CASCADE_SYMBOL_in_reference_option13441  */
static	ANTLR3_BITWORD FOLLOW_CASCADE_SYMBOL_in_reference_option13441_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CASCADE_SYMBOL_in_reference_option13441	= { FOLLOW_CASCADE_SYMBOL_in_reference_option13441_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SET_SYMBOL_in_reference_option13445  */
static	ANTLR3_BITWORD FOLLOW_SET_SYMBOL_in_reference_option13445_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x00000000000A0000) };
static  ANTLR3_BITSET_LIST FOLLOW_SET_SYMBOL_in_reference_option13445	= { FOLLOW_SET_SYMBOL_in_reference_option13445_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_null_literal_in_reference_option13447  */
static	ANTLR3_BITWORD FOLLOW_null_literal_in_reference_option13447_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_null_literal_in_reference_option13447	= { FOLLOW_null_literal_in_reference_option13447_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_NO_SYMBOL_in_reference_option13451  */
static	ANTLR3_BITWORD FOLLOW_NO_SYMBOL_in_reference_option13451_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_NO_SYMBOL_in_reference_option13451	= { FOLLOW_NO_SYMBOL_in_reference_option13451_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ACTION_SYMBOL_in_reference_option13453  */
static	ANTLR3_BITWORD FOLLOW_ACTION_SYMBOL_in_reference_option13453_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_ACTION_SYMBOL_in_reference_option13453	= { FOLLOW_ACTION_SYMBOL_in_reference_option13453_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_data_type_elements_in_data_type13462  */
static	ANTLR3_BITWORD FOLLOW_data_type_elements_in_data_type13462_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_data_type_elements_in_data_type13462	= { FOLLOW_data_type_elements_in_data_type13462_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_integer_type_in_data_type_elements13479  */
static	ANTLR3_BITWORD FOLLOW_integer_type_in_data_type_elements13479_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), 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(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000010000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000040000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_integer_type_in_data_type_elements13479	= { FOLLOW_integer_type_in_data_type_elements13479_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_field_length_in_data_type_elements13481  */
static	ANTLR3_BITWORD FOLLOW_field_length_in_data_type_elements13481_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), 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(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000040000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_field_length_in_data_type_elements13481	= { FOLLOW_field_length_in_data_type_elements13481_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_field_options_in_data_type_elements13484  */
static	ANTLR3_BITWORD FOLLOW_field_options_in_data_type_elements13484_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_field_options_in_data_type_elements13484	= { FOLLOW_field_options_in_data_type_elements13484_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_real_literal_in_data_type_elements13491  */
static	ANTLR3_BITWORD FOLLOW_real_literal_in_data_type_elements13491_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), 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(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000010000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000040000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_real_literal_in_data_type_elements13491	= { FOLLOW_real_literal_in_data_type_elements13491_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_precision_in_data_type_elements13493  */
static	ANTLR3_BITWORD FOLLOW_precision_in_data_type_elements13493_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), 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(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000040000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_precision_in_data_type_elements13493	= { FOLLOW_precision_in_data_type_elements13493_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_field_options_in_data_type_elements13496  */
static	ANTLR3_BITWORD FOLLOW_field_options_in_data_type_elements13496_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_field_options_in_data_type_elements13496	= { FOLLOW_field_options_in_data_type_elements13496_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FLOAT_SYMBOL_in_data_type_elements13502  */
static	ANTLR3_BITWORD FOLLOW_FLOAT_SYMBOL_in_data_type_elements13502_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), 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(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000010000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000040000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_FLOAT_SYMBOL_in_data_type_elements13502	= { FOLLOW_FLOAT_SYMBOL_in_data_type_elements13502_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_float_options_in_data_type_elements13504  */
static	ANTLR3_BITWORD FOLLOW_float_options_in_data_type_elements13504_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), 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(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000040000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_float_options_in_data_type_elements13504	= { FOLLOW_float_options_in_data_type_elements13504_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_field_options_in_data_type_elements13507  */
static	ANTLR3_BITWORD FOLLOW_field_options_in_data_type_elements13507_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_field_options_in_data_type_elements13507	= { FOLLOW_field_options_in_data_type_elements13507_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BIT_SYMBOL_in_data_type_elements13515  */
static	ANTLR3_BITWORD FOLLOW_BIT_SYMBOL_in_data_type_elements13515_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000000010000000) };
static  ANTLR3_BITSET_LIST FOLLOW_BIT_SYMBOL_in_data_type_elements13515	= { FOLLOW_BIT_SYMBOL_in_data_type_elements13515_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_field_length_in_data_type_elements13517  */
static	ANTLR3_BITWORD FOLLOW_field_length_in_data_type_elements13517_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_field_length_in_data_type_elements13517	= { FOLLOW_field_length_in_data_type_elements13517_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BOOL_SYMBOL_in_data_type_elements13523  */
static	ANTLR3_BITWORD FOLLOW_BOOL_SYMBOL_in_data_type_elements13523_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_BOOL_SYMBOL_in_data_type_elements13523	= { FOLLOW_BOOL_SYMBOL_in_data_type_elements13523_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BOOLEAN_SYMBOL_in_data_type_elements13528  */
static	ANTLR3_BITWORD FOLLOW_BOOLEAN_SYMBOL_in_data_type_elements13528_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_BOOLEAN_SYMBOL_in_data_type_elements13528	= { FOLLOW_BOOLEAN_SYMBOL_in_data_type_elements13528_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CHAR_SYMBOL_in_data_type_elements13535  */
static	ANTLR3_BITWORD FOLLOW_CHAR_SYMBOL_in_data_type_elements13535_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x00A4000000000000), ANTLR3_UINT64_LIT(0x0040000040000000), ANTLR3_UINT64_LIT(0x0000000000001000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000010000000) };
static  ANTLR3_BITSET_LIST FOLLOW_CHAR_SYMBOL_in_data_type_elements13535	= { FOLLOW_CHAR_SYMBOL_in_data_type_elements13535_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_field_length_in_data_type_elements13537  */
static	ANTLR3_BITWORD FOLLOW_field_length_in_data_type_elements13537_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x00A4000000000000), ANTLR3_UINT64_LIT(0x0040000040000000), ANTLR3_UINT64_LIT(0x0000000000001000) };
static  ANTLR3_BITSET_LIST FOLLOW_field_length_in_data_type_elements13537	= { FOLLOW_field_length_in_data_type_elements13537_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_binary_in_data_type_elements13540  */
static	ANTLR3_BITWORD FOLLOW_string_binary_in_data_type_elements13540_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_binary_in_data_type_elements13540	= { FOLLOW_string_binary_in_data_type_elements13540_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_nchar_literal_in_data_type_elements13546  */
static	ANTLR3_BITWORD FOLLOW_nchar_literal_in_data_type_elements13546_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0040000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000010000000) };
static  ANTLR3_BITSET_LIST FOLLOW_nchar_literal_in_data_type_elements13546	= { FOLLOW_nchar_literal_in_data_type_elements13546_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_field_length_in_data_type_elements13548  */
static	ANTLR3_BITWORD FOLLOW_field_length_in_data_type_elements13548_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), 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_field_length_in_data_type_elements13548	= { FOLLOW_field_length_in_data_type_elements13548_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BINARY_SYMBOL_in_data_type_elements13551  */
static	ANTLR3_BITWORD FOLLOW_BINARY_SYMBOL_in_data_type_elements13551_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_BINARY_SYMBOL_in_data_type_elements13551	= { FOLLOW_BINARY_SYMBOL_in_data_type_elements13551_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BINARY_SYMBOL_in_data_type_elements13557  */
static	ANTLR3_BITWORD FOLLOW_BINARY_SYMBOL_in_data_type_elements13557_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000000010000000) };
static  ANTLR3_BITSET_LIST FOLLOW_BINARY_SYMBOL_in_data_type_elements13557	= { FOLLOW_BINARY_SYMBOL_in_data_type_elements13557_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_field_length_in_data_type_elements13559  */
static	ANTLR3_BITWORD FOLLOW_field_length_in_data_type_elements13559_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_field_length_in_data_type_elements13559	= { FOLLOW_field_length_in_data_type_elements13559_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_varchar_literal_in_data_type_elements13565  */
static	ANTLR3_BITWORD FOLLOW_varchar_literal_in_data_type_elements13565_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_varchar_literal_in_data_type_elements13565	= { FOLLOW_varchar_literal_in_data_type_elements13565_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_field_length_in_data_type_elements13567  */
static	ANTLR3_BITWORD FOLLOW_field_length_in_data_type_elements13567_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x00A4000000000000), ANTLR3_UINT64_LIT(0x0040000040000000), ANTLR3_UINT64_LIT(0x0000000000001000) };
static  ANTLR3_BITSET_LIST FOLLOW_field_length_in_data_type_elements13567	= { FOLLOW_field_length_in_data_type_elements13567_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_binary_in_data_type_elements13569  */
static	ANTLR3_BITWORD FOLLOW_string_binary_in_data_type_elements13569_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_binary_in_data_type_elements13569	= { FOLLOW_string_binary_in_data_type_elements13569_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_nvarchar_literal_in_data_type_elements13575  */
static	ANTLR3_BITWORD FOLLOW_nvarchar_literal_in_data_type_elements13575_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_nvarchar_literal_in_data_type_elements13575	= { FOLLOW_nvarchar_literal_in_data_type_elements13575_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_field_length_in_data_type_elements13577  */
static	ANTLR3_BITWORD FOLLOW_field_length_in_data_type_elements13577_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x00A4000000000000), ANTLR3_UINT64_LIT(0x0040000040000000), ANTLR3_UINT64_LIT(0x0000000000001000) };
static  ANTLR3_BITSET_LIST FOLLOW_field_length_in_data_type_elements13577	= { FOLLOW_field_length_in_data_type_elements13577_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_binary_in_data_type_elements13579  */
static	ANTLR3_BITWORD FOLLOW_string_binary_in_data_type_elements13579_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_binary_in_data_type_elements13579	= { FOLLOW_string_binary_in_data_type_elements13579_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_VARBINARY_SYMBOL_in_data_type_elements13586  */
static	ANTLR3_BITWORD FOLLOW_VARBINARY_SYMBOL_in_data_type_elements13586_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_VARBINARY_SYMBOL_in_data_type_elements13586	= { FOLLOW_VARBINARY_SYMBOL_in_data_type_elements13586_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_field_length_in_data_type_elements13588  */
static	ANTLR3_BITWORD FOLLOW_field_length_in_data_type_elements13588_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_field_length_in_data_type_elements13588	= { FOLLOW_field_length_in_data_type_elements13588_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_YEAR_SYMBOL_in_data_type_elements13594  */
static	ANTLR3_BITWORD FOLLOW_YEAR_SYMBOL_in_data_type_elements13594_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), 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(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000010000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000040000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_YEAR_SYMBOL_in_data_type_elements13594	= { FOLLOW_YEAR_SYMBOL_in_data_type_elements13594_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_field_length_in_data_type_elements13596  */
static	ANTLR3_BITWORD FOLLOW_field_length_in_data_type_elements13596_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), 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(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000040000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_field_length_in_data_type_elements13596	= { FOLLOW_field_length_in_data_type_elements13596_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_field_options_in_data_type_elements13599  */
static	ANTLR3_BITWORD FOLLOW_field_options_in_data_type_elements13599_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_field_options_in_data_type_elements13599	= { FOLLOW_field_options_in_data_type_elements13599_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DATE_SYMBOL_in_data_type_elements13605  */
static	ANTLR3_BITWORD FOLLOW_DATE_SYMBOL_in_data_type_elements13605_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_DATE_SYMBOL_in_data_type_elements13605	= { FOLLOW_DATE_SYMBOL_in_data_type_elements13605_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TIME_SYMBOL_in_data_type_elements13610  */
static	ANTLR3_BITWORD FOLLOW_TIME_SYMBOL_in_data_type_elements13610_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000000010000000) };
static  ANTLR3_BITSET_LIST FOLLOW_TIME_SYMBOL_in_data_type_elements13610	= { FOLLOW_TIME_SYMBOL_in_data_type_elements13610_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_type_datetime_precision_in_data_type_elements13612  */
static	ANTLR3_BITWORD FOLLOW_type_datetime_precision_in_data_type_elements13612_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_type_datetime_precision_in_data_type_elements13612	= { FOLLOW_type_datetime_precision_in_data_type_elements13612_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TIMESTAMP_SYMBOL_in_data_type_elements13618  */
static	ANTLR3_BITWORD FOLLOW_TIMESTAMP_SYMBOL_in_data_type_elements13618_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000000010000000) };
static  ANTLR3_BITSET_LIST FOLLOW_TIMESTAMP_SYMBOL_in_data_type_elements13618	= { FOLLOW_TIMESTAMP_SYMBOL_in_data_type_elements13618_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_type_datetime_precision_in_data_type_elements13620  */
static	ANTLR3_BITWORD FOLLOW_type_datetime_precision_in_data_type_elements13620_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_type_datetime_precision_in_data_type_elements13620	= { FOLLOW_type_datetime_precision_in_data_type_elements13620_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DATETIME_SYMBOL_in_data_type_elements13626  */
static	ANTLR3_BITWORD FOLLOW_DATETIME_SYMBOL_in_data_type_elements13626_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000000010000000) };
static  ANTLR3_BITSET_LIST FOLLOW_DATETIME_SYMBOL_in_data_type_elements13626	= { FOLLOW_DATETIME_SYMBOL_in_data_type_elements13626_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_type_datetime_precision_in_data_type_elements13628  */
static	ANTLR3_BITWORD FOLLOW_type_datetime_precision_in_data_type_elements13628_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_type_datetime_precision_in_data_type_elements13628	= { FOLLOW_type_datetime_precision_in_data_type_elements13628_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TINYBLOB_SYMBOL_in_data_type_elements13635  */
static	ANTLR3_BITWORD FOLLOW_TINYBLOB_SYMBOL_in_data_type_elements13635_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_TINYBLOB_SYMBOL_in_data_type_elements13635	= { FOLLOW_TINYBLOB_SYMBOL_in_data_type_elements13635_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BLOB_SYMBOL_in_data_type_elements13640  */
static	ANTLR3_BITWORD FOLLOW_BLOB_SYMBOL_in_data_type_elements13640_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000000010000000) };
static  ANTLR3_BITSET_LIST FOLLOW_BLOB_SYMBOL_in_data_type_elements13640	= { FOLLOW_BLOB_SYMBOL_in_data_type_elements13640_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_field_length_in_data_type_elements13642  */
static	ANTLR3_BITWORD FOLLOW_field_length_in_data_type_elements13642_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_field_length_in_data_type_elements13642	= { FOLLOW_field_length_in_data_type_elements13642_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MEDIUMBLOB_SYMBOL_in_data_type_elements13648  */
static	ANTLR3_BITWORD FOLLOW_MEDIUMBLOB_SYMBOL_in_data_type_elements13648_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_MEDIUMBLOB_SYMBOL_in_data_type_elements13648	= { FOLLOW_MEDIUMBLOB_SYMBOL_in_data_type_elements13648_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_LONGBLOB_SYMBOL_in_data_type_elements13653  */
static	ANTLR3_BITWORD FOLLOW_LONGBLOB_SYMBOL_in_data_type_elements13653_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_LONGBLOB_SYMBOL_in_data_type_elements13653	= { FOLLOW_LONGBLOB_SYMBOL_in_data_type_elements13653_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_LONG_SYMBOL_in_data_type_elements13658  */
static	ANTLR3_BITWORD FOLLOW_LONG_SYMBOL_in_data_type_elements13658_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_LONG_SYMBOL_in_data_type_elements13658	= { FOLLOW_LONG_SYMBOL_in_data_type_elements13658_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_VARBINARY_SYMBOL_in_data_type_elements13660  */
static	ANTLR3_BITWORD FOLLOW_VARBINARY_SYMBOL_in_data_type_elements13660_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_VARBINARY_SYMBOL_in_data_type_elements13660	= { FOLLOW_VARBINARY_SYMBOL_in_data_type_elements13660_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_LONG_SYMBOL_in_data_type_elements13665  */
static	ANTLR3_BITWORD FOLLOW_LONG_SYMBOL_in_data_type_elements13665_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x00A4000000000000), ANTLR3_UINT64_LIT(0x0040000040000000), ANTLR3_UINT64_LIT(0x0000000000001000), 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_LONG_SYMBOL_in_data_type_elements13665	= { FOLLOW_LONG_SYMBOL_in_data_type_elements13665_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_varchar_literal_in_data_type_elements13667  */
static	ANTLR3_BITWORD FOLLOW_varchar_literal_in_data_type_elements13667_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x00A4000000000000), ANTLR3_UINT64_LIT(0x0040000040000000), ANTLR3_UINT64_LIT(0x0000000000001000) };
static  ANTLR3_BITSET_LIST FOLLOW_varchar_literal_in_data_type_elements13667	= { FOLLOW_varchar_literal_in_data_type_elements13667_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_binary_in_data_type_elements13670  */
static	ANTLR3_BITWORD FOLLOW_string_binary_in_data_type_elements13670_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_binary_in_data_type_elements13670	= { FOLLOW_string_binary_in_data_type_elements13670_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TINYTEXT_SYMBOL_in_data_type_elements13677  */
static	ANTLR3_BITWORD FOLLOW_TINYTEXT_SYMBOL_in_data_type_elements13677_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x00A4000000000000), ANTLR3_UINT64_LIT(0x0040000040000000), ANTLR3_UINT64_LIT(0x0000000000001000) };
static  ANTLR3_BITSET_LIST FOLLOW_TINYTEXT_SYMBOL_in_data_type_elements13677	= { FOLLOW_TINYTEXT_SYMBOL_in_data_type_elements13677_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_binary_in_data_type_elements13679  */
static	ANTLR3_BITWORD FOLLOW_string_binary_in_data_type_elements13679_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_binary_in_data_type_elements13679	= { FOLLOW_string_binary_in_data_type_elements13679_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TEXT_SYMBOL_in_data_type_elements13685  */
static	ANTLR3_BITWORD FOLLOW_TEXT_SYMBOL_in_data_type_elements13685_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x00A4000000000000), ANTLR3_UINT64_LIT(0x0040000040000000), ANTLR3_UINT64_LIT(0x0000000000001000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000010000000) };
static  ANTLR3_BITSET_LIST FOLLOW_TEXT_SYMBOL_in_data_type_elements13685	= { FOLLOW_TEXT_SYMBOL_in_data_type_elements13685_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_field_length_in_data_type_elements13687  */
static	ANTLR3_BITWORD FOLLOW_field_length_in_data_type_elements13687_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x00A4000000000000), ANTLR3_UINT64_LIT(0x0040000040000000), ANTLR3_UINT64_LIT(0x0000000000001000) };
static  ANTLR3_BITSET_LIST FOLLOW_field_length_in_data_type_elements13687	= { FOLLOW_field_length_in_data_type_elements13687_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_binary_in_data_type_elements13690  */
static	ANTLR3_BITWORD FOLLOW_string_binary_in_data_type_elements13690_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_binary_in_data_type_elements13690	= { FOLLOW_string_binary_in_data_type_elements13690_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MEDIUMTEXT_SYMBOL_in_data_type_elements13696  */
static	ANTLR3_BITWORD FOLLOW_MEDIUMTEXT_SYMBOL_in_data_type_elements13696_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x00A4000000000000), ANTLR3_UINT64_LIT(0x0040000040000000), ANTLR3_UINT64_LIT(0x0000000000001000) };
static  ANTLR3_BITSET_LIST FOLLOW_MEDIUMTEXT_SYMBOL_in_data_type_elements13696	= { FOLLOW_MEDIUMTEXT_SYMBOL_in_data_type_elements13696_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_binary_in_data_type_elements13698  */
static	ANTLR3_BITWORD FOLLOW_string_binary_in_data_type_elements13698_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_binary_in_data_type_elements13698	= { FOLLOW_string_binary_in_data_type_elements13698_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_LONGTEXT_SYMBOL_in_data_type_elements13704  */
static	ANTLR3_BITWORD FOLLOW_LONGTEXT_SYMBOL_in_data_type_elements13704_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x00A4000000000000), ANTLR3_UINT64_LIT(0x0040000040000000), ANTLR3_UINT64_LIT(0x0000000000001000) };
static  ANTLR3_BITSET_LIST FOLLOW_LONGTEXT_SYMBOL_in_data_type_elements13704	= { FOLLOW_LONGTEXT_SYMBOL_in_data_type_elements13704_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_binary_in_data_type_elements13706  */
static	ANTLR3_BITWORD FOLLOW_string_binary_in_data_type_elements13706_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_binary_in_data_type_elements13706	= { FOLLOW_string_binary_in_data_type_elements13706_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DECIMAL_SYMBOL_in_data_type_elements13714  */
static	ANTLR3_BITWORD FOLLOW_DECIMAL_SYMBOL_in_data_type_elements13714_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), 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(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000010000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000040000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_DECIMAL_SYMBOL_in_data_type_elements13714	= { FOLLOW_DECIMAL_SYMBOL_in_data_type_elements13714_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_float_options_in_data_type_elements13716  */
static	ANTLR3_BITWORD FOLLOW_float_options_in_data_type_elements13716_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), 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(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000040000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_float_options_in_data_type_elements13716	= { FOLLOW_float_options_in_data_type_elements13716_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_field_options_in_data_type_elements13719  */
static	ANTLR3_BITWORD FOLLOW_field_options_in_data_type_elements13719_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_field_options_in_data_type_elements13719	= { FOLLOW_field_options_in_data_type_elements13719_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_NUMERIC_SYMBOL_in_data_type_elements13725  */
static	ANTLR3_BITWORD FOLLOW_NUMERIC_SYMBOL_in_data_type_elements13725_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), 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(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000010000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000040000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_NUMERIC_SYMBOL_in_data_type_elements13725	= { FOLLOW_NUMERIC_SYMBOL_in_data_type_elements13725_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_float_options_in_data_type_elements13727  */
static	ANTLR3_BITWORD FOLLOW_float_options_in_data_type_elements13727_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), 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(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000040000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_float_options_in_data_type_elements13727	= { FOLLOW_float_options_in_data_type_elements13727_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_field_options_in_data_type_elements13730  */
static	ANTLR3_BITWORD FOLLOW_field_options_in_data_type_elements13730_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_field_options_in_data_type_elements13730	= { FOLLOW_field_options_in_data_type_elements13730_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FIXED_SYMBOL_in_data_type_elements13736  */
static	ANTLR3_BITWORD FOLLOW_FIXED_SYMBOL_in_data_type_elements13736_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), 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(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000010000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000040000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_FIXED_SYMBOL_in_data_type_elements13736	= { FOLLOW_FIXED_SYMBOL_in_data_type_elements13736_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_float_options_in_data_type_elements13738  */
static	ANTLR3_BITWORD FOLLOW_float_options_in_data_type_elements13738_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), 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(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000040000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_float_options_in_data_type_elements13738	= { FOLLOW_float_options_in_data_type_elements13738_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_field_options_in_data_type_elements13741  */
static	ANTLR3_BITWORD FOLLOW_field_options_in_data_type_elements13741_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_field_options_in_data_type_elements13741	= { FOLLOW_field_options_in_data_type_elements13741_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ENUM_SYMBOL_in_data_type_elements13749  */
static	ANTLR3_BITWORD FOLLOW_ENUM_SYMBOL_in_data_type_elements13749_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_ENUM_SYMBOL_in_data_type_elements13749	= { FOLLOW_ENUM_SYMBOL_in_data_type_elements13749_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_list_in_data_type_elements13751  */
static	ANTLR3_BITWORD FOLLOW_string_list_in_data_type_elements13751_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x00A4000000000000), ANTLR3_UINT64_LIT(0x0040000040000000), ANTLR3_UINT64_LIT(0x0000000000001000) };
static  ANTLR3_BITSET_LIST FOLLOW_string_list_in_data_type_elements13751	= { FOLLOW_string_list_in_data_type_elements13751_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_binary_in_data_type_elements13753  */
static	ANTLR3_BITWORD FOLLOW_string_binary_in_data_type_elements13753_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_binary_in_data_type_elements13753	= { FOLLOW_string_binary_in_data_type_elements13753_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SET_SYMBOL_in_data_type_elements13759  */
static	ANTLR3_BITWORD FOLLOW_SET_SYMBOL_in_data_type_elements13759_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_SET_SYMBOL_in_data_type_elements13759	= { FOLLOW_SET_SYMBOL_in_data_type_elements13759_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_list_in_data_type_elements13761  */
static	ANTLR3_BITWORD FOLLOW_string_list_in_data_type_elements13761_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x00A4000000000000), ANTLR3_UINT64_LIT(0x0040000040000000), ANTLR3_UINT64_LIT(0x0000000000001000) };
static  ANTLR3_BITSET_LIST FOLLOW_string_list_in_data_type_elements13761	= { FOLLOW_string_list_in_data_type_elements13761_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_binary_in_data_type_elements13763  */
static	ANTLR3_BITWORD FOLLOW_string_binary_in_data_type_elements13763_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_binary_in_data_type_elements13763	= { FOLLOW_string_binary_in_data_type_elements13763_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SERIAL_SYMBOL_in_data_type_elements13769  */
static	ANTLR3_BITWORD FOLLOW_SERIAL_SYMBOL_in_data_type_elements13769_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_SERIAL_SYMBOL_in_data_type_elements13769	= { FOLLOW_SERIAL_SYMBOL_in_data_type_elements13769_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_spatial_type_in_data_type_elements13774  */
static	ANTLR3_BITWORD FOLLOW_spatial_type_in_data_type_elements13774_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_spatial_type_in_data_type_elements13774	= { FOLLOW_spatial_type_in_data_type_elements13774_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_field_length13783  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_field_length13783_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_OPEN_PAR_SYMBOL_in_field_length13783	= { FOLLOW_OPEN_PAR_SYMBOL_in_field_length13783_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_field_length13785  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_field_length13785_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000010000) };
static  ANTLR3_BITSET_LIST FOLLOW_INTEGER_in_field_length13785	= { FOLLOW_INTEGER_in_field_length13785_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_field_length13787  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_field_length13787_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_field_length13787	= { FOLLOW_CLOSE_PAR_SYMBOL_in_field_length13787_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ascii_in_string_binary13816  */
static	ANTLR3_BITWORD FOLLOW_ascii_in_string_binary13816_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_ascii_in_string_binary13816	= { FOLLOW_ascii_in_string_binary13816_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_unicode_in_string_binary13821  */
static	ANTLR3_BITWORD FOLLOW_unicode_in_string_binary13821_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_unicode_in_string_binary13821	= { FOLLOW_unicode_in_string_binary13821_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BYTE_SYMBOL_in_string_binary13826  */
static	ANTLR3_BITWORD FOLLOW_BYTE_SYMBOL_in_string_binary13826_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_BYTE_SYMBOL_in_string_binary13826	= { FOLLOW_BYTE_SYMBOL_in_string_binary13826_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_charset_in_string_binary13831  */
static	ANTLR3_BITWORD FOLLOW_charset_in_string_binary13831_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0044000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_charset_in_string_binary13831	= { FOLLOW_charset_in_string_binary13831_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_charset_name_in_string_binary13833  */
static	ANTLR3_BITWORD FOLLOW_charset_name_in_string_binary13833_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), 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_charset_name_in_string_binary13833	= { FOLLOW_charset_name_in_string_binary13833_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BINARY_SYMBOL_in_string_binary13835  */
static	ANTLR3_BITWORD FOLLOW_BINARY_SYMBOL_in_string_binary13835_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_BINARY_SYMBOL_in_string_binary13835	= { FOLLOW_BINARY_SYMBOL_in_string_binary13835_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BINARY_SYMBOL_in_string_binary13841  */
static	ANTLR3_BITWORD FOLLOW_BINARY_SYMBOL_in_string_binary13841_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0080000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000001000) };
static  ANTLR3_BITSET_LIST FOLLOW_BINARY_SYMBOL_in_string_binary13841	= { FOLLOW_BINARY_SYMBOL_in_string_binary13841_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_charset_in_string_binary13844  */
static	ANTLR3_BITWORD FOLLOW_charset_in_string_binary13844_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0044000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_charset_in_string_binary13844	= { FOLLOW_charset_in_string_binary13844_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_charset_name_in_string_binary13846  */
static	ANTLR3_BITWORD FOLLOW_charset_name_in_string_binary13846_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_charset_name_in_string_binary13846	= { FOLLOW_charset_name_in_string_binary13846_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ASCII_SYMBOL_in_ascii13857  */
static	ANTLR3_BITWORD FOLLOW_ASCII_SYMBOL_in_ascii13857_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), 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_ASCII_SYMBOL_in_ascii13857	= { FOLLOW_ASCII_SYMBOL_in_ascii13857_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BINARY_SYMBOL_in_ascii13859  */
static	ANTLR3_BITWORD FOLLOW_BINARY_SYMBOL_in_ascii13859_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_BINARY_SYMBOL_in_ascii13859	= { FOLLOW_BINARY_SYMBOL_in_ascii13859_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BINARY_SYMBOL_in_ascii13869  */
static	ANTLR3_BITWORD FOLLOW_BINARY_SYMBOL_in_ascii13869_bits[]	= { 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_BINARY_SYMBOL_in_ascii13869	= { FOLLOW_BINARY_SYMBOL_in_ascii13869_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ASCII_SYMBOL_in_ascii13871  */
static	ANTLR3_BITWORD FOLLOW_ASCII_SYMBOL_in_ascii13871_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_ASCII_SYMBOL_in_ascii13871	= { FOLLOW_ASCII_SYMBOL_in_ascii13871_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_UNICODE_SYMBOL_in_unicode13880  */
static	ANTLR3_BITWORD FOLLOW_UNICODE_SYMBOL_in_unicode13880_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), 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_UNICODE_SYMBOL_in_unicode13880	= { FOLLOW_UNICODE_SYMBOL_in_unicode13880_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BINARY_SYMBOL_in_unicode13882  */
static	ANTLR3_BITWORD FOLLOW_BINARY_SYMBOL_in_unicode13882_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_BINARY_SYMBOL_in_unicode13882	= { FOLLOW_BINARY_SYMBOL_in_unicode13882_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BINARY_SYMBOL_in_unicode13892  */
static	ANTLR3_BITWORD FOLLOW_BINARY_SYMBOL_in_unicode13892_bits[]	= { 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_BINARY_SYMBOL_in_unicode13892	= { FOLLOW_BINARY_SYMBOL_in_unicode13892_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_UNICODE_SYMBOL_in_unicode13894  */
static	ANTLR3_BITWORD FOLLOW_UNICODE_SYMBOL_in_unicode13894_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_UNICODE_SYMBOL_in_unicode13894	= { FOLLOW_UNICODE_SYMBOL_in_unicode13894_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_type_datetime_precision13907  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_type_datetime_precision13907_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_OPEN_PAR_SYMBOL_in_type_datetime_precision13907	= { FOLLOW_OPEN_PAR_SYMBOL_in_type_datetime_precision13907_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_type_datetime_precision13909  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_type_datetime_precision13909_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000010000) };
static  ANTLR3_BITSET_LIST FOLLOW_INTEGER_in_type_datetime_precision13909	= { FOLLOW_INTEGER_in_type_datetime_precision13909_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_type_datetime_precision13911  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_type_datetime_precision13911_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_type_datetime_precision13911	= { FOLLOW_CLOSE_PAR_SYMBOL_in_type_datetime_precision13911_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_text_or_identifier_in_charset_name13920  */
static	ANTLR3_BITWORD FOLLOW_text_or_identifier_in_charset_name13920_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_text_or_identifier_in_charset_name13920	= { FOLLOW_text_or_identifier_in_charset_name13920_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BINARY_SYMBOL_in_charset_name13925  */
static	ANTLR3_BITWORD FOLLOW_BINARY_SYMBOL_in_charset_name13925_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_BINARY_SYMBOL_in_charset_name13925	= { FOLLOW_BINARY_SYMBOL_in_charset_name13925_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_charset_name_in_charset_name_or_default13934  */
static	ANTLR3_BITWORD FOLLOW_charset_name_in_charset_name_or_default13934_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_charset_name_in_charset_name_or_default13934	= { FOLLOW_charset_name_in_charset_name_or_default13934_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DEFAULT_SYMBOL_in_charset_name_or_default13939  */
static	ANTLR3_BITWORD FOLLOW_DEFAULT_SYMBOL_in_charset_name_or_default13939_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_DEFAULT_SYMBOL_in_charset_name_or_default13939	= { FOLLOW_DEFAULT_SYMBOL_in_charset_name_or_default13939_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_text_or_identifier_in_collation_name_or_default13948  */
static	ANTLR3_BITWORD FOLLOW_text_or_identifier_in_collation_name_or_default13948_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_text_or_identifier_in_collation_name_or_default13948	= { FOLLOW_text_or_identifier_in_collation_name_or_default13948_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DEFAULT_SYMBOL_in_collation_name_or_default13953  */
static	ANTLR3_BITWORD FOLLOW_DEFAULT_SYMBOL_in_collation_name_or_default13953_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_DEFAULT_SYMBOL_in_collation_name_or_default13953	= { FOLLOW_DEFAULT_SYMBOL_in_collation_name_or_default13953_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_create_table_option_in_alter_table_options14006  */
static	ANTLR3_BITWORD FOLLOW_create_table_option_in_alter_table_options14006_bits[]	= { ANTLR3_UINT64_LIT(0x1040040000018002), ANTLR3_UINT64_LIT(0x0004100000000200), ANTLR3_UINT64_LIT(0x2100000080100000), ANTLR3_UINT64_LIT(0xC000004000000000), ANTLR3_UINT64_LIT(0x058000001000A005), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0020000000021000), ANTLR3_UINT64_LIT(0x0100000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000080) };
static  ANTLR3_BITSET_LIST FOLLOW_create_table_option_in_alter_table_options14006	= { FOLLOW_create_table_option_in_alter_table_options14006_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_create_table_option_in_create_table_options14016  */
static	ANTLR3_BITWORD FOLLOW_create_table_option_in_create_table_options14016_bits[]	= { ANTLR3_UINT64_LIT(0x1040040000018002), ANTLR3_UINT64_LIT(0x0004100000000200), ANTLR3_UINT64_LIT(0x2100000080100000), ANTLR3_UINT64_LIT(0xC000004000000000), ANTLR3_UINT64_LIT(0x058000001000A005), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0020000000221000), ANTLR3_UINT64_LIT(0x0100000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000080) };
static  ANTLR3_BITSET_LIST FOLLOW_create_table_option_in_create_table_options14016	= { FOLLOW_create_table_option_in_create_table_options14016_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_create_table_options14019  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_create_table_options14019_bits[]	= { ANTLR3_UINT64_LIT(0x1040040000018000), ANTLR3_UINT64_LIT(0x0004100000000200), ANTLR3_UINT64_LIT(0x2100000080100000), ANTLR3_UINT64_LIT(0xC000004000000000), ANTLR3_UINT64_LIT(0x058000001000A005), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0020000000021000), ANTLR3_UINT64_LIT(0x0100000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000080) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_create_table_options14019	= { FOLLOW_COMMA_SYMBOL_in_create_table_options14019_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_create_table_option_in_create_table_options14022  */
static	ANTLR3_BITWORD FOLLOW_create_table_option_in_create_table_options14022_bits[]	= { ANTLR3_UINT64_LIT(0x1040040000018002), ANTLR3_UINT64_LIT(0x0004100000000200), ANTLR3_UINT64_LIT(0x2100000080100000), ANTLR3_UINT64_LIT(0xC000004000000000), ANTLR3_UINT64_LIT(0x058000001000A005), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0020000000221000), ANTLR3_UINT64_LIT(0x0100000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000080) };
static  ANTLR3_BITSET_LIST FOLLOW_create_table_option_in_create_table_options14022	= { FOLLOW_create_table_option_in_create_table_options14022_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ENGINE_SYMBOL_in_create_table_option14035  */
static	ANTLR3_BITWORD FOLLOW_ENGINE_SYMBOL_in_create_table_option14035_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000002010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_ENGINE_SYMBOL_in_create_table_option14035	= { FOLLOW_ENGINE_SYMBOL_in_create_table_option14035_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TYPE_SYMBOL_in_create_table_option14043  */
static	ANTLR3_BITWORD FOLLOW_TYPE_SYMBOL_in_create_table_option14043_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000002010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_TYPE_SYMBOL_in_create_table_option14043	= { FOLLOW_TYPE_SYMBOL_in_create_table_option14043_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_create_table_option14046  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_create_table_option14046_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_create_table_option14046	= { FOLLOW_EQUAL_OPERATOR_in_create_table_option14046_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_text_or_identifier_in_create_table_option14049  */
static	ANTLR3_BITWORD FOLLOW_text_or_identifier_in_create_table_option14049_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_text_or_identifier_in_create_table_option14049	= { FOLLOW_text_or_identifier_in_create_table_option14049_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MAX_ROWS_SYMBOL_in_create_table_option14054  */
static	ANTLR3_BITWORD FOLLOW_MAX_ROWS_SYMBOL_in_create_table_option14054_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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(0x0000000000000008), ANTLR3_UINT64_LIT(0x0000002000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_MAX_ROWS_SYMBOL_in_create_table_option14054	= { FOLLOW_MAX_ROWS_SYMBOL_in_create_table_option14054_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_create_table_option14056  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_create_table_option14056_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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(0x0000002000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_create_table_option14056	= { FOLLOW_EQUAL_OPERATOR_in_create_table_option14056_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_int_or_param_marker_in_create_table_option14059  */
static	ANTLR3_BITWORD FOLLOW_int_or_param_marker_in_create_table_option14059_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_int_or_param_marker_in_create_table_option14059	= { FOLLOW_int_or_param_marker_in_create_table_option14059_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MIN_ROWS_SYMBOL_in_create_table_option14064  */
static	ANTLR3_BITWORD FOLLOW_MIN_ROWS_SYMBOL_in_create_table_option14064_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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(0x0000000000000008), ANTLR3_UINT64_LIT(0x0000002000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_MIN_ROWS_SYMBOL_in_create_table_option14064	= { FOLLOW_MIN_ROWS_SYMBOL_in_create_table_option14064_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_create_table_option14066  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_create_table_option14066_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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(0x0000002000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_create_table_option14066	= { FOLLOW_EQUAL_OPERATOR_in_create_table_option14066_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_int_or_param_marker_in_create_table_option14069  */
static	ANTLR3_BITWORD FOLLOW_int_or_param_marker_in_create_table_option14069_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_int_or_param_marker_in_create_table_option14069	= { FOLLOW_int_or_param_marker_in_create_table_option14069_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_AVG_ROW_LENGTH_SYMBOL_in_create_table_option14074  */
static	ANTLR3_BITWORD FOLLOW_AVG_ROW_LENGTH_SYMBOL_in_create_table_option14074_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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(0x0000000000000008), ANTLR3_UINT64_LIT(0x0000002000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_AVG_ROW_LENGTH_SYMBOL_in_create_table_option14074	= { FOLLOW_AVG_ROW_LENGTH_SYMBOL_in_create_table_option14074_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_create_table_option14076  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_create_table_option14076_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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(0x0000002000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_create_table_option14076	= { FOLLOW_EQUAL_OPERATOR_in_create_table_option14076_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_int_or_param_marker_in_create_table_option14079  */
static	ANTLR3_BITWORD FOLLOW_int_or_param_marker_in_create_table_option14079_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_int_or_param_marker_in_create_table_option14079	= { FOLLOW_int_or_param_marker_in_create_table_option14079_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PASSWORD_SYMBOL_in_create_table_option14084  */
static	ANTLR3_BITWORD FOLLOW_PASSWORD_SYMBOL_in_create_table_option14084_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000002010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000002000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_PASSWORD_SYMBOL_in_create_table_option14084	= { FOLLOW_PASSWORD_SYMBOL_in_create_table_option14084_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_create_table_option14086  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_create_table_option14086_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000002000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_create_table_option14086	= { FOLLOW_EQUAL_OPERATOR_in_create_table_option14086_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_text_or_param_marker_in_create_table_option14089  */
static	ANTLR3_BITWORD FOLLOW_text_or_param_marker_in_create_table_option14089_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_text_or_param_marker_in_create_table_option14089	= { FOLLOW_text_or_param_marker_in_create_table_option14089_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMENT_SYMBOL_in_create_table_option14094  */
static	ANTLR3_BITWORD FOLLOW_COMMENT_SYMBOL_in_create_table_option14094_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000002010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000002000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMENT_SYMBOL_in_create_table_option14094	= { FOLLOW_COMMENT_SYMBOL_in_create_table_option14094_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_create_table_option14096  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_create_table_option14096_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000002000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_create_table_option14096	= { FOLLOW_EQUAL_OPERATOR_in_create_table_option14096_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_text_or_param_marker_in_create_table_option14099  */
static	ANTLR3_BITWORD FOLLOW_text_or_param_marker_in_create_table_option14099_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_text_or_param_marker_in_create_table_option14099	= { FOLLOW_text_or_param_marker_in_create_table_option14099_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_AUTO_INCREMENT_SYMBOL_in_create_table_option14104  */
static	ANTLR3_BITWORD FOLLOW_AUTO_INCREMENT_SYMBOL_in_create_table_option14104_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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(0x0000000000000008), ANTLR3_UINT64_LIT(0x0000002000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_AUTO_INCREMENT_SYMBOL_in_create_table_option14104	= { FOLLOW_AUTO_INCREMENT_SYMBOL_in_create_table_option14104_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_create_table_option14106  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_create_table_option14106_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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(0x0000002000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_create_table_option14106	= { FOLLOW_EQUAL_OPERATOR_in_create_table_option14106_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_int_or_param_marker_in_create_table_option14109  */
static	ANTLR3_BITWORD FOLLOW_int_or_param_marker_in_create_table_option14109_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_int_or_param_marker_in_create_table_option14109	= { FOLLOW_int_or_param_marker_in_create_table_option14109_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PACK_KEYS_SYMBOL_in_create_table_option14114  */
static	ANTLR3_BITWORD FOLLOW_PACK_KEYS_SYMBOL_in_create_table_option14114_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000000000002000), ANTLR3_UINT64_LIT(0x0000000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_PACK_KEYS_SYMBOL_in_create_table_option14114	= { FOLLOW_PACK_KEYS_SYMBOL_in_create_table_option14114_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_create_table_option14116  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_create_table_option14116_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_create_table_option14116	= { FOLLOW_EQUAL_OPERATOR_in_create_table_option14116_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_create_table_option14119  */
static	ANTLR3_BITWORD FOLLOW_set_in_create_table_option14119_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_create_table_option14119	= { FOLLOW_set_in_create_table_option14119_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_create_table_option14134  */
static	ANTLR3_BITWORD FOLLOW_set_in_create_table_option14134_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000000000002000), ANTLR3_UINT64_LIT(0x0000000000000008), ANTLR3_UINT64_LIT(0x0000002000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_create_table_option14134	= { FOLLOW_set_in_create_table_option14134_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_create_table_option14148  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_create_table_option14148_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000000000000008), ANTLR3_UINT64_LIT(0x0000002000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_create_table_option14148	= { FOLLOW_EQUAL_OPERATOR_in_create_table_option14148_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_int_or_param_marker_in_create_table_option14152  */
static	ANTLR3_BITWORD FOLLOW_int_or_param_marker_in_create_table_option14152_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_int_or_param_marker_in_create_table_option14152	= { FOLLOW_int_or_param_marker_in_create_table_option14152_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DEFAULT_SYMBOL_in_create_table_option14156  */
static	ANTLR3_BITWORD FOLLOW_DEFAULT_SYMBOL_in_create_table_option14156_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_DEFAULT_SYMBOL_in_create_table_option14156	= { FOLLOW_DEFAULT_SYMBOL_in_create_table_option14156_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_create_table_option14162  */
static	ANTLR3_BITWORD FOLLOW_set_in_create_table_option14162_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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(0x0000000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_create_table_option14162	= { FOLLOW_set_in_create_table_option14162_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_create_table_option14170  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_create_table_option14170_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_EQUAL_OPERATOR_in_create_table_option14170	= { FOLLOW_EQUAL_OPERATOR_in_create_table_option14170_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_create_table_option14173  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_create_table_option14173_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_INTEGER_in_create_table_option14173	= { FOLLOW_INTEGER_in_create_table_option14173_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DELAY_KEY_WRITE_SYMBOL_in_create_table_option14179  */
static	ANTLR3_BITWORD FOLLOW_DELAY_KEY_WRITE_SYMBOL_in_create_table_option14179_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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(0x0000000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_DELAY_KEY_WRITE_SYMBOL_in_create_table_option14179	= { FOLLOW_DELAY_KEY_WRITE_SYMBOL_in_create_table_option14179_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_create_table_option14181  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_create_table_option14181_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_EQUAL_OPERATOR_in_create_table_option14181	= { FOLLOW_EQUAL_OPERATOR_in_create_table_option14181_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_create_table_option14184  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_create_table_option14184_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_INTEGER_in_create_table_option14184	= { FOLLOW_INTEGER_in_create_table_option14184_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ROW_FORMAT_SYMBOL_in_create_table_option14189  */
static	ANTLR3_BITWORD FOLLOW_ROW_FORMAT_SYMBOL_in_create_table_option14189_bits[]	= { ANTLR3_UINT64_LIT(0x0000014000000000), ANTLR3_UINT64_LIT(0x0000000002000020), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000100000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0020000000000000), ANTLR3_UINT64_LIT(0x0000000000002000) };
static  ANTLR3_BITSET_LIST FOLLOW_ROW_FORMAT_SYMBOL_in_create_table_option14189	= { FOLLOW_ROW_FORMAT_SYMBOL_in_create_table_option14189_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_create_table_option14191  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_create_table_option14191_bits[]	= { ANTLR3_UINT64_LIT(0x0000014000000000), ANTLR3_UINT64_LIT(0x0000000002000020), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000100000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0020000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_create_table_option14191	= { FOLLOW_EQUAL_OPERATOR_in_create_table_option14191_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_create_table_option14194  */
static	ANTLR3_BITWORD FOLLOW_set_in_create_table_option14194_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_create_table_option14194	= { FOLLOW_set_in_create_table_option14194_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_UNION_SYMBOL_in_create_table_option14221  */
static	ANTLR3_BITWORD FOLLOW_UNION_SYMBOL_in_create_table_option14221_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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(0x0000000010000000) };
static  ANTLR3_BITSET_LIST FOLLOW_UNION_SYMBOL_in_create_table_option14221	= { FOLLOW_UNION_SYMBOL_in_create_table_option14221_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_create_table_option14223  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_create_table_option14223_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_EQUAL_OPERATOR_in_create_table_option14223	= { FOLLOW_EQUAL_OPERATOR_in_create_table_option14223_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_create_table_option14226  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_create_table_option14226_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_create_table_option14226	= { FOLLOW_OPEN_PAR_SYMBOL_in_create_table_option14226_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_qualified_identifier_list_in_create_table_option14228  */
static	ANTLR3_BITWORD FOLLOW_qualified_identifier_list_in_create_table_option14228_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000010000) };
static  ANTLR3_BITSET_LIST FOLLOW_qualified_identifier_list_in_create_table_option14228	= { FOLLOW_qualified_identifier_list_in_create_table_option14228_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_create_table_option14230  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_create_table_option14230_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_create_table_option14230	= { FOLLOW_CLOSE_PAR_SYMBOL_in_create_table_option14230_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DEFAULT_SYMBOL_in_create_table_option14235  */
static	ANTLR3_BITWORD FOLLOW_DEFAULT_SYMBOL_in_create_table_option14235_bits[]	= { 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(0x0000000000021000) };
static  ANTLR3_BITSET_LIST FOLLOW_DEFAULT_SYMBOL_in_create_table_option14235	= { FOLLOW_DEFAULT_SYMBOL_in_create_table_option14235_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COLLATE_SYMBOL_in_create_table_option14245  */
static	ANTLR3_BITWORD FOLLOW_COLLATE_SYMBOL_in_create_table_option14245_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0020000000000000), ANTLR3_UINT64_LIT(0x0010000000002010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_COLLATE_SYMBOL_in_create_table_option14245	= { FOLLOW_COLLATE_SYMBOL_in_create_table_option14245_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_create_table_option14247  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_create_table_option14247_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0020000000000000), ANTLR3_UINT64_LIT(0x0010000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_create_table_option14247	= { FOLLOW_EQUAL_OPERATOR_in_create_table_option14247_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_collation_name_or_default_in_create_table_option14250  */
static	ANTLR3_BITWORD FOLLOW_collation_name_or_default_in_create_table_option14250_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_collation_name_or_default_in_create_table_option14250	= { FOLLOW_collation_name_or_default_in_create_table_option14250_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_charset_in_create_table_option14257  */
static	ANTLR3_BITWORD FOLLOW_charset_in_create_table_option14257_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0044000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0020000000000000), ANTLR3_UINT64_LIT(0x0010000000002010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_charset_in_create_table_option14257	= { FOLLOW_charset_in_create_table_option14257_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_create_table_option14259  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_create_table_option14259_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0044000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0020000000000000), ANTLR3_UINT64_LIT(0x0010000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_create_table_option14259	= { FOLLOW_EQUAL_OPERATOR_in_create_table_option14259_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_charset_name_or_default_in_create_table_option14262  */
static	ANTLR3_BITWORD FOLLOW_charset_name_or_default_in_create_table_option14262_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_charset_name_or_default_in_create_table_option14262	= { FOLLOW_charset_name_or_default_in_create_table_option14262_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INSERT_METHOD_SYMBOL_in_create_table_option14272  */
static	ANTLR3_BITWORD FOLLOW_INSERT_METHOD_SYMBOL_in_create_table_option14272_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000001000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000002000) };
static  ANTLR3_BITSET_LIST FOLLOW_INSERT_METHOD_SYMBOL_in_create_table_option14272	= { FOLLOW_INSERT_METHOD_SYMBOL_in_create_table_option14272_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_create_table_option14274  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_create_table_option14274_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000001000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_create_table_option14274	= { FOLLOW_EQUAL_OPERATOR_in_create_table_option14274_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_create_table_option14277  */
static	ANTLR3_BITWORD FOLLOW_set_in_create_table_option14277_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_create_table_option14277	= { FOLLOW_set_in_create_table_option14277_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DATA_SYMBOL_in_create_table_option14292  */
static	ANTLR3_BITWORD FOLLOW_DATA_SYMBOL_in_create_table_option14292_bits[]	= { ANTLR3_UINT64_LIT(0x8000000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_DATA_SYMBOL_in_create_table_option14292	= { FOLLOW_DATA_SYMBOL_in_create_table_option14292_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DIRECTORY_SYMBOL_in_create_table_option14294  */
static	ANTLR3_BITWORD FOLLOW_DIRECTORY_SYMBOL_in_create_table_option14294_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000002010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000002000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_DIRECTORY_SYMBOL_in_create_table_option14294	= { FOLLOW_DIRECTORY_SYMBOL_in_create_table_option14294_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_create_table_option14296  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_create_table_option14296_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000002000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_create_table_option14296	= { FOLLOW_EQUAL_OPERATOR_in_create_table_option14296_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_text_or_param_marker_in_create_table_option14299  */
static	ANTLR3_BITWORD FOLLOW_text_or_param_marker_in_create_table_option14299_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_text_or_param_marker_in_create_table_option14299	= { FOLLOW_text_or_param_marker_in_create_table_option14299_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INDEX_SYMBOL_in_create_table_option14304  */
static	ANTLR3_BITWORD FOLLOW_INDEX_SYMBOL_in_create_table_option14304_bits[]	= { ANTLR3_UINT64_LIT(0x8000000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_INDEX_SYMBOL_in_create_table_option14304	= { FOLLOW_INDEX_SYMBOL_in_create_table_option14304_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DIRECTORY_SYMBOL_in_create_table_option14306  */
static	ANTLR3_BITWORD FOLLOW_DIRECTORY_SYMBOL_in_create_table_option14306_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000002010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000002000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_DIRECTORY_SYMBOL_in_create_table_option14306	= { FOLLOW_DIRECTORY_SYMBOL_in_create_table_option14306_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_create_table_option14308  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_create_table_option14308_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000002000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_create_table_option14308	= { FOLLOW_EQUAL_OPERATOR_in_create_table_option14308_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_text_or_param_marker_in_create_table_option14311  */
static	ANTLR3_BITWORD FOLLOW_text_or_param_marker_in_create_table_option14311_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_text_or_param_marker_in_create_table_option14311	= { FOLLOW_text_or_param_marker_in_create_table_option14311_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TABLESPACE_SYMBOL_in_create_table_option14316  */
static	ANTLR3_BITWORD FOLLOW_TABLESPACE_SYMBOL_in_create_table_option14316_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_TABLESPACE_SYMBOL_in_create_table_option14316	= { FOLLOW_TABLESPACE_SYMBOL_in_create_table_option14316_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_create_table_option14318  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_create_table_option14318_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_create_table_option14318	= { FOLLOW_identifier_in_create_table_option14318_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_STORAGE_SYMBOL_in_create_table_option14323  */
static	ANTLR3_BITWORD FOLLOW_STORAGE_SYMBOL_in_create_table_option14323_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000004), ANTLR3_UINT64_LIT(0x0000000002000000) };
static  ANTLR3_BITSET_LIST FOLLOW_STORAGE_SYMBOL_in_create_table_option14323	= { FOLLOW_STORAGE_SYMBOL_in_create_table_option14323_bits, 3	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_create_table_option14325  */
static	ANTLR3_BITWORD FOLLOW_set_in_create_table_option14325_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_create_table_option14325	= { FOLLOW_set_in_create_table_option14325_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CONNECTION_SYMBOL_in_create_table_option14336  */
static	ANTLR3_BITWORD FOLLOW_CONNECTION_SYMBOL_in_create_table_option14336_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000002010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000002000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_CONNECTION_SYMBOL_in_create_table_option14336	= { FOLLOW_CONNECTION_SYMBOL_in_create_table_option14336_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_create_table_option14338  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_create_table_option14338_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000002000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_create_table_option14338	= { FOLLOW_EQUAL_OPERATOR_in_create_table_option14338_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_text_or_param_marker_in_create_table_option14341  */
static	ANTLR3_BITWORD FOLLOW_text_or_param_marker_in_create_table_option14341_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_text_or_param_marker_in_create_table_option14341	= { FOLLOW_text_or_param_marker_in_create_table_option14341_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_KEY_BLOCK_SIZE_SYMBOL_in_create_table_option14346  */
static	ANTLR3_BITWORD FOLLOW_KEY_BLOCK_SIZE_SYMBOL_in_create_table_option14346_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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(0x0000000000000008), ANTLR3_UINT64_LIT(0x0000002000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_KEY_BLOCK_SIZE_SYMBOL_in_create_table_option14346	= { FOLLOW_KEY_BLOCK_SIZE_SYMBOL_in_create_table_option14346_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_create_table_option14348  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_create_table_option14348_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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(0x0000002000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_create_table_option14348	= { FOLLOW_EQUAL_OPERATOR_in_create_table_option14348_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_int_or_param_marker_in_create_table_option14351  */
static	ANTLR3_BITWORD FOLLOW_int_or_param_marker_in_create_table_option14351_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_int_or_param_marker_in_create_table_option14351	= { FOLLOW_int_or_param_marker_in_create_table_option14351_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PARTITION_SYMBOL_in_partitioning14365  */
static	ANTLR3_BITWORD FOLLOW_PARTITION_SYMBOL_in_partitioning14365_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_PARTITION_SYMBOL_in_partitioning14365	= { FOLLOW_PARTITION_SYMBOL_in_partitioning14365_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BY_SYMBOL_in_partitioning14368  */
static	ANTLR3_BITWORD FOLLOW_BY_SYMBOL_in_partitioning14368_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0100000800000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080080000), ANTLR3_UINT64_LIT(0x0001000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_BY_SYMBOL_in_partitioning14368	= { FOLLOW_BY_SYMBOL_in_partitioning14368_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_LINEAR_SYMBOL_in_partitioning14377  */
static	ANTLR3_BITWORD FOLLOW_LINEAR_SYMBOL_in_partitioning14377_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000800000000) };
static  ANTLR3_BITSET_LIST FOLLOW_LINEAR_SYMBOL_in_partitioning14377	= { FOLLOW_LINEAR_SYMBOL_in_partitioning14377_bits, 2	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_HASH_SYMBOL_in_partitioning14380  */
static	ANTLR3_BITWORD FOLLOW_HASH_SYMBOL_in_partitioning14380_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_HASH_SYMBOL_in_partitioning14380	= { FOLLOW_HASH_SYMBOL_in_partitioning14380_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_partitioning14382  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_partitioning14382_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180AC908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_partitioning14382	= { FOLLOW_OPEN_PAR_SYMBOL_in_partitioning14382_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_partitioning14384  */
static	ANTLR3_BITWORD FOLLOW_expression_in_partitioning14384_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000010000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_partitioning14384	= { FOLLOW_expression_in_partitioning14384_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_partitioning14386  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_partitioning14386_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x1000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), 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_CLOSE_PAR_SYMBOL_in_partitioning14386	= { FOLLOW_CLOSE_PAR_SYMBOL_in_partitioning14386_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_LINEAR_SYMBOL_in_partitioning14393  */
static	ANTLR3_BITWORD FOLLOW_LINEAR_SYMBOL_in_partitioning14393_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_LINEAR_SYMBOL_in_partitioning14393	= { FOLLOW_LINEAR_SYMBOL_in_partitioning14393_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_KEY_SYMBOL_in_partitioning14396  */
static	ANTLR3_BITWORD FOLLOW_KEY_SYMBOL_in_partitioning14396_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_KEY_SYMBOL_in_partitioning14396	= { FOLLOW_KEY_SYMBOL_in_partitioning14396_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_list_with_parentheses_in_partitioning14398  */
static	ANTLR3_BITWORD FOLLOW_identifier_list_with_parentheses_in_partitioning14398_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x1000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), 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_with_parentheses_in_partitioning14398	= { FOLLOW_identifier_list_with_parentheses_in_partitioning14398_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_partitioning14405  */
static	ANTLR3_BITWORD FOLLOW_set_in_partitioning14405_bits[]	= { ANTLR3_UINT64_LIT(0x0000000400000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_set_in_partitioning14405	= { FOLLOW_set_in_partitioning14405_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_partitioning14425  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_partitioning14425_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180AC908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_partitioning14425	= { FOLLOW_OPEN_PAR_SYMBOL_in_partitioning14425_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_partitioning14427  */
static	ANTLR3_BITWORD FOLLOW_expression_in_partitioning14427_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000010000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_partitioning14427	= { FOLLOW_expression_in_partitioning14427_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_partitioning14429  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_partitioning14429_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x1000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), 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_CLOSE_PAR_SYMBOL_in_partitioning14429	= { FOLLOW_CLOSE_PAR_SYMBOL_in_partitioning14429_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COLUMNS_SYMBOL_in_partitioning14442  */
static	ANTLR3_BITWORD FOLLOW_COLUMNS_SYMBOL_in_partitioning14442_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_COLUMNS_SYMBOL_in_partitioning14442	= { FOLLOW_COLUMNS_SYMBOL_in_partitioning14442_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_list_with_parentheses_in_partitioning14444  */
static	ANTLR3_BITWORD FOLLOW_identifier_list_with_parentheses_in_partitioning14444_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x1000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), 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_with_parentheses_in_partitioning14444	= { FOLLOW_identifier_list_with_parentheses_in_partitioning14444_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PARTITIONS_SYMBOL_in_partitioning14459  */
static	ANTLR3_BITWORD FOLLOW_PARTITIONS_SYMBOL_in_partitioning14459_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_PARTITIONS_SYMBOL_in_partitioning14459	= { FOLLOW_PARTITIONS_SYMBOL_in_partitioning14459_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_partitioning14461  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_partitioning14461_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), 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(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000010000000) };
static  ANTLR3_BITSET_LIST FOLLOW_INTEGER_in_partitioning14461	= { FOLLOW_INTEGER_in_partitioning14461_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SUBPARTITION_SYMBOL_in_partitioning14472  */
static	ANTLR3_BITWORD FOLLOW_SUBPARTITION_SYMBOL_in_partitioning14472_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_SUBPARTITION_SYMBOL_in_partitioning14472	= { FOLLOW_SUBPARTITION_SYMBOL_in_partitioning14472_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BY_SYMBOL_in_partitioning14474  */
static	ANTLR3_BITWORD FOLLOW_BY_SYMBOL_in_partitioning14474_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), 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(0x0000000080080000), ANTLR3_UINT64_LIT(0x0000000010000000) };
static  ANTLR3_BITSET_LIST FOLLOW_BY_SYMBOL_in_partitioning14474	= { FOLLOW_BY_SYMBOL_in_partitioning14474_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_LINEAR_SYMBOL_in_partitioning14476  */
static	ANTLR3_BITWORD FOLLOW_LINEAR_SYMBOL_in_partitioning14476_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), 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(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000010000000) };
static  ANTLR3_BITSET_LIST FOLLOW_LINEAR_SYMBOL_in_partitioning14476	= { FOLLOW_LINEAR_SYMBOL_in_partitioning14476_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_HASH_SYMBOL_in_partitioning14496  */
static	ANTLR3_BITWORD FOLLOW_HASH_SYMBOL_in_partitioning14496_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_HASH_SYMBOL_in_partitioning14496	= { FOLLOW_HASH_SYMBOL_in_partitioning14496_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_partitioning14498  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_partitioning14498_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180AC908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_partitioning14498	= { FOLLOW_OPEN_PAR_SYMBOL_in_partitioning14498_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_partitioning14500  */
static	ANTLR3_BITWORD FOLLOW_expression_in_partitioning14500_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000010000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_partitioning14500	= { FOLLOW_expression_in_partitioning14500_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_partitioning14502  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_partitioning14502_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000080), 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_CLOSE_PAR_SYMBOL_in_partitioning14502	= { FOLLOW_CLOSE_PAR_SYMBOL_in_partitioning14502_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_KEY_SYMBOL_in_partitioning14511  */
static	ANTLR3_BITWORD FOLLOW_KEY_SYMBOL_in_partitioning14511_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_KEY_SYMBOL_in_partitioning14511	= { FOLLOW_KEY_SYMBOL_in_partitioning14511_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_list_with_parentheses_in_partitioning14513  */
static	ANTLR3_BITWORD FOLLOW_identifier_list_with_parentheses_in_partitioning14513_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000080), 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_with_parentheses_in_partitioning14513	= { FOLLOW_identifier_list_with_parentheses_in_partitioning14513_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SUBPARTITIONS_SYMBOL_in_partitioning14526  */
static	ANTLR3_BITWORD FOLLOW_SUBPARTITIONS_SYMBOL_in_partitioning14526_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_SUBPARTITIONS_SYMBOL_in_partitioning14526	= { FOLLOW_SUBPARTITIONS_SYMBOL_in_partitioning14526_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_partitioning14528  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_partitioning14528_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000000010000000) };
static  ANTLR3_BITSET_LIST FOLLOW_INTEGER_in_partitioning14528	= { FOLLOW_INTEGER_in_partitioning14528_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_partition_definitions_in_partitioning14551  */
static	ANTLR3_BITWORD FOLLOW_partition_definitions_in_partitioning14551_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_partition_definitions_in_partitioning14551	= { FOLLOW_partition_definitions_in_partitioning14551_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_partition_definitions14561  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_partition_definitions14561_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000800000000) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_partition_definitions14561	= { FOLLOW_OPEN_PAR_SYMBOL_in_partition_definitions14561_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_partition_definition_in_partition_definitions14563  */
static	ANTLR3_BITWORD FOLLOW_partition_definition_in_partition_definitions14563_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000210000) };
static  ANTLR3_BITSET_LIST FOLLOW_partition_definition_in_partition_definitions14563	= { FOLLOW_partition_definition_in_partition_definitions14563_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_partition_definitions14566  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_partition_definitions14566_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000800000000) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_partition_definitions14566	= { FOLLOW_COMMA_SYMBOL_in_partition_definitions14566_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_partition_definition_in_partition_definitions14568  */
static	ANTLR3_BITWORD FOLLOW_partition_definition_in_partition_definitions14568_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000210000) };
static  ANTLR3_BITSET_LIST FOLLOW_partition_definition_in_partition_definitions14568	= { FOLLOW_partition_definition_in_partition_definitions14568_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_partition_definitions14572  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_partition_definitions14572_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_partition_definitions14572	= { FOLLOW_CLOSE_PAR_SYMBOL_in_partition_definitions14572_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PARTITION_SYMBOL_in_partition_definition14581  */
static	ANTLR3_BITWORD FOLLOW_PARTITION_SYMBOL_in_partition_definition14581_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_PARTITION_SYMBOL_in_partition_definition14581	= { FOLLOW_PARTITION_SYMBOL_in_partition_definition14581_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_partition_definition14583  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_partition_definition14583_bits[]	= { ANTLR3_UINT64_LIT(0x0040000000000002), ANTLR3_UINT64_LIT(0x0000000000000200), ANTLR3_UINT64_LIT(0x0000800080100000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0400000000002004), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0100000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000010000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000040000) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_partition_definition14583	= { FOLLOW_identifier_in_partition_definition14583_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_VALUES_SYMBOL_in_partition_definition14590  */
static	ANTLR3_BITWORD FOLLOW_VALUES_SYMBOL_in_partition_definition14590_bits[]	= { 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(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100) };
static  ANTLR3_BITSET_LIST FOLLOW_VALUES_SYMBOL_in_partition_definition14590	= { FOLLOW_VALUES_SYMBOL_in_partition_definition14590_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_LESS_SYMBOL_in_partition_definition14599  */
static	ANTLR3_BITWORD FOLLOW_LESS_SYMBOL_in_partition_definition14599_bits[]	= { 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_LESS_SYMBOL_in_partition_definition14599	= { FOLLOW_LESS_SYMBOL_in_partition_definition14599_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_THAN_SYMBOL_in_partition_definition14601  */
static	ANTLR3_BITWORD FOLLOW_THAN_SYMBOL_in_partition_definition14601_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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(0x0000000010000000) };
static  ANTLR3_BITSET_LIST FOLLOW_THAN_SYMBOL_in_partition_definition14601	= { FOLLOW_THAN_SYMBOL_in_partition_definition14601_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_partition_value_list_in_partition_definition14604  */
static	ANTLR3_BITWORD FOLLOW_partition_value_list_in_partition_definition14604_bits[]	= { ANTLR3_UINT64_LIT(0x0040000000000002), ANTLR3_UINT64_LIT(0x0000000000000200), ANTLR3_UINT64_LIT(0x0000800080100000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0400000000002004), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0100000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000010000000) };
static  ANTLR3_BITSET_LIST FOLLOW_partition_value_list_in_partition_definition14604	= { FOLLOW_partition_value_list_in_partition_definition14604_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MAXVALUE_SYMBOL_in_partition_definition14608  */
static	ANTLR3_BITWORD FOLLOW_MAXVALUE_SYMBOL_in_partition_definition14608_bits[]	= { ANTLR3_UINT64_LIT(0x0040000000000002), ANTLR3_UINT64_LIT(0x0000000000000200), ANTLR3_UINT64_LIT(0x0000800080100000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0400000000002004), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0100000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000010000000) };
static  ANTLR3_BITSET_LIST FOLLOW_MAXVALUE_SYMBOL_in_partition_definition14608	= { FOLLOW_MAXVALUE_SYMBOL_in_partition_definition14608_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_IN_SYMBOL_in_partition_definition14616  */
static	ANTLR3_BITWORD FOLLOW_IN_SYMBOL_in_partition_definition14616_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_IN_SYMBOL_in_partition_definition14616	= { FOLLOW_IN_SYMBOL_in_partition_definition14616_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_partition_value_list_in_partition_definition14618  */
static	ANTLR3_BITWORD FOLLOW_partition_value_list_in_partition_definition14618_bits[]	= { ANTLR3_UINT64_LIT(0x0040000000000002), ANTLR3_UINT64_LIT(0x0000000000000200), ANTLR3_UINT64_LIT(0x0000800080100000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0400000000002004), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0100000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000010000000) };
static  ANTLR3_BITSET_LIST FOLLOW_partition_value_list_in_partition_definition14618	= { FOLLOW_partition_value_list_in_partition_definition14618_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_STORAGE_SYMBOL_in_partition_definition14630  */
static	ANTLR3_BITWORD FOLLOW_STORAGE_SYMBOL_in_partition_definition14630_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000200) };
static  ANTLR3_BITSET_LIST FOLLOW_STORAGE_SYMBOL_in_partition_definition14630	= { FOLLOW_STORAGE_SYMBOL_in_partition_definition14630_bits, 2	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ENGINE_SYMBOL_in_partition_definition14633  */
static	ANTLR3_BITWORD FOLLOW_ENGINE_SYMBOL_in_partition_definition14633_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000002000) };
static  ANTLR3_BITSET_LIST FOLLOW_ENGINE_SYMBOL_in_partition_definition14633	= { FOLLOW_ENGINE_SYMBOL_in_partition_definition14633_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_partition_definition14635  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_partition_definition14635_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_EQUAL_OPERATOR_in_partition_definition14635	= { FOLLOW_EQUAL_OPERATOR_in_partition_definition14635_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_IDENTIFIER_in_partition_definition14638  */
static	ANTLR3_BITWORD FOLLOW_IDENTIFIER_in_partition_definition14638_bits[]	= { ANTLR3_UINT64_LIT(0x0040000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000800080100000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0400000000002000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0100000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000010000000) };
static  ANTLR3_BITSET_LIST FOLLOW_IDENTIFIER_in_partition_definition14638	= { FOLLOW_IDENTIFIER_in_partition_definition14638_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMENT_SYMBOL_in_partition_definition14644  */
static	ANTLR3_BITWORD FOLLOW_COMMENT_SYMBOL_in_partition_definition14644_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000002010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMENT_SYMBOL_in_partition_definition14644	= { FOLLOW_COMMENT_SYMBOL_in_partition_definition14644_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_partition_definition14646  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_partition_definition14646_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_partition_definition14646	= { FOLLOW_EQUAL_OPERATOR_in_partition_definition14646_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_partition_definition14649  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_partition_definition14649_bits[]	= { ANTLR3_UINT64_LIT(0x0040000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000800080100000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000002000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0100000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000010000000) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_partition_definition14649	= { FOLLOW_string_literal_in_partition_definition14649_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DATA_SYMBOL_in_partition_definition14655  */
static	ANTLR3_BITWORD FOLLOW_DATA_SYMBOL_in_partition_definition14655_bits[]	= { ANTLR3_UINT64_LIT(0x8000000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_DATA_SYMBOL_in_partition_definition14655	= { FOLLOW_DATA_SYMBOL_in_partition_definition14655_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DIRECTORY_SYMBOL_in_partition_definition14657  */
static	ANTLR3_BITWORD FOLLOW_DIRECTORY_SYMBOL_in_partition_definition14657_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000002010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_DIRECTORY_SYMBOL_in_partition_definition14657	= { FOLLOW_DIRECTORY_SYMBOL_in_partition_definition14657_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_partition_definition14659  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_partition_definition14659_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_partition_definition14659	= { FOLLOW_EQUAL_OPERATOR_in_partition_definition14659_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_partition_definition14662  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_partition_definition14662_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000800080100000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000002000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0100000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000010000000) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_partition_definition14662	= { FOLLOW_string_literal_in_partition_definition14662_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INDEX_SYMBOL_in_partition_definition14668  */
static	ANTLR3_BITWORD FOLLOW_INDEX_SYMBOL_in_partition_definition14668_bits[]	= { ANTLR3_UINT64_LIT(0x8000000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_INDEX_SYMBOL_in_partition_definition14668	= { FOLLOW_INDEX_SYMBOL_in_partition_definition14668_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DIRECTORY_SYMBOL_in_partition_definition14670  */
static	ANTLR3_BITWORD FOLLOW_DIRECTORY_SYMBOL_in_partition_definition14670_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000002010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_DIRECTORY_SYMBOL_in_partition_definition14670	= { FOLLOW_DIRECTORY_SYMBOL_in_partition_definition14670_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_partition_definition14672  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_partition_definition14672_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_partition_definition14672	= { FOLLOW_EQUAL_OPERATOR_in_partition_definition14672_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_partition_definition14675  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_partition_definition14675_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000800080100000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000002000), 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_string_literal_in_partition_definition14675	= { FOLLOW_string_literal_in_partition_definition14675_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MAX_ROWS_SYMBOL_in_partition_definition14681  */
static	ANTLR3_BITWORD FOLLOW_MAX_ROWS_SYMBOL_in_partition_definition14681_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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(0x0000000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_MAX_ROWS_SYMBOL_in_partition_definition14681	= { FOLLOW_MAX_ROWS_SYMBOL_in_partition_definition14681_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_partition_definition14683  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_partition_definition14683_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_EQUAL_OPERATOR_in_partition_definition14683	= { FOLLOW_EQUAL_OPERATOR_in_partition_definition14683_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_partition_definition14686  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_partition_definition14686_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000800080000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000002000), 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_INTEGER_in_partition_definition14686	= { FOLLOW_INTEGER_in_partition_definition14686_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MIN_ROWS_SYMBOL_in_partition_definition14692  */
static	ANTLR3_BITWORD FOLLOW_MIN_ROWS_SYMBOL_in_partition_definition14692_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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(0x0000000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_MIN_ROWS_SYMBOL_in_partition_definition14692	= { FOLLOW_MIN_ROWS_SYMBOL_in_partition_definition14692_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_partition_definition14694  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_partition_definition14694_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_EQUAL_OPERATOR_in_partition_definition14694	= { FOLLOW_EQUAL_OPERATOR_in_partition_definition14694_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_partition_definition14697  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_partition_definition14697_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000800000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000002000), 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_INTEGER_in_partition_definition14697	= { FOLLOW_INTEGER_in_partition_definition14697_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TABLESPACE_SYMBOL_in_partition_definition14703  */
static	ANTLR3_BITWORD FOLLOW_TABLESPACE_SYMBOL_in_partition_definition14703_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000002010) };
static  ANTLR3_BITSET_LIST FOLLOW_TABLESPACE_SYMBOL_in_partition_definition14703	= { FOLLOW_TABLESPACE_SYMBOL_in_partition_definition14703_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_partition_definition14705  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_partition_definition14705_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_partition_definition14705	= { FOLLOW_EQUAL_OPERATOR_in_partition_definition14705_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_partition_definition14708  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_partition_definition14708_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000800000000000), ANTLR3_UINT64_LIT(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_partition_definition14708	= { FOLLOW_identifier_in_partition_definition14708_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_NODEGROUP_SYMBOL_in_partition_definition14714  */
static	ANTLR3_BITWORD FOLLOW_NODEGROUP_SYMBOL_in_partition_definition14714_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000002010) };
static  ANTLR3_BITSET_LIST FOLLOW_NODEGROUP_SYMBOL_in_partition_definition14714	= { FOLLOW_NODEGROUP_SYMBOL_in_partition_definition14714_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_partition_definition14716  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_partition_definition14716_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_partition_definition14716	= { FOLLOW_EQUAL_OPERATOR_in_partition_definition14716_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_partition_definition14719  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_partition_definition14719_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000000010000000) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_partition_definition14719	= { FOLLOW_identifier_in_partition_definition14719_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_partition_definition14725  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_partition_definition14725_bits[]	= { 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_OPEN_PAR_SYMBOL_in_partition_definition14725	= { FOLLOW_OPEN_PAR_SYMBOL_in_partition_definition14725_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_subpartition_definition_in_partition_definition14727  */
static	ANTLR3_BITWORD FOLLOW_subpartition_definition_in_partition_definition14727_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000210000) };
static  ANTLR3_BITSET_LIST FOLLOW_subpartition_definition_in_partition_definition14727	= { FOLLOW_subpartition_definition_in_partition_definition14727_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_partition_definition14730  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_partition_definition14730_bits[]	= { 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_COMMA_SYMBOL_in_partition_definition14730	= { FOLLOW_COMMA_SYMBOL_in_partition_definition14730_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_subpartition_definition_in_partition_definition14732  */
static	ANTLR3_BITWORD FOLLOW_subpartition_definition_in_partition_definition14732_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000210000) };
static  ANTLR3_BITSET_LIST FOLLOW_subpartition_definition_in_partition_definition14732	= { FOLLOW_subpartition_definition_in_partition_definition14732_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_partition_definition14736  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_partition_definition14736_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_partition_definition14736	= { FOLLOW_CLOSE_PAR_SYMBOL_in_partition_definition14736_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SUBPARTITION_SYMBOL_in_subpartition_definition14747  */
static	ANTLR3_BITWORD FOLLOW_SUBPARTITION_SYMBOL_in_subpartition_definition14747_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_SUBPARTITION_SYMBOL_in_subpartition_definition14747	= { FOLLOW_SUBPARTITION_SYMBOL_in_subpartition_definition14747_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_subpartition_definition14749  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_subpartition_definition14749_bits[]	= { ANTLR3_UINT64_LIT(0x0040000000000002), ANTLR3_UINT64_LIT(0x0000000000000200), ANTLR3_UINT64_LIT(0x0000800080100000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0400000000002004), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0100000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_subpartition_definition14749	= { FOLLOW_identifier_in_subpartition_definition14749_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_STORAGE_SYMBOL_in_subpartition_definition14754  */
static	ANTLR3_BITWORD FOLLOW_STORAGE_SYMBOL_in_subpartition_definition14754_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000200) };
static  ANTLR3_BITSET_LIST FOLLOW_STORAGE_SYMBOL_in_subpartition_definition14754	= { FOLLOW_STORAGE_SYMBOL_in_subpartition_definition14754_bits, 2	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ENGINE_SYMBOL_in_subpartition_definition14757  */
static	ANTLR3_BITWORD FOLLOW_ENGINE_SYMBOL_in_subpartition_definition14757_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000002000) };
static  ANTLR3_BITSET_LIST FOLLOW_ENGINE_SYMBOL_in_subpartition_definition14757	= { FOLLOW_ENGINE_SYMBOL_in_subpartition_definition14757_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_subpartition_definition14759  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_subpartition_definition14759_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_EQUAL_OPERATOR_in_subpartition_definition14759	= { FOLLOW_EQUAL_OPERATOR_in_subpartition_definition14759_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_IDENTIFIER_in_subpartition_definition14762  */
static	ANTLR3_BITWORD FOLLOW_IDENTIFIER_in_subpartition_definition14762_bits[]	= { ANTLR3_UINT64_LIT(0x0040000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000800080100000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0400000000002000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0100000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_IDENTIFIER_in_subpartition_definition14762	= { FOLLOW_IDENTIFIER_in_subpartition_definition14762_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMENT_SYMBOL_in_subpartition_definition14769  */
static	ANTLR3_BITWORD FOLLOW_COMMENT_SYMBOL_in_subpartition_definition14769_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000002010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMENT_SYMBOL_in_subpartition_definition14769	= { FOLLOW_COMMENT_SYMBOL_in_subpartition_definition14769_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_subpartition_definition14771  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_subpartition_definition14771_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_subpartition_definition14771	= { FOLLOW_EQUAL_OPERATOR_in_subpartition_definition14771_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_subpartition_definition14774  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_subpartition_definition14774_bits[]	= { ANTLR3_UINT64_LIT(0x0040000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000800080100000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000002000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0100000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_subpartition_definition14774	= { FOLLOW_string_literal_in_subpartition_definition14774_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DATA_SYMBOL_in_subpartition_definition14781  */
static	ANTLR3_BITWORD FOLLOW_DATA_SYMBOL_in_subpartition_definition14781_bits[]	= { ANTLR3_UINT64_LIT(0x8000000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_DATA_SYMBOL_in_subpartition_definition14781	= { FOLLOW_DATA_SYMBOL_in_subpartition_definition14781_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DIRECTORY_SYMBOL_in_subpartition_definition14783  */
static	ANTLR3_BITWORD FOLLOW_DIRECTORY_SYMBOL_in_subpartition_definition14783_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000002010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_DIRECTORY_SYMBOL_in_subpartition_definition14783	= { FOLLOW_DIRECTORY_SYMBOL_in_subpartition_definition14783_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_subpartition_definition14785  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_subpartition_definition14785_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_subpartition_definition14785	= { FOLLOW_EQUAL_OPERATOR_in_subpartition_definition14785_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_subpartition_definition14788  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_subpartition_definition14788_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000800080100000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000002000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0100000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_subpartition_definition14788	= { FOLLOW_string_literal_in_subpartition_definition14788_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INDEX_SYMBOL_in_subpartition_definition14795  */
static	ANTLR3_BITWORD FOLLOW_INDEX_SYMBOL_in_subpartition_definition14795_bits[]	= { ANTLR3_UINT64_LIT(0x8000000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_INDEX_SYMBOL_in_subpartition_definition14795	= { FOLLOW_INDEX_SYMBOL_in_subpartition_definition14795_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DIRECTORY_SYMBOL_in_subpartition_definition14797  */
static	ANTLR3_BITWORD FOLLOW_DIRECTORY_SYMBOL_in_subpartition_definition14797_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000002010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_DIRECTORY_SYMBOL_in_subpartition_definition14797	= { FOLLOW_DIRECTORY_SYMBOL_in_subpartition_definition14797_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_subpartition_definition14799  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_subpartition_definition14799_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_subpartition_definition14799	= { FOLLOW_EQUAL_OPERATOR_in_subpartition_definition14799_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_subpartition_definition14802  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_subpartition_definition14802_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000800080100000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000002000) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_subpartition_definition14802	= { FOLLOW_string_literal_in_subpartition_definition14802_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MAX_ROWS_SYMBOL_in_subpartition_definition14809  */
static	ANTLR3_BITWORD FOLLOW_MAX_ROWS_SYMBOL_in_subpartition_definition14809_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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(0x0000000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_MAX_ROWS_SYMBOL_in_subpartition_definition14809	= { FOLLOW_MAX_ROWS_SYMBOL_in_subpartition_definition14809_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_subpartition_definition14811  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_subpartition_definition14811_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_EQUAL_OPERATOR_in_subpartition_definition14811	= { FOLLOW_EQUAL_OPERATOR_in_subpartition_definition14811_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_subpartition_definition14814  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_subpartition_definition14814_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000800080000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000002000) };
static  ANTLR3_BITSET_LIST FOLLOW_INTEGER_in_subpartition_definition14814	= { FOLLOW_INTEGER_in_subpartition_definition14814_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MIN_ROWS_SYMBOL_in_subpartition_definition14821  */
static	ANTLR3_BITWORD FOLLOW_MIN_ROWS_SYMBOL_in_subpartition_definition14821_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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(0x0000000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_MIN_ROWS_SYMBOL_in_subpartition_definition14821	= { FOLLOW_MIN_ROWS_SYMBOL_in_subpartition_definition14821_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_subpartition_definition14823  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_subpartition_definition14823_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_EQUAL_OPERATOR_in_subpartition_definition14823	= { FOLLOW_EQUAL_OPERATOR_in_subpartition_definition14823_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_subpartition_definition14826  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_subpartition_definition14826_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000800000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000002000) };
static  ANTLR3_BITSET_LIST FOLLOW_INTEGER_in_subpartition_definition14826	= { FOLLOW_INTEGER_in_subpartition_definition14826_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TABLESPACE_SYMBOL_in_subpartition_definition14833  */
static	ANTLR3_BITWORD FOLLOW_TABLESPACE_SYMBOL_in_subpartition_definition14833_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000002010) };
static  ANTLR3_BITSET_LIST FOLLOW_TABLESPACE_SYMBOL_in_subpartition_definition14833	= { FOLLOW_TABLESPACE_SYMBOL_in_subpartition_definition14833_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_subpartition_definition14835  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_subpartition_definition14835_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_subpartition_definition14835	= { FOLLOW_EQUAL_OPERATOR_in_subpartition_definition14835_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_subpartition_definition14838  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_subpartition_definition14838_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000800000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_subpartition_definition14838	= { FOLLOW_identifier_in_subpartition_definition14838_bits, 3	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_NODEGROUP_SYMBOL_in_subpartition_definition14845  */
static	ANTLR3_BITWORD FOLLOW_NODEGROUP_SYMBOL_in_subpartition_definition14845_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000002010) };
static  ANTLR3_BITSET_LIST FOLLOW_NODEGROUP_SYMBOL_in_subpartition_definition14845	= { FOLLOW_NODEGROUP_SYMBOL_in_subpartition_definition14845_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_subpartition_definition14847  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_subpartition_definition14847_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_subpartition_definition14847	= { FOLLOW_EQUAL_OPERATOR_in_subpartition_definition14847_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_subpartition_definition14850  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_subpartition_definition14850_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_subpartition_definition14850	= { FOLLOW_identifier_in_subpartition_definition14850_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_partition_value_list14861  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_partition_value_list14861_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4838020001000028), ANTLR3_UINT64_LIT(0x06000320180AC908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_partition_value_list14861	= { FOLLOW_OPEN_PAR_SYMBOL_in_partition_value_list14861_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_partition_value_list14864  */
static	ANTLR3_BITWORD FOLLOW_expression_in_partition_value_list14864_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000210000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_partition_value_list14864	= { FOLLOW_expression_in_partition_value_list14864_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MAXVALUE_SYMBOL_in_partition_value_list14868  */
static	ANTLR3_BITWORD FOLLOW_MAXVALUE_SYMBOL_in_partition_value_list14868_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000210000) };
static  ANTLR3_BITSET_LIST FOLLOW_MAXVALUE_SYMBOL_in_partition_value_list14868	= { FOLLOW_MAXVALUE_SYMBOL_in_partition_value_list14868_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_partition_value_list14872  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_partition_value_list14872_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4838020001000028), ANTLR3_UINT64_LIT(0x06000320180AC908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_partition_value_list14872	= { FOLLOW_COMMA_SYMBOL_in_partition_value_list14872_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_partition_value_list14875  */
static	ANTLR3_BITWORD FOLLOW_expression_in_partition_value_list14875_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000210000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_partition_value_list14875	= { FOLLOW_expression_in_partition_value_list14875_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MAXVALUE_SYMBOL_in_partition_value_list14879  */
static	ANTLR3_BITWORD FOLLOW_MAXVALUE_SYMBOL_in_partition_value_list14879_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000210000) };
static  ANTLR3_BITSET_LIST FOLLOW_MAXVALUE_SYMBOL_in_partition_value_list14879	= { FOLLOW_MAXVALUE_SYMBOL_in_partition_value_list14879_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_partition_value_list14884  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_partition_value_list14884_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_partition_value_list14884	= { FOLLOW_CLOSE_PAR_SYMBOL_in_partition_value_list14884_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DEFINER_SYMBOL_in_definer_clause14893  */
static	ANTLR3_BITWORD FOLLOW_DEFINER_SYMBOL_in_definer_clause14893_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_DEFINER_SYMBOL_in_definer_clause14893	= { FOLLOW_DEFINER_SYMBOL_in_definer_clause14893_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_definer_clause14896  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_definer_clause14896_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000200000000), ANTLR3_UINT64_LIT(0x0010000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_definer_clause14896	= { FOLLOW_EQUAL_OPERATOR_in_definer_clause14896_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_user_in_definer_clause14898  */
static	ANTLR3_BITWORD FOLLOW_user_in_definer_clause14898_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_user_in_definer_clause14898	= { FOLLOW_user_in_definer_clause14898_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_IF_SYMBOL_in_if_exists14907  */
static	ANTLR3_BITWORD FOLLOW_IF_SYMBOL_in_if_exists14907_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_IF_SYMBOL_in_if_exists14907	= { FOLLOW_IF_SYMBOL_in_if_exists14907_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EXISTS_SYMBOL_in_if_exists14909  */
static	ANTLR3_BITWORD FOLLOW_EXISTS_SYMBOL_in_if_exists14909_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_EXISTS_SYMBOL_in_if_exists14909	= { FOLLOW_EXISTS_SYMBOL_in_if_exists14909_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_IF_SYMBOL_in_if_not_exists14918  */
static	ANTLR3_BITWORD FOLLOW_IF_SYMBOL_in_if_not_exists14918_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_IF_SYMBOL_in_if_not_exists14918	= { FOLLOW_IF_SYMBOL_in_if_not_exists14918_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_NOT_SYMBOL_in_if_not_exists14920  */
static	ANTLR3_BITWORD FOLLOW_NOT_SYMBOL_in_if_not_exists14920_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_NOT_SYMBOL_in_if_not_exists14920	= { FOLLOW_NOT_SYMBOL_in_if_not_exists14920_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EXISTS_SYMBOL_in_if_not_exists14922  */
static	ANTLR3_BITWORD FOLLOW_EXISTS_SYMBOL_in_if_not_exists14922_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_EXISTS_SYMBOL_in_if_not_exists14922	= { FOLLOW_EXISTS_SYMBOL_in_if_not_exists14922_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_function_parameter_in_procedure_parameter14944  */
static	ANTLR3_BITWORD FOLLOW_function_parameter_in_procedure_parameter14944_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_function_parameter_in_procedure_parameter14944	= { FOLLOW_function_parameter_in_procedure_parameter14944_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_function_parameter14953  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_function_parameter14953_bits[]	= { ANTLR3_UINT64_LIT(0x0180000000680000), ANTLR3_UINT64_LIT(0x00800000C2000400), ANTLR3_UINT64_LIT(0x00080C3800000000), ANTLR3_UINT64_LIT(0x000020000000000C), ANTLR3_UINT64_LIT(0x0002000001880000), ANTLR3_UINT64_LIT(0x0060000000000000), ANTLR3_UINT64_LIT(0x0004000000001002), ANTLR3_UINT64_LIT(0x0000000040000020), ANTLR3_UINT64_LIT(0x01C0580000000090), ANTLR3_UINT64_LIT(0x0010000000100000), ANTLR3_UINT64_LIT(0x3800000000201000), ANTLR3_UINT64_LIT(0x0000000000280000) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_function_parameter14953	= { FOLLOW_identifier_in_function_parameter14953_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_data_type_in_function_parameter14955  */
static	ANTLR3_BITWORD FOLLOW_data_type_in_function_parameter14955_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_data_type_in_function_parameter14955	= { FOLLOW_data_type_in_function_parameter14955_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_identifier_variants_in_table_identifier14964  */
static	ANTLR3_BITWORD FOLLOW_table_identifier_variants_in_table_identifier14964_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_table_identifier_variants_in_table_identifier14964	= { FOLLOW_table_identifier_variants_in_table_identifier14964_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_table_identifier_variants14985  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_table_identifier_variants14985_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_table_identifier_variants14985	= { FOLLOW_identifier_in_table_identifier_variants14985_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DOT_SYMBOL_in_table_identifier_variants15001  */
static	ANTLR3_BITWORD FOLLOW_DOT_SYMBOL_in_table_identifier_variants15001_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_DOT_SYMBOL_in_table_identifier_variants15001	= { FOLLOW_DOT_SYMBOL_in_table_identifier_variants15001_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_table_identifier_variants15003  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_table_identifier_variants15003_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_table_identifier_variants15003	= { FOLLOW_identifier_in_table_identifier_variants15003_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DOT_SYMBOL_in_table_identifier_variants15010  */
static	ANTLR3_BITWORD FOLLOW_DOT_SYMBOL_in_table_identifier_variants15010_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_DOT_SYMBOL_in_table_identifier_variants15010	= { FOLLOW_DOT_SYMBOL_in_table_identifier_variants15010_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_table_identifier_variants15012  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_table_identifier_variants15012_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_table_identifier_variants15012	= { FOLLOW_identifier_in_table_identifier_variants15012_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_identifier_in_table_identifier_list15021  */
static	ANTLR3_BITWORD FOLLOW_table_identifier_in_table_identifier_list15021_bits[]	= { ANTLR3_UINT64_LIT(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) };
static  ANTLR3_BITSET_LIST FOLLOW_table_identifier_in_table_identifier_list15021	= { FOLLOW_table_identifier_in_table_identifier_list15021_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_table_identifier_list15024  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_table_identifier_list15024_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000012) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_table_identifier_list15024	= { FOLLOW_COMMA_SYMBOL_in_table_identifier_list15024_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_identifier_in_table_identifier_list15026  */
static	ANTLR3_BITWORD FOLLOW_table_identifier_in_table_identifier_list15026_bits[]	= { ANTLR3_UINT64_LIT(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) };
static  ANTLR3_BITSET_LIST FOLLOW_table_identifier_in_table_identifier_list15026	= { FOLLOW_table_identifier_in_table_identifier_list15026_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_qualified_identifier_in_qualified_identifier_list15044  */
static	ANTLR3_BITWORD FOLLOW_qualified_identifier_in_qualified_identifier_list15044_bits[]	= { ANTLR3_UINT64_LIT(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) };
static  ANTLR3_BITSET_LIST FOLLOW_qualified_identifier_in_qualified_identifier_list15044	= { FOLLOW_qualified_identifier_in_qualified_identifier_list15044_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_qualified_identifier_list15047  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_qualified_identifier_list15047_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_qualified_identifier_list15047	= { FOLLOW_COMMA_SYMBOL_in_qualified_identifier_list15047_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_qualified_identifier_in_qualified_identifier_list15049  */
static	ANTLR3_BITWORD FOLLOW_qualified_identifier_in_qualified_identifier_list15049_bits[]	= { ANTLR3_UINT64_LIT(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) };
static  ANTLR3_BITSET_LIST FOLLOW_qualified_identifier_in_qualified_identifier_list15049	= { FOLLOW_qualified_identifier_in_qualified_identifier_list15049_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_qualified_identifier15067  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_qualified_identifier15067_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_qualified_identifier15067	= { FOLLOW_identifier_in_qualified_identifier15067_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DOT_SYMBOL_in_qualified_identifier15070  */
static	ANTLR3_BITWORD FOLLOW_DOT_SYMBOL_in_qualified_identifier15070_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_DOT_SYMBOL_in_qualified_identifier15070	= { FOLLOW_DOT_SYMBOL_in_qualified_identifier15070_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_qualified_identifier15072  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_qualified_identifier15072_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_qualified_identifier15072	= { FOLLOW_identifier_in_qualified_identifier15072_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_qualified_identifier_in_qualified_identifier_with_wildcard15083  */
static	ANTLR3_BITWORD FOLLOW_qualified_identifier_in_qualified_identifier_with_wildcard15083_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_qualified_identifier_in_qualified_identifier_with_wildcard15083	= { FOLLOW_qualified_identifier_in_qualified_identifier_with_wildcard15083_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DOT_SYMBOL_in_qualified_identifier_with_wildcard15085  */
static	ANTLR3_BITWORD FOLLOW_DOT_SYMBOL_in_qualified_identifier_with_wildcard15085_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_DOT_SYMBOL_in_qualified_identifier_with_wildcard15085	= { FOLLOW_DOT_SYMBOL_in_qualified_identifier_with_wildcard15085_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MULT_OPERATOR_in_qualified_identifier_with_wildcard15087  */
static	ANTLR3_BITWORD FOLLOW_MULT_OPERATOR_in_qualified_identifier_with_wildcard15087_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_MULT_OPERATOR_in_qualified_identifier_with_wildcard15087	= { FOLLOW_MULT_OPERATOR_in_qualified_identifier_with_wildcard15087_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_qualified_identifier_in_target_table15105  */
static	ANTLR3_BITWORD FOLLOW_qualified_identifier_in_target_table15105_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_qualified_identifier_in_target_table15105	= { FOLLOW_qualified_identifier_in_target_table15105_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_qualified_identifier_in_target_table_with_optional_wildcard15123  */
static	ANTLR3_BITWORD FOLLOW_qualified_identifier_in_target_table_with_optional_wildcard15123_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_qualified_identifier_in_target_table_with_optional_wildcard15123	= { FOLLOW_qualified_identifier_in_target_table_with_optional_wildcard15123_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DOT_SYMBOL_in_target_table_with_optional_wildcard15126  */
static	ANTLR3_BITWORD FOLLOW_DOT_SYMBOL_in_target_table_with_optional_wildcard15126_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_DOT_SYMBOL_in_target_table_with_optional_wildcard15126	= { FOLLOW_DOT_SYMBOL_in_target_table_with_optional_wildcard15126_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MULT_OPERATOR_in_target_table_with_optional_wildcard15128  */
static	ANTLR3_BITWORD FOLLOW_MULT_OPERATOR_in_target_table_with_optional_wildcard15128_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_MULT_OPERATOR_in_target_table_with_optional_wildcard15128	= { FOLLOW_MULT_OPERATOR_in_target_table_with_optional_wildcard15128_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_field_name_in_column_assignment15155  */
static	ANTLR3_BITWORD FOLLOW_field_name_in_column_assignment15155_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_field_name_in_column_assignment15155	= { FOLLOW_field_name_in_column_assignment15155_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_column_assignment15157  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_column_assignment15157_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180AC908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_column_assignment15157	= { FOLLOW_EQUAL_OPERATOR_in_column_assignment15157_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_column_assignment15159  */
static	ANTLR3_BITWORD FOLLOW_expression_in_column_assignment15159_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_column_assignment15159	= { FOLLOW_expression_in_column_assignment15159_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_field_name_in_field_name_list15168  */
static	ANTLR3_BITWORD FOLLOW_field_name_in_field_name_list15168_bits[]	= { ANTLR3_UINT64_LIT(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) };
static  ANTLR3_BITSET_LIST FOLLOW_field_name_in_field_name_list15168	= { FOLLOW_field_name_in_field_name_list15168_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_field_name_list15171  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_field_name_list15171_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000012) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_field_name_list15171	= { FOLLOW_COMMA_SYMBOL_in_field_name_list15171_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_field_name_in_field_name_list15173  */
static	ANTLR3_BITWORD FOLLOW_field_name_in_field_name_list15173_bits[]	= { ANTLR3_UINT64_LIT(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) };
static  ANTLR3_BITSET_LIST FOLLOW_field_name_in_field_name_list15173	= { FOLLOW_field_name_in_field_name_list15173_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_field_name_entry_in_field_name15184  */
static	ANTLR3_BITWORD FOLLOW_field_name_entry_in_field_name15184_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_field_name_entry_in_field_name15184	= { FOLLOW_field_name_entry_in_field_name15184_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_field_name_entry15203  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_field_name_entry15203_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_identifier_in_field_name_entry15203	= { FOLLOW_identifier_in_field_name_entry15203_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DOT_SYMBOL_in_field_name_entry15206  */
static	ANTLR3_BITWORD FOLLOW_DOT_SYMBOL_in_field_name_entry15206_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_DOT_SYMBOL_in_field_name_entry15206	= { FOLLOW_DOT_SYMBOL_in_field_name_entry15206_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_field_name_entry15209  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_field_name_entry15209_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_identifier_in_field_name_entry15209	= { FOLLOW_identifier_in_field_name_entry15209_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DOT_SYMBOL_in_field_name_entry15211  */
static	ANTLR3_BITWORD FOLLOW_DOT_SYMBOL_in_field_name_entry15211_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_DOT_SYMBOL_in_field_name_entry15211	= { FOLLOW_DOT_SYMBOL_in_field_name_entry15211_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_field_name_entry15217  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_field_name_entry15217_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_field_name_entry15217	= { FOLLOW_identifier_in_field_name_entry15217_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_column_assignment_with_default_in_column_assignment_list_with_default15226  */
static	ANTLR3_BITWORD FOLLOW_column_assignment_with_default_in_column_assignment_list_with_default15226_bits[]	= { ANTLR3_UINT64_LIT(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) };
static  ANTLR3_BITSET_LIST FOLLOW_column_assignment_with_default_in_column_assignment_list_with_default15226	= { FOLLOW_column_assignment_with_default_in_column_assignment_list_with_default15226_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_column_assignment_list_with_default15229  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_column_assignment_list_with_default15229_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000012) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_column_assignment_list_with_default15229	= { FOLLOW_COMMA_SYMBOL_in_column_assignment_list_with_default15229_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_column_assignment_with_default_in_column_assignment_list_with_default15231  */
static	ANTLR3_BITWORD FOLLOW_column_assignment_with_default_in_column_assignment_list_with_default15231_bits[]	= { ANTLR3_UINT64_LIT(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) };
static  ANTLR3_BITSET_LIST FOLLOW_column_assignment_with_default_in_column_assignment_list_with_default15231	= { FOLLOW_column_assignment_with_default_in_column_assignment_list_with_default15231_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_field_name_in_column_assignment_with_default15259  */
static	ANTLR3_BITWORD FOLLOW_field_name_in_column_assignment_with_default15259_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_field_name_in_column_assignment_with_default15259	= { FOLLOW_field_name_in_column_assignment_with_default15259_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_column_assignment_with_default15261  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_column_assignment_with_default15261_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00200A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180AC908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_column_assignment_with_default15261	= { FOLLOW_EQUAL_OPERATOR_in_column_assignment_with_default15261_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_column_assignment_with_default15264  */
static	ANTLR3_BITWORD FOLLOW_expression_in_column_assignment_with_default15264_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_column_assignment_with_default15264	= { FOLLOW_expression_in_column_assignment_with_default15264_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DEFAULT_SYMBOL_in_column_assignment_with_default15268  */
static	ANTLR3_BITWORD FOLLOW_DEFAULT_SYMBOL_in_column_assignment_with_default15268_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_DEFAULT_SYMBOL_in_column_assignment_with_default15268	= { FOLLOW_DEFAULT_SYMBOL_in_column_assignment_with_default15268_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_charset_in_charset_clause15278  */
static	ANTLR3_BITWORD FOLLOW_charset_in_charset_clause15278_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0044000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0020000000000000), ANTLR3_UINT64_LIT(0x0010000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_charset_in_charset_clause15278	= { FOLLOW_charset_in_charset_clause15278_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_text_or_identifier_in_charset_clause15281  */
static	ANTLR3_BITWORD FOLLOW_text_or_identifier_in_charset_clause15281_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_text_or_identifier_in_charset_clause15281	= { FOLLOW_text_or_identifier_in_charset_clause15281_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DEFAULT_SYMBOL_in_charset_clause15285  */
static	ANTLR3_BITWORD FOLLOW_DEFAULT_SYMBOL_in_charset_clause15285_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_DEFAULT_SYMBOL_in_charset_clause15285	= { FOLLOW_DEFAULT_SYMBOL_in_charset_clause15285_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BINARY_SYMBOL_in_charset_clause15289  */
static	ANTLR3_BITWORD FOLLOW_BINARY_SYMBOL_in_charset_clause15289_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_BINARY_SYMBOL_in_charset_clause15289	= { FOLLOW_BINARY_SYMBOL_in_charset_clause15289_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COLUMNS_SYMBOL_in_fields_clause15299  */
static	ANTLR3_BITWORD FOLLOW_COLUMNS_SYMBOL_in_fields_clause15299_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000004800), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000040000000), ANTLR3_UINT64_LIT(0x0200000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_COLUMNS_SYMBOL_in_fields_clause15299	= { FOLLOW_COLUMNS_SYMBOL_in_fields_clause15299_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_field_term_in_fields_clause15301  */
static	ANTLR3_BITWORD FOLLOW_field_term_in_fields_clause15301_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000000000004800), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000040000000), ANTLR3_UINT64_LIT(0x0200000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_field_term_in_fields_clause15301	= { FOLLOW_field_term_in_fields_clause15301_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TERMINATED_SYMBOL_in_field_term15311  */
static	ANTLR3_BITWORD FOLLOW_TERMINATED_SYMBOL_in_field_term15311_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_TERMINATED_SYMBOL_in_field_term15311	= { FOLLOW_TERMINATED_SYMBOL_in_field_term15311_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BY_SYMBOL_in_field_term15313  */
static	ANTLR3_BITWORD FOLLOW_BY_SYMBOL_in_field_term15313_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_BY_SYMBOL_in_field_term15313	= { FOLLOW_BY_SYMBOL_in_field_term15313_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_field_term15315  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_field_term15315_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_field_term15315	= { FOLLOW_string_literal_in_field_term15315_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPTIONALLY_SYMBOL_in_field_term15320  */
static	ANTLR3_BITWORD FOLLOW_OPTIONALLY_SYMBOL_in_field_term15320_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_OPTIONALLY_SYMBOL_in_field_term15320	= { FOLLOW_OPTIONALLY_SYMBOL_in_field_term15320_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ENCLOSED_SYMBOL_in_field_term15323  */
static	ANTLR3_BITWORD FOLLOW_ENCLOSED_SYMBOL_in_field_term15323_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_ENCLOSED_SYMBOL_in_field_term15323	= { FOLLOW_ENCLOSED_SYMBOL_in_field_term15323_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BY_SYMBOL_in_field_term15325  */
static	ANTLR3_BITWORD FOLLOW_BY_SYMBOL_in_field_term15325_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_BY_SYMBOL_in_field_term15325	= { FOLLOW_BY_SYMBOL_in_field_term15325_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_field_term15327  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_field_term15327_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_field_term15327	= { FOLLOW_string_literal_in_field_term15327_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ESCAPED_SYMBOL_in_field_term15332  */
static	ANTLR3_BITWORD FOLLOW_ESCAPED_SYMBOL_in_field_term15332_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_ESCAPED_SYMBOL_in_field_term15332	= { FOLLOW_ESCAPED_SYMBOL_in_field_term15332_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BY_SYMBOL_in_field_term15334  */
static	ANTLR3_BITWORD FOLLOW_BY_SYMBOL_in_field_term15334_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_BY_SYMBOL_in_field_term15334	= { FOLLOW_BY_SYMBOL_in_field_term15334_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_field_term15336  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_field_term15336_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_field_term15336	= { FOLLOW_string_literal_in_field_term15336_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_LINES_SYMBOL_in_lines_clause15345  */
static	ANTLR3_BITWORD FOLLOW_LINES_SYMBOL_in_lines_clause15345_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0200020000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_LINES_SYMBOL_in_lines_clause15345	= { FOLLOW_LINES_SYMBOL_in_lines_clause15345_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_line_term_in_lines_clause15347  */
static	ANTLR3_BITWORD FOLLOW_line_term_in_lines_clause15347_bits[]	= { ANTLR3_UINT64_LIT(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(0x0200020000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_line_term_in_lines_clause15347	= { FOLLOW_line_term_in_lines_clause15347_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_line_term15357  */
static	ANTLR3_BITWORD FOLLOW_set_in_line_term15357_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_line_term15357	= { FOLLOW_set_in_line_term15357_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BY_SYMBOL_in_line_term15365  */
static	ANTLR3_BITWORD FOLLOW_BY_SYMBOL_in_line_term15365_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_BY_SYMBOL_in_line_term15365	= { FOLLOW_BY_SYMBOL_in_line_term15365_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_line_term15367  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_line_term15367_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_line_term15367	= { FOLLOW_string_literal_in_line_term15367_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_user_in_user_list15376  */
static	ANTLR3_BITWORD FOLLOW_user_in_user_list15376_bits[]	= { ANTLR3_UINT64_LIT(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) };
static  ANTLR3_BITSET_LIST FOLLOW_user_in_user_list15376	= { FOLLOW_user_in_user_list15376_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_user_list15379  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_user_list15379_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000200000000), ANTLR3_UINT64_LIT(0x0010000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_user_list15379	= { FOLLOW_COMMA_SYMBOL_in_user_list15379_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_user_in_user_list15381  */
static	ANTLR3_BITWORD FOLLOW_user_in_user_list15381_bits[]	= { ANTLR3_UINT64_LIT(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) };
static  ANTLR3_BITSET_LIST FOLLOW_user_in_user_list15381	= { FOLLOW_user_in_user_list15381_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_user_in_user_specification15392  */
static	ANTLR3_BITWORD FOLLOW_user_in_user_specification15392_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000004000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_user_in_user_specification15392	= { FOLLOW_user_in_user_specification15392_bits, 2	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_IDENTIFIED_SYMBOL_in_user_specification15399  */
static	ANTLR3_BITWORD FOLLOW_IDENTIFIED_SYMBOL_in_user_specification15399_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000010), 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_IDENTIFIED_SYMBOL_in_user_specification15399	= { FOLLOW_IDENTIFIED_SYMBOL_in_user_specification15399_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BY_SYMBOL_in_user_specification15408  */
static	ANTLR3_BITWORD FOLLOW_BY_SYMBOL_in_user_specification15408_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x2000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_BY_SYMBOL_in_user_specification15408	= { FOLLOW_BY_SYMBOL_in_user_specification15408_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PASSWORD_SYMBOL_in_user_specification15410  */
static	ANTLR3_BITWORD FOLLOW_PASSWORD_SYMBOL_in_user_specification15410_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_PASSWORD_SYMBOL_in_user_specification15410	= { FOLLOW_PASSWORD_SYMBOL_in_user_specification15410_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_user_specification15413  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_user_specification15413_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_user_specification15413	= { FOLLOW_string_literal_in_user_specification15413_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_WITH_SYMBOL_in_user_specification15420  */
static	ANTLR3_BITWORD FOLLOW_WITH_SYMBOL_in_user_specification15420_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), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_WITH_SYMBOL_in_user_specification15420	= { FOLLOW_WITH_SYMBOL_in_user_specification15420_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_pure_identifier_in_user_specification15422  */
static	ANTLR3_BITWORD FOLLOW_pure_identifier_in_user_specification15422_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000400000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_pure_identifier_in_user_specification15422	= { FOLLOW_pure_identifier_in_user_specification15422_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_AS_SYMBOL_in_user_specification15425  */
static	ANTLR3_BITWORD FOLLOW_AS_SYMBOL_in_user_specification15425_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_AS_SYMBOL_in_user_specification15425	= { FOLLOW_AS_SYMBOL_in_user_specification15425_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_user_specification15427  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_user_specification15427_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_user_specification15427	= { FOLLOW_string_literal_in_user_specification15427_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_text_or_identifier_in_user15446  */
static	ANTLR3_BITWORD FOLLOW_text_or_identifier_in_user15446_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), 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_text_or_identifier_in_user15446	= { FOLLOW_text_or_identifier_in_user15446_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_AT_SIGN_SYMBOL_in_user15449  */
static	ANTLR3_BITWORD FOLLOW_AT_SIGN_SYMBOL_in_user15449_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_AT_SIGN_SYMBOL_in_user15449	= { FOLLOW_AT_SIGN_SYMBOL_in_user15449_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_text_or_identifier_in_user15451  */
static	ANTLR3_BITWORD FOLLOW_text_or_identifier_in_user15451_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_text_or_identifier_in_user15451	= { FOLLOW_text_or_identifier_in_user15451_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CURRENT_USER_SYMBOL_in_user15458  */
static	ANTLR3_BITWORD FOLLOW_CURRENT_USER_SYMBOL_in_user15458_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000000010000000) };
static  ANTLR3_BITSET_LIST FOLLOW_CURRENT_USER_SYMBOL_in_user15458	= { FOLLOW_CURRENT_USER_SYMBOL_in_user15458_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_parentheses_in_user15460  */
static	ANTLR3_BITWORD FOLLOW_parentheses_in_user15460_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_parentheses_in_user15460	= { FOLLOW_parentheses_in_user15460_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_LIKE_SYMBOL_in_like_clause15470  */
static	ANTLR3_BITWORD FOLLOW_LIKE_SYMBOL_in_like_clause15470_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000002000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_LIKE_SYMBOL_in_like_clause15470	= { FOLLOW_LIKE_SYMBOL_in_like_clause15470_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_text_or_param_marker_in_like_clause15472  */
static	ANTLR3_BITWORD FOLLOW_text_or_param_marker_in_like_clause15472_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_text_or_param_marker_in_like_clause15472	= { FOLLOW_text_or_param_marker_in_like_clause15472_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_like_clause_in_like_or_where15481  */
static	ANTLR3_BITWORD FOLLOW_like_clause_in_like_or_where15481_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_like_clause_in_like_or_where15481	= { FOLLOW_like_clause_in_like_or_where15481_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_where_clause_in_like_or_where15485  */
static	ANTLR3_BITWORD FOLLOW_where_clause_in_like_or_where15485_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_where_clause_in_like_or_where15485	= { FOLLOW_where_clause_in_like_or_where15485_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_online_option15498  */
static	ANTLR3_BITWORD FOLLOW_set_in_online_option15498_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_online_option15498	= { FOLLOW_set_in_online_option15498_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_LOCAL_SYMBOL_in_no_write_to_bin_log15517  */
static	ANTLR3_BITWORD FOLLOW_LOCAL_SYMBOL_in_no_write_to_bin_log15517_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_LOCAL_SYMBOL_in_no_write_to_bin_log15517	= { FOLLOW_LOCAL_SYMBOL_in_no_write_to_bin_log15517_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_NO_WRITE_TO_BINLOG_SYMBOL_in_no_write_to_bin_log15523  */
static	ANTLR3_BITWORD FOLLOW_NO_WRITE_TO_BINLOG_SYMBOL_in_no_write_to_bin_log15523_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_NO_WRITE_TO_BINLOG_SYMBOL_in_no_write_to_bin_log15523	= { FOLLOW_NO_WRITE_TO_BINLOG_SYMBOL_in_no_write_to_bin_log15523_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PARTITION_SYMBOL_in_use_partition15536  */
static	ANTLR3_BITWORD FOLLOW_PARTITION_SYMBOL_in_use_partition15536_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_PARTITION_SYMBOL_in_use_partition15536	= { FOLLOW_PARTITION_SYMBOL_in_use_partition15536_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_list_with_parentheses_in_use_partition15538  */
static	ANTLR3_BITWORD FOLLOW_identifier_list_with_parentheses_in_use_partition15538_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_list_with_parentheses_in_use_partition15538	= { FOLLOW_identifier_list_with_parentheses_in_use_partition15538_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_IDENTIFIER_in_pure_identifier15550  */
static	ANTLR3_BITWORD FOLLOW_IDENTIFIER_in_pure_identifier15550_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_IDENTIFIER_in_pure_identifier15550	= { FOLLOW_IDENTIFIER_in_pure_identifier15550_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BACK_TICK_QUOTED_ID_in_pure_identifier15555  */
static	ANTLR3_BITWORD FOLLOW_BACK_TICK_QUOTED_ID_in_pure_identifier15555_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_BACK_TICK_QUOTED_ID_in_pure_identifier15555	= { FOLLOW_BACK_TICK_QUOTED_ID_in_pure_identifier15555_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DOUBLE_QUOTED_TEXT_in_pure_identifier15564  */
static	ANTLR3_BITWORD FOLLOW_DOUBLE_QUOTED_TEXT_in_pure_identifier15564_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_DOUBLE_QUOTED_TEXT_in_pure_identifier15564	= { FOLLOW_DOUBLE_QUOTED_TEXT_in_pure_identifier15564_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_pure_identifier_in_identifier15574  */
static	ANTLR3_BITWORD FOLLOW_pure_identifier_in_identifier15574_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_pure_identifier_in_identifier15574	= { FOLLOW_pure_identifier_in_identifier15574_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_keyword_in_identifier15579  */
static	ANTLR3_BITWORD FOLLOW_keyword_in_identifier15579_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_keyword_in_identifier15579	= { FOLLOW_keyword_in_identifier15579_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_identifier_list15588  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_identifier_list15588_bits[]	= { ANTLR3_UINT64_LIT(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) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_identifier_list15588	= { FOLLOW_identifier_in_identifier_list15588_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_identifier_list15604  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_identifier_list15604_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_identifier_list15604	= { FOLLOW_COMMA_SYMBOL_in_identifier_list15604_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_identifier_list15606  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_identifier_list15606_bits[]	= { ANTLR3_UINT64_LIT(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) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_identifier_list15606	= { FOLLOW_identifier_in_identifier_list15606_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_identifier_list_with_parentheses15617  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_identifier_list_with_parentheses15617_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_identifier_list_with_parentheses15617	= { FOLLOW_OPEN_PAR_SYMBOL_in_identifier_list_with_parentheses15617_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_list_in_identifier_list_with_parentheses15619  */
static	ANTLR3_BITWORD FOLLOW_identifier_list_in_identifier_list_with_parentheses15619_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000010000) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_list_in_identifier_list_with_parentheses15619	= { FOLLOW_identifier_list_in_identifier_list_with_parentheses15619_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_identifier_list_with_parentheses15621  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_identifier_list_with_parentheses15621_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_identifier_list_with_parentheses15621	= { FOLLOW_CLOSE_PAR_SYMBOL_in_identifier_list_with_parentheses15621_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_integer_list15630  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_integer_list15630_bits[]	= { ANTLR3_UINT64_LIT(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) };
static  ANTLR3_BITSET_LIST FOLLOW_INTEGER_in_integer_list15630	= { FOLLOW_INTEGER_in_integer_list15630_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_integer_list15633  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_integer_list15633_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_COMMA_SYMBOL_in_integer_list15633	= { FOLLOW_COMMA_SYMBOL_in_integer_list15633_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_integer_list15635  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_integer_list15635_bits[]	= { ANTLR3_UINT64_LIT(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) };
static  ANTLR3_BITSET_LIST FOLLOW_INTEGER_in_integer_list15635	= { FOLLOW_INTEGER_in_integer_list15635_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_string_list15646  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_string_list15646_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_string_list15646	= { FOLLOW_OPEN_PAR_SYMBOL_in_string_list15646_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_string_list15648  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_string_list15648_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000210000) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_string_list15648	= { FOLLOW_string_literal_in_string_list15648_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_string_list15651  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_string_list15651_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000080000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_string_list15651	= { FOLLOW_COMMA_SYMBOL_in_string_list15651_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_string_list15653  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_string_list15653_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000210000) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_string_list15653	= { FOLLOW_string_literal_in_string_list15653_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_string_list15657  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_string_list15657_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_string_list15657	= { FOLLOW_CLOSE_PAR_SYMBOL_in_string_list15657_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_literal15666  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_literal15666_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_literal15666	= { FOLLOW_string_literal_in_literal15666_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_number_literal_in_literal15671  */
static	ANTLR3_BITWORD FOLLOW_number_literal_in_literal15671_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_number_literal_in_literal15671	= { FOLLOW_number_literal_in_literal15671_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_hex_literal_in_literal15676  */
static	ANTLR3_BITWORD FOLLOW_hex_literal_in_literal15676_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_hex_literal_in_literal15676	= { FOLLOW_hex_literal_in_literal15676_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_bool_literal_in_literal15681  */
static	ANTLR3_BITWORD FOLLOW_bool_literal_in_literal15681_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_bool_literal_in_literal15681	= { FOLLOW_bool_literal_in_literal15681_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_bit_literal_in_literal15690  */
static	ANTLR3_BITWORD FOLLOW_bit_literal_in_literal15690_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_bit_literal_in_literal15690	= { FOLLOW_bit_literal_in_literal15690_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_null_literal_in_literal15695  */
static	ANTLR3_BITWORD FOLLOW_null_literal_in_literal15695_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_null_literal_in_literal15695	= { FOLLOW_null_literal_in_literal15695_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_temporal_literal_in_literal15707  */
static	ANTLR3_BITWORD FOLLOW_temporal_literal_in_literal15707_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_temporal_literal_in_literal15707	= { FOLLOW_temporal_literal_in_literal15707_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_in_string_literal15718  */
static	ANTLR3_BITWORD FOLLOW_string_in_string_literal15718_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_in_string_literal15718	= { FOLLOW_string_in_string_literal15718_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_NCHAR_TEXT_in_string15735  */
static	ANTLR3_BITWORD FOLLOW_NCHAR_TEXT_in_string15735_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_NCHAR_TEXT_in_string15735	= { FOLLOW_NCHAR_TEXT_in_string15735_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_UNDERSCORE_CHARSET_in_string15740  */
static	ANTLR3_BITWORD FOLLOW_UNDERSCORE_CHARSET_in_string15740_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000080000) };
static  ANTLR3_BITSET_LIST FOLLOW_UNDERSCORE_CHARSET_in_string15740	= { FOLLOW_UNDERSCORE_CHARSET_in_string15740_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SINGLE_QUOTED_TEXT_in_string15757  */
static	ANTLR3_BITWORD FOLLOW_SINGLE_QUOTED_TEXT_in_string15757_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000080000) };
static  ANTLR3_BITSET_LIST FOLLOW_SINGLE_QUOTED_TEXT_in_string15757	= { FOLLOW_SINGLE_QUOTED_TEXT_in_string15757_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DOUBLE_QUOTED_TEXT_in_string15765  */
static	ANTLR3_BITWORD FOLLOW_DOUBLE_QUOTED_TEXT_in_string15765_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000000000000010), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000080000) };
static  ANTLR3_BITSET_LIST FOLLOW_DOUBLE_QUOTED_TEXT_in_string15765	= { FOLLOW_DOUBLE_QUOTED_TEXT_in_string15765_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_UNDERSCORE_CHARSET_in_hex_literal15790  */
static	ANTLR3_BITWORD FOLLOW_UNDERSCORE_CHARSET_in_hex_literal15790_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000C00000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_UNDERSCORE_CHARSET_in_hex_literal15790	= { FOLLOW_UNDERSCORE_CHARSET_in_hex_literal15790_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_hex_literal15793  */
static	ANTLR3_BITWORD FOLLOW_set_in_hex_literal15793_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_hex_literal15793	= { FOLLOW_set_in_hex_literal15793_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_UNDERSCORE_CHARSET_in_bit_literal15822  */
static	ANTLR3_BITWORD FOLLOW_UNDERSCORE_CHARSET_in_bit_literal15822_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0300000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_UNDERSCORE_CHARSET_in_bit_literal15822	= { FOLLOW_UNDERSCORE_CHARSET_in_bit_literal15822_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_bit_literal15825  */
static	ANTLR3_BITWORD FOLLOW_set_in_bit_literal15825_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_bit_literal15825	= { FOLLOW_set_in_bit_literal15825_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DATE_SYMBOL_in_temporal_literal15854  */
static	ANTLR3_BITWORD FOLLOW_DATE_SYMBOL_in_temporal_literal15854_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_DATE_SYMBOL_in_temporal_literal15854	= { FOLLOW_DATE_SYMBOL_in_temporal_literal15854_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SINGLE_QUOTED_TEXT_in_temporal_literal15856  */
static	ANTLR3_BITWORD FOLLOW_SINGLE_QUOTED_TEXT_in_temporal_literal15856_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_SINGLE_QUOTED_TEXT_in_temporal_literal15856	= { FOLLOW_SINGLE_QUOTED_TEXT_in_temporal_literal15856_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TIME_SYMBOL_in_temporal_literal15861  */
static	ANTLR3_BITWORD FOLLOW_TIME_SYMBOL_in_temporal_literal15861_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_TIME_SYMBOL_in_temporal_literal15861	= { FOLLOW_TIME_SYMBOL_in_temporal_literal15861_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SINGLE_QUOTED_TEXT_in_temporal_literal15863  */
static	ANTLR3_BITWORD FOLLOW_SINGLE_QUOTED_TEXT_in_temporal_literal15863_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_SINGLE_QUOTED_TEXT_in_temporal_literal15863	= { FOLLOW_SINGLE_QUOTED_TEXT_in_temporal_literal15863_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TIMESTAMP_SYMBOL_in_temporal_literal15868  */
static	ANTLR3_BITWORD FOLLOW_TIMESTAMP_SYMBOL_in_temporal_literal15868_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_TIMESTAMP_SYMBOL_in_temporal_literal15868	= { FOLLOW_TIMESTAMP_SYMBOL_in_temporal_literal15868_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SINGLE_QUOTED_TEXT_in_temporal_literal15870  */
static	ANTLR3_BITWORD FOLLOW_SINGLE_QUOTED_TEXT_in_temporal_literal15870_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_SINGLE_QUOTED_TEXT_in_temporal_literal15870	= { FOLLOW_SINGLE_QUOTED_TEXT_in_temporal_literal15870_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_REAL_SYMBOL_in_real_literal15915  */
static	ANTLR3_BITWORD FOLLOW_REAL_SYMBOL_in_real_literal15915_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_REAL_SYMBOL_in_real_literal15915	= { FOLLOW_REAL_SYMBOL_in_real_literal15915_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DOUBLE_SYMBOL_in_real_literal15919  */
static	ANTLR3_BITWORD FOLLOW_DOUBLE_SYMBOL_in_real_literal15919_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000080000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_DOUBLE_SYMBOL_in_real_literal15919	= { FOLLOW_DOUBLE_SYMBOL_in_real_literal15919_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PRECISION_SYMBOL_in_real_literal15921  */
static	ANTLR3_BITWORD FOLLOW_PRECISION_SYMBOL_in_real_literal15921_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_PRECISION_SYMBOL_in_real_literal15921	= { FOLLOW_PRECISION_SYMBOL_in_real_literal15921_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_float_options15933  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_float_options15933_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_OPEN_PAR_SYMBOL_in_float_options15933	= { FOLLOW_OPEN_PAR_SYMBOL_in_float_options15933_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_float_options15935  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_float_options15935_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000210000) };
static  ANTLR3_BITSET_LIST FOLLOW_INTEGER_in_float_options15935	= { FOLLOW_INTEGER_in_float_options15935_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_float_options15938  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_float_options15938_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_COMMA_SYMBOL_in_float_options15938	= { FOLLOW_COMMA_SYMBOL_in_float_options15938_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_float_options15940  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_float_options15940_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000010000) };
static  ANTLR3_BITSET_LIST FOLLOW_INTEGER_in_float_options15940	= { FOLLOW_INTEGER_in_float_options15940_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_float_options15944  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_float_options15944_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_float_options15944	= { FOLLOW_CLOSE_PAR_SYMBOL_in_float_options15944_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_precision15953  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_precision15953_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_OPEN_PAR_SYMBOL_in_precision15953	= { FOLLOW_OPEN_PAR_SYMBOL_in_precision15953_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_precision15955  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_precision15955_bits[]	= { ANTLR3_UINT64_LIT(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_INTEGER_in_precision15955	= { FOLLOW_INTEGER_in_precision15955_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_precision15957  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_precision15957_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_COMMA_SYMBOL_in_precision15957	= { FOLLOW_COMMA_SYMBOL_in_precision15957_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_precision15959  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_precision15959_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000010000) };
static  ANTLR3_BITSET_LIST FOLLOW_INTEGER_in_precision15959	= { FOLLOW_INTEGER_in_precision15959_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_precision15961  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_precision15961_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_precision15961	= { FOLLOW_CLOSE_PAR_SYMBOL_in_precision15961_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_NCHAR_SYMBOL_in_nchar_literal15970  */
static	ANTLR3_BITWORD FOLLOW_NCHAR_SYMBOL_in_nchar_literal15970_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_NCHAR_SYMBOL_in_nchar_literal15970	= { FOLLOW_NCHAR_SYMBOL_in_nchar_literal15970_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_NATIONAL_SYMBOL_in_nchar_literal15977  */
static	ANTLR3_BITWORD FOLLOW_NATIONAL_SYMBOL_in_nchar_literal15977_bits[]	= { ANTLR3_UINT64_LIT(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_NATIONAL_SYMBOL_in_nchar_literal15977	= { FOLLOW_NATIONAL_SYMBOL_in_nchar_literal15977_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CHAR_SYMBOL_in_nchar_literal15979  */
static	ANTLR3_BITWORD FOLLOW_CHAR_SYMBOL_in_nchar_literal15979_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CHAR_SYMBOL_in_nchar_literal15979	= { FOLLOW_CHAR_SYMBOL_in_nchar_literal15979_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CHAR_SYMBOL_in_varchar_literal15989  */
static	ANTLR3_BITWORD FOLLOW_CHAR_SYMBOL_in_varchar_literal15989_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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) };
static  ANTLR3_BITSET_LIST FOLLOW_CHAR_SYMBOL_in_varchar_literal15989	= { FOLLOW_CHAR_SYMBOL_in_varchar_literal15989_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_VARYING_SYMBOL_in_varchar_literal15991  */
static	ANTLR3_BITWORD FOLLOW_VARYING_SYMBOL_in_varchar_literal15991_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_VARYING_SYMBOL_in_varchar_literal15991	= { FOLLOW_VARYING_SYMBOL_in_varchar_literal15991_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_VARCHAR_SYMBOL_in_varchar_literal15996  */
static	ANTLR3_BITWORD FOLLOW_VARCHAR_SYMBOL_in_varchar_literal15996_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_VARCHAR_SYMBOL_in_varchar_literal15996	= { FOLLOW_VARCHAR_SYMBOL_in_varchar_literal15996_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_NATIONAL_SYMBOL_in_nvarchar_literal16005  */
static	ANTLR3_BITWORD FOLLOW_NATIONAL_SYMBOL_in_nvarchar_literal16005_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_NATIONAL_SYMBOL_in_nvarchar_literal16005	= { FOLLOW_NATIONAL_SYMBOL_in_nvarchar_literal16005_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_VARCHAR_SYMBOL_in_nvarchar_literal16007  */
static	ANTLR3_BITWORD FOLLOW_VARCHAR_SYMBOL_in_nvarchar_literal16007_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_VARCHAR_SYMBOL_in_nvarchar_literal16007	= { FOLLOW_VARCHAR_SYMBOL_in_nvarchar_literal16007_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_NVARCHAR_SYMBOL_in_nvarchar_literal16012  */
static	ANTLR3_BITWORD FOLLOW_NVARCHAR_SYMBOL_in_nvarchar_literal16012_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_NVARCHAR_SYMBOL_in_nvarchar_literal16012	= { FOLLOW_NVARCHAR_SYMBOL_in_nvarchar_literal16012_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_NCHAR_SYMBOL_in_nvarchar_literal16017  */
static	ANTLR3_BITWORD FOLLOW_NCHAR_SYMBOL_in_nvarchar_literal16017_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_NCHAR_SYMBOL_in_nvarchar_literal16017	= { FOLLOW_NCHAR_SYMBOL_in_nvarchar_literal16017_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_VARCHAR_SYMBOL_in_nvarchar_literal16019  */
static	ANTLR3_BITWORD FOLLOW_VARCHAR_SYMBOL_in_nvarchar_literal16019_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_VARCHAR_SYMBOL_in_nvarchar_literal16019	= { FOLLOW_VARCHAR_SYMBOL_in_nvarchar_literal16019_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_NATIONAL_SYMBOL_in_nvarchar_literal16024  */
static	ANTLR3_BITWORD FOLLOW_NATIONAL_SYMBOL_in_nvarchar_literal16024_bits[]	= { ANTLR3_UINT64_LIT(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_NATIONAL_SYMBOL_in_nvarchar_literal16024	= { FOLLOW_NATIONAL_SYMBOL_in_nvarchar_literal16024_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CHAR_SYMBOL_in_nvarchar_literal16026  */
static	ANTLR3_BITWORD FOLLOW_CHAR_SYMBOL_in_nvarchar_literal16026_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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) };
static  ANTLR3_BITSET_LIST FOLLOW_CHAR_SYMBOL_in_nvarchar_literal16026	= { FOLLOW_CHAR_SYMBOL_in_nvarchar_literal16026_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_VARYING_SYMBOL_in_nvarchar_literal16028  */
static	ANTLR3_BITWORD FOLLOW_VARYING_SYMBOL_in_nvarchar_literal16028_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_VARYING_SYMBOL_in_nvarchar_literal16028	= { FOLLOW_VARYING_SYMBOL_in_nvarchar_literal16028_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_NCHAR_SYMBOL_in_nvarchar_literal16033  */
static	ANTLR3_BITWORD FOLLOW_NCHAR_SYMBOL_in_nvarchar_literal16033_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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) };
static  ANTLR3_BITSET_LIST FOLLOW_NCHAR_SYMBOL_in_nvarchar_literal16033	= { FOLLOW_NCHAR_SYMBOL_in_nvarchar_literal16033_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_VARYING_SYMBOL_in_nvarchar_literal16035  */
static	ANTLR3_BITWORD FOLLOW_VARYING_SYMBOL_in_nvarchar_literal16035_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_VARYING_SYMBOL_in_nvarchar_literal16035	= { FOLLOW_VARYING_SYMBOL_in_nvarchar_literal16035_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_text_or_param_marker16057  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_text_or_param_marker16057_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_text_or_param_marker16057	= { FOLLOW_string_literal_in_text_or_param_marker16057_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PARAM_MARKER_in_text_or_param_marker16061  */
static	ANTLR3_BITWORD FOLLOW_PARAM_MARKER_in_text_or_param_marker16061_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_PARAM_MARKER_in_text_or_param_marker16061	= { FOLLOW_PARAM_MARKER_in_text_or_param_marker16061_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_text_or_identifier16070  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_text_or_identifier16070_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_text_or_identifier16070	= { FOLLOW_string_literal_in_text_or_identifier16070_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_text_or_identifier16074  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_text_or_identifier16074_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_text_or_identifier16074	= { FOLLOW_identifier_in_text_or_identifier16074_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_parentheses16116  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_parentheses16116_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000010000) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_parentheses16116	= { FOLLOW_OPEN_PAR_SYMBOL_in_parentheses16116_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_parentheses16118  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_parentheses16118_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_parentheses16118	= { FOLLOW_CLOSE_PAR_SYMBOL_in_parentheses16118_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_keyword_sp_in_keyword16158  */
static	ANTLR3_BITWORD FOLLOW_keyword_sp_in_keyword16158_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_keyword_sp_in_keyword16158	= { FOLLOW_keyword_sp_in_keyword16158_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PARTITION_SYMBOL_in_keyword16165  */
static	ANTLR3_BITWORD FOLLOW_PARTITION_SYMBOL_in_keyword16165_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_PARTITION_SYMBOL_in_keyword16165	= { FOLLOW_PARTITION_SYMBOL_in_keyword16165_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_keyword16170  */
static	ANTLR3_BITWORD FOLLOW_set_in_keyword16170_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_keyword16170	= { FOLLOW_set_in_keyword16170_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_qualified_identifier_with_wildcard_in_synpred1_MySQL4409  */
static	ANTLR3_BITWORD FOLLOW_qualified_identifier_with_wildcard_in_synpred1_MySQL4409_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_qualified_identifier_with_wildcard_in_synpred1_MySQL4409	= { FOLLOW_qualified_identifier_with_wildcard_in_synpred1_MySQL4409_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_synpred2_MySQL9802  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_synpred2_MySQL9802_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98001181), ANTLR3_UINT64_LIT(0x2030C40008C20012), ANTLR3_UINT64_LIT(0x4828020001000028), ANTLR3_UINT64_LIT(0x06000320180AC908), ANTLR3_UINT64_LIT(0x001A280000080001), ANTLR3_UINT64_LIT(0x0000000002478026) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_synpred2_MySQL9802	= { FOLLOW_OPEN_PAR_SYMBOL_in_synpred2_MySQL9802_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_synpred2_MySQL9804  */
static	ANTLR3_BITWORD FOLLOW_expression_in_synpred2_MySQL9804_bits[]	= { ANTLR3_UINT64_LIT(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_expression_in_synpred2_MySQL9804	= { FOLLOW_expression_in_synpred2_MySQL9804_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_synpred2_MySQL9806  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_synpred2_MySQL9806_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_synpred2_MySQL9806	= { FOLLOW_COMMA_SYMBOL_in_synpred2_MySQL9806_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_qualified_identifier_in_synpred3_MySQL9922  */
static	ANTLR3_BITWORD FOLLOW_qualified_identifier_in_synpred3_MySQL9922_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_qualified_identifier_in_synpred3_MySQL9922	= { FOLLOW_qualified_identifier_in_synpred3_MySQL9922_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_synpred3_MySQL9924  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_synpred3_MySQL9924_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_synpred3_MySQL9924	= { FOLLOW_OPEN_PAR_SYMBOL_in_synpred3_MySQL9924_bits, 1	};


/* ==============================================
 * Parsing rules
 */
/**
 * $ANTLR start query
 * MySQL.g:255: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:255:6: ( ( statement ( SEMICOLON_SYMBOL )? )? EOF )
        // MySQL.g:256:2: ( statement ( SEMICOLON_SYMBOL )? )? EOF
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            // MySQL.g:256: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 == ANALYZE_SYMBOL || 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 == 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 == BINLOG_SYMBOL || 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 >= 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:256:3: statement ( SEMICOLON_SYMBOL )?
            	    {
            	        FOLLOWPUSH(FOLLOW_statement_in_query249);
            	        statement1=statement(ctx);

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

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

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

            	            switch (alt1)
            	            {
            	        	case 1:
            	        	    // MySQL.g:256:13: SEMICOLON_SYMBOL
            	        	    {
            	        	        SEMICOLON_SYMBOL2 = (pANTLR3_COMMON_TOKEN) MATCHT(SEMICOLON_SYMBOL, &FOLLOW_SEMICOLON_SYMBOL_in_query251);
            	        	        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_query256);
            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:259: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:259: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 == ALGORITHM_SYMBOL || LA3_1 == DEFINER_SYMBOL || LA3_1 == EVENT_SYMBOL || LA3_1 == FUNCTION_SYMBOL || LA3_1 == LOGFILE_SYMBOL || LA3_1 == TABLESPACE_SYMBOL || LA3_1 == VIEW_SYMBOL || LA3_1 == SERVER_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 AGGREGATE_SYMBOL:
                    case ALGORITHM_SYMBOL:
                    case DEFINER_SYMBOL:
                    case EVENT_SYMBOL:
                    case FUNCTION_SYMBOL:
                    case LOGFILE_SYMBOL:
                    case TABLESPACE_SYMBOL:
                    case TEMPORARY_SYMBOL:
                    case VIEW_SYMBOL:
                    case SERVER_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 EVENT_SYMBOL:
                    case FUNCTION_SYMBOL:
                    case LOGFILE_SYMBOL:
                    case TABLESPACE_SYMBOL:
                    case TABLES_SYMBOL:
                    case TEMPORARY_SYMBOL:
                    case VIEW_SYMBOL:
                    case SERVER_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_108 = 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        = 108;


                                    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_113 = 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        = 113;


                                    goto rulestatementEx;

                                }
                            }
                        }
                        else if ( (((LA3_34 >= ACTION_SYMBOL) && (LA3_34 <= PARTITIONS_SYMBOL)) || ((LA3_34 >= PHASE_SYMBOL) && (LA3_34 <= PARTITION_SYMBOL)) || ((LA3_34 >= AT_AT_SIGN_SYMBOL) && (LA3_34 <= AT_SIGN_SYMBOL)) || 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 == ANALYZE_SYMBOL || LA3_0 == CHECKSUM_SYMBOL || LA3_0 == REPAIR_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 == BINLOG_SYMBOL || LA3_0 == CACHE_SYMBOL || LA3_0 == FLUSH_SYMBOL || LA3_0 == RESET_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:261:2: alter_statement
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_alter_statement_in_statement267);
        	        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:262:4: create_statement
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_create_statement_in_statement272);
        	        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:263:4: drop_statement
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_drop_statement_in_statement277);
        	        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:264:4: rename_table_statement
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_rename_table_statement_in_statement282);
        	        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:265:4: truncate_table_statement
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_truncate_table_statement_in_statement287);
        	        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:268:4: call_statement
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_call_statement_in_statement296);
        	        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:269:4: delete_statement
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_delete_statement_in_statement301);
        	        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:270:4: do_statement
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_do_statement_in_statement306);
        	        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:271:4: handler_statement
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_handler_statement_in_statement311);
        	        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:272:4: insert_statement
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_insert_statement_in_statement316);
        	        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:273:4: load_statement
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_load_statement_in_statement321);
        	        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:274:4: replace_statement
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_replace_statement_in_statement326);
        	        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:275:4: select_statement
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_select_statement_in_statement331);
        	        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:276:4: update_statement
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_update_statement_in_statement336);
        	        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:278:4: partitioning
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_partitioning_in_statement342);
        	        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:280:4: transaction_or_locking_statement
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_transaction_or_locking_statement_in_statement351);
        	        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:282:4: replication_statement
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_replication_statement_in_statement358);
        	        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:284:4: prepared_statement
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_prepared_statement_in_statement365);
        	        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:287:4: account_management_statement
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_account_management_statement_in_statement374);
        	        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:288:4: table_administration_statement
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_table_administration_statement_in_statement379);
        	        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:289:4: install_uninstall_statment
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_install_uninstall_statment_in_statement384);
        	        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:290: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_statement391);
        	        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:291:4: show_statement
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_show_statement_in_statement397);
        	        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:292:4: miscellaneous_statement
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_miscellaneous_statement_in_statement402);
        	        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:295:4: utility_statement
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_utility_statement_in_statement411);
        	        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:300:1: alter_statement : ALTER_SYMBOL ^ ( alter_database | alter_log_file_group | FUNCTION_SYMBOL alter_routine | PROCEDURE_SYMBOL alter_routine | 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_SYMBOL34;
    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_alter_routine_return alter_routine33;
    #undef	RETURN_TYPE_alter_routine33
    #define	RETURN_TYPE_alter_routine33 MySQLParser_alter_routine_return

    MySQLParser_alter_routine_return alter_routine35;
    #undef	RETURN_TYPE_alter_routine35
    #define	RETURN_TYPE_alter_routine35 MySQLParser_alter_routine_return

    MySQLParser_alter_server_return alter_server36;
    #undef	RETURN_TYPE_alter_server36
    #define	RETURN_TYPE_alter_server36 MySQLParser_alter_server_return

    MySQLParser_alter_table_return alter_table37;
    #undef	RETURN_TYPE_alter_table37
    #define	RETURN_TYPE_alter_table37 MySQLParser_alter_table_return

    MySQLParser_alter_tablespace_return alter_tablespace38;
    #undef	RETURN_TYPE_alter_tablespace38
    #define	RETURN_TYPE_alter_tablespace38 MySQLParser_alter_tablespace_return

    MySQLParser_alter_event_return alter_event39;
    #undef	RETURN_TYPE_alter_event39
    #define	RETURN_TYPE_alter_event39 MySQLParser_alter_event_return

    MySQLParser_alter_view_return alter_view40;
    #undef	RETURN_TYPE_alter_view40
    #define	RETURN_TYPE_alter_view40 MySQLParser_alter_view_return

    pANTLR3_BASE_TREE ALTER_SYMBOL29_tree;
    pANTLR3_BASE_TREE FUNCTION_SYMBOL32_tree;
    pANTLR3_BASE_TREE PROCEDURE_SYMBOL34_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

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

    alter_log_file_group31.tree = NULL;

    alter_routine33.tree = NULL;

    alter_routine35.tree = NULL;

    alter_server36.tree = NULL;

    alter_table37.tree = NULL;

    alter_tablespace38.tree = NULL;

    alter_event39.tree = NULL;

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


    ALTER_SYMBOL29_tree   = NULL;
    FUNCTION_SYMBOL32_tree   = NULL;
    PROCEDURE_SYMBOL34_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:300:16: ( ALTER_SYMBOL ^ ( alter_database | alter_log_file_group | FUNCTION_SYMBOL alter_routine | PROCEDURE_SYMBOL alter_routine | alter_server | alter_table | alter_tablespace |{...}? => alter_event | alter_view ) )
        // MySQL.g:301:3: ALTER_SYMBOL ^ ( alter_database | alter_log_file_group | FUNCTION_SYMBOL alter_routine | PROCEDURE_SYMBOL alter_routine | 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_statement423);
            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:302:3: ( alter_database | alter_log_file_group | FUNCTION_SYMBOL alter_routine | PROCEDURE_SYMBOL alter_routine | alter_server | alter_table | alter_tablespace |{...}? => alter_event | alter_view )
            {
                int alt4=9;
                {
                    int LA4_0 = LA(1);
                    if ( (LA4_0 == DATABASE_SYMBOL))
                    {
                        alt4=1;
                    }
                    else if ( (LA4_0 == LOGFILE_SYMBOL))
                    {
                        alt4=2;
                    }
                    else if ( (LA4_0 == FUNCTION_SYMBOL))
                    {
                        alt4=3;
                    }
                    else if ( (LA4_0 == PROCEDURE_SYMBOL))
                    {
                        alt4=4;
                    }
                    else if ( (LA4_0 == SERVER_SYMBOL))
                    {
                        alt4=5;
                    }
                    else if ( ((SERVER_VERSION < 50600)) && (((LA4_0 >= OFFLINE_SYMBOL) && (LA4_0 <= ONLINE_SYMBOL))))
                    {
                        alt4=6;
                    }
                    else if ( (LA4_0 == IGNORE_SYMBOL || LA4_0 == TABLE_SYMBOL))
                    {
                        alt4=6;
                    }
                    else if ( (LA4_0 == TABLESPACE_SYMBOL))
                    {
                        alt4=7;
                    }
                    else if ( (LA4_0 == DEFINER_SYMBOL))
                    {
                        switch ( LA(2) )
                        {
                        case EQUAL_OPERATOR:
                        	{
                        		{
                        		    int LA4_15 = LA(3);
                        		    if ( ((SERVER_VERSION >= 50100)))
                        		    {
                        		        alt4=8;
                        		    }
                        		    else if ( (ANTLR3_TRUE))
                        		    {
                        		        alt4=9;
                        		    }
                        		    else
                        		    {
                        		        if (BACKTRACKING>0)
                        		        {
                        		            FAILEDFLAG = ANTLR3_TRUE;
                        		            return retval;
                        		        }


                        		        CONSTRUCTEX();
                        		        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                        		        EXCEPTION->message      = (void *)"";
                        		        EXCEPTION->decisionNum  = 4;
                        		        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  = 4;
                            EXCEPTION->state        = 10;


                            goto rulealter_statementEx;

                        }

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


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


                        goto rulealter_statementEx;

                    }
                }
                switch (alt4)
                {
            	case 1:
            	    // MySQL.g:303:2: alter_database
            	    {
            	        FOLLOWPUSH(FOLLOW_alter_database_in_alter_statement431);
            	        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:304:4: alter_log_file_group
            	    {
            	        FOLLOWPUSH(FOLLOW_alter_log_file_group_in_alter_statement436);
            	        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:305:4: FUNCTION_SYMBOL alter_routine
            	    {
            	        FUNCTION_SYMBOL32 = (pANTLR3_COMMON_TOKEN) MATCHT(FUNCTION_SYMBOL, &FOLLOW_FUNCTION_SYMBOL_in_alter_statement441);
            	        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_alter_routine_in_alter_statement443);
            	        alter_routine33=alter_routine(ctx);

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

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

            	    }
            	    break;
            	case 4:
            	    // MySQL.g:306:4: PROCEDURE_SYMBOL alter_routine
            	    {
            	        PROCEDURE_SYMBOL34 = (pANTLR3_COMMON_TOKEN) MATCHT(PROCEDURE_SYMBOL, &FOLLOW_PROCEDURE_SYMBOL_in_alter_statement448);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulealter_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

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

            	        FOLLOWPUSH(FOLLOW_alter_routine_in_alter_statement450);
            	        alter_routine35=alter_routine(ctx);

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

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

            	    }
            	    break;
            	case 5:
            	    // MySQL.g:307:4: alter_server
            	    {
            	        FOLLOWPUSH(FOLLOW_alter_server_in_alter_statement455);
            	        alter_server36=alter_server(ctx);

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

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

            	    }
            	    break;
            	case 6:
            	    // MySQL.g:308:4: alter_table
            	    {
            	        FOLLOWPUSH(FOLLOW_alter_table_in_alter_statement460);
            	        alter_table37=alter_table(ctx);

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

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

            	    }
            	    break;
            	case 7:
            	    // MySQL.g:309:4: alter_tablespace
            	    {
            	        FOLLOWPUSH(FOLLOW_alter_tablespace_in_alter_statement465);
            	        alter_tablespace38=alter_tablespace(ctx);

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

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

            	    }
            	    break;
            	case 8:
            	    // MySQL.g:310: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_statement474);
            	        alter_event39=alter_event(ctx);

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

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

            	    }
            	    break;
            	case 9:
            	    // MySQL.g:311:4: alter_view
            	    {
            	        FOLLOWPUSH(FOLLOW_alter_view_in_alter_statement479);
            	        alter_view40=alter_view(ctx);

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

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, alter_view40.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:315:1: alter_database : DATABASE_SYMBOL ( ( identifier )? ( database_option )+ | identifier 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_SYMBOL41;
    pANTLR3_COMMON_TOKEN    UPGRADE_SYMBOL45;
    pANTLR3_COMMON_TOKEN    DATA_SYMBOL46;
    pANTLR3_COMMON_TOKEN    DIRECTORY_SYMBOL47;
    pANTLR3_COMMON_TOKEN    NAME_SYMBOL48;
    MySQLParser_identifier_return identifier42;
    #undef	RETURN_TYPE_identifier42
    #define	RETURN_TYPE_identifier42 MySQLParser_identifier_return

    MySQLParser_database_option_return database_option43;
    #undef	RETURN_TYPE_database_option43
    #define	RETURN_TYPE_database_option43 MySQLParser_database_option_return

    MySQLParser_identifier_return identifier44;
    #undef	RETURN_TYPE_identifier44
    #define	RETURN_TYPE_identifier44 MySQLParser_identifier_return

    pANTLR3_BASE_TREE DATABASE_SYMBOL41_tree;
    pANTLR3_BASE_TREE UPGRADE_SYMBOL45_tree;
    pANTLR3_BASE_TREE DATA_SYMBOL46_tree;
    pANTLR3_BASE_TREE DIRECTORY_SYMBOL47_tree;
    pANTLR3_BASE_TREE NAME_SYMBOL48_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    DATABASE_SYMBOL41       = NULL;
    UPGRADE_SYMBOL45       = NULL;
    DATA_SYMBOL46       = NULL;
    DIRECTORY_SYMBOL47       = NULL;
    NAME_SYMBOL48       = NULL;
    identifier42.tree = NULL;

    database_option43.tree = NULL;

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


    DATABASE_SYMBOL41_tree   = NULL;
    UPGRADE_SYMBOL45_tree   = NULL;
    DATA_SYMBOL46_tree   = NULL;
    DIRECTORY_SYMBOL47_tree   = NULL;
    NAME_SYMBOL48_tree   = NULL;


    retval.tree  = NULL;

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


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

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

            // MySQL.g:317:2: ( ( identifier )? ( database_option )+ | identifier UPGRADE_SYMBOL DATA_SYMBOL DIRECTORY_SYMBOL NAME_SYMBOL )
            {
                int alt7=2;
                {
                    int LA7_0 = LA(1);
                    if ( (LA7_0 == IDENTIFIER))
                    {
                        switch ( LA(2) )
                        {
                        case CHAR_SYMBOL:
                        case COLLATE_SYMBOL:
                        case DEFAULT_SYMBOL:
                        	{
                        		alt7=1;
                        	}
                            break;
                        case UPGRADE_SYMBOL:
                        	{
                        		alt7=2;
                        	}
                            break;

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

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


                            goto rulealter_databaseEx;

                        }

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

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

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


                            goto rulealter_databaseEx;

                        }

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


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


                                goto rulealter_databaseEx;

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

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

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


                            goto rulealter_databaseEx;

                        }

                    }
                    else if ( (LA7_0 == PARTITION_SYMBOL))
                    {
                        switch ( LA(2) )
                        {
                        case CHAR_SYMBOL:
                        case COLLATE_SYMBOL:
                        case DEFAULT_SYMBOL:
                        	{
                        		alt7=1;
                        	}
                            break;
                        case UPGRADE_SYMBOL:
                        	{
                        		alt7=2;
                        	}
                            break;

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

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


                            goto rulealter_databaseEx;

                        }

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

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

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


                            goto rulealter_databaseEx;

                        }

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


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


                        goto rulealter_databaseEx;

                    }
                }
                switch (alt7)
                {
            	case 1:
            	    // MySQL.g:318:3: ( identifier )? ( database_option )+
            	    {
            	        // MySQL.g:318:3: ( identifier )?
            	        {
            	            int alt5=2;
            	            {
            	                int LA5_0 = LA(1);
            	                if ( (LA5_0 == BACK_TICK_QUOTED_ID || LA5_0 == IDENTIFIER))
            	                {
            	                    alt5=1;
            	                }
            	                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA5_0 == DOUBLE_QUOTED_TEXT))
            	                {
            	                    alt5=1;
            	                }
            	                else if ( (((LA5_0 >= ACTION_SYMBOL) && (LA5_0 <= PARTITION_SYMBOL))))
            	                {
            	                    alt5=1;
            	                }
            	            }
            	            switch (alt5)
            	            {
            	        	case 1:
            	        	    // MySQL.g:318:3: identifier
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_identifier_in_alter_database499);
            	        	        identifier42=identifier(ctx);

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

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

            	        	    }
            	        	    break;

            	            }
            	        }

            	        // MySQL.g:318:15: ( database_option )+
            	        {
            	            int cnt6=0;

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

            	        	}

            	        	switch (alt6)
            	        	{
            	        	    case 1:
            	        	        // MySQL.g:318:15: database_option
            	        	        {
            	        	            FOLLOWPUSH(FOLLOW_database_option_in_alter_database502);
            	        	            database_option43=database_option(ctx);

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

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

            	        	        }
            	        	        break;

            	        	    default:

            	        		if ( cnt6 >= 1 )
            	        		{
            	        		    goto loop6;
            	        		}
            	        		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;
            	        	}
            	        	cnt6++;
            	            }
            	            loop6: ;	/* Jump to here if this rule does not match */
            	        }

            	    }
            	    break;
            	case 2:
            	    // MySQL.g:319:5: identifier UPGRADE_SYMBOL DATA_SYMBOL DIRECTORY_SYMBOL NAME_SYMBOL
            	    {
            	        FOLLOWPUSH(FOLLOW_identifier_in_alter_database509);
            	        identifier44=identifier(ctx);

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

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

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

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

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

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

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

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

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

            	        if ( BACKTRACKING==0 ) {
            	        NAME_SYMBOL48_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, NAME_SYMBOL48));
            	        ADAPTOR->addChild(ADAPTOR, root_0, NAME_SYMBOL48_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:323:1: alter_event : ( definer_clause )? EVENT_SYMBOL identifier ( 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_SYMBOL50;
    pANTLR3_COMMON_TOKEN    ON_SYMBOL52;
    pANTLR3_COMMON_TOKEN    SCHEDULE_SYMBOL53;
    pANTLR3_COMMON_TOKEN    ON_SYMBOL55;
    pANTLR3_COMMON_TOKEN    COMPLETION_SYMBOL56;
    pANTLR3_COMMON_TOKEN    NOT_SYMBOL57;
    pANTLR3_COMMON_TOKEN    PRESERVE_SYMBOL58;
    pANTLR3_COMMON_TOKEN    RENAME_SYMBOL59;
    pANTLR3_COMMON_TOKEN    TO_SYMBOL60;
    pANTLR3_COMMON_TOKEN    ENABLE_SYMBOL62;
    pANTLR3_COMMON_TOKEN    DISABLE_SYMBOL63;
    pANTLR3_COMMON_TOKEN    ON_SYMBOL64;
    pANTLR3_COMMON_TOKEN    SLAVE_SYMBOL65;
    pANTLR3_COMMON_TOKEN    COMMENT_SYMBOL66;
    pANTLR3_COMMON_TOKEN    DO_SYMBOL68;
    MySQLParser_definer_clause_return definer_clause49;
    #undef	RETURN_TYPE_definer_clause49
    #define	RETURN_TYPE_definer_clause49 MySQLParser_definer_clause_return

    MySQLParser_identifier_return identifier51;
    #undef	RETURN_TYPE_identifier51
    #define	RETURN_TYPE_identifier51 MySQLParser_identifier_return

    MySQLParser_schedule_return schedule54;
    #undef	RETURN_TYPE_schedule54
    #define	RETURN_TYPE_schedule54 MySQLParser_schedule_return

    MySQLParser_identifier_return identifier61;
    #undef	RETURN_TYPE_identifier61
    #define	RETURN_TYPE_identifier61 MySQLParser_identifier_return

    MySQLParser_string_literal_return string_literal67;
    #undef	RETURN_TYPE_string_literal67
    #define	RETURN_TYPE_string_literal67 MySQLParser_string_literal_return

    MySQLParser_compound_statement_return compound_statement69;
    #undef	RETURN_TYPE_compound_statement69
    #define	RETURN_TYPE_compound_statement69 MySQLParser_compound_statement_return

    pANTLR3_BASE_TREE EVENT_SYMBOL50_tree;
    pANTLR3_BASE_TREE ON_SYMBOL52_tree;
    pANTLR3_BASE_TREE SCHEDULE_SYMBOL53_tree;
    pANTLR3_BASE_TREE ON_SYMBOL55_tree;
    pANTLR3_BASE_TREE COMPLETION_SYMBOL56_tree;
    pANTLR3_BASE_TREE NOT_SYMBOL57_tree;
    pANTLR3_BASE_TREE PRESERVE_SYMBOL58_tree;
    pANTLR3_BASE_TREE RENAME_SYMBOL59_tree;
    pANTLR3_BASE_TREE TO_SYMBOL60_tree;
    pANTLR3_BASE_TREE ENABLE_SYMBOL62_tree;
    pANTLR3_BASE_TREE DISABLE_SYMBOL63_tree;
    pANTLR3_BASE_TREE ON_SYMBOL64_tree;
    pANTLR3_BASE_TREE SLAVE_SYMBOL65_tree;
    pANTLR3_BASE_TREE COMMENT_SYMBOL66_tree;
    pANTLR3_BASE_TREE DO_SYMBOL68_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    EVENT_SYMBOL50       = NULL;
    ON_SYMBOL52       = NULL;
    SCHEDULE_SYMBOL53       = NULL;
    ON_SYMBOL55       = NULL;
    COMPLETION_SYMBOL56       = NULL;
    NOT_SYMBOL57       = NULL;
    PRESERVE_SYMBOL58       = NULL;
    RENAME_SYMBOL59       = NULL;
    TO_SYMBOL60       = NULL;
    ENABLE_SYMBOL62       = NULL;
    DISABLE_SYMBOL63       = NULL;
    ON_SYMBOL64       = NULL;
    SLAVE_SYMBOL65       = NULL;
    COMMENT_SYMBOL66       = NULL;
    DO_SYMBOL68       = NULL;
    definer_clause49.tree = NULL;

    identifier51.tree = NULL;

    schedule54.tree = NULL;

    identifier61.tree = NULL;

    string_literal67.tree = NULL;

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


    EVENT_SYMBOL50_tree   = NULL;
    ON_SYMBOL52_tree   = NULL;
    SCHEDULE_SYMBOL53_tree   = NULL;
    ON_SYMBOL55_tree   = NULL;
    COMPLETION_SYMBOL56_tree   = NULL;
    NOT_SYMBOL57_tree   = NULL;
    PRESERVE_SYMBOL58_tree   = NULL;
    RENAME_SYMBOL59_tree   = NULL;
    TO_SYMBOL60_tree   = NULL;
    ENABLE_SYMBOL62_tree   = NULL;
    DISABLE_SYMBOL63_tree   = NULL;
    ON_SYMBOL64_tree   = NULL;
    SLAVE_SYMBOL65_tree   = NULL;
    COMMENT_SYMBOL66_tree   = NULL;
    DO_SYMBOL68_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:323:12: ( ( definer_clause )? EVENT_SYMBOL identifier ( 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:324:2: ( definer_clause )? EVENT_SYMBOL identifier ( 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:324:2: ( definer_clause )?
            {
                int alt8=2;
                switch ( LA(1) )
                {
                    case DEFINER_SYMBOL:
                    	{
                    		alt8=1;
                    	}
                        break;
                }

                switch (alt8)
                {
            	case 1:
            	    // MySQL.g:324:2: definer_clause
            	    {
            	        FOLLOWPUSH(FOLLOW_definer_clause_in_alter_event529);
            	        definer_clause49=definer_clause(ctx);

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

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

            	    }
            	    break;

                }
            }

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

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

            FOLLOWPUSH(FOLLOW_identifier_in_alter_event536);
            identifier51=identifier(ctx);

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

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

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

                    	}
                        break;
                }

                switch (alt9)
                {
            	case 1:
            	    // MySQL.g:326:4: ON_SYMBOL SCHEDULE_SYMBOL schedule
            	    {
            	        ON_SYMBOL52 = (pANTLR3_COMMON_TOKEN) MATCHT(ON_SYMBOL, &FOLLOW_ON_SYMBOL_in_alter_event541);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulealter_eventEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

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

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

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

            	        FOLLOWPUSH(FOLLOW_schedule_in_alter_event545);
            	        schedule54=schedule(ctx);

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

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

            	    }
            	    break;

                }
            }

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

                switch (alt11)
                {
            	case 1:
            	    // MySQL.g:327:4: ON_SYMBOL COMPLETION_SYMBOL ( NOT_SYMBOL )? PRESERVE_SYMBOL
            	    {
            	        ON_SYMBOL55 = (pANTLR3_COMMON_TOKEN) MATCHT(ON_SYMBOL, &FOLLOW_ON_SYMBOL_in_alter_event552);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulealter_eventEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

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

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

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

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

            	            switch (alt10)
            	            {
            	        	case 1:
            	        	    // MySQL.g:327:32: NOT_SYMBOL
            	        	    {
            	        	        NOT_SYMBOL57 = (pANTLR3_COMMON_TOKEN) MATCHT(NOT_SYMBOL, &FOLLOW_NOT_SYMBOL_in_alter_event556);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulealter_eventEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

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

            	        	    }
            	        	    break;

            	            }
            	        }

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

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

            	    }
            	    break;

                }
            }

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

                switch (alt12)
                {
            	case 1:
            	    // MySQL.g:328:4: RENAME_SYMBOL TO_SYMBOL identifier
            	    {
            	        RENAME_SYMBOL59 = (pANTLR3_COMMON_TOKEN) MATCHT(RENAME_SYMBOL, &FOLLOW_RENAME_SYMBOL_in_alter_event566);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulealter_eventEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

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

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

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

            	        FOLLOWPUSH(FOLLOW_identifier_in_alter_event570);
            	        identifier61=identifier(ctx);

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

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

            	    }
            	    break;

                }
            }

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

                switch (alt14)
                {
            	case 1:
            	    // MySQL.g:329:4: ENABLE_SYMBOL
            	    {
            	        ENABLE_SYMBOL62 = (pANTLR3_COMMON_TOKEN) MATCHT(ENABLE_SYMBOL, &FOLLOW_ENABLE_SYMBOL_in_alter_event577);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulealter_eventEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

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

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

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

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

            	            switch (alt13)
            	            {
            	        	case 1:
            	        	    // MySQL.g:329:36: ON_SYMBOL SLAVE_SYMBOL
            	        	    {
            	        	        ON_SYMBOL64 = (pANTLR3_COMMON_TOKEN) MATCHT(ON_SYMBOL, &FOLLOW_ON_SYMBOL_in_alter_event584);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulealter_eventEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

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

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

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

            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;

                }
            }

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

                switch (alt15)
                {
            	case 1:
            	    // MySQL.g:330:4: COMMENT_SYMBOL string_literal
            	    {
            	        COMMENT_SYMBOL66 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMENT_SYMBOL, &FOLLOW_COMMENT_SYMBOL_in_alter_event595);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulealter_eventEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

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

            	        FOLLOWPUSH(FOLLOW_string_literal_in_alter_event597);
            	        string_literal67=string_literal(ctx);

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

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

            	    }
            	    break;

                }
            }

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

                switch (alt16)
                {
            	case 1:
            	    // MySQL.g:331:4: DO_SYMBOL compound_statement
            	    {
            	        DO_SYMBOL68 = (pANTLR3_COMMON_TOKEN) MATCHT(DO_SYMBOL, &FOLLOW_DO_SYMBOL_in_alter_event604);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulealter_eventEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

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

            	        FOLLOWPUSH(FOLLOW_compound_statement_in_alter_event606);
            	        compound_statement69=compound_statement(ctx);

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

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, compound_statement69.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:334:1: alter_log_file_group : LOGFILE_SYMBOL GROUP_SYMBOL identifier 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_SYMBOL70;
    pANTLR3_COMMON_TOKEN    GROUP_SYMBOL71;
    pANTLR3_COMMON_TOKEN    ADD_SYMBOL73;
    pANTLR3_COMMON_TOKEN    UNDOFILE_SYMBOL74;
    pANTLR3_COMMON_TOKEN    INITIAL_SIZE_SYMBOL76;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR77;
    pANTLR3_COMMON_TOKEN    WAIT_SYMBOL79;
    pANTLR3_COMMON_TOKEN    ENGINE_SYMBOL80;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR81;
    pANTLR3_COMMON_TOKEN    IDENTIFIER82;
    MySQLParser_identifier_return identifier72;
    #undef	RETURN_TYPE_identifier72
    #define	RETURN_TYPE_identifier72 MySQLParser_identifier_return

    MySQLParser_string_literal_return string_literal75;
    #undef	RETURN_TYPE_string_literal75
    #define	RETURN_TYPE_string_literal75 MySQLParser_string_literal_return

    MySQLParser_size_number_return size_number78;
    #undef	RETURN_TYPE_size_number78
    #define	RETURN_TYPE_size_number78 MySQLParser_size_number_return

    pANTLR3_BASE_TREE LOGFILE_SYMBOL70_tree;
    pANTLR3_BASE_TREE GROUP_SYMBOL71_tree;
    pANTLR3_BASE_TREE ADD_SYMBOL73_tree;
    pANTLR3_BASE_TREE UNDOFILE_SYMBOL74_tree;
    pANTLR3_BASE_TREE INITIAL_SIZE_SYMBOL76_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR77_tree;
    pANTLR3_BASE_TREE WAIT_SYMBOL79_tree;
    pANTLR3_BASE_TREE ENGINE_SYMBOL80_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR81_tree;
    pANTLR3_BASE_TREE IDENTIFIER82_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    LOGFILE_SYMBOL70       = NULL;
    GROUP_SYMBOL71       = NULL;
    ADD_SYMBOL73       = NULL;
    UNDOFILE_SYMBOL74       = NULL;
    INITIAL_SIZE_SYMBOL76       = NULL;
    EQUAL_OPERATOR77       = NULL;
    WAIT_SYMBOL79       = NULL;
    ENGINE_SYMBOL80       = NULL;
    EQUAL_OPERATOR81       = NULL;
    IDENTIFIER82       = NULL;
    identifier72.tree = NULL;

    string_literal75.tree = NULL;

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


    LOGFILE_SYMBOL70_tree   = NULL;
    GROUP_SYMBOL71_tree   = NULL;
    ADD_SYMBOL73_tree   = NULL;
    UNDOFILE_SYMBOL74_tree   = NULL;
    INITIAL_SIZE_SYMBOL76_tree   = NULL;
    EQUAL_OPERATOR77_tree   = NULL;
    WAIT_SYMBOL79_tree   = NULL;
    ENGINE_SYMBOL80_tree   = NULL;
    EQUAL_OPERATOR81_tree   = NULL;
    IDENTIFIER82_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:334:21: ( LOGFILE_SYMBOL GROUP_SYMBOL identifier ADD_SYMBOL UNDOFILE_SYMBOL string_literal ( INITIAL_SIZE_SYMBOL ( EQUAL_OPERATOR )? size_number )? ( WAIT_SYMBOL )? ENGINE_SYMBOL ( EQUAL_OPERATOR )? IDENTIFIER )
        // MySQL.g:335:2: LOGFILE_SYMBOL GROUP_SYMBOL identifier 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_SYMBOL70 = (pANTLR3_COMMON_TOKEN) MATCHT(LOGFILE_SYMBOL, &FOLLOW_LOGFILE_SYMBOL_in_alter_log_file_group617);
            if  (HASEXCEPTION())
            {
                goto rulealter_log_file_groupEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

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

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

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

            FOLLOWPUSH(FOLLOW_identifier_in_alter_log_file_group621);
            identifier72=identifier(ctx);

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

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

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

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

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

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

            FOLLOWPUSH(FOLLOW_string_literal_in_alter_log_file_group627);
            string_literal75=string_literal(ctx);

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

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

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

                switch (alt18)
                {
            	case 1:
            	    // MySQL.g:336:4: INITIAL_SIZE_SYMBOL ( EQUAL_OPERATOR )? size_number
            	    {
            	        INITIAL_SIZE_SYMBOL76 = (pANTLR3_COMMON_TOKEN) MATCHT(INITIAL_SIZE_SYMBOL, &FOLLOW_INITIAL_SIZE_SYMBOL_in_alter_log_file_group632);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulealter_log_file_groupEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

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

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

            	            switch (alt17)
            	            {
            	        	case 1:
            	        	    // MySQL.g:336:24: EQUAL_OPERATOR
            	        	    {
            	        	        EQUAL_OPERATOR77 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_alter_log_file_group634);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulealter_log_file_groupEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

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

            	        	    }
            	        	    break;

            	            }
            	        }

            	        FOLLOWPUSH(FOLLOW_size_number_in_alter_log_file_group637);
            	        size_number78=size_number(ctx);

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

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

            	    }
            	    break;

                }
            }

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

                switch (alt19)
                {
            	case 1:
            	    // MySQL.g:336:54: WAIT_SYMBOL
            	    {
            	        WAIT_SYMBOL79 = (pANTLR3_COMMON_TOKEN) MATCHT(WAIT_SYMBOL, &FOLLOW_WAIT_SYMBOL_in_alter_log_file_group641);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulealter_log_file_groupEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

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

            	    }
            	    break;

                }
            }

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

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

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

                switch (alt20)
                {
            	case 1:
            	    // MySQL.g:336:81: EQUAL_OPERATOR
            	    {
            	        EQUAL_OPERATOR81 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_alter_log_file_group646);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulealter_log_file_groupEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

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

            	    }
            	    break;

                }
            }

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

            if ( BACKTRACKING==0 ) {
            IDENTIFIER82_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, IDENTIFIER82));
            ADAPTOR->addChild(ADAPTOR, root_0, IDENTIFIER82_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_routine
 * MySQL.g:339:1: alter_routine : identifier ( routine_option )* ;
 */
static MySQLParser_alter_routine_return
alter_routine(pMySQLParser ctx)
{
    MySQLParser_alter_routine_return retval;


    pANTLR3_BASE_TREE root_0;

    MySQLParser_identifier_return identifier83;
    #undef	RETURN_TYPE_identifier83
    #define	RETURN_TYPE_identifier83 MySQLParser_identifier_return

    MySQLParser_routine_option_return routine_option84;
    #undef	RETURN_TYPE_routine_option84
    #define	RETURN_TYPE_routine_option84 MySQLParser_routine_option_return


    /* Initialize rule variables
     */

    root_0 = NULL;

    identifier83.tree = NULL;

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




    retval.tree  = NULL;

    {
        // MySQL.g:339:14: ( identifier ( routine_option )* )
        // MySQL.g:340:2: identifier ( routine_option )*
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            FOLLOWPUSH(FOLLOW_identifier_in_alter_routine658);
            identifier83=identifier(ctx);

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

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

            // MySQL.g:340:13: ( routine_option )*

            for (;;)
            {
                int alt21=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:
                	{
                		alt21=1;
                	}
                    break;

                }

                switch (alt21)
                {
            	case 1:
            	    // MySQL.g:340:13: routine_option
            	    {
            	        FOLLOWPUSH(FOLLOW_routine_option_in_alter_routine660);
            	        routine_option84=routine_option(ctx);

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

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

            	    }
            	    break;

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


        }

    }

    // This is where rules clean up and exit
    //
    goto rulealter_routineEx; /* Prevent compiler warnings */
    rulealter_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 alter_routine */

/**
 * $ANTLR start alter_server
 * MySQL.g:343: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:343:13: ( SERVER_SYMBOL text_or_identifier server_options )
        // MySQL.g:344: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_server670);
            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_server672);
            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_server674);
            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:347:1: alter_table : ( online_option )? ( IGNORE_SYMBOL )? TABLE_SYMBOL table_identifier ( 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_identifier_return table_identifier91;
    #undef	RETURN_TYPE_table_identifier91
    #define	RETURN_TYPE_table_identifier91 MySQLParser_table_identifier_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_identifier91.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:347:12: ( ( online_option )? ( IGNORE_SYMBOL )? TABLE_SYMBOL table_identifier ( alter_table_commands )? )
        // MySQL.g:348:2: ( online_option )? ( IGNORE_SYMBOL )? TABLE_SYMBOL table_identifier ( alter_table_commands )?
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            // MySQL.g:348:2: ( online_option )?
            {
                int alt22=2;
                {
                    int LA22_0 = LA(1);
                    if ( ((SERVER_VERSION < 50600)) && (((LA22_0 >= OFFLINE_SYMBOL) && (LA22_0 <= ONLINE_SYMBOL))))
                    {
                        alt22=1;
                    }
                }
                switch (alt22)
                {
            	case 1:
            	    // MySQL.g:348:2: online_option
            	    {
            	        FOLLOWPUSH(FOLLOW_online_option_in_alter_table683);
            	        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:348:17: ( IGNORE_SYMBOL )?
            {
                int alt23=2;
                switch ( LA(1) )
                {
                    case IGNORE_SYMBOL:
                    	{
                    		alt23=1;
                    	}
                        break;
                }

                switch (alt23)
                {
            	case 1:
            	    // MySQL.g:348:17: IGNORE_SYMBOL
            	    {
            	        IGNORE_SYMBOL89 = (pANTLR3_COMMON_TOKEN) MATCHT(IGNORE_SYMBOL, &FOLLOW_IGNORE_SYMBOL_in_alter_table686);
            	        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_table689);
            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_identifier_in_alter_table691);
            table_identifier91=table_identifier(ctx);

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

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

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

            alt28=6;

            {
                int LA28_0 = LA(1);
                if ( (LA28_0 == DISCARD_SYMBOL))
                {
                    alt28=1;
                }
                else if ( (LA28_0 == IMPORT_SYMBOL))
                {
                    alt28=2;
                }
                else if ( (LA28_0 == ENGINE_SYMBOL))
                {
                    alt28=3;
                }
                else if ( ((SERVER_VERSION < 50500)) && (LA28_0 == TYPE_SYMBOL))
                {
                    alt28=3;
                }
                else if ( (((LA28_0 >= AUTO_INCREMENT_SYMBOL) && (LA28_0 <= AVG_ROW_LENGTH_SYMBOL)) || LA28_0 == MAX_ROWS_SYMBOL || LA28_0 == MIN_ROWS_SYMBOL || LA28_0 == PACK_KEYS_SYMBOL || LA28_0 == PASSWORD_SYMBOL || LA28_0 == COMMENT_SYMBOL))
                {
                    alt28=3;
                }
                else if ( ((SERVER_VERSION >= 50600)) && (((LA28_0 >= STATS_AUTO_RECALC_SYMBOL) && (LA28_0 <= STATS_SAMPLE_PAGES_SYMBOL))))
                {
                    alt28=3;
                }
                else if ( (LA28_0 == CONNECTION_SYMBOL || LA28_0 == DATA_SYMBOL || LA28_0 == DELAY_KEY_WRITE_SYMBOL || LA28_0 == DISABLE_SYMBOL || LA28_0 == ENABLE_SYMBOL || LA28_0 == INSERT_METHOD_SYMBOL || LA28_0 == KEY_BLOCK_SIZE_SYMBOL || LA28_0 == MODIFY_SYMBOL || LA28_0 == ROW_FORMAT_SYMBOL || LA28_0 == STORAGE_SYMBOL || LA28_0 == TABLESPACE_SYMBOL || LA28_0 == TABLE_CHECKSUM_SYMBOL || ((LA28_0 >= CHARSET_SYMBOL) && (LA28_0 <= CHECKSUM_SYMBOL)) || LA28_0 == ALTER_SYMBOL || LA28_0 == CHANGE_SYMBOL || LA28_0 == CHAR_SYMBOL || LA28_0 == COLLATE_SYMBOL || LA28_0 == CONVERT_SYMBOL || LA28_0 == DEFAULT_SYMBOL || LA28_0 == FORCE_SYMBOL || LA28_0 == INDEX_SYMBOL || LA28_0 == ORDER_SYMBOL || LA28_0 == RENAME_SYMBOL || LA28_0 == UNION_SYMBOL))
                {
                    alt28=3;
                }
                else if ( (LA28_0 == ADD_SYMBOL))
                {
                    {
                        int LA28_28 = LA(2);
                        if ( (((LA28_28 >= ACTION_SYMBOL) && (LA28_28 <= XA_SYMBOL)) || LA28_28 == BACK_TICK_QUOTED_ID || LA28_28 == COLUMN_SYMBOL || LA28_28 == CONSTRAINT_SYMBOL || LA28_28 == DOUBLE_QUOTED_TEXT || LA28_28 == FOREIGN_SYMBOL || LA28_28 == FULLTEXT_SYMBOL || LA28_28 == IDENTIFIER || LA28_28 == INDEX_SYMBOL || LA28_28 == KEY_SYMBOL || LA28_28 == OPEN_PAR_SYMBOL || LA28_28 == PRIMARY_SYMBOL || LA28_28 == SPATIAL_SYMBOL || LA28_28 == UNIQUE_SYMBOL))
                        {
                            alt28=3;
                        }
                        else if ( (LA28_28 == PARTITION_SYMBOL))
                        {
                            {
                                int LA28_55 = LA(3);
                                if ( (!( (( (( ((LA(1) == ADD_SYMBOL && LA(2) == PARTITION_SYMBOL)) && ((LA(1) == ADD_SYMBOL && LA(2) == PARTITION_SYMBOL)) )) && ((SERVER_VERSION >= 50100)) )) )))
                                {
                                    alt28=3;
                                }
                                else if ( (( (( ((LA(1) == ADD_SYMBOL && LA(2) == PARTITION_SYMBOL)) && ((LA(1) == ADD_SYMBOL && LA(2) == PARTITION_SYMBOL)) )) && ((SERVER_VERSION >= 50100)) )))
                                {
                                    alt28=6;
                                }
                                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        = 55;


                                    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  = 28;
                            EXCEPTION->state        = 28;


                            goto rulealter_table_commandsEx;

                        }
                    }
                }
                else if ( (LA28_0 == DROP_SYMBOL))
                {
                    {
                        int LA28_32 = LA(2);
                        if ( (LA28_32 == PARTITION_SYMBOL))
                        {
                            {
                                int LA28_67 = LA(3);
                                if ( (!( ((SERVER_VERSION >= 50100)) )))
                                {
                                    alt28=3;
                                }
                                else if ( ((SERVER_VERSION >= 50100)))
                                {
                                    alt28=6;
                                }
                                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        = 67;


                                    goto rulealter_table_commandsEx;

                                }
                            }
                        }
                        else if ( (((LA28_32 >= ACTION_SYMBOL) && (LA28_32 <= XA_SYMBOL)) || LA28_32 == BACK_TICK_QUOTED_ID || LA28_32 == COLUMN_SYMBOL || LA28_32 == DOUBLE_QUOTED_TEXT || LA28_32 == FOREIGN_SYMBOL || LA28_32 == IDENTIFIER || LA28_32 == INDEX_SYMBOL || LA28_32 == KEY_SYMBOL || LA28_32 == PRIMARY_SYMBOL))
                        {
                            alt28=3;
                        }
                        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        = 32;


                            goto rulealter_table_commandsEx;

                        }
                    }
                }
                else if ( ((SERVER_VERSION >= 50600)) && (LA28_0 == ALGORITHM_SYMBOL || LA28_0 == LOCK_SYMBOL))
                {
                    alt28=3;
                }
                else if ( ((SERVER_VERSION >= 50100)) && (LA28_0 == REMOVE_SYMBOL))
                {
                    alt28=4;
                }
                else if ( ((SERVER_VERSION >= 50100)) && (LA28_0 == PARTITION_SYMBOL))
                {
                    alt28=5;
                }
                else if ( ((SERVER_VERSION >= 50100)) && (LA28_0 == ANALYZE_SYMBOL || LA28_0 == COALESCE_SYMBOL || LA28_0 == REBUILD_SYMBOL || LA28_0 == REPAIR_SYMBOL || LA28_0 == CHECK_SYMBOL || LA28_0 == OPTIMIZE_SYMBOL))
                {
                    alt28=6;
                }
                else if ( (( (( ((SERVER_VERSION >= 50500)) && ((SERVER_VERSION >= 50500)) )) && ((SERVER_VERSION >= 50100)) )) && (LA28_0 == TRUNCATE_SYMBOL))
                {
                    alt28=6;
                }
                else if ( ((SERVER_VERSION >= 50100)) && (LA28_0 == REORGANIZE_SYMBOL || LA28_0 == EXCHANGE_SYMBOL))
                {
                    alt28=6;
                }
                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:352: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_commands703);
        	        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_commands705);
        	        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:353: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_commands710);
        	        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_commands712);
        	        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:354: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_commands717);
        	        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:354:26: ( COMMA_SYMBOL alter_table_list_item )*

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

        	            }

        	            switch (alt25)
        	            {
        	        	case 1:
        	        	    // MySQL.g:354:27: COMMA_SYMBOL alter_table_list_item
        	        	    {
        	        	        COMMA_SYMBOL98 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_alter_table_commands720);
        	        	        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_commands722);
        	        	        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 loop25;	/* break out of the loop */
        	        	    break;
        	            }
        	        }
        	        loop25: ; /* Jump out to here if this rule does not match */


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


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


        	                    goto rulealter_table_commandsEx;

        	                }
        	            }
        	            switch (alt27)
        	            {
        	        	case 1:
        	        	    // MySQL.g:354:65: ( partitioning )?
        	        	    {
        	        	        // MySQL.g:354:65: ( partitioning )?
        	        	        {
        	        	            int alt26=2;
        	        	            {
        	        	                int LA26_0 = LA(1);
        	        	                if ( ((SERVER_VERSION >= 50100)) && (LA26_0 == PARTITION_SYMBOL))
        	        	                {
        	        	                    alt26=1;
        	        	                }
        	        	            }
        	        	            switch (alt26)
        	        	            {
        	        	        	case 1:
        	        	        	    // MySQL.g:354:65: partitioning
        	        	        	    {
        	        	        	        FOLLOWPUSH(FOLLOW_partitioning_in_alter_table_commands727);
        	        	        	        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:354:81: remove_partitioning
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_remove_partitioning_in_alter_table_commands732);
        	        	        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:355:4: remove_partitioning
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_remove_partitioning_in_alter_table_commands738);
        	        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:356:4: partitioning
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_partitioning_in_alter_table_commands743);
        	        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:357: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_commands752);
        	        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:360:1: alter_table_list_item : alter_table_list_entry -> ^( ALTER_TABLE_ITEM 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:360:22: ( alter_table_list_entry -> ^( ALTER_TABLE_ITEM alter_table_list_entry ) )
        // MySQL.g:361:2: alter_table_list_entry
        {
            FOLLOWPUSH(FOLLOW_alter_table_list_entry_in_alter_table_list_item761);
            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;
            	// 361:25: -> ^( ALTER_TABLE_ITEM alter_table_list_entry )
            	{
            	    // MySQL.g:361:28: ^( ALTER_TABLE_ITEM 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, (pANTLR3_UINT8)"ALTER_TABLE_ITEM")
            	        , 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:364: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 )? identifier ( SET_SYMBOL DEFAULT_SYMBOL literal | DROP_SYMBOL DEFAULT_SYMBOL ) | CHANGE_SYMBOL ( COLUMN_SYMBOL )? identifier field_spec ( FIRST_SYMBOL | AFTER_SYMBOL identifier )? | MODIFY_SYMBOL ( COLUMN_SYMBOL )? identifier field_spec ( FIRST_SYMBOL | AFTER_SYMBOL identifier )? | DROP_SYMBOL ( ( INDEX_SYMBOL | KEY_SYMBOL ) identifier | ( COLUMN_SYMBOL )? identifier | PRIMARY_SYMBOL KEY_SYMBOL | FOREIGN_SYMBOL KEY_SYMBOL identifier ) | DISABLE_SYMBOL KEYS_SYMBOL | ENABLE_SYMBOL KEYS_SYMBOL | RENAME_SYMBOL ( TO_SYMBOL | AS_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_SYMBOL187;
    pANTLR3_COMMON_TOKEN    KEYS_SYMBOL188;
    pANTLR3_COMMON_TOKEN    ENABLE_SYMBOL189;
    pANTLR3_COMMON_TOKEN    KEYS_SYMBOL190;
    pANTLR3_COMMON_TOKEN    RENAME_SYMBOL191;
    pANTLR3_COMMON_TOKEN    set192;
    pANTLR3_COMMON_TOKEN    CONVERT_SYMBOL195;
    pANTLR3_COMMON_TOKEN    TO_SYMBOL196;
    pANTLR3_COMMON_TOKEN    CHAR_SYMBOL197;
    pANTLR3_COMMON_TOKEN    SET_SYMBOL198;
    pANTLR3_COMMON_TOKEN    COLLATE_SYMBOL200;
    pANTLR3_COMMON_TOKEN    FORCE_SYMBOL202;
    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_identifier_return identifier157;
    #undef	RETURN_TYPE_identifier157
    #define	RETURN_TYPE_identifier157 MySQLParser_identifier_return

    MySQLParser_literal_return literal160;
    #undef	RETURN_TYPE_literal160
    #define	RETURN_TYPE_literal160 MySQLParser_literal_return

    MySQLParser_identifier_return identifier165;
    #undef	RETURN_TYPE_identifier165
    #define	RETURN_TYPE_identifier165 MySQLParser_identifier_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_identifier_return identifier172;
    #undef	RETURN_TYPE_identifier172
    #define	RETURN_TYPE_identifier172 MySQLParser_identifier_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_identifier_return identifier181;
    #undef	RETURN_TYPE_identifier181
    #define	RETURN_TYPE_identifier181 MySQLParser_identifier_return

    MySQLParser_identifier_return identifier186;
    #undef	RETURN_TYPE_identifier186
    #define	RETURN_TYPE_identifier186 MySQLParser_identifier_return

    MySQLParser_identifier_return identifier193;
    #undef	RETURN_TYPE_identifier193
    #define	RETURN_TYPE_identifier193 MySQLParser_identifier_return

    MySQLParser_alter_order_by_return alter_order_by194;
    #undef	RETURN_TYPE_alter_order_by194
    #define	RETURN_TYPE_alter_order_by194 MySQLParser_alter_order_by_return

    MySQLParser_charset_name_or_default_return charset_name_or_default199;
    #undef	RETURN_TYPE_charset_name_or_default199
    #define	RETURN_TYPE_charset_name_or_default199 MySQLParser_charset_name_or_default_return

    MySQLParser_collation_name_or_default_return collation_name_or_default201;
    #undef	RETURN_TYPE_collation_name_or_default201
    #define	RETURN_TYPE_collation_name_or_default201 MySQLParser_collation_name_or_default_return

    MySQLParser_alter_algorithm_option_return alter_algorithm_option203;
    #undef	RETURN_TYPE_alter_algorithm_option203
    #define	RETURN_TYPE_alter_algorithm_option203 MySQLParser_alter_algorithm_option_return

    MySQLParser_alter_lock_option_return alter_lock_option204;
    #undef	RETURN_TYPE_alter_lock_option204
    #define	RETURN_TYPE_alter_lock_option204 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_SYMBOL187_tree;
    pANTLR3_BASE_TREE KEYS_SYMBOL188_tree;
    pANTLR3_BASE_TREE ENABLE_SYMBOL189_tree;
    pANTLR3_BASE_TREE KEYS_SYMBOL190_tree;
    pANTLR3_BASE_TREE RENAME_SYMBOL191_tree;
    pANTLR3_BASE_TREE set192_tree;
    pANTLR3_BASE_TREE CONVERT_SYMBOL195_tree;
    pANTLR3_BASE_TREE TO_SYMBOL196_tree;
    pANTLR3_BASE_TREE CHAR_SYMBOL197_tree;
    pANTLR3_BASE_TREE SET_SYMBOL198_tree;
    pANTLR3_BASE_TREE COLLATE_SYMBOL200_tree;
    pANTLR3_BASE_TREE FORCE_SYMBOL202_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_SYMBOL187       = NULL;
    KEYS_SYMBOL188       = NULL;
    ENABLE_SYMBOL189       = NULL;
    KEYS_SYMBOL190       = NULL;
    RENAME_SYMBOL191       = NULL;
    set192       = NULL;
    CONVERT_SYMBOL195       = NULL;
    TO_SYMBOL196       = NULL;
    CHAR_SYMBOL197       = NULL;
    SET_SYMBOL198       = NULL;
    COLLATE_SYMBOL200       = NULL;
    FORCE_SYMBOL202       = 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;

    identifier157.tree = NULL;

    literal160.tree = NULL;

    identifier165.tree = NULL;

    field_spec166.tree = NULL;

    identifier169.tree = NULL;

    identifier172.tree = NULL;

    field_spec173.tree = NULL;

    identifier176.tree = NULL;

    identifier179.tree = NULL;

    identifier181.tree = NULL;

    identifier186.tree = NULL;

    identifier193.tree = NULL;

    alter_order_by194.tree = NULL;

    charset_name_or_default199.tree = NULL;

    collation_name_or_default201.tree = NULL;

    alter_algorithm_option203.tree = NULL;

    alter_lock_option204.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_SYMBOL187_tree   = NULL;
    KEYS_SYMBOL188_tree   = NULL;
    ENABLE_SYMBOL189_tree   = NULL;
    KEYS_SYMBOL190_tree   = NULL;
    RENAME_SYMBOL191_tree   = NULL;
    set192_tree   = NULL;
    CONVERT_SYMBOL195_tree   = NULL;
    TO_SYMBOL196_tree   = NULL;
    CHAR_SYMBOL197_tree   = NULL;
    SET_SYMBOL198_tree   = NULL;
    COLLATE_SYMBOL200_tree   = NULL;
    FORCE_SYMBOL202_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:364: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 )? identifier ( SET_SYMBOL DEFAULT_SYMBOL literal | DROP_SYMBOL DEFAULT_SYMBOL ) | CHANGE_SYMBOL ( COLUMN_SYMBOL )? identifier field_spec ( FIRST_SYMBOL | AFTER_SYMBOL identifier )? | MODIFY_SYMBOL ( COLUMN_SYMBOL )? identifier field_spec ( FIRST_SYMBOL | AFTER_SYMBOL identifier )? | DROP_SYMBOL ( ( INDEX_SYMBOL | KEY_SYMBOL ) identifier | ( COLUMN_SYMBOL )? identifier | PRIMARY_SYMBOL KEY_SYMBOL | FOREIGN_SYMBOL KEY_SYMBOL identifier ) | DISABLE_SYMBOL KEYS_SYMBOL | ENABLE_SYMBOL KEYS_SYMBOL | RENAME_SYMBOL ( TO_SYMBOL | AS_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 alt62;

            alt62=18;

            {
                int LA62_0 = LA(1);
                if ( (LA62_0 == ENGINE_SYMBOL))
                {
                    alt62=1;
                }
                else if ( ((SERVER_VERSION < 50500)) && (LA62_0 == TYPE_SYMBOL))
                {
                    alt62=1;
                }
                else if ( (((LA62_0 >= AUTO_INCREMENT_SYMBOL) && (LA62_0 <= AVG_ROW_LENGTH_SYMBOL)) || LA62_0 == MAX_ROWS_SYMBOL || LA62_0 == MIN_ROWS_SYMBOL || LA62_0 == PACK_KEYS_SYMBOL || LA62_0 == PASSWORD_SYMBOL || LA62_0 == COMMENT_SYMBOL))
                {
                    alt62=1;
                }
                else if ( ((SERVER_VERSION >= 50600)) && (((LA62_0 >= STATS_AUTO_RECALC_SYMBOL) && (LA62_0 <= STATS_SAMPLE_PAGES_SYMBOL))))
                {
                    alt62=1;
                }
                else if ( (LA62_0 == CONNECTION_SYMBOL || LA62_0 == DATA_SYMBOL || LA62_0 == DELAY_KEY_WRITE_SYMBOL || LA62_0 == INSERT_METHOD_SYMBOL || LA62_0 == KEY_BLOCK_SIZE_SYMBOL || LA62_0 == ROW_FORMAT_SYMBOL || LA62_0 == STORAGE_SYMBOL || LA62_0 == TABLESPACE_SYMBOL || LA62_0 == TABLE_CHECKSUM_SYMBOL || ((LA62_0 >= CHARSET_SYMBOL) && (LA62_0 <= CHECKSUM_SYMBOL)) || LA62_0 == CHAR_SYMBOL || LA62_0 == COLLATE_SYMBOL || LA62_0 == DEFAULT_SYMBOL || LA62_0 == INDEX_SYMBOL || LA62_0 == UNION_SYMBOL))
                {
                    alt62=1;
                }
                else if ( (LA62_0 == ADD_SYMBOL))
                {
                    {
                        int LA62_26 = LA(2);
                        if ( (LA62_26 == INDEX_SYMBOL || LA62_26 == KEY_SYMBOL))
                        {
                            alt62=3;
                        }
                        else if ( (LA62_26 == FULLTEXT_SYMBOL))
                        {
                            alt62=5;
                        }
                        else if ( (LA62_26 == SPATIAL_SYMBOL))
                        {
                            alt62=6;
                        }
                        else if ( (((LA62_26 >= ACTION_SYMBOL) && (LA62_26 <= PARTITION_SYMBOL)) || LA62_26 == BACK_TICK_QUOTED_ID || LA62_26 == COLUMN_SYMBOL || LA62_26 == DOUBLE_QUOTED_TEXT || LA62_26 == IDENTIFIER || LA62_26 == OPEN_PAR_SYMBOL))
                        {
                            alt62=2;
                        }
                        else if ( (LA62_26 == CONSTRAINT_SYMBOL || LA62_26 == FOREIGN_SYMBOL || LA62_26 == PRIMARY_SYMBOL || LA62_26 == UNIQUE_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        = 26;


                            goto rulealter_table_list_entryEx;

                        }
                    }
                }
                else if ( (LA62_0 == ALTER_SYMBOL))
                {
                    alt62=7;
                }
                else if ( (LA62_0 == CHANGE_SYMBOL))
                {
                    alt62=8;
                }
                else if ( (LA62_0 == MODIFY_SYMBOL))
                {
                    alt62=9;
                }
                else if ( (LA62_0 == DROP_SYMBOL))
                {
                    alt62=10;
                }
                else if ( (LA62_0 == DISABLE_SYMBOL))
                {
                    alt62=11;
                }
                else if ( (LA62_0 == ENABLE_SYMBOL))
                {
                    alt62=12;
                }
                else if ( (LA62_0 == RENAME_SYMBOL))
                {
                    alt62=13;
                }
                else if ( (LA62_0 == ORDER_SYMBOL))
                {
                    alt62=14;
                }
                else if ( (LA62_0 == CONVERT_SYMBOL))
                {
                    alt62=15;
                }
                else if ( (LA62_0 == FORCE_SYMBOL))
                {
                    alt62=16;
                }
                else if ( ((SERVER_VERSION >= 50600)) && (LA62_0 == ALGORITHM_SYMBOL))
                {
                    alt62=17;
                }
                else if ( ((SERVER_VERSION >= 50600)) && (LA62_0 == LOCK_SYMBOL))
                {
                    alt62=18;
                }
                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:365:2: alter_table_options
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_alter_table_options_in_alter_table_list_entry778);
        	        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:366: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_entry783);
        	        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:366:15: ( COLUMN_SYMBOL )?
        	        {
        	            int alt29=2;
        	            switch ( LA(1) )
        	            {
        	                case COLUMN_SYMBOL:
        	                	{
        	                		alt29=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt29)
        	            {
        	        	case 1:
        	        	    // MySQL.g:366:15: COLUMN_SYMBOL
        	        	    {
        	        	        COLUMN_SYMBOL108 = (pANTLR3_COMMON_TOKEN) MATCHT(COLUMN_SYMBOL, &FOLLOW_COLUMN_SYMBOL_in_alter_table_list_entry785);
        	        	        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:367:3: ( column_definition ( FIRST_SYMBOL | AFTER_SYMBOL identifier )? | OPEN_PAR_SYMBOL column_definition ( COMMA_SYMBOL column_definition )* CLOSE_PAR_SYMBOL )
        	        {
        	            int alt32=2;
        	            {
        	                int LA32_0 = LA(1);
        	                if ( (LA32_0 == BACK_TICK_QUOTED_ID || LA32_0 == IDENTIFIER))
        	                {
        	                    alt32=1;
        	                }
        	                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA32_0 == DOUBLE_QUOTED_TEXT))
        	                {
        	                    alt32=1;
        	                }
        	                else if ( (((LA32_0 >= ACTION_SYMBOL) && (LA32_0 <= PARTITION_SYMBOL))))
        	                {
        	                    alt32=1;
        	                }
        	                else if ( (LA32_0 == OPEN_PAR_SYMBOL))
        	                {
        	                    alt32=2;
        	                }
        	                else
        	                {
        	                    if (BACKTRACKING>0)
        	                    {
        	                        FAILEDFLAG = ANTLR3_TRUE;
        	                        return retval;
        	                    }


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


        	                    goto rulealter_table_list_entryEx;

        	                }
        	            }
        	            switch (alt32)
        	            {
        	        	case 1:
        	        	    // MySQL.g:368:4: column_definition ( FIRST_SYMBOL | AFTER_SYMBOL identifier )?
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_column_definition_in_alter_table_list_entry795);
        	        	        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:368:22: ( FIRST_SYMBOL | AFTER_SYMBOL identifier )?
        	        	        {
        	        	            int alt30=3;
        	        	            switch ( LA(1) )
        	        	            {
        	        	                case FIRST_SYMBOL:
        	        	                	{
        	        	                		alt30=1;
        	        	                	}
        	        	                    break;
        	        	                case AFTER_SYMBOL:
        	        	                	{
        	        	                		alt30=2;
        	        	                	}
        	        	                    break;
        	        	            }

        	        	            switch (alt30)
        	        	            {
        	        	        	case 1:
        	        	        	    // MySQL.g:368:23: FIRST_SYMBOL
        	        	        	    {
        	        	        	        FIRST_SYMBOL110 = (pANTLR3_COMMON_TOKEN) MATCHT(FIRST_SYMBOL, &FOLLOW_FIRST_SYMBOL_in_alter_table_list_entry798);
        	        	        	        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:368:38: AFTER_SYMBOL identifier
        	        	        	    {
        	        	        	        AFTER_SYMBOL111 = (pANTLR3_COMMON_TOKEN) MATCHT(AFTER_SYMBOL, &FOLLOW_AFTER_SYMBOL_in_alter_table_list_entry802);
        	        	        	        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_entry804);
        	        	        	        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:369: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_entry813);
        	        	        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_entry815);
        	        	        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:369:40: ( COMMA_SYMBOL column_definition )*

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

        	        	            }

        	        	            switch (alt31)
        	        	            {
        	        	        	case 1:
        	        	        	    // MySQL.g:369:41: COMMA_SYMBOL column_definition
        	        	        	    {
        	        	        	        COMMA_SYMBOL115 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_alter_table_list_entry818);
        	        	        	        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_entry820);
        	        	        	        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 loop31;	/* break out of the loop */
        	        	        	    break;
        	        	            }
        	        	        }
        	        	        loop31: ; /* 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_entry824);
        	        	        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:371: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_entry833);
        	        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:371:43: ( identifier )?
        	        {
        	            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 == TYPE_SYMBOL))
        	                {
        	                    switch ( LA(2) )
        	                    {
        	                        case TYPE_SYMBOL:
        	                        case OPEN_PAR_SYMBOL:
        	                        case USING_SYMBOL:
        	                        	{
        	                        		alt33=1;
        	                        	}
        	                            break;
        	                    }

        	                }
        	                else if ( (((LA33_0 >= ACTION_SYMBOL) && (LA33_0 <= TYPES_SYMBOL)) || ((LA33_0 >= UDF_RETURNS_SYMBOL) && (LA33_0 <= PARTITION_SYMBOL))))
        	                {
        	                    alt33=1;
        	                }
        	            }
        	            switch (alt33)
        	            {
        	        	case 1:
        	        	    // MySQL.g:371:43: identifier
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_identifier_in_alter_table_list_entry843);
        	        	        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:371:55: ( index_type )?
        	        {
        	            int alt34=2;
        	            switch ( LA(1) )
        	            {
        	                case TYPE_SYMBOL:
        	                case USING_SYMBOL:
        	                	{
        	                		alt34=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt34)
        	            {
        	        	case 1:
        	        	    // MySQL.g:371:55: index_type
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_index_type_in_alter_table_list_entry846);
        	        	        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_entry849);
        	        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:371:81: ( index_option )*

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

        	            }
        	            switch (alt35)
        	            {
        	        	case 1:
        	        	    // MySQL.g:371:81: index_option
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_index_option_in_alter_table_list_entry851);
        	        	        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 loop35;	/* break out of the loop */
        	        	    break;
        	            }
        	        }
        	        loop35: ; /* Jump out to here if this rule does not match */


        	    }
        	    break;
        	case 4:
        	    // MySQL.g:372: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_entry857);
        	        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:372:15: ( CONSTRAINT_SYMBOL ( identifier )? )?
        	        {
        	            int alt37=2;
        	            switch ( LA(1) )
        	            {
        	                case CONSTRAINT_SYMBOL:
        	                	{
        	                		alt37=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt37)
        	            {
        	        	case 1:
        	        	    // MySQL.g:372:16: CONSTRAINT_SYMBOL ( identifier )?
        	        	    {
        	        	        CONSTRAINT_SYMBOL125 = (pANTLR3_COMMON_TOKEN) MATCHT(CONSTRAINT_SYMBOL, &FOLLOW_CONSTRAINT_SYMBOL_in_alter_table_list_entry860);
        	        	        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:372:34: ( identifier )?
        	        	        {
        	        	            int alt36=2;
        	        	            {
        	        	                int LA36_0 = LA(1);
        	        	                if ( (LA36_0 == BACK_TICK_QUOTED_ID || LA36_0 == IDENTIFIER))
        	        	                {
        	        	                    alt36=1;
        	        	                }
        	        	                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA36_0 == DOUBLE_QUOTED_TEXT))
        	        	                {
        	        	                    alt36=1;
        	        	                }
        	        	                else if ( (((LA36_0 >= ACTION_SYMBOL) && (LA36_0 <= PARTITION_SYMBOL))))
        	        	                {
        	        	                    alt36=1;
        	        	                }
        	        	            }
        	        	            switch (alt36)
        	        	            {
        	        	        	case 1:
        	        	        	    // MySQL.g:372:34: identifier
        	        	        	    {
        	        	        	        FOLLOWPUSH(FOLLOW_identifier_in_alter_table_list_entry862);
        	        	        	        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:373: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 alt45=3;
        	            switch ( LA(1) )
        	            {
        	            case PRIMARY_SYMBOL:
        	            	{
        	            		alt45=1;
        	            	}
        	                break;
        	            case UNIQUE_SYMBOL:
        	            	{
        	            		alt45=2;
        	            	}
        	                break;
        	            case FOREIGN_SYMBOL:
        	            	{
        	            		alt45=3;
        	            	}
        	                break;

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

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


        	                goto rulealter_table_list_entryEx;

        	            }

        	            switch (alt45)
        	            {
        	        	case 1:
        	        	    // MySQL.g:374: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_entry874);
        	        	        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_entry876);
        	        	        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:374:30: ( index_type )?
        	        	        {
        	        	            int alt38=2;
        	        	            switch ( LA(1) )
        	        	            {
        	        	                case TYPE_SYMBOL:
        	        	                case USING_SYMBOL:
        	        	                	{
        	        	                		alt38=1;
        	        	                	}
        	        	                    break;
        	        	            }

        	        	            switch (alt38)
        	        	            {
        	        	        	case 1:
        	        	        	    // MySQL.g:374:30: index_type
        	        	        	    {
        	        	        	        FOLLOWPUSH(FOLLOW_index_type_in_alter_table_list_entry878);
        	        	        	        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_entry881);
        	        	        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:374:56: ( index_option )*

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

        	        	            }
        	        	            switch (alt39)
        	        	            {
        	        	        	case 1:
        	        	        	    // MySQL.g:374:56: index_option
        	        	        	    {
        	        	        	        FOLLOWPUSH(FOLLOW_index_option_in_alter_table_list_entry883);
        	        	        	        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 loop39;	/* break out of the loop */
        	        	        	    break;
        	        	            }
        	        	        }
        	        	        loop39: ; /* Jump out to here if this rule does not match */


        	        	    }
        	        	    break;
        	        	case 2:
        	        	    // MySQL.g:375: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_entry891);
        	        	        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:375:20: ( INDEX_SYMBOL | KEY_SYMBOL )?
        	        	        {
        	        	            int alt40=2;
        	        	            switch ( LA(1) )
        	        	            {
        	        	                case INDEX_SYMBOL:
        	        	                case KEY_SYMBOL:
        	        	                	{
        	        	                		alt40=1;
        	        	                	}
        	        	                    break;
        	        	            }

        	        	            switch (alt40)
        	        	            {
        	        	        	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:375:49: ( identifier )?
        	        	        {
        	        	            int alt41=2;
        	        	            {
        	        	                int LA41_0 = LA(1);
        	        	                if ( (LA41_0 == BACK_TICK_QUOTED_ID || LA41_0 == IDENTIFIER))
        	        	                {
        	        	                    alt41=1;
        	        	                }
        	        	                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA41_0 == DOUBLE_QUOTED_TEXT))
        	        	                {
        	        	                    alt41=1;
        	        	                }
        	        	                else if ( (LA41_0 == TYPE_SYMBOL))
        	        	                {
        	        	                    switch ( LA(2) )
        	        	                    {
        	        	                        case TYPE_SYMBOL:
        	        	                        case OPEN_PAR_SYMBOL:
        	        	                        case USING_SYMBOL:
        	        	                        	{
        	        	                        		alt41=1;
        	        	                        	}
        	        	                            break;
        	        	                    }

        	        	                }
        	        	                else if ( (((LA41_0 >= ACTION_SYMBOL) && (LA41_0 <= TYPES_SYMBOL)) || ((LA41_0 >= UDF_RETURNS_SYMBOL) && (LA41_0 <= PARTITION_SYMBOL))))
        	        	                {
        	        	                    alt41=1;
        	        	                }
        	        	            }
        	        	            switch (alt41)
        	        	            {
        	        	        	case 1:
        	        	        	    // MySQL.g:375:49: identifier
        	        	        	    {
        	        	        	        FOLLOWPUSH(FOLLOW_identifier_in_alter_table_list_entry902);
        	        	        	        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:375:61: ( index_type )?
        	        	        {
        	        	            int alt42=2;
        	        	            switch ( LA(1) )
        	        	            {
        	        	                case TYPE_SYMBOL:
        	        	                case USING_SYMBOL:
        	        	                	{
        	        	                		alt42=1;
        	        	                	}
        	        	                    break;
        	        	            }

        	        	            switch (alt42)
        	        	            {
        	        	        	case 1:
        	        	        	    // MySQL.g:375:61: index_type
        	        	        	    {
        	        	        	        FOLLOWPUSH(FOLLOW_index_type_in_alter_table_list_entry905);
        	        	        	        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_entry908);
        	        	        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:375:87: ( index_option )*

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

        	        	            }
        	        	            switch (alt43)
        	        	            {
        	        	        	case 1:
        	        	        	    // MySQL.g:375:87: index_option
        	        	        	    {
        	        	        	        FOLLOWPUSH(FOLLOW_index_option_in_alter_table_list_entry910);
        	        	        	        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 loop43;	/* break out of the loop */
        	        	        	    break;
        	        	            }
        	        	        }
        	        	        loop43: ; /* Jump out to here if this rule does not match */


        	        	    }
        	        	    break;
        	        	case 3:
        	        	    // MySQL.g:376: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_entry918);
        	        	        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_entry920);
        	        	        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:376:32: ( identifier )?
        	        	        {
        	        	            int alt44=2;
        	        	            {
        	        	                int LA44_0 = LA(1);
        	        	                if ( (LA44_0 == BACK_TICK_QUOTED_ID || LA44_0 == IDENTIFIER))
        	        	                {
        	        	                    alt44=1;
        	        	                }
        	        	                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA44_0 == DOUBLE_QUOTED_TEXT))
        	        	                {
        	        	                    alt44=1;
        	        	                }
        	        	                else if ( (((LA44_0 >= ACTION_SYMBOL) && (LA44_0 <= PARTITION_SYMBOL))))
        	        	                {
        	        	                    alt44=1;
        	        	                }
        	        	            }
        	        	            switch (alt44)
        	        	            {
        	        	        	case 1:
        	        	        	    // MySQL.g:376:32: identifier
        	        	        	    {
        	        	        	        FOLLOWPUSH(FOLLOW_identifier_in_alter_table_list_entry922);
        	        	        	        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_entry925);
        	        	        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_entry927);
        	        	        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:378: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_entry936);
        	        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_entry938);
        	        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:378:31: ( INDEX_SYMBOL | KEY_SYMBOL )?
        	        {
        	            int alt46=2;
        	            switch ( LA(1) )
        	            {
        	                case INDEX_SYMBOL:
        	                case KEY_SYMBOL:
        	                	{
        	                		alt46=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt46)
        	            {
        	        	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:378:60: ( identifier )?
        	        {
        	            int alt47=2;
        	            {
        	                int LA47_0 = LA(1);
        	                if ( (LA47_0 == BACK_TICK_QUOTED_ID || LA47_0 == IDENTIFIER))
        	                {
        	                    alt47=1;
        	                }
        	                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA47_0 == DOUBLE_QUOTED_TEXT))
        	                {
        	                    alt47=1;
        	                }
        	                else if ( (((LA47_0 >= ACTION_SYMBOL) && (LA47_0 <= PARTITION_SYMBOL))))
        	                {
        	                    alt47=1;
        	                }
        	            }
        	            switch (alt47)
        	            {
        	        	case 1:
        	        	    // MySQL.g:378:60: identifier
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_identifier_in_alter_table_list_entry949);
        	        	        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_entry952);
        	        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:378:86: ( index_option )*

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

        	            }
        	            switch (alt48)
        	            {
        	        	case 1:
        	        	    // MySQL.g:378:86: index_option
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_index_option_in_alter_table_list_entry954);
        	        	        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 loop48;	/* break out of the loop */
        	        	    break;
        	            }
        	        }
        	        loop48: ; /* Jump out to here if this rule does not match */


        	    }
        	    break;
        	case 6:
        	    // MySQL.g:379: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_entry960);
        	        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_entry962);
        	        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:379:30: ( INDEX_SYMBOL | KEY_SYMBOL )?
        	        {
        	            int alt49=2;
        	            switch ( LA(1) )
        	            {
        	                case INDEX_SYMBOL:
        	                case KEY_SYMBOL:
        	                	{
        	                		alt49=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt49)
        	            {
        	        	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:379:59: ( identifier )?
        	        {
        	            int alt50=2;
        	            {
        	                int LA50_0 = LA(1);
        	                if ( (LA50_0 == BACK_TICK_QUOTED_ID || LA50_0 == IDENTIFIER))
        	                {
        	                    alt50=1;
        	                }
        	                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA50_0 == DOUBLE_QUOTED_TEXT))
        	                {
        	                    alt50=1;
        	                }
        	                else if ( (((LA50_0 >= ACTION_SYMBOL) && (LA50_0 <= PARTITION_SYMBOL))))
        	                {
        	                    alt50=1;
        	                }
        	            }
        	            switch (alt50)
        	            {
        	        	case 1:
        	        	    // MySQL.g:379:59: identifier
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_identifier_in_alter_table_list_entry973);
        	        	        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_entry976);
        	        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:379:85: ( index_option )*

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

        	            }
        	            switch (alt51)
        	            {
        	        	case 1:
        	        	    // MySQL.g:379:85: index_option
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_index_option_in_alter_table_list_entry978);
        	        	        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 loop51;	/* break out of the loop */
        	        	    break;
        	            }
        	        }
        	        loop51: ; /* Jump out to here if this rule does not match */


        	    }
        	    break;
        	case 7:
        	    // MySQL.g:380:4: ALTER_SYMBOL ( COLUMN_SYMBOL )? identifier ( SET_SYMBOL DEFAULT_SYMBOL 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_entry984);
        	        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:380:17: ( COLUMN_SYMBOL )?
        	        {
        	            int alt52=2;
        	            switch ( LA(1) )
        	            {
        	                case COLUMN_SYMBOL:
        	                	{
        	                		alt52=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt52)
        	            {
        	        	case 1:
        	        	    // MySQL.g:380:17: COLUMN_SYMBOL
        	        	    {
        	        	        COLUMN_SYMBOL156 = (pANTLR3_COMMON_TOKEN) MATCHT(COLUMN_SYMBOL, &FOLLOW_COLUMN_SYMBOL_in_alter_table_list_entry986);
        	        	        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_identifier_in_alter_table_list_entry989);
        	        identifier157=identifier(ctx);

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

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

        	        // MySQL.g:380:43: ( SET_SYMBOL DEFAULT_SYMBOL literal | DROP_SYMBOL DEFAULT_SYMBOL )
        	        {
        	            int alt53=2;
        	            switch ( LA(1) )
        	            {
        	            case SET_SYMBOL:
        	            	{
        	            		alt53=1;
        	            	}
        	                break;
        	            case DROP_SYMBOL:
        	            	{
        	            		alt53=2;
        	            	}
        	                break;

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

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


        	                goto rulealter_table_list_entryEx;

        	            }

        	            switch (alt53)
        	            {
        	        	case 1:
        	        	    // MySQL.g:380:44: SET_SYMBOL DEFAULT_SYMBOL literal
        	        	    {
        	        	        SET_SYMBOL158 = (pANTLR3_COMMON_TOKEN) MATCHT(SET_SYMBOL, &FOLLOW_SET_SYMBOL_in_alter_table_list_entry992);
        	        	        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_entry994);
        	        	        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_literal_in_alter_table_list_entry996);
        	        	        literal160=literal(ctx);

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

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

        	        	    }
        	        	    break;
        	        	case 2:
        	        	    // MySQL.g:380:80: DROP_SYMBOL DEFAULT_SYMBOL
        	        	    {
        	        	        DROP_SYMBOL161 = (pANTLR3_COMMON_TOKEN) MATCHT(DROP_SYMBOL, &FOLLOW_DROP_SYMBOL_in_alter_table_list_entry1000);
        	        	        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_entry1002);
        	        	        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:381:4: CHANGE_SYMBOL ( COLUMN_SYMBOL )? identifier 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_entry1008);
        	        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:381:18: ( COLUMN_SYMBOL )?
        	        {
        	            int alt54=2;
        	            switch ( LA(1) )
        	            {
        	                case COLUMN_SYMBOL:
        	                	{
        	                		alt54=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt54)
        	            {
        	        	case 1:
        	        	    // MySQL.g:381:18: COLUMN_SYMBOL
        	        	    {
        	        	        COLUMN_SYMBOL164 = (pANTLR3_COMMON_TOKEN) MATCHT(COLUMN_SYMBOL, &FOLLOW_COLUMN_SYMBOL_in_alter_table_list_entry1010);
        	        	        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_identifier_in_alter_table_list_entry1013);
        	        identifier165=identifier(ctx);

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

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

        	        FOLLOWPUSH(FOLLOW_field_spec_in_alter_table_list_entry1015);
        	        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:381:55: ( FIRST_SYMBOL | AFTER_SYMBOL identifier )?
        	        {
        	            int alt55=3;
        	            switch ( LA(1) )
        	            {
        	                case FIRST_SYMBOL:
        	                	{
        	                		alt55=1;
        	                	}
        	                    break;
        	                case AFTER_SYMBOL:
        	                	{
        	                		alt55=2;
        	                	}
        	                    break;
        	            }

        	            switch (alt55)
        	            {
        	        	case 1:
        	        	    // MySQL.g:381:56: FIRST_SYMBOL
        	        	    {
        	        	        FIRST_SYMBOL167 = (pANTLR3_COMMON_TOKEN) MATCHT(FIRST_SYMBOL, &FOLLOW_FIRST_SYMBOL_in_alter_table_list_entry1018);
        	        	        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:381:71: AFTER_SYMBOL identifier
        	        	    {
        	        	        AFTER_SYMBOL168 = (pANTLR3_COMMON_TOKEN) MATCHT(AFTER_SYMBOL, &FOLLOW_AFTER_SYMBOL_in_alter_table_list_entry1022);
        	        	        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_entry1024);
        	        	        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:382:4: MODIFY_SYMBOL ( COLUMN_SYMBOL )? identifier 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_entry1031);
        	        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:382:18: ( COLUMN_SYMBOL )?
        	        {
        	            int alt56=2;
        	            switch ( LA(1) )
        	            {
        	                case COLUMN_SYMBOL:
        	                	{
        	                		alt56=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt56)
        	            {
        	        	case 1:
        	        	    // MySQL.g:382:18: COLUMN_SYMBOL
        	        	    {
        	        	        COLUMN_SYMBOL171 = (pANTLR3_COMMON_TOKEN) MATCHT(COLUMN_SYMBOL, &FOLLOW_COLUMN_SYMBOL_in_alter_table_list_entry1033);
        	        	        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_identifier_in_alter_table_list_entry1036);
        	        identifier172=identifier(ctx);

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

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

        	        FOLLOWPUSH(FOLLOW_field_spec_in_alter_table_list_entry1038);
        	        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:382:55: ( FIRST_SYMBOL | AFTER_SYMBOL identifier )?
        	        {
        	            int alt57=3;
        	            switch ( LA(1) )
        	            {
        	                case FIRST_SYMBOL:
        	                	{
        	                		alt57=1;
        	                	}
        	                    break;
        	                case AFTER_SYMBOL:
        	                	{
        	                		alt57=2;
        	                	}
        	                    break;
        	            }

        	            switch (alt57)
        	            {
        	        	case 1:
        	        	    // MySQL.g:382:56: FIRST_SYMBOL
        	        	    {
        	        	        FIRST_SYMBOL174 = (pANTLR3_COMMON_TOKEN) MATCHT(FIRST_SYMBOL, &FOLLOW_FIRST_SYMBOL_in_alter_table_list_entry1041);
        	        	        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:382:71: AFTER_SYMBOL identifier
        	        	    {
        	        	        AFTER_SYMBOL175 = (pANTLR3_COMMON_TOKEN) MATCHT(AFTER_SYMBOL, &FOLLOW_AFTER_SYMBOL_in_alter_table_list_entry1045);
        	        	        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_entry1047);
        	        	        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:383:4: DROP_SYMBOL ( ( INDEX_SYMBOL | KEY_SYMBOL ) identifier | ( COLUMN_SYMBOL )? identifier | PRIMARY_SYMBOL KEY_SYMBOL | FOREIGN_SYMBOL KEY_SYMBOL identifier )
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        DROP_SYMBOL177 = (pANTLR3_COMMON_TOKEN) MATCHT(DROP_SYMBOL, &FOLLOW_DROP_SYMBOL_in_alter_table_list_entry1054);
        	        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:384:3: ( ( INDEX_SYMBOL | KEY_SYMBOL ) identifier | ( COLUMN_SYMBOL )? identifier | PRIMARY_SYMBOL KEY_SYMBOL | FOREIGN_SYMBOL KEY_SYMBOL identifier )
        	        {
        	            int alt59=4;
        	            {
        	                int LA59_0 = LA(1);
        	                if ( (LA59_0 == INDEX_SYMBOL || LA59_0 == KEY_SYMBOL))
        	                {
        	                    alt59=1;
        	                }
        	                else if ( (LA59_0 == BACK_TICK_QUOTED_ID || LA59_0 == COLUMN_SYMBOL || LA59_0 == IDENTIFIER))
        	                {
        	                    alt59=2;
        	                }
        	                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA59_0 == DOUBLE_QUOTED_TEXT))
        	                {
        	                    alt59=2;
        	                }
        	                else if ( (((LA59_0 >= ACTION_SYMBOL) && (LA59_0 <= PARTITION_SYMBOL))))
        	                {
        	                    alt59=2;
        	                }
        	                else if ( (LA59_0 == PRIMARY_SYMBOL))
        	                {
        	                    alt59=3;
        	                }
        	                else if ( (LA59_0 == FOREIGN_SYMBOL))
        	                {
        	                    alt59=4;
        	                }
        	                else
        	                {
        	                    if (BACKTRACKING>0)
        	                    {
        	                        FAILEDFLAG = ANTLR3_TRUE;
        	                        return retval;
        	                    }


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


        	                    goto rulealter_table_list_entryEx;

        	                }
        	            }
        	            switch (alt59)
        	            {
        	        	case 1:
        	        	    // MySQL.g:385: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_entry1071);
        	        	        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:386:6: ( COLUMN_SYMBOL )? identifier
        	        	    {
        	        	        // MySQL.g:386:6: ( COLUMN_SYMBOL )?
        	        	        {
        	        	            int alt58=2;
        	        	            switch ( LA(1) )
        	        	            {
        	        	                case COLUMN_SYMBOL:
        	        	                	{
        	        	                		alt58=1;
        	        	                	}
        	        	                    break;
        	        	            }

        	        	            switch (alt58)
        	        	            {
        	        	        	case 1:
        	        	        	    // MySQL.g:386:6: COLUMN_SYMBOL
        	        	        	    {
        	        	        	        COLUMN_SYMBOL180 = (pANTLR3_COMMON_TOKEN) MATCHT(COLUMN_SYMBOL, &FOLLOW_COLUMN_SYMBOL_in_alter_table_list_entry1078);
        	        	        	        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_identifier_in_alter_table_list_entry1081);
        	        	        identifier181=identifier(ctx);

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

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

        	        	    }
        	        	    break;
        	        	case 3:
        	        	    // MySQL.g:387:6: PRIMARY_SYMBOL KEY_SYMBOL
        	        	    {
        	        	        PRIMARY_SYMBOL182 = (pANTLR3_COMMON_TOKEN) MATCHT(PRIMARY_SYMBOL, &FOLLOW_PRIMARY_SYMBOL_in_alter_table_list_entry1088);
        	        	        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_entry1090);
        	        	        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:388:6: FOREIGN_SYMBOL KEY_SYMBOL identifier
        	        	    {
        	        	        FOREIGN_SYMBOL184 = (pANTLR3_COMMON_TOKEN) MATCHT(FOREIGN_SYMBOL, &FOLLOW_FOREIGN_SYMBOL_in_alter_table_list_entry1097);
        	        	        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_entry1099);
        	        	        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);
        	        	        }

        	        	        FOLLOWPUSH(FOLLOW_identifier_in_alter_table_list_entry1101);
        	        	        identifier186=identifier(ctx);

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

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

        	        	    }
        	        	    break;

        	            }
        	        }

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


        	        DISABLE_SYMBOL187 = (pANTLR3_COMMON_TOKEN) MATCHT(DISABLE_SYMBOL, &FOLLOW_DISABLE_SYMBOL_in_alter_table_list_entry1110);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulealter_table_list_entryEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

        	        KEYS_SYMBOL188 = (pANTLR3_COMMON_TOKEN) MATCHT(KEYS_SYMBOL, &FOLLOW_KEYS_SYMBOL_in_alter_table_list_entry1112);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulealter_table_list_entryEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

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


        	        ENABLE_SYMBOL189 = (pANTLR3_COMMON_TOKEN) MATCHT(ENABLE_SYMBOL, &FOLLOW_ENABLE_SYMBOL_in_alter_table_list_entry1117);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulealter_table_list_entryEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

        	        KEYS_SYMBOL190 = (pANTLR3_COMMON_TOKEN) MATCHT(KEYS_SYMBOL, &FOLLOW_KEYS_SYMBOL_in_alter_table_list_entry1119);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulealter_table_list_entryEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

        	    }
        	    break;
        	case 13:
        	    // MySQL.g:392:4: RENAME_SYMBOL ( TO_SYMBOL | AS_SYMBOL )? identifier
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        RENAME_SYMBOL191 = (pANTLR3_COMMON_TOKEN) MATCHT(RENAME_SYMBOL, &FOLLOW_RENAME_SYMBOL_in_alter_table_list_entry1124);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulealter_table_list_entryEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

        	        // MySQL.g:392:18: ( TO_SYMBOL | AS_SYMBOL )?
        	        {
        	            int alt60=2;
        	            switch ( LA(1) )
        	            {
        	                case AS_SYMBOL:
        	                case TO_SYMBOL:
        	                	{
        	                		alt60=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt60)
        	            {
        	        	case 1:
        	        	    // MySQL.g:
        	        	    {
        	        	        set192=(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, set192))
        	        	            );
        	        	            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_identifier_in_alter_table_list_entry1135);
        	        identifier193=identifier(ctx);

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

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

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


        	        FOLLOWPUSH(FOLLOW_alter_order_by_in_alter_table_list_entry1140);
        	        alter_order_by194=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_by194.tree);

        	    }
        	    break;
        	case 15:
        	    // MySQL.g:394: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_SYMBOL195 = (pANTLR3_COMMON_TOKEN) MATCHT(CONVERT_SYMBOL, &FOLLOW_CONVERT_SYMBOL_in_alter_table_list_entry1145);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulealter_table_list_entryEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

        	        TO_SYMBOL196 = (pANTLR3_COMMON_TOKEN) MATCHT(TO_SYMBOL, &FOLLOW_TO_SYMBOL_in_alter_table_list_entry1147);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulealter_table_list_entryEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

        	        CHAR_SYMBOL197 = (pANTLR3_COMMON_TOKEN) MATCHT(CHAR_SYMBOL, &FOLLOW_CHAR_SYMBOL_in_alter_table_list_entry1149);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulealter_table_list_entryEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

        	        SET_SYMBOL198 = (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_SYMBOL198_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SET_SYMBOL198));
        	        ADAPTOR->addChild(ADAPTOR, root_0, SET_SYMBOL198_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_charset_name_or_default_in_alter_table_list_entry1153);
        	        charset_name_or_default199=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_default199.tree);

        	        // MySQL.g:394:76: ( COLLATE_SYMBOL collation_name_or_default )?
        	        {
        	            int alt61=2;
        	            switch ( LA(1) )
        	            {
        	                case COLLATE_SYMBOL:
        	                	{
        	                		alt61=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt61)
        	            {
        	        	case 1:
        	        	    // MySQL.g:394:77: COLLATE_SYMBOL collation_name_or_default
        	        	    {
        	        	        COLLATE_SYMBOL200 = (pANTLR3_COMMON_TOKEN) MATCHT(COLLATE_SYMBOL, &FOLLOW_COLLATE_SYMBOL_in_alter_table_list_entry1156);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulealter_table_list_entryEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

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

        	        	        FOLLOWPUSH(FOLLOW_collation_name_or_default_in_alter_table_list_entry1158);
        	        	        collation_name_or_default201=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_default201.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

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


        	        FORCE_SYMBOL202 = (pANTLR3_COMMON_TOKEN) MATCHT(FORCE_SYMBOL, &FOLLOW_FORCE_SYMBOL_in_alter_table_list_entry1165);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulealter_table_list_entryEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

        	    }
        	    break;
        	case 17:
        	    // MySQL.g:396: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_entry1174);
        	        alter_algorithm_option203=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_option203.tree);

        	    }
        	    break;
        	case 18:
        	    // MySQL.g:397: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_entry1183);
        	        alter_lock_option204=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_option204.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:400:1: alter_order_by : ORDER_SYMBOL BY_SYMBOL identifier direction ( options {k=3; } : 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_SYMBOL205;
    pANTLR3_COMMON_TOKEN    BY_SYMBOL206;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL209;
    MySQLParser_identifier_return identifier207;
    #undef	RETURN_TYPE_identifier207
    #define	RETURN_TYPE_identifier207 MySQLParser_identifier_return

    MySQLParser_direction_return direction208;
    #undef	RETURN_TYPE_direction208
    #define	RETURN_TYPE_direction208 MySQLParser_direction_return

    MySQLParser_identifier_return identifier210;
    #undef	RETURN_TYPE_identifier210
    #define	RETURN_TYPE_identifier210 MySQLParser_identifier_return

    MySQLParser_direction_return direction211;
    #undef	RETURN_TYPE_direction211
    #define	RETURN_TYPE_direction211 MySQLParser_direction_return

    pANTLR3_BASE_TREE ORDER_SYMBOL205_tree;
    pANTLR3_BASE_TREE BY_SYMBOL206_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL209_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    ORDER_SYMBOL205       = NULL;
    BY_SYMBOL206       = NULL;
    COMMA_SYMBOL209       = NULL;
    identifier207.tree = NULL;

    direction208.tree = NULL;

    identifier210.tree = NULL;

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


    ORDER_SYMBOL205_tree   = NULL;
    BY_SYMBOL206_tree   = NULL;
    COMMA_SYMBOL209_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:400:15: ( ORDER_SYMBOL BY_SYMBOL identifier direction ( options {k=3; } : COMMA_SYMBOL identifier direction )* )
        // MySQL.g:401:2: ORDER_SYMBOL BY_SYMBOL identifier direction ( options {k=3; } : COMMA_SYMBOL identifier direction )*
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            ORDER_SYMBOL205 = (pANTLR3_COMMON_TOKEN) MATCHT(ORDER_SYMBOL, &FOLLOW_ORDER_SYMBOL_in_alter_order_by1192);
            if  (HASEXCEPTION())
            {
                goto rulealter_order_byEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

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

            BY_SYMBOL206 = (pANTLR3_COMMON_TOKEN) MATCHT(BY_SYMBOL, &FOLLOW_BY_SYMBOL_in_alter_order_by1194);
            if  (HASEXCEPTION())
            {
                goto rulealter_order_byEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

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

            FOLLOWPUSH(FOLLOW_identifier_in_alter_order_by1196);
            identifier207=identifier(ctx);

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

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

            FOLLOWPUSH(FOLLOW_direction_in_alter_order_by1198);
            direction208=direction(ctx);

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

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

            // MySQL.g:401:46: ( options {k=3; } : COMMA_SYMBOL identifier direction )*

            for (;;)
            {
                int alt63=2;
                switch ( LA(1) )
                {
                case COMMA_SYMBOL:
                	{
                		{
                		   /* dfaLoopbackState(k,edges,eotPredictsAlt,description,stateNumber,semPredState)
                		    */
                		    int LA63_1 = LA(2);
                		    if ( (LA63_1 == ENGINE_SYMBOL))
                		    {
                		        switch ( LA(3) )
                		        {
                		        case ASC_SYMBOL:
                		        case DESC_SYMBOL:
                		        	{
                		        		alt63=1;
                		        	}
                		            break;

                		        }

                		    }
                		    else if ( (LA63_1 == TYPE_SYMBOL))
                		    {
                		        switch ( LA(3) )
                		        {
                		        case ASC_SYMBOL:
                		        case DESC_SYMBOL:
                		        	{
                		        		alt63=1;
                		        	}
                		            break;

                		        }

                		    }
                		    else if ( (LA63_1 == MAX_ROWS_SYMBOL))
                		    {
                		        switch ( LA(3) )
                		        {
                		        case ASC_SYMBOL:
                		        case DESC_SYMBOL:
                		        	{
                		        		alt63=1;
                		        	}
                		            break;

                		        }

                		    }
                		    else if ( (LA63_1 == MIN_ROWS_SYMBOL))
                		    {
                		        switch ( LA(3) )
                		        {
                		        case ASC_SYMBOL:
                		        case DESC_SYMBOL:
                		        	{
                		        		alt63=1;
                		        	}
                		            break;

                		        }

                		    }
                		    else if ( (LA63_1 == AVG_ROW_LENGTH_SYMBOL))
                		    {
                		        switch ( LA(3) )
                		        {
                		        case ASC_SYMBOL:
                		        case DESC_SYMBOL:
                		        	{
                		        		alt63=1;
                		        	}
                		            break;

                		        }

                		    }
                		    else if ( (LA63_1 == PASSWORD_SYMBOL))
                		    {
                		        switch ( LA(3) )
                		        {
                		        case ASC_SYMBOL:
                		        case DESC_SYMBOL:
                		        	{
                		        		alt63=1;
                		        	}
                		            break;

                		        }

                		    }
                		    else if ( (LA63_1 == COMMENT_SYMBOL))
                		    {
                		        switch ( LA(3) )
                		        {
                		        case ASC_SYMBOL:
                		        case DESC_SYMBOL:
                		        	{
                		        		alt63=1;
                		        	}
                		            break;

                		        }

                		    }
                		    else if ( (LA63_1 == AUTO_INCREMENT_SYMBOL))
                		    {
                		        switch ( LA(3) )
                		        {
                		        case ASC_SYMBOL:
                		        case DESC_SYMBOL:
                		        	{
                		        		alt63=1;
                		        	}
                		            break;

                		        }

                		    }
                		    else if ( (LA63_1 == PACK_KEYS_SYMBOL))
                		    {
                		        switch ( LA(3) )
                		        {
                		        case ASC_SYMBOL:
                		        case DESC_SYMBOL:
                		        	{
                		        		alt63=1;
                		        	}
                		            break;

                		        }

                		    }
                		    else if ( (((LA63_1 >= STATS_AUTO_RECALC_SYMBOL) && (LA63_1 <= STATS_SAMPLE_PAGES_SYMBOL))))
                		    {
                		        switch ( LA(3) )
                		        {
                		        case ASC_SYMBOL:
                		        case DESC_SYMBOL:
                		        	{
                		        		alt63=1;
                		        	}
                		            break;

                		        }

                		    }
                		    else if ( (LA63_1 == TABLE_CHECKSUM_SYMBOL))
                		    {
                		        switch ( LA(3) )
                		        {
                		        case ASC_SYMBOL:
                		        case DESC_SYMBOL:
                		        	{
                		        		alt63=1;
                		        	}
                		            break;

                		        }

                		    }
                		    else if ( (LA63_1 == DELAY_KEY_WRITE_SYMBOL))
                		    {
                		        switch ( LA(3) )
                		        {
                		        case ASC_SYMBOL:
                		        case DESC_SYMBOL:
                		        	{
                		        		alt63=1;
                		        	}
                		            break;

                		        }

                		    }
                		    else if ( (LA63_1 == ROW_FORMAT_SYMBOL))
                		    {
                		        switch ( LA(3) )
                		        {
                		        case ASC_SYMBOL:
                		        case DESC_SYMBOL:
                		        	{
                		        		alt63=1;
                		        	}
                		            break;

                		        }

                		    }
                		    else if ( (LA63_1 == CHARSET_SYMBOL))
                		    {
                		        switch ( LA(3) )
                		        {
                		        case ASC_SYMBOL:
                		        case DESC_SYMBOL:
                		        	{
                		        		alt63=1;
                		        	}
                		            break;

                		        }

                		    }
                		    else if ( (LA63_1 == INSERT_METHOD_SYMBOL))
                		    {
                		        switch ( LA(3) )
                		        {
                		        case ASC_SYMBOL:
                		        case DESC_SYMBOL:
                		        	{
                		        		alt63=1;
                		        	}
                		            break;

                		        }

                		    }
                		    else if ( (LA63_1 == DATA_SYMBOL))
                		    {
                		        switch ( LA(3) )
                		        {
                		        case ASC_SYMBOL:
                		        case DESC_SYMBOL:
                		        	{
                		        		alt63=1;
                		        	}
                		            break;

                		        }

                		    }
                		    else if ( (LA63_1 == TABLESPACE_SYMBOL))
                		    {
                		        switch ( LA(3) )
                		        {
                		        case ASC_SYMBOL:
                		        case DESC_SYMBOL:
                		        	{
                		        		alt63=1;
                		        	}
                		            break;

                		        }

                		    }
                		    else if ( (LA63_1 == STORAGE_SYMBOL))
                		    {
                		        switch ( LA(3) )
                		        {
                		        case ASC_SYMBOL:
                		        case DESC_SYMBOL:
                		        	{
                		        		alt63=1;
                		        	}
                		            break;

                		        }

                		    }
                		    else if ( (LA63_1 == CONNECTION_SYMBOL))
                		    {
                		        switch ( LA(3) )
                		        {
                		        case ASC_SYMBOL:
                		        case DESC_SYMBOL:
                		        	{
                		        		alt63=1;
                		        	}
                		            break;

                		        }

                		    }
                		    else if ( (LA63_1 == KEY_BLOCK_SIZE_SYMBOL))
                		    {
                		        switch ( LA(3) )
                		        {
                		        case ASC_SYMBOL:
                		        case DESC_SYMBOL:
                		        	{
                		        		alt63=1;
                		        	}
                		            break;

                		        }

                		    }
                		    else if ( (LA63_1 == MODIFY_SYMBOL))
                		    {
                		        switch ( LA(3) )
                		        {
                		        case ASC_SYMBOL:
                		        case DESC_SYMBOL:
                		        	{
                		        		alt63=1;
                		        	}
                		            break;

                		        }

                		    }
                		    else if ( (LA63_1 == DISABLE_SYMBOL))
                		    {
                		        switch ( LA(3) )
                		        {
                		        case ASC_SYMBOL:
                		        case DESC_SYMBOL:
                		        	{
                		        		alt63=1;
                		        	}
                		            break;

                		        }

                		    }
                		    else if ( (LA63_1 == ENABLE_SYMBOL))
                		    {
                		        switch ( LA(3) )
                		        {
                		        case ASC_SYMBOL:
                		        case DESC_SYMBOL:
                		        	{
                		        		alt63=1;
                		        	}
                		            break;

                		        }

                		    }
                		    else if ( (LA63_1 == ALGORITHM_SYMBOL))
                		    {
                		        switch ( LA(3) )
                		        {
                		        case ASC_SYMBOL:
                		        case DESC_SYMBOL:
                		        	{
                		        		alt63=1;
                		        	}
                		            break;

                		        }

                		    }
                		    else if ( (((LA63_1 >= ACTION_SYMBOL) && (LA63_1 <= AGGREGATE_SYMBOL)) || ((LA63_1 >= ANALYZE_SYMBOL) && (LA63_1 <= AUTOEXTEND_SIZE_SYMBOL)) || ((LA63_1 >= AVG_SYMBOL) && (LA63_1 <= CONCURRENT_SYMBOL)) || ((LA63_1 >= CONSISTENT_SYMBOL) && (LA63_1 <= DATAFILE_SYMBOL)) || ((LA63_1 >= DATETIME_SYMBOL) && (LA63_1 <= DEFINER_SYMBOL)) || ((LA63_1 >= DES_KEY_FILE_SYMBOL) && (LA63_1 <= DIRECTORY_SYMBOL)) || ((LA63_1 >= DISCARD_SYMBOL) && (LA63_1 <= DYNAMIC_SYMBOL)) || ((LA63_1 >= ENDS_SYMBOL) && (LA63_1 <= ENGINES_SYMBOL)) || ((LA63_1 >= ENUM_SYMBOL) && (LA63_1 <= INNODB_SYMBOL)) || ((LA63_1 >= INVOKER_SYMBOL) && (LA63_1 <= ISSUER_SYMBOL)) || ((LA63_1 >= LAST_SYMBOL) && (LA63_1 <= MAX_QUERIES_PER_HOUR_SYMBOL)) || ((LA63_1 >= MAX_SIZE_SYMBOL) && (LA63_1 <= MINUTE_SYMBOL)) || LA63_1 == MODE_SYMBOL || ((LA63_1 >= MONTH_SYMBOL) && (LA63_1 <= ONE_SYMBOL)) || ((LA63_1 >= PAGE_SYMBOL) && (LA63_1 <= PARTITIONS_SYMBOL)) || ((LA63_1 >= PHASE_SYMBOL) && (LA63_1 <= ROW_COUNT_SYMBOL)) || ((LA63_1 >= ROW_SYMBOL) && (LA63_1 <= STARTS_SYMBOL)) || LA63_1 == STATUS_SYMBOL || ((LA63_1 >= STRING_SYMBOL) && (LA63_1 <= SWITCHES_SYMBOL)) || LA63_1 == TABLES_SYMBOL || ((LA63_1 >= TABLE_NAME_SYMBOL) && (LA63_1 <= TYPES_SYMBOL)) || ((LA63_1 >= UDF_RETURNS_SYMBOL) && (LA63_1 <= CACHE_SYMBOL)) || LA63_1 == CLOSE_SYMBOL || ((LA63_1 >= COMMIT_SYMBOL) && (LA63_1 <= PARTITION_SYMBOL)) || LA63_1 == BACK_TICK_QUOTED_ID || LA63_1 == DOUBLE_QUOTED_TEXT || LA63_1 == IDENTIFIER))
                		    {
                		        alt63=1;
                		    }
                		    else if ( (LA63_1 == CHECKSUM_SYMBOL))
                		    {
                		        switch ( LA(3) )
                		        {
                		        case ASC_SYMBOL:
                		        case DESC_SYMBOL:
                		        	{
                		        		alt63=1;
                		        	}
                		            break;

                		        }

                		    }

                		}
                	}
                    break;

                }

                switch (alt63)
                {
            	case 1:
            	    // MySQL.g:401:67: COMMA_SYMBOL identifier direction
            	    {
            	        COMMA_SYMBOL209 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_alter_order_by1213);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulealter_order_byEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

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

            	        FOLLOWPUSH(FOLLOW_identifier_in_alter_order_by1215);
            	        identifier210=identifier(ctx);

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

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

            	        FOLLOWPUSH(FOLLOW_direction_in_alter_order_by1217);
            	        direction211=direction(ctx);

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

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

            	    }
            	    break;

            	default:
            	    goto loop63;	/* break out of the loop */
            	    break;
                }
            }
            loop63: ; /* 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:404: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_SYMBOL212;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR213;
    pANTLR3_COMMON_TOKEN    DEFAULT_SYMBOL214;
    MySQLParser_identifier_return identifier215;
    #undef	RETURN_TYPE_identifier215
    #define	RETURN_TYPE_identifier215 MySQLParser_identifier_return

    pANTLR3_BASE_TREE ALGORITHM_SYMBOL212_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR213_tree;
    pANTLR3_BASE_TREE DEFAULT_SYMBOL214_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    ALGORITHM_SYMBOL212       = NULL;
    EQUAL_OPERATOR213       = NULL;
    DEFAULT_SYMBOL214       = NULL;
    identifier215.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    ALGORITHM_SYMBOL212_tree   = NULL;
    EQUAL_OPERATOR213_tree   = NULL;
    DEFAULT_SYMBOL214_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:404:23: ( ALGORITHM_SYMBOL ( EQUAL_OPERATOR )? ( DEFAULT_SYMBOL | identifier ) )
        // MySQL.g:405:2: ALGORITHM_SYMBOL ( EQUAL_OPERATOR )? ( DEFAULT_SYMBOL | identifier )
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            ALGORITHM_SYMBOL212 = (pANTLR3_COMMON_TOKEN) MATCHT(ALGORITHM_SYMBOL, &FOLLOW_ALGORITHM_SYMBOL_in_alter_algorithm_option1228);
            if  (HASEXCEPTION())
            {
                goto rulealter_algorithm_optionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

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

            // MySQL.g:405:19: ( EQUAL_OPERATOR )?
            {
                int alt64=2;
                switch ( LA(1) )
                {
                    case EQUAL_OPERATOR:
                    	{
                    		alt64=1;
                    	}
                        break;
                }

                switch (alt64)
                {
            	case 1:
            	    // MySQL.g:405:19: EQUAL_OPERATOR
            	    {
            	        EQUAL_OPERATOR213 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_alter_algorithm_option1230);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulealter_algorithm_optionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

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

            	    }
            	    break;

                }
            }

            // MySQL.g:405:35: ( DEFAULT_SYMBOL | identifier )
            {
                int alt65=2;
                {
                    int LA65_0 = LA(1);
                    if ( (LA65_0 == DEFAULT_SYMBOL))
                    {
                        alt65=1;
                    }
                    else if ( (LA65_0 == BACK_TICK_QUOTED_ID || LA65_0 == IDENTIFIER))
                    {
                        alt65=2;
                    }
                    else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA65_0 == DOUBLE_QUOTED_TEXT))
                    {
                        alt65=2;
                    }
                    else if ( (((LA65_0 >= ACTION_SYMBOL) && (LA65_0 <= PARTITION_SYMBOL))))
                    {
                        alt65=2;
                    }
                    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_algorithm_optionEx;

                    }
                }
                switch (alt65)
                {
            	case 1:
            	    // MySQL.g:405:37: DEFAULT_SYMBOL
            	    {
            	        DEFAULT_SYMBOL214 = (pANTLR3_COMMON_TOKEN) MATCHT(DEFAULT_SYMBOL, &FOLLOW_DEFAULT_SYMBOL_in_alter_algorithm_option1235);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulealter_algorithm_optionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

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

            	    }
            	    break;
            	case 2:
            	    // MySQL.g:405:54: identifier
            	    {
            	        FOLLOWPUSH(FOLLOW_identifier_in_alter_algorithm_option1239);
            	        identifier215=identifier(ctx);

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

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier215.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:408: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_SYMBOL216;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR217;
    pANTLR3_COMMON_TOKEN    DEFAULT_SYMBOL218;
    MySQLParser_identifier_return identifier219;
    #undef	RETURN_TYPE_identifier219
    #define	RETURN_TYPE_identifier219 MySQLParser_identifier_return

    pANTLR3_BASE_TREE LOCK_SYMBOL216_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR217_tree;
    pANTLR3_BASE_TREE DEFAULT_SYMBOL218_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    LOCK_SYMBOL216       = NULL;
    EQUAL_OPERATOR217       = NULL;
    DEFAULT_SYMBOL218       = NULL;
    identifier219.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    LOCK_SYMBOL216_tree   = NULL;
    EQUAL_OPERATOR217_tree   = NULL;
    DEFAULT_SYMBOL218_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:408:18: ( LOCK_SYMBOL ( EQUAL_OPERATOR )? ( DEFAULT_SYMBOL | identifier ) )
        // MySQL.g:409:2: LOCK_SYMBOL ( EQUAL_OPERATOR )? ( DEFAULT_SYMBOL | identifier )
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            LOCK_SYMBOL216 = (pANTLR3_COMMON_TOKEN) MATCHT(LOCK_SYMBOL, &FOLLOW_LOCK_SYMBOL_in_alter_lock_option1250);
            if  (HASEXCEPTION())
            {
                goto rulealter_lock_optionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

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

            // MySQL.g:409:14: ( EQUAL_OPERATOR )?
            {
                int alt66=2;
                switch ( LA(1) )
                {
                    case EQUAL_OPERATOR:
                    	{
                    		alt66=1;
                    	}
                        break;
                }

                switch (alt66)
                {
            	case 1:
            	    // MySQL.g:409:14: EQUAL_OPERATOR
            	    {
            	        EQUAL_OPERATOR217 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_alter_lock_option1252);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulealter_lock_optionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

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

            	    }
            	    break;

                }
            }

            // MySQL.g:409:30: ( DEFAULT_SYMBOL | identifier )
            {
                int alt67=2;
                {
                    int LA67_0 = LA(1);
                    if ( (LA67_0 == DEFAULT_SYMBOL))
                    {
                        alt67=1;
                    }
                    else if ( (LA67_0 == BACK_TICK_QUOTED_ID || LA67_0 == IDENTIFIER))
                    {
                        alt67=2;
                    }
                    else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA67_0 == DOUBLE_QUOTED_TEXT))
                    {
                        alt67=2;
                    }
                    else if ( (((LA67_0 >= ACTION_SYMBOL) && (LA67_0 <= PARTITION_SYMBOL))))
                    {
                        alt67=2;
                    }
                    else
                    {
                        if (BACKTRACKING>0)
                        {
                            FAILEDFLAG = ANTLR3_TRUE;
                            return retval;
                        }


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


                        goto rulealter_lock_optionEx;

                    }
                }
                switch (alt67)
                {
            	case 1:
            	    // MySQL.g:409:31: DEFAULT_SYMBOL
            	    {
            	        DEFAULT_SYMBOL218 = (pANTLR3_COMMON_TOKEN) MATCHT(DEFAULT_SYMBOL, &FOLLOW_DEFAULT_SYMBOL_in_alter_lock_option1256);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulealter_lock_optionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

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

            	    }
            	    break;
            	case 2:
            	    // MySQL.g:409:48: identifier
            	    {
            	        FOLLOWPUSH(FOLLOW_identifier_in_alter_lock_option1260);
            	        identifier219=identifier(ctx);

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

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier219.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:412: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_option220;
    #undef	RETURN_TYPE_alter_algorithm_option220
    #define	RETURN_TYPE_alter_algorithm_option220 MySQLParser_alter_algorithm_option_return

    MySQLParser_alter_lock_option_return alter_lock_option221;
    #undef	RETURN_TYPE_alter_lock_option221
    #define	RETURN_TYPE_alter_lock_option221 MySQLParser_alter_lock_option_return

    MySQLParser_alter_lock_option_return alter_lock_option222;
    #undef	RETURN_TYPE_alter_lock_option222
    #define	RETURN_TYPE_alter_lock_option222 MySQLParser_alter_lock_option_return

    MySQLParser_alter_algorithm_option_return alter_algorithm_option223;
    #undef	RETURN_TYPE_alter_algorithm_option223
    #define	RETURN_TYPE_alter_algorithm_option223 MySQLParser_alter_algorithm_option_return


    /* Initialize rule variables
     */

    root_0 = NULL;

    alter_algorithm_option220.tree = NULL;

    alter_lock_option221.tree = NULL;

    alter_lock_option222.tree = NULL;

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




    retval.tree  = NULL;

    {
        // MySQL.g:412:21: ({...}? => ( alter_algorithm_option ( alter_lock_option )? | alter_lock_option ( alter_algorithm_option )? ) )
        // MySQL.g:413: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:414:3: ( alter_algorithm_option ( alter_lock_option )? | alter_lock_option ( alter_algorithm_option )? )
            {
                int alt70=2;
                switch ( LA(1) )
                {
                case ALGORITHM_SYMBOL:
                	{
                		alt70=1;
                	}
                    break;
                case LOCK_SYMBOL:
                	{
                		alt70=2;
                	}
                    break;

                default:
                    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 ruleindex_lock_algorithmEx;

                }

                switch (alt70)
                {
            	case 1:
            	    // MySQL.g:415:4: alter_algorithm_option ( alter_lock_option )?
            	    {
            	        FOLLOWPUSH(FOLLOW_alter_algorithm_option_in_index_lock_algorithm1282);
            	        alter_algorithm_option220=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_option220.tree);

            	        // MySQL.g:415:27: ( alter_lock_option )?
            	        {
            	            int alt68=2;
            	            switch ( LA(1) )
            	            {
            	                case LOCK_SYMBOL:
            	                	{
            	                		alt68=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt68)
            	            {
            	        	case 1:
            	        	    // MySQL.g:415:27: alter_lock_option
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_alter_lock_option_in_index_lock_algorithm1284);
            	        	        alter_lock_option221=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_option221.tree);

            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;
            	case 2:
            	    // MySQL.g:416:6: alter_lock_option ( alter_algorithm_option )?
            	    {
            	        FOLLOWPUSH(FOLLOW_alter_lock_option_in_index_lock_algorithm1292);
            	        alter_lock_option222=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_option222.tree);

            	        // MySQL.g:416:24: ( alter_algorithm_option )?
            	        {
            	            int alt69=2;
            	            switch ( LA(1) )
            	            {
            	                case ALGORITHM_SYMBOL:
            	                	{
            	                		alt69=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt69)
            	            {
            	        	case 1:
            	        	    // MySQL.g:416:24: alter_algorithm_option
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_alter_algorithm_option_in_index_lock_algorithm1294);
            	        	        alter_algorithm_option223=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_option223.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:420: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_identifier | REORGANIZE_SYMBOL PARTITION_SYMBOL ( no_write_to_bin_log )? ( identifier_list INTO_SYMBOL partition_definitions )? );
 */
static MySQLParser_alter_partition_return
alter_partition(pMySQLParser ctx)
{
    MySQLParser_alter_partition_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    ADD_SYMBOL224;
    pANTLR3_COMMON_TOKEN    PARTITION_SYMBOL225;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL227;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL229;
    pANTLR3_COMMON_TOKEN    PARTITIONS_SYMBOL230;
    pANTLR3_COMMON_TOKEN    INTEGER231;
    pANTLR3_COMMON_TOKEN    DROP_SYMBOL232;
    pANTLR3_COMMON_TOKEN    PARTITION_SYMBOL233;
    pANTLR3_COMMON_TOKEN    REBUILD_SYMBOL235;
    pANTLR3_COMMON_TOKEN    PARTITION_SYMBOL236;
    pANTLR3_COMMON_TOKEN    OPTIMIZE_SYMBOL239;
    pANTLR3_COMMON_TOKEN    PARTITION_SYMBOL240;
    pANTLR3_COMMON_TOKEN    ANALYZE_SYMBOL244;
    pANTLR3_COMMON_TOKEN    PARTITION_SYMBOL245;
    pANTLR3_COMMON_TOKEN    CHECK_SYMBOL248;
    pANTLR3_COMMON_TOKEN    PARTITION_SYMBOL249;
    pANTLR3_COMMON_TOKEN    REPAIR_SYMBOL252;
    pANTLR3_COMMON_TOKEN    PARTITION_SYMBOL253;
    pANTLR3_COMMON_TOKEN    COALESCE_SYMBOL257;
    pANTLR3_COMMON_TOKEN    PARTITION_SYMBOL258;
    pANTLR3_COMMON_TOKEN    INTEGER260;
    pANTLR3_COMMON_TOKEN    TRUNCATE_SYMBOL261;
    pANTLR3_COMMON_TOKEN    PARTITION_SYMBOL262;
    pANTLR3_COMMON_TOKEN    EXCHANGE_SYMBOL264;
    pANTLR3_COMMON_TOKEN    PARTITION_SYMBOL265;
    pANTLR3_COMMON_TOKEN    WITH_SYMBOL267;
    pANTLR3_COMMON_TOKEN    TABLE_SYMBOL268;
    pANTLR3_COMMON_TOKEN    REORGANIZE_SYMBOL270;
    pANTLR3_COMMON_TOKEN    PARTITION_SYMBOL271;
    pANTLR3_COMMON_TOKEN    INTO_SYMBOL274;
    MySQLParser_no_write_to_bin_log_return no_write_to_bin_log226;
    #undef	RETURN_TYPE_no_write_to_bin_log226
    #define	RETURN_TYPE_no_write_to_bin_log226 MySQLParser_no_write_to_bin_log_return

    MySQLParser_partition_definition_return partition_definition228;
    #undef	RETURN_TYPE_partition_definition228
    #define	RETURN_TYPE_partition_definition228 MySQLParser_partition_definition_return

    MySQLParser_identifier_list_return identifier_list234;
    #undef	RETURN_TYPE_identifier_list234
    #define	RETURN_TYPE_identifier_list234 MySQLParser_identifier_list_return

    MySQLParser_no_write_to_bin_log_return no_write_to_bin_log237;
    #undef	RETURN_TYPE_no_write_to_bin_log237
    #define	RETURN_TYPE_no_write_to_bin_log237 MySQLParser_no_write_to_bin_log_return

    MySQLParser_all_or_partition_name_list_return all_or_partition_name_list238;
    #undef	RETURN_TYPE_all_or_partition_name_list238
    #define	RETURN_TYPE_all_or_partition_name_list238 MySQLParser_all_or_partition_name_list_return

    MySQLParser_no_write_to_bin_log_return no_write_to_bin_log241;
    #undef	RETURN_TYPE_no_write_to_bin_log241
    #define	RETURN_TYPE_no_write_to_bin_log241 MySQLParser_no_write_to_bin_log_return

    MySQLParser_all_or_partition_name_list_return all_or_partition_name_list242;
    #undef	RETURN_TYPE_all_or_partition_name_list242
    #define	RETURN_TYPE_all_or_partition_name_list242 MySQLParser_all_or_partition_name_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_no_write_to_bin_log_return no_write_to_bin_log246;
    #undef	RETURN_TYPE_no_write_to_bin_log246
    #define	RETURN_TYPE_no_write_to_bin_log246 MySQLParser_no_write_to_bin_log_return

    MySQLParser_all_or_partition_name_list_return all_or_partition_name_list247;
    #undef	RETURN_TYPE_all_or_partition_name_list247
    #define	RETURN_TYPE_all_or_partition_name_list247 MySQLParser_all_or_partition_name_list_return

    MySQLParser_all_or_partition_name_list_return all_or_partition_name_list250;
    #undef	RETURN_TYPE_all_or_partition_name_list250
    #define	RETURN_TYPE_all_or_partition_name_list250 MySQLParser_all_or_partition_name_list_return

    MySQLParser_check_option_return check_option251;
    #undef	RETURN_TYPE_check_option251
    #define	RETURN_TYPE_check_option251 MySQLParser_check_option_return

    MySQLParser_no_write_to_bin_log_return no_write_to_bin_log254;
    #undef	RETURN_TYPE_no_write_to_bin_log254
    #define	RETURN_TYPE_no_write_to_bin_log254 MySQLParser_no_write_to_bin_log_return

    MySQLParser_all_or_partition_name_list_return all_or_partition_name_list255;
    #undef	RETURN_TYPE_all_or_partition_name_list255
    #define	RETURN_TYPE_all_or_partition_name_list255 MySQLParser_all_or_partition_name_list_return

    MySQLParser_repair_option_return repair_option256;
    #undef	RETURN_TYPE_repair_option256
    #define	RETURN_TYPE_repair_option256 MySQLParser_repair_option_return

    MySQLParser_no_write_to_bin_log_return no_write_to_bin_log259;
    #undef	RETURN_TYPE_no_write_to_bin_log259
    #define	RETURN_TYPE_no_write_to_bin_log259 MySQLParser_no_write_to_bin_log_return

    MySQLParser_all_or_partition_name_list_return all_or_partition_name_list263;
    #undef	RETURN_TYPE_all_or_partition_name_list263
    #define	RETURN_TYPE_all_or_partition_name_list263 MySQLParser_all_or_partition_name_list_return

    MySQLParser_identifier_return identifier266;
    #undef	RETURN_TYPE_identifier266
    #define	RETURN_TYPE_identifier266 MySQLParser_identifier_return

    MySQLParser_table_identifier_return table_identifier269;
    #undef	RETURN_TYPE_table_identifier269
    #define	RETURN_TYPE_table_identifier269 MySQLParser_table_identifier_return

    MySQLParser_no_write_to_bin_log_return no_write_to_bin_log272;
    #undef	RETURN_TYPE_no_write_to_bin_log272
    #define	RETURN_TYPE_no_write_to_bin_log272 MySQLParser_no_write_to_bin_log_return

    MySQLParser_identifier_list_return identifier_list273;
    #undef	RETURN_TYPE_identifier_list273
    #define	RETURN_TYPE_identifier_list273 MySQLParser_identifier_list_return

    MySQLParser_partition_definitions_return partition_definitions275;
    #undef	RETURN_TYPE_partition_definitions275
    #define	RETURN_TYPE_partition_definitions275 MySQLParser_partition_definitions_return

    pANTLR3_BASE_TREE ADD_SYMBOL224_tree;
    pANTLR3_BASE_TREE PARTITION_SYMBOL225_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL227_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL229_tree;
    pANTLR3_BASE_TREE PARTITIONS_SYMBOL230_tree;
    pANTLR3_BASE_TREE INTEGER231_tree;
    pANTLR3_BASE_TREE DROP_SYMBOL232_tree;
    pANTLR3_BASE_TREE PARTITION_SYMBOL233_tree;
    pANTLR3_BASE_TREE REBUILD_SYMBOL235_tree;
    pANTLR3_BASE_TREE PARTITION_SYMBOL236_tree;
    pANTLR3_BASE_TREE OPTIMIZE_SYMBOL239_tree;
    pANTLR3_BASE_TREE PARTITION_SYMBOL240_tree;
    pANTLR3_BASE_TREE ANALYZE_SYMBOL244_tree;
    pANTLR3_BASE_TREE PARTITION_SYMBOL245_tree;
    pANTLR3_BASE_TREE CHECK_SYMBOL248_tree;
    pANTLR3_BASE_TREE PARTITION_SYMBOL249_tree;
    pANTLR3_BASE_TREE REPAIR_SYMBOL252_tree;
    pANTLR3_BASE_TREE PARTITION_SYMBOL253_tree;
    pANTLR3_BASE_TREE COALESCE_SYMBOL257_tree;
    pANTLR3_BASE_TREE PARTITION_SYMBOL258_tree;
    pANTLR3_BASE_TREE INTEGER260_tree;
    pANTLR3_BASE_TREE TRUNCATE_SYMBOL261_tree;
    pANTLR3_BASE_TREE PARTITION_SYMBOL262_tree;
    pANTLR3_BASE_TREE EXCHANGE_SYMBOL264_tree;
    pANTLR3_BASE_TREE PARTITION_SYMBOL265_tree;
    pANTLR3_BASE_TREE WITH_SYMBOL267_tree;
    pANTLR3_BASE_TREE TABLE_SYMBOL268_tree;
    pANTLR3_BASE_TREE REORGANIZE_SYMBOL270_tree;
    pANTLR3_BASE_TREE PARTITION_SYMBOL271_tree;
    pANTLR3_BASE_TREE INTO_SYMBOL274_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    ADD_SYMBOL224       = NULL;
    PARTITION_SYMBOL225       = NULL;
    OPEN_PAR_SYMBOL227       = NULL;
    CLOSE_PAR_SYMBOL229       = NULL;
    PARTITIONS_SYMBOL230       = NULL;
    INTEGER231       = NULL;
    DROP_SYMBOL232       = NULL;
    PARTITION_SYMBOL233       = NULL;
    REBUILD_SYMBOL235       = NULL;
    PARTITION_SYMBOL236       = NULL;
    OPTIMIZE_SYMBOL239       = NULL;
    PARTITION_SYMBOL240       = NULL;
    ANALYZE_SYMBOL244       = NULL;
    PARTITION_SYMBOL245       = NULL;
    CHECK_SYMBOL248       = NULL;
    PARTITION_SYMBOL249       = NULL;
    REPAIR_SYMBOL252       = NULL;
    PARTITION_SYMBOL253       = NULL;
    COALESCE_SYMBOL257       = NULL;
    PARTITION_SYMBOL258       = NULL;
    INTEGER260       = NULL;
    TRUNCATE_SYMBOL261       = NULL;
    PARTITION_SYMBOL262       = NULL;
    EXCHANGE_SYMBOL264       = NULL;
    PARTITION_SYMBOL265       = NULL;
    WITH_SYMBOL267       = NULL;
    TABLE_SYMBOL268       = NULL;
    REORGANIZE_SYMBOL270       = NULL;
    PARTITION_SYMBOL271       = NULL;
    INTO_SYMBOL274       = NULL;
    no_write_to_bin_log226.tree = NULL;

    partition_definition228.tree = NULL;

    identifier_list234.tree = NULL;

    no_write_to_bin_log237.tree = NULL;

    all_or_partition_name_list238.tree = NULL;

    no_write_to_bin_log241.tree = NULL;

    all_or_partition_name_list242.tree = NULL;

    no_write_to_bin_log243.tree = NULL;

    no_write_to_bin_log246.tree = NULL;

    all_or_partition_name_list247.tree = NULL;

    all_or_partition_name_list250.tree = NULL;

    check_option251.tree = NULL;

    no_write_to_bin_log254.tree = NULL;

    all_or_partition_name_list255.tree = NULL;

    repair_option256.tree = NULL;

    no_write_to_bin_log259.tree = NULL;

    all_or_partition_name_list263.tree = NULL;

    identifier266.tree = NULL;

    table_identifier269.tree = NULL;

    no_write_to_bin_log272.tree = NULL;

    identifier_list273.tree = NULL;

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


    ADD_SYMBOL224_tree   = NULL;
    PARTITION_SYMBOL225_tree   = NULL;
    OPEN_PAR_SYMBOL227_tree   = NULL;
    CLOSE_PAR_SYMBOL229_tree   = NULL;
    PARTITIONS_SYMBOL230_tree   = NULL;
    INTEGER231_tree   = NULL;
    DROP_SYMBOL232_tree   = NULL;
    PARTITION_SYMBOL233_tree   = NULL;
    REBUILD_SYMBOL235_tree   = NULL;
    PARTITION_SYMBOL236_tree   = NULL;
    OPTIMIZE_SYMBOL239_tree   = NULL;
    PARTITION_SYMBOL240_tree   = NULL;
    ANALYZE_SYMBOL244_tree   = NULL;
    PARTITION_SYMBOL245_tree   = NULL;
    CHECK_SYMBOL248_tree   = NULL;
    PARTITION_SYMBOL249_tree   = NULL;
    REPAIR_SYMBOL252_tree   = NULL;
    PARTITION_SYMBOL253_tree   = NULL;
    COALESCE_SYMBOL257_tree   = NULL;
    PARTITION_SYMBOL258_tree   = NULL;
    INTEGER260_tree   = NULL;
    TRUNCATE_SYMBOL261_tree   = NULL;
    PARTITION_SYMBOL262_tree   = NULL;
    EXCHANGE_SYMBOL264_tree   = NULL;
    PARTITION_SYMBOL265_tree   = NULL;
    WITH_SYMBOL267_tree   = NULL;
    TABLE_SYMBOL268_tree   = NULL;
    REORGANIZE_SYMBOL270_tree   = NULL;
    PARTITION_SYMBOL271_tree   = NULL;
    INTO_SYMBOL274_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:420: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_identifier | REORGANIZE_SYMBOL PARTITION_SYMBOL ( no_write_to_bin_log )? ( identifier_list INTO_SYMBOL partition_definitions )? )

            ANTLR3_UINT32 alt83;

            alt83=11;

            {
                int LA83_0 = LA(1);
                if ( ((LA(1) == ADD_SYMBOL && LA(2) == PARTITION_SYMBOL)) && (LA83_0 == ADD_SYMBOL))
                {
                    alt83=1;
                }
                else if ( (LA83_0 == DROP_SYMBOL))
                {
                    alt83=2;
                }
                else if ( (LA83_0 == REBUILD_SYMBOL))
                {
                    alt83=3;
                }
                else if ( (LA83_0 == OPTIMIZE_SYMBOL))
                {
                    alt83=4;
                }
                else if ( (LA83_0 == ANALYZE_SYMBOL))
                {
                    alt83=5;
                }
                else if ( (LA83_0 == CHECK_SYMBOL))
                {
                    alt83=6;
                }
                else if ( (LA83_0 == REPAIR_SYMBOL))
                {
                    alt83=7;
                }
                else if ( (LA83_0 == COALESCE_SYMBOL))
                {
                    alt83=8;
                }
                else if ( ((SERVER_VERSION >= 50500)) && (LA83_0 == TRUNCATE_SYMBOL))
                {
                    alt83=9;
                }
                else if ( (LA83_0 == EXCHANGE_SYMBOL))
                {
                    alt83=10;
                }
                else if ( (LA83_0 == REORGANIZE_SYMBOL))
                {
                    alt83=11;
                }
                else
                {
                    if (BACKTRACKING>0)
                    {
                        FAILEDFLAG = ANTLR3_TRUE;
                        return retval;
                    }


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


                    goto rulealter_partitionEx;

                }
            }
            switch (alt83)
            {
        	case 1:
        	    // MySQL.g:421: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_SYMBOL224 = (pANTLR3_COMMON_TOKEN) MATCHT(ADD_SYMBOL, &FOLLOW_ADD_SYMBOL_in_alter_partition1312);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulealter_partitionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

        	        PARTITION_SYMBOL225 = (pANTLR3_COMMON_TOKEN) MATCHT(PARTITION_SYMBOL, &FOLLOW_PARTITION_SYMBOL_in_alter_partition1314);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulealter_partitionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

        	        // MySQL.g:421:85: ( no_write_to_bin_log )?
        	        {
        	            int alt71=2;
        	            {
        	                int LA71_0 = LA(1);
        	                if ( ((LA(1) == LOCAL_SYMBOL)) && (LA71_0 == LOCAL_SYMBOL))
        	                {
        	                    alt71=1;
        	                }
        	                else if ( (LA71_0 == NO_WRITE_TO_BINLOG_SYMBOL))
        	                {
        	                    alt71=1;
        	                }
        	            }
        	            switch (alt71)
        	            {
        	        	case 1:
        	        	    // MySQL.g:421:85: no_write_to_bin_log
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_no_write_to_bin_log_in_alter_partition1316);
        	        	        no_write_to_bin_log226=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_log226.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	        // MySQL.g:422:3: ( OPEN_PAR_SYMBOL partition_definition CLOSE_PAR_SYMBOL | PARTITIONS_SYMBOL INTEGER )
        	        {
        	            int alt72=2;
        	            switch ( LA(1) )
        	            {
        	            case OPEN_PAR_SYMBOL:
        	            	{
        	            		alt72=1;
        	            	}
        	                break;
        	            case PARTITIONS_SYMBOL:
        	            	{
        	            		alt72=2;
        	            	}
        	                break;

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

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


        	                goto rulealter_partitionEx;

        	            }

        	            switch (alt72)
        	            {
        	        	case 1:
        	        	    // MySQL.g:423:4: OPEN_PAR_SYMBOL partition_definition CLOSE_PAR_SYMBOL
        	        	    {
        	        	        OPEN_PAR_SYMBOL227 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_alter_partition1326);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulealter_partitionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

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

        	        	        FOLLOWPUSH(FOLLOW_partition_definition_in_alter_partition1328);
        	        	        partition_definition228=partition_definition(ctx);

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

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

        	        	        CLOSE_PAR_SYMBOL229 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_alter_partition1330);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulealter_partitionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

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

        	        	    }
        	        	    break;
        	        	case 2:
        	        	    // MySQL.g:424:6: PARTITIONS_SYMBOL INTEGER
        	        	    {
        	        	        PARTITIONS_SYMBOL230 = (pANTLR3_COMMON_TOKEN) MATCHT(PARTITIONS_SYMBOL, &FOLLOW_PARTITIONS_SYMBOL_in_alter_partition1337);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulealter_partitionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

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

        	        	        INTEGER231 = (pANTLR3_COMMON_TOKEN) MATCHT(INTEGER, &FOLLOW_INTEGER_in_alter_partition1339);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulealter_partitionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

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

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:426:4: DROP_SYMBOL PARTITION_SYMBOL identifier_list
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        DROP_SYMBOL232 = (pANTLR3_COMMON_TOKEN) MATCHT(DROP_SYMBOL, &FOLLOW_DROP_SYMBOL_in_alter_partition1348);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulealter_partitionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

        	        PARTITION_SYMBOL233 = (pANTLR3_COMMON_TOKEN) MATCHT(PARTITION_SYMBOL, &FOLLOW_PARTITION_SYMBOL_in_alter_partition1350);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulealter_partitionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

        	        FOLLOWPUSH(FOLLOW_identifier_list_in_alter_partition1352);
        	        identifier_list234=identifier_list(ctx);

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

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

        	    }
        	    break;
        	case 3:
        	    // MySQL.g:427:4: REBUILD_SYMBOL PARTITION_SYMBOL ( no_write_to_bin_log )? all_or_partition_name_list
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        REBUILD_SYMBOL235 = (pANTLR3_COMMON_TOKEN) MATCHT(REBUILD_SYMBOL, &FOLLOW_REBUILD_SYMBOL_in_alter_partition1357);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulealter_partitionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

        	        PARTITION_SYMBOL236 = (pANTLR3_COMMON_TOKEN) MATCHT(PARTITION_SYMBOL, &FOLLOW_PARTITION_SYMBOL_in_alter_partition1359);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulealter_partitionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

        	        // MySQL.g:427:36: ( no_write_to_bin_log )?
        	        {
        	            int alt73=2;
        	            switch ( LA(1) )
        	            {
        	                case LOCAL_SYMBOL:
        	                	{
        	                		{
        	                		    int LA73_1 = LA(2);
        	                		    if ( ((LA(1) == LOCAL_SYMBOL)) && (((LA73_1 >= ACTION_SYMBOL) && (LA73_1 <= PARTITION_SYMBOL)) || LA73_1 == ALL_SYMBOL || LA73_1 == BACK_TICK_QUOTED_ID || LA73_1 == DOUBLE_QUOTED_TEXT || LA73_1 == IDENTIFIER))
        	                		    {
        	                		        alt73=1;
        	                		    }
        	                		}
        	                	}
        	                    break;
        	                case NO_WRITE_TO_BINLOG_SYMBOL:
        	                	{
        	                		alt73=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt73)
        	            {
        	        	case 1:
        	        	    // MySQL.g:427:36: no_write_to_bin_log
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_no_write_to_bin_log_in_alter_partition1361);
        	        	        no_write_to_bin_log237=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_log237.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	        FOLLOWPUSH(FOLLOW_all_or_partition_name_list_in_alter_partition1364);
        	        all_or_partition_name_list238=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_list238.tree);

        	    }
        	    break;
        	case 4:
        	    // MySQL.g:428: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_SYMBOL239 = (pANTLR3_COMMON_TOKEN) MATCHT(OPTIMIZE_SYMBOL, &FOLLOW_OPTIMIZE_SYMBOL_in_alter_partition1369);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulealter_partitionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

        	        PARTITION_SYMBOL240 = (pANTLR3_COMMON_TOKEN) MATCHT(PARTITION_SYMBOL, &FOLLOW_PARTITION_SYMBOL_in_alter_partition1371);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulealter_partitionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

        	        // MySQL.g:428:37: ( no_write_to_bin_log )?
        	        {
        	            int alt74=2;
        	            switch ( LA(1) )
        	            {
        	                case LOCAL_SYMBOL:
        	                	{
        	                		{
        	                		    int LA74_1 = LA(2);
        	                		    if ( ((LA(1) == LOCAL_SYMBOL)) && (((LA74_1 >= ACTION_SYMBOL) && (LA74_1 <= LIST_SYMBOL)) || ((LA74_1 >= LOCKS_SYMBOL) && (LA74_1 <= PARTITION_SYMBOL)) || LA74_1 == ALL_SYMBOL || LA74_1 == BACK_TICK_QUOTED_ID || LA74_1 == DOUBLE_QUOTED_TEXT || LA74_1 == IDENTIFIER))
        	                		    {
        	                		        alt74=1;
        	                		    }
        	                		    else if ( (LA74_1 == LOCAL_SYMBOL))
        	                		    {
        	                		        {
        	                		            int LA74_14 = LA(3);
        	                		            if ( ((LA(1) == LOCAL_SYMBOL)))
        	                		            {
        	                		                alt74=1;
        	                		            }
        	                		        }
        	                		    }
        	                		}
        	                	}
        	                    break;
        	                case NO_WRITE_TO_BINLOG_SYMBOL:
        	                	{
        	                		alt74=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt74)
        	            {
        	        	case 1:
        	        	    // MySQL.g:428:37: no_write_to_bin_log
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_no_write_to_bin_log_in_alter_partition1373);
        	        	        no_write_to_bin_log241=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_log241.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	        FOLLOWPUSH(FOLLOW_all_or_partition_name_list_in_alter_partition1376);
        	        all_or_partition_name_list242=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_list242.tree);

        	        // MySQL.g:428:85: ( no_write_to_bin_log )?
        	        {
        	            int alt75=2;
        	            {
        	                int LA75_0 = LA(1);
        	                if ( ((LA(1) == LOCAL_SYMBOL)) && (LA75_0 == LOCAL_SYMBOL))
        	                {
        	                    alt75=1;
        	                }
        	                else if ( (LA75_0 == NO_WRITE_TO_BINLOG_SYMBOL))
        	                {
        	                    alt75=1;
        	                }
        	            }
        	            switch (alt75)
        	            {
        	        	case 1:
        	        	    // MySQL.g:428:85: no_write_to_bin_log
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_no_write_to_bin_log_in_alter_partition1378);
        	        	        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;

        	            }
        	        }

        	    }
        	    break;
        	case 5:
        	    // MySQL.g:429:4: ANALYZE_SYMBOL PARTITION_SYMBOL ( no_write_to_bin_log )? all_or_partition_name_list
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        ANALYZE_SYMBOL244 = (pANTLR3_COMMON_TOKEN) MATCHT(ANALYZE_SYMBOL, &FOLLOW_ANALYZE_SYMBOL_in_alter_partition1385);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulealter_partitionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

        	        PARTITION_SYMBOL245 = (pANTLR3_COMMON_TOKEN) MATCHT(PARTITION_SYMBOL, &FOLLOW_PARTITION_SYMBOL_in_alter_partition1387);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulealter_partitionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

        	        // MySQL.g:429: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 >= ACTION_SYMBOL) && (LA76_1 <= PARTITION_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:429:36: no_write_to_bin_log
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_no_write_to_bin_log_in_alter_partition1389);
        	        	        no_write_to_bin_log246=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_log246.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	        FOLLOWPUSH(FOLLOW_all_or_partition_name_list_in_alter_partition1392);
        	        all_or_partition_name_list247=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_list247.tree);

        	    }
        	    break;
        	case 6:
        	    // MySQL.g:430:4: CHECK_SYMBOL PARTITION_SYMBOL all_or_partition_name_list ( check_option )*
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        CHECK_SYMBOL248 = (pANTLR3_COMMON_TOKEN) MATCHT(CHECK_SYMBOL, &FOLLOW_CHECK_SYMBOL_in_alter_partition1397);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulealter_partitionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

        	        PARTITION_SYMBOL249 = (pANTLR3_COMMON_TOKEN) MATCHT(PARTITION_SYMBOL, &FOLLOW_PARTITION_SYMBOL_in_alter_partition1399);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulealter_partitionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

        	        FOLLOWPUSH(FOLLOW_all_or_partition_name_list_in_alter_partition1401);
        	        all_or_partition_name_list250=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_list250.tree);

        	        // MySQL.g:430:61: ( check_option )*

        	        for (;;)
        	        {
        	            int alt77=2;
        	            switch ( LA(1) )
        	            {
        	            case CHANGED_SYMBOL:
        	            case EXTENDED_SYMBOL:
        	            case FAST_SYMBOL:
        	            case MEDIUM_SYMBOL:
        	            case QUICK_SYMBOL:
        	            case FOR_SYMBOL:
        	            	{
        	            		alt77=1;
        	            	}
        	                break;

        	            }

        	            switch (alt77)
        	            {
        	        	case 1:
        	        	    // MySQL.g:430:61: check_option
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_check_option_in_alter_partition1403);
        	        	        check_option251=check_option(ctx);

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

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

        	        	    }
        	        	    break;

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


        	    }
        	    break;
        	case 7:
        	    // MySQL.g:431: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_SYMBOL252 = (pANTLR3_COMMON_TOKEN) MATCHT(REPAIR_SYMBOL, &FOLLOW_REPAIR_SYMBOL_in_alter_partition1409);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulealter_partitionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

        	        PARTITION_SYMBOL253 = (pANTLR3_COMMON_TOKEN) MATCHT(PARTITION_SYMBOL, &FOLLOW_PARTITION_SYMBOL_in_alter_partition1411);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulealter_partitionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

        	        // MySQL.g:431:35: ( no_write_to_bin_log )?
        	        {
        	            int alt78=2;
        	            switch ( LA(1) )
        	            {
        	                case LOCAL_SYMBOL:
        	                	{
        	                		{
        	                		    int LA78_1 = LA(2);
        	                		    if ( ((LA(1) == LOCAL_SYMBOL)) && (((LA78_1 >= ACTION_SYMBOL) && (LA78_1 <= EXPORT_SYMBOL)) || ((LA78_1 >= EXTENT_SIZE_SYMBOL) && (LA78_1 <= QUERY_SYMBOL)) || ((LA78_1 >= READ_ONLY_SYMBOL) && (LA78_1 <= USER_SYMBOL)) || ((LA78_1 >= VALUE_SYMBOL) && (LA78_1 <= PARTITION_SYMBOL)) || LA78_1 == ALL_SYMBOL || LA78_1 == BACK_TICK_QUOTED_ID || LA78_1 == DOUBLE_QUOTED_TEXT || LA78_1 == IDENTIFIER))
        	                		    {
        	                		        alt78=1;
        	                		    }
        	                		    else if ( (LA78_1 == EXTENDED_SYMBOL || LA78_1 == QUICK_SYMBOL || LA78_1 == USE_FRM_SYMBOL))
        	                		    {
        	                		        {
        	                		            int LA78_14 = LA(3);
        	                		            if ( ((LA(1) == LOCAL_SYMBOL)))
        	                		            {
        	                		                alt78=1;
        	                		            }
        	                		        }
        	                		    }
        	                		}
        	                	}
        	                    break;
        	                case NO_WRITE_TO_BINLOG_SYMBOL:
        	                	{
        	                		alt78=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt78)
        	            {
        	        	case 1:
        	        	    // MySQL.g:431:35: no_write_to_bin_log
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_no_write_to_bin_log_in_alter_partition1413);
        	        	        no_write_to_bin_log254=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_log254.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	        FOLLOWPUSH(FOLLOW_all_or_partition_name_list_in_alter_partition1416);
        	        all_or_partition_name_list255=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_list255.tree);

        	        // MySQL.g:431:83: ( repair_option )*

        	        for (;;)
        	        {
        	            int alt79=2;
        	            switch ( LA(1) )
        	            {
        	            case EXTENDED_SYMBOL:
        	            case QUICK_SYMBOL:
        	            case USE_FRM_SYMBOL:
        	            	{
        	            		alt79=1;
        	            	}
        	                break;

        	            }

        	            switch (alt79)
        	            {
        	        	case 1:
        	        	    // MySQL.g:431:83: repair_option
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_repair_option_in_alter_partition1418);
        	        	        repair_option256=repair_option(ctx);

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

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

        	        	    }
        	        	    break;

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


        	    }
        	    break;
        	case 8:
        	    // MySQL.g:432:4: COALESCE_SYMBOL PARTITION_SYMBOL ( no_write_to_bin_log )? INTEGER
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        COALESCE_SYMBOL257 = (pANTLR3_COMMON_TOKEN) MATCHT(COALESCE_SYMBOL, &FOLLOW_COALESCE_SYMBOL_in_alter_partition1424);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulealter_partitionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

        	        PARTITION_SYMBOL258 = (pANTLR3_COMMON_TOKEN) MATCHT(PARTITION_SYMBOL, &FOLLOW_PARTITION_SYMBOL_in_alter_partition1426);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulealter_partitionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

        	        // MySQL.g:432:37: ( no_write_to_bin_log )?
        	        {
        	            int alt80=2;
        	            {
        	                int LA80_0 = LA(1);
        	                if ( ((LA(1) == LOCAL_SYMBOL)) && (LA80_0 == LOCAL_SYMBOL))
        	                {
        	                    alt80=1;
        	                }
        	                else if ( (LA80_0 == NO_WRITE_TO_BINLOG_SYMBOL))
        	                {
        	                    alt80=1;
        	                }
        	            }
        	            switch (alt80)
        	            {
        	        	case 1:
        	        	    // MySQL.g:432:37: no_write_to_bin_log
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_no_write_to_bin_log_in_alter_partition1428);
        	        	        no_write_to_bin_log259=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_log259.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	        INTEGER260 = (pANTLR3_COMMON_TOKEN) MATCHT(INTEGER, &FOLLOW_INTEGER_in_alter_partition1431);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulealter_partitionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

        	    }
        	    break;
        	case 9:
        	    // MySQL.g:433: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_SYMBOL261 = (pANTLR3_COMMON_TOKEN) MATCHT(TRUNCATE_SYMBOL, &FOLLOW_TRUNCATE_SYMBOL_in_alter_partition1440);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulealter_partitionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

        	        PARTITION_SYMBOL262 = (pANTLR3_COMMON_TOKEN) MATCHT(PARTITION_SYMBOL, &FOLLOW_PARTITION_SYMBOL_in_alter_partition1442);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulealter_partitionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

        	        FOLLOWPUSH(FOLLOW_all_or_partition_name_list_in_alter_partition1444);
        	        all_or_partition_name_list263=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_list263.tree);

        	    }
        	    break;
        	case 10:
        	    // MySQL.g:434:4: EXCHANGE_SYMBOL PARTITION_SYMBOL identifier WITH_SYMBOL TABLE_SYMBOL table_identifier
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        EXCHANGE_SYMBOL264 = (pANTLR3_COMMON_TOKEN) MATCHT(EXCHANGE_SYMBOL, &FOLLOW_EXCHANGE_SYMBOL_in_alter_partition1449);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulealter_partitionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

        	        PARTITION_SYMBOL265 = (pANTLR3_COMMON_TOKEN) MATCHT(PARTITION_SYMBOL, &FOLLOW_PARTITION_SYMBOL_in_alter_partition1451);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulealter_partitionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

        	        FOLLOWPUSH(FOLLOW_identifier_in_alter_partition1453);
        	        identifier266=identifier(ctx);

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

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

        	        WITH_SYMBOL267 = (pANTLR3_COMMON_TOKEN) MATCHT(WITH_SYMBOL, &FOLLOW_WITH_SYMBOL_in_alter_partition1455);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulealter_partitionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

        	        TABLE_SYMBOL268 = (pANTLR3_COMMON_TOKEN) MATCHT(TABLE_SYMBOL, &FOLLOW_TABLE_SYMBOL_in_alter_partition1457);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulealter_partitionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

        	        FOLLOWPUSH(FOLLOW_table_identifier_in_alter_partition1459);
        	        table_identifier269=table_identifier(ctx);

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

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

        	    }
        	    break;
        	case 11:
        	    // MySQL.g:435: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_SYMBOL270 = (pANTLR3_COMMON_TOKEN) MATCHT(REORGANIZE_SYMBOL, &FOLLOW_REORGANIZE_SYMBOL_in_alter_partition1464);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulealter_partitionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

        	        PARTITION_SYMBOL271 = (pANTLR3_COMMON_TOKEN) MATCHT(PARTITION_SYMBOL, &FOLLOW_PARTITION_SYMBOL_in_alter_partition1466);
        	        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);
        	        }

        	        // MySQL.g:435:39: ( 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 == EOF || ((LA81_1 >= ACTION_SYMBOL) && (LA81_1 <= PARTITION_SYMBOL)) || LA81_1 == BACK_TICK_QUOTED_ID || LA81_1 == DOUBLE_QUOTED_TEXT || LA81_1 == IDENTIFIER || LA81_1 == SEMICOLON_SYMBOL))
        	                		    {
        	                		        alt81=1;
        	                		    }
        	                		}
        	                	}
        	                    break;
        	                case NO_WRITE_TO_BINLOG_SYMBOL:
        	                	{
        	                		alt81=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt81)
        	            {
        	        	case 1:
        	        	    // MySQL.g:435:39: no_write_to_bin_log
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_no_write_to_bin_log_in_alter_partition1468);
        	        	        no_write_to_bin_log272=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_log272.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	        // MySQL.g:435:60: ( identifier_list INTO_SYMBOL partition_definitions )?
        	        {
        	            int alt82=2;
        	            {
        	                int LA82_0 = LA(1);
        	                if ( (LA82_0 == BACK_TICK_QUOTED_ID || LA82_0 == IDENTIFIER))
        	                {
        	                    alt82=1;
        	                }
        	                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA82_0 == DOUBLE_QUOTED_TEXT))
        	                {
        	                    alt82=1;
        	                }
        	                else if ( (((LA82_0 >= ACTION_SYMBOL) && (LA82_0 <= PARTITION_SYMBOL))))
        	                {
        	                    alt82=1;
        	                }
        	            }
        	            switch (alt82)
        	            {
        	        	case 1:
        	        	    // MySQL.g:435:61: identifier_list INTO_SYMBOL partition_definitions
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_identifier_list_in_alter_partition1472);
        	        	        identifier_list273=identifier_list(ctx);

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

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

        	        	        INTO_SYMBOL274 = (pANTLR3_COMMON_TOKEN) MATCHT(INTO_SYMBOL, &FOLLOW_INTO_SYMBOL_in_alter_partition1474);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulealter_partitionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

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

        	        	        FOLLOWPUSH(FOLLOW_partition_definitions_in_alter_partition1476);
        	        	        partition_definitions275=partition_definitions(ctx);

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

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

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    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 remove_partitioning
 * MySQL.g:438: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_SYMBOL276;
    pANTLR3_COMMON_TOKEN    PARTITIONING_SYMBOL277;

    pANTLR3_BASE_TREE REMOVE_SYMBOL276_tree;
    pANTLR3_BASE_TREE PARTITIONING_SYMBOL277_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    REMOVE_SYMBOL276       = NULL;
    PARTITIONING_SYMBOL277       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    REMOVE_SYMBOL276_tree   = NULL;
    PARTITIONING_SYMBOL277_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:438:20: ({...}? => REMOVE_SYMBOL PARTITIONING_SYMBOL )
        // MySQL.g:439: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_SYMBOL276 = (pANTLR3_COMMON_TOKEN) MATCHT(REMOVE_SYMBOL, &FOLLOW_REMOVE_SYMBOL_in_remove_partitioning1491);
            if  (HASEXCEPTION())
            {
                goto ruleremove_partitioningEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

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

            PARTITIONING_SYMBOL277 = (pANTLR3_COMMON_TOKEN) MATCHT(PARTITIONING_SYMBOL, &FOLLOW_PARTITIONING_SYMBOL_in_remove_partitioning1493);
            if  (HASEXCEPTION())
            {
                goto ruleremove_partitioningEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            PARTITIONING_SYMBOL277_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, PARTITIONING_SYMBOL277));
            ADAPTOR->addChild(ADAPTOR, root_0, PARTITIONING_SYMBOL277_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:442: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_SYMBOL278;
    MySQLParser_identifier_list_return identifier_list279;
    #undef	RETURN_TYPE_identifier_list279
    #define	RETURN_TYPE_identifier_list279 MySQLParser_identifier_list_return

    pANTLR3_BASE_TREE ALL_SYMBOL278_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

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


    ALL_SYMBOL278_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:442:27: ( ALL_SYMBOL | identifier_list )

            ANTLR3_UINT32 alt84;

            alt84=2;

            {
                int LA84_0 = LA(1);
                if ( (LA84_0 == ALL_SYMBOL))
                {
                    alt84=1;
                }
                else if ( (LA84_0 == BACK_TICK_QUOTED_ID || LA84_0 == IDENTIFIER))
                {
                    alt84=2;
                }
                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA84_0 == DOUBLE_QUOTED_TEXT))
                {
                    alt84=2;
                }
                else if ( (((LA84_0 >= ACTION_SYMBOL) && (LA84_0 <= PARTITION_SYMBOL))))
                {
                    alt84=2;
                }
                else
                {
                    if (BACKTRACKING>0)
                    {
                        FAILEDFLAG = ANTLR3_TRUE;
                        return retval;
                    }


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


                    goto ruleall_or_partition_name_listEx;

                }
            }
            switch (alt84)
            {
        	case 1:
        	    // MySQL.g:443:2: ALL_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        ALL_SYMBOL278 = (pANTLR3_COMMON_TOKEN) MATCHT(ALL_SYMBOL, &FOLLOW_ALL_SYMBOL_in_all_or_partition_name_list1502);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleall_or_partition_name_listEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

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


        	        FOLLOWPUSH(FOLLOW_identifier_list_in_all_or_partition_name_list1507);
        	        identifier_list279=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_list279.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:447:1: alter_tablespace : TABLESPACE_SYMBOL identifier ( ADD_SYMBOL | DROP_SYMBOL ) DATAFILE_SYMBOL ( INITIAL_SIZE_SYMBOL ( EQUAL_OPERATOR )? size_number )? ( WAIT_SYMBOL )? ENGINE_SYMBOL ( EQUAL_OPERATOR )? IDENTIFIER ;
 */
static MySQLParser_alter_tablespace_return
alter_tablespace(pMySQLParser ctx)
{
    MySQLParser_alter_tablespace_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    TABLESPACE_SYMBOL280;
    pANTLR3_COMMON_TOKEN    set282;
    pANTLR3_COMMON_TOKEN    DATAFILE_SYMBOL283;
    pANTLR3_COMMON_TOKEN    INITIAL_SIZE_SYMBOL284;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR285;
    pANTLR3_COMMON_TOKEN    WAIT_SYMBOL287;
    pANTLR3_COMMON_TOKEN    ENGINE_SYMBOL288;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR289;
    pANTLR3_COMMON_TOKEN    IDENTIFIER290;
    MySQLParser_identifier_return identifier281;
    #undef	RETURN_TYPE_identifier281
    #define	RETURN_TYPE_identifier281 MySQLParser_identifier_return

    MySQLParser_size_number_return size_number286;
    #undef	RETURN_TYPE_size_number286
    #define	RETURN_TYPE_size_number286 MySQLParser_size_number_return

    pANTLR3_BASE_TREE TABLESPACE_SYMBOL280_tree;
    pANTLR3_BASE_TREE set282_tree;
    pANTLR3_BASE_TREE DATAFILE_SYMBOL283_tree;
    pANTLR3_BASE_TREE INITIAL_SIZE_SYMBOL284_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR285_tree;
    pANTLR3_BASE_TREE WAIT_SYMBOL287_tree;
    pANTLR3_BASE_TREE ENGINE_SYMBOL288_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR289_tree;
    pANTLR3_BASE_TREE IDENTIFIER290_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    TABLESPACE_SYMBOL280       = NULL;
    set282       = NULL;
    DATAFILE_SYMBOL283       = NULL;
    INITIAL_SIZE_SYMBOL284       = NULL;
    EQUAL_OPERATOR285       = NULL;
    WAIT_SYMBOL287       = NULL;
    ENGINE_SYMBOL288       = NULL;
    EQUAL_OPERATOR289       = NULL;
    IDENTIFIER290       = NULL;
    identifier281.tree = NULL;

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


    TABLESPACE_SYMBOL280_tree   = NULL;
    set282_tree   = NULL;
    DATAFILE_SYMBOL283_tree   = NULL;
    INITIAL_SIZE_SYMBOL284_tree   = NULL;
    EQUAL_OPERATOR285_tree   = NULL;
    WAIT_SYMBOL287_tree   = NULL;
    ENGINE_SYMBOL288_tree   = NULL;
    EQUAL_OPERATOR289_tree   = NULL;
    IDENTIFIER290_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:447:17: ( TABLESPACE_SYMBOL identifier ( ADD_SYMBOL | DROP_SYMBOL ) DATAFILE_SYMBOL ( INITIAL_SIZE_SYMBOL ( EQUAL_OPERATOR )? size_number )? ( WAIT_SYMBOL )? ENGINE_SYMBOL ( EQUAL_OPERATOR )? IDENTIFIER )
        // MySQL.g:448:2: TABLESPACE_SYMBOL identifier ( ADD_SYMBOL | DROP_SYMBOL ) DATAFILE_SYMBOL ( INITIAL_SIZE_SYMBOL ( EQUAL_OPERATOR )? size_number )? ( WAIT_SYMBOL )? ENGINE_SYMBOL ( EQUAL_OPERATOR )? IDENTIFIER
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            TABLESPACE_SYMBOL280 = (pANTLR3_COMMON_TOKEN) MATCHT(TABLESPACE_SYMBOL, &FOLLOW_TABLESPACE_SYMBOL_in_alter_tablespace1516);
            if  (HASEXCEPTION())
            {
                goto rulealter_tablespaceEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

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

            FOLLOWPUSH(FOLLOW_identifier_in_alter_tablespace1518);
            identifier281=identifier(ctx);

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

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

            set282=(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, set282))
                );
                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_SYMBOL283 = (pANTLR3_COMMON_TOKEN) MATCHT(DATAFILE_SYMBOL, &FOLLOW_DATAFILE_SYMBOL_in_alter_tablespace1528);
            if  (HASEXCEPTION())
            {
                goto rulealter_tablespaceEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

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

            // MySQL.g:448:75: ( INITIAL_SIZE_SYMBOL ( EQUAL_OPERATOR )? size_number )?
            {
                int alt86=2;
                switch ( LA(1) )
                {
                    case INITIAL_SIZE_SYMBOL:
                    	{
                    		alt86=1;
                    	}
                        break;
                }

                switch (alt86)
                {
            	case 1:
            	    // MySQL.g:448:76: INITIAL_SIZE_SYMBOL ( EQUAL_OPERATOR )? size_number
            	    {
            	        INITIAL_SIZE_SYMBOL284 = (pANTLR3_COMMON_TOKEN) MATCHT(INITIAL_SIZE_SYMBOL, &FOLLOW_INITIAL_SIZE_SYMBOL_in_alter_tablespace1532);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulealter_tablespaceEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

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

            	        // MySQL.g:448:96: ( EQUAL_OPERATOR )?
            	        {
            	            int alt85=2;
            	            switch ( LA(1) )
            	            {
            	                case EQUAL_OPERATOR:
            	                	{
            	                		alt85=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt85)
            	            {
            	        	case 1:
            	        	    // MySQL.g:448:96: EQUAL_OPERATOR
            	        	    {
            	        	        EQUAL_OPERATOR285 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_alter_tablespace1534);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulealter_tablespaceEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

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

            	        	    }
            	        	    break;

            	            }
            	        }

            	        FOLLOWPUSH(FOLLOW_size_number_in_alter_tablespace1537);
            	        size_number286=size_number(ctx);

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

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

            	    }
            	    break;

                }
            }

            // MySQL.g:449:3: ( WAIT_SYMBOL )?
            {
                int alt87=2;
                switch ( LA(1) )
                {
                    case WAIT_SYMBOL:
                    	{
                    		alt87=1;
                    	}
                        break;
                }

                switch (alt87)
                {
            	case 1:
            	    // MySQL.g:449:3: WAIT_SYMBOL
            	    {
            	        WAIT_SYMBOL287 = (pANTLR3_COMMON_TOKEN) MATCHT(WAIT_SYMBOL, &FOLLOW_WAIT_SYMBOL_in_alter_tablespace1543);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulealter_tablespaceEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

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

            	    }
            	    break;

                }
            }

            ENGINE_SYMBOL288 = (pANTLR3_COMMON_TOKEN) MATCHT(ENGINE_SYMBOL, &FOLLOW_ENGINE_SYMBOL_in_alter_tablespace1546);
            if  (HASEXCEPTION())
            {
                goto rulealter_tablespaceEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

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

            // MySQL.g:449:30: ( EQUAL_OPERATOR )?
            {
                int alt88=2;
                switch ( LA(1) )
                {
                    case EQUAL_OPERATOR:
                    	{
                    		alt88=1;
                    	}
                        break;
                }

                switch (alt88)
                {
            	case 1:
            	    // MySQL.g:449:30: EQUAL_OPERATOR
            	    {
            	        EQUAL_OPERATOR289 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_alter_tablespace1548);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulealter_tablespaceEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

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

            	    }
            	    break;

                }
            }

            IDENTIFIER290 = (pANTLR3_COMMON_TOKEN) MATCHT(IDENTIFIER, &FOLLOW_IDENTIFIER_in_alter_tablespace1551);
            if  (HASEXCEPTION())
            {
                goto rulealter_tablespaceEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

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

        }

    }

    // 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_view
 * MySQL.g:452: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 identifier ( 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_SYMBOL291;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR292;
    pANTLR3_COMMON_TOKEN    set293;
    pANTLR3_COMMON_TOKEN    SQL_SYMBOL295;
    pANTLR3_COMMON_TOKEN    SECURITY_SYMBOL296;
    pANTLR3_COMMON_TOKEN    set297;
    pANTLR3_COMMON_TOKEN    VIEW_SYMBOL298;
    pANTLR3_COMMON_TOKEN    AS_SYMBOL301;
    pANTLR3_COMMON_TOKEN    WITH_SYMBOL303;
    pANTLR3_COMMON_TOKEN    set304;
    pANTLR3_COMMON_TOKEN    CHECK_SYMBOL305;
    pANTLR3_COMMON_TOKEN    OPTION_SYMBOL306;
    MySQLParser_definer_clause_return definer_clause294;
    #undef	RETURN_TYPE_definer_clause294
    #define	RETURN_TYPE_definer_clause294 MySQLParser_definer_clause_return

    MySQLParser_identifier_return identifier299;
    #undef	RETURN_TYPE_identifier299
    #define	RETURN_TYPE_identifier299 MySQLParser_identifier_return

    MySQLParser_identifier_list_with_parentheses_return identifier_list_with_parentheses300;
    #undef	RETURN_TYPE_identifier_list_with_parentheses300
    #define	RETURN_TYPE_identifier_list_with_parentheses300 MySQLParser_identifier_list_with_parentheses_return

    MySQLParser_select_statement_return select_statement302;
    #undef	RETURN_TYPE_select_statement302
    #define	RETURN_TYPE_select_statement302 MySQLParser_select_statement_return

    pANTLR3_BASE_TREE ALGORITHM_SYMBOL291_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR292_tree;
    pANTLR3_BASE_TREE set293_tree;
    pANTLR3_BASE_TREE SQL_SYMBOL295_tree;
    pANTLR3_BASE_TREE SECURITY_SYMBOL296_tree;
    pANTLR3_BASE_TREE set297_tree;
    pANTLR3_BASE_TREE VIEW_SYMBOL298_tree;
    pANTLR3_BASE_TREE AS_SYMBOL301_tree;
    pANTLR3_BASE_TREE WITH_SYMBOL303_tree;
    pANTLR3_BASE_TREE set304_tree;
    pANTLR3_BASE_TREE CHECK_SYMBOL305_tree;
    pANTLR3_BASE_TREE OPTION_SYMBOL306_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    ALGORITHM_SYMBOL291       = NULL;
    EQUAL_OPERATOR292       = NULL;
    set293       = NULL;
    SQL_SYMBOL295       = NULL;
    SECURITY_SYMBOL296       = NULL;
    set297       = NULL;
    VIEW_SYMBOL298       = NULL;
    AS_SYMBOL301       = NULL;
    WITH_SYMBOL303       = NULL;
    set304       = NULL;
    CHECK_SYMBOL305       = NULL;
    OPTION_SYMBOL306       = NULL;
    definer_clause294.tree = NULL;

    identifier299.tree = NULL;

    identifier_list_with_parentheses300.tree = NULL;

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


    ALGORITHM_SYMBOL291_tree   = NULL;
    EQUAL_OPERATOR292_tree   = NULL;
    set293_tree   = NULL;
    SQL_SYMBOL295_tree   = NULL;
    SECURITY_SYMBOL296_tree   = NULL;
    set297_tree   = NULL;
    VIEW_SYMBOL298_tree   = NULL;
    AS_SYMBOL301_tree   = NULL;
    WITH_SYMBOL303_tree   = NULL;
    set304_tree   = NULL;
    CHECK_SYMBOL305_tree   = NULL;
    OPTION_SYMBOL306_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:452:11: ( ( ALGORITHM_SYMBOL EQUAL_OPERATOR ( UNDEFINED_SYMBOL | MERGE_SYMBOL | TEMPTABLE_SYMBOL ) )? ( definer_clause )? ( SQL_SYMBOL SECURITY_SYMBOL ( DEFINER_SYMBOL | INVOKER_SYMBOL ) )? VIEW_SYMBOL identifier ( identifier_list_with_parentheses )? AS_SYMBOL select_statement ( WITH_SYMBOL ( CASCADED_SYMBOL | LOCAL_SYMBOL )? CHECK_SYMBOL OPTION_SYMBOL )? )
        // MySQL.g:453:2: ( ALGORITHM_SYMBOL EQUAL_OPERATOR ( UNDEFINED_SYMBOL | MERGE_SYMBOL | TEMPTABLE_SYMBOL ) )? ( definer_clause )? ( SQL_SYMBOL SECURITY_SYMBOL ( DEFINER_SYMBOL | INVOKER_SYMBOL ) )? VIEW_SYMBOL identifier ( 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:453:2: ( ALGORITHM_SYMBOL EQUAL_OPERATOR ( UNDEFINED_SYMBOL | MERGE_SYMBOL | TEMPTABLE_SYMBOL ) )?
            {
                int alt89=2;
                switch ( LA(1) )
                {
                    case ALGORITHM_SYMBOL:
                    	{
                    		alt89=1;
                    	}
                        break;
                }

                switch (alt89)
                {
            	case 1:
            	    // MySQL.g:453:3: ALGORITHM_SYMBOL EQUAL_OPERATOR ( UNDEFINED_SYMBOL | MERGE_SYMBOL | TEMPTABLE_SYMBOL )
            	    {
            	        ALGORITHM_SYMBOL291 = (pANTLR3_COMMON_TOKEN) MATCHT(ALGORITHM_SYMBOL, &FOLLOW_ALGORITHM_SYMBOL_in_alter_view1561);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulealter_viewEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

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

            	        EQUAL_OPERATOR292 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_alter_view1563);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulealter_viewEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

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

            	        set293=(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, set293))
            	            );
            	            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:454:3: ( definer_clause )?
            {
                int alt90=2;
                switch ( LA(1) )
                {
                    case DEFINER_SYMBOL:
                    	{
                    		alt90=1;
                    	}
                        break;
                }

                switch (alt90)
                {
            	case 1:
            	    // MySQL.g:454:3: definer_clause
            	    {
            	        FOLLOWPUSH(FOLLOW_definer_clause_in_alter_view1581);
            	        definer_clause294=definer_clause(ctx);

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

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

            	    }
            	    break;

                }
            }

            // MySQL.g:455:3: ( SQL_SYMBOL SECURITY_SYMBOL ( DEFINER_SYMBOL | INVOKER_SYMBOL ) )?
            {
                int alt91=2;
                switch ( LA(1) )
                {
                    case SQL_SYMBOL:
                    	{
                    		alt91=1;
                    	}
                        break;
                }

                switch (alt91)
                {
            	case 1:
            	    // MySQL.g:455:4: SQL_SYMBOL SECURITY_SYMBOL ( DEFINER_SYMBOL | INVOKER_SYMBOL )
            	    {
            	        SQL_SYMBOL295 = (pANTLR3_COMMON_TOKEN) MATCHT(SQL_SYMBOL, &FOLLOW_SQL_SYMBOL_in_alter_view1587);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulealter_viewEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

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

            	        SECURITY_SYMBOL296 = (pANTLR3_COMMON_TOKEN) MATCHT(SECURITY_SYMBOL, &FOLLOW_SECURITY_SYMBOL_in_alter_view1589);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulealter_viewEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

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

            	        set297=(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, set297))
            	            );
            	            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_SYMBOL298 = (pANTLR3_COMMON_TOKEN) MATCHT(VIEW_SYMBOL, &FOLLOW_VIEW_SYMBOL_in_alter_view1603);
            if  (HASEXCEPTION())
            {
                goto rulealter_viewEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

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

            FOLLOWPUSH(FOLLOW_identifier_in_alter_view1605);
            identifier299=identifier(ctx);

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

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

            // MySQL.g:456:26: ( identifier_list_with_parentheses )?
            {
                int alt92=2;
                switch ( LA(1) )
                {
                    case OPEN_PAR_SYMBOL:
                    	{
                    		alt92=1;
                    	}
                        break;
                }

                switch (alt92)
                {
            	case 1:
            	    // MySQL.g:456:26: identifier_list_with_parentheses
            	    {
            	        FOLLOWPUSH(FOLLOW_identifier_list_with_parentheses_in_alter_view1607);
            	        identifier_list_with_parentheses300=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_parentheses300.tree);

            	    }
            	    break;

                }
            }

            AS_SYMBOL301 = (pANTLR3_COMMON_TOKEN) MATCHT(AS_SYMBOL, &FOLLOW_AS_SYMBOL_in_alter_view1610);
            if  (HASEXCEPTION())
            {
                goto rulealter_viewEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

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

            FOLLOWPUSH(FOLLOW_select_statement_in_alter_view1612);
            select_statement302=select_statement(ctx);

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

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

            // MySQL.g:457:3: ( WITH_SYMBOL ( CASCADED_SYMBOL | LOCAL_SYMBOL )? CHECK_SYMBOL OPTION_SYMBOL )?
            {
                int alt94=2;
                switch ( LA(1) )
                {
                    case WITH_SYMBOL:
                    	{
                    		alt94=1;
                    	}
                        break;
                }

                switch (alt94)
                {
            	case 1:
            	    // MySQL.g:457:4: WITH_SYMBOL ( CASCADED_SYMBOL | LOCAL_SYMBOL )? CHECK_SYMBOL OPTION_SYMBOL
            	    {
            	        WITH_SYMBOL303 = (pANTLR3_COMMON_TOKEN) MATCHT(WITH_SYMBOL, &FOLLOW_WITH_SYMBOL_in_alter_view1617);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulealter_viewEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

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

            	        // MySQL.g:457:16: ( CASCADED_SYMBOL | LOCAL_SYMBOL )?
            	        {
            	            int alt93=2;
            	            switch ( LA(1) )
            	            {
            	                case CASCADED_SYMBOL:
            	                case LOCAL_SYMBOL:
            	                	{
            	                		alt93=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt93)
            	            {
            	        	case 1:
            	        	    // MySQL.g:
            	        	    {
            	        	        set304=(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, set304))
            	        	            );
            	        	            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_SYMBOL305 = (pANTLR3_COMMON_TOKEN) MATCHT(CHECK_SYMBOL, &FOLLOW_CHECK_SYMBOL_in_alter_view1628);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulealter_viewEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

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

            	        OPTION_SYMBOL306 = (pANTLR3_COMMON_TOKEN) MATCHT(OPTION_SYMBOL, &FOLLOW_OPTION_SYMBOL_in_alter_view1630);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulealter_viewEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        OPTION_SYMBOL306_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPTION_SYMBOL306));
            	        ADAPTOR->addChild(ADAPTOR, root_0, OPTION_SYMBOL306_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:462:1: create_statement : CREATE_SYMBOL ^ ( create_table | create_index | create_database | ( definer_clause )? ({...}? => create_event | create_view | create_routine_or_udf | create_trigger ) | view_replace_or_algorithm ( definer_clause )? create_view | create_logfile_group | create_server | create_tablespace ) ;
 */
static MySQLParser_create_statement_return
create_statement(pMySQLParser ctx)
{
    MySQLParser_create_statement_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    CREATE_SYMBOL307;
    MySQLParser_create_table_return create_table308;
    #undef	RETURN_TYPE_create_table308
    #define	RETURN_TYPE_create_table308 MySQLParser_create_table_return

    MySQLParser_create_index_return create_index309;
    #undef	RETURN_TYPE_create_index309
    #define	RETURN_TYPE_create_index309 MySQLParser_create_index_return

    MySQLParser_create_database_return create_database310;
    #undef	RETURN_TYPE_create_database310
    #define	RETURN_TYPE_create_database310 MySQLParser_create_database_return

    MySQLParser_definer_clause_return definer_clause311;
    #undef	RETURN_TYPE_definer_clause311
    #define	RETURN_TYPE_definer_clause311 MySQLParser_definer_clause_return

    MySQLParser_create_event_return create_event312;
    #undef	RETURN_TYPE_create_event312
    #define	RETURN_TYPE_create_event312 MySQLParser_create_event_return

    MySQLParser_create_view_return create_view313;
    #undef	RETURN_TYPE_create_view313
    #define	RETURN_TYPE_create_view313 MySQLParser_create_view_return

    MySQLParser_create_routine_or_udf_return create_routine_or_udf314;
    #undef	RETURN_TYPE_create_routine_or_udf314
    #define	RETURN_TYPE_create_routine_or_udf314 MySQLParser_create_routine_or_udf_return

    MySQLParser_create_trigger_return create_trigger315;
    #undef	RETURN_TYPE_create_trigger315
    #define	RETURN_TYPE_create_trigger315 MySQLParser_create_trigger_return

    MySQLParser_view_replace_or_algorithm_return view_replace_or_algorithm316;
    #undef	RETURN_TYPE_view_replace_or_algorithm316
    #define	RETURN_TYPE_view_replace_or_algorithm316 MySQLParser_view_replace_or_algorithm_return

    MySQLParser_definer_clause_return definer_clause317;
    #undef	RETURN_TYPE_definer_clause317
    #define	RETURN_TYPE_definer_clause317 MySQLParser_definer_clause_return

    MySQLParser_create_view_return create_view318;
    #undef	RETURN_TYPE_create_view318
    #define	RETURN_TYPE_create_view318 MySQLParser_create_view_return

    MySQLParser_create_logfile_group_return create_logfile_group319;
    #undef	RETURN_TYPE_create_logfile_group319
    #define	RETURN_TYPE_create_logfile_group319 MySQLParser_create_logfile_group_return

    MySQLParser_create_server_return create_server320;
    #undef	RETURN_TYPE_create_server320
    #define	RETURN_TYPE_create_server320 MySQLParser_create_server_return

    MySQLParser_create_tablespace_return create_tablespace321;
    #undef	RETURN_TYPE_create_tablespace321
    #define	RETURN_TYPE_create_tablespace321 MySQLParser_create_tablespace_return

    pANTLR3_BASE_TREE CREATE_SYMBOL307_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    CREATE_SYMBOL307       = NULL;
    create_table308.tree = NULL;

    create_index309.tree = NULL;

    create_database310.tree = NULL;

    definer_clause311.tree = NULL;

    create_event312.tree = NULL;

    create_view313.tree = NULL;

    create_routine_or_udf314.tree = NULL;

    create_trigger315.tree = NULL;

    view_replace_or_algorithm316.tree = NULL;

    definer_clause317.tree = NULL;

    create_view318.tree = NULL;

    create_logfile_group319.tree = NULL;

    create_server320.tree = NULL;

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


    CREATE_SYMBOL307_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:462:17: ( CREATE_SYMBOL ^ ( create_table | create_index | create_database | ( definer_clause )? ({...}? => create_event | create_view | create_routine_or_udf | create_trigger ) | view_replace_or_algorithm ( definer_clause )? create_view | create_logfile_group | create_server | create_tablespace ) )
        // MySQL.g:463:2: CREATE_SYMBOL ^ ( create_table | create_index | create_database | ( definer_clause )? ({...}? => create_event | create_view | create_routine_or_udf | create_trigger ) | view_replace_or_algorithm ( definer_clause )? create_view | create_logfile_group | create_server | create_tablespace )
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            CREATE_SYMBOL307 = (pANTLR3_COMMON_TOKEN) MATCHT(CREATE_SYMBOL, &FOLLOW_CREATE_SYMBOL_in_create_statement1643);
            if  (HASEXCEPTION())
            {
                goto rulecreate_statementEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

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

            // MySQL.g:464:2: ( create_table | create_index | create_database | ( definer_clause )? ({...}? => create_event | create_view | create_routine_or_udf | create_trigger ) | view_replace_or_algorithm ( definer_clause )? create_view | create_logfile_group | create_server | create_tablespace )
            {
                int alt98=8;
                {
                    int LA98_0 = LA(1);
                    if ( (LA98_0 == TEMPORARY_SYMBOL || LA98_0 == TABLE_SYMBOL))
                    {
                        alt98=1;
                    }
                    else if ( ((SERVER_VERSION < 50600)) && (((LA98_0 >= OFFLINE_SYMBOL) && (LA98_0 <= ONLINE_SYMBOL))))
                    {
                        alt98=2;
                    }
                    else if ( (LA98_0 == FULLTEXT_SYMBOL || LA98_0 == INDEX_SYMBOL || LA98_0 == SPATIAL_SYMBOL || LA98_0 == UNIQUE_SYMBOL))
                    {
                        alt98=2;
                    }
                    else if ( (LA98_0 == DATABASE_SYMBOL))
                    {
                        alt98=3;
                    }
                    else if ( (LA98_0 == DEFINER_SYMBOL))
                    {
                        alt98=4;
                    }
                    else if ( ((SERVER_VERSION >= 50100)) && (LA98_0 == EVENT_SYMBOL))
                    {
                        alt98=4;
                    }
                    else if ( (LA98_0 == AGGREGATE_SYMBOL || LA98_0 == FUNCTION_SYMBOL || LA98_0 == VIEW_SYMBOL || LA98_0 == PROCEDURE_SYMBOL || LA98_0 == SQL_SYMBOL || LA98_0 == TRIGGER_SYMBOL))
                    {
                        alt98=4;
                    }
                    else if ( (LA98_0 == ALGORITHM_SYMBOL || LA98_0 == OR_SYMBOL))
                    {
                        alt98=5;
                    }
                    else if ( (LA98_0 == LOGFILE_SYMBOL))
                    {
                        alt98=6;
                    }
                    else if ( (LA98_0 == SERVER_SYMBOL))
                    {
                        alt98=7;
                    }
                    else if ( (LA98_0 == TABLESPACE_SYMBOL))
                    {
                        alt98=8;
                    }
                    else
                    {
                        if (BACKTRACKING>0)
                        {
                            FAILEDFLAG = ANTLR3_TRUE;
                            return retval;
                        }


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


                        goto rulecreate_statementEx;

                    }
                }
                switch (alt98)
                {
            	case 1:
            	    // MySQL.g:465:3: create_table
            	    {
            	        FOLLOWPUSH(FOLLOW_create_table_in_create_statement1651);
            	        create_table308=create_table(ctx);

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

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

            	    }
            	    break;
            	case 2:
            	    // MySQL.g:466:5: create_index
            	    {
            	        FOLLOWPUSH(FOLLOW_create_index_in_create_statement1657);
            	        create_index309=create_index(ctx);

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

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

            	    }
            	    break;
            	case 3:
            	    // MySQL.g:467:5: create_database
            	    {
            	        FOLLOWPUSH(FOLLOW_create_database_in_create_statement1663);
            	        create_database310=create_database(ctx);

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

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

            	    }
            	    break;
            	case 4:
            	    // MySQL.g:468:5: ( definer_clause )? ({...}? => create_event | create_view | create_routine_or_udf | create_trigger )
            	    {
            	        // MySQL.g:468:5: ( definer_clause )?
            	        {
            	            int alt95=2;
            	            switch ( LA(1) )
            	            {
            	                case DEFINER_SYMBOL:
            	                	{
            	                		alt95=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt95)
            	            {
            	        	case 1:
            	        	    // MySQL.g:468:5: definer_clause
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_definer_clause_in_create_statement1669);
            	        	        definer_clause311=definer_clause(ctx);

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

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

            	        	    }
            	        	    break;

            	            }
            	        }

            	        // MySQL.g:469:4: ({...}? => create_event | create_view | create_routine_or_udf | create_trigger )
            	        {
            	            int alt96=4;
            	            {
            	                int LA96_0 = LA(1);
            	                if ( ((SERVER_VERSION >= 50100)) && (LA96_0 == EVENT_SYMBOL))
            	                {
            	                    alt96=1;
            	                }
            	                else if ( (LA96_0 == VIEW_SYMBOL || LA96_0 == SQL_SYMBOL))
            	                {
            	                    alt96=2;
            	                }
            	                else if ( (LA96_0 == AGGREGATE_SYMBOL || LA96_0 == FUNCTION_SYMBOL || LA96_0 == PROCEDURE_SYMBOL))
            	                {
            	                    alt96=3;
            	                }
            	                else if ( (LA96_0 == TRIGGER_SYMBOL))
            	                {
            	                    alt96=4;
            	                }
            	                else
            	                {
            	                    if (BACKTRACKING>0)
            	                    {
            	                        FAILEDFLAG = ANTLR3_TRUE;
            	                        return retval;
            	                    }


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


            	                    goto rulecreate_statementEx;

            	                }
            	            }
            	            switch (alt96)
            	            {
            	        	case 1:
            	        	    // MySQL.g:470:5: {...}? => create_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 *)"create_statement";


            	        	        }

            	        	        FOLLOWPUSH(FOLLOW_create_event_in_create_statement1685);
            	        	        create_event312=create_event(ctx);

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

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

            	        	    }
            	        	    break;
            	        	case 2:
            	        	    // MySQL.g:471:7: create_view
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_create_view_in_create_statement1693);
            	        	        create_view313=create_view(ctx);

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

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

            	        	    }
            	        	    break;
            	        	case 3:
            	        	    // MySQL.g:472:7: create_routine_or_udf
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_create_routine_or_udf_in_create_statement1701);
            	        	        create_routine_or_udf314=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_udf314.tree);

            	        	    }
            	        	    break;
            	        	case 4:
            	        	    // MySQL.g:473:7: create_trigger
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_create_trigger_in_create_statement1709);
            	        	        create_trigger315=create_trigger(ctx);

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

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

            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;
            	case 5:
            	    // MySQL.g:475:5: view_replace_or_algorithm ( definer_clause )? create_view
            	    {
            	        FOLLOWPUSH(FOLLOW_view_replace_or_algorithm_in_create_statement1720);
            	        view_replace_or_algorithm316=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_algorithm316.tree);

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

            	            switch (alt97)
            	            {
            	        	case 1:
            	        	    // MySQL.g:475:31: definer_clause
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_definer_clause_in_create_statement1722);
            	        	        definer_clause317=definer_clause(ctx);

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

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

            	        	    }
            	        	    break;

            	            }
            	        }

            	        FOLLOWPUSH(FOLLOW_create_view_in_create_statement1725);
            	        create_view318=create_view(ctx);

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

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

            	    }
            	    break;
            	case 6:
            	    // MySQL.g:476:5: create_logfile_group
            	    {
            	        FOLLOWPUSH(FOLLOW_create_logfile_group_in_create_statement1731);
            	        create_logfile_group319=create_logfile_group(ctx);

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

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

            	    }
            	    break;
            	case 7:
            	    // MySQL.g:477:5: create_server
            	    {
            	        FOLLOWPUSH(FOLLOW_create_server_in_create_statement1737);
            	        create_server320=create_server(ctx);

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

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

            	    }
            	    break;
            	case 8:
            	    // MySQL.g:478:5: create_tablespace
            	    {
            	        FOLLOWPUSH(FOLLOW_create_tablespace_in_create_statement1743);
            	        create_tablespace321=create_tablespace(ctx);

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

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, create_tablespace321.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:482:1: create_database : DATABASE_SYMBOL ( if_not_exists )? identifier ( database_option )* ;
 */
static MySQLParser_create_database_return
create_database(pMySQLParser ctx)
{
    MySQLParser_create_database_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    DATABASE_SYMBOL322;
    MySQLParser_if_not_exists_return if_not_exists323;
    #undef	RETURN_TYPE_if_not_exists323
    #define	RETURN_TYPE_if_not_exists323 MySQLParser_if_not_exists_return

    MySQLParser_identifier_return identifier324;
    #undef	RETURN_TYPE_identifier324
    #define	RETURN_TYPE_identifier324 MySQLParser_identifier_return

    MySQLParser_database_option_return database_option325;
    #undef	RETURN_TYPE_database_option325
    #define	RETURN_TYPE_database_option325 MySQLParser_database_option_return

    pANTLR3_BASE_TREE DATABASE_SYMBOL322_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    DATABASE_SYMBOL322       = NULL;
    if_not_exists323.tree = NULL;

    identifier324.tree = NULL;

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


    DATABASE_SYMBOL322_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:482:16: ( DATABASE_SYMBOL ( if_not_exists )? identifier ( database_option )* )
        // MySQL.g:483:2: DATABASE_SYMBOL ( if_not_exists )? identifier ( database_option )*
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            DATABASE_SYMBOL322 = (pANTLR3_COMMON_TOKEN) MATCHT(DATABASE_SYMBOL, &FOLLOW_DATABASE_SYMBOL_in_create_database1755);
            if  (HASEXCEPTION())
            {
                goto rulecreate_databaseEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

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

            // MySQL.g:483:18: ( if_not_exists )?
            {
                int alt99=2;
                switch ( LA(1) )
                {
                    case IF_SYMBOL:
                    	{
                    		alt99=1;
                    	}
                        break;
                }

                switch (alt99)
                {
            	case 1:
            	    // MySQL.g:483:18: if_not_exists
            	    {
            	        FOLLOWPUSH(FOLLOW_if_not_exists_in_create_database1757);
            	        if_not_exists323=if_not_exists(ctx);

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

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

            	    }
            	    break;

                }
            }

            FOLLOWPUSH(FOLLOW_identifier_in_create_database1760);
            identifier324=identifier(ctx);

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

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

            // MySQL.g:483:44: ( database_option )*

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

                }

                switch (alt100)
                {
            	case 1:
            	    // MySQL.g:483:44: database_option
            	    {
            	        FOLLOWPUSH(FOLLOW_database_option_in_create_database1762);
            	        database_option325=database_option(ctx);

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

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

            	    }
            	    break;

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


        }

    }

    // 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_event
 * MySQL.g:486:1: create_event : EVENT_SYMBOL ( if_not_exists )? identifier 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_return
create_event(pMySQLParser ctx)
{
    MySQLParser_create_event_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    EVENT_SYMBOL326;
    pANTLR3_COMMON_TOKEN    ON_SYMBOL329;
    pANTLR3_COMMON_TOKEN    SCHEDULE_SYMBOL330;
    pANTLR3_COMMON_TOKEN    ON_SYMBOL332;
    pANTLR3_COMMON_TOKEN    COMPLETION_SYMBOL333;
    pANTLR3_COMMON_TOKEN    NOT_SYMBOL334;
    pANTLR3_COMMON_TOKEN    PRESERVE_SYMBOL335;
    pANTLR3_COMMON_TOKEN    ENABLE_SYMBOL336;
    pANTLR3_COMMON_TOKEN    DISABLE_SYMBOL337;
    pANTLR3_COMMON_TOKEN    ON_SYMBOL338;
    pANTLR3_COMMON_TOKEN    SLAVE_SYMBOL339;
    pANTLR3_COMMON_TOKEN    COMMENT_SYMBOL340;
    pANTLR3_COMMON_TOKEN    DO_SYMBOL342;
    MySQLParser_if_not_exists_return if_not_exists327;
    #undef	RETURN_TYPE_if_not_exists327
    #define	RETURN_TYPE_if_not_exists327 MySQLParser_if_not_exists_return

    MySQLParser_identifier_return identifier328;
    #undef	RETURN_TYPE_identifier328
    #define	RETURN_TYPE_identifier328 MySQLParser_identifier_return

    MySQLParser_schedule_return schedule331;
    #undef	RETURN_TYPE_schedule331
    #define	RETURN_TYPE_schedule331 MySQLParser_schedule_return

    MySQLParser_string_literal_return string_literal341;
    #undef	RETURN_TYPE_string_literal341
    #define	RETURN_TYPE_string_literal341 MySQLParser_string_literal_return

    MySQLParser_compound_statement_return compound_statement343;
    #undef	RETURN_TYPE_compound_statement343
    #define	RETURN_TYPE_compound_statement343 MySQLParser_compound_statement_return

    pANTLR3_BASE_TREE EVENT_SYMBOL326_tree;
    pANTLR3_BASE_TREE ON_SYMBOL329_tree;
    pANTLR3_BASE_TREE SCHEDULE_SYMBOL330_tree;
    pANTLR3_BASE_TREE ON_SYMBOL332_tree;
    pANTLR3_BASE_TREE COMPLETION_SYMBOL333_tree;
    pANTLR3_BASE_TREE NOT_SYMBOL334_tree;
    pANTLR3_BASE_TREE PRESERVE_SYMBOL335_tree;
    pANTLR3_BASE_TREE ENABLE_SYMBOL336_tree;
    pANTLR3_BASE_TREE DISABLE_SYMBOL337_tree;
    pANTLR3_BASE_TREE ON_SYMBOL338_tree;
    pANTLR3_BASE_TREE SLAVE_SYMBOL339_tree;
    pANTLR3_BASE_TREE COMMENT_SYMBOL340_tree;
    pANTLR3_BASE_TREE DO_SYMBOL342_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    EVENT_SYMBOL326       = NULL;
    ON_SYMBOL329       = NULL;
    SCHEDULE_SYMBOL330       = NULL;
    ON_SYMBOL332       = NULL;
    COMPLETION_SYMBOL333       = NULL;
    NOT_SYMBOL334       = NULL;
    PRESERVE_SYMBOL335       = NULL;
    ENABLE_SYMBOL336       = NULL;
    DISABLE_SYMBOL337       = NULL;
    ON_SYMBOL338       = NULL;
    SLAVE_SYMBOL339       = NULL;
    COMMENT_SYMBOL340       = NULL;
    DO_SYMBOL342       = NULL;
    if_not_exists327.tree = NULL;

    identifier328.tree = NULL;

    schedule331.tree = NULL;

    string_literal341.tree = NULL;

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


    EVENT_SYMBOL326_tree   = NULL;
    ON_SYMBOL329_tree   = NULL;
    SCHEDULE_SYMBOL330_tree   = NULL;
    ON_SYMBOL332_tree   = NULL;
    COMPLETION_SYMBOL333_tree   = NULL;
    NOT_SYMBOL334_tree   = NULL;
    PRESERVE_SYMBOL335_tree   = NULL;
    ENABLE_SYMBOL336_tree   = NULL;
    DISABLE_SYMBOL337_tree   = NULL;
    ON_SYMBOL338_tree   = NULL;
    SLAVE_SYMBOL339_tree   = NULL;
    COMMENT_SYMBOL340_tree   = NULL;
    DO_SYMBOL342_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:486:13: ( EVENT_SYMBOL ( if_not_exists )? identifier 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:487:2: EVENT_SYMBOL ( if_not_exists )? identifier 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_SYMBOL326 = (pANTLR3_COMMON_TOKEN) MATCHT(EVENT_SYMBOL, &FOLLOW_EVENT_SYMBOL_in_create_event1772);
            if  (HASEXCEPTION())
            {
                goto rulecreate_eventEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

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

            // MySQL.g:487:15: ( if_not_exists )?
            {
                int alt101=2;
                switch ( LA(1) )
                {
                    case IF_SYMBOL:
                    	{
                    		alt101=1;
                    	}
                        break;
                }

                switch (alt101)
                {
            	case 1:
            	    // MySQL.g:487:15: if_not_exists
            	    {
            	        FOLLOWPUSH(FOLLOW_if_not_exists_in_create_event1774);
            	        if_not_exists327=if_not_exists(ctx);

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

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

            	    }
            	    break;

                }
            }

            FOLLOWPUSH(FOLLOW_identifier_in_create_event1777);
            identifier328=identifier(ctx);

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

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

            ON_SYMBOL329 = (pANTLR3_COMMON_TOKEN) MATCHT(ON_SYMBOL, &FOLLOW_ON_SYMBOL_in_create_event1779);
            if  (HASEXCEPTION())
            {
                goto rulecreate_eventEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

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

            SCHEDULE_SYMBOL330 = (pANTLR3_COMMON_TOKEN) MATCHT(SCHEDULE_SYMBOL, &FOLLOW_SCHEDULE_SYMBOL_in_create_event1781);
            if  (HASEXCEPTION())
            {
                goto rulecreate_eventEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

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

            FOLLOWPUSH(FOLLOW_schedule_in_create_event1783);
            schedule331=schedule(ctx);

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

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

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

                switch (alt103)
                {
            	case 1:
            	    // MySQL.g:488:4: ON_SYMBOL COMPLETION_SYMBOL ( NOT_SYMBOL )? PRESERVE_SYMBOL
            	    {
            	        ON_SYMBOL332 = (pANTLR3_COMMON_TOKEN) MATCHT(ON_SYMBOL, &FOLLOW_ON_SYMBOL_in_create_event1788);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecreate_eventEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

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

            	        COMPLETION_SYMBOL333 = (pANTLR3_COMMON_TOKEN) MATCHT(COMPLETION_SYMBOL, &FOLLOW_COMPLETION_SYMBOL_in_create_event1790);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecreate_eventEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

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

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

            	            switch (alt102)
            	            {
            	        	case 1:
            	        	    // MySQL.g:488:32: NOT_SYMBOL
            	        	    {
            	        	        NOT_SYMBOL334 = (pANTLR3_COMMON_TOKEN) MATCHT(NOT_SYMBOL, &FOLLOW_NOT_SYMBOL_in_create_event1792);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulecreate_eventEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

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

            	        	    }
            	        	    break;

            	            }
            	        }

            	        PRESERVE_SYMBOL335 = (pANTLR3_COMMON_TOKEN) MATCHT(PRESERVE_SYMBOL, &FOLLOW_PRESERVE_SYMBOL_in_create_event1795);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecreate_eventEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

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

            	    }
            	    break;

                }
            }

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

                switch (alt105)
                {
            	case 1:
            	    // MySQL.g:489:4: ENABLE_SYMBOL
            	    {
            	        ENABLE_SYMBOL336 = (pANTLR3_COMMON_TOKEN) MATCHT(ENABLE_SYMBOL, &FOLLOW_ENABLE_SYMBOL_in_create_event1802);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecreate_eventEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

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

            	    }
            	    break;
            	case 2:
            	    // MySQL.g:489:20: DISABLE_SYMBOL ( ON_SYMBOL SLAVE_SYMBOL )?
            	    {
            	        DISABLE_SYMBOL337 = (pANTLR3_COMMON_TOKEN) MATCHT(DISABLE_SYMBOL, &FOLLOW_DISABLE_SYMBOL_in_create_event1806);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecreate_eventEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

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

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

            	            switch (alt104)
            	            {
            	        	case 1:
            	        	    // MySQL.g:489:36: ON_SYMBOL SLAVE_SYMBOL
            	        	    {
            	        	        ON_SYMBOL338 = (pANTLR3_COMMON_TOKEN) MATCHT(ON_SYMBOL, &FOLLOW_ON_SYMBOL_in_create_event1809);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulecreate_eventEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

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

            	        	        SLAVE_SYMBOL339 = (pANTLR3_COMMON_TOKEN) MATCHT(SLAVE_SYMBOL, &FOLLOW_SLAVE_SYMBOL_in_create_event1811);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulecreate_eventEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

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

            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;

                }
            }

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

                switch (alt106)
                {
            	case 1:
            	    // MySQL.g:490:4: COMMENT_SYMBOL string_literal
            	    {
            	        COMMENT_SYMBOL340 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMENT_SYMBOL, &FOLLOW_COMMENT_SYMBOL_in_create_event1820);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecreate_eventEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

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

            	        FOLLOWPUSH(FOLLOW_string_literal_in_create_event1822);
            	        string_literal341=string_literal(ctx);

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

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

            	    }
            	    break;

                }
            }

            DO_SYMBOL342 = (pANTLR3_COMMON_TOKEN) MATCHT(DO_SYMBOL, &FOLLOW_DO_SYMBOL_in_create_event1828);
            if  (HASEXCEPTION())
            {
                goto rulecreate_eventEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

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

            FOLLOWPUSH(FOLLOW_compound_statement_in_create_event1830);
            compound_statement343=compound_statement(ctx);

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

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, compound_statement343.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_routine_or_udf
 * MySQL.g:494:1: create_routine_or_udf : ( PROCEDURE_SYMBOL qualified_identifier OPEN_PAR_SYMBOL ( procedure_parameter ( COMMA_SYMBOL procedure_parameter )* )? CLOSE_PAR_SYMBOL ( routine_create_option )* compound_statement | FUNCTION_SYMBOL ( qualified_identifier OPEN_PAR_SYMBOL ( function_parameter ( COMMA_SYMBOL function_parameter )* )? CLOSE_PAR_SYMBOL RETURNS_SYMBOL data_type ( routine_create_option )* compound_statement | udf_tail ) | AGGREGATE_SYMBOL FUNCTION_SYMBOL udf_tail );
 */
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;

    pANTLR3_COMMON_TOKEN    PROCEDURE_SYMBOL344;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL346;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL348;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL350;
    pANTLR3_COMMON_TOKEN    FUNCTION_SYMBOL353;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL355;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL357;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL359;
    pANTLR3_COMMON_TOKEN    RETURNS_SYMBOL360;
    pANTLR3_COMMON_TOKEN    AGGREGATE_SYMBOL365;
    pANTLR3_COMMON_TOKEN    FUNCTION_SYMBOL366;
    MySQLParser_qualified_identifier_return qualified_identifier345;
    #undef	RETURN_TYPE_qualified_identifier345
    #define	RETURN_TYPE_qualified_identifier345 MySQLParser_qualified_identifier_return

    MySQLParser_procedure_parameter_return procedure_parameter347;
    #undef	RETURN_TYPE_procedure_parameter347
    #define	RETURN_TYPE_procedure_parameter347 MySQLParser_procedure_parameter_return

    MySQLParser_procedure_parameter_return procedure_parameter349;
    #undef	RETURN_TYPE_procedure_parameter349
    #define	RETURN_TYPE_procedure_parameter349 MySQLParser_procedure_parameter_return

    MySQLParser_routine_create_option_return routine_create_option351;
    #undef	RETURN_TYPE_routine_create_option351
    #define	RETURN_TYPE_routine_create_option351 MySQLParser_routine_create_option_return

    MySQLParser_compound_statement_return compound_statement352;
    #undef	RETURN_TYPE_compound_statement352
    #define	RETURN_TYPE_compound_statement352 MySQLParser_compound_statement_return

    MySQLParser_qualified_identifier_return qualified_identifier354;
    #undef	RETURN_TYPE_qualified_identifier354
    #define	RETURN_TYPE_qualified_identifier354 MySQLParser_qualified_identifier_return

    MySQLParser_function_parameter_return function_parameter356;
    #undef	RETURN_TYPE_function_parameter356
    #define	RETURN_TYPE_function_parameter356 MySQLParser_function_parameter_return

    MySQLParser_function_parameter_return function_parameter358;
    #undef	RETURN_TYPE_function_parameter358
    #define	RETURN_TYPE_function_parameter358 MySQLParser_function_parameter_return

    MySQLParser_data_type_return data_type361;
    #undef	RETURN_TYPE_data_type361
    #define	RETURN_TYPE_data_type361 MySQLParser_data_type_return

    MySQLParser_routine_create_option_return routine_create_option362;
    #undef	RETURN_TYPE_routine_create_option362
    #define	RETURN_TYPE_routine_create_option362 MySQLParser_routine_create_option_return

    MySQLParser_compound_statement_return compound_statement363;
    #undef	RETURN_TYPE_compound_statement363
    #define	RETURN_TYPE_compound_statement363 MySQLParser_compound_statement_return

    MySQLParser_udf_tail_return udf_tail364;
    #undef	RETURN_TYPE_udf_tail364
    #define	RETURN_TYPE_udf_tail364 MySQLParser_udf_tail_return

    MySQLParser_udf_tail_return udf_tail367;
    #undef	RETURN_TYPE_udf_tail367
    #define	RETURN_TYPE_udf_tail367 MySQLParser_udf_tail_return

    pANTLR3_BASE_TREE PROCEDURE_SYMBOL344_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL346_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL348_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL350_tree;
    pANTLR3_BASE_TREE FUNCTION_SYMBOL353_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL355_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL357_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL359_tree;
    pANTLR3_BASE_TREE RETURNS_SYMBOL360_tree;
    pANTLR3_BASE_TREE AGGREGATE_SYMBOL365_tree;
    pANTLR3_BASE_TREE FUNCTION_SYMBOL366_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    PROCEDURE_SYMBOL344       = NULL;
    OPEN_PAR_SYMBOL346       = NULL;
    COMMA_SYMBOL348       = NULL;
    CLOSE_PAR_SYMBOL350       = NULL;
    FUNCTION_SYMBOL353       = NULL;
    OPEN_PAR_SYMBOL355       = NULL;
    COMMA_SYMBOL357       = NULL;
    CLOSE_PAR_SYMBOL359       = NULL;
    RETURNS_SYMBOL360       = NULL;
    AGGREGATE_SYMBOL365       = NULL;
    FUNCTION_SYMBOL366       = NULL;
    qualified_identifier345.tree = NULL;

    procedure_parameter347.tree = NULL;

    procedure_parameter349.tree = NULL;

    routine_create_option351.tree = NULL;

    compound_statement352.tree = NULL;

    qualified_identifier354.tree = NULL;

    function_parameter356.tree = NULL;

    function_parameter358.tree = NULL;

    data_type361.tree = NULL;

    routine_create_option362.tree = NULL;

    compound_statement363.tree = NULL;

    udf_tail364.tree = NULL;

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


    PROCEDURE_SYMBOL344_tree   = NULL;
    OPEN_PAR_SYMBOL346_tree   = NULL;
    COMMA_SYMBOL348_tree   = NULL;
    CLOSE_PAR_SYMBOL350_tree   = NULL;
    FUNCTION_SYMBOL353_tree   = NULL;
    OPEN_PAR_SYMBOL355_tree   = NULL;
    COMMA_SYMBOL357_tree   = NULL;
    CLOSE_PAR_SYMBOL359_tree   = NULL;
    RETURNS_SYMBOL360_tree   = NULL;
    AGGREGATE_SYMBOL365_tree   = NULL;
    FUNCTION_SYMBOL366_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:494:22: ( PROCEDURE_SYMBOL qualified_identifier OPEN_PAR_SYMBOL ( procedure_parameter ( COMMA_SYMBOL procedure_parameter )* )? CLOSE_PAR_SYMBOL ( routine_create_option )* compound_statement | FUNCTION_SYMBOL ( qualified_identifier OPEN_PAR_SYMBOL ( function_parameter ( COMMA_SYMBOL function_parameter )* )? CLOSE_PAR_SYMBOL RETURNS_SYMBOL data_type ( routine_create_option )* compound_statement | udf_tail ) | AGGREGATE_SYMBOL FUNCTION_SYMBOL udf_tail )

            ANTLR3_UINT32 alt114;

            alt114=3;

            switch ( LA(1) )
            {
            case PROCEDURE_SYMBOL:
            	{
            		alt114=1;
            	}
                break;
            case FUNCTION_SYMBOL:
            	{
            		alt114=2;
            	}
                break;
            case AGGREGATE_SYMBOL:
            	{
            		alt114=3;
            	}
                break;

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

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


                goto rulecreate_routine_or_udfEx;

            }

            switch (alt114)
            {
        	case 1:
        	    // MySQL.g:495:2: PROCEDURE_SYMBOL qualified_identifier OPEN_PAR_SYMBOL ( procedure_parameter ( COMMA_SYMBOL procedure_parameter )* )? CLOSE_PAR_SYMBOL ( routine_create_option )* compound_statement
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        PROCEDURE_SYMBOL344 = (pANTLR3_COMMON_TOKEN) MATCHT(PROCEDURE_SYMBOL, &FOLLOW_PROCEDURE_SYMBOL_in_create_routine_or_udf1839);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecreate_routine_or_udfEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

        	        FOLLOWPUSH(FOLLOW_qualified_identifier_in_create_routine_or_udf1841);
        	        qualified_identifier345=qualified_identifier(ctx);

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

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

        	        OPEN_PAR_SYMBOL346 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_create_routine_or_udf1843);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecreate_routine_or_udfEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

        	        // MySQL.g:495:56: ( procedure_parameter ( COMMA_SYMBOL procedure_parameter )* )?
        	        {
        	            int alt108=2;
        	            {
        	                int LA108_0 = LA(1);
        	                if ( (LA108_0 == BACK_TICK_QUOTED_ID || LA108_0 == IDENTIFIER || LA108_0 == INOUT_SYMBOL || LA108_0 == IN_SYMBOL || LA108_0 == OUT_SYMBOL))
        	                {
        	                    alt108=1;
        	                }
        	                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA108_0 == DOUBLE_QUOTED_TEXT))
        	                {
        	                    alt108=1;
        	                }
        	                else if ( (((LA108_0 >= ACTION_SYMBOL) && (LA108_0 <= PARTITION_SYMBOL))))
        	                {
        	                    alt108=1;
        	                }
        	            }
        	            switch (alt108)
        	            {
        	        	case 1:
        	        	    // MySQL.g:495:57: procedure_parameter ( COMMA_SYMBOL procedure_parameter )*
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_procedure_parameter_in_create_routine_or_udf1846);
        	        	        procedure_parameter347=procedure_parameter(ctx);

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

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

        	        	        // MySQL.g:495:77: ( COMMA_SYMBOL procedure_parameter )*

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

        	        	            }

        	        	            switch (alt107)
        	        	            {
        	        	        	case 1:
        	        	        	    // MySQL.g:495:78: COMMA_SYMBOL procedure_parameter
        	        	        	    {
        	        	        	        COMMA_SYMBOL348 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_create_routine_or_udf1849);
        	        	        	        if  (HASEXCEPTION())
        	        	        	        {
        	        	        	            goto rulecreate_routine_or_udfEx;
        	        	        	        }
        	        	        	        if (HASFAILED())
        	        	        	        {
        	        	        	            return retval;
        	        	        	        }

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

        	        	        	        FOLLOWPUSH(FOLLOW_procedure_parameter_in_create_routine_or_udf1851);
        	        	        	        procedure_parameter349=procedure_parameter(ctx);

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

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

        	        	        	    }
        	        	        	    break;

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


        	        	    }
        	        	    break;

        	            }
        	        }

        	        CLOSE_PAR_SYMBOL350 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_create_routine_or_udf1857);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecreate_routine_or_udfEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

        	        // MySQL.g:496:3: ( routine_create_option )*

        	        for (;;)
        	        {
        	            int alt109=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:
        	            	{
        	            		alt109=1;
        	            	}
        	                break;

        	            }

        	            switch (alt109)
        	            {
        	        	case 1:
        	        	    // MySQL.g:496:3: routine_create_option
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_routine_create_option_in_create_routine_or_udf1861);
        	        	        routine_create_option351=routine_create_option(ctx);

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

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

        	        	    }
        	        	    break;

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


        	        FOLLOWPUSH(FOLLOW_compound_statement_in_create_routine_or_udf1864);
        	        compound_statement352=compound_statement(ctx);

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

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

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:497:4: FUNCTION_SYMBOL ( qualified_identifier OPEN_PAR_SYMBOL ( function_parameter ( COMMA_SYMBOL function_parameter )* )? CLOSE_PAR_SYMBOL RETURNS_SYMBOL data_type ( routine_create_option )* compound_statement | udf_tail )
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FUNCTION_SYMBOL353 = (pANTLR3_COMMON_TOKEN) MATCHT(FUNCTION_SYMBOL, &FOLLOW_FUNCTION_SYMBOL_in_create_routine_or_udf1869);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecreate_routine_or_udfEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

        	        // MySQL.g:498:3: ( qualified_identifier OPEN_PAR_SYMBOL ( function_parameter ( COMMA_SYMBOL function_parameter )* )? CLOSE_PAR_SYMBOL RETURNS_SYMBOL data_type ( routine_create_option )* compound_statement | udf_tail )
        	        {
        	            int alt113=2;
        	            {
        	                int LA113_0 = LA(1);
        	                if ( (LA113_0 == IDENTIFIER))
        	                {
        	                    switch ( LA(2) )
        	                    {
        	                    case DOT_SYMBOL:
        	                    case OPEN_PAR_SYMBOL:
        	                    	{
        	                    		alt113=1;
        	                    	}
        	                        break;
        	                    case RETURNS_SYMBOL:
        	                    	{
        	                    		alt113=2;
        	                    	}
        	                        break;

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

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


        	                        goto rulecreate_routine_or_udfEx;

        	                    }

        	                }
        	                else if ( (LA113_0 == BACK_TICK_QUOTED_ID))
        	                {
        	                    switch ( LA(2) )
        	                    {
        	                    case DOT_SYMBOL:
        	                    case OPEN_PAR_SYMBOL:
        	                    	{
        	                    		alt113=1;
        	                    	}
        	                        break;
        	                    case RETURNS_SYMBOL:
        	                    	{
        	                    		alt113=2;
        	                    	}
        	                        break;

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

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


        	                        goto rulecreate_routine_or_udfEx;

        	                    }

        	                }
        	                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA113_0 == DOUBLE_QUOTED_TEXT))
        	                {
        	                    {
        	                        int LA113_3 = LA(2);
        	                        if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA113_3 == DOT_SYMBOL || LA113_3 == OPEN_PAR_SYMBOL))
        	                        {
        	                            alt113=1;
        	                        }
        	                        else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA113_3 == RETURNS_SYMBOL))
        	                        {
        	                            alt113=2;
        	                        }
        	                        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        = 3;


        	                            goto rulecreate_routine_or_udfEx;

        	                        }
        	                    }
        	                }
        	                else if ( (((LA113_0 >= ACTION_SYMBOL) && (LA113_0 <= YEAR_SYMBOL))))
        	                {
        	                    switch ( LA(2) )
        	                    {
        	                    case DOT_SYMBOL:
        	                    case OPEN_PAR_SYMBOL:
        	                    	{
        	                    		alt113=1;
        	                    	}
        	                        break;
        	                    case RETURNS_SYMBOL:
        	                    	{
        	                    		alt113=2;
        	                    	}
        	                        break;

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

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


        	                        goto rulecreate_routine_or_udfEx;

        	                    }

        	                }
        	                else if ( (LA113_0 == PARTITION_SYMBOL))
        	                {
        	                    switch ( LA(2) )
        	                    {
        	                    case DOT_SYMBOL:
        	                    case OPEN_PAR_SYMBOL:
        	                    	{
        	                    		alt113=1;
        	                    	}
        	                        break;
        	                    case RETURNS_SYMBOL:
        	                    	{
        	                    		alt113=2;
        	                    	}
        	                        break;

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

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


        	                        goto rulecreate_routine_or_udfEx;

        	                    }

        	                }
        	                else if ( (((LA113_0 >= ASCII_SYMBOL) && (LA113_0 <= XA_SYMBOL))))
        	                {
        	                    switch ( LA(2) )
        	                    {
        	                    case DOT_SYMBOL:
        	                    case OPEN_PAR_SYMBOL:
        	                    	{
        	                    		alt113=1;
        	                    	}
        	                        break;
        	                    case RETURNS_SYMBOL:
        	                    	{
        	                    		alt113=2;
        	                    	}
        	                        break;

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

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


        	                        goto rulecreate_routine_or_udfEx;

        	                    }

        	                }
        	                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_routine_or_udfEx;

        	                }
        	            }
        	            switch (alt113)
        	            {
        	        	case 1:
        	        	    // MySQL.g:499:4: qualified_identifier OPEN_PAR_SYMBOL ( function_parameter ( COMMA_SYMBOL function_parameter )* )? CLOSE_PAR_SYMBOL RETURNS_SYMBOL data_type ( routine_create_option )* compound_statement
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_qualified_identifier_in_create_routine_or_udf1878);
        	        	        qualified_identifier354=qualified_identifier(ctx);

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

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

        	        	        OPEN_PAR_SYMBOL355 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_create_routine_or_udf1880);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulecreate_routine_or_udfEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

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

        	        	        // MySQL.g:499:41: ( function_parameter ( COMMA_SYMBOL function_parameter )* )?
        	        	        {
        	        	            int alt111=2;
        	        	            {
        	        	                int LA111_0 = LA(1);
        	        	                if ( (LA111_0 == BACK_TICK_QUOTED_ID || LA111_0 == IDENTIFIER))
        	        	                {
        	        	                    alt111=1;
        	        	                }
        	        	                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA111_0 == DOUBLE_QUOTED_TEXT))
        	        	                {
        	        	                    alt111=1;
        	        	                }
        	        	                else if ( (((LA111_0 >= ACTION_SYMBOL) && (LA111_0 <= PARTITION_SYMBOL))))
        	        	                {
        	        	                    alt111=1;
        	        	                }
        	        	            }
        	        	            switch (alt111)
        	        	            {
        	        	        	case 1:
        	        	        	    // MySQL.g:499:42: function_parameter ( COMMA_SYMBOL function_parameter )*
        	        	        	    {
        	        	        	        FOLLOWPUSH(FOLLOW_function_parameter_in_create_routine_or_udf1883);
        	        	        	        function_parameter356=function_parameter(ctx);

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

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

        	        	        	        // MySQL.g:499:61: ( COMMA_SYMBOL function_parameter )*

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

        	        	        	            }

        	        	        	            switch (alt110)
        	        	        	            {
        	        	        	        	case 1:
        	        	        	        	    // MySQL.g:499:62: COMMA_SYMBOL function_parameter
        	        	        	        	    {
        	        	        	        	        COMMA_SYMBOL357 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_create_routine_or_udf1886);
        	        	        	        	        if  (HASEXCEPTION())
        	        	        	        	        {
        	        	        	        	            goto rulecreate_routine_or_udfEx;
        	        	        	        	        }
        	        	        	        	        if (HASFAILED())
        	        	        	        	        {
        	        	        	        	            return retval;
        	        	        	        	        }

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

        	        	        	        	        FOLLOWPUSH(FOLLOW_function_parameter_in_create_routine_or_udf1888);
        	        	        	        	        function_parameter358=function_parameter(ctx);

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

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

        	        	        	        	    }
        	        	        	        	    break;

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


        	        	        	    }
        	        	        	    break;

        	        	            }
        	        	        }

        	        	        CLOSE_PAR_SYMBOL359 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_create_routine_or_udf1894);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulecreate_routine_or_udfEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

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

        	        	        RETURNS_SYMBOL360 = (pANTLR3_COMMON_TOKEN) MATCHT(RETURNS_SYMBOL, &FOLLOW_RETURNS_SYMBOL_in_create_routine_or_udf1896);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulecreate_routine_or_udfEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

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

        	        	        FOLLOWPUSH(FOLLOW_data_type_in_create_routine_or_udf1902);
        	        	        data_type361=data_type(ctx);

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

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

        	        	        // MySQL.g:500:15: ( routine_create_option )*

        	        	        for (;;)
        	        	        {
        	        	            int alt112=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:
        	        	            	{
        	        	            		alt112=1;
        	        	            	}
        	        	                break;

        	        	            }

        	        	            switch (alt112)
        	        	            {
        	        	        	case 1:
        	        	        	    // MySQL.g:500:15: routine_create_option
        	        	        	    {
        	        	        	        FOLLOWPUSH(FOLLOW_routine_create_option_in_create_routine_or_udf1904);
        	        	        	        routine_create_option362=routine_create_option(ctx);

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

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

        	        	        	    }
        	        	        	    break;

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


        	        	        FOLLOWPUSH(FOLLOW_compound_statement_in_create_routine_or_udf1907);
        	        	        compound_statement363=compound_statement(ctx);

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

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

        	        	    }
        	        	    break;
        	        	case 2:
        	        	    // MySQL.g:501:6: udf_tail
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_udf_tail_in_create_routine_or_udf1914);
        	        	        udf_tail364=udf_tail(ctx);

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

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

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 3:
        	    // MySQL.g:503:4: AGGREGATE_SYMBOL FUNCTION_SYMBOL udf_tail
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        AGGREGATE_SYMBOL365 = (pANTLR3_COMMON_TOKEN) MATCHT(AGGREGATE_SYMBOL, &FOLLOW_AGGREGATE_SYMBOL_in_create_routine_or_udf1923);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecreate_routine_or_udfEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

        	        FUNCTION_SYMBOL366 = (pANTLR3_COMMON_TOKEN) MATCHT(FUNCTION_SYMBOL, &FOLLOW_FUNCTION_SYMBOL_in_create_routine_or_udf1925);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecreate_routine_or_udfEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

        	        FOLLOWPUSH(FOLLOW_udf_tail_in_create_routine_or_udf1927);
        	        udf_tail367=udf_tail(ctx);

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

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, udf_tail367.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 udf_tail
 * MySQL.g:506:1: udf_tail : identifier RETURNS_SYMBOL ( STRING_SYMBOL | INTEGER_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_SYMBOL369;
    pANTLR3_COMMON_TOKEN    set370;
    pANTLR3_COMMON_TOKEN    SONAME_SYMBOL371;
    MySQLParser_identifier_return identifier368;
    #undef	RETURN_TYPE_identifier368
    #define	RETURN_TYPE_identifier368 MySQLParser_identifier_return

    MySQLParser_string_literal_return string_literal372;
    #undef	RETURN_TYPE_string_literal372
    #define	RETURN_TYPE_string_literal372 MySQLParser_string_literal_return

    pANTLR3_BASE_TREE RETURNS_SYMBOL369_tree;
    pANTLR3_BASE_TREE set370_tree;
    pANTLR3_BASE_TREE SONAME_SYMBOL371_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    RETURNS_SYMBOL369       = NULL;
    set370       = NULL;
    SONAME_SYMBOL371       = NULL;
    identifier368.tree = NULL;

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


    RETURNS_SYMBOL369_tree   = NULL;
    set370_tree   = NULL;
    SONAME_SYMBOL371_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:506:9: ( identifier RETURNS_SYMBOL ( STRING_SYMBOL | INTEGER_SYMBOL | REAL_SYMBOL | DECIMAL_SYMBOL ) SONAME_SYMBOL string_literal )
        // MySQL.g:507:2: identifier RETURNS_SYMBOL ( STRING_SYMBOL | INTEGER_SYMBOL | REAL_SYMBOL | DECIMAL_SYMBOL ) SONAME_SYMBOL string_literal
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            FOLLOWPUSH(FOLLOW_identifier_in_udf_tail1937);
            identifier368=identifier(ctx);

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

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

            RETURNS_SYMBOL369 = (pANTLR3_COMMON_TOKEN) MATCHT(RETURNS_SYMBOL, &FOLLOW_RETURNS_SYMBOL_in_udf_tail1939);
            if  (HASEXCEPTION())
            {
                goto ruleudf_tailEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

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

            set370=(pANTLR3_COMMON_TOKEN)LT(1);

            if ( LA(1) == STRING_SYMBOL || LA(1) == DECIMAL_SYMBOL || LA(1) == INTEGER_SYMBOL || LA(1) == REAL_SYMBOL )
            {
                CONSUME();
                if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, 
                (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set370))
                );
                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_SYMBOL371 = (pANTLR3_COMMON_TOKEN) MATCHT(SONAME_SYMBOL, &FOLLOW_SONAME_SYMBOL_in_udf_tail1957);
            if  (HASEXCEPTION())
            {
                goto ruleudf_tailEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

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

            FOLLOWPUSH(FOLLOW_string_literal_in_udf_tail1959);
            string_literal372=string_literal(ctx);

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

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_literal372.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_option
 * MySQL.g:510: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_SYMBOL374;
    pANTLR3_COMMON_TOKEN    DETERMINISTIC_SYMBOL375;
    MySQLParser_routine_option_return routine_option373;
    #undef	RETURN_TYPE_routine_option373
    #define	RETURN_TYPE_routine_option373 MySQLParser_routine_option_return

    pANTLR3_BASE_TREE NOT_SYMBOL374_tree;
    pANTLR3_BASE_TREE DETERMINISTIC_SYMBOL375_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    NOT_SYMBOL374       = NULL;
    DETERMINISTIC_SYMBOL375       = NULL;
    routine_option373.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    NOT_SYMBOL374_tree   = NULL;
    DETERMINISTIC_SYMBOL375_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:510:22: ( routine_option | ( NOT_SYMBOL )? DETERMINISTIC_SYMBOL )

            ANTLR3_UINT32 alt116;

            alt116=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:
            	{
            		alt116=1;
            	}
                break;
            case DETERMINISTIC_SYMBOL:
            case NOT_SYMBOL:
            	{
            		alt116=2;
            	}
                break;

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

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


                goto ruleroutine_create_optionEx;

            }

            switch (alt116)
            {
        	case 1:
        	    // MySQL.g:511:2: routine_option
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_routine_option_in_routine_create_option1968);
        	        routine_option373=routine_option(ctx);

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

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

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:512:4: ( NOT_SYMBOL )? DETERMINISTIC_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        // MySQL.g:512:4: ( NOT_SYMBOL )?
        	        {
        	            int alt115=2;
        	            switch ( LA(1) )
        	            {
        	                case NOT_SYMBOL:
        	                	{
        	                		alt115=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt115)
        	            {
        	        	case 1:
        	        	    // MySQL.g:512:4: NOT_SYMBOL
        	        	    {
        	        	        NOT_SYMBOL374 = (pANTLR3_COMMON_TOKEN) MATCHT(NOT_SYMBOL, &FOLLOW_NOT_SYMBOL_in_routine_create_option1973);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleroutine_create_optionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

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

        	        	    }
        	        	    break;

        	            }
        	        }

        	        DETERMINISTIC_SYMBOL375 = (pANTLR3_COMMON_TOKEN) MATCHT(DETERMINISTIC_SYMBOL, &FOLLOW_DETERMINISTIC_SYMBOL_in_routine_create_option1976);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleroutine_create_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        DETERMINISTIC_SYMBOL375_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DETERMINISTIC_SYMBOL375));
        	        ADAPTOR->addChild(ADAPTOR, root_0, DETERMINISTIC_SYMBOL375_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_option
 * MySQL.g:515: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_SYMBOL376;
    pANTLR3_COMMON_TOKEN    LANGUAGE_SYMBOL378;
    pANTLR3_COMMON_TOKEN    SQL_SYMBOL379;
    pANTLR3_COMMON_TOKEN    NO_SYMBOL380;
    pANTLR3_COMMON_TOKEN    SQL_SYMBOL381;
    pANTLR3_COMMON_TOKEN    CONTAINS_SYMBOL382;
    pANTLR3_COMMON_TOKEN    SQL_SYMBOL383;
    pANTLR3_COMMON_TOKEN    READS_SYMBOL384;
    pANTLR3_COMMON_TOKEN    SQL_SYMBOL385;
    pANTLR3_COMMON_TOKEN    DATA_SYMBOL386;
    pANTLR3_COMMON_TOKEN    MODIFIES_SYMBOL387;
    pANTLR3_COMMON_TOKEN    SQL_SYMBOL388;
    pANTLR3_COMMON_TOKEN    DATA_SYMBOL389;
    pANTLR3_COMMON_TOKEN    SQL_SYMBOL390;
    pANTLR3_COMMON_TOKEN    SECURITY_SYMBOL391;
    pANTLR3_COMMON_TOKEN    set392;
    MySQLParser_string_literal_return string_literal377;
    #undef	RETURN_TYPE_string_literal377
    #define	RETURN_TYPE_string_literal377 MySQLParser_string_literal_return

    pANTLR3_BASE_TREE COMMENT_SYMBOL376_tree;
    pANTLR3_BASE_TREE LANGUAGE_SYMBOL378_tree;
    pANTLR3_BASE_TREE SQL_SYMBOL379_tree;
    pANTLR3_BASE_TREE NO_SYMBOL380_tree;
    pANTLR3_BASE_TREE SQL_SYMBOL381_tree;
    pANTLR3_BASE_TREE CONTAINS_SYMBOL382_tree;
    pANTLR3_BASE_TREE SQL_SYMBOL383_tree;
    pANTLR3_BASE_TREE READS_SYMBOL384_tree;
    pANTLR3_BASE_TREE SQL_SYMBOL385_tree;
    pANTLR3_BASE_TREE DATA_SYMBOL386_tree;
    pANTLR3_BASE_TREE MODIFIES_SYMBOL387_tree;
    pANTLR3_BASE_TREE SQL_SYMBOL388_tree;
    pANTLR3_BASE_TREE DATA_SYMBOL389_tree;
    pANTLR3_BASE_TREE SQL_SYMBOL390_tree;
    pANTLR3_BASE_TREE SECURITY_SYMBOL391_tree;
    pANTLR3_BASE_TREE set392_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    COMMENT_SYMBOL376       = NULL;
    LANGUAGE_SYMBOL378       = NULL;
    SQL_SYMBOL379       = NULL;
    NO_SYMBOL380       = NULL;
    SQL_SYMBOL381       = NULL;
    CONTAINS_SYMBOL382       = NULL;
    SQL_SYMBOL383       = NULL;
    READS_SYMBOL384       = NULL;
    SQL_SYMBOL385       = NULL;
    DATA_SYMBOL386       = NULL;
    MODIFIES_SYMBOL387       = NULL;
    SQL_SYMBOL388       = NULL;
    DATA_SYMBOL389       = NULL;
    SQL_SYMBOL390       = NULL;
    SECURITY_SYMBOL391       = NULL;
    set392       = NULL;
    string_literal377.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    COMMENT_SYMBOL376_tree   = NULL;
    LANGUAGE_SYMBOL378_tree   = NULL;
    SQL_SYMBOL379_tree   = NULL;
    NO_SYMBOL380_tree   = NULL;
    SQL_SYMBOL381_tree   = NULL;
    CONTAINS_SYMBOL382_tree   = NULL;
    SQL_SYMBOL383_tree   = NULL;
    READS_SYMBOL384_tree   = NULL;
    SQL_SYMBOL385_tree   = NULL;
    DATA_SYMBOL386_tree   = NULL;
    MODIFIES_SYMBOL387_tree   = NULL;
    SQL_SYMBOL388_tree   = NULL;
    DATA_SYMBOL389_tree   = NULL;
    SQL_SYMBOL390_tree   = NULL;
    SECURITY_SYMBOL391_tree   = NULL;
    set392_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:515: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 alt117;

            alt117=7;

            switch ( LA(1) )
            {
            case COMMENT_SYMBOL:
            	{
            		alt117=1;
            	}
                break;
            case LANGUAGE_SYMBOL:
            	{
            		alt117=2;
            	}
                break;
            case NO_SYMBOL:
            	{
            		alt117=3;
            	}
                break;
            case CONTAINS_SYMBOL:
            	{
            		alt117=4;
            	}
                break;
            case READS_SYMBOL:
            	{
            		alt117=5;
            	}
                break;
            case MODIFIES_SYMBOL:
            	{
            		alt117=6;
            	}
                break;
            case SQL_SYMBOL:
            	{
            		alt117=7;
            	}
                break;

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

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


                goto ruleroutine_optionEx;

            }

            switch (alt117)
            {
        	case 1:
        	    // MySQL.g:516:2: COMMENT_SYMBOL string_literal
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        COMMENT_SYMBOL376 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMENT_SYMBOL, &FOLLOW_COMMENT_SYMBOL_in_routine_option1985);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleroutine_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

        	        FOLLOWPUSH(FOLLOW_string_literal_in_routine_option1987);
        	        string_literal377=string_literal(ctx);

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

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

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


        	        LANGUAGE_SYMBOL378 = (pANTLR3_COMMON_TOKEN) MATCHT(LANGUAGE_SYMBOL, &FOLLOW_LANGUAGE_SYMBOL_in_routine_option1992);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleroutine_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

        	        SQL_SYMBOL379 = (pANTLR3_COMMON_TOKEN) MATCHT(SQL_SYMBOL, &FOLLOW_SQL_SYMBOL_in_routine_option1994);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleroutine_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

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


        	        NO_SYMBOL380 = (pANTLR3_COMMON_TOKEN) MATCHT(NO_SYMBOL, &FOLLOW_NO_SYMBOL_in_routine_option1999);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleroutine_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

        	        SQL_SYMBOL381 = (pANTLR3_COMMON_TOKEN) MATCHT(SQL_SYMBOL, &FOLLOW_SQL_SYMBOL_in_routine_option2001);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleroutine_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

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


        	        CONTAINS_SYMBOL382 = (pANTLR3_COMMON_TOKEN) MATCHT(CONTAINS_SYMBOL, &FOLLOW_CONTAINS_SYMBOL_in_routine_option2006);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleroutine_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

        	        SQL_SYMBOL383 = (pANTLR3_COMMON_TOKEN) MATCHT(SQL_SYMBOL, &FOLLOW_SQL_SYMBOL_in_routine_option2008);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleroutine_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

        	    }
        	    break;
        	case 5:
        	    // MySQL.g:520:4: READS_SYMBOL SQL_SYMBOL DATA_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        READS_SYMBOL384 = (pANTLR3_COMMON_TOKEN) MATCHT(READS_SYMBOL, &FOLLOW_READS_SYMBOL_in_routine_option2013);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleroutine_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

        	        SQL_SYMBOL385 = (pANTLR3_COMMON_TOKEN) MATCHT(SQL_SYMBOL, &FOLLOW_SQL_SYMBOL_in_routine_option2015);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleroutine_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

        	        DATA_SYMBOL386 = (pANTLR3_COMMON_TOKEN) MATCHT(DATA_SYMBOL, &FOLLOW_DATA_SYMBOL_in_routine_option2017);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleroutine_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

        	    }
        	    break;
        	case 6:
        	    // MySQL.g:521:4: MODIFIES_SYMBOL SQL_SYMBOL DATA_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        MODIFIES_SYMBOL387 = (pANTLR3_COMMON_TOKEN) MATCHT(MODIFIES_SYMBOL, &FOLLOW_MODIFIES_SYMBOL_in_routine_option2022);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleroutine_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

        	        SQL_SYMBOL388 = (pANTLR3_COMMON_TOKEN) MATCHT(SQL_SYMBOL, &FOLLOW_SQL_SYMBOL_in_routine_option2024);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleroutine_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

        	        DATA_SYMBOL389 = (pANTLR3_COMMON_TOKEN) MATCHT(DATA_SYMBOL, &FOLLOW_DATA_SYMBOL_in_routine_option2026);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleroutine_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

        	    }
        	    break;
        	case 7:
        	    // MySQL.g:522:4: SQL_SYMBOL SECURITY_SYMBOL ( DEFINER_SYMBOL | INVOKER_SYMBOL )
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        SQL_SYMBOL390 = (pANTLR3_COMMON_TOKEN) MATCHT(SQL_SYMBOL, &FOLLOW_SQL_SYMBOL_in_routine_option2031);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleroutine_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

        	        SECURITY_SYMBOL391 = (pANTLR3_COMMON_TOKEN) MATCHT(SECURITY_SYMBOL, &FOLLOW_SECURITY_SYMBOL_in_routine_option2033);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleroutine_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

        	        set392=(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, set392))
        	            );
        	            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:525:1: create_index : ( 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_return
create_index(pMySQLParser ctx)
{
    MySQLParser_create_index_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    UNIQUE_SYMBOL394;
    pANTLR3_COMMON_TOKEN    INDEX_SYMBOL395;
    pANTLR3_COMMON_TOKEN    FULLTEXT_SYMBOL401;
    pANTLR3_COMMON_TOKEN    INDEX_SYMBOL402;
    pANTLR3_COMMON_TOKEN    SPATIAL_SYMBOL407;
    pANTLR3_COMMON_TOKEN    INDEX_SYMBOL408;
    MySQLParser_online_option_return online_option393;
    #undef	RETURN_TYPE_online_option393
    #define	RETURN_TYPE_online_option393 MySQLParser_online_option_return

    MySQLParser_identifier_return identifier396;
    #undef	RETURN_TYPE_identifier396
    #define	RETURN_TYPE_identifier396 MySQLParser_identifier_return

    MySQLParser_index_type_return index_type397;
    #undef	RETURN_TYPE_index_type397
    #define	RETURN_TYPE_index_type397 MySQLParser_index_type_return

    MySQLParser_create_index_target_return create_index_target398;
    #undef	RETURN_TYPE_create_index_target398
    #define	RETURN_TYPE_create_index_target398 MySQLParser_create_index_target_return

    MySQLParser_index_option_return index_option399;
    #undef	RETURN_TYPE_index_option399
    #define	RETURN_TYPE_index_option399 MySQLParser_index_option_return

    MySQLParser_index_lock_algorithm_return index_lock_algorithm400;
    #undef	RETURN_TYPE_index_lock_algorithm400
    #define	RETURN_TYPE_index_lock_algorithm400 MySQLParser_index_lock_algorithm_return

    MySQLParser_identifier_return identifier403;
    #undef	RETURN_TYPE_identifier403
    #define	RETURN_TYPE_identifier403 MySQLParser_identifier_return

    MySQLParser_create_index_target_return create_index_target404;
    #undef	RETURN_TYPE_create_index_target404
    #define	RETURN_TYPE_create_index_target404 MySQLParser_create_index_target_return

    MySQLParser_fulltext_index_option_return fulltext_index_option405;
    #undef	RETURN_TYPE_fulltext_index_option405
    #define	RETURN_TYPE_fulltext_index_option405 MySQLParser_fulltext_index_option_return

    MySQLParser_index_lock_algorithm_return index_lock_algorithm406;
    #undef	RETURN_TYPE_index_lock_algorithm406
    #define	RETURN_TYPE_index_lock_algorithm406 MySQLParser_index_lock_algorithm_return

    MySQLParser_identifier_return identifier409;
    #undef	RETURN_TYPE_identifier409
    #define	RETURN_TYPE_identifier409 MySQLParser_identifier_return

    MySQLParser_create_index_target_return create_index_target410;
    #undef	RETURN_TYPE_create_index_target410
    #define	RETURN_TYPE_create_index_target410 MySQLParser_create_index_target_return

    MySQLParser_spatial_index_option_return spatial_index_option411;
    #undef	RETURN_TYPE_spatial_index_option411
    #define	RETURN_TYPE_spatial_index_option411 MySQLParser_spatial_index_option_return

    MySQLParser_index_lock_algorithm_return index_lock_algorithm412;
    #undef	RETURN_TYPE_index_lock_algorithm412
    #define	RETURN_TYPE_index_lock_algorithm412 MySQLParser_index_lock_algorithm_return

    pANTLR3_BASE_TREE UNIQUE_SYMBOL394_tree;
    pANTLR3_BASE_TREE INDEX_SYMBOL395_tree;
    pANTLR3_BASE_TREE FULLTEXT_SYMBOL401_tree;
    pANTLR3_BASE_TREE INDEX_SYMBOL402_tree;
    pANTLR3_BASE_TREE SPATIAL_SYMBOL407_tree;
    pANTLR3_BASE_TREE INDEX_SYMBOL408_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    UNIQUE_SYMBOL394       = NULL;
    INDEX_SYMBOL395       = NULL;
    FULLTEXT_SYMBOL401       = NULL;
    INDEX_SYMBOL402       = NULL;
    SPATIAL_SYMBOL407       = NULL;
    INDEX_SYMBOL408       = NULL;
    online_option393.tree = NULL;

    identifier396.tree = NULL;

    index_type397.tree = NULL;

    create_index_target398.tree = NULL;

    index_option399.tree = NULL;

    index_lock_algorithm400.tree = NULL;

    identifier403.tree = NULL;

    create_index_target404.tree = NULL;

    fulltext_index_option405.tree = NULL;

    index_lock_algorithm406.tree = NULL;

    identifier409.tree = NULL;

    create_index_target410.tree = NULL;

    spatial_index_option411.tree = NULL;

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


    UNIQUE_SYMBOL394_tree   = NULL;
    INDEX_SYMBOL395_tree   = NULL;
    FULLTEXT_SYMBOL401_tree   = NULL;
    INDEX_SYMBOL402_tree   = NULL;
    SPATIAL_SYMBOL407_tree   = NULL;
    INDEX_SYMBOL408_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:525:13: ( ( 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:526: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:526:2: ( online_option )?
            {
                int alt118=2;
                {
                    int LA118_0 = LA(1);
                    if ( ((SERVER_VERSION < 50600)) && (((LA118_0 >= OFFLINE_SYMBOL) && (LA118_0 <= ONLINE_SYMBOL))))
                    {
                        alt118=1;
                    }
                }
                switch (alt118)
                {
            	case 1:
            	    // MySQL.g:526:2: online_option
            	    {
            	        FOLLOWPUSH(FOLLOW_online_option_in_create_index2050);
            	        online_option393=online_option(ctx);

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

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

            	    }
            	    break;

                }
            }

            // MySQL.g:527: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 alt127=3;
                switch ( LA(1) )
                {
                case INDEX_SYMBOL:
                case UNIQUE_SYMBOL:
                	{
                		alt127=1;
                	}
                    break;
                case FULLTEXT_SYMBOL:
                	{
                		alt127=2;
                	}
                    break;
                case SPATIAL_SYMBOL:
                	{
                		alt127=3;
                	}
                    break;

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

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


                    goto rulecreate_indexEx;

                }

                switch (alt127)
                {
            	case 1:
            	    // MySQL.g:528:3: ( UNIQUE_SYMBOL )? INDEX_SYMBOL identifier ( index_type )? create_index_target ( index_option )* ( index_lock_algorithm )?
            	    {
            	        // MySQL.g:528:3: ( UNIQUE_SYMBOL )?
            	        {
            	            int alt119=2;
            	            switch ( LA(1) )
            	            {
            	                case UNIQUE_SYMBOL:
            	                	{
            	                		alt119=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt119)
            	            {
            	        	case 1:
            	        	    // MySQL.g:528:3: UNIQUE_SYMBOL
            	        	    {
            	        	        UNIQUE_SYMBOL394 = (pANTLR3_COMMON_TOKEN) MATCHT(UNIQUE_SYMBOL, &FOLLOW_UNIQUE_SYMBOL_in_create_index2058);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulecreate_indexEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

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

            	        	    }
            	        	    break;

            	            }
            	        }

            	        INDEX_SYMBOL395 = (pANTLR3_COMMON_TOKEN) MATCHT(INDEX_SYMBOL, &FOLLOW_INDEX_SYMBOL_in_create_index2061);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecreate_indexEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

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

            	        FOLLOWPUSH(FOLLOW_identifier_in_create_index2063);
            	        identifier396=identifier(ctx);

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

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

            	        // MySQL.g:528:42: ( index_type )?
            	        {
            	            int alt120=2;
            	            switch ( LA(1) )
            	            {
            	                case TYPE_SYMBOL:
            	                case USING_SYMBOL:
            	                	{
            	                		alt120=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt120)
            	            {
            	        	case 1:
            	        	    // MySQL.g:528:42: index_type
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_index_type_in_create_index2065);
            	        	        index_type397=index_type(ctx);

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

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

            	        	    }
            	        	    break;

            	            }
            	        }

            	        FOLLOWPUSH(FOLLOW_create_index_target_in_create_index2068);
            	        create_index_target398=create_index_target(ctx);

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

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

            	        // MySQL.g:528:74: ( index_option )*

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

            	            }
            	            switch (alt121)
            	            {
            	        	case 1:
            	        	    // MySQL.g:528:74: index_option
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_index_option_in_create_index2070);
            	        	        index_option399=index_option(ctx);

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

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

            	        	    }
            	        	    break;

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


            	        // MySQL.g:528:88: ( index_lock_algorithm )?
            	        {
            	            int alt122=2;
            	            {
            	                int LA122_0 = LA(1);
            	                if ( ((SERVER_VERSION >= 50600)) && (LA122_0 == ALGORITHM_SYMBOL || LA122_0 == LOCK_SYMBOL))
            	                {
            	                    alt122=1;
            	                }
            	            }
            	            switch (alt122)
            	            {
            	        	case 1:
            	        	    // MySQL.g:528:88: index_lock_algorithm
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_index_lock_algorithm_in_create_index2073);
            	        	        index_lock_algorithm400=index_lock_algorithm(ctx);

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

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

            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;
            	case 2:
            	    // MySQL.g:529:5: FULLTEXT_SYMBOL INDEX_SYMBOL identifier create_index_target ( fulltext_index_option )* ( index_lock_algorithm )?
            	    {
            	        FULLTEXT_SYMBOL401 = (pANTLR3_COMMON_TOKEN) MATCHT(FULLTEXT_SYMBOL, &FOLLOW_FULLTEXT_SYMBOL_in_create_index2080);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecreate_indexEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

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

            	        INDEX_SYMBOL402 = (pANTLR3_COMMON_TOKEN) MATCHT(INDEX_SYMBOL, &FOLLOW_INDEX_SYMBOL_in_create_index2082);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecreate_indexEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

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

            	        FOLLOWPUSH(FOLLOW_identifier_in_create_index2084);
            	        identifier403=identifier(ctx);

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

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

            	        FOLLOWPUSH(FOLLOW_create_index_target_in_create_index2086);
            	        create_index_target404=create_index_target(ctx);

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

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

            	        // MySQL.g:529:65: ( fulltext_index_option )*

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

            	            }
            	            switch (alt123)
            	            {
            	        	case 1:
            	        	    // MySQL.g:529:65: fulltext_index_option
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_fulltext_index_option_in_create_index2088);
            	        	        fulltext_index_option405=fulltext_index_option(ctx);

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

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

            	        	    }
            	        	    break;

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


            	        // MySQL.g:529:88: ( index_lock_algorithm )?
            	        {
            	            int alt124=2;
            	            {
            	                int LA124_0 = LA(1);
            	                if ( ((SERVER_VERSION >= 50600)) && (LA124_0 == ALGORITHM_SYMBOL || LA124_0 == LOCK_SYMBOL))
            	                {
            	                    alt124=1;
            	                }
            	            }
            	            switch (alt124)
            	            {
            	        	case 1:
            	        	    // MySQL.g:529:88: index_lock_algorithm
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_index_lock_algorithm_in_create_index2091);
            	        	        index_lock_algorithm406=index_lock_algorithm(ctx);

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

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

            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;
            	case 3:
            	    // MySQL.g:530:5: SPATIAL_SYMBOL INDEX_SYMBOL identifier create_index_target ( spatial_index_option )* ( index_lock_algorithm )?
            	    {
            	        SPATIAL_SYMBOL407 = (pANTLR3_COMMON_TOKEN) MATCHT(SPATIAL_SYMBOL, &FOLLOW_SPATIAL_SYMBOL_in_create_index2098);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecreate_indexEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

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

            	        INDEX_SYMBOL408 = (pANTLR3_COMMON_TOKEN) MATCHT(INDEX_SYMBOL, &FOLLOW_INDEX_SYMBOL_in_create_index2100);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecreate_indexEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

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

            	        FOLLOWPUSH(FOLLOW_identifier_in_create_index2102);
            	        identifier409=identifier(ctx);

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

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

            	        FOLLOWPUSH(FOLLOW_create_index_target_in_create_index2104);
            	        create_index_target410=create_index_target(ctx);

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

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

            	        // MySQL.g:530:64: ( spatial_index_option )*

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

            	            }
            	            switch (alt125)
            	            {
            	        	case 1:
            	        	    // MySQL.g:530:64: spatial_index_option
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_spatial_index_option_in_create_index2106);
            	        	        spatial_index_option411=spatial_index_option(ctx);

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

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

            	        	    }
            	        	    break;

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


            	        // MySQL.g:530:86: ( index_lock_algorithm )?
            	        {
            	            int alt126=2;
            	            {
            	                int LA126_0 = LA(1);
            	                if ( ((SERVER_VERSION >= 50600)) && (LA126_0 == ALGORITHM_SYMBOL || LA126_0 == LOCK_SYMBOL))
            	                {
            	                    alt126=1;
            	                }
            	            }
            	            switch (alt126)
            	            {
            	        	case 1:
            	        	    // MySQL.g:530:86: index_lock_algorithm
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_index_lock_algorithm_in_create_index2109);
            	        	        index_lock_algorithm412=index_lock_algorithm(ctx);

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

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

            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;

                }
            }

        }

    }

    // 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_target
 * MySQL.g:534:1: create_index_target : ON_SYMBOL ^ table_identifier 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_SYMBOL413;
    MySQLParser_table_identifier_return table_identifier414;
    #undef	RETURN_TYPE_table_identifier414
    #define	RETURN_TYPE_table_identifier414 MySQLParser_table_identifier_return

    MySQLParser_index_columns_return index_columns415;
    #undef	RETURN_TYPE_index_columns415
    #define	RETURN_TYPE_index_columns415 MySQLParser_index_columns_return

    pANTLR3_BASE_TREE ON_SYMBOL413_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    ON_SYMBOL413       = NULL;
    table_identifier414.tree = NULL;

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


    ON_SYMBOL413_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:534:20: ( ON_SYMBOL ^ table_identifier index_columns )
        // MySQL.g:535:2: ON_SYMBOL ^ table_identifier index_columns
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            ON_SYMBOL413 = (pANTLR3_COMMON_TOKEN) MATCHT(ON_SYMBOL, &FOLLOW_ON_SYMBOL_in_create_index_target2122);
            if  (HASEXCEPTION())
            {
                goto rulecreate_index_targetEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

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

            FOLLOWPUSH(FOLLOW_table_identifier_in_create_index_target2125);
            table_identifier414=table_identifier(ctx);

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

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

            FOLLOWPUSH(FOLLOW_index_columns_in_create_index_target2127);
            index_columns415=index_columns(ctx);

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

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, index_columns415.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:538:1: create_logfile_group : LOGFILE_SYMBOL GROUP_SYMBOL identifier ADD_SYMBOL ( UNDOFILE_SYMBOL | REDOFILE_SYMBOL ) string_literal ( logfile_group_options )? ;
 */
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    LOGFILE_SYMBOL416;
    pANTLR3_COMMON_TOKEN    GROUP_SYMBOL417;
    pANTLR3_COMMON_TOKEN    ADD_SYMBOL419;
    pANTLR3_COMMON_TOKEN    set420;
    MySQLParser_identifier_return identifier418;
    #undef	RETURN_TYPE_identifier418
    #define	RETURN_TYPE_identifier418 MySQLParser_identifier_return

    MySQLParser_string_literal_return string_literal421;
    #undef	RETURN_TYPE_string_literal421
    #define	RETURN_TYPE_string_literal421 MySQLParser_string_literal_return

    MySQLParser_logfile_group_options_return logfile_group_options422;
    #undef	RETURN_TYPE_logfile_group_options422
    #define	RETURN_TYPE_logfile_group_options422 MySQLParser_logfile_group_options_return

    pANTLR3_BASE_TREE LOGFILE_SYMBOL416_tree;
    pANTLR3_BASE_TREE GROUP_SYMBOL417_tree;
    pANTLR3_BASE_TREE ADD_SYMBOL419_tree;
    pANTLR3_BASE_TREE set420_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    LOGFILE_SYMBOL416       = NULL;
    GROUP_SYMBOL417       = NULL;
    ADD_SYMBOL419       = NULL;
    set420       = NULL;
    identifier418.tree = NULL;

    string_literal421.tree = NULL;

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


    LOGFILE_SYMBOL416_tree   = NULL;
    GROUP_SYMBOL417_tree   = NULL;
    ADD_SYMBOL419_tree   = NULL;
    set420_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:538:21: ( LOGFILE_SYMBOL GROUP_SYMBOL identifier ADD_SYMBOL ( UNDOFILE_SYMBOL | REDOFILE_SYMBOL ) string_literal ( logfile_group_options )? )
        // MySQL.g:539:2: LOGFILE_SYMBOL GROUP_SYMBOL identifier ADD_SYMBOL ( UNDOFILE_SYMBOL | REDOFILE_SYMBOL ) string_literal ( logfile_group_options )?
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            LOGFILE_SYMBOL416 = (pANTLR3_COMMON_TOKEN) MATCHT(LOGFILE_SYMBOL, &FOLLOW_LOGFILE_SYMBOL_in_create_logfile_group2136);
            if  (HASEXCEPTION())
            {
                goto rulecreate_logfile_groupEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

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

            GROUP_SYMBOL417 = (pANTLR3_COMMON_TOKEN) MATCHT(GROUP_SYMBOL, &FOLLOW_GROUP_SYMBOL_in_create_logfile_group2138);
            if  (HASEXCEPTION())
            {
                goto rulecreate_logfile_groupEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

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

            FOLLOWPUSH(FOLLOW_identifier_in_create_logfile_group2140);
            identifier418=identifier(ctx);

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

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

            ADD_SYMBOL419 = (pANTLR3_COMMON_TOKEN) MATCHT(ADD_SYMBOL, &FOLLOW_ADD_SYMBOL_in_create_logfile_group2142);
            if  (HASEXCEPTION())
            {
                goto rulecreate_logfile_groupEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

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

            set420=(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, set420))
                );
                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_groupEx;
            }


            FOLLOWPUSH(FOLLOW_string_literal_in_create_logfile_group2152);
            string_literal421=string_literal(ctx);

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

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

            // MySQL.g:540:3: ( logfile_group_options )?
            {
                int alt128=2;
                switch ( LA(1) )
                {
                    case ENGINE_SYMBOL:
                    case INITIAL_SIZE_SYMBOL:
                    case NODEGROUP_SYMBOL:
                    case NO_WAIT_SYMBOL:
                    case REDO_BUFFER_SIZE_SYMBOL:
                    case STORAGE_SYMBOL:
                    case UNDO_BUFFER_SIZE_SYMBOL:
                    case WAIT_SYMBOL:
                    case COMMENT_SYMBOL:
                    	{
                    		alt128=1;
                    	}
                        break;
                }

                switch (alt128)
                {
            	case 1:
            	    // MySQL.g:540:3: logfile_group_options
            	    {
            	        FOLLOWPUSH(FOLLOW_logfile_group_options_in_create_logfile_group2156);
            	        logfile_group_options422=logfile_group_options(ctx);

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

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

            	    }
            	    break;

                }
            }

        }

    }

    // 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 logfile_group_options
 * MySQL.g:543:1: logfile_group_options : ( logfile_group_option ( ( COMMA_SYMBOL )? logfile_group_option )* ) -> ^( LOGFILE_GROUP_OPTIONS 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_SYMBOL424;
    MySQLParser_logfile_group_option_return logfile_group_option423;
    #undef	RETURN_TYPE_logfile_group_option423
    #define	RETURN_TYPE_logfile_group_option423 MySQLParser_logfile_group_option_return

    MySQLParser_logfile_group_option_return logfile_group_option425;
    #undef	RETURN_TYPE_logfile_group_option425
    #define	RETURN_TYPE_logfile_group_option425 MySQLParser_logfile_group_option_return

    pANTLR3_BASE_TREE COMMA_SYMBOL424_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_SYMBOL424       = NULL;
    logfile_group_option423.tree = NULL;

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


    COMMA_SYMBOL424_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:543:22: ( ( logfile_group_option ( ( COMMA_SYMBOL )? logfile_group_option )* ) -> ^( LOGFILE_GROUP_OPTIONS logfile_group_option ( ( COMMA_SYMBOL )? logfile_group_option )* ) )
        // MySQL.g:544:2: ( logfile_group_option ( ( COMMA_SYMBOL )? logfile_group_option )* )
        {
            // MySQL.g:544:2: ( logfile_group_option ( ( COMMA_SYMBOL )? logfile_group_option )* )
            // MySQL.g:544:3: logfile_group_option ( ( COMMA_SYMBOL )? logfile_group_option )*
            {
                FOLLOWPUSH(FOLLOW_logfile_group_option_in_logfile_group_options2167);
                logfile_group_option423=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_option423.tree, NULL); }

                // MySQL.g:544:24: ( ( COMMA_SYMBOL )? logfile_group_option )*

                for (;;)
                {
                    int alt130=2;
                    switch ( LA(1) )
                    {
                    case ENGINE_SYMBOL:
                    case INITIAL_SIZE_SYMBOL:
                    case NODEGROUP_SYMBOL:
                    case NO_WAIT_SYMBOL:
                    case REDO_BUFFER_SIZE_SYMBOL:
                    case STORAGE_SYMBOL:
                    case UNDO_BUFFER_SIZE_SYMBOL:
                    case WAIT_SYMBOL:
                    case COMMENT_SYMBOL:
                    case COMMA_SYMBOL:
                    	{
                    		alt130=1;
                    	}
                        break;

                    }

                    switch (alt130)
                    {
                	case 1:
                	    // MySQL.g:544:25: ( COMMA_SYMBOL )? logfile_group_option
                	    {
                	        // MySQL.g:544:25: ( COMMA_SYMBOL )?
                	        {
                	            int alt129=2;
                	            switch ( LA(1) )
                	            {
                	                case COMMA_SYMBOL:
                	                	{
                	                		alt129=1;
                	                	}
                	                    break;
                	            }

                	            switch (alt129)
                	            {
                	        	case 1:
                	        	    // MySQL.g:544:25: COMMA_SYMBOL
                	        	    {
                	        	        COMMA_SYMBOL424 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_logfile_group_options2170);
                	        	        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_SYMBOL424, NULL); }


                	        	    }
                	        	    break;

                	            }
                	        }

                	        FOLLOWPUSH(FOLLOW_logfile_group_option_in_logfile_group_options2173);
                	        logfile_group_option425=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_option425.tree, NULL); }

                	    }
                	    break;

                	default:
                	    goto loop130;	/* break out of the loop */
                	    break;
                    }
                }
                loop130: ; /* 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;
            	// 545:3: -> ^( LOGFILE_GROUP_OPTIONS logfile_group_option ( ( COMMA_SYMBOL )? logfile_group_option )* )
            	{
            	    // MySQL.g:545:6: ^( LOGFILE_GROUP_OPTIONS 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, (pANTLR3_UINT8)"LOGFILE_GROUP_OPTIONS")
            	        , root_1));

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

            	        // MySQL.g:545:51: ( ( COMMA_SYMBOL )? logfile_group_option )*
            	        {
            	        	while ( (stream_logfile_group_option != NULL && stream_logfile_group_option->hasNext(stream_logfile_group_option))  )
            	        	{
            	        		// MySQL.g:545:52: ( 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:548: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 )? text_or_identifier );
 */
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_SYMBOL426;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR427;
    pANTLR3_COMMON_TOKEN    set429;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR430;
    pANTLR3_COMMON_TOKEN    NODEGROUP_SYMBOL432;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR433;
    pANTLR3_COMMON_TOKEN    set434;
    pANTLR3_COMMON_TOKEN    set435;
    pANTLR3_COMMON_TOKEN    COMMENT_SYMBOL436;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR437;
    pANTLR3_COMMON_TOKEN    STORAGE_SYMBOL439;
    pANTLR3_COMMON_TOKEN    ENGINE_SYMBOL440;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR441;
    MySQLParser_size_number_return size_number428;
    #undef	RETURN_TYPE_size_number428
    #define	RETURN_TYPE_size_number428 MySQLParser_size_number_return

    MySQLParser_size_number_return size_number431;
    #undef	RETURN_TYPE_size_number431
    #define	RETURN_TYPE_size_number431 MySQLParser_size_number_return

    MySQLParser_string_literal_return string_literal438;
    #undef	RETURN_TYPE_string_literal438
    #define	RETURN_TYPE_string_literal438 MySQLParser_string_literal_return

    MySQLParser_text_or_identifier_return text_or_identifier442;
    #undef	RETURN_TYPE_text_or_identifier442
    #define	RETURN_TYPE_text_or_identifier442 MySQLParser_text_or_identifier_return

    pANTLR3_BASE_TREE INITIAL_SIZE_SYMBOL426_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR427_tree;
    pANTLR3_BASE_TREE set429_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR430_tree;
    pANTLR3_BASE_TREE NODEGROUP_SYMBOL432_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR433_tree;
    pANTLR3_BASE_TREE set434_tree;
    pANTLR3_BASE_TREE set435_tree;
    pANTLR3_BASE_TREE COMMENT_SYMBOL436_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR437_tree;
    pANTLR3_BASE_TREE STORAGE_SYMBOL439_tree;
    pANTLR3_BASE_TREE ENGINE_SYMBOL440_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR441_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    INITIAL_SIZE_SYMBOL426       = NULL;
    EQUAL_OPERATOR427       = NULL;
    set429       = NULL;
    EQUAL_OPERATOR430       = NULL;
    NODEGROUP_SYMBOL432       = NULL;
    EQUAL_OPERATOR433       = NULL;
    set434       = NULL;
    set435       = NULL;
    COMMENT_SYMBOL436       = NULL;
    EQUAL_OPERATOR437       = NULL;
    STORAGE_SYMBOL439       = NULL;
    ENGINE_SYMBOL440       = NULL;
    EQUAL_OPERATOR441       = NULL;
    size_number428.tree = NULL;

    size_number431.tree = NULL;

    string_literal438.tree = NULL;

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


    INITIAL_SIZE_SYMBOL426_tree   = NULL;
    EQUAL_OPERATOR427_tree   = NULL;
    set429_tree   = NULL;
    EQUAL_OPERATOR430_tree   = NULL;
    NODEGROUP_SYMBOL432_tree   = NULL;
    EQUAL_OPERATOR433_tree   = NULL;
    set434_tree   = NULL;
    set435_tree   = NULL;
    COMMENT_SYMBOL436_tree   = NULL;
    EQUAL_OPERATOR437_tree   = NULL;
    STORAGE_SYMBOL439_tree   = NULL;
    ENGINE_SYMBOL440_tree   = NULL;
    EQUAL_OPERATOR441_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:548: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 )? text_or_identifier )

            ANTLR3_UINT32 alt137;

            alt137=6;

            switch ( LA(1) )
            {
            case INITIAL_SIZE_SYMBOL:
            	{
            		alt137=1;
            	}
                break;
            case REDO_BUFFER_SIZE_SYMBOL:
            case UNDO_BUFFER_SIZE_SYMBOL:
            	{
            		alt137=2;
            	}
                break;
            case NODEGROUP_SYMBOL:
            	{
            		alt137=3;
            	}
                break;
            case NO_WAIT_SYMBOL:
            case WAIT_SYMBOL:
            	{
            		alt137=4;
            	}
                break;
            case COMMENT_SYMBOL:
            	{
            		alt137=5;
            	}
                break;
            case ENGINE_SYMBOL:
            case STORAGE_SYMBOL:
            	{
            		alt137=6;
            	}
                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        = 0;


                goto rulelogfile_group_optionEx;

            }

            switch (alt137)
            {
        	case 1:
        	    // MySQL.g:549:2: INITIAL_SIZE_SYMBOL ( EQUAL_OPERATOR )? size_number
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        INITIAL_SIZE_SYMBOL426 = (pANTLR3_COMMON_TOKEN) MATCHT(INITIAL_SIZE_SYMBOL, &FOLLOW_INITIAL_SIZE_SYMBOL_in_logfile_group_option2203);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulelogfile_group_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

        	        // MySQL.g:549:22: ( EQUAL_OPERATOR )?
        	        {
        	            int alt131=2;
        	            switch ( LA(1) )
        	            {
        	                case EQUAL_OPERATOR:
        	                	{
        	                		alt131=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt131)
        	            {
        	        	case 1:
        	        	    // MySQL.g:549:22: EQUAL_OPERATOR
        	        	    {
        	        	        EQUAL_OPERATOR427 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_logfile_group_option2205);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulelogfile_group_optionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

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

        	        	    }
        	        	    break;

        	            }
        	        }

        	        FOLLOWPUSH(FOLLOW_size_number_in_logfile_group_option2208);
        	        size_number428=size_number(ctx);

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

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

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:550:4: ( UNDO_BUFFER_SIZE_SYMBOL | REDO_BUFFER_SIZE_SYMBOL ) ( EQUAL_OPERATOR )? size_number
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        set429=(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, set429))
        	            );
        	            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:550:56: ( EQUAL_OPERATOR )?
        	        {
        	            int alt132=2;
        	            switch ( LA(1) )
        	            {
        	                case EQUAL_OPERATOR:
        	                	{
        	                		alt132=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt132)
        	            {
        	        	case 1:
        	        	    // MySQL.g:550:56: EQUAL_OPERATOR
        	        	    {
        	        	        EQUAL_OPERATOR430 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_logfile_group_option2221);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulelogfile_group_optionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

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

        	        	    }
        	        	    break;

        	            }
        	        }

        	        FOLLOWPUSH(FOLLOW_size_number_in_logfile_group_option2224);
        	        size_number431=size_number(ctx);

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

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

        	    }
        	    break;
        	case 3:
        	    // MySQL.g:551:4: NODEGROUP_SYMBOL ( EQUAL_OPERATOR )? ( INTEGER | HEXNUMBER )
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        NODEGROUP_SYMBOL432 = (pANTLR3_COMMON_TOKEN) MATCHT(NODEGROUP_SYMBOL, &FOLLOW_NODEGROUP_SYMBOL_in_logfile_group_option2229);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulelogfile_group_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

        	        // MySQL.g:551:21: ( EQUAL_OPERATOR )?
        	        {
        	            int alt133=2;
        	            switch ( LA(1) )
        	            {
        	                case EQUAL_OPERATOR:
        	                	{
        	                		alt133=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt133)
        	            {
        	        	case 1:
        	        	    // MySQL.g:551:21: EQUAL_OPERATOR
        	        	    {
        	        	        EQUAL_OPERATOR433 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_logfile_group_option2231);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulelogfile_group_optionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

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

        	        	    }
        	        	    break;

        	            }
        	        }

        	        set434=(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, set434))
        	            );
        	            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:552:4: ( WAIT_SYMBOL | NO_WAIT_SYMBOL )
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        set435=(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, set435))
        	            );
        	            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:553:4: COMMENT_SYMBOL ( EQUAL_OPERATOR )? string_literal
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        COMMENT_SYMBOL436 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMENT_SYMBOL, &FOLLOW_COMMENT_SYMBOL_in_logfile_group_option2256);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulelogfile_group_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

        	        // MySQL.g:553:19: ( EQUAL_OPERATOR )?
        	        {
        	            int alt134=2;
        	            switch ( LA(1) )
        	            {
        	                case EQUAL_OPERATOR:
        	                	{
        	                		alt134=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt134)
        	            {
        	        	case 1:
        	        	    // MySQL.g:553:19: EQUAL_OPERATOR
        	        	    {
        	        	        EQUAL_OPERATOR437 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_logfile_group_option2258);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulelogfile_group_optionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

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

        	        	    }
        	        	    break;

        	            }
        	        }

        	        FOLLOWPUSH(FOLLOW_string_literal_in_logfile_group_option2261);
        	        string_literal438=string_literal(ctx);

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

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

        	    }
        	    break;
        	case 6:
        	    // MySQL.g:554:4: ( STORAGE_SYMBOL )? ENGINE_SYMBOL ( EQUAL_OPERATOR )? text_or_identifier
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        // MySQL.g:554:4: ( STORAGE_SYMBOL )?
        	        {
        	            int alt135=2;
        	            switch ( LA(1) )
        	            {
        	                case STORAGE_SYMBOL:
        	                	{
        	                		alt135=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt135)
        	            {
        	        	case 1:
        	        	    // MySQL.g:554:4: STORAGE_SYMBOL
        	        	    {
        	        	        STORAGE_SYMBOL439 = (pANTLR3_COMMON_TOKEN) MATCHT(STORAGE_SYMBOL, &FOLLOW_STORAGE_SYMBOL_in_logfile_group_option2266);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulelogfile_group_optionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

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

        	        	    }
        	        	    break;

        	            }
        	        }

        	        ENGINE_SYMBOL440 = (pANTLR3_COMMON_TOKEN) MATCHT(ENGINE_SYMBOL, &FOLLOW_ENGINE_SYMBOL_in_logfile_group_option2269);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulelogfile_group_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

        	        // MySQL.g:554:34: ( EQUAL_OPERATOR )?
        	        {
        	            int alt136=2;
        	            switch ( LA(1) )
        	            {
        	                case EQUAL_OPERATOR:
        	                	{
        	                		alt136=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt136)
        	            {
        	        	case 1:
        	        	    // MySQL.g:554:34: EQUAL_OPERATOR
        	        	    {
        	        	        EQUAL_OPERATOR441 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_logfile_group_option2271);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulelogfile_group_optionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

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

        	        	    }
        	        	    break;

        	            }
        	        }

        	        FOLLOWPUSH(FOLLOW_text_or_identifier_in_logfile_group_option2274);
        	        text_or_identifier442=text_or_identifier(ctx);

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

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, text_or_identifier442.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:557:1: create_server : SERVER_SYMBOL text_or_identifier FOREIGN_SYMBOL DATA_SYMBOL WRAPPER_SYMBOL text_or_identifier server_options ;
 */
static MySQLParser_create_server_return
create_server(pMySQLParser ctx)
{
    MySQLParser_create_server_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    SERVER_SYMBOL443;
    pANTLR3_COMMON_TOKEN    FOREIGN_SYMBOL445;
    pANTLR3_COMMON_TOKEN    DATA_SYMBOL446;
    pANTLR3_COMMON_TOKEN    WRAPPER_SYMBOL447;
    MySQLParser_text_or_identifier_return text_or_identifier444;
    #undef	RETURN_TYPE_text_or_identifier444
    #define	RETURN_TYPE_text_or_identifier444 MySQLParser_text_or_identifier_return

    MySQLParser_text_or_identifier_return text_or_identifier448;
    #undef	RETURN_TYPE_text_or_identifier448
    #define	RETURN_TYPE_text_or_identifier448 MySQLParser_text_or_identifier_return

    MySQLParser_server_options_return server_options449;
    #undef	RETURN_TYPE_server_options449
    #define	RETURN_TYPE_server_options449 MySQLParser_server_options_return

    pANTLR3_BASE_TREE SERVER_SYMBOL443_tree;
    pANTLR3_BASE_TREE FOREIGN_SYMBOL445_tree;
    pANTLR3_BASE_TREE DATA_SYMBOL446_tree;
    pANTLR3_BASE_TREE WRAPPER_SYMBOL447_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    SERVER_SYMBOL443       = NULL;
    FOREIGN_SYMBOL445       = NULL;
    DATA_SYMBOL446       = NULL;
    WRAPPER_SYMBOL447       = NULL;
    text_or_identifier444.tree = NULL;

    text_or_identifier448.tree = NULL;

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


    SERVER_SYMBOL443_tree   = NULL;
    FOREIGN_SYMBOL445_tree   = NULL;
    DATA_SYMBOL446_tree   = NULL;
    WRAPPER_SYMBOL447_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:557:14: ( SERVER_SYMBOL text_or_identifier FOREIGN_SYMBOL DATA_SYMBOL WRAPPER_SYMBOL text_or_identifier server_options )
        // MySQL.g:558: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_SYMBOL443 = (pANTLR3_COMMON_TOKEN) MATCHT(SERVER_SYMBOL, &FOLLOW_SERVER_SYMBOL_in_create_server2284);
            if  (HASEXCEPTION())
            {
                goto rulecreate_serverEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

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

            FOLLOWPUSH(FOLLOW_text_or_identifier_in_create_server2286);
            text_or_identifier444=text_or_identifier(ctx);

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

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

            FOREIGN_SYMBOL445 = (pANTLR3_COMMON_TOKEN) MATCHT(FOREIGN_SYMBOL, &FOLLOW_FOREIGN_SYMBOL_in_create_server2290);
            if  (HASEXCEPTION())
            {
                goto rulecreate_serverEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

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

            DATA_SYMBOL446 = (pANTLR3_COMMON_TOKEN) MATCHT(DATA_SYMBOL, &FOLLOW_DATA_SYMBOL_in_create_server2292);
            if  (HASEXCEPTION())
            {
                goto rulecreate_serverEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

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

            WRAPPER_SYMBOL447 = (pANTLR3_COMMON_TOKEN) MATCHT(WRAPPER_SYMBOL, &FOLLOW_WRAPPER_SYMBOL_in_create_server2294);
            if  (HASEXCEPTION())
            {
                goto rulecreate_serverEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

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

            FOLLOWPUSH(FOLLOW_text_or_identifier_in_create_server2296);
            text_or_identifier448=text_or_identifier(ctx);

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

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

            FOLLOWPUSH(FOLLOW_server_options_in_create_server2298);
            server_options449=server_options(ctx);

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

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, server_options449.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 server_options
 * MySQL.g:562: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_SYMBOL450;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL451;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL453;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL455;
    MySQLParser_server_option_return server_option452;
    #undef	RETURN_TYPE_server_option452
    #define	RETURN_TYPE_server_option452 MySQLParser_server_option_return

    MySQLParser_server_option_return server_option454;
    #undef	RETURN_TYPE_server_option454
    #define	RETURN_TYPE_server_option454 MySQLParser_server_option_return

    pANTLR3_BASE_TREE OPTIONS_SYMBOL450_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL451_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL453_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL455_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    OPTIONS_SYMBOL450       = NULL;
    OPEN_PAR_SYMBOL451       = NULL;
    COMMA_SYMBOL453       = NULL;
    CLOSE_PAR_SYMBOL455       = NULL;
    server_option452.tree = NULL;

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


    OPTIONS_SYMBOL450_tree   = NULL;
    OPEN_PAR_SYMBOL451_tree   = NULL;
    COMMA_SYMBOL453_tree   = NULL;
    CLOSE_PAR_SYMBOL455_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:562:15: ( OPTIONS_SYMBOL ^ OPEN_PAR_SYMBOL server_option ( COMMA_SYMBOL server_option )* CLOSE_PAR_SYMBOL )
        // MySQL.g:563:2: OPTIONS_SYMBOL ^ OPEN_PAR_SYMBOL server_option ( COMMA_SYMBOL server_option )* CLOSE_PAR_SYMBOL
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            OPTIONS_SYMBOL450 = (pANTLR3_COMMON_TOKEN) MATCHT(OPTIONS_SYMBOL, &FOLLOW_OPTIONS_SYMBOL_in_server_options2307);
            if  (HASEXCEPTION())
            {
                goto ruleserver_optionsEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

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

            OPEN_PAR_SYMBOL451 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_server_options2310);
            if  (HASEXCEPTION())
            {
                goto ruleserver_optionsEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

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

            FOLLOWPUSH(FOLLOW_server_option_in_server_options2312);
            server_option452=server_option(ctx);

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

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

            // MySQL.g:563:48: ( COMMA_SYMBOL server_option )*

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

                }

                switch (alt138)
                {
            	case 1:
            	    // MySQL.g:563:49: COMMA_SYMBOL server_option
            	    {
            	        COMMA_SYMBOL453 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_server_options2315);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleserver_optionsEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

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

            	        FOLLOWPUSH(FOLLOW_server_option_in_server_options2317);
            	        server_option454=server_option(ctx);

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

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

            	    }
            	    break;

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


            CLOSE_PAR_SYMBOL455 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_server_options2321);
            if  (HASEXCEPTION())
            {
                goto ruleserver_optionsEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            CLOSE_PAR_SYMBOL455_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL455));
            ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL455_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:567: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_SYMBOL456;
    pANTLR3_COMMON_TOKEN    DATABASE_SYMBOL458;
    pANTLR3_COMMON_TOKEN    USER_SYMBOL460;
    pANTLR3_COMMON_TOKEN    PASSWORD_SYMBOL462;
    pANTLR3_COMMON_TOKEN    SOCKET_SYMBOL464;
    pANTLR3_COMMON_TOKEN    OWNER_SYMBOL466;
    pANTLR3_COMMON_TOKEN    PORT_SYMBOL468;
    pANTLR3_COMMON_TOKEN    INTEGER469;
    MySQLParser_string_literal_return string_literal457;
    #undef	RETURN_TYPE_string_literal457
    #define	RETURN_TYPE_string_literal457 MySQLParser_string_literal_return

    MySQLParser_string_literal_return string_literal459;
    #undef	RETURN_TYPE_string_literal459
    #define	RETURN_TYPE_string_literal459 MySQLParser_string_literal_return

    MySQLParser_string_literal_return string_literal461;
    #undef	RETURN_TYPE_string_literal461
    #define	RETURN_TYPE_string_literal461 MySQLParser_string_literal_return

    MySQLParser_string_literal_return string_literal463;
    #undef	RETURN_TYPE_string_literal463
    #define	RETURN_TYPE_string_literal463 MySQLParser_string_literal_return

    MySQLParser_string_literal_return string_literal465;
    #undef	RETURN_TYPE_string_literal465
    #define	RETURN_TYPE_string_literal465 MySQLParser_string_literal_return

    MySQLParser_string_literal_return string_literal467;
    #undef	RETURN_TYPE_string_literal467
    #define	RETURN_TYPE_string_literal467 MySQLParser_string_literal_return

    pANTLR3_BASE_TREE HOST_SYMBOL456_tree;
    pANTLR3_BASE_TREE DATABASE_SYMBOL458_tree;
    pANTLR3_BASE_TREE USER_SYMBOL460_tree;
    pANTLR3_BASE_TREE PASSWORD_SYMBOL462_tree;
    pANTLR3_BASE_TREE SOCKET_SYMBOL464_tree;
    pANTLR3_BASE_TREE OWNER_SYMBOL466_tree;
    pANTLR3_BASE_TREE PORT_SYMBOL468_tree;
    pANTLR3_BASE_TREE INTEGER469_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    HOST_SYMBOL456       = NULL;
    DATABASE_SYMBOL458       = NULL;
    USER_SYMBOL460       = NULL;
    PASSWORD_SYMBOL462       = NULL;
    SOCKET_SYMBOL464       = NULL;
    OWNER_SYMBOL466       = NULL;
    PORT_SYMBOL468       = NULL;
    INTEGER469       = NULL;
    string_literal457.tree = NULL;

    string_literal459.tree = NULL;

    string_literal461.tree = NULL;

    string_literal463.tree = NULL;

    string_literal465.tree = NULL;

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


    HOST_SYMBOL456_tree   = NULL;
    DATABASE_SYMBOL458_tree   = NULL;
    USER_SYMBOL460_tree   = NULL;
    PASSWORD_SYMBOL462_tree   = NULL;
    SOCKET_SYMBOL464_tree   = NULL;
    OWNER_SYMBOL466_tree   = NULL;
    PORT_SYMBOL468_tree   = NULL;
    INTEGER469_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:567: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 alt139;

            alt139=7;

            switch ( LA(1) )
            {
            case HOST_SYMBOL:
            	{
            		alt139=1;
            	}
                break;
            case DATABASE_SYMBOL:
            	{
            		alt139=2;
            	}
                break;
            case USER_SYMBOL:
            	{
            		alt139=3;
            	}
                break;
            case PASSWORD_SYMBOL:
            	{
            		alt139=4;
            	}
                break;
            case SOCKET_SYMBOL:
            	{
            		alt139=5;
            	}
                break;
            case OWNER_SYMBOL:
            	{
            		alt139=6;
            	}
                break;
            case PORT_SYMBOL:
            	{
            		alt139=7;
            	}
                break;

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

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


                goto ruleserver_optionEx;

            }

            switch (alt139)
            {
        	case 1:
        	    // MySQL.g:568:2: HOST_SYMBOL string_literal
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        HOST_SYMBOL456 = (pANTLR3_COMMON_TOKEN) MATCHT(HOST_SYMBOL, &FOLLOW_HOST_SYMBOL_in_server_option2331);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleserver_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

        	        FOLLOWPUSH(FOLLOW_string_literal_in_server_option2333);
        	        string_literal457=string_literal(ctx);

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

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

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


        	        DATABASE_SYMBOL458 = (pANTLR3_COMMON_TOKEN) MATCHT(DATABASE_SYMBOL, &FOLLOW_DATABASE_SYMBOL_in_server_option2338);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleserver_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

        	        FOLLOWPUSH(FOLLOW_string_literal_in_server_option2340);
        	        string_literal459=string_literal(ctx);

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

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

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


        	        USER_SYMBOL460 = (pANTLR3_COMMON_TOKEN) MATCHT(USER_SYMBOL, &FOLLOW_USER_SYMBOL_in_server_option2345);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleserver_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

        	        FOLLOWPUSH(FOLLOW_string_literal_in_server_option2347);
        	        string_literal461=string_literal(ctx);

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

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

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


        	        PASSWORD_SYMBOL462 = (pANTLR3_COMMON_TOKEN) MATCHT(PASSWORD_SYMBOL, &FOLLOW_PASSWORD_SYMBOL_in_server_option2352);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleserver_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

        	        FOLLOWPUSH(FOLLOW_string_literal_in_server_option2354);
        	        string_literal463=string_literal(ctx);

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

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

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


        	        SOCKET_SYMBOL464 = (pANTLR3_COMMON_TOKEN) MATCHT(SOCKET_SYMBOL, &FOLLOW_SOCKET_SYMBOL_in_server_option2359);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleserver_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

        	        FOLLOWPUSH(FOLLOW_string_literal_in_server_option2361);
        	        string_literal465=string_literal(ctx);

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

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

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


        	        OWNER_SYMBOL466 = (pANTLR3_COMMON_TOKEN) MATCHT(OWNER_SYMBOL, &FOLLOW_OWNER_SYMBOL_in_server_option2366);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleserver_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

        	        FOLLOWPUSH(FOLLOW_string_literal_in_server_option2368);
        	        string_literal467=string_literal(ctx);

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

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

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


        	        PORT_SYMBOL468 = (pANTLR3_COMMON_TOKEN) MATCHT(PORT_SYMBOL, &FOLLOW_PORT_SYMBOL_in_server_option2373);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleserver_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

        	        INTEGER469 = (pANTLR3_COMMON_TOKEN) MATCHT(INTEGER, &FOLLOW_INTEGER_in_server_option2375);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleserver_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        INTEGER469_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INTEGER469));
        	        ADAPTOR->addChild(ADAPTOR, root_0, INTEGER469_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:577:1: create_table : ( TEMPORARY_SYMBOL )? TABLE_SYMBOL ( if_not_exists )? table_identifier ( 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_identifier | OPEN_PAR_SYMBOL LIKE_SYMBOL table_identifier CLOSE_PAR_SYMBOL ) ;
 */
static MySQLParser_create_table_return
create_table(pMySQLParser ctx)
{
    MySQLParser_create_table_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    TEMPORARY_SYMBOL470;
    pANTLR3_COMMON_TOKEN    TABLE_SYMBOL471;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL474;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL476;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL482;
    pANTLR3_COMMON_TOKEN    LIKE_SYMBOL487;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL489;
    pANTLR3_COMMON_TOKEN    LIKE_SYMBOL490;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL492;
    MySQLParser_if_not_exists_return if_not_exists472;
    #undef	RETURN_TYPE_if_not_exists472
    #define	RETURN_TYPE_if_not_exists472 MySQLParser_if_not_exists_return

    MySQLParser_table_identifier_return table_identifier473;
    #undef	RETURN_TYPE_table_identifier473
    #define	RETURN_TYPE_table_identifier473 MySQLParser_table_identifier_return

    MySQLParser_create_field_list_return create_field_list475;
    #undef	RETURN_TYPE_create_field_list475
    #define	RETURN_TYPE_create_field_list475 MySQLParser_create_field_list_return

    MySQLParser_create_table_options_return create_table_options477;
    #undef	RETURN_TYPE_create_table_options477
    #define	RETURN_TYPE_create_table_options477 MySQLParser_create_table_options_return

    MySQLParser_partitioning_return partitioning478;
    #undef	RETURN_TYPE_partitioning478
    #define	RETURN_TYPE_partitioning478 MySQLParser_partitioning_return

    MySQLParser_table_creation_source_return table_creation_source479;
    #undef	RETURN_TYPE_table_creation_source479
    #define	RETURN_TYPE_table_creation_source479 MySQLParser_table_creation_source_return

    MySQLParser_partitioning_return partitioning480;
    #undef	RETURN_TYPE_partitioning480
    #define	RETURN_TYPE_partitioning480 MySQLParser_partitioning_return

    MySQLParser_create_select_return create_select481;
    #undef	RETURN_TYPE_create_select481
    #define	RETURN_TYPE_create_select481 MySQLParser_create_select_return

    MySQLParser_union_clause_return union_clause483;
    #undef	RETURN_TYPE_union_clause483
    #define	RETURN_TYPE_union_clause483 MySQLParser_union_clause_return

    MySQLParser_create_table_options_return create_table_options484;
    #undef	RETURN_TYPE_create_table_options484
    #define	RETURN_TYPE_create_table_options484 MySQLParser_create_table_options_return

    MySQLParser_partitioning_return partitioning485;
    #undef	RETURN_TYPE_partitioning485
    #define	RETURN_TYPE_partitioning485 MySQLParser_partitioning_return

    MySQLParser_table_creation_source_return table_creation_source486;
    #undef	RETURN_TYPE_table_creation_source486
    #define	RETURN_TYPE_table_creation_source486 MySQLParser_table_creation_source_return

    MySQLParser_table_identifier_return table_identifier488;
    #undef	RETURN_TYPE_table_identifier488
    #define	RETURN_TYPE_table_identifier488 MySQLParser_table_identifier_return

    MySQLParser_table_identifier_return table_identifier491;
    #undef	RETURN_TYPE_table_identifier491
    #define	RETURN_TYPE_table_identifier491 MySQLParser_table_identifier_return

    pANTLR3_BASE_TREE TEMPORARY_SYMBOL470_tree;
    pANTLR3_BASE_TREE TABLE_SYMBOL471_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL474_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL476_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL482_tree;
    pANTLR3_BASE_TREE LIKE_SYMBOL487_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL489_tree;
    pANTLR3_BASE_TREE LIKE_SYMBOL490_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL492_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    TEMPORARY_SYMBOL470       = NULL;
    TABLE_SYMBOL471       = NULL;
    OPEN_PAR_SYMBOL474       = NULL;
    CLOSE_PAR_SYMBOL476       = NULL;
    CLOSE_PAR_SYMBOL482       = NULL;
    LIKE_SYMBOL487       = NULL;
    OPEN_PAR_SYMBOL489       = NULL;
    LIKE_SYMBOL490       = NULL;
    CLOSE_PAR_SYMBOL492       = NULL;
    if_not_exists472.tree = NULL;

    table_identifier473.tree = NULL;

    create_field_list475.tree = NULL;

    create_table_options477.tree = NULL;

    partitioning478.tree = NULL;

    table_creation_source479.tree = NULL;

    partitioning480.tree = NULL;

    create_select481.tree = NULL;

    union_clause483.tree = NULL;

    create_table_options484.tree = NULL;

    partitioning485.tree = NULL;

    table_creation_source486.tree = NULL;

    table_identifier488.tree = NULL;

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


    TEMPORARY_SYMBOL470_tree   = NULL;
    TABLE_SYMBOL471_tree   = NULL;
    OPEN_PAR_SYMBOL474_tree   = NULL;
    CLOSE_PAR_SYMBOL476_tree   = NULL;
    CLOSE_PAR_SYMBOL482_tree   = NULL;
    LIKE_SYMBOL487_tree   = NULL;
    OPEN_PAR_SYMBOL489_tree   = NULL;
    LIKE_SYMBOL490_tree   = NULL;
    CLOSE_PAR_SYMBOL492_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:577:13: ( ( TEMPORARY_SYMBOL )? TABLE_SYMBOL ( if_not_exists )? table_identifier ( 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_identifier | OPEN_PAR_SYMBOL LIKE_SYMBOL table_identifier CLOSE_PAR_SYMBOL ) )
        // MySQL.g:578:2: ( TEMPORARY_SYMBOL )? TABLE_SYMBOL ( if_not_exists )? table_identifier ( 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_identifier | OPEN_PAR_SYMBOL LIKE_SYMBOL table_identifier CLOSE_PAR_SYMBOL )
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            // MySQL.g:578:2: ( TEMPORARY_SYMBOL )?
            {
                int alt140=2;
                switch ( LA(1) )
                {
                    case TEMPORARY_SYMBOL:
                    	{
                    		alt140=1;
                    	}
                        break;
                }

                switch (alt140)
                {
            	case 1:
            	    // MySQL.g:578:2: TEMPORARY_SYMBOL
            	    {
            	        TEMPORARY_SYMBOL470 = (pANTLR3_COMMON_TOKEN) MATCHT(TEMPORARY_SYMBOL, &FOLLOW_TEMPORARY_SYMBOL_in_create_table2384);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecreate_tableEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

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

            	    }
            	    break;

                }
            }

            TABLE_SYMBOL471 = (pANTLR3_COMMON_TOKEN) MATCHT(TABLE_SYMBOL, &FOLLOW_TABLE_SYMBOL_in_create_table2387);
            if  (HASEXCEPTION())
            {
                goto rulecreate_tableEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

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

            // MySQL.g:578:33: ( if_not_exists )?
            {
                int alt141=2;
                switch ( LA(1) )
                {
                    case IF_SYMBOL:
                    	{
                    		alt141=1;
                    	}
                        break;
                }

                switch (alt141)
                {
            	case 1:
            	    // MySQL.g:578:33: if_not_exists
            	    {
            	        FOLLOWPUSH(FOLLOW_if_not_exists_in_create_table2389);
            	        if_not_exists472=if_not_exists(ctx);

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

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

            	    }
            	    break;

                }
            }

            FOLLOWPUSH(FOLLOW_table_identifier_in_create_table2392);
            table_identifier473=table_identifier(ctx);

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

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

            // MySQL.g:579: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_identifier | OPEN_PAR_SYMBOL LIKE_SYMBOL table_identifier CLOSE_PAR_SYMBOL )
            {
                int alt149=4;
                {
                    int LA149_0 = LA(1);
                    if ( (LA149_0 == OPEN_PAR_SYMBOL))
                    {
                        {
                            int LA149_1 = LA(2);
                            if ( (LA149_1 == LIKE_SYMBOL))
                            {
                                alt149=4;
                            }
                            else if ( (((LA149_1 >= ACTION_SYMBOL) && (LA149_1 <= PARTITION_SYMBOL)) || LA149_1 == BACK_TICK_QUOTED_ID || LA149_1 == CHECK_SYMBOL || LA149_1 == CONSTRAINT_SYMBOL || LA149_1 == DOUBLE_QUOTED_TEXT || LA149_1 == FOREIGN_SYMBOL || LA149_1 == FULLTEXT_SYMBOL || LA149_1 == IDENTIFIER || LA149_1 == INDEX_SYMBOL || LA149_1 == KEY_SYMBOL || LA149_1 == PRIMARY_SYMBOL || LA149_1 == SPATIAL_SYMBOL || LA149_1 == UNIQUE_SYMBOL))
                            {
                                alt149=1;
                            }
                            else if ( (LA149_1 == SELECT_SYMBOL))
                            {
                                alt149=2;
                            }
                            else
                            {
                                if (BACKTRACKING>0)
                                {
                                    FAILEDFLAG = ANTLR3_TRUE;
                                    return retval;
                                }


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


                                goto rulecreate_tableEx;

                            }
                        }
                    }
                    else if ( (LA149_0 == ENGINE_SYMBOL))
                    {
                        alt149=2;
                    }
                    else if ( ((SERVER_VERSION < 50500)) && (LA149_0 == TYPE_SYMBOL))
                    {
                        alt149=2;
                    }
                    else if ( (((LA149_0 >= AUTO_INCREMENT_SYMBOL) && (LA149_0 <= AVG_ROW_LENGTH_SYMBOL)) || LA149_0 == MAX_ROWS_SYMBOL || LA149_0 == MIN_ROWS_SYMBOL || LA149_0 == PACK_KEYS_SYMBOL || LA149_0 == PASSWORD_SYMBOL || LA149_0 == COMMENT_SYMBOL))
                    {
                        alt149=2;
                    }
                    else if ( ((SERVER_VERSION >= 50600)) && (((LA149_0 >= STATS_AUTO_RECALC_SYMBOL) && (LA149_0 <= STATS_SAMPLE_PAGES_SYMBOL))))
                    {
                        alt149=2;
                    }
                    else if ( (LA149_0 == CONNECTION_SYMBOL || LA149_0 == DATA_SYMBOL || LA149_0 == DELAY_KEY_WRITE_SYMBOL || LA149_0 == INSERT_METHOD_SYMBOL || LA149_0 == KEY_BLOCK_SIZE_SYMBOL || LA149_0 == ROW_FORMAT_SYMBOL || LA149_0 == STORAGE_SYMBOL || LA149_0 == TABLESPACE_SYMBOL || LA149_0 == TABLE_CHECKSUM_SYMBOL || ((LA149_0 >= CHARSET_SYMBOL) && (LA149_0 <= CHECKSUM_SYMBOL)) || LA149_0 == CHAR_SYMBOL || LA149_0 == COLLATE_SYMBOL || LA149_0 == DEFAULT_SYMBOL || LA149_0 == INDEX_SYMBOL || LA149_0 == UNION_SYMBOL))
                    {
                        alt149=2;
                    }
                    else if ( ((SERVER_VERSION >= 50100)) && (LA149_0 == PARTITION_SYMBOL))
                    {
                        alt149=2;
                    }
                    else if ( (LA149_0 == AS_SYMBOL || LA149_0 == IGNORE_SYMBOL || LA149_0 == REPLACE_SYMBOL || LA149_0 == SELECT_SYMBOL))
                    {
                        alt149=2;
                    }
                    else if ( (LA149_0 == LIKE_SYMBOL))
                    {
                        alt149=3;
                    }
                    else
                    {
                        if (BACKTRACKING>0)
                        {
                            FAILEDFLAG = ANTLR3_TRUE;
                            return retval;
                        }


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


                        goto rulecreate_tableEx;

                    }
                }
                switch (alt149)
                {
            	case 1:
            	    // MySQL.g:580: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_SYMBOL474 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_create_table2401);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecreate_tableEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

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

            	        // MySQL.g:581:5: ( create_field_list CLOSE_PAR_SYMBOL ( create_table_options )? ( partitioning )? ( table_creation_source )? | partitioning create_select CLOSE_PAR_SYMBOL ( union_clause )? )
            	        {
            	            int alt146=2;
            	            {
            	                int LA146_0 = LA(1);
            	                if ( (LA146_0 == BACK_TICK_QUOTED_ID || LA146_0 == IDENTIFIER))
            	                {
            	                    alt146=1;
            	                }
            	                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA146_0 == DOUBLE_QUOTED_TEXT))
            	                {
            	                    alt146=1;
            	                }
            	                else if ( (((LA146_0 >= ACTION_SYMBOL) && (LA146_0 <= XA_SYMBOL)) || LA146_0 == CHECK_SYMBOL || LA146_0 == CONSTRAINT_SYMBOL || LA146_0 == FOREIGN_SYMBOL || LA146_0 == FULLTEXT_SYMBOL || LA146_0 == INDEX_SYMBOL || LA146_0 == KEY_SYMBOL || LA146_0 == PRIMARY_SYMBOL || LA146_0 == SPATIAL_SYMBOL || LA146_0 == UNIQUE_SYMBOL))
            	                {
            	                    alt146=1;
            	                }
            	                else if ( (LA146_0 == PARTITION_SYMBOL))
            	                {
            	                    {
            	                        int LA146_5 = LA(2);
            	                        if ( ((SERVER_VERSION >= 50100)) && (LA146_5 == BY_SYMBOL))
            	                        {
            	                            alt146=2;
            	                        }
            	                        else if ( (LA146_5 == BIT_SYMBOL || ((LA146_5 >= BOOLEAN_SYMBOL) && (LA146_5 <= BOOL_SYMBOL)) || ((LA146_5 >= DATETIME_SYMBOL) && (LA146_5 <= DATE_SYMBOL)) || LA146_5 == ENUM_SYMBOL || LA146_5 == FIXED_SYMBOL || ((LA146_5 >= GEOMETRYCOLLECTION_SYMBOL) && (LA146_5 <= GEOMETRY_SYMBOL)) || LA146_5 == LINESTRING_SYMBOL || ((LA146_5 >= MULTILINESTRING_SYMBOL) && (LA146_5 <= MULTIPOLYGON_SYMBOL)) || ((LA146_5 >= NATIONAL_SYMBOL) && (LA146_5 <= NCHAR_SYMBOL)) || LA146_5 == NVARCHAR_SYMBOL || ((LA146_5 >= POINT_SYMBOL) && (LA146_5 <= POLYGON_SYMBOL)) || LA146_5 == SERIAL_SYMBOL || LA146_5 == TEXT_SYMBOL || ((LA146_5 >= TIMESTAMP_SYMBOL) && (LA146_5 <= TIME_SYMBOL)) || LA146_5 == YEAR_SYMBOL || ((LA146_5 >= BIGINT_SYMBOL) && (LA146_5 <= BINARY_SYMBOL)) || LA146_5 == BLOB_SYMBOL || LA146_5 == CHAR_SYMBOL || LA146_5 == DECIMAL_SYMBOL || LA146_5 == DOUBLE_SYMBOL || LA146_5 == FLOAT_SYMBOL || LA146_5 == INTEGER_SYMBOL || LA146_5 == INT_SYMBOL || ((LA146_5 >= LONGBLOB_SYMBOL) && (LA146_5 <= LONGTEXT_SYMBOL)) || LA146_5 == LONG_SYMBOL || ((LA146_5 >= MEDIUMBLOB_SYMBOL) && (LA146_5 <= MEDIUMTEXT_SYMBOL)) || LA146_5 == NUMERIC_SYMBOL || LA146_5 == REAL_SYMBOL || LA146_5 == SET_SYMBOL || LA146_5 == SMALLINT_SYMBOL || ((LA146_5 >= TINYBLOB_SYMBOL) && (LA146_5 <= TINYTEXT_SYMBOL)) || LA146_5 == VARBINARY_SYMBOL || LA146_5 == VARCHAR_SYMBOL))
            	                        {
            	                            alt146=1;
            	                        }
            	                        else
            	                        {
            	                            if (BACKTRACKING>0)
            	                            {
            	                                FAILEDFLAG = ANTLR3_TRUE;
            	                                return retval;
            	                            }


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


            	                            goto rulecreate_tableEx;

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


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


            	                    goto rulecreate_tableEx;

            	                }
            	            }
            	            switch (alt146)
            	            {
            	        	case 1:
            	        	    // MySQL.g:582:6: create_field_list CLOSE_PAR_SYMBOL ( create_table_options )? ( partitioning )? ( table_creation_source )?
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_create_field_list_in_create_table2414);
            	        	        create_field_list475=create_field_list(ctx);

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

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

            	        	        CLOSE_PAR_SYMBOL476 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_create_table2416);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulecreate_tableEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

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

            	        	        // MySQL.g:582:41: ( create_table_options )?
            	        	        {
            	        	            int alt142=2;
            	        	            {
            	        	                int LA142_0 = LA(1);
            	        	                if ( (LA142_0 == ENGINE_SYMBOL))
            	        	                {
            	        	                    alt142=1;
            	        	                }
            	        	                else if ( ((SERVER_VERSION < 50500)) && (LA142_0 == TYPE_SYMBOL))
            	        	                {
            	        	                    alt142=1;
            	        	                }
            	        	                else if ( (((LA142_0 >= AUTO_INCREMENT_SYMBOL) && (LA142_0 <= AVG_ROW_LENGTH_SYMBOL)) || LA142_0 == MAX_ROWS_SYMBOL || LA142_0 == MIN_ROWS_SYMBOL || LA142_0 == PACK_KEYS_SYMBOL || LA142_0 == PASSWORD_SYMBOL || LA142_0 == COMMENT_SYMBOL))
            	        	                {
            	        	                    alt142=1;
            	        	                }
            	        	                else if ( ((SERVER_VERSION >= 50600)) && (((LA142_0 >= STATS_AUTO_RECALC_SYMBOL) && (LA142_0 <= STATS_SAMPLE_PAGES_SYMBOL))))
            	        	                {
            	        	                    alt142=1;
            	        	                }
            	        	                else if ( (LA142_0 == CONNECTION_SYMBOL || LA142_0 == DATA_SYMBOL || LA142_0 == DELAY_KEY_WRITE_SYMBOL || LA142_0 == INSERT_METHOD_SYMBOL || LA142_0 == KEY_BLOCK_SIZE_SYMBOL || LA142_0 == ROW_FORMAT_SYMBOL || LA142_0 == STORAGE_SYMBOL || LA142_0 == TABLESPACE_SYMBOL || LA142_0 == TABLE_CHECKSUM_SYMBOL || ((LA142_0 >= CHARSET_SYMBOL) && (LA142_0 <= CHECKSUM_SYMBOL)) || LA142_0 == CHAR_SYMBOL || LA142_0 == COLLATE_SYMBOL || LA142_0 == DEFAULT_SYMBOL || LA142_0 == INDEX_SYMBOL || LA142_0 == UNION_SYMBOL))
            	        	                {
            	        	                    alt142=1;
            	        	                }
            	        	            }
            	        	            switch (alt142)
            	        	            {
            	        	        	case 1:
            	        	        	    // MySQL.g:582:41: create_table_options
            	        	        	    {
            	        	        	        FOLLOWPUSH(FOLLOW_create_table_options_in_create_table2418);
            	        	        	        create_table_options477=create_table_options(ctx);

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

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

            	        	        	    }
            	        	        	    break;

            	        	            }
            	        	        }

            	        	        // MySQL.g:582:63: ( partitioning )?
            	        	        {
            	        	            int alt143=2;
            	        	            {
            	        	                int LA143_0 = LA(1);
            	        	                if ( ((SERVER_VERSION >= 50100)) && (LA143_0 == PARTITION_SYMBOL))
            	        	                {
            	        	                    alt143=1;
            	        	                }
            	        	            }
            	        	            switch (alt143)
            	        	            {
            	        	        	case 1:
            	        	        	    // MySQL.g:582:63: partitioning
            	        	        	    {
            	        	        	        FOLLOWPUSH(FOLLOW_partitioning_in_create_table2421);
            	        	        	        partitioning478=partitioning(ctx);

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

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

            	        	        	    }
            	        	        	    break;

            	        	            }
            	        	        }

            	        	        // MySQL.g:582:77: ( table_creation_source )?
            	        	        {
            	        	            int alt144=2;
            	        	            switch ( LA(1) )
            	        	            {
            	        	                case AS_SYMBOL:
            	        	                case IGNORE_SYMBOL:
            	        	                case OPEN_PAR_SYMBOL:
            	        	                case REPLACE_SYMBOL:
            	        	                case SELECT_SYMBOL:
            	        	                	{
            	        	                		alt144=1;
            	        	                	}
            	        	                    break;
            	        	            }

            	        	            switch (alt144)
            	        	            {
            	        	        	case 1:
            	        	        	    // MySQL.g:582:77: table_creation_source
            	        	        	    {
            	        	        	        FOLLOWPUSH(FOLLOW_table_creation_source_in_create_table2424);
            	        	        	        table_creation_source479=table_creation_source(ctx);

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

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

            	        	        	    }
            	        	        	    break;

            	        	            }
            	        	        }

            	        	    }
            	        	    break;
            	        	case 2:
            	        	    // MySQL.g:583:8: partitioning create_select CLOSE_PAR_SYMBOL ( union_clause )?
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_partitioning_in_create_table2434);
            	        	        partitioning480=partitioning(ctx);

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

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

            	        	        FOLLOWPUSH(FOLLOW_create_select_in_create_table2436);
            	        	        create_select481=create_select(ctx);

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

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

            	        	        CLOSE_PAR_SYMBOL482 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_create_table2438);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulecreate_tableEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

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

            	        	        // MySQL.g:583:52: ( union_clause )?
            	        	        {
            	        	            int alt145=2;
            	        	            switch ( LA(1) )
            	        	            {
            	        	                case UNION_SYMBOL:
            	        	                	{
            	        	                		alt145=1;
            	        	                	}
            	        	                    break;
            	        	            }

            	        	            switch (alt145)
            	        	            {
            	        	        	case 1:
            	        	        	    // MySQL.g:583:52: union_clause
            	        	        	    {
            	        	        	        FOLLOWPUSH(FOLLOW_union_clause_in_create_table2440);
            	        	        	        union_clause483=union_clause(ctx);

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

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

            	        	        	    }
            	        	        	    break;

            	        	            }
            	        	        }

            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;
            	case 2:
            	    // MySQL.g:585:6: ( create_table_options )? ( partitioning )? table_creation_source
            	    {
            	        // MySQL.g:585:6: ( create_table_options )?
            	        {
            	            int alt147=2;
            	            {
            	                int LA147_0 = LA(1);
            	                if ( (LA147_0 == ENGINE_SYMBOL))
            	                {
            	                    alt147=1;
            	                }
            	                else if ( ((SERVER_VERSION < 50500)) && (LA147_0 == TYPE_SYMBOL))
            	                {
            	                    alt147=1;
            	                }
            	                else if ( (((LA147_0 >= AUTO_INCREMENT_SYMBOL) && (LA147_0 <= AVG_ROW_LENGTH_SYMBOL)) || LA147_0 == MAX_ROWS_SYMBOL || LA147_0 == MIN_ROWS_SYMBOL || LA147_0 == PACK_KEYS_SYMBOL || LA147_0 == PASSWORD_SYMBOL || LA147_0 == COMMENT_SYMBOL))
            	                {
            	                    alt147=1;
            	                }
            	                else if ( ((SERVER_VERSION >= 50600)) && (((LA147_0 >= STATS_AUTO_RECALC_SYMBOL) && (LA147_0 <= STATS_SAMPLE_PAGES_SYMBOL))))
            	                {
            	                    alt147=1;
            	                }
            	                else if ( (LA147_0 == CONNECTION_SYMBOL || LA147_0 == DATA_SYMBOL || LA147_0 == DELAY_KEY_WRITE_SYMBOL || LA147_0 == INSERT_METHOD_SYMBOL || LA147_0 == KEY_BLOCK_SIZE_SYMBOL || LA147_0 == ROW_FORMAT_SYMBOL || LA147_0 == STORAGE_SYMBOL || LA147_0 == TABLESPACE_SYMBOL || LA147_0 == TABLE_CHECKSUM_SYMBOL || ((LA147_0 >= CHARSET_SYMBOL) && (LA147_0 <= CHECKSUM_SYMBOL)) || LA147_0 == CHAR_SYMBOL || LA147_0 == COLLATE_SYMBOL || LA147_0 == DEFAULT_SYMBOL || LA147_0 == INDEX_SYMBOL || LA147_0 == UNION_SYMBOL))
            	                {
            	                    alt147=1;
            	                }
            	            }
            	            switch (alt147)
            	            {
            	        	case 1:
            	        	    // MySQL.g:585:6: create_table_options
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_create_table_options_in_create_table2454);
            	        	        create_table_options484=create_table_options(ctx);

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

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

            	        	    }
            	        	    break;

            	            }
            	        }

            	        // MySQL.g:585:28: ( partitioning )?
            	        {
            	            int alt148=2;
            	            {
            	                int LA148_0 = LA(1);
            	                if ( ((SERVER_VERSION >= 50100)) && (LA148_0 == PARTITION_SYMBOL))
            	                {
            	                    alt148=1;
            	                }
            	            }
            	            switch (alt148)
            	            {
            	        	case 1:
            	        	    // MySQL.g:585:28: partitioning
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_partitioning_in_create_table2457);
            	        	        partitioning485=partitioning(ctx);

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

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

            	        	    }
            	        	    break;

            	            }
            	        }

            	        FOLLOWPUSH(FOLLOW_table_creation_source_in_create_table2460);
            	        table_creation_source486=table_creation_source(ctx);

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

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

            	    }
            	    break;
            	case 3:
            	    // MySQL.g:586:6: LIKE_SYMBOL table_identifier
            	    {
            	        LIKE_SYMBOL487 = (pANTLR3_COMMON_TOKEN) MATCHT(LIKE_SYMBOL, &FOLLOW_LIKE_SYMBOL_in_create_table2467);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecreate_tableEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

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

            	        FOLLOWPUSH(FOLLOW_table_identifier_in_create_table2469);
            	        table_identifier488=table_identifier(ctx);

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

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

            	    }
            	    break;
            	case 4:
            	    // MySQL.g:587:6: OPEN_PAR_SYMBOL LIKE_SYMBOL table_identifier CLOSE_PAR_SYMBOL
            	    {
            	        OPEN_PAR_SYMBOL489 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_create_table2476);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecreate_tableEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

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

            	        LIKE_SYMBOL490 = (pANTLR3_COMMON_TOKEN) MATCHT(LIKE_SYMBOL, &FOLLOW_LIKE_SYMBOL_in_create_table2478);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecreate_tableEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

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

            	        FOLLOWPUSH(FOLLOW_table_identifier_in_create_table2480);
            	        table_identifier491=table_identifier(ctx);

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

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

            	        CLOSE_PAR_SYMBOL492 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_create_table2482);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecreate_tableEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

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

            	    }
            	    break;

                }
            }

        }

    }

    // 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_field_list
 * MySQL.g:591:1: create_field_list : create_field_list_item ( COMMA_SYMBOL create_field_list_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_SYMBOL494;
    MySQLParser_create_field_list_item_return create_field_list_item493;
    #undef	RETURN_TYPE_create_field_list_item493
    #define	RETURN_TYPE_create_field_list_item493 MySQLParser_create_field_list_item_return

    MySQLParser_create_field_list_item_return create_field_list_item495;
    #undef	RETURN_TYPE_create_field_list_item495
    #define	RETURN_TYPE_create_field_list_item495 MySQLParser_create_field_list_item_return

    pANTLR3_BASE_TREE COMMA_SYMBOL494_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    COMMA_SYMBOL494       = NULL;
    create_field_list_item493.tree = NULL;

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


    COMMA_SYMBOL494_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:591:18: ( create_field_list_item ( COMMA_SYMBOL create_field_list_item )* )
        // MySQL.g:592:2: create_field_list_item ( COMMA_SYMBOL create_field_list_item )*
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            FOLLOWPUSH(FOLLOW_create_field_list_item_in_create_field_list2495);
            create_field_list_item493=create_field_list_item(ctx);

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

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

            // MySQL.g:592:25: ( COMMA_SYMBOL create_field_list_item )*

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

                }

                switch (alt150)
                {
            	case 1:
            	    // MySQL.g:592:26: COMMA_SYMBOL create_field_list_item
            	    {
            	        COMMA_SYMBOL494 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_create_field_list2498);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecreate_field_listEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

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

            	        FOLLOWPUSH(FOLLOW_create_field_list_item_in_create_field_list2500);
            	        create_field_list_item495=create_field_list_item(ctx);

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

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

            	    }
            	    break;

            	default:
            	    goto loop150;	/* break out of the loop */
            	    break;
                }
            }
            loop150: ; /* 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_field_list_item
 * MySQL.g:595: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_SYMBOL497;
    pANTLR3_COMMON_TOKEN    PRIMARY_SYMBOL499;
    pANTLR3_COMMON_TOKEN    KEY_SYMBOL500;
    pANTLR3_COMMON_TOKEN    FOREIGN_SYMBOL504;
    pANTLR3_COMMON_TOKEN    KEY_SYMBOL505;
    pANTLR3_COMMON_TOKEN    UNIQUE_SYMBOL509;
    pANTLR3_COMMON_TOKEN    set510;
    pANTLR3_COMMON_TOKEN    set515;
    pANTLR3_COMMON_TOKEN    set520;
    pANTLR3_COMMON_TOKEN    set521;
    pANTLR3_COMMON_TOKEN    CHECK_SYMBOL525;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL526;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL528;
    MySQLParser_column_definition_return column_definition496;
    #undef	RETURN_TYPE_column_definition496
    #define	RETURN_TYPE_column_definition496 MySQLParser_column_definition_return

    MySQLParser_identifier_return identifier498;
    #undef	RETURN_TYPE_identifier498
    #define	RETURN_TYPE_identifier498 MySQLParser_identifier_return

    MySQLParser_index_type_return index_type501;
    #undef	RETURN_TYPE_index_type501
    #define	RETURN_TYPE_index_type501 MySQLParser_index_type_return

    MySQLParser_index_columns_return index_columns502;
    #undef	RETURN_TYPE_index_columns502
    #define	RETURN_TYPE_index_columns502 MySQLParser_index_columns_return

    MySQLParser_index_option_return index_option503;
    #undef	RETURN_TYPE_index_option503
    #define	RETURN_TYPE_index_option503 MySQLParser_index_option_return

    MySQLParser_pure_identifier_return pure_identifier506;
    #undef	RETURN_TYPE_pure_identifier506
    #define	RETURN_TYPE_pure_identifier506 MySQLParser_pure_identifier_return

    MySQLParser_index_columns_return index_columns507;
    #undef	RETURN_TYPE_index_columns507
    #define	RETURN_TYPE_index_columns507 MySQLParser_index_columns_return

    MySQLParser_reference_definition_return reference_definition508;
    #undef	RETURN_TYPE_reference_definition508
    #define	RETURN_TYPE_reference_definition508 MySQLParser_reference_definition_return

    MySQLParser_identifier_return identifier511;
    #undef	RETURN_TYPE_identifier511
    #define	RETURN_TYPE_identifier511 MySQLParser_identifier_return

    MySQLParser_index_type_return index_type512;
    #undef	RETURN_TYPE_index_type512
    #define	RETURN_TYPE_index_type512 MySQLParser_index_type_return

    MySQLParser_index_columns_return index_columns513;
    #undef	RETURN_TYPE_index_columns513
    #define	RETURN_TYPE_index_columns513 MySQLParser_index_columns_return

    MySQLParser_index_option_return index_option514;
    #undef	RETURN_TYPE_index_option514
    #define	RETURN_TYPE_index_option514 MySQLParser_index_option_return

    MySQLParser_identifier_return identifier516;
    #undef	RETURN_TYPE_identifier516
    #define	RETURN_TYPE_identifier516 MySQLParser_identifier_return

    MySQLParser_index_type_return index_type517;
    #undef	RETURN_TYPE_index_type517
    #define	RETURN_TYPE_index_type517 MySQLParser_index_type_return

    MySQLParser_index_columns_return index_columns518;
    #undef	RETURN_TYPE_index_columns518
    #define	RETURN_TYPE_index_columns518 MySQLParser_index_columns_return

    MySQLParser_index_option_return index_option519;
    #undef	RETURN_TYPE_index_option519
    #define	RETURN_TYPE_index_option519 MySQLParser_index_option_return

    MySQLParser_identifier_return identifier522;
    #undef	RETURN_TYPE_identifier522
    #define	RETURN_TYPE_identifier522 MySQLParser_identifier_return

    MySQLParser_index_columns_return index_columns523;
    #undef	RETURN_TYPE_index_columns523
    #define	RETURN_TYPE_index_columns523 MySQLParser_index_columns_return

    MySQLParser_index_option_return index_option524;
    #undef	RETURN_TYPE_index_option524
    #define	RETURN_TYPE_index_option524 MySQLParser_index_option_return

    MySQLParser_expression_return expression527;
    #undef	RETURN_TYPE_expression527
    #define	RETURN_TYPE_expression527 MySQLParser_expression_return

    pANTLR3_BASE_TREE CONSTRAINT_SYMBOL497_tree;
    pANTLR3_BASE_TREE PRIMARY_SYMBOL499_tree;
    pANTLR3_BASE_TREE KEY_SYMBOL500_tree;
    pANTLR3_BASE_TREE FOREIGN_SYMBOL504_tree;
    pANTLR3_BASE_TREE KEY_SYMBOL505_tree;
    pANTLR3_BASE_TREE UNIQUE_SYMBOL509_tree;
    pANTLR3_BASE_TREE set510_tree;
    pANTLR3_BASE_TREE set515_tree;
    pANTLR3_BASE_TREE set520_tree;
    pANTLR3_BASE_TREE set521_tree;
    pANTLR3_BASE_TREE CHECK_SYMBOL525_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL526_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL528_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    CONSTRAINT_SYMBOL497       = NULL;
    PRIMARY_SYMBOL499       = NULL;
    KEY_SYMBOL500       = NULL;
    FOREIGN_SYMBOL504       = NULL;
    KEY_SYMBOL505       = NULL;
    UNIQUE_SYMBOL509       = NULL;
    set510       = NULL;
    set515       = NULL;
    set520       = NULL;
    set521       = NULL;
    CHECK_SYMBOL525       = NULL;
    OPEN_PAR_SYMBOL526       = NULL;
    CLOSE_PAR_SYMBOL528       = NULL;
    column_definition496.tree = NULL;

    identifier498.tree = NULL;

    index_type501.tree = NULL;

    index_columns502.tree = NULL;

    index_option503.tree = NULL;

    pure_identifier506.tree = NULL;

    index_columns507.tree = NULL;

    reference_definition508.tree = NULL;

    identifier511.tree = NULL;

    index_type512.tree = NULL;

    index_columns513.tree = NULL;

    index_option514.tree = NULL;

    identifier516.tree = NULL;

    index_type517.tree = NULL;

    index_columns518.tree = NULL;

    index_option519.tree = NULL;

    identifier522.tree = NULL;

    index_columns523.tree = NULL;

    index_option524.tree = NULL;

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


    CONSTRAINT_SYMBOL497_tree   = NULL;
    PRIMARY_SYMBOL499_tree   = NULL;
    KEY_SYMBOL500_tree   = NULL;
    FOREIGN_SYMBOL504_tree   = NULL;
    KEY_SYMBOL505_tree   = NULL;
    UNIQUE_SYMBOL509_tree   = NULL;
    set510_tree   = NULL;
    set515_tree   = NULL;
    set520_tree   = NULL;
    set521_tree   = NULL;
    CHECK_SYMBOL525_tree   = NULL;
    OPEN_PAR_SYMBOL526_tree   = NULL;
    CLOSE_PAR_SYMBOL528_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:595: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 alt167;

            alt167=5;

            {
                int LA167_0 = LA(1);
                if ( (LA167_0 == BACK_TICK_QUOTED_ID || LA167_0 == IDENTIFIER))
                {
                    alt167=1;
                }
                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA167_0 == DOUBLE_QUOTED_TEXT))
                {
                    alt167=1;
                }
                else if ( (((LA167_0 >= ACTION_SYMBOL) && (LA167_0 <= PARTITION_SYMBOL))))
                {
                    alt167=1;
                }
                else if ( (LA167_0 == CONSTRAINT_SYMBOL || LA167_0 == FOREIGN_SYMBOL || LA167_0 == PRIMARY_SYMBOL || LA167_0 == UNIQUE_SYMBOL))
                {
                    alt167=2;
                }
                else if ( (LA167_0 == INDEX_SYMBOL || LA167_0 == KEY_SYMBOL))
                {
                    alt167=3;
                }
                else if ( (LA167_0 == FULLTEXT_SYMBOL || LA167_0 == SPATIAL_SYMBOL))
                {
                    alt167=4;
                }
                else if ( (LA167_0 == CHECK_SYMBOL))
                {
                    alt167=5;
                }
                else
                {
                    if (BACKTRACKING>0)
                    {
                        FAILEDFLAG = ANTLR3_TRUE;
                        return retval;
                    }


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


                    goto rulecreate_field_list_itemEx;

                }
            }
            switch (alt167)
            {
        	case 1:
        	    // MySQL.g:596:2: column_definition
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_column_definition_in_create_field_list_item2511);
        	        column_definition496=column_definition(ctx);

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

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

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:597: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:597:4: ( CONSTRAINT_SYMBOL ( identifier )? )?
        	        {
        	            int alt152=2;
        	            switch ( LA(1) )
        	            {
        	                case CONSTRAINT_SYMBOL:
        	                	{
        	                		alt152=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt152)
        	            {
        	        	case 1:
        	        	    // MySQL.g:597:5: CONSTRAINT_SYMBOL ( identifier )?
        	        	    {
        	        	        CONSTRAINT_SYMBOL497 = (pANTLR3_COMMON_TOKEN) MATCHT(CONSTRAINT_SYMBOL, &FOLLOW_CONSTRAINT_SYMBOL_in_create_field_list_item2517);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulecreate_field_list_itemEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

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

        	        	        // MySQL.g:597:23: ( identifier )?
        	        	        {
        	        	            int alt151=2;
        	        	            {
        	        	                int LA151_0 = LA(1);
        	        	                if ( (LA151_0 == BACK_TICK_QUOTED_ID || LA151_0 == IDENTIFIER))
        	        	                {
        	        	                    alt151=1;
        	        	                }
        	        	                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA151_0 == DOUBLE_QUOTED_TEXT))
        	        	                {
        	        	                    alt151=1;
        	        	                }
        	        	                else if ( (((LA151_0 >= ACTION_SYMBOL) && (LA151_0 <= PARTITION_SYMBOL))))
        	        	                {
        	        	                    alt151=1;
        	        	                }
        	        	            }
        	        	            switch (alt151)
        	        	            {
        	        	        	case 1:
        	        	        	    // MySQL.g:597:23: identifier
        	        	        	    {
        	        	        	        FOLLOWPUSH(FOLLOW_identifier_in_create_field_list_item2519);
        	        	        	        identifier498=identifier(ctx);

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

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

        	        	        	    }
        	        	        	    break;

        	        	            }
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	        // MySQL.g:598: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 alt160=3;
        	            switch ( LA(1) )
        	            {
        	            case PRIMARY_SYMBOL:
        	            	{
        	            		alt160=1;
        	            	}
        	                break;
        	            case FOREIGN_SYMBOL:
        	            	{
        	            		alt160=2;
        	            	}
        	                break;
        	            case UNIQUE_SYMBOL:
        	            	{
        	            		alt160=3;
        	            	}
        	                break;

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

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


        	                goto rulecreate_field_list_itemEx;

        	            }

        	            switch (alt160)
        	            {
        	        	case 1:
        	        	    // MySQL.g:599:4: PRIMARY_SYMBOL KEY_SYMBOL ( index_type )? index_columns ( index_option )*
        	        	    {
        	        	        PRIMARY_SYMBOL499 = (pANTLR3_COMMON_TOKEN) MATCHT(PRIMARY_SYMBOL, &FOLLOW_PRIMARY_SYMBOL_in_create_field_list_item2531);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulecreate_field_list_itemEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

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

        	        	        KEY_SYMBOL500 = (pANTLR3_COMMON_TOKEN) MATCHT(KEY_SYMBOL, &FOLLOW_KEY_SYMBOL_in_create_field_list_item2533);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulecreate_field_list_itemEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

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

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

        	        	            switch (alt153)
        	        	            {
        	        	        	case 1:
        	        	        	    // MySQL.g:599:30: index_type
        	        	        	    {
        	        	        	        FOLLOWPUSH(FOLLOW_index_type_in_create_field_list_item2535);
        	        	        	        index_type501=index_type(ctx);

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

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

        	        	        	    }
        	        	        	    break;

        	        	            }
        	        	        }

        	        	        FOLLOWPUSH(FOLLOW_index_columns_in_create_field_list_item2538);
        	        	        index_columns502=index_columns(ctx);

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

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

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

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

        	        	            }
        	        	            switch (alt154)
        	        	            {
        	        	        	case 1:
        	        	        	    // MySQL.g:599:56: index_option
        	        	        	    {
        	        	        	        FOLLOWPUSH(FOLLOW_index_option_in_create_field_list_item2540);
        	        	        	        index_option503=index_option(ctx);

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

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

        	        	        	    }
        	        	        	    break;

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


        	        	    }
        	        	    break;
        	        	case 2:
        	        	    // MySQL.g:600:6: FOREIGN_SYMBOL KEY_SYMBOL ( pure_identifier )? index_columns reference_definition
        	        	    {
        	        	        FOREIGN_SYMBOL504 = (pANTLR3_COMMON_TOKEN) MATCHT(FOREIGN_SYMBOL, &FOLLOW_FOREIGN_SYMBOL_in_create_field_list_item2548);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulecreate_field_list_itemEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

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

        	        	        KEY_SYMBOL505 = (pANTLR3_COMMON_TOKEN) MATCHT(KEY_SYMBOL, &FOLLOW_KEY_SYMBOL_in_create_field_list_item2550);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulecreate_field_list_itemEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

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

        	        	        // MySQL.g:600:32: ( pure_identifier )?
        	        	        {
        	        	            int alt155=2;
        	        	            {
        	        	                int LA155_0 = LA(1);
        	        	                if ( (LA155_0 == BACK_TICK_QUOTED_ID || LA155_0 == IDENTIFIER))
        	        	                {
        	        	                    alt155=1;
        	        	                }
        	        	                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA155_0 == DOUBLE_QUOTED_TEXT))
        	        	                {
        	        	                    alt155=1;
        	        	                }
        	        	            }
        	        	            switch (alt155)
        	        	            {
        	        	        	case 1:
        	        	        	    // MySQL.g:600:32: pure_identifier
        	        	        	    {
        	        	        	        FOLLOWPUSH(FOLLOW_pure_identifier_in_create_field_list_item2552);
        	        	        	        pure_identifier506=pure_identifier(ctx);

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

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

        	        	        	    }
        	        	        	    break;

        	        	            }
        	        	        }

        	        	        FOLLOWPUSH(FOLLOW_index_columns_in_create_field_list_item2555);
        	        	        index_columns507=index_columns(ctx);

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

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

        	        	        FOLLOWPUSH(FOLLOW_reference_definition_in_create_field_list_item2557);
        	        	        reference_definition508=reference_definition(ctx);

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

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

        	        	    }
        	        	    break;
        	        	case 3:
        	        	    // MySQL.g:601:6: UNIQUE_SYMBOL ( INDEX_SYMBOL | KEY_SYMBOL )? ( identifier )? ( index_type )? index_columns ( index_option )*
        	        	    {
        	        	        UNIQUE_SYMBOL509 = (pANTLR3_COMMON_TOKEN) MATCHT(UNIQUE_SYMBOL, &FOLLOW_UNIQUE_SYMBOL_in_create_field_list_item2564);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulecreate_field_list_itemEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

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

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

        	        	            switch (alt156)
        	        	            {
        	        	        	case 1:
        	        	        	    // MySQL.g:
        	        	        	    {
        	        	        	        set510=(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, 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 rulecreate_field_list_itemEx;
        	        	        	        }


        	        	        	    }
        	        	        	    break;

        	        	            }
        	        	        }

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

        	        	                }
        	        	                else if ( (((LA157_0 >= ACTION_SYMBOL) && (LA157_0 <= TYPES_SYMBOL)) || ((LA157_0 >= UDF_RETURNS_SYMBOL) && (LA157_0 <= PARTITION_SYMBOL))))
        	        	                {
        	        	                    alt157=1;
        	        	                }
        	        	            }
        	        	            switch (alt157)
        	        	            {
        	        	        	case 1:
        	        	        	    // MySQL.g:601:49: identifier
        	        	        	    {
        	        	        	        FOLLOWPUSH(FOLLOW_identifier_in_create_field_list_item2575);
        	        	        	        identifier511=identifier(ctx);

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

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

        	        	        	    }
        	        	        	    break;

        	        	            }
        	        	        }

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

        	        	            switch (alt158)
        	        	            {
        	        	        	case 1:
        	        	        	    // MySQL.g:601:61: index_type
        	        	        	    {
        	        	        	        FOLLOWPUSH(FOLLOW_index_type_in_create_field_list_item2578);
        	        	        	        index_type512=index_type(ctx);

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

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

        	        	        	    }
        	        	        	    break;

        	        	            }
        	        	        }

        	        	        FOLLOWPUSH(FOLLOW_index_columns_in_create_field_list_item2581);
        	        	        index_columns513=index_columns(ctx);

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

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

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

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

        	        	            }
        	        	            switch (alt159)
        	        	            {
        	        	        	case 1:
        	        	        	    // MySQL.g:601:87: index_option
        	        	        	    {
        	        	        	        FOLLOWPUSH(FOLLOW_index_option_in_create_field_list_item2583);
        	        	        	        index_option514=index_option(ctx);

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

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

        	        	        	    }
        	        	        	    break;

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


        	        	    }
        	        	    break;

        	            }
        	        }

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


        	        set515=(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, 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 rulecreate_field_list_itemEx;
        	        }


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

        	                }
        	                else if ( (((LA161_0 >= ACTION_SYMBOL) && (LA161_0 <= TYPES_SYMBOL)) || ((LA161_0 >= UDF_RETURNS_SYMBOL) && (LA161_0 <= PARTITION_SYMBOL))))
        	                {
        	                    alt161=1;
        	                }
        	            }
        	            switch (alt161)
        	            {
        	        	case 1:
        	        	    // MySQL.g:603:32: identifier
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_identifier_in_create_field_list_item2601);
        	        	        identifier516=identifier(ctx);

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

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

        	        	    }
        	        	    break;

        	            }
        	        }

        	        // MySQL.g:603:44: ( index_type )?
        	        {
        	            int alt162=2;
        	            switch ( LA(1) )
        	            {
        	                case TYPE_SYMBOL:
        	                case USING_SYMBOL:
        	                	{
        	                		alt162=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt162)
        	            {
        	        	case 1:
        	        	    // MySQL.g:603:44: index_type
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_index_type_in_create_field_list_item2604);
        	        	        index_type517=index_type(ctx);

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

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

        	        	    }
        	        	    break;

        	            }
        	        }

        	        FOLLOWPUSH(FOLLOW_index_columns_in_create_field_list_item2607);
        	        index_columns518=index_columns(ctx);

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

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

        	        // MySQL.g:603:70: ( index_option )*

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

        	            }
        	            switch (alt163)
        	            {
        	        	case 1:
        	        	    // MySQL.g:603:70: index_option
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_index_option_in_create_field_list_item2609);
        	        	        index_option519=index_option(ctx);

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

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

        	        	    }
        	        	    break;

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


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


        	        set520=(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, set520))
        	            );
        	            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:604:39: ( INDEX_SYMBOL | KEY_SYMBOL )?
        	        {
        	            int alt164=2;
        	            switch ( LA(1) )
        	            {
        	                case INDEX_SYMBOL:
        	                case KEY_SYMBOL:
        	                	{
        	                		alt164=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt164)
        	            {
        	        	case 1:
        	        	    // MySQL.g:
        	        	    {
        	        	        set521=(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, set521))
        	        	            );
        	        	            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:604:68: ( identifier )?
        	        {
        	            int alt165=2;
        	            {
        	                int LA165_0 = LA(1);
        	                if ( (LA165_0 == BACK_TICK_QUOTED_ID || LA165_0 == IDENTIFIER))
        	                {
        	                    alt165=1;
        	                }
        	                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA165_0 == DOUBLE_QUOTED_TEXT))
        	                {
        	                    alt165=1;
        	                }
        	                else if ( (((LA165_0 >= ACTION_SYMBOL) && (LA165_0 <= PARTITION_SYMBOL))))
        	                {
        	                    alt165=1;
        	                }
        	            }
        	            switch (alt165)
        	            {
        	        	case 1:
        	        	    // MySQL.g:604:68: identifier
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_identifier_in_create_field_list_item2632);
        	        	        identifier522=identifier(ctx);

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

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

        	        	    }
        	        	    break;

        	            }
        	        }

        	        FOLLOWPUSH(FOLLOW_index_columns_in_create_field_list_item2635);
        	        index_columns523=index_columns(ctx);

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

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

        	        // MySQL.g:604:94: ( index_option )*

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

        	            }
        	            switch (alt166)
        	            {
        	        	case 1:
        	        	    // MySQL.g:604:94: index_option
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_index_option_in_create_field_list_item2637);
        	        	        index_option524=index_option(ctx);

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

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

        	        	    }
        	        	    break;

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


        	    }
        	    break;
        	case 5:
        	    // MySQL.g:605:4: CHECK_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        CHECK_SYMBOL525 = (pANTLR3_COMMON_TOKEN) MATCHT(CHECK_SYMBOL, &FOLLOW_CHECK_SYMBOL_in_create_field_list_item2643);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecreate_field_list_itemEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

        	        OPEN_PAR_SYMBOL526 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_create_field_list_item2645);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecreate_field_list_itemEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

        	        FOLLOWPUSH(FOLLOW_expression_in_create_field_list_item2647);
        	        expression527=expression(ctx);

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

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

        	        CLOSE_PAR_SYMBOL528 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_create_field_list_item2649);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecreate_field_list_itemEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL528_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL528));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL528_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:608:1: table_creation_source : ( REPLACE_SYMBOL | IGNORE_SYMBOL )? ( AS_SYMBOL )? ( create_select | OPEN_PAR_SYMBOL create_select CLOSE_PAR_SYMBOL ) ( union_clause )? ;
 */
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    set529;
    pANTLR3_COMMON_TOKEN    AS_SYMBOL530;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL532;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL534;
    MySQLParser_create_select_return create_select531;
    #undef	RETURN_TYPE_create_select531
    #define	RETURN_TYPE_create_select531 MySQLParser_create_select_return

    MySQLParser_create_select_return create_select533;
    #undef	RETURN_TYPE_create_select533
    #define	RETURN_TYPE_create_select533 MySQLParser_create_select_return

    MySQLParser_union_clause_return union_clause535;
    #undef	RETURN_TYPE_union_clause535
    #define	RETURN_TYPE_union_clause535 MySQLParser_union_clause_return

    pANTLR3_BASE_TREE set529_tree;
    pANTLR3_BASE_TREE AS_SYMBOL530_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL532_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL534_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    set529       = NULL;
    AS_SYMBOL530       = NULL;
    OPEN_PAR_SYMBOL532       = NULL;
    CLOSE_PAR_SYMBOL534       = NULL;
    create_select531.tree = NULL;

    create_select533.tree = NULL;

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


    set529_tree   = NULL;
    AS_SYMBOL530_tree   = NULL;
    OPEN_PAR_SYMBOL532_tree   = NULL;
    CLOSE_PAR_SYMBOL534_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:608:22: ( ( REPLACE_SYMBOL | IGNORE_SYMBOL )? ( AS_SYMBOL )? ( create_select | OPEN_PAR_SYMBOL create_select CLOSE_PAR_SYMBOL ) ( union_clause )? )
        // MySQL.g:609:2: ( REPLACE_SYMBOL | IGNORE_SYMBOL )? ( AS_SYMBOL )? ( create_select | OPEN_PAR_SYMBOL create_select CLOSE_PAR_SYMBOL ) ( union_clause )?
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            // MySQL.g:609:2: ( REPLACE_SYMBOL | IGNORE_SYMBOL )?
            {
                int alt168=2;
                switch ( LA(1) )
                {
                    case IGNORE_SYMBOL:
                    case REPLACE_SYMBOL:
                    	{
                    		alt168=1;
                    	}
                        break;
                }

                switch (alt168)
                {
            	case 1:
            	    // MySQL.g:
            	    {
            	        set529=(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, set529))
            	            );
            	            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:609:36: ( AS_SYMBOL )?
            {
                int alt169=2;
                switch ( LA(1) )
                {
                    case AS_SYMBOL:
                    	{
                    		alt169=1;
                    	}
                        break;
                }

                switch (alt169)
                {
            	case 1:
            	    // MySQL.g:609:36: AS_SYMBOL
            	    {
            	        AS_SYMBOL530 = (pANTLR3_COMMON_TOKEN) MATCHT(AS_SYMBOL, &FOLLOW_AS_SYMBOL_in_table_creation_source2667);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruletable_creation_sourceEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

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

            	    }
            	    break;

                }
            }

            // MySQL.g:609:47: ( create_select | OPEN_PAR_SYMBOL create_select CLOSE_PAR_SYMBOL )
            {
                int alt170=2;
                switch ( LA(1) )
                {
                case SELECT_SYMBOL:
                	{
                		alt170=1;
                	}
                    break;
                case OPEN_PAR_SYMBOL:
                	{
                		alt170=2;
                	}
                    break;

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

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


                    goto ruletable_creation_sourceEx;

                }

                switch (alt170)
                {
            	case 1:
            	    // MySQL.g:609:48: create_select
            	    {
            	        FOLLOWPUSH(FOLLOW_create_select_in_table_creation_source2671);
            	        create_select531=create_select(ctx);

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

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

            	    }
            	    break;
            	case 2:
            	    // MySQL.g:609:64: OPEN_PAR_SYMBOL create_select CLOSE_PAR_SYMBOL
            	    {
            	        OPEN_PAR_SYMBOL532 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_table_creation_source2675);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruletable_creation_sourceEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

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

            	        FOLLOWPUSH(FOLLOW_create_select_in_table_creation_source2677);
            	        create_select533=create_select(ctx);

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

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

            	        CLOSE_PAR_SYMBOL534 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_table_creation_source2679);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruletable_creation_sourceEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

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

            	    }
            	    break;

                }
            }

            // MySQL.g:609:112: ( union_clause )?
            {
                int alt171=2;
                switch ( LA(1) )
                {
                    case UNION_SYMBOL:
                    	{
                    		alt171=1;
                    	}
                        break;
                }

                switch (alt171)
                {
            	case 1:
            	    // MySQL.g:609:112: union_clause
            	    {
            	        FOLLOWPUSH(FOLLOW_union_clause_in_table_creation_source2682);
            	        union_clause535=union_clause(ctx);

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

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

            	    }
            	    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:613:1: create_select : SELECT_SYMBOL ( options {greedy=true; } : select_option )* select_item_list ( select_source_and_options )? ( select_lock_type )? ;
 */
static MySQLParser_create_select_return
create_select(pMySQLParser ctx)
{
    MySQLParser_create_select_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    SELECT_SYMBOL536;
    MySQLParser_select_option_return select_option537;
    #undef	RETURN_TYPE_select_option537
    #define	RETURN_TYPE_select_option537 MySQLParser_select_option_return

    MySQLParser_select_item_list_return select_item_list538;
    #undef	RETURN_TYPE_select_item_list538
    #define	RETURN_TYPE_select_item_list538 MySQLParser_select_item_list_return

    MySQLParser_select_source_and_options_return select_source_and_options539;
    #undef	RETURN_TYPE_select_source_and_options539
    #define	RETURN_TYPE_select_source_and_options539 MySQLParser_select_source_and_options_return

    MySQLParser_select_lock_type_return select_lock_type540;
    #undef	RETURN_TYPE_select_lock_type540
    #define	RETURN_TYPE_select_lock_type540 MySQLParser_select_lock_type_return

    pANTLR3_BASE_TREE SELECT_SYMBOL536_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    SELECT_SYMBOL536       = NULL;
    select_option537.tree = NULL;

    select_item_list538.tree = NULL;

    select_source_and_options539.tree = NULL;

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


    SELECT_SYMBOL536_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:613:14: ( SELECT_SYMBOL ( options {greedy=true; } : select_option )* select_item_list ( select_source_and_options )? ( select_lock_type )? )
        // MySQL.g:614:2: SELECT_SYMBOL ( options {greedy=true; } : select_option )* select_item_list ( select_source_and_options )? ( select_lock_type )?
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            SELECT_SYMBOL536 = (pANTLR3_COMMON_TOKEN) MATCHT(SELECT_SYMBOL, &FOLLOW_SELECT_SYMBOL_in_create_select2693);
            if  (HASEXCEPTION())
            {
                goto rulecreate_selectEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

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

            // MySQL.g:614:16: ( options {greedy=true; } : select_option )*

            for (;;)
            {
                int alt172=2;
                switch ( LA(1) )
                {
                case SQL_BUFFER_RESULT_SYMBOL:
                	{
                		alt172=1;
                	}
                    break;
                case SQL_NO_CACHE_SYMBOL:
                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:
                	{
                		alt172=1;
                	}
                    break;
                case SQL_CACHE_SYMBOL:
                	{
                		alt172=1;
                	}
                    break;

                }

                switch (alt172)
                {
            	case 1:
            	    // MySQL.g:614:46: select_option
            	    {
            	        FOLLOWPUSH(FOLLOW_select_option_in_create_select2709);
            	        select_option537=select_option(ctx);

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

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

            	    }
            	    break;

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


            FOLLOWPUSH(FOLLOW_select_item_list_in_create_select2713);
            select_item_list538=select_item_list(ctx);

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

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

            // MySQL.g:614:79: ( select_source_and_options )?
            {
                int alt173=2;
                switch ( LA(1) )
                {
                    case FROM_SYMBOL:
                    case INTO_SYMBOL:
                    case LIMIT_SYMBOL:
                    	{
                    		alt173=1;
                    	}
                        break;
                }

                switch (alt173)
                {
            	case 1:
            	    // MySQL.g:614:79: select_source_and_options
            	    {
            	        FOLLOWPUSH(FOLLOW_select_source_and_options_in_create_select2715);
            	        select_source_and_options539=select_source_and_options(ctx);

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

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

            	    }
            	    break;

                }
            }

            // MySQL.g:614:106: ( select_lock_type )?
            {
                int alt174=2;
                switch ( LA(1) )
                {
                    case FOR_SYMBOL:
                    case LOCK_SYMBOL:
                    	{
                    		alt174=1;
                    	}
                        break;
                }

                switch (alt174)
                {
            	case 1:
            	    // MySQL.g:614:106: select_lock_type
            	    {
            	        FOLLOWPUSH(FOLLOW_select_lock_type_in_create_select2718);
            	        select_lock_type540=select_lock_type(ctx);

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

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

            	    }
            	    break;

                }
            }

        }

    }

    // 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:617:1: create_tablespace : TABLESPACE_SYMBOL identifier ADD_SYMBOL DATAFILE_SYMBOL string_literal ( USE_SYMBOL LOGFILE_SYMBOL GROUP_SYMBOL identifier )? ( tablespace_option ( ( COMMA_SYMBOL )? tablespace_option )* )? ;
 */
static MySQLParser_create_tablespace_return
create_tablespace(pMySQLParser ctx)
{
    MySQLParser_create_tablespace_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    TABLESPACE_SYMBOL541;
    pANTLR3_COMMON_TOKEN    ADD_SYMBOL543;
    pANTLR3_COMMON_TOKEN    DATAFILE_SYMBOL544;
    pANTLR3_COMMON_TOKEN    USE_SYMBOL546;
    pANTLR3_COMMON_TOKEN    LOGFILE_SYMBOL547;
    pANTLR3_COMMON_TOKEN    GROUP_SYMBOL548;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL551;
    MySQLParser_identifier_return identifier542;
    #undef	RETURN_TYPE_identifier542
    #define	RETURN_TYPE_identifier542 MySQLParser_identifier_return

    MySQLParser_string_literal_return string_literal545;
    #undef	RETURN_TYPE_string_literal545
    #define	RETURN_TYPE_string_literal545 MySQLParser_string_literal_return

    MySQLParser_identifier_return identifier549;
    #undef	RETURN_TYPE_identifier549
    #define	RETURN_TYPE_identifier549 MySQLParser_identifier_return

    MySQLParser_tablespace_option_return tablespace_option550;
    #undef	RETURN_TYPE_tablespace_option550
    #define	RETURN_TYPE_tablespace_option550 MySQLParser_tablespace_option_return

    MySQLParser_tablespace_option_return tablespace_option552;
    #undef	RETURN_TYPE_tablespace_option552
    #define	RETURN_TYPE_tablespace_option552 MySQLParser_tablespace_option_return

    pANTLR3_BASE_TREE TABLESPACE_SYMBOL541_tree;
    pANTLR3_BASE_TREE ADD_SYMBOL543_tree;
    pANTLR3_BASE_TREE DATAFILE_SYMBOL544_tree;
    pANTLR3_BASE_TREE USE_SYMBOL546_tree;
    pANTLR3_BASE_TREE LOGFILE_SYMBOL547_tree;
    pANTLR3_BASE_TREE GROUP_SYMBOL548_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL551_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    TABLESPACE_SYMBOL541       = NULL;
    ADD_SYMBOL543       = NULL;
    DATAFILE_SYMBOL544       = NULL;
    USE_SYMBOL546       = NULL;
    LOGFILE_SYMBOL547       = NULL;
    GROUP_SYMBOL548       = NULL;
    COMMA_SYMBOL551       = NULL;
    identifier542.tree = NULL;

    string_literal545.tree = NULL;

    identifier549.tree = NULL;

    tablespace_option550.tree = NULL;

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


    TABLESPACE_SYMBOL541_tree   = NULL;
    ADD_SYMBOL543_tree   = NULL;
    DATAFILE_SYMBOL544_tree   = NULL;
    USE_SYMBOL546_tree   = NULL;
    LOGFILE_SYMBOL547_tree   = NULL;
    GROUP_SYMBOL548_tree   = NULL;
    COMMA_SYMBOL551_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:617:18: ( TABLESPACE_SYMBOL identifier ADD_SYMBOL DATAFILE_SYMBOL string_literal ( USE_SYMBOL LOGFILE_SYMBOL GROUP_SYMBOL identifier )? ( tablespace_option ( ( COMMA_SYMBOL )? tablespace_option )* )? )
        // MySQL.g:618:2: TABLESPACE_SYMBOL identifier ADD_SYMBOL DATAFILE_SYMBOL string_literal ( USE_SYMBOL LOGFILE_SYMBOL GROUP_SYMBOL identifier )? ( tablespace_option ( ( COMMA_SYMBOL )? tablespace_option )* )?
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            TABLESPACE_SYMBOL541 = (pANTLR3_COMMON_TOKEN) MATCHT(TABLESPACE_SYMBOL, &FOLLOW_TABLESPACE_SYMBOL_in_create_tablespace2728);
            if  (HASEXCEPTION())
            {
                goto rulecreate_tablespaceEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

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

            FOLLOWPUSH(FOLLOW_identifier_in_create_tablespace2730);
            identifier542=identifier(ctx);

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

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

            ADD_SYMBOL543 = (pANTLR3_COMMON_TOKEN) MATCHT(ADD_SYMBOL, &FOLLOW_ADD_SYMBOL_in_create_tablespace2732);
            if  (HASEXCEPTION())
            {
                goto rulecreate_tablespaceEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

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

            DATAFILE_SYMBOL544 = (pANTLR3_COMMON_TOKEN) MATCHT(DATAFILE_SYMBOL, &FOLLOW_DATAFILE_SYMBOL_in_create_tablespace2734);
            if  (HASEXCEPTION())
            {
                goto rulecreate_tablespaceEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

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

            FOLLOWPUSH(FOLLOW_string_literal_in_create_tablespace2736);
            string_literal545=string_literal(ctx);

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

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

            // MySQL.g:619:3: ( USE_SYMBOL LOGFILE_SYMBOL GROUP_SYMBOL identifier )?
            {
                int alt175=2;
                switch ( LA(1) )
                {
                    case USE_SYMBOL:
                    	{
                    		alt175=1;
                    	}
                        break;
                }

                switch (alt175)
                {
            	case 1:
            	    // MySQL.g:619:4: USE_SYMBOL LOGFILE_SYMBOL GROUP_SYMBOL identifier
            	    {
            	        USE_SYMBOL546 = (pANTLR3_COMMON_TOKEN) MATCHT(USE_SYMBOL, &FOLLOW_USE_SYMBOL_in_create_tablespace2741);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecreate_tablespaceEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

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

            	        LOGFILE_SYMBOL547 = (pANTLR3_COMMON_TOKEN) MATCHT(LOGFILE_SYMBOL, &FOLLOW_LOGFILE_SYMBOL_in_create_tablespace2743);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecreate_tablespaceEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

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

            	        GROUP_SYMBOL548 = (pANTLR3_COMMON_TOKEN) MATCHT(GROUP_SYMBOL, &FOLLOW_GROUP_SYMBOL_in_create_tablespace2745);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecreate_tablespaceEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

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

            	        FOLLOWPUSH(FOLLOW_identifier_in_create_tablespace2747);
            	        identifier549=identifier(ctx);

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

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

            	    }
            	    break;

                }
            }

            // MySQL.g:619:56: ( tablespace_option ( ( COMMA_SYMBOL )? tablespace_option )* )?
            {
                int alt178=2;
                switch ( LA(1) )
                {
                    case AUTOEXTEND_SIZE_SYMBOL:
                    case ENGINE_SYMBOL:
                    case EXTENT_SIZE_SYMBOL:
                    case INITIAL_SIZE_SYMBOL:
                    case MAX_SIZE_SYMBOL:
                    case NODEGROUP_SYMBOL:
                    case NO_WAIT_SYMBOL:
                    case STORAGE_SYMBOL:
                    case WAIT_SYMBOL:
                    case COMMENT_SYMBOL:
                    	{
                    		alt178=1;
                    	}
                        break;
                }

                switch (alt178)
                {
            	case 1:
            	    // MySQL.g:619:57: tablespace_option ( ( COMMA_SYMBOL )? tablespace_option )*
            	    {
            	        FOLLOWPUSH(FOLLOW_tablespace_option_in_create_tablespace2752);
            	        tablespace_option550=tablespace_option(ctx);

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

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

            	        // MySQL.g:619:75: ( ( COMMA_SYMBOL )? tablespace_option )*

            	        for (;;)
            	        {
            	            int alt177=2;
            	            switch ( LA(1) )
            	            {
            	            case AUTOEXTEND_SIZE_SYMBOL:
            	            case ENGINE_SYMBOL:
            	            case EXTENT_SIZE_SYMBOL:
            	            case INITIAL_SIZE_SYMBOL:
            	            case MAX_SIZE_SYMBOL:
            	            case NODEGROUP_SYMBOL:
            	            case NO_WAIT_SYMBOL:
            	            case STORAGE_SYMBOL:
            	            case WAIT_SYMBOL:
            	            case COMMENT_SYMBOL:
            	            case COMMA_SYMBOL:
            	            	{
            	            		alt177=1;
            	            	}
            	                break;

            	            }

            	            switch (alt177)
            	            {
            	        	case 1:
            	        	    // MySQL.g:619:76: ( COMMA_SYMBOL )? tablespace_option
            	        	    {
            	        	        // MySQL.g:619:76: ( COMMA_SYMBOL )?
            	        	        {
            	        	            int alt176=2;
            	        	            switch ( LA(1) )
            	        	            {
            	        	                case COMMA_SYMBOL:
            	        	                	{
            	        	                		alt176=1;
            	        	                	}
            	        	                    break;
            	        	            }

            	        	            switch (alt176)
            	        	            {
            	        	        	case 1:
            	        	        	    // MySQL.g:619:76: COMMA_SYMBOL
            	        	        	    {
            	        	        	        COMMA_SYMBOL551 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_create_tablespace2755);
            	        	        	        if  (HASEXCEPTION())
            	        	        	        {
            	        	        	            goto rulecreate_tablespaceEx;
            	        	        	        }
            	        	        	        if (HASFAILED())
            	        	        	        {
            	        	        	            return retval;
            	        	        	        }

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

            	        	        	    }
            	        	        	    break;

            	        	            }
            	        	        }

            	        	        FOLLOWPUSH(FOLLOW_tablespace_option_in_create_tablespace2758);
            	        	        tablespace_option552=tablespace_option(ctx);

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

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

            	        	    }
            	        	    break;

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


            	    }
            	    break;

                }
            }

        }

    }

    // 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 tablespace_option
 * MySQL.g:622:1: 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 ) | ( WAIT_SYMBOL | NO_WAIT_SYMBOL ) | COMMENT_SYMBOL ( EQUAL_OPERATOR )? string_literal | ( STORAGE_SYMBOL )? ENGINE_SYMBOL ( EQUAL_OPERATOR )? text_or_identifier );
 */
static MySQLParser_tablespace_option_return
tablespace_option(pMySQLParser ctx)
{
    MySQLParser_tablespace_option_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    INITIAL_SIZE_SYMBOL553;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR554;
    pANTLR3_COMMON_TOKEN    AUTOEXTEND_SIZE_SYMBOL556;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR557;
    pANTLR3_COMMON_TOKEN    MAX_SIZE_SYMBOL559;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR560;
    pANTLR3_COMMON_TOKEN    EXTENT_SIZE_SYMBOL562;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR563;
    pANTLR3_COMMON_TOKEN    NODEGROUP_SYMBOL565;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR566;
    pANTLR3_COMMON_TOKEN    set567;
    pANTLR3_COMMON_TOKEN    set568;
    pANTLR3_COMMON_TOKEN    COMMENT_SYMBOL569;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR570;
    pANTLR3_COMMON_TOKEN    STORAGE_SYMBOL572;
    pANTLR3_COMMON_TOKEN    ENGINE_SYMBOL573;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR574;
    MySQLParser_size_number_return size_number555;
    #undef	RETURN_TYPE_size_number555
    #define	RETURN_TYPE_size_number555 MySQLParser_size_number_return

    MySQLParser_size_number_return size_number558;
    #undef	RETURN_TYPE_size_number558
    #define	RETURN_TYPE_size_number558 MySQLParser_size_number_return

    MySQLParser_size_number_return size_number561;
    #undef	RETURN_TYPE_size_number561
    #define	RETURN_TYPE_size_number561 MySQLParser_size_number_return

    MySQLParser_size_number_return size_number564;
    #undef	RETURN_TYPE_size_number564
    #define	RETURN_TYPE_size_number564 MySQLParser_size_number_return

    MySQLParser_string_literal_return string_literal571;
    #undef	RETURN_TYPE_string_literal571
    #define	RETURN_TYPE_string_literal571 MySQLParser_string_literal_return

    MySQLParser_text_or_identifier_return text_or_identifier575;
    #undef	RETURN_TYPE_text_or_identifier575
    #define	RETURN_TYPE_text_or_identifier575 MySQLParser_text_or_identifier_return

    pANTLR3_BASE_TREE INITIAL_SIZE_SYMBOL553_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR554_tree;
    pANTLR3_BASE_TREE AUTOEXTEND_SIZE_SYMBOL556_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR557_tree;
    pANTLR3_BASE_TREE MAX_SIZE_SYMBOL559_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR560_tree;
    pANTLR3_BASE_TREE EXTENT_SIZE_SYMBOL562_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR563_tree;
    pANTLR3_BASE_TREE NODEGROUP_SYMBOL565_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR566_tree;
    pANTLR3_BASE_TREE set567_tree;
    pANTLR3_BASE_TREE set568_tree;
    pANTLR3_BASE_TREE COMMENT_SYMBOL569_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR570_tree;
    pANTLR3_BASE_TREE STORAGE_SYMBOL572_tree;
    pANTLR3_BASE_TREE ENGINE_SYMBOL573_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR574_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    INITIAL_SIZE_SYMBOL553       = NULL;
    EQUAL_OPERATOR554       = NULL;
    AUTOEXTEND_SIZE_SYMBOL556       = NULL;
    EQUAL_OPERATOR557       = NULL;
    MAX_SIZE_SYMBOL559       = NULL;
    EQUAL_OPERATOR560       = NULL;
    EXTENT_SIZE_SYMBOL562       = NULL;
    EQUAL_OPERATOR563       = NULL;
    NODEGROUP_SYMBOL565       = NULL;
    EQUAL_OPERATOR566       = NULL;
    set567       = NULL;
    set568       = NULL;
    COMMENT_SYMBOL569       = NULL;
    EQUAL_OPERATOR570       = NULL;
    STORAGE_SYMBOL572       = NULL;
    ENGINE_SYMBOL573       = NULL;
    EQUAL_OPERATOR574       = NULL;
    size_number555.tree = NULL;

    size_number558.tree = NULL;

    size_number561.tree = NULL;

    size_number564.tree = NULL;

    string_literal571.tree = NULL;

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


    INITIAL_SIZE_SYMBOL553_tree   = NULL;
    EQUAL_OPERATOR554_tree   = NULL;
    AUTOEXTEND_SIZE_SYMBOL556_tree   = NULL;
    EQUAL_OPERATOR557_tree   = NULL;
    MAX_SIZE_SYMBOL559_tree   = NULL;
    EQUAL_OPERATOR560_tree   = NULL;
    EXTENT_SIZE_SYMBOL562_tree   = NULL;
    EQUAL_OPERATOR563_tree   = NULL;
    NODEGROUP_SYMBOL565_tree   = NULL;
    EQUAL_OPERATOR566_tree   = NULL;
    set567_tree   = NULL;
    set568_tree   = NULL;
    COMMENT_SYMBOL569_tree   = NULL;
    EQUAL_OPERATOR570_tree   = NULL;
    STORAGE_SYMBOL572_tree   = NULL;
    ENGINE_SYMBOL573_tree   = NULL;
    EQUAL_OPERATOR574_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:622:18: ( 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 ) | ( WAIT_SYMBOL | NO_WAIT_SYMBOL ) | COMMENT_SYMBOL ( EQUAL_OPERATOR )? string_literal | ( STORAGE_SYMBOL )? ENGINE_SYMBOL ( EQUAL_OPERATOR )? text_or_identifier )

            ANTLR3_UINT32 alt187;

            alt187=8;

            switch ( LA(1) )
            {
            case INITIAL_SIZE_SYMBOL:
            	{
            		alt187=1;
            	}
                break;
            case AUTOEXTEND_SIZE_SYMBOL:
            	{
            		alt187=2;
            	}
                break;
            case MAX_SIZE_SYMBOL:
            	{
            		alt187=3;
            	}
                break;
            case EXTENT_SIZE_SYMBOL:
            	{
            		alt187=4;
            	}
                break;
            case NODEGROUP_SYMBOL:
            	{
            		alt187=5;
            	}
                break;
            case NO_WAIT_SYMBOL:
            case WAIT_SYMBOL:
            	{
            		alt187=6;
            	}
                break;
            case COMMENT_SYMBOL:
            	{
            		alt187=7;
            	}
                break;
            case ENGINE_SYMBOL:
            case STORAGE_SYMBOL:
            	{
            		alt187=8;
            	}
                break;

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

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


                goto ruletablespace_optionEx;

            }

            switch (alt187)
            {
        	case 1:
        	    // MySQL.g:623:2: INITIAL_SIZE_SYMBOL ( EQUAL_OPERATOR )? size_number
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        INITIAL_SIZE_SYMBOL553 = (pANTLR3_COMMON_TOKEN) MATCHT(INITIAL_SIZE_SYMBOL, &FOLLOW_INITIAL_SIZE_SYMBOL_in_tablespace_option2771);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruletablespace_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

        	        // MySQL.g:623:22: ( EQUAL_OPERATOR )?
        	        {
        	            int alt179=2;
        	            switch ( LA(1) )
        	            {
        	                case EQUAL_OPERATOR:
        	                	{
        	                		alt179=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt179)
        	            {
        	        	case 1:
        	        	    // MySQL.g:623:22: EQUAL_OPERATOR
        	        	    {
        	        	        EQUAL_OPERATOR554 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_tablespace_option2773);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruletablespace_optionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

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

        	        	    }
        	        	    break;

        	            }
        	        }

        	        FOLLOWPUSH(FOLLOW_size_number_in_tablespace_option2776);
        	        size_number555=size_number(ctx);

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

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

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:624:4: AUTOEXTEND_SIZE_SYMBOL ( EQUAL_OPERATOR )? size_number
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        AUTOEXTEND_SIZE_SYMBOL556 = (pANTLR3_COMMON_TOKEN) MATCHT(AUTOEXTEND_SIZE_SYMBOL, &FOLLOW_AUTOEXTEND_SIZE_SYMBOL_in_tablespace_option2781);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruletablespace_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

        	        // MySQL.g:624:27: ( EQUAL_OPERATOR )?
        	        {
        	            int alt180=2;
        	            switch ( LA(1) )
        	            {
        	                case EQUAL_OPERATOR:
        	                	{
        	                		alt180=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt180)
        	            {
        	        	case 1:
        	        	    // MySQL.g:624:27: EQUAL_OPERATOR
        	        	    {
        	        	        EQUAL_OPERATOR557 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_tablespace_option2783);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruletablespace_optionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

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

        	        	    }
        	        	    break;

        	            }
        	        }

        	        FOLLOWPUSH(FOLLOW_size_number_in_tablespace_option2786);
        	        size_number558=size_number(ctx);

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

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

        	    }
        	    break;
        	case 3:
        	    // MySQL.g:625:4: MAX_SIZE_SYMBOL ( EQUAL_OPERATOR )? size_number
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        MAX_SIZE_SYMBOL559 = (pANTLR3_COMMON_TOKEN) MATCHT(MAX_SIZE_SYMBOL, &FOLLOW_MAX_SIZE_SYMBOL_in_tablespace_option2791);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruletablespace_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

        	        // MySQL.g:625:20: ( EQUAL_OPERATOR )?
        	        {
        	            int alt181=2;
        	            switch ( LA(1) )
        	            {
        	                case EQUAL_OPERATOR:
        	                	{
        	                		alt181=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt181)
        	            {
        	        	case 1:
        	        	    // MySQL.g:625:20: EQUAL_OPERATOR
        	        	    {
        	        	        EQUAL_OPERATOR560 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_tablespace_option2793);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruletablespace_optionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

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

        	        	    }
        	        	    break;

        	            }
        	        }

        	        FOLLOWPUSH(FOLLOW_size_number_in_tablespace_option2796);
        	        size_number561=size_number(ctx);

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

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

        	    }
        	    break;
        	case 4:
        	    // MySQL.g:626:4: EXTENT_SIZE_SYMBOL ( EQUAL_OPERATOR )? size_number
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        EXTENT_SIZE_SYMBOL562 = (pANTLR3_COMMON_TOKEN) MATCHT(EXTENT_SIZE_SYMBOL, &FOLLOW_EXTENT_SIZE_SYMBOL_in_tablespace_option2801);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruletablespace_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

        	        // MySQL.g:626:23: ( EQUAL_OPERATOR )?
        	        {
        	            int alt182=2;
        	            switch ( LA(1) )
        	            {
        	                case EQUAL_OPERATOR:
        	                	{
        	                		alt182=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt182)
        	            {
        	        	case 1:
        	        	    // MySQL.g:626:23: EQUAL_OPERATOR
        	        	    {
        	        	        EQUAL_OPERATOR563 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_tablespace_option2803);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruletablespace_optionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

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

        	        	    }
        	        	    break;

        	            }
        	        }

        	        FOLLOWPUSH(FOLLOW_size_number_in_tablespace_option2806);
        	        size_number564=size_number(ctx);

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

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

        	    }
        	    break;
        	case 5:
        	    // MySQL.g:627:4: NODEGROUP_SYMBOL ( EQUAL_OPERATOR )? ( INTEGER | HEXNUMBER )
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        NODEGROUP_SYMBOL565 = (pANTLR3_COMMON_TOKEN) MATCHT(NODEGROUP_SYMBOL, &FOLLOW_NODEGROUP_SYMBOL_in_tablespace_option2811);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruletablespace_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

        	        // MySQL.g:627:21: ( EQUAL_OPERATOR )?
        	        {
        	            int alt183=2;
        	            switch ( LA(1) )
        	            {
        	                case EQUAL_OPERATOR:
        	                	{
        	                		alt183=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt183)
        	            {
        	        	case 1:
        	        	    // MySQL.g:627:21: EQUAL_OPERATOR
        	        	    {
        	        	        EQUAL_OPERATOR566 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_tablespace_option2813);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruletablespace_optionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

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

        	        	    }
        	        	    break;

        	            }
        	        }

        	        set567=(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, set567))
        	            );
        	            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 ruletablespace_optionEx;
        	        }


        	    }
        	    break;
        	case 6:
        	    // MySQL.g:628:4: ( WAIT_SYMBOL | NO_WAIT_SYMBOL )
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        set568=(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, set568))
        	            );
        	            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 ruletablespace_optionEx;
        	        }


        	    }
        	    break;
        	case 7:
        	    // MySQL.g:629:4: COMMENT_SYMBOL ( EQUAL_OPERATOR )? string_literal
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        COMMENT_SYMBOL569 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMENT_SYMBOL, &FOLLOW_COMMENT_SYMBOL_in_tablespace_option2838);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruletablespace_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

        	        // MySQL.g:629:19: ( EQUAL_OPERATOR )?
        	        {
        	            int alt184=2;
        	            switch ( LA(1) )
        	            {
        	                case EQUAL_OPERATOR:
        	                	{
        	                		alt184=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt184)
        	            {
        	        	case 1:
        	        	    // MySQL.g:629:19: EQUAL_OPERATOR
        	        	    {
        	        	        EQUAL_OPERATOR570 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_tablespace_option2840);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruletablespace_optionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

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

        	        	    }
        	        	    break;

        	            }
        	        }

        	        FOLLOWPUSH(FOLLOW_string_literal_in_tablespace_option2843);
        	        string_literal571=string_literal(ctx);

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

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

        	    }
        	    break;
        	case 8:
        	    // MySQL.g:630:4: ( STORAGE_SYMBOL )? ENGINE_SYMBOL ( EQUAL_OPERATOR )? text_or_identifier
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        // MySQL.g:630:4: ( STORAGE_SYMBOL )?
        	        {
        	            int alt185=2;
        	            switch ( LA(1) )
        	            {
        	                case STORAGE_SYMBOL:
        	                	{
        	                		alt185=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt185)
        	            {
        	        	case 1:
        	        	    // MySQL.g:630:4: STORAGE_SYMBOL
        	        	    {
        	        	        STORAGE_SYMBOL572 = (pANTLR3_COMMON_TOKEN) MATCHT(STORAGE_SYMBOL, &FOLLOW_STORAGE_SYMBOL_in_tablespace_option2848);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruletablespace_optionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

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

        	        	    }
        	        	    break;

        	            }
        	        }

        	        ENGINE_SYMBOL573 = (pANTLR3_COMMON_TOKEN) MATCHT(ENGINE_SYMBOL, &FOLLOW_ENGINE_SYMBOL_in_tablespace_option2851);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruletablespace_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

        	        // MySQL.g:630:34: ( EQUAL_OPERATOR )?
        	        {
        	            int alt186=2;
        	            switch ( LA(1) )
        	            {
        	                case EQUAL_OPERATOR:
        	                	{
        	                		alt186=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt186)
        	            {
        	        	case 1:
        	        	    // MySQL.g:630:34: EQUAL_OPERATOR
        	        	    {
        	        	        EQUAL_OPERATOR574 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_tablespace_option2853);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruletablespace_optionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

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

        	        	    }
        	        	    break;

        	            }
        	        }

        	        FOLLOWPUSH(FOLLOW_text_or_identifier_in_tablespace_option2856);
        	        text_or_identifier575=text_or_identifier(ctx);

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

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

        	    }
        	    break;

            }
        }
    }

    // This is where rules clean up and exit
    //
    goto ruletablespace_optionEx; /* Prevent compiler warnings */
    ruletablespace_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 tablespace_option */

/**
 * $ANTLR start create_trigger
 * MySQL.g:633:1: create_trigger : TRIGGER_SYMBOL identifier ( BEFORE_SYMBOL | AFTER_SYMBOL ) ( INSERT_SYMBOL | UPDATE_SYMBOL | DELETE_SYMBOL ) ON_SYMBOL qualified_identifier FOR_SYMBOL EACH_SYMBOL ROW_SYMBOL compound_statement ;
 */
static MySQLParser_create_trigger_return
create_trigger(pMySQLParser ctx)
{
    MySQLParser_create_trigger_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    TRIGGER_SYMBOL576;
    pANTLR3_COMMON_TOKEN    set578;
    pANTLR3_COMMON_TOKEN    set579;
    pANTLR3_COMMON_TOKEN    ON_SYMBOL580;
    pANTLR3_COMMON_TOKEN    FOR_SYMBOL582;
    pANTLR3_COMMON_TOKEN    EACH_SYMBOL583;
    pANTLR3_COMMON_TOKEN    ROW_SYMBOL584;
    MySQLParser_identifier_return identifier577;
    #undef	RETURN_TYPE_identifier577
    #define	RETURN_TYPE_identifier577 MySQLParser_identifier_return

    MySQLParser_qualified_identifier_return qualified_identifier581;
    #undef	RETURN_TYPE_qualified_identifier581
    #define	RETURN_TYPE_qualified_identifier581 MySQLParser_qualified_identifier_return

    MySQLParser_compound_statement_return compound_statement585;
    #undef	RETURN_TYPE_compound_statement585
    #define	RETURN_TYPE_compound_statement585 MySQLParser_compound_statement_return

    pANTLR3_BASE_TREE TRIGGER_SYMBOL576_tree;
    pANTLR3_BASE_TREE set578_tree;
    pANTLR3_BASE_TREE set579_tree;
    pANTLR3_BASE_TREE ON_SYMBOL580_tree;
    pANTLR3_BASE_TREE FOR_SYMBOL582_tree;
    pANTLR3_BASE_TREE EACH_SYMBOL583_tree;
    pANTLR3_BASE_TREE ROW_SYMBOL584_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    TRIGGER_SYMBOL576       = NULL;
    set578       = NULL;
    set579       = NULL;
    ON_SYMBOL580       = NULL;
    FOR_SYMBOL582       = NULL;
    EACH_SYMBOL583       = NULL;
    ROW_SYMBOL584       = NULL;
    identifier577.tree = NULL;

    qualified_identifier581.tree = NULL;

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


    TRIGGER_SYMBOL576_tree   = NULL;
    set578_tree   = NULL;
    set579_tree   = NULL;
    ON_SYMBOL580_tree   = NULL;
    FOR_SYMBOL582_tree   = NULL;
    EACH_SYMBOL583_tree   = NULL;
    ROW_SYMBOL584_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:633:15: ( TRIGGER_SYMBOL identifier ( BEFORE_SYMBOL | AFTER_SYMBOL ) ( INSERT_SYMBOL | UPDATE_SYMBOL | DELETE_SYMBOL ) ON_SYMBOL qualified_identifier FOR_SYMBOL EACH_SYMBOL ROW_SYMBOL compound_statement )
        // MySQL.g:634:2: TRIGGER_SYMBOL identifier ( BEFORE_SYMBOL | AFTER_SYMBOL ) ( INSERT_SYMBOL | UPDATE_SYMBOL | DELETE_SYMBOL ) ON_SYMBOL qualified_identifier FOR_SYMBOL EACH_SYMBOL ROW_SYMBOL compound_statement
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            TRIGGER_SYMBOL576 = (pANTLR3_COMMON_TOKEN) MATCHT(TRIGGER_SYMBOL, &FOLLOW_TRIGGER_SYMBOL_in_create_trigger2865);
            if  (HASEXCEPTION())
            {
                goto rulecreate_triggerEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

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

            FOLLOWPUSH(FOLLOW_identifier_in_create_trigger2867);
            identifier577=identifier(ctx);

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

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

            set578=(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, set578))
                );
                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_triggerEx;
            }


            set579=(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, set579))
                );
                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_triggerEx;
            }


            ON_SYMBOL580 = (pANTLR3_COMMON_TOKEN) MATCHT(ON_SYMBOL, &FOLLOW_ON_SYMBOL_in_create_trigger2891);
            if  (HASEXCEPTION())
            {
                goto rulecreate_triggerEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

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

            FOLLOWPUSH(FOLLOW_qualified_identifier_in_create_trigger2893);
            qualified_identifier581=qualified_identifier(ctx);

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

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

            FOR_SYMBOL582 = (pANTLR3_COMMON_TOKEN) MATCHT(FOR_SYMBOL, &FOLLOW_FOR_SYMBOL_in_create_trigger2895);
            if  (HASEXCEPTION())
            {
                goto rulecreate_triggerEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

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

            EACH_SYMBOL583 = (pANTLR3_COMMON_TOKEN) MATCHT(EACH_SYMBOL, &FOLLOW_EACH_SYMBOL_in_create_trigger2897);
            if  (HASEXCEPTION())
            {
                goto rulecreate_triggerEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

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

            ROW_SYMBOL584 = (pANTLR3_COMMON_TOKEN) MATCHT(ROW_SYMBOL, &FOLLOW_ROW_SYMBOL_in_create_trigger2899);
            if  (HASEXCEPTION())
            {
                goto rulecreate_triggerEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

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

            FOLLOWPUSH(FOLLOW_compound_statement_in_create_trigger2901);
            compound_statement585=compound_statement(ctx);

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

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, compound_statement585.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_view
 * MySQL.g:638:1: create_view : ( SQL_SYMBOL SECURITY_SYMBOL ( DEFINER_SYMBOL | INVOKER_SYMBOL ) )? VIEW_SYMBOL qualified_identifier ( identifier_list_with_parentheses )? AS_SYMBOL select_statement ( WITH_SYMBOL ( CASCADED_SYMBOL | LOCAL_SYMBOL )? CHECK_SYMBOL OPTION_SYMBOL )? ;
 */
static MySQLParser_create_view_return
create_view(pMySQLParser ctx)
{
    MySQLParser_create_view_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    SQL_SYMBOL586;
    pANTLR3_COMMON_TOKEN    SECURITY_SYMBOL587;
    pANTLR3_COMMON_TOKEN    set588;
    pANTLR3_COMMON_TOKEN    VIEW_SYMBOL589;
    pANTLR3_COMMON_TOKEN    AS_SYMBOL592;
    pANTLR3_COMMON_TOKEN    WITH_SYMBOL594;
    pANTLR3_COMMON_TOKEN    set595;
    pANTLR3_COMMON_TOKEN    CHECK_SYMBOL596;
    pANTLR3_COMMON_TOKEN    OPTION_SYMBOL597;
    MySQLParser_qualified_identifier_return qualified_identifier590;
    #undef	RETURN_TYPE_qualified_identifier590
    #define	RETURN_TYPE_qualified_identifier590 MySQLParser_qualified_identifier_return

    MySQLParser_identifier_list_with_parentheses_return identifier_list_with_parentheses591;
    #undef	RETURN_TYPE_identifier_list_with_parentheses591
    #define	RETURN_TYPE_identifier_list_with_parentheses591 MySQLParser_identifier_list_with_parentheses_return

    MySQLParser_select_statement_return select_statement593;
    #undef	RETURN_TYPE_select_statement593
    #define	RETURN_TYPE_select_statement593 MySQLParser_select_statement_return

    pANTLR3_BASE_TREE SQL_SYMBOL586_tree;
    pANTLR3_BASE_TREE SECURITY_SYMBOL587_tree;
    pANTLR3_BASE_TREE set588_tree;
    pANTLR3_BASE_TREE VIEW_SYMBOL589_tree;
    pANTLR3_BASE_TREE AS_SYMBOL592_tree;
    pANTLR3_BASE_TREE WITH_SYMBOL594_tree;
    pANTLR3_BASE_TREE set595_tree;
    pANTLR3_BASE_TREE CHECK_SYMBOL596_tree;
    pANTLR3_BASE_TREE OPTION_SYMBOL597_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    SQL_SYMBOL586       = NULL;
    SECURITY_SYMBOL587       = NULL;
    set588       = NULL;
    VIEW_SYMBOL589       = NULL;
    AS_SYMBOL592       = NULL;
    WITH_SYMBOL594       = NULL;
    set595       = NULL;
    CHECK_SYMBOL596       = NULL;
    OPTION_SYMBOL597       = NULL;
    qualified_identifier590.tree = NULL;

    identifier_list_with_parentheses591.tree = NULL;

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


    SQL_SYMBOL586_tree   = NULL;
    SECURITY_SYMBOL587_tree   = NULL;
    set588_tree   = NULL;
    VIEW_SYMBOL589_tree   = NULL;
    AS_SYMBOL592_tree   = NULL;
    WITH_SYMBOL594_tree   = NULL;
    set595_tree   = NULL;
    CHECK_SYMBOL596_tree   = NULL;
    OPTION_SYMBOL597_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:638:12: ( ( SQL_SYMBOL SECURITY_SYMBOL ( DEFINER_SYMBOL | INVOKER_SYMBOL ) )? VIEW_SYMBOL qualified_identifier ( identifier_list_with_parentheses )? AS_SYMBOL select_statement ( WITH_SYMBOL ( CASCADED_SYMBOL | LOCAL_SYMBOL )? CHECK_SYMBOL OPTION_SYMBOL )? )
        // MySQL.g:639:2: ( SQL_SYMBOL SECURITY_SYMBOL ( DEFINER_SYMBOL | INVOKER_SYMBOL ) )? VIEW_SYMBOL qualified_identifier ( 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:639:2: ( SQL_SYMBOL SECURITY_SYMBOL ( DEFINER_SYMBOL | INVOKER_SYMBOL ) )?
            {
                int alt188=2;
                switch ( LA(1) )
                {
                    case SQL_SYMBOL:
                    	{
                    		alt188=1;
                    	}
                        break;
                }

                switch (alt188)
                {
            	case 1:
            	    // MySQL.g:639:3: SQL_SYMBOL SECURITY_SYMBOL ( DEFINER_SYMBOL | INVOKER_SYMBOL )
            	    {
            	        SQL_SYMBOL586 = (pANTLR3_COMMON_TOKEN) MATCHT(SQL_SYMBOL, &FOLLOW_SQL_SYMBOL_in_create_view2911);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecreate_viewEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

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

            	        SECURITY_SYMBOL587 = (pANTLR3_COMMON_TOKEN) MATCHT(SECURITY_SYMBOL, &FOLLOW_SECURITY_SYMBOL_in_create_view2913);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecreate_viewEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

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

            	        set588=(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, set588))
            	            );
            	            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_viewEx;
            	        }


            	    }
            	    break;

                }
            }

            VIEW_SYMBOL589 = (pANTLR3_COMMON_TOKEN) MATCHT(VIEW_SYMBOL, &FOLLOW_VIEW_SYMBOL_in_create_view2927);
            if  (HASEXCEPTION())
            {
                goto rulecreate_viewEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

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

            FOLLOWPUSH(FOLLOW_qualified_identifier_in_create_view2929);
            qualified_identifier590=qualified_identifier(ctx);

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

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

            // MySQL.g:640:36: ( identifier_list_with_parentheses )?
            {
                int alt189=2;
                switch ( LA(1) )
                {
                    case OPEN_PAR_SYMBOL:
                    	{
                    		alt189=1;
                    	}
                        break;
                }

                switch (alt189)
                {
            	case 1:
            	    // MySQL.g:640:36: identifier_list_with_parentheses
            	    {
            	        FOLLOWPUSH(FOLLOW_identifier_list_with_parentheses_in_create_view2931);
            	        identifier_list_with_parentheses591=identifier_list_with_parentheses(ctx);

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

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

            	    }
            	    break;

                }
            }

            AS_SYMBOL592 = (pANTLR3_COMMON_TOKEN) MATCHT(AS_SYMBOL, &FOLLOW_AS_SYMBOL_in_create_view2936);
            if  (HASEXCEPTION())
            {
                goto rulecreate_viewEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

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

            FOLLOWPUSH(FOLLOW_select_statement_in_create_view2938);
            select_statement593=select_statement(ctx);

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

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

            // MySQL.g:642:3: ( WITH_SYMBOL ( CASCADED_SYMBOL | LOCAL_SYMBOL )? CHECK_SYMBOL OPTION_SYMBOL )?
            {
                int alt191=2;
                switch ( LA(1) )
                {
                    case WITH_SYMBOL:
                    	{
                    		alt191=1;
                    	}
                        break;
                }

                switch (alt191)
                {
            	case 1:
            	    // MySQL.g:642:4: WITH_SYMBOL ( CASCADED_SYMBOL | LOCAL_SYMBOL )? CHECK_SYMBOL OPTION_SYMBOL
            	    {
            	        WITH_SYMBOL594 = (pANTLR3_COMMON_TOKEN) MATCHT(WITH_SYMBOL, &FOLLOW_WITH_SYMBOL_in_create_view2943);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecreate_viewEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

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

            	        // MySQL.g:642:16: ( CASCADED_SYMBOL | LOCAL_SYMBOL )?
            	        {
            	            int alt190=2;
            	            switch ( LA(1) )
            	            {
            	                case CASCADED_SYMBOL:
            	                case LOCAL_SYMBOL:
            	                	{
            	                		alt190=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt190)
            	            {
            	        	case 1:
            	        	    // MySQL.g:
            	        	    {
            	        	        set595=(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, set595))
            	        	            );
            	        	            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_viewEx;
            	        	        }


            	        	    }
            	        	    break;

            	            }
            	        }

            	        CHECK_SYMBOL596 = (pANTLR3_COMMON_TOKEN) MATCHT(CHECK_SYMBOL, &FOLLOW_CHECK_SYMBOL_in_create_view2954);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecreate_viewEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

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

            	        OPTION_SYMBOL597 = (pANTLR3_COMMON_TOKEN) MATCHT(OPTION_SYMBOL, &FOLLOW_OPTION_SYMBOL_in_create_view2956);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecreate_viewEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

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

            	    }
            	    break;

                }
            }

        }

    }

    // 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 view_replace_or_algorithm
 * MySQL.g:645: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_SYMBOL598;
    pANTLR3_COMMON_TOKEN    REPLACE_SYMBOL599;
    MySQLParser_view_algorithm_return view_algorithm600;
    #undef	RETURN_TYPE_view_algorithm600
    #define	RETURN_TYPE_view_algorithm600 MySQLParser_view_algorithm_return

    MySQLParser_view_algorithm_return view_algorithm601;
    #undef	RETURN_TYPE_view_algorithm601
    #define	RETURN_TYPE_view_algorithm601 MySQLParser_view_algorithm_return

    pANTLR3_BASE_TREE OR_SYMBOL598_tree;
    pANTLR3_BASE_TREE REPLACE_SYMBOL599_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    OR_SYMBOL598       = NULL;
    REPLACE_SYMBOL599       = NULL;
    view_algorithm600.tree = NULL;

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


    OR_SYMBOL598_tree   = NULL;
    REPLACE_SYMBOL599_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:645:26: ( OR_SYMBOL REPLACE_SYMBOL ( view_algorithm )? | view_algorithm )

            ANTLR3_UINT32 alt193;

            alt193=2;

            switch ( LA(1) )
            {
            case OR_SYMBOL:
            	{
            		alt193=1;
            	}
                break;
            case ALGORITHM_SYMBOL:
            	{
            		alt193=2;
            	}
                break;

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

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


                goto ruleview_replace_or_algorithmEx;

            }

            switch (alt193)
            {
        	case 1:
        	    // MySQL.g:646:2: OR_SYMBOL REPLACE_SYMBOL ( view_algorithm )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        OR_SYMBOL598 = (pANTLR3_COMMON_TOKEN) MATCHT(OR_SYMBOL, &FOLLOW_OR_SYMBOL_in_view_replace_or_algorithm2967);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleview_replace_or_algorithmEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

        	        REPLACE_SYMBOL599 = (pANTLR3_COMMON_TOKEN) MATCHT(REPLACE_SYMBOL, &FOLLOW_REPLACE_SYMBOL_in_view_replace_or_algorithm2969);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleview_replace_or_algorithmEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

        	        // MySQL.g:646:27: ( view_algorithm )?
        	        {
        	            int alt192=2;
        	            switch ( LA(1) )
        	            {
        	                case ALGORITHM_SYMBOL:
        	                	{
        	                		alt192=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt192)
        	            {
        	        	case 1:
        	        	    // MySQL.g:646:27: view_algorithm
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_view_algorithm_in_view_replace_or_algorithm2971);
        	        	        view_algorithm600=view_algorithm(ctx);

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

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

        	        	    }
        	        	    break;

        	            }
        	        }

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


        	        FOLLOWPUSH(FOLLOW_view_algorithm_in_view_replace_or_algorithm2977);
        	        view_algorithm601=view_algorithm(ctx);

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

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, view_algorithm601.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:650: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_SYMBOL602;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR603;
    pANTLR3_COMMON_TOKEN    set604;

    pANTLR3_BASE_TREE ALGORITHM_SYMBOL602_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR603_tree;
    pANTLR3_BASE_TREE set604_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    ALGORITHM_SYMBOL602       = NULL;
    EQUAL_OPERATOR603       = NULL;
    set604       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    ALGORITHM_SYMBOL602_tree   = NULL;
    EQUAL_OPERATOR603_tree   = NULL;
    set604_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:650:15: ( ALGORITHM_SYMBOL EQUAL_OPERATOR ( UNDEFINED_SYMBOL | MERGE_SYMBOL | TEMPTABLE_SYMBOL ) )
        // MySQL.g:651:2: ALGORITHM_SYMBOL EQUAL_OPERATOR ( UNDEFINED_SYMBOL | MERGE_SYMBOL | TEMPTABLE_SYMBOL )
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            ALGORITHM_SYMBOL602 = (pANTLR3_COMMON_TOKEN) MATCHT(ALGORITHM_SYMBOL, &FOLLOW_ALGORITHM_SYMBOL_in_view_algorithm2986);
            if  (HASEXCEPTION())
            {
                goto ruleview_algorithmEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

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

            EQUAL_OPERATOR603 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_view_algorithm2988);
            if  (HASEXCEPTION())
            {
                goto ruleview_algorithmEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

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

            set604=(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, set604))
                );
                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:656:1: drop_statement : DROP_SYMBOL ^ ( DATABASE_SYMBOL ( if_exists )? identifier |{...}? => EVENT_SYMBOL ( if_exists )? qualified_identifier | ( FUNCTION_SYMBOL | PROCEDURE_SYMBOL ) ( if_exists )? qualified_identifier | ( online_option )? INDEX_SYMBOL identifier ON_SYMBOL table_identifier ( index_lock_algorithm )? | LOGFILE_SYMBOL GROUP_SYMBOL identifier ( 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 identifier ( drop_logfile_group_option ( ( COMMA_SYMBOL )? drop_logfile_group_option )* )? | TRIGGER_SYMBOL ( if_exists )? qualified_identifier | VIEW_SYMBOL ( if_exists )? table_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_SYMBOL605;
    pANTLR3_COMMON_TOKEN    DATABASE_SYMBOL606;
    pANTLR3_COMMON_TOKEN    EVENT_SYMBOL609;
    pANTLR3_COMMON_TOKEN    set612;
    pANTLR3_COMMON_TOKEN    INDEX_SYMBOL616;
    pANTLR3_COMMON_TOKEN    ON_SYMBOL618;
    pANTLR3_COMMON_TOKEN    LOGFILE_SYMBOL621;
    pANTLR3_COMMON_TOKEN    GROUP_SYMBOL622;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL625;
    pANTLR3_COMMON_TOKEN    SERVER_SYMBOL627;
    pANTLR3_COMMON_TOKEN    TEMPORARY_SYMBOL630;
    pANTLR3_COMMON_TOKEN    set631;
    pANTLR3_COMMON_TOKEN    set634;
    pANTLR3_COMMON_TOKEN    TABLESPACE_SYMBOL635;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL638;
    pANTLR3_COMMON_TOKEN    TRIGGER_SYMBOL640;
    pANTLR3_COMMON_TOKEN    VIEW_SYMBOL643;
    pANTLR3_COMMON_TOKEN    set646;
    MySQLParser_if_exists_return if_exists607;
    #undef	RETURN_TYPE_if_exists607
    #define	RETURN_TYPE_if_exists607 MySQLParser_if_exists_return

    MySQLParser_identifier_return identifier608;
    #undef	RETURN_TYPE_identifier608
    #define	RETURN_TYPE_identifier608 MySQLParser_identifier_return

    MySQLParser_if_exists_return if_exists610;
    #undef	RETURN_TYPE_if_exists610
    #define	RETURN_TYPE_if_exists610 MySQLParser_if_exists_return

    MySQLParser_qualified_identifier_return qualified_identifier611;
    #undef	RETURN_TYPE_qualified_identifier611
    #define	RETURN_TYPE_qualified_identifier611 MySQLParser_qualified_identifier_return

    MySQLParser_if_exists_return if_exists613;
    #undef	RETURN_TYPE_if_exists613
    #define	RETURN_TYPE_if_exists613 MySQLParser_if_exists_return

    MySQLParser_qualified_identifier_return qualified_identifier614;
    #undef	RETURN_TYPE_qualified_identifier614
    #define	RETURN_TYPE_qualified_identifier614 MySQLParser_qualified_identifier_return

    MySQLParser_online_option_return online_option615;
    #undef	RETURN_TYPE_online_option615
    #define	RETURN_TYPE_online_option615 MySQLParser_online_option_return

    MySQLParser_identifier_return identifier617;
    #undef	RETURN_TYPE_identifier617
    #define	RETURN_TYPE_identifier617 MySQLParser_identifier_return

    MySQLParser_table_identifier_return table_identifier619;
    #undef	RETURN_TYPE_table_identifier619
    #define	RETURN_TYPE_table_identifier619 MySQLParser_table_identifier_return

    MySQLParser_index_lock_algorithm_return index_lock_algorithm620;
    #undef	RETURN_TYPE_index_lock_algorithm620
    #define	RETURN_TYPE_index_lock_algorithm620 MySQLParser_index_lock_algorithm_return

    MySQLParser_identifier_return identifier623;
    #undef	RETURN_TYPE_identifier623
    #define	RETURN_TYPE_identifier623 MySQLParser_identifier_return

    MySQLParser_drop_logfile_group_option_return drop_logfile_group_option624;
    #undef	RETURN_TYPE_drop_logfile_group_option624
    #define	RETURN_TYPE_drop_logfile_group_option624 MySQLParser_drop_logfile_group_option_return

    MySQLParser_drop_logfile_group_option_return drop_logfile_group_option626;
    #undef	RETURN_TYPE_drop_logfile_group_option626
    #define	RETURN_TYPE_drop_logfile_group_option626 MySQLParser_drop_logfile_group_option_return

    MySQLParser_if_exists_return if_exists628;
    #undef	RETURN_TYPE_if_exists628
    #define	RETURN_TYPE_if_exists628 MySQLParser_if_exists_return

    MySQLParser_text_or_identifier_return text_or_identifier629;
    #undef	RETURN_TYPE_text_or_identifier629
    #define	RETURN_TYPE_text_or_identifier629 MySQLParser_text_or_identifier_return

    MySQLParser_if_exists_return if_exists632;
    #undef	RETURN_TYPE_if_exists632
    #define	RETURN_TYPE_if_exists632 MySQLParser_if_exists_return

    MySQLParser_table_identifier_list_return table_identifier_list633;
    #undef	RETURN_TYPE_table_identifier_list633
    #define	RETURN_TYPE_table_identifier_list633 MySQLParser_table_identifier_list_return

    MySQLParser_identifier_return identifier636;
    #undef	RETURN_TYPE_identifier636
    #define	RETURN_TYPE_identifier636 MySQLParser_identifier_return

    MySQLParser_drop_logfile_group_option_return drop_logfile_group_option637;
    #undef	RETURN_TYPE_drop_logfile_group_option637
    #define	RETURN_TYPE_drop_logfile_group_option637 MySQLParser_drop_logfile_group_option_return

    MySQLParser_drop_logfile_group_option_return drop_logfile_group_option639;
    #undef	RETURN_TYPE_drop_logfile_group_option639
    #define	RETURN_TYPE_drop_logfile_group_option639 MySQLParser_drop_logfile_group_option_return

    MySQLParser_if_exists_return if_exists641;
    #undef	RETURN_TYPE_if_exists641
    #define	RETURN_TYPE_if_exists641 MySQLParser_if_exists_return

    MySQLParser_qualified_identifier_return qualified_identifier642;
    #undef	RETURN_TYPE_qualified_identifier642
    #define	RETURN_TYPE_qualified_identifier642 MySQLParser_qualified_identifier_return

    MySQLParser_if_exists_return if_exists644;
    #undef	RETURN_TYPE_if_exists644
    #define	RETURN_TYPE_if_exists644 MySQLParser_if_exists_return

    MySQLParser_table_identifier_list_return table_identifier_list645;
    #undef	RETURN_TYPE_table_identifier_list645
    #define	RETURN_TYPE_table_identifier_list645 MySQLParser_table_identifier_list_return

    pANTLR3_BASE_TREE DROP_SYMBOL605_tree;
    pANTLR3_BASE_TREE DATABASE_SYMBOL606_tree;
    pANTLR3_BASE_TREE EVENT_SYMBOL609_tree;
    pANTLR3_BASE_TREE set612_tree;
    pANTLR3_BASE_TREE INDEX_SYMBOL616_tree;
    pANTLR3_BASE_TREE ON_SYMBOL618_tree;
    pANTLR3_BASE_TREE LOGFILE_SYMBOL621_tree;
    pANTLR3_BASE_TREE GROUP_SYMBOL622_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL625_tree;
    pANTLR3_BASE_TREE SERVER_SYMBOL627_tree;
    pANTLR3_BASE_TREE TEMPORARY_SYMBOL630_tree;
    pANTLR3_BASE_TREE set631_tree;
    pANTLR3_BASE_TREE set634_tree;
    pANTLR3_BASE_TREE TABLESPACE_SYMBOL635_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL638_tree;
    pANTLR3_BASE_TREE TRIGGER_SYMBOL640_tree;
    pANTLR3_BASE_TREE VIEW_SYMBOL643_tree;
    pANTLR3_BASE_TREE set646_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    DROP_SYMBOL605       = NULL;
    DATABASE_SYMBOL606       = NULL;
    EVENT_SYMBOL609       = NULL;
    set612       = NULL;
    INDEX_SYMBOL616       = NULL;
    ON_SYMBOL618       = NULL;
    LOGFILE_SYMBOL621       = NULL;
    GROUP_SYMBOL622       = NULL;
    COMMA_SYMBOL625       = NULL;
    SERVER_SYMBOL627       = NULL;
    TEMPORARY_SYMBOL630       = NULL;
    set631       = NULL;
    set634       = NULL;
    TABLESPACE_SYMBOL635       = NULL;
    COMMA_SYMBOL638       = NULL;
    TRIGGER_SYMBOL640       = NULL;
    VIEW_SYMBOL643       = NULL;
    set646       = NULL;
    if_exists607.tree = NULL;

    identifier608.tree = NULL;

    if_exists610.tree = NULL;

    qualified_identifier611.tree = NULL;

    if_exists613.tree = NULL;

    qualified_identifier614.tree = NULL;

    online_option615.tree = NULL;

    identifier617.tree = NULL;

    table_identifier619.tree = NULL;

    index_lock_algorithm620.tree = NULL;

    identifier623.tree = NULL;

    drop_logfile_group_option624.tree = NULL;

    drop_logfile_group_option626.tree = NULL;

    if_exists628.tree = NULL;

    text_or_identifier629.tree = NULL;

    if_exists632.tree = NULL;

    table_identifier_list633.tree = NULL;

    identifier636.tree = NULL;

    drop_logfile_group_option637.tree = NULL;

    drop_logfile_group_option639.tree = NULL;

    if_exists641.tree = NULL;

    qualified_identifier642.tree = NULL;

    if_exists644.tree = NULL;

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


    DROP_SYMBOL605_tree   = NULL;
    DATABASE_SYMBOL606_tree   = NULL;
    EVENT_SYMBOL609_tree   = NULL;
    set612_tree   = NULL;
    INDEX_SYMBOL616_tree   = NULL;
    ON_SYMBOL618_tree   = NULL;
    LOGFILE_SYMBOL621_tree   = NULL;
    GROUP_SYMBOL622_tree   = NULL;
    COMMA_SYMBOL625_tree   = NULL;
    SERVER_SYMBOL627_tree   = NULL;
    TEMPORARY_SYMBOL630_tree   = NULL;
    set631_tree   = NULL;
    set634_tree   = NULL;
    TABLESPACE_SYMBOL635_tree   = NULL;
    COMMA_SYMBOL638_tree   = NULL;
    TRIGGER_SYMBOL640_tree   = NULL;
    VIEW_SYMBOL643_tree   = NULL;
    set646_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:656:15: ( DROP_SYMBOL ^ ( DATABASE_SYMBOL ( if_exists )? identifier |{...}? => EVENT_SYMBOL ( if_exists )? qualified_identifier | ( FUNCTION_SYMBOL | PROCEDURE_SYMBOL ) ( if_exists )? qualified_identifier | ( online_option )? INDEX_SYMBOL identifier ON_SYMBOL table_identifier ( index_lock_algorithm )? | LOGFILE_SYMBOL GROUP_SYMBOL identifier ( 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 identifier ( drop_logfile_group_option ( ( COMMA_SYMBOL )? drop_logfile_group_option )* )? | TRIGGER_SYMBOL ( if_exists )? qualified_identifier | VIEW_SYMBOL ( if_exists )? table_identifier_list ( RESTRICT_SYMBOL | CASCADE_SYMBOL )? ) )
        // MySQL.g:657:2: DROP_SYMBOL ^ ( DATABASE_SYMBOL ( if_exists )? identifier |{...}? => EVENT_SYMBOL ( if_exists )? qualified_identifier | ( FUNCTION_SYMBOL | PROCEDURE_SYMBOL ) ( if_exists )? qualified_identifier | ( online_option )? INDEX_SYMBOL identifier ON_SYMBOL table_identifier ( index_lock_algorithm )? | LOGFILE_SYMBOL GROUP_SYMBOL identifier ( 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 identifier ( drop_logfile_group_option ( ( COMMA_SYMBOL )? drop_logfile_group_option )* )? | TRIGGER_SYMBOL ( if_exists )? qualified_identifier | VIEW_SYMBOL ( if_exists )? table_identifier_list ( RESTRICT_SYMBOL | CASCADE_SYMBOL )? )
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            DROP_SYMBOL605 = (pANTLR3_COMMON_TOKEN) MATCHT(DROP_SYMBOL, &FOLLOW_DROP_SYMBOL_in_drop_statement3011);
            if  (HASEXCEPTION())
            {
                goto ruledrop_statementEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

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

            // MySQL.g:658:2: ( DATABASE_SYMBOL ( if_exists )? identifier |{...}? => EVENT_SYMBOL ( if_exists )? qualified_identifier | ( FUNCTION_SYMBOL | PROCEDURE_SYMBOL ) ( if_exists )? qualified_identifier | ( online_option )? INDEX_SYMBOL identifier ON_SYMBOL table_identifier ( index_lock_algorithm )? | LOGFILE_SYMBOL GROUP_SYMBOL identifier ( 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 identifier ( drop_logfile_group_option ( ( COMMA_SYMBOL )? drop_logfile_group_option )* )? | TRIGGER_SYMBOL ( if_exists )? qualified_identifier | VIEW_SYMBOL ( if_exists )? table_identifier_list ( RESTRICT_SYMBOL | CASCADE_SYMBOL )? )
            {
                int alt212=10;
                {
                    int LA212_0 = LA(1);
                    if ( (LA212_0 == DATABASE_SYMBOL))
                    {
                        alt212=1;
                    }
                    else if ( ((SERVER_VERSION >= 50100)) && (LA212_0 == EVENT_SYMBOL))
                    {
                        alt212=2;
                    }
                    else if ( (LA212_0 == FUNCTION_SYMBOL || LA212_0 == PROCEDURE_SYMBOL))
                    {
                        alt212=3;
                    }
                    else if ( ((SERVER_VERSION < 50600)) && (((LA212_0 >= OFFLINE_SYMBOL) && (LA212_0 <= ONLINE_SYMBOL))))
                    {
                        alt212=4;
                    }
                    else if ( (LA212_0 == INDEX_SYMBOL))
                    {
                        alt212=4;
                    }
                    else if ( (LA212_0 == LOGFILE_SYMBOL))
                    {
                        alt212=5;
                    }
                    else if ( (LA212_0 == SERVER_SYMBOL))
                    {
                        alt212=6;
                    }
                    else if ( (LA212_0 == TABLES_SYMBOL || LA212_0 == TEMPORARY_SYMBOL || LA212_0 == TABLE_SYMBOL))
                    {
                        alt212=7;
                    }
                    else if ( (LA212_0 == TABLESPACE_SYMBOL))
                    {
                        alt212=8;
                    }
                    else if ( (LA212_0 == TRIGGER_SYMBOL))
                    {
                        alt212=9;
                    }
                    else if ( (LA212_0 == VIEW_SYMBOL))
                    {
                        alt212=10;
                    }
                    else
                    {
                        if (BACKTRACKING>0)
                        {
                            FAILEDFLAG = ANTLR3_TRUE;
                            return retval;
                        }


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


                        goto ruledrop_statementEx;

                    }
                }
                switch (alt212)
                {
            	case 1:
            	    // MySQL.g:659:3: DATABASE_SYMBOL ( if_exists )? identifier
            	    {
            	        DATABASE_SYMBOL606 = (pANTLR3_COMMON_TOKEN) MATCHT(DATABASE_SYMBOL, &FOLLOW_DATABASE_SYMBOL_in_drop_statement3019);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruledrop_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

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

            	        // MySQL.g:659:19: ( if_exists )?
            	        {
            	            int alt194=2;
            	            switch ( LA(1) )
            	            {
            	                case IF_SYMBOL:
            	                	{
            	                		alt194=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt194)
            	            {
            	        	case 1:
            	        	    // MySQL.g:659:19: if_exists
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_if_exists_in_drop_statement3021);
            	        	        if_exists607=if_exists(ctx);

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

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

            	        	    }
            	        	    break;

            	            }
            	        }

            	        FOLLOWPUSH(FOLLOW_identifier_in_drop_statement3025);
            	        identifier608=identifier(ctx);

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

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

            	    }
            	    break;
            	case 2:
            	    // MySQL.g:660:5: {...}? => EVENT_SYMBOL ( if_exists )? qualified_identifier
            	    {
            	        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_SYMBOL609 = (pANTLR3_COMMON_TOKEN) MATCHT(EVENT_SYMBOL, &FOLLOW_EVENT_SYMBOL_in_drop_statement3035);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruledrop_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

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

            	        // MySQL.g:660:48: ( if_exists )?
            	        {
            	            int alt195=2;
            	            switch ( LA(1) )
            	            {
            	                case IF_SYMBOL:
            	                	{
            	                		alt195=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt195)
            	            {
            	        	case 1:
            	        	    // MySQL.g:660:48: if_exists
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_if_exists_in_drop_statement3037);
            	        	        if_exists610=if_exists(ctx);

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

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

            	        	    }
            	        	    break;

            	            }
            	        }

            	        FOLLOWPUSH(FOLLOW_qualified_identifier_in_drop_statement3040);
            	        qualified_identifier611=qualified_identifier(ctx);

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

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, qualified_identifier611.tree);

            	    }
            	    break;
            	case 3:
            	    // MySQL.g:661:5: ( FUNCTION_SYMBOL | PROCEDURE_SYMBOL ) ( if_exists )? qualified_identifier
            	    {
            	        set612=(pANTLR3_COMMON_TOKEN)LT(1);

            	        if ( LA(1) == FUNCTION_SYMBOL || LA(1) == PROCEDURE_SYMBOL )
            	        {
            	            CONSUME();
            	            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, 
            	            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set612))
            	            );
            	            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:661:42: ( if_exists )?
            	        {
            	            int alt196=2;
            	            switch ( LA(1) )
            	            {
            	                case IF_SYMBOL:
            	                	{
            	                		alt196=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt196)
            	            {
            	        	case 1:
            	        	    // MySQL.g:661:42: if_exists
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_if_exists_in_drop_statement3054);
            	        	        if_exists613=if_exists(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruledrop_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, if_exists613.tree);

            	        	    }
            	        	    break;

            	            }
            	        }

            	        FOLLOWPUSH(FOLLOW_qualified_identifier_in_drop_statement3057);
            	        qualified_identifier614=qualified_identifier(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruledrop_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, qualified_identifier614.tree);

            	    }
            	    break;
            	case 4:
            	    // MySQL.g:662:5: ( online_option )? INDEX_SYMBOL identifier ON_SYMBOL table_identifier ( index_lock_algorithm )?
            	    {
            	        // MySQL.g:662:5: ( online_option )?
            	        {
            	            int alt197=2;
            	            {
            	                int LA197_0 = LA(1);
            	                if ( ((SERVER_VERSION < 50600)) && (((LA197_0 >= OFFLINE_SYMBOL) && (LA197_0 <= ONLINE_SYMBOL))))
            	                {
            	                    alt197=1;
            	                }
            	            }
            	            switch (alt197)
            	            {
            	        	case 1:
            	        	    // MySQL.g:662:5: online_option
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_online_option_in_drop_statement3064);
            	        	        online_option615=online_option(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruledrop_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, online_option615.tree);

            	        	    }
            	        	    break;

            	            }
            	        }

            	        INDEX_SYMBOL616 = (pANTLR3_COMMON_TOKEN) MATCHT(INDEX_SYMBOL, &FOLLOW_INDEX_SYMBOL_in_drop_statement3067);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruledrop_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        INDEX_SYMBOL616_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INDEX_SYMBOL616));
            	        ADAPTOR->addChild(ADAPTOR, root_0, INDEX_SYMBOL616_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_identifier_in_drop_statement3069);
            	        identifier617=identifier(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruledrop_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier617.tree);

            	        ON_SYMBOL618 = (pANTLR3_COMMON_TOKEN) MATCHT(ON_SYMBOL, &FOLLOW_ON_SYMBOL_in_drop_statement3071);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruledrop_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        ON_SYMBOL618_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ON_SYMBOL618));
            	        ADAPTOR->addChild(ADAPTOR, root_0, ON_SYMBOL618_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_table_identifier_in_drop_statement3073);
            	        table_identifier619=table_identifier(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruledrop_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, table_identifier619.tree);

            	        // MySQL.g:662:71: ( index_lock_algorithm )?
            	        {
            	            int alt198=2;
            	            {
            	                int LA198_0 = LA(1);
            	                if ( ((SERVER_VERSION >= 50600)) && (LA198_0 == ALGORITHM_SYMBOL || LA198_0 == LOCK_SYMBOL))
            	                {
            	                    alt198=1;
            	                }
            	            }
            	            switch (alt198)
            	            {
            	        	case 1:
            	        	    // MySQL.g:662:71: index_lock_algorithm
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_index_lock_algorithm_in_drop_statement3075);
            	        	        index_lock_algorithm620=index_lock_algorithm(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruledrop_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, index_lock_algorithm620.tree);

            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;
            	case 5:
            	    // MySQL.g:663:5: LOGFILE_SYMBOL GROUP_SYMBOL identifier ( drop_logfile_group_option ( ( COMMA_SYMBOL )? drop_logfile_group_option )* )?
            	    {
            	        LOGFILE_SYMBOL621 = (pANTLR3_COMMON_TOKEN) MATCHT(LOGFILE_SYMBOL, &FOLLOW_LOGFILE_SYMBOL_in_drop_statement3082);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruledrop_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        LOGFILE_SYMBOL621_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, LOGFILE_SYMBOL621));
            	        ADAPTOR->addChild(ADAPTOR, root_0, LOGFILE_SYMBOL621_tree);
            	        }

            	        GROUP_SYMBOL622 = (pANTLR3_COMMON_TOKEN) MATCHT(GROUP_SYMBOL, &FOLLOW_GROUP_SYMBOL_in_drop_statement3084);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruledrop_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        GROUP_SYMBOL622_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, GROUP_SYMBOL622));
            	        ADAPTOR->addChild(ADAPTOR, root_0, GROUP_SYMBOL622_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_identifier_in_drop_statement3086);
            	        identifier623=identifier(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruledrop_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier623.tree);

            	        // MySQL.g:663:44: ( drop_logfile_group_option ( ( COMMA_SYMBOL )? drop_logfile_group_option )* )?
            	        {
            	            int alt201=2;
            	            switch ( LA(1) )
            	            {
            	                case ENGINE_SYMBOL:
            	                case NO_WAIT_SYMBOL:
            	                case STORAGE_SYMBOL:
            	                case WAIT_SYMBOL:
            	                	{
            	                		alt201=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt201)
            	            {
            	        	case 1:
            	        	    // MySQL.g:663:45: drop_logfile_group_option ( ( COMMA_SYMBOL )? drop_logfile_group_option )*
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_drop_logfile_group_option_in_drop_statement3089);
            	        	        drop_logfile_group_option624=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_option624.tree);

            	        	        // MySQL.g:663:71: ( ( COMMA_SYMBOL )? drop_logfile_group_option )*

            	        	        for (;;)
            	        	        {
            	        	            int alt200=2;
            	        	            switch ( LA(1) )
            	        	            {
            	        	            case ENGINE_SYMBOL:
            	        	            case NO_WAIT_SYMBOL:
            	        	            case STORAGE_SYMBOL:
            	        	            case WAIT_SYMBOL:
            	        	            case COMMA_SYMBOL:
            	        	            	{
            	        	            		alt200=1;
            	        	            	}
            	        	                break;

            	        	            }

            	        	            switch (alt200)
            	        	            {
            	        	        	case 1:
            	        	        	    // MySQL.g:663:72: ( COMMA_SYMBOL )? drop_logfile_group_option
            	        	        	    {
            	        	        	        // MySQL.g:663:72: ( COMMA_SYMBOL )?
            	        	        	        {
            	        	        	            int alt199=2;
            	        	        	            switch ( LA(1) )
            	        	        	            {
            	        	        	                case COMMA_SYMBOL:
            	        	        	                	{
            	        	        	                		alt199=1;
            	        	        	                	}
            	        	        	                    break;
            	        	        	            }

            	        	        	            switch (alt199)
            	        	        	            {
            	        	        	        	case 1:
            	        	        	        	    // MySQL.g:663:72: COMMA_SYMBOL
            	        	        	        	    {
            	        	        	        	        COMMA_SYMBOL625 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_drop_statement3092);
            	        	        	        	        if  (HASEXCEPTION())
            	        	        	        	        {
            	        	        	        	            goto ruledrop_statementEx;
            	        	        	        	        }
            	        	        	        	        if (HASFAILED())
            	        	        	        	        {
            	        	        	        	            return retval;
            	        	        	        	        }

            	        	        	        	        if ( BACKTRACKING==0 ) {
            	        	        	        	        COMMA_SYMBOL625_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL625));
            	        	        	        	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL625_tree);
            	        	        	        	        }

            	        	        	        	    }
            	        	        	        	    break;

            	        	        	            }
            	        	        	        }

            	        	        	        FOLLOWPUSH(FOLLOW_drop_logfile_group_option_in_drop_statement3095);
            	        	        	        drop_logfile_group_option626=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_option626.tree);

            	        	        	    }
            	        	        	    break;

            	        	        	default:
            	        	        	    goto loop200;	/* break out of the loop */
            	        	        	    break;
            	        	            }
            	        	        }
            	        	        loop200: ; /* Jump out to here if this rule does not match */


            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;
            	case 6:
            	    // MySQL.g:664:5: SERVER_SYMBOL ( if_exists )? text_or_identifier
            	    {
            	        SERVER_SYMBOL627 = (pANTLR3_COMMON_TOKEN) MATCHT(SERVER_SYMBOL, &FOLLOW_SERVER_SYMBOL_in_drop_statement3105);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruledrop_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        SERVER_SYMBOL627_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SERVER_SYMBOL627));
            	        ADAPTOR->addChild(ADAPTOR, root_0, SERVER_SYMBOL627_tree);
            	        }

            	        // MySQL.g:664:19: ( if_exists )?
            	        {
            	            int alt202=2;
            	            switch ( LA(1) )
            	            {
            	                case IF_SYMBOL:
            	                	{
            	                		alt202=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt202)
            	            {
            	        	case 1:
            	        	    // MySQL.g:664:19: if_exists
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_if_exists_in_drop_statement3107);
            	        	        if_exists628=if_exists(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruledrop_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, if_exists628.tree);

            	        	    }
            	        	    break;

            	            }
            	        }

            	        FOLLOWPUSH(FOLLOW_text_or_identifier_in_drop_statement3110);
            	        text_or_identifier629=text_or_identifier(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruledrop_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, text_or_identifier629.tree);

            	    }
            	    break;
            	case 7:
            	    // MySQL.g:665:5: ( TEMPORARY_SYMBOL )? ( TABLE_SYMBOL | TABLES_SYMBOL ) ( if_exists )? table_identifier_list ( RESTRICT_SYMBOL | CASCADE_SYMBOL )?
            	    {
            	        // MySQL.g:665:5: ( TEMPORARY_SYMBOL )?
            	        {
            	            int alt203=2;
            	            switch ( LA(1) )
            	            {
            	                case TEMPORARY_SYMBOL:
            	                	{
            	                		alt203=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt203)
            	            {
            	        	case 1:
            	        	    // MySQL.g:665:5: TEMPORARY_SYMBOL
            	        	    {
            	        	        TEMPORARY_SYMBOL630 = (pANTLR3_COMMON_TOKEN) MATCHT(TEMPORARY_SYMBOL, &FOLLOW_TEMPORARY_SYMBOL_in_drop_statement3116);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruledrop_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        TEMPORARY_SYMBOL630_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, TEMPORARY_SYMBOL630));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, TEMPORARY_SYMBOL630_tree);
            	        	        }

            	        	    }
            	        	    break;

            	            }
            	        }

            	        set631=(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, set631))
            	            );
            	            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:665:54: ( if_exists )?
            	        {
            	            int alt204=2;
            	            switch ( LA(1) )
            	            {
            	                case IF_SYMBOL:
            	                	{
            	                		alt204=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt204)
            	            {
            	        	case 1:
            	        	    // MySQL.g:665:54: if_exists
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_if_exists_in_drop_statement3127);
            	        	        if_exists632=if_exists(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruledrop_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, if_exists632.tree);

            	        	    }
            	        	    break;

            	            }
            	        }

            	        FOLLOWPUSH(FOLLOW_table_identifier_list_in_drop_statement3130);
            	        table_identifier_list633=table_identifier_list(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruledrop_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, table_identifier_list633.tree);

            	        // MySQL.g:665:87: ( RESTRICT_SYMBOL | CASCADE_SYMBOL )?
            	        {
            	            int alt205=2;
            	            switch ( LA(1) )
            	            {
            	                case CASCADE_SYMBOL:
            	                case RESTRICT_SYMBOL:
            	                	{
            	                		alt205=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt205)
            	            {
            	        	case 1:
            	        	    // MySQL.g:
            	        	    {
            	        	        set634=(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, set634))
            	        	            );
            	        	            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:666:5: TABLESPACE_SYMBOL identifier ( drop_logfile_group_option ( ( COMMA_SYMBOL )? drop_logfile_group_option )* )?
            	    {
            	        TABLESPACE_SYMBOL635 = (pANTLR3_COMMON_TOKEN) MATCHT(TABLESPACE_SYMBOL, &FOLLOW_TABLESPACE_SYMBOL_in_drop_statement3145);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruledrop_statementEx;
            	        }
            	        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_identifier_in_drop_statement3147);
            	        identifier636=identifier(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruledrop_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier636.tree);

            	        // MySQL.g:666:34: ( drop_logfile_group_option ( ( COMMA_SYMBOL )? drop_logfile_group_option )* )?
            	        {
            	            int alt208=2;
            	            switch ( LA(1) )
            	            {
            	                case ENGINE_SYMBOL:
            	                case NO_WAIT_SYMBOL:
            	                case STORAGE_SYMBOL:
            	                case WAIT_SYMBOL:
            	                	{
            	                		alt208=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt208)
            	            {
            	        	case 1:
            	        	    // MySQL.g:666:35: drop_logfile_group_option ( ( COMMA_SYMBOL )? drop_logfile_group_option )*
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_drop_logfile_group_option_in_drop_statement3150);
            	        	        drop_logfile_group_option637=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_option637.tree);

            	        	        // MySQL.g:666:61: ( ( COMMA_SYMBOL )? drop_logfile_group_option )*

            	        	        for (;;)
            	        	        {
            	        	            int alt207=2;
            	        	            switch ( LA(1) )
            	        	            {
            	        	            case ENGINE_SYMBOL:
            	        	            case NO_WAIT_SYMBOL:
            	        	            case STORAGE_SYMBOL:
            	        	            case WAIT_SYMBOL:
            	        	            case COMMA_SYMBOL:
            	        	            	{
            	        	            		alt207=1;
            	        	            	}
            	        	                break;

            	        	            }

            	        	            switch (alt207)
            	        	            {
            	        	        	case 1:
            	        	        	    // MySQL.g:666:62: ( COMMA_SYMBOL )? drop_logfile_group_option
            	        	        	    {
            	        	        	        // MySQL.g:666:62: ( COMMA_SYMBOL )?
            	        	        	        {
            	        	        	            int alt206=2;
            	        	        	            switch ( LA(1) )
            	        	        	            {
            	        	        	                case COMMA_SYMBOL:
            	        	        	                	{
            	        	        	                		alt206=1;
            	        	        	                	}
            	        	        	                    break;
            	        	        	            }

            	        	        	            switch (alt206)
            	        	        	            {
            	        	        	        	case 1:
            	        	        	        	    // MySQL.g:666:62: COMMA_SYMBOL
            	        	        	        	    {
            	        	        	        	        COMMA_SYMBOL638 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_drop_statement3153);
            	        	        	        	        if  (HASEXCEPTION())
            	        	        	        	        {
            	        	        	        	            goto ruledrop_statementEx;
            	        	        	        	        }
            	        	        	        	        if (HASFAILED())
            	        	        	        	        {
            	        	        	        	            return retval;
            	        	        	        	        }

            	        	        	        	        if ( BACKTRACKING==0 ) {
            	        	        	        	        COMMA_SYMBOL638_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL638));
            	        	        	        	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL638_tree);
            	        	        	        	        }

            	        	        	        	    }
            	        	        	        	    break;

            	        	        	            }
            	        	        	        }

            	        	        	        FOLLOWPUSH(FOLLOW_drop_logfile_group_option_in_drop_statement3156);
            	        	        	        drop_logfile_group_option639=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_option639.tree);

            	        	        	    }
            	        	        	    break;

            	        	        	default:
            	        	        	    goto loop207;	/* break out of the loop */
            	        	        	    break;
            	        	            }
            	        	        }
            	        	        loop207: ; /* Jump out to here if this rule does not match */


            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;
            	case 9:
            	    // MySQL.g:667:5: TRIGGER_SYMBOL ( if_exists )? qualified_identifier
            	    {
            	        TRIGGER_SYMBOL640 = (pANTLR3_COMMON_TOKEN) MATCHT(TRIGGER_SYMBOL, &FOLLOW_TRIGGER_SYMBOL_in_drop_statement3166);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruledrop_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        TRIGGER_SYMBOL640_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, TRIGGER_SYMBOL640));
            	        ADAPTOR->addChild(ADAPTOR, root_0, TRIGGER_SYMBOL640_tree);
            	        }

            	        // MySQL.g:667:20: ( if_exists )?
            	        {
            	            int alt209=2;
            	            switch ( LA(1) )
            	            {
            	                case IF_SYMBOL:
            	                	{
            	                		alt209=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt209)
            	            {
            	        	case 1:
            	        	    // MySQL.g:667:20: if_exists
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_if_exists_in_drop_statement3168);
            	        	        if_exists641=if_exists(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruledrop_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, if_exists641.tree);

            	        	    }
            	        	    break;

            	            }
            	        }

            	        FOLLOWPUSH(FOLLOW_qualified_identifier_in_drop_statement3171);
            	        qualified_identifier642=qualified_identifier(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruledrop_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, qualified_identifier642.tree);

            	    }
            	    break;
            	case 10:
            	    // MySQL.g:668:5: VIEW_SYMBOL ( if_exists )? table_identifier_list ( RESTRICT_SYMBOL | CASCADE_SYMBOL )?
            	    {
            	        VIEW_SYMBOL643 = (pANTLR3_COMMON_TOKEN) MATCHT(VIEW_SYMBOL, &FOLLOW_VIEW_SYMBOL_in_drop_statement3177);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruledrop_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        VIEW_SYMBOL643_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, VIEW_SYMBOL643));
            	        ADAPTOR->addChild(ADAPTOR, root_0, VIEW_SYMBOL643_tree);
            	        }

            	        // MySQL.g:668:17: ( if_exists )?
            	        {
            	            int alt210=2;
            	            switch ( LA(1) )
            	            {
            	                case IF_SYMBOL:
            	                	{
            	                		alt210=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt210)
            	            {
            	        	case 1:
            	        	    // MySQL.g:668:17: if_exists
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_if_exists_in_drop_statement3179);
            	        	        if_exists644=if_exists(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruledrop_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, if_exists644.tree);

            	        	    }
            	        	    break;

            	            }
            	        }

            	        FOLLOWPUSH(FOLLOW_table_identifier_list_in_drop_statement3182);
            	        table_identifier_list645=table_identifier_list(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruledrop_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, table_identifier_list645.tree);

            	        // MySQL.g:668:50: ( RESTRICT_SYMBOL | CASCADE_SYMBOL )?
            	        {
            	            int alt211=2;
            	            switch ( LA(1) )
            	            {
            	                case CASCADE_SYMBOL:
            	                case RESTRICT_SYMBOL:
            	                	{
            	                		alt211=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt211)
            	            {
            	        	case 1:
            	        	    // MySQL.g:
            	        	    {
            	        	        set646=(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, set646))
            	        	            );
            	        	            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:672:1: drop_logfile_group_option : ( ( WAIT_SYMBOL | NO_WAIT_SYMBOL ) | ( STORAGE_SYMBOL )? ENGINE_SYMBOL ( EQUAL_OPERATOR )? text_or_identifier );
 */
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    set647;
    pANTLR3_COMMON_TOKEN    STORAGE_SYMBOL648;
    pANTLR3_COMMON_TOKEN    ENGINE_SYMBOL649;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR650;
    MySQLParser_text_or_identifier_return text_or_identifier651;
    #undef	RETURN_TYPE_text_or_identifier651
    #define	RETURN_TYPE_text_or_identifier651 MySQLParser_text_or_identifier_return

    pANTLR3_BASE_TREE set647_tree;
    pANTLR3_BASE_TREE STORAGE_SYMBOL648_tree;
    pANTLR3_BASE_TREE ENGINE_SYMBOL649_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR650_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    set647       = NULL;
    STORAGE_SYMBOL648       = NULL;
    ENGINE_SYMBOL649       = NULL;
    EQUAL_OPERATOR650       = NULL;
    text_or_identifier651.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    set647_tree   = NULL;
    STORAGE_SYMBOL648_tree   = NULL;
    ENGINE_SYMBOL649_tree   = NULL;
    EQUAL_OPERATOR650_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:672:26: ( ( WAIT_SYMBOL | NO_WAIT_SYMBOL ) | ( STORAGE_SYMBOL )? ENGINE_SYMBOL ( EQUAL_OPERATOR )? text_or_identifier )

            ANTLR3_UINT32 alt215;

            alt215=2;

            switch ( LA(1) )
            {
            case NO_WAIT_SYMBOL:
            case WAIT_SYMBOL:
            	{
            		alt215=1;
            	}
                break;
            case ENGINE_SYMBOL:
            case STORAGE_SYMBOL:
            	{
            		alt215=2;
            	}
                break;

            default:
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                EXCEPTION->message      = (void *)"";
                EXCEPTION->decisionNum  = 215;
                EXCEPTION->state        = 0;


                goto ruledrop_logfile_group_optionEx;

            }

            switch (alt215)
            {
        	case 1:
        	    // MySQL.g:673:2: ( WAIT_SYMBOL | NO_WAIT_SYMBOL )
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        set647=(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, set647))
        	            );
        	            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:674:4: ( STORAGE_SYMBOL )? ENGINE_SYMBOL ( EQUAL_OPERATOR )? text_or_identifier
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        // MySQL.g:674:4: ( STORAGE_SYMBOL )?
        	        {
        	            int alt213=2;
        	            switch ( LA(1) )
        	            {
        	                case STORAGE_SYMBOL:
        	                	{
        	                		alt213=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt213)
        	            {
        	        	case 1:
        	        	    // MySQL.g:674:4: STORAGE_SYMBOL
        	        	    {
        	        	        STORAGE_SYMBOL648 = (pANTLR3_COMMON_TOKEN) MATCHT(STORAGE_SYMBOL, &FOLLOW_STORAGE_SYMBOL_in_drop_logfile_group_option3214);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruledrop_logfile_group_optionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        STORAGE_SYMBOL648_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, STORAGE_SYMBOL648));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, STORAGE_SYMBOL648_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	        ENGINE_SYMBOL649 = (pANTLR3_COMMON_TOKEN) MATCHT(ENGINE_SYMBOL, &FOLLOW_ENGINE_SYMBOL_in_drop_logfile_group_option3217);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruledrop_logfile_group_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        ENGINE_SYMBOL649_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ENGINE_SYMBOL649));
        	        ADAPTOR->addChild(ADAPTOR, root_0, ENGINE_SYMBOL649_tree);
        	        }

        	        // MySQL.g:674:34: ( EQUAL_OPERATOR )?
        	        {
        	            int alt214=2;
        	            switch ( LA(1) )
        	            {
        	                case EQUAL_OPERATOR:
        	                	{
        	                		alt214=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt214)
        	            {
        	        	case 1:
        	        	    // MySQL.g:674:34: EQUAL_OPERATOR
        	        	    {
        	        	        EQUAL_OPERATOR650 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_drop_logfile_group_option3219);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruledrop_logfile_group_optionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        EQUAL_OPERATOR650_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR650));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR650_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	        FOLLOWPUSH(FOLLOW_text_or_identifier_in_drop_logfile_group_option3222);
        	        text_or_identifier651=text_or_identifier(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruledrop_logfile_group_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, text_or_identifier651.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:678:1: rename_table_statement : RENAME_SYMBOL ^ ( TABLE_SYMBOL | TABLES_SYMBOL ) table_identifier TO_SYMBOL table_identifier ( COMMA_SYMBOL table_identifier TO_SYMBOL table_identifier )* ;
 */
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_SYMBOL652;
    pANTLR3_COMMON_TOKEN    set653;
    pANTLR3_COMMON_TOKEN    TO_SYMBOL655;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL657;
    pANTLR3_COMMON_TOKEN    TO_SYMBOL659;
    MySQLParser_table_identifier_return table_identifier654;
    #undef	RETURN_TYPE_table_identifier654
    #define	RETURN_TYPE_table_identifier654 MySQLParser_table_identifier_return

    MySQLParser_table_identifier_return table_identifier656;
    #undef	RETURN_TYPE_table_identifier656
    #define	RETURN_TYPE_table_identifier656 MySQLParser_table_identifier_return

    MySQLParser_table_identifier_return table_identifier658;
    #undef	RETURN_TYPE_table_identifier658
    #define	RETURN_TYPE_table_identifier658 MySQLParser_table_identifier_return

    MySQLParser_table_identifier_return table_identifier660;
    #undef	RETURN_TYPE_table_identifier660
    #define	RETURN_TYPE_table_identifier660 MySQLParser_table_identifier_return

    pANTLR3_BASE_TREE RENAME_SYMBOL652_tree;
    pANTLR3_BASE_TREE set653_tree;
    pANTLR3_BASE_TREE TO_SYMBOL655_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL657_tree;
    pANTLR3_BASE_TREE TO_SYMBOL659_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    RENAME_SYMBOL652       = NULL;
    set653       = NULL;
    TO_SYMBOL655       = NULL;
    COMMA_SYMBOL657       = NULL;
    TO_SYMBOL659       = NULL;
    table_identifier654.tree = NULL;

    table_identifier656.tree = NULL;

    table_identifier658.tree = NULL;

    table_identifier660.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    RENAME_SYMBOL652_tree   = NULL;
    set653_tree   = NULL;
    TO_SYMBOL655_tree   = NULL;
    COMMA_SYMBOL657_tree   = NULL;
    TO_SYMBOL659_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:678:23: ( RENAME_SYMBOL ^ ( TABLE_SYMBOL | TABLES_SYMBOL ) table_identifier TO_SYMBOL table_identifier ( COMMA_SYMBOL table_identifier TO_SYMBOL table_identifier )* )
        // MySQL.g:679:2: RENAME_SYMBOL ^ ( TABLE_SYMBOL | TABLES_SYMBOL ) table_identifier TO_SYMBOL table_identifier ( COMMA_SYMBOL table_identifier TO_SYMBOL table_identifier )*
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            RENAME_SYMBOL652 = (pANTLR3_COMMON_TOKEN) MATCHT(RENAME_SYMBOL, &FOLLOW_RENAME_SYMBOL_in_rename_table_statement3232);
            if  (HASEXCEPTION())
            {
                goto rulerename_table_statementEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            RENAME_SYMBOL652_tree = 
            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, RENAME_SYMBOL652))
            ;
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, RENAME_SYMBOL652_tree, root_0));
            }

            set653=(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, set653))
                );
                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_identifier_in_rename_table_statement3245);
            table_identifier654=table_identifier(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulerename_table_statementEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, table_identifier654.tree);

            TO_SYMBOL655 = (pANTLR3_COMMON_TOKEN) MATCHT(TO_SYMBOL, &FOLLOW_TO_SYMBOL_in_rename_table_statement3247);
            if  (HASEXCEPTION())
            {
                goto rulerename_table_statementEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            TO_SYMBOL655_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, TO_SYMBOL655));
            ADAPTOR->addChild(ADAPTOR, root_0, TO_SYMBOL655_tree);
            }

            FOLLOWPUSH(FOLLOW_table_identifier_in_rename_table_statement3249);
            table_identifier656=table_identifier(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulerename_table_statementEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, table_identifier656.tree);

            // MySQL.g:680:47: ( COMMA_SYMBOL table_identifier TO_SYMBOL table_identifier )*

            for (;;)
            {
                int alt216=2;
                switch ( LA(1) )
                {
                case COMMA_SYMBOL:
                	{
                		alt216=1;
                	}
                    break;

                }

                switch (alt216)
                {
            	case 1:
            	    // MySQL.g:680:48: COMMA_SYMBOL table_identifier TO_SYMBOL table_identifier
            	    {
            	        COMMA_SYMBOL657 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_rename_table_statement3252);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulerename_table_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        COMMA_SYMBOL657_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL657));
            	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL657_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_table_identifier_in_rename_table_statement3254);
            	        table_identifier658=table_identifier(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulerename_table_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, table_identifier658.tree);

            	        TO_SYMBOL659 = (pANTLR3_COMMON_TOKEN) MATCHT(TO_SYMBOL, &FOLLOW_TO_SYMBOL_in_rename_table_statement3256);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulerename_table_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        TO_SYMBOL659_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, TO_SYMBOL659));
            	        ADAPTOR->addChild(ADAPTOR, root_0, TO_SYMBOL659_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_table_identifier_in_rename_table_statement3258);
            	        table_identifier660=table_identifier(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulerename_table_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, table_identifier660.tree);

            	    }
            	    break;

            	default:
            	    goto loop216;	/* break out of the loop */
            	    break;
                }
            }
            loop216: ; /* 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:685:1: truncate_table_statement : TRUNCATE_SYMBOL ^ ( TABLE_SYMBOL )? table_identifier ;
 */
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_SYMBOL661;
    pANTLR3_COMMON_TOKEN    TABLE_SYMBOL662;
    MySQLParser_table_identifier_return table_identifier663;
    #undef	RETURN_TYPE_table_identifier663
    #define	RETURN_TYPE_table_identifier663 MySQLParser_table_identifier_return

    pANTLR3_BASE_TREE TRUNCATE_SYMBOL661_tree;
    pANTLR3_BASE_TREE TABLE_SYMBOL662_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    TRUNCATE_SYMBOL661       = NULL;
    TABLE_SYMBOL662       = NULL;
    table_identifier663.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    TRUNCATE_SYMBOL661_tree   = NULL;
    TABLE_SYMBOL662_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:685:25: ( TRUNCATE_SYMBOL ^ ( TABLE_SYMBOL )? table_identifier )
        // MySQL.g:686:2: TRUNCATE_SYMBOL ^ ( TABLE_SYMBOL )? table_identifier
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            TRUNCATE_SYMBOL661 = (pANTLR3_COMMON_TOKEN) MATCHT(TRUNCATE_SYMBOL, &FOLLOW_TRUNCATE_SYMBOL_in_truncate_table_statement3272);
            if  (HASEXCEPTION())
            {
                goto ruletruncate_table_statementEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            TRUNCATE_SYMBOL661_tree = 
            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, TRUNCATE_SYMBOL661))
            ;
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, TRUNCATE_SYMBOL661_tree, root_0));
            }

            // MySQL.g:686:19: ( TABLE_SYMBOL )?
            {
                int alt217=2;
                switch ( LA(1) )
                {
                    case TABLE_SYMBOL:
                    	{
                    		alt217=1;
                    	}
                        break;
                }

                switch (alt217)
                {
            	case 1:
            	    // MySQL.g:686:19: TABLE_SYMBOL
            	    {
            	        TABLE_SYMBOL662 = (pANTLR3_COMMON_TOKEN) MATCHT(TABLE_SYMBOL, &FOLLOW_TABLE_SYMBOL_in_truncate_table_statement3275);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruletruncate_table_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        TABLE_SYMBOL662_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, TABLE_SYMBOL662));
            	        ADAPTOR->addChild(ADAPTOR, root_0, TABLE_SYMBOL662_tree);
            	        }

            	    }
            	    break;

                }
            }

            FOLLOWPUSH(FOLLOW_table_identifier_in_truncate_table_statement3278);
            table_identifier663=table_identifier(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruletruncate_table_statementEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, table_identifier663.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:691:1: call_statement : CALL_SYMBOL ^ qualified_identifier ( 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_SYMBOL664;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL666;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL668;
    MySQLParser_qualified_identifier_return qualified_identifier665;
    #undef	RETURN_TYPE_qualified_identifier665
    #define	RETURN_TYPE_qualified_identifier665 MySQLParser_qualified_identifier_return

    MySQLParser_expression_list_return expression_list667;
    #undef	RETURN_TYPE_expression_list667
    #define	RETURN_TYPE_expression_list667 MySQLParser_expression_list_return

    pANTLR3_BASE_TREE CALL_SYMBOL664_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL666_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL668_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    CALL_SYMBOL664       = NULL;
    OPEN_PAR_SYMBOL666       = NULL;
    CLOSE_PAR_SYMBOL668       = NULL;
    qualified_identifier665.tree = NULL;

    expression_list667.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    CALL_SYMBOL664_tree   = NULL;
    OPEN_PAR_SYMBOL666_tree   = NULL;
    CLOSE_PAR_SYMBOL668_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:691:15: ( CALL_SYMBOL ^ qualified_identifier ( OPEN_PAR_SYMBOL ( expression_list )? CLOSE_PAR_SYMBOL )? )
        // MySQL.g:692:2: CALL_SYMBOL ^ qualified_identifier ( OPEN_PAR_SYMBOL ( expression_list )? CLOSE_PAR_SYMBOL )?
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            CALL_SYMBOL664 = (pANTLR3_COMMON_TOKEN) MATCHT(CALL_SYMBOL, &FOLLOW_CALL_SYMBOL_in_call_statement3289);
            if  (HASEXCEPTION())
            {
                goto rulecall_statementEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            CALL_SYMBOL664_tree = 
            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CALL_SYMBOL664))
            ;
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, CALL_SYMBOL664_tree, root_0));
            }

            FOLLOWPUSH(FOLLOW_qualified_identifier_in_call_statement3292);
            qualified_identifier665=qualified_identifier(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulecall_statementEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, qualified_identifier665.tree);

            // MySQL.g:692:36: ( OPEN_PAR_SYMBOL ( expression_list )? CLOSE_PAR_SYMBOL )?
            {
                int alt219=2;
                switch ( LA(1) )
                {
                    case OPEN_PAR_SYMBOL:
                    	{
                    		alt219=1;
                    	}
                        break;
                }

                switch (alt219)
                {
            	case 1:
            	    // MySQL.g:692:37: OPEN_PAR_SYMBOL ( expression_list )? CLOSE_PAR_SYMBOL
            	    {
            	        OPEN_PAR_SYMBOL666 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_call_statement3295);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecall_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        OPEN_PAR_SYMBOL666_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL666));
            	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL666_tree);
            	        }

            	        // MySQL.g:692:53: ( expression_list )?
            	        {
            	            int alt218=2;
            	            {
            	                int LA218_0 = LA(1);
            	                if ( (LA218_0 == BITWISE_NOT_OPERATOR || LA218_0 == INTERVAL_SYMBOL || LA218_0 == LOGICAL_NOT_OPERATOR || LA218_0 == MINUS_OPERATOR || LA218_0 == NCHAR_TEXT || LA218_0 == NOT2_SYMBOL || LA218_0 == NOT_SYMBOL || LA218_0 == PLUS_OPERATOR || LA218_0 == SINGLE_QUOTED_TEXT || LA218_0 == UNDERSCORE_CHARSET))
            	                {
            	                    alt218=1;
            	                }
            	                else if ( ((((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES)))||((!SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))))) && (LA218_0 == DOUBLE_QUOTED_TEXT))
            	                {
            	                    alt218=1;
            	                }
            	                else if ( (LA218_0 == FALSE_SYMBOL || LA218_0 == FLOAT || ((LA218_0 >= HEXNUMBER) && (LA218_0 <= HEXSTRING)) || LA218_0 == INTEGER || LA218_0 == TRUE_SYMBOL))
            	                {
            	                    alt218=1;
            	                }
            	                else if ( ((SERVER_VERSION >= 50003)) && (((LA218_0 >= BITNUMBER) && (LA218_0 <= BITSTRING))))
            	                {
            	                    alt218=1;
            	                }
            	                else if ( (((LA218_0 >= ACTION_SYMBOL) && (LA218_0 <= PARTITION_SYMBOL)) || ((LA218_0 >= AT_AT_SIGN_SYMBOL) && (LA218_0 <= AT_SIGN_SYMBOL)) || LA218_0 == BACK_TICK_QUOTED_ID || LA218_0 == BINARY_SYMBOL || ((LA218_0 >= BIT_AND_SYMBOL) && (LA218_0 <= BIT_XOR_SYMBOL)) || ((LA218_0 >= CASE_SYMBOL) && (LA218_0 <= CAST_SYMBOL)) || LA218_0 == CHAR_SYMBOL || ((LA218_0 >= CONVERT_SYMBOL) && (LA218_0 <= COUNT_SYMBOL)) || LA218_0 == CURDATE_SYMBOL || LA218_0 == CURRENT_USER_SYMBOL || LA218_0 == CURTIME_SYMBOL || LA218_0 == DATABASE_SYMBOL || LA218_0 == DATE_ADD_SYMBOL || LA218_0 == DATE_SUB_SYMBOL || LA218_0 == DOT_SYMBOL || LA218_0 == EXISTS_SYMBOL || LA218_0 == EXTRACT_SYMBOL || LA218_0 == GROUP_CONCAT_SYMBOL || ((LA218_0 >= IDENTIFIER) && (LA218_0 <= IF_SYMBOL)) || LA218_0 == INSERT_SYMBOL || LA218_0 == LEFT_SYMBOL || LA218_0 == MATCH_SYMBOL || LA218_0 == MAX_SYMBOL || LA218_0 == MIN_SYMBOL || LA218_0 == MOD_SYMBOL || LA218_0 == NOW_SYMBOL || LA218_0 == NULL2_SYMBOL || LA218_0 == NULL_SYMBOL || ((LA218_0 >= OPEN_CURLY_SYMBOL) && (LA218_0 <= OPEN_PAR_SYMBOL)) || LA218_0 == PARAM_MARKER || LA218_0 == POSITION_SYMBOL || ((LA218_0 >= REPEAT_SYMBOL) && (LA218_0 <= REPLACE_SYMBOL)) || LA218_0 == RIGHT_SYMBOL || LA218_0 == STDDEV_SAMP_SYMBOL || LA218_0 == STD_SYMBOL || LA218_0 == SUBSTRING_SYMBOL || ((LA218_0 >= SUM_SYMBOL) && (LA218_0 <= SYSDATE_SYMBOL)) || LA218_0 == TRIM_SYMBOL || ((LA218_0 >= UTC_DATE_SYMBOL) && (LA218_0 <= VALUES_SYMBOL)) || LA218_0 == VARIANCE_SYMBOL || LA218_0 == VAR_SAMP_SYMBOL))
            	                {
            	                    alt218=1;
            	                }
            	            }
            	            switch (alt218)
            	            {
            	        	case 1:
            	        	    // MySQL.g:692:53: expression_list
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_expression_list_in_call_statement3297);
            	        	        expression_list667=expression_list(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulecall_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression_list667.tree);

            	        	    }
            	        	    break;

            	            }
            	        }

            	        CLOSE_PAR_SYMBOL668 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_call_statement3300);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecall_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        CLOSE_PAR_SYMBOL668_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL668));
            	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL668_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:695:1: delete_statement : DELETE_SYMBOL ^ ( options {greedy=true; } : delete_option )* ( FROM_SYMBOL ( options {k=4; } : table_name_list_with_wildcards USING_SYMBOL table_references ( where_clause )? | table_identifier ( partition_delete )? ( where_clause )? ( order_by_clause )? ( LIMIT_SYMBOL limit_option )? ) | table_name_list_with_wildcards FROM_SYMBOL table_references ( 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_SYMBOL669;
    pANTLR3_COMMON_TOKEN    FROM_SYMBOL671;
    pANTLR3_COMMON_TOKEN    USING_SYMBOL673;
    pANTLR3_COMMON_TOKEN    LIMIT_SYMBOL680;
    pANTLR3_COMMON_TOKEN    FROM_SYMBOL683;
    MySQLParser_delete_option_return delete_option670;
    #undef	RETURN_TYPE_delete_option670
    #define	RETURN_TYPE_delete_option670 MySQLParser_delete_option_return

    MySQLParser_table_name_list_with_wildcards_return table_name_list_with_wildcards672;
    #undef	RETURN_TYPE_table_name_list_with_wildcards672
    #define	RETURN_TYPE_table_name_list_with_wildcards672 MySQLParser_table_name_list_with_wildcards_return

    MySQLParser_table_references_return table_references674;
    #undef	RETURN_TYPE_table_references674
    #define	RETURN_TYPE_table_references674 MySQLParser_table_references_return

    MySQLParser_where_clause_return where_clause675;
    #undef	RETURN_TYPE_where_clause675
    #define	RETURN_TYPE_where_clause675 MySQLParser_where_clause_return

    MySQLParser_table_identifier_return table_identifier676;
    #undef	RETURN_TYPE_table_identifier676
    #define	RETURN_TYPE_table_identifier676 MySQLParser_table_identifier_return

    MySQLParser_partition_delete_return partition_delete677;
    #undef	RETURN_TYPE_partition_delete677
    #define	RETURN_TYPE_partition_delete677 MySQLParser_partition_delete_return

    MySQLParser_where_clause_return where_clause678;
    #undef	RETURN_TYPE_where_clause678
    #define	RETURN_TYPE_where_clause678 MySQLParser_where_clause_return

    MySQLParser_order_by_clause_return order_by_clause679;
    #undef	RETURN_TYPE_order_by_clause679
    #define	RETURN_TYPE_order_by_clause679 MySQLParser_order_by_clause_return

    MySQLParser_limit_option_return limit_option681;
    #undef	RETURN_TYPE_limit_option681
    #define	RETURN_TYPE_limit_option681 MySQLParser_limit_option_return

    MySQLParser_table_name_list_with_wildcards_return table_name_list_with_wildcards682;
    #undef	RETURN_TYPE_table_name_list_with_wildcards682
    #define	RETURN_TYPE_table_name_list_with_wildcards682 MySQLParser_table_name_list_with_wildcards_return

    MySQLParser_table_references_return table_references684;
    #undef	RETURN_TYPE_table_references684
    #define	RETURN_TYPE_table_references684 MySQLParser_table_references_return

    MySQLParser_where_clause_return where_clause685;
    #undef	RETURN_TYPE_where_clause685
    #define	RETURN_TYPE_where_clause685 MySQLParser_where_clause_return

    pANTLR3_BASE_TREE DELETE_SYMBOL669_tree;
    pANTLR3_BASE_TREE FROM_SYMBOL671_tree;
    pANTLR3_BASE_TREE USING_SYMBOL673_tree;
    pANTLR3_BASE_TREE LIMIT_SYMBOL680_tree;
    pANTLR3_BASE_TREE FROM_SYMBOL683_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    DELETE_SYMBOL669       = NULL;
    FROM_SYMBOL671       = NULL;
    USING_SYMBOL673       = NULL;
    LIMIT_SYMBOL680       = NULL;
    FROM_SYMBOL683       = NULL;
    delete_option670.tree = NULL;

    table_name_list_with_wildcards672.tree = NULL;

    table_references674.tree = NULL;

    where_clause675.tree = NULL;

    table_identifier676.tree = NULL;

    partition_delete677.tree = NULL;

    where_clause678.tree = NULL;

    order_by_clause679.tree = NULL;

    limit_option681.tree = NULL;

    table_name_list_with_wildcards682.tree = NULL;

    table_references684.tree = NULL;

    where_clause685.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    DELETE_SYMBOL669_tree   = NULL;
    FROM_SYMBOL671_tree   = NULL;
    USING_SYMBOL673_tree   = NULL;
    LIMIT_SYMBOL680_tree   = NULL;
    FROM_SYMBOL683_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:695:17: ( DELETE_SYMBOL ^ ( options {greedy=true; } : delete_option )* ( FROM_SYMBOL ( options {k=4; } : table_name_list_with_wildcards USING_SYMBOL table_references ( where_clause )? | table_identifier ( partition_delete )? ( where_clause )? ( order_by_clause )? ( LIMIT_SYMBOL limit_option )? ) | table_name_list_with_wildcards FROM_SYMBOL table_references ( where_clause )? ) )
        // MySQL.g:696:2: DELETE_SYMBOL ^ ( options {greedy=true; } : delete_option )* ( FROM_SYMBOL ( options {k=4; } : table_name_list_with_wildcards USING_SYMBOL table_references ( where_clause )? | table_identifier ( partition_delete )? ( where_clause )? ( order_by_clause )? ( LIMIT_SYMBOL limit_option )? ) | table_name_list_with_wildcards FROM_SYMBOL table_references ( where_clause )? )
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            DELETE_SYMBOL669 = (pANTLR3_COMMON_TOKEN) MATCHT(DELETE_SYMBOL, &FOLLOW_DELETE_SYMBOL_in_delete_statement3311);
            if  (HASEXCEPTION())
            {
                goto ruledelete_statementEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            DELETE_SYMBOL669_tree = 
            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DELETE_SYMBOL669))
            ;
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, DELETE_SYMBOL669_tree, root_0));
            }

            // MySQL.g:696:17: ( options {greedy=true; } : delete_option )*

            for (;;)
            {
                int alt220=2;
                switch ( LA(1) )
                {
                case QUICK_SYMBOL:
                	{
                		{
                		   /* dfaLoopbackState(k,edges,eotPredictsAlt,description,stateNumber,semPredState)
                		    */
                		    int LA220_5 = LA(2);
                		    if ( (LA220_5 == FROM_SYMBOL))
                		    {
                		        alt220=1;
                		    }
                		    else if ( (((LA220_5 >= ACTION_SYMBOL) && (LA220_5 <= PARTITION_SYMBOL)) || LA220_5 == BACK_TICK_QUOTED_ID || LA220_5 == DOUBLE_QUOTED_TEXT || LA220_5 == IDENTIFIER || LA220_5 == IGNORE_SYMBOL || LA220_5 == LOW_PRIORITY_SYMBOL))
                		    {
                		        alt220=1;
                		    }

                		}
                	}
                    break;
                case IGNORE_SYMBOL:
                case LOW_PRIORITY_SYMBOL:
                	{
                		alt220=1;
                	}
                    break;

                }

                switch (alt220)
                {
            	case 1:
            	    // MySQL.g:696:47: delete_option
            	    {
            	        FOLLOWPUSH(FOLLOW_delete_option_in_delete_statement3328);
            	        delete_option670=delete_option(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruledelete_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, delete_option670.tree);

            	    }
            	    break;

            	default:
            	    goto loop220;	/* break out of the loop */
            	    break;
                }
            }
            loop220: ; /* Jump out to here if this rule does not match */


            // MySQL.g:697:3: ( FROM_SYMBOL ( options {k=4; } : table_name_list_with_wildcards USING_SYMBOL table_references ( where_clause )? | table_identifier ( partition_delete )? ( where_clause )? ( order_by_clause )? ( LIMIT_SYMBOL limit_option )? ) | table_name_list_with_wildcards FROM_SYMBOL table_references ( where_clause )? )
            {
                int alt228=2;
                {
                    int LA228_0 = LA(1);
                    if ( (LA228_0 == FROM_SYMBOL))
                    {
                        alt228=1;
                    }
                    else if ( (LA228_0 == BACK_TICK_QUOTED_ID || LA228_0 == IDENTIFIER))
                    {
                        alt228=2;
                    }
                    else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA228_0 == DOUBLE_QUOTED_TEXT))
                    {
                        alt228=2;
                    }
                    else if ( (((LA228_0 >= ACTION_SYMBOL) && (LA228_0 <= PARTITION_SYMBOL))))
                    {
                        alt228=2;
                    }
                    else
                    {
                        if (BACKTRACKING>0)
                        {
                            FAILEDFLAG = ANTLR3_TRUE;
                            return retval;
                        }


                        CONSTRUCTEX();
                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                        EXCEPTION->message      = (void *)"";
                        EXCEPTION->decisionNum  = 228;
                        EXCEPTION->state        = 0;


                        goto ruledelete_statementEx;

                    }
                }
                switch (alt228)
                {
            	case 1:
            	    // MySQL.g:698:4: FROM_SYMBOL ( options {k=4; } : table_name_list_with_wildcards USING_SYMBOL table_references ( where_clause )? | table_identifier ( partition_delete )? ( where_clause )? ( order_by_clause )? ( LIMIT_SYMBOL limit_option )? )
            	    {
            	        FROM_SYMBOL671 = (pANTLR3_COMMON_TOKEN) MATCHT(FROM_SYMBOL, &FOLLOW_FROM_SYMBOL_in_delete_statement3339);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruledelete_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        FROM_SYMBOL671_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, FROM_SYMBOL671));
            	        ADAPTOR->addChild(ADAPTOR, root_0, FROM_SYMBOL671_tree);
            	        }

            	        // MySQL.g:701:5: ( options {k=4; } : table_name_list_with_wildcards USING_SYMBOL table_references ( where_clause )? | table_identifier ( partition_delete )? ( where_clause )? ( order_by_clause )? ( LIMIT_SYMBOL limit_option )? )
            	        {
            	            int alt226=2;
            	            {
            	                int LA226_0 = LA(1);
            	                if ( (LA226_0 == IDENTIFIER))
            	                {
            	                    switch ( LA(2) )
            	                    {
            	                    case DOT_SYMBOL:
            	                    	{
            	                    		{
            	                    		    int LA226_8 = LA(3);
            	                    		    if ( (LA226_8 == MULT_OPERATOR))
            	                    		    {
            	                    		        alt226=1;
            	                    		    }
            	                    		    else if ( (LA226_8 == IDENTIFIER))
            	                    		    {
            	                    		        switch ( LA(4) )
            	                    		        {
            	                    		        case COMMA_SYMBOL:
            	                    		        case DOT_SYMBOL:
            	                    		        case USING_SYMBOL:
            	                    		        	{
            	                    		        		alt226=1;
            	                    		        	}
            	                    		            break;
            	                    		        case EOF:
            	                    		        case PARTITION_SYMBOL:
            	                    		        case LIMIT_SYMBOL:
            	                    		        case ORDER_SYMBOL:
            	                    		        case SEMICOLON_SYMBOL:
            	                    		        case WHERE_SYMBOL:
            	                    		        	{
            	                    		        		alt226=2;
            	                    		        	}
            	                    		            break;

            	                    		        default:
            	                    		            if (BACKTRACKING>0)
            	                    		            {
            	                    		                FAILEDFLAG = ANTLR3_TRUE;
            	                    		                return retval;
            	                    		            }

            	                    		            CONSTRUCTEX();
            	                    		            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
            	                    		            EXCEPTION->message      = (void *)"";
            	                    		            EXCEPTION->decisionNum  = 226;
            	                    		            EXCEPTION->state        = 63;


            	                    		            goto ruledelete_statementEx;

            	                    		        }

            	                    		    }
            	                    		    else if ( (LA226_8 == BACK_TICK_QUOTED_ID))
            	                    		    {
            	                    		        switch ( LA(4) )
            	                    		        {
            	                    		        case COMMA_SYMBOL:
            	                    		        case DOT_SYMBOL:
            	                    		        case USING_SYMBOL:
            	                    		        	{
            	                    		        		alt226=1;
            	                    		        	}
            	                    		            break;
            	                    		        case EOF:
            	                    		        case PARTITION_SYMBOL:
            	                    		        case LIMIT_SYMBOL:
            	                    		        case ORDER_SYMBOL:
            	                    		        case SEMICOLON_SYMBOL:
            	                    		        case WHERE_SYMBOL:
            	                    		        	{
            	                    		        		alt226=2;
            	                    		        	}
            	                    		            break;

            	                    		        default:
            	                    		            if (BACKTRACKING>0)
            	                    		            {
            	                    		                FAILEDFLAG = ANTLR3_TRUE;
            	                    		                return retval;
            	                    		            }

            	                    		            CONSTRUCTEX();
            	                    		            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
            	                    		            EXCEPTION->message      = (void *)"";
            	                    		            EXCEPTION->decisionNum  = 226;
            	                    		            EXCEPTION->state        = 64;


            	                    		            goto ruledelete_statementEx;

            	                    		        }

            	                    		    }
            	                    		    else if ( (LA226_8 == DOUBLE_QUOTED_TEXT))
            	                    		    {
            	                    		        switch ( LA(4) )
            	                    		        {
            	                    		        case COMMA_SYMBOL:
            	                    		        case DOT_SYMBOL:
            	                    		        case USING_SYMBOL:
            	                    		        	{
            	                    		        		alt226=1;
            	                    		        	}
            	                    		            break;
            	                    		        case EOF:
            	                    		        case PARTITION_SYMBOL:
            	                    		        case LIMIT_SYMBOL:
            	                    		        case ORDER_SYMBOL:
            	                    		        case SEMICOLON_SYMBOL:
            	                    		        case WHERE_SYMBOL:
            	                    		        	{
            	                    		        		alt226=2;
            	                    		        	}
            	                    		            break;

            	                    		        default:
            	                    		            if (BACKTRACKING>0)
            	                    		            {
            	                    		                FAILEDFLAG = ANTLR3_TRUE;
            	                    		                return retval;
            	                    		            }

            	                    		            CONSTRUCTEX();
            	                    		            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
            	                    		            EXCEPTION->message      = (void *)"";
            	                    		            EXCEPTION->decisionNum  = 226;
            	                    		            EXCEPTION->state        = 65;


            	                    		            goto ruledelete_statementEx;

            	                    		        }

            	                    		    }
            	                    		    else if ( (((LA226_8 >= ACTION_SYMBOL) && (LA226_8 <= YEAR_SYMBOL))))
            	                    		    {
            	                    		        switch ( LA(4) )
            	                    		        {
            	                    		        case COMMA_SYMBOL:
            	                    		        case DOT_SYMBOL:
            	                    		        case USING_SYMBOL:
            	                    		        	{
            	                    		        		alt226=1;
            	                    		        	}
            	                    		            break;
            	                    		        case EOF:
            	                    		        case PARTITION_SYMBOL:
            	                    		        case LIMIT_SYMBOL:
            	                    		        case ORDER_SYMBOL:
            	                    		        case SEMICOLON_SYMBOL:
            	                    		        case WHERE_SYMBOL:
            	                    		        	{
            	                    		        		alt226=2;
            	                    		        	}
            	                    		            break;

            	                    		        default:
            	                    		            if (BACKTRACKING>0)
            	                    		            {
            	                    		                FAILEDFLAG = ANTLR3_TRUE;
            	                    		                return retval;
            	                    		            }

            	                    		            CONSTRUCTEX();
            	                    		            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
            	                    		            EXCEPTION->message      = (void *)"";
            	                    		            EXCEPTION->decisionNum  = 226;
            	                    		            EXCEPTION->state        = 66;


            	                    		            goto ruledelete_statementEx;

            	                    		        }

            	                    		    }
            	                    		    else if ( (LA226_8 == PARTITION_SYMBOL))
            	                    		    {
            	                    		        switch ( LA(4) )
            	                    		        {
            	                    		        case COMMA_SYMBOL:
            	                    		        case DOT_SYMBOL:
            	                    		        case USING_SYMBOL:
            	                    		        	{
            	                    		        		alt226=1;
            	                    		        	}
            	                    		            break;
            	                    		        case EOF:
            	                    		        case PARTITION_SYMBOL:
            	                    		        case LIMIT_SYMBOL:
            	                    		        case ORDER_SYMBOL:
            	                    		        case SEMICOLON_SYMBOL:
            	                    		        case WHERE_SYMBOL:
            	                    		        	{
            	                    		        		alt226=2;
            	                    		        	}
            	                    		            break;

            	                    		        default:
            	                    		            if (BACKTRACKING>0)
            	                    		            {
            	                    		                FAILEDFLAG = ANTLR3_TRUE;
            	                    		                return retval;
            	                    		            }

            	                    		            CONSTRUCTEX();
            	                    		            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
            	                    		            EXCEPTION->message      = (void *)"";
            	                    		            EXCEPTION->decisionNum  = 226;
            	                    		            EXCEPTION->state        = 67;


            	                    		            goto ruledelete_statementEx;

            	                    		        }

            	                    		    }
            	                    		    else if ( (((LA226_8 >= ASCII_SYMBOL) && (LA226_8 <= XA_SYMBOL))))
            	                    		    {
            	                    		        switch ( LA(4) )
            	                    		        {
            	                    		        case COMMA_SYMBOL:
            	                    		        case DOT_SYMBOL:
            	                    		        case USING_SYMBOL:
            	                    		        	{
            	                    		        		alt226=1;
            	                    		        	}
            	                    		            break;
            	                    		        case EOF:
            	                    		        case PARTITION_SYMBOL:
            	                    		        case LIMIT_SYMBOL:
            	                    		        case ORDER_SYMBOL:
            	                    		        case SEMICOLON_SYMBOL:
            	                    		        case WHERE_SYMBOL:
            	                    		        	{
            	                    		        		alt226=2;
            	                    		        	}
            	                    		            break;

            	                    		        default:
            	                    		            if (BACKTRACKING>0)
            	                    		            {
            	                    		                FAILEDFLAG = ANTLR3_TRUE;
            	                    		                return retval;
            	                    		            }

            	                    		            CONSTRUCTEX();
            	                    		            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
            	                    		            EXCEPTION->message      = (void *)"";
            	                    		            EXCEPTION->decisionNum  = 226;
            	                    		            EXCEPTION->state        = 68;


            	                    		            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  = 226;
            	                    		        EXCEPTION->state        = 8;


            	                    		        goto ruledelete_statementEx;

            	                    		    }
            	                    		}
            	                    	}
            	                        break;
            	                    case COMMA_SYMBOL:
            	                    case USING_SYMBOL:
            	                    	{
            	                    		alt226=1;
            	                    	}
            	                        break;
            	                    case EOF:
            	                    case PARTITION_SYMBOL:
            	                    case LIMIT_SYMBOL:
            	                    case ORDER_SYMBOL:
            	                    case SEMICOLON_SYMBOL:
            	                    case WHERE_SYMBOL:
            	                    	{
            	                    		alt226=2;
            	                    	}
            	                        break;

            	                    default:
            	                        if (BACKTRACKING>0)
            	                        {
            	                            FAILEDFLAG = ANTLR3_TRUE;
            	                            return retval;
            	                        }

            	                        CONSTRUCTEX();
            	                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
            	                        EXCEPTION->message      = (void *)"";
            	                        EXCEPTION->decisionNum  = 226;
            	                        EXCEPTION->state        = 1;


            	                        goto ruledelete_statementEx;

            	                    }

            	                }
            	                else if ( (LA226_0 == BACK_TICK_QUOTED_ID))
            	                {
            	                    switch ( LA(2) )
            	                    {
            	                    case DOT_SYMBOL:
            	                    	{
            	                    		{
            	                    		    int LA226_17 = LA(3);
            	                    		    if ( (LA226_17 == MULT_OPERATOR))
            	                    		    {
            	                    		        alt226=1;
            	                    		    }
            	                    		    else if ( (LA226_17 == IDENTIFIER))
            	                    		    {
            	                    		        switch ( LA(4) )
            	                    		        {
            	                    		        case COMMA_SYMBOL:
            	                    		        case DOT_SYMBOL:
            	                    		        case USING_SYMBOL:
            	                    		        	{
            	                    		        		alt226=1;
            	                    		        	}
            	                    		            break;
            	                    		        case EOF:
            	                    		        case PARTITION_SYMBOL:
            	                    		        case LIMIT_SYMBOL:
            	                    		        case ORDER_SYMBOL:
            	                    		        case SEMICOLON_SYMBOL:
            	                    		        case WHERE_SYMBOL:
            	                    		        	{
            	                    		        		alt226=2;
            	                    		        	}
            	                    		            break;

            	                    		        default:
            	                    		            if (BACKTRACKING>0)
            	                    		            {
            	                    		                FAILEDFLAG = ANTLR3_TRUE;
            	                    		                return retval;
            	                    		            }

            	                    		            CONSTRUCTEX();
            	                    		            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
            	                    		            EXCEPTION->message      = (void *)"";
            	                    		            EXCEPTION->decisionNum  = 226;
            	                    		            EXCEPTION->state        = 70;


            	                    		            goto ruledelete_statementEx;

            	                    		        }

            	                    		    }
            	                    		    else if ( (LA226_17 == BACK_TICK_QUOTED_ID))
            	                    		    {
            	                    		        switch ( LA(4) )
            	                    		        {
            	                    		        case COMMA_SYMBOL:
            	                    		        case DOT_SYMBOL:
            	                    		        case USING_SYMBOL:
            	                    		        	{
            	                    		        		alt226=1;
            	                    		        	}
            	                    		            break;
            	                    		        case EOF:
            	                    		        case PARTITION_SYMBOL:
            	                    		        case LIMIT_SYMBOL:
            	                    		        case ORDER_SYMBOL:
            	                    		        case SEMICOLON_SYMBOL:
            	                    		        case WHERE_SYMBOL:
            	                    		        	{
            	                    		        		alt226=2;
            	                    		        	}
            	                    		            break;

            	                    		        default:
            	                    		            if (BACKTRACKING>0)
            	                    		            {
            	                    		                FAILEDFLAG = ANTLR3_TRUE;
            	                    		                return retval;
            	                    		            }

            	                    		            CONSTRUCTEX();
            	                    		            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
            	                    		            EXCEPTION->message      = (void *)"";
            	                    		            EXCEPTION->decisionNum  = 226;
            	                    		            EXCEPTION->state        = 71;


            	                    		            goto ruledelete_statementEx;

            	                    		        }

            	                    		    }
            	                    		    else if ( (LA226_17 == DOUBLE_QUOTED_TEXT))
            	                    		    {
            	                    		        switch ( LA(4) )
            	                    		        {
            	                    		        case COMMA_SYMBOL:
            	                    		        case DOT_SYMBOL:
            	                    		        case USING_SYMBOL:
            	                    		        	{
            	                    		        		alt226=1;
            	                    		        	}
            	                    		            break;
            	                    		        case EOF:
            	                    		        case PARTITION_SYMBOL:
            	                    		        case LIMIT_SYMBOL:
            	                    		        case ORDER_SYMBOL:
            	                    		        case SEMICOLON_SYMBOL:
            	                    		        case WHERE_SYMBOL:
            	                    		        	{
            	                    		        		alt226=2;
            	                    		        	}
            	                    		            break;

            	                    		        default:
            	                    		            if (BACKTRACKING>0)
            	                    		            {
            	                    		                FAILEDFLAG = ANTLR3_TRUE;
            	                    		                return retval;
            	                    		            }

            	                    		            CONSTRUCTEX();
            	                    		            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
            	                    		            EXCEPTION->message      = (void *)"";
            	                    		            EXCEPTION->decisionNum  = 226;
            	                    		            EXCEPTION->state        = 72;


            	                    		            goto ruledelete_statementEx;

            	                    		        }

            	                    		    }
            	                    		    else if ( (((LA226_17 >= ACTION_SYMBOL) && (LA226_17 <= YEAR_SYMBOL))))
            	                    		    {
            	                    		        switch ( LA(4) )
            	                    		        {
            	                    		        case COMMA_SYMBOL:
            	                    		        case DOT_SYMBOL:
            	                    		        case USING_SYMBOL:
            	                    		        	{
            	                    		        		alt226=1;
            	                    		        	}
            	                    		            break;
            	                    		        case EOF:
            	                    		        case PARTITION_SYMBOL:
            	                    		        case LIMIT_SYMBOL:
            	                    		        case ORDER_SYMBOL:
            	                    		        case SEMICOLON_SYMBOL:
            	                    		        case WHERE_SYMBOL:
            	                    		        	{
            	                    		        		alt226=2;
            	                    		        	}
            	                    		            break;

            	                    		        default:
            	                    		            if (BACKTRACKING>0)
            	                    		            {
            	                    		                FAILEDFLAG = ANTLR3_TRUE;
            	                    		                return retval;
            	                    		            }

            	                    		            CONSTRUCTEX();
            	                    		            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
            	                    		            EXCEPTION->message      = (void *)"";
            	                    		            EXCEPTION->decisionNum  = 226;
            	                    		            EXCEPTION->state        = 73;


            	                    		            goto ruledelete_statementEx;

            	                    		        }

            	                    		    }
            	                    		    else if ( (LA226_17 == PARTITION_SYMBOL))
            	                    		    {
            	                    		        switch ( LA(4) )
            	                    		        {
            	                    		        case COMMA_SYMBOL:
            	                    		        case DOT_SYMBOL:
            	                    		        case USING_SYMBOL:
            	                    		        	{
            	                    		        		alt226=1;
            	                    		        	}
            	                    		            break;
            	                    		        case EOF:
            	                    		        case PARTITION_SYMBOL:
            	                    		        case LIMIT_SYMBOL:
            	                    		        case ORDER_SYMBOL:
            	                    		        case SEMICOLON_SYMBOL:
            	                    		        case WHERE_SYMBOL:
            	                    		        	{
            	                    		        		alt226=2;
            	                    		        	}
            	                    		            break;

            	                    		        default:
            	                    		            if (BACKTRACKING>0)
            	                    		            {
            	                    		                FAILEDFLAG = ANTLR3_TRUE;
            	                    		                return retval;
            	                    		            }

            	                    		            CONSTRUCTEX();
            	                    		            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
            	                    		            EXCEPTION->message      = (void *)"";
            	                    		            EXCEPTION->decisionNum  = 226;
            	                    		            EXCEPTION->state        = 74;


            	                    		            goto ruledelete_statementEx;

            	                    		        }

            	                    		    }
            	                    		    else if ( (((LA226_17 >= ASCII_SYMBOL) && (LA226_17 <= XA_SYMBOL))))
            	                    		    {
            	                    		        switch ( LA(4) )
            	                    		        {
            	                    		        case COMMA_SYMBOL:
            	                    		        case DOT_SYMBOL:
            	                    		        case USING_SYMBOL:
            	                    		        	{
            	                    		        		alt226=1;
            	                    		        	}
            	                    		            break;
            	                    		        case EOF:
            	                    		        case PARTITION_SYMBOL:
            	                    		        case LIMIT_SYMBOL:
            	                    		        case ORDER_SYMBOL:
            	                    		        case SEMICOLON_SYMBOL:
            	                    		        case WHERE_SYMBOL:
            	                    		        	{
            	                    		        		alt226=2;
            	                    		        	}
            	                    		            break;

            	                    		        default:
            	                    		            if (BACKTRACKING>0)
            	                    		            {
            	                    		                FAILEDFLAG = ANTLR3_TRUE;
            	                    		                return retval;
            	                    		            }

            	                    		            CONSTRUCTEX();
            	                    		            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
            	                    		            EXCEPTION->message      = (void *)"";
            	                    		            EXCEPTION->decisionNum  = 226;
            	                    		            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  = 226;
            	                    		        EXCEPTION->state        = 17;


            	                    		        goto ruledelete_statementEx;

            	                    		    }
            	                    		}
            	                    	}
            	                        break;
            	                    case COMMA_SYMBOL:
            	                    case USING_SYMBOL:
            	                    	{
            	                    		alt226=1;
            	                    	}
            	                        break;
            	                    case EOF:
            	                    case PARTITION_SYMBOL:
            	                    case LIMIT_SYMBOL:
            	                    case ORDER_SYMBOL:
            	                    case SEMICOLON_SYMBOL:
            	                    case WHERE_SYMBOL:
            	                    	{
            	                    		alt226=2;
            	                    	}
            	                        break;

            	                    default:
            	                        if (BACKTRACKING>0)
            	                        {
            	                            FAILEDFLAG = ANTLR3_TRUE;
            	                            return retval;
            	                        }

            	                        CONSTRUCTEX();
            	                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
            	                        EXCEPTION->message      = (void *)"";
            	                        EXCEPTION->decisionNum  = 226;
            	                        EXCEPTION->state        = 2;


            	                        goto ruledelete_statementEx;

            	                    }

            	                }
            	                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA226_0 == DOUBLE_QUOTED_TEXT))
            	                {
            	                    {
            	                        int LA226_3 = LA(2);
            	                        if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA226_3 == DOT_SYMBOL))
            	                        {
            	                            {
            	                                int LA226_26 = LA(3);
            	                                if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA226_26 == MULT_OPERATOR))
            	                                {
            	                                    alt226=1;
            	                                }
            	                                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA226_26 == IDENTIFIER))
            	                                {
            	                                    {
            	                                        int LA226_77 = LA(4);
            	                                        if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA226_77 == COMMA_SYMBOL || LA226_77 == DOT_SYMBOL || LA226_77 == USING_SYMBOL))
            	                                        {
            	                                            alt226=1;
            	                                        }
            	                                        else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA226_77 == EOF || LA226_77 == PARTITION_SYMBOL || LA226_77 == LIMIT_SYMBOL || LA226_77 == ORDER_SYMBOL || LA226_77 == SEMICOLON_SYMBOL || LA226_77 == WHERE_SYMBOL))
            	                                        {
            	                                            alt226=2;
            	                                        }
            	                                        else
            	                                        {
            	                                            if (BACKTRACKING>0)
            	                                            {
            	                                                FAILEDFLAG = ANTLR3_TRUE;
            	                                                return retval;
            	                                            }


            	                                            CONSTRUCTEX();
            	                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
            	                                            EXCEPTION->message      = (void *)"";
            	                                            EXCEPTION->decisionNum  = 226;
            	                                            EXCEPTION->state        = 77;


            	                                            goto ruledelete_statementEx;

            	                                        }
            	                                    }
            	                                }
            	                                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA226_26 == BACK_TICK_QUOTED_ID))
            	                                {
            	                                    {
            	                                        int LA226_78 = LA(4);
            	                                        if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA226_78 == COMMA_SYMBOL || LA226_78 == DOT_SYMBOL || LA226_78 == USING_SYMBOL))
            	                                        {
            	                                            alt226=1;
            	                                        }
            	                                        else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA226_78 == EOF || LA226_78 == PARTITION_SYMBOL || LA226_78 == LIMIT_SYMBOL || LA226_78 == ORDER_SYMBOL || LA226_78 == SEMICOLON_SYMBOL || LA226_78 == WHERE_SYMBOL))
            	                                        {
            	                                            alt226=2;
            	                                        }
            	                                        else
            	                                        {
            	                                            if (BACKTRACKING>0)
            	                                            {
            	                                                FAILEDFLAG = ANTLR3_TRUE;
            	                                                return retval;
            	                                            }


            	                                            CONSTRUCTEX();
            	                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
            	                                            EXCEPTION->message      = (void *)"";
            	                                            EXCEPTION->decisionNum  = 226;
            	                                            EXCEPTION->state        = 78;


            	                                            goto ruledelete_statementEx;

            	                                        }
            	                                    }
            	                                }
            	                                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA226_26 == DOUBLE_QUOTED_TEXT))
            	                                {
            	                                    {
            	                                        int LA226_79 = LA(4);
            	                                        if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA226_79 == COMMA_SYMBOL || LA226_79 == DOT_SYMBOL || LA226_79 == USING_SYMBOL))
            	                                        {
            	                                            alt226=1;
            	                                        }
            	                                        else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA226_79 == EOF || LA226_79 == PARTITION_SYMBOL || LA226_79 == LIMIT_SYMBOL || LA226_79 == ORDER_SYMBOL || LA226_79 == SEMICOLON_SYMBOL || LA226_79 == WHERE_SYMBOL))
            	                                        {
            	                                            alt226=2;
            	                                        }
            	                                        else
            	                                        {
            	                                            if (BACKTRACKING>0)
            	                                            {
            	                                                FAILEDFLAG = ANTLR3_TRUE;
            	                                                return retval;
            	                                            }


            	                                            CONSTRUCTEX();
            	                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
            	                                            EXCEPTION->message      = (void *)"";
            	                                            EXCEPTION->decisionNum  = 226;
            	                                            EXCEPTION->state        = 79;


            	                                            goto ruledelete_statementEx;

            	                                        }
            	                                    }
            	                                }
            	                                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (((LA226_26 >= ACTION_SYMBOL) && (LA226_26 <= YEAR_SYMBOL))))
            	                                {
            	                                    {
            	                                        int LA226_80 = LA(4);
            	                                        if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA226_80 == COMMA_SYMBOL || LA226_80 == DOT_SYMBOL || LA226_80 == USING_SYMBOL))
            	                                        {
            	                                            alt226=1;
            	                                        }
            	                                        else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA226_80 == EOF || LA226_80 == PARTITION_SYMBOL || LA226_80 == LIMIT_SYMBOL || LA226_80 == ORDER_SYMBOL || LA226_80 == SEMICOLON_SYMBOL || LA226_80 == WHERE_SYMBOL))
            	                                        {
            	                                            alt226=2;
            	                                        }
            	                                        else
            	                                        {
            	                                            if (BACKTRACKING>0)
            	                                            {
            	                                                FAILEDFLAG = ANTLR3_TRUE;
            	                                                return retval;
            	                                            }


            	                                            CONSTRUCTEX();
            	                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
            	                                            EXCEPTION->message      = (void *)"";
            	                                            EXCEPTION->decisionNum  = 226;
            	                                            EXCEPTION->state        = 80;


            	                                            goto ruledelete_statementEx;

            	                                        }
            	                                    }
            	                                }
            	                                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA226_26 == PARTITION_SYMBOL))
            	                                {
            	                                    {
            	                                        int LA226_81 = LA(4);
            	                                        if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA226_81 == COMMA_SYMBOL || LA226_81 == DOT_SYMBOL || LA226_81 == USING_SYMBOL))
            	                                        {
            	                                            alt226=1;
            	                                        }
            	                                        else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA226_81 == EOF || LA226_81 == PARTITION_SYMBOL || LA226_81 == LIMIT_SYMBOL || LA226_81 == ORDER_SYMBOL || LA226_81 == SEMICOLON_SYMBOL || LA226_81 == WHERE_SYMBOL))
            	                                        {
            	                                            alt226=2;
            	                                        }
            	                                        else
            	                                        {
            	                                            if (BACKTRACKING>0)
            	                                            {
            	                                                FAILEDFLAG = ANTLR3_TRUE;
            	                                                return retval;
            	                                            }


            	                                            CONSTRUCTEX();
            	                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
            	                                            EXCEPTION->message      = (void *)"";
            	                                            EXCEPTION->decisionNum  = 226;
            	                                            EXCEPTION->state        = 81;


            	                                            goto ruledelete_statementEx;

            	                                        }
            	                                    }
            	                                }
            	                                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (((LA226_26 >= ASCII_SYMBOL) && (LA226_26 <= XA_SYMBOL))))
            	                                {
            	                                    {
            	                                        int LA226_82 = LA(4);
            	                                        if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA226_82 == COMMA_SYMBOL || LA226_82 == DOT_SYMBOL || LA226_82 == USING_SYMBOL))
            	                                        {
            	                                            alt226=1;
            	                                        }
            	                                        else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA226_82 == EOF || LA226_82 == PARTITION_SYMBOL || LA226_82 == LIMIT_SYMBOL || LA226_82 == ORDER_SYMBOL || LA226_82 == SEMICOLON_SYMBOL || LA226_82 == WHERE_SYMBOL))
            	                                        {
            	                                            alt226=2;
            	                                        }
            	                                        else
            	                                        {
            	                                            if (BACKTRACKING>0)
            	                                            {
            	                                                FAILEDFLAG = ANTLR3_TRUE;
            	                                                return retval;
            	                                            }


            	                                            CONSTRUCTEX();
            	                                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
            	                                            EXCEPTION->message      = (void *)"";
            	                                            EXCEPTION->decisionNum  = 226;
            	                                            EXCEPTION->state        = 82;


            	                                            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  = 226;
            	                                    EXCEPTION->state        = 26;


            	                                    goto ruledelete_statementEx;

            	                                }
            	                            }
            	                        }
            	                        else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA226_3 == COMMA_SYMBOL || LA226_3 == USING_SYMBOL))
            	                        {
            	                            alt226=1;
            	                        }
            	                        else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA226_3 == EOF || LA226_3 == PARTITION_SYMBOL || LA226_3 == LIMIT_SYMBOL || LA226_3 == ORDER_SYMBOL || LA226_3 == SEMICOLON_SYMBOL || LA226_3 == WHERE_SYMBOL))
            	                        {
            	                            alt226=2;
            	                        }
            	                        else
            	                        {
            	                            if (BACKTRACKING>0)
            	                            {
            	                                FAILEDFLAG = ANTLR3_TRUE;
            	                                return retval;
            	                            }


            	                            CONSTRUCTEX();
            	                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
            	                            EXCEPTION->message      = (void *)"";
            	                            EXCEPTION->decisionNum  = 226;
            	                            EXCEPTION->state        = 3;


            	                            goto ruledelete_statementEx;

            	                        }
            	                    }
            	                }
            	                else if ( (((LA226_0 >= ACTION_SYMBOL) && (LA226_0 <= YEAR_SYMBOL))))
            	                {
            	                    switch ( LA(2) )
            	                    {
            	                    case DOT_SYMBOL:
            	                    	{
            	                    		{
            	                    		    int LA226_35 = LA(3);
            	                    		    if ( (LA226_35 == MULT_OPERATOR))
            	                    		    {
            	                    		        alt226=1;
            	                    		    }
            	                    		    else if ( (LA226_35 == IDENTIFIER))
            	                    		    {
            	                    		        switch ( LA(4) )
            	                    		        {
            	                    		        case COMMA_SYMBOL:
            	                    		        case DOT_SYMBOL:
            	                    		        case USING_SYMBOL:
            	                    		        	{
            	                    		        		alt226=1;
            	                    		        	}
            	                    		            break;
            	                    		        case EOF:
            	                    		        case PARTITION_SYMBOL:
            	                    		        case LIMIT_SYMBOL:
            	                    		        case ORDER_SYMBOL:
            	                    		        case SEMICOLON_SYMBOL:
            	                    		        case WHERE_SYMBOL:
            	                    		        	{
            	                    		        		alt226=2;
            	                    		        	}
            	                    		            break;

            	                    		        default:
            	                    		            if (BACKTRACKING>0)
            	                    		            {
            	                    		                FAILEDFLAG = ANTLR3_TRUE;
            	                    		                return retval;
            	                    		            }

            	                    		            CONSTRUCTEX();
            	                    		            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
            	                    		            EXCEPTION->message      = (void *)"";
            	                    		            EXCEPTION->decisionNum  = 226;
            	                    		            EXCEPTION->state        = 84;


            	                    		            goto ruledelete_statementEx;

            	                    		        }

            	                    		    }
            	                    		    else if ( (LA226_35 == BACK_TICK_QUOTED_ID))
            	                    		    {
            	                    		        switch ( LA(4) )
            	                    		        {
            	                    		        case COMMA_SYMBOL:
            	                    		        case DOT_SYMBOL:
            	                    		        case USING_SYMBOL:
            	                    		        	{
            	                    		        		alt226=1;
            	                    		        	}
            	                    		            break;
            	                    		        case EOF:
            	                    		        case PARTITION_SYMBOL:
            	                    		        case LIMIT_SYMBOL:
            	                    		        case ORDER_SYMBOL:
            	                    		        case SEMICOLON_SYMBOL:
            	                    		        case WHERE_SYMBOL:
            	                    		        	{
            	                    		        		alt226=2;
            	                    		        	}
            	                    		            break;

            	                    		        default:
            	                    		            if (BACKTRACKING>0)
            	                    		            {
            	                    		                FAILEDFLAG = ANTLR3_TRUE;
            	                    		                return retval;
            	                    		            }

            	                    		            CONSTRUCTEX();
            	                    		            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
            	                    		            EXCEPTION->message      = (void *)"";
            	                    		            EXCEPTION->decisionNum  = 226;
            	                    		            EXCEPTION->state        = 85;


            	                    		            goto ruledelete_statementEx;

            	                    		        }

            	                    		    }
            	                    		    else if ( (LA226_35 == DOUBLE_QUOTED_TEXT))
            	                    		    {
            	                    		        switch ( LA(4) )
            	                    		        {
            	                    		        case COMMA_SYMBOL:
            	                    		        case DOT_SYMBOL:
            	                    		        case USING_SYMBOL:
            	                    		        	{
            	                    		        		alt226=1;
            	                    		        	}
            	                    		            break;
            	                    		        case EOF:
            	                    		        case PARTITION_SYMBOL:
            	                    		        case LIMIT_SYMBOL:
            	                    		        case ORDER_SYMBOL:
            	                    		        case SEMICOLON_SYMBOL:
            	                    		        case WHERE_SYMBOL:
            	                    		        	{
            	                    		        		alt226=2;
            	                    		        	}
            	                    		            break;

            	                    		        default:
            	                    		            if (BACKTRACKING>0)
            	                    		            {
            	                    		                FAILEDFLAG = ANTLR3_TRUE;
            	                    		                return retval;
            	                    		            }

            	                    		            CONSTRUCTEX();
            	                    		            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
            	                    		            EXCEPTION->message      = (void *)"";
            	                    		            EXCEPTION->decisionNum  = 226;
            	                    		            EXCEPTION->state        = 86;


            	                    		            goto ruledelete_statementEx;

            	                    		        }

            	                    		    }
            	                    		    else if ( (((LA226_35 >= ACTION_SYMBOL) && (LA226_35 <= YEAR_SYMBOL))))
            	                    		    {
            	                    		        switch ( LA(4) )
            	                    		        {
            	                    		        case COMMA_SYMBOL:
            	                    		        case DOT_SYMBOL:
            	                    		        case USING_SYMBOL:
            	                    		        	{
            	                    		        		alt226=1;
            	                    		        	}
            	                    		            break;
            	                    		        case EOF:
            	                    		        case PARTITION_SYMBOL:
            	                    		        case LIMIT_SYMBOL:
            	                    		        case ORDER_SYMBOL:
            	                    		        case SEMICOLON_SYMBOL:
            	                    		        case WHERE_SYMBOL:
            	                    		        	{
            	                    		        		alt226=2;
            	                    		        	}
            	                    		            break;

            	                    		        default:
            	                    		            if (BACKTRACKING>0)
            	                    		            {
            	                    		                FAILEDFLAG = ANTLR3_TRUE;
            	                    		                return retval;
            	                    		            }

            	                    		            CONSTRUCTEX();
            	                    		            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
            	                    		            EXCEPTION->message      = (void *)"";
            	                    		            EXCEPTION->decisionNum  = 226;
            	                    		            EXCEPTION->state        = 87;


            	                    		            goto ruledelete_statementEx;

            	                    		        }

            	                    		    }
            	                    		    else if ( (LA226_35 == PARTITION_SYMBOL))
            	                    		    {
            	                    		        switch ( LA(4) )
            	                    		        {
            	                    		        case COMMA_SYMBOL:
            	                    		        case DOT_SYMBOL:
            	                    		        case USING_SYMBOL:
            	                    		        	{
            	                    		        		alt226=1;
            	                    		        	}
            	                    		            break;
            	                    		        case EOF:
            	                    		        case PARTITION_SYMBOL:
            	                    		        case LIMIT_SYMBOL:
            	                    		        case ORDER_SYMBOL:
            	                    		        case SEMICOLON_SYMBOL:
            	                    		        case WHERE_SYMBOL:
            	                    		        	{
            	                    		        		alt226=2;
            	                    		        	}
            	                    		            break;

            	                    		        default:
            	                    		            if (BACKTRACKING>0)
            	                    		            {
            	                    		                FAILEDFLAG = ANTLR3_TRUE;
            	                    		                return retval;
            	                    		            }

            	                    		            CONSTRUCTEX();
            	                    		            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
            	                    		            EXCEPTION->message      = (void *)"";
            	                    		            EXCEPTION->decisionNum  = 226;
            	                    		            EXCEPTION->state        = 88;


            	                    		            goto ruledelete_statementEx;

            	                    		        }

            	                    		    }
            	                    		    else if ( (((LA226_35 >= ASCII_SYMBOL) && (LA226_35 <= XA_SYMBOL))))
            	                    		    {
            	                    		        switch ( LA(4) )
            	                    		        {
            	                    		        case COMMA_SYMBOL:
            	                    		        case DOT_SYMBOL:
            	                    		        case USING_SYMBOL:
            	                    		        	{
            	                    		        		alt226=1;
            	                    		        	}
            	                    		            break;
            	                    		        case EOF:
            	                    		        case PARTITION_SYMBOL:
            	                    		        case LIMIT_SYMBOL:
            	                    		        case ORDER_SYMBOL:
            	                    		        case SEMICOLON_SYMBOL:
            	                    		        case WHERE_SYMBOL:
            	                    		        	{
            	                    		        		alt226=2;
            	                    		        	}
            	                    		            break;

            	                    		        default:
            	                    		            if (BACKTRACKING>0)
            	                    		            {
            	                    		                FAILEDFLAG = ANTLR3_TRUE;
            	                    		                return retval;
            	                    		            }

            	                    		            CONSTRUCTEX();
            	                    		            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
            	                    		            EXCEPTION->message      = (void *)"";
            	                    		            EXCEPTION->decisionNum  = 226;
            	                    		            EXCEPTION->state        = 89;


            	                    		            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  = 226;
            	                    		        EXCEPTION->state        = 35;


            	                    		        goto ruledelete_statementEx;

            	                    		    }
            	                    		}
            	                    	}
            	                        break;
            	                    case COMMA_SYMBOL:
            	                    case USING_SYMBOL:
            	                    	{
            	                    		alt226=1;
            	                    	}
            	                        break;
            	                    case EOF:
            	                    case PARTITION_SYMBOL:
            	                    case LIMIT_SYMBOL:
            	                    case ORDER_SYMBOL:
            	                    case SEMICOLON_SYMBOL:
            	                    case WHERE_SYMBOL:
            	                    	{
            	                    		alt226=2;
            	                    	}
            	                        break;

            	                    default:
            	                        if (BACKTRACKING>0)
            	                        {
            	                            FAILEDFLAG = ANTLR3_TRUE;
            	                            return retval;
            	                        }

            	                        CONSTRUCTEX();
            	                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
            	                        EXCEPTION->message      = (void *)"";
            	                        EXCEPTION->decisionNum  = 226;
            	                        EXCEPTION->state        = 4;


            	                        goto ruledelete_statementEx;

            	                    }

            	                }
            	                else if ( (LA226_0 == PARTITION_SYMBOL))
            	                {
            	                    switch ( LA(2) )
            	                    {
            	                    case DOT_SYMBOL:
            	                    	{
            	                    		{
            	                    		    int LA226_44 = LA(3);
            	                    		    if ( (LA226_44 == MULT_OPERATOR))
            	                    		    {
            	                    		        alt226=1;
            	                    		    }
            	                    		    else if ( (LA226_44 == IDENTIFIER))
            	                    		    {
            	                    		        switch ( LA(4) )
            	                    		        {
            	                    		        case COMMA_SYMBOL:
            	                    		        case DOT_SYMBOL:
            	                    		        case USING_SYMBOL:
            	                    		        	{
            	                    		        		alt226=1;
            	                    		        	}
            	                    		            break;
            	                    		        case EOF:
            	                    		        case PARTITION_SYMBOL:
            	                    		        case LIMIT_SYMBOL:
            	                    		        case ORDER_SYMBOL:
            	                    		        case SEMICOLON_SYMBOL:
            	                    		        case WHERE_SYMBOL:
            	                    		        	{
            	                    		        		alt226=2;
            	                    		        	}
            	                    		            break;

            	                    		        default:
            	                    		            if (BACKTRACKING>0)
            	                    		            {
            	                    		                FAILEDFLAG = ANTLR3_TRUE;
            	                    		                return retval;
            	                    		            }

            	                    		            CONSTRUCTEX();
            	                    		            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
            	                    		            EXCEPTION->message      = (void *)"";
            	                    		            EXCEPTION->decisionNum  = 226;
            	                    		            EXCEPTION->state        = 91;


            	                    		            goto ruledelete_statementEx;

            	                    		        }

            	                    		    }
            	                    		    else if ( (LA226_44 == BACK_TICK_QUOTED_ID))
            	                    		    {
            	                    		        switch ( LA(4) )
            	                    		        {
            	                    		        case COMMA_SYMBOL:
            	                    		        case DOT_SYMBOL:
            	                    		        case USING_SYMBOL:
            	                    		        	{
            	                    		        		alt226=1;
            	                    		        	}
            	                    		            break;
            	                    		        case EOF:
            	                    		        case PARTITION_SYMBOL:
            	                    		        case LIMIT_SYMBOL:
            	                    		        case ORDER_SYMBOL:
            	                    		        case SEMICOLON_SYMBOL:
            	                    		        case WHERE_SYMBOL:
            	                    		        	{
            	                    		        		alt226=2;
            	                    		        	}
            	                    		            break;

            	                    		        default:
            	                    		            if (BACKTRACKING>0)
            	                    		            {
            	                    		                FAILEDFLAG = ANTLR3_TRUE;
            	                    		                return retval;
            	                    		            }

            	                    		            CONSTRUCTEX();
            	                    		            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
            	                    		            EXCEPTION->message      = (void *)"";
            	                    		            EXCEPTION->decisionNum  = 226;
            	                    		            EXCEPTION->state        = 92;


            	                    		            goto ruledelete_statementEx;

            	                    		        }

            	                    		    }
            	                    		    else if ( (LA226_44 == DOUBLE_QUOTED_TEXT))
            	                    		    {
            	                    		        switch ( LA(4) )
            	                    		        {
            	                    		        case COMMA_SYMBOL:
            	                    		        case DOT_SYMBOL:
            	                    		        case USING_SYMBOL:
            	                    		        	{
            	                    		        		alt226=1;
            	                    		        	}
            	                    		            break;
            	                    		        case EOF:
            	                    		        case PARTITION_SYMBOL:
            	                    		        case LIMIT_SYMBOL:
            	                    		        case ORDER_SYMBOL:
            	                    		        case SEMICOLON_SYMBOL:
            	                    		        case WHERE_SYMBOL:
            	                    		        	{
            	                    		        		alt226=2;
            	                    		        	}
            	                    		            break;

            	                    		        default:
            	                    		            if (BACKTRACKING>0)
            	                    		            {
            	                    		                FAILEDFLAG = ANTLR3_TRUE;
            	                    		                return retval;
            	                    		            }

            	                    		            CONSTRUCTEX();
            	                    		            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
            	                    		            EXCEPTION->message      = (void *)"";
            	                    		            EXCEPTION->decisionNum  = 226;
            	                    		            EXCEPTION->state        = 93;


            	                    		            goto ruledelete_statementEx;

            	                    		        }

            	                    		    }
            	                    		    else if ( (((LA226_44 >= ACTION_SYMBOL) && (LA226_44 <= YEAR_SYMBOL))))
            	                    		    {
            	                    		        switch ( LA(4) )
            	                    		        {
            	                    		        case COMMA_SYMBOL:
            	                    		        case DOT_SYMBOL:
            	                    		        case USING_SYMBOL:
            	                    		        	{
            	                    		        		alt226=1;
            	                    		        	}
            	                    		            break;
            	                    		        case EOF:
            	                    		        case PARTITION_SYMBOL:
            	                    		        case LIMIT_SYMBOL:
            	                    		        case ORDER_SYMBOL:
            	                    		        case SEMICOLON_SYMBOL:
            	                    		        case WHERE_SYMBOL:
            	                    		        	{
            	                    		        		alt226=2;
            	                    		        	}
            	                    		            break;

            	                    		        default:
            	                    		            if (BACKTRACKING>0)
            	                    		            {
            	                    		                FAILEDFLAG = ANTLR3_TRUE;
            	                    		                return retval;
            	                    		            }

            	                    		            CONSTRUCTEX();
            	                    		            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
            	                    		            EXCEPTION->message      = (void *)"";
            	                    		            EXCEPTION->decisionNum  = 226;
            	                    		            EXCEPTION->state        = 94;


            	                    		            goto ruledelete_statementEx;

            	                    		        }

            	                    		    }
            	                    		    else if ( (LA226_44 == PARTITION_SYMBOL))
            	                    		    {
            	                    		        switch ( LA(4) )
            	                    		        {
            	                    		        case COMMA_SYMBOL:
            	                    		        case DOT_SYMBOL:
            	                    		        case USING_SYMBOL:
            	                    		        	{
            	                    		        		alt226=1;
            	                    		        	}
            	                    		            break;
            	                    		        case EOF:
            	                    		        case PARTITION_SYMBOL:
            	                    		        case LIMIT_SYMBOL:
            	                    		        case ORDER_SYMBOL:
            	                    		        case SEMICOLON_SYMBOL:
            	                    		        case WHERE_SYMBOL:
            	                    		        	{
            	                    		        		alt226=2;
            	                    		        	}
            	                    		            break;

            	                    		        default:
            	                    		            if (BACKTRACKING>0)
            	                    		            {
            	                    		                FAILEDFLAG = ANTLR3_TRUE;
            	                    		                return retval;
            	                    		            }

            	                    		            CONSTRUCTEX();
            	                    		            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
            	                    		            EXCEPTION->message      = (void *)"";
            	                    		            EXCEPTION->decisionNum  = 226;
            	                    		            EXCEPTION->state        = 95;


            	                    		            goto ruledelete_statementEx;

            	                    		        }

            	                    		    }
            	                    		    else if ( (((LA226_44 >= ASCII_SYMBOL) && (LA226_44 <= XA_SYMBOL))))
            	                    		    {
            	                    		        switch ( LA(4) )
            	                    		        {
            	                    		        case COMMA_SYMBOL:
            	                    		        case DOT_SYMBOL:
            	                    		        case USING_SYMBOL:
            	                    		        	{
            	                    		        		alt226=1;
            	                    		        	}
            	                    		            break;
            	                    		        case EOF:
            	                    		        case PARTITION_SYMBOL:
            	                    		        case LIMIT_SYMBOL:
            	                    		        case ORDER_SYMBOL:
            	                    		        case SEMICOLON_SYMBOL:
            	                    		        case WHERE_SYMBOL:
            	                    		        	{
            	                    		        		alt226=2;
            	                    		        	}
            	                    		            break;

            	                    		        default:
            	                    		            if (BACKTRACKING>0)
            	                    		            {
            	                    		                FAILEDFLAG = ANTLR3_TRUE;
            	                    		                return retval;
            	                    		            }

            	                    		            CONSTRUCTEX();
            	                    		            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
            	                    		            EXCEPTION->message      = (void *)"";
            	                    		            EXCEPTION->decisionNum  = 226;
            	                    		            EXCEPTION->state        = 96;


            	                    		            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  = 226;
            	                    		        EXCEPTION->state        = 44;


            	                    		        goto ruledelete_statementEx;

            	                    		    }
            	                    		}
            	                    	}
            	                        break;
            	                    case COMMA_SYMBOL:
            	                    case USING_SYMBOL:
            	                    	{
            	                    		alt226=1;
            	                    	}
            	                        break;
            	                    case EOF:
            	                    case PARTITION_SYMBOL:
            	                    case LIMIT_SYMBOL:
            	                    case ORDER_SYMBOL:
            	                    case SEMICOLON_SYMBOL:
            	                    case WHERE_SYMBOL:
            	                    	{
            	                    		alt226=2;
            	                    	}
            	                        break;

            	                    default:
            	                        if (BACKTRACKING>0)
            	                        {
            	                            FAILEDFLAG = ANTLR3_TRUE;
            	                            return retval;
            	                        }

            	                        CONSTRUCTEX();
            	                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
            	                        EXCEPTION->message      = (void *)"";
            	                        EXCEPTION->decisionNum  = 226;
            	                        EXCEPTION->state        = 5;


            	                        goto ruledelete_statementEx;

            	                    }

            	                }
            	                else if ( (((LA226_0 >= ASCII_SYMBOL) && (LA226_0 <= XA_SYMBOL))))
            	                {
            	                    switch ( LA(2) )
            	                    {
            	                    case DOT_SYMBOL:
            	                    	{
            	                    		{
            	                    		    int LA226_53 = LA(3);
            	                    		    if ( (LA226_53 == MULT_OPERATOR))
            	                    		    {
            	                    		        alt226=1;
            	                    		    }
            	                    		    else if ( (LA226_53 == IDENTIFIER))
            	                    		    {
            	                    		        switch ( LA(4) )
            	                    		        {
            	                    		        case COMMA_SYMBOL:
            	                    		        case DOT_SYMBOL:
            	                    		        case USING_SYMBOL:
            	                    		        	{
            	                    		        		alt226=1;
            	                    		        	}
            	                    		            break;
            	                    		        case EOF:
            	                    		        case PARTITION_SYMBOL:
            	                    		        case LIMIT_SYMBOL:
            	                    		        case ORDER_SYMBOL:
            	                    		        case SEMICOLON_SYMBOL:
            	                    		        case WHERE_SYMBOL:
            	                    		        	{
            	                    		        		alt226=2;
            	                    		        	}
            	                    		            break;

            	                    		        default:
            	                    		            if (BACKTRACKING>0)
            	                    		            {
            	                    		                FAILEDFLAG = ANTLR3_TRUE;
            	                    		                return retval;
            	                    		            }

            	                    		            CONSTRUCTEX();
            	                    		            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
            	                    		            EXCEPTION->message      = (void *)"";
            	                    		            EXCEPTION->decisionNum  = 226;
            	                    		            EXCEPTION->state        = 98;


            	                    		            goto ruledelete_statementEx;

            	                    		        }

            	                    		    }
            	                    		    else if ( (LA226_53 == BACK_TICK_QUOTED_ID))
            	                    		    {
            	                    		        switch ( LA(4) )
            	                    		        {
            	                    		        case COMMA_SYMBOL:
            	                    		        case DOT_SYMBOL:
            	                    		        case USING_SYMBOL:
            	                    		        	{
            	                    		        		alt226=1;
            	                    		        	}
            	                    		            break;
            	                    		        case EOF:
            	                    		        case PARTITION_SYMBOL:
            	                    		        case LIMIT_SYMBOL:
            	                    		        case ORDER_SYMBOL:
            	                    		        case SEMICOLON_SYMBOL:
            	                    		        case WHERE_SYMBOL:
            	                    		        	{
            	                    		        		alt226=2;
            	                    		        	}
            	                    		            break;

            	                    		        default:
            	                    		            if (BACKTRACKING>0)
            	                    		            {
            	                    		                FAILEDFLAG = ANTLR3_TRUE;
            	                    		                return retval;
            	                    		            }

            	                    		            CONSTRUCTEX();
            	                    		            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
            	                    		            EXCEPTION->message      = (void *)"";
            	                    		            EXCEPTION->decisionNum  = 226;
            	                    		            EXCEPTION->state        = 99;


            	                    		            goto ruledelete_statementEx;

            	                    		        }

            	                    		    }
            	                    		    else if ( (LA226_53 == DOUBLE_QUOTED_TEXT))
            	                    		    {
            	                    		        switch ( LA(4) )
            	                    		        {
            	                    		        case COMMA_SYMBOL:
            	                    		        case DOT_SYMBOL:
            	                    		        case USING_SYMBOL:
            	                    		        	{
            	                    		        		alt226=1;
            	                    		        	}
            	                    		            break;
            	                    		        case EOF:
            	                    		        case PARTITION_SYMBOL:
            	                    		        case LIMIT_SYMBOL:
            	                    		        case ORDER_SYMBOL:
            	                    		        case SEMICOLON_SYMBOL:
            	                    		        case WHERE_SYMBOL:
            	                    		        	{
            	                    		        		alt226=2;
            	                    		        	}
            	                    		            break;

            	                    		        default:
            	                    		            if (BACKTRACKING>0)
            	                    		            {
            	                    		                FAILEDFLAG = ANTLR3_TRUE;
            	                    		                return retval;
            	                    		            }

            	                    		            CONSTRUCTEX();
            	                    		            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
            	                    		            EXCEPTION->message      = (void *)"";
            	                    		            EXCEPTION->decisionNum  = 226;
            	                    		            EXCEPTION->state        = 100;


            	                    		            goto ruledelete_statementEx;

            	                    		        }

            	                    		    }
            	                    		    else if ( (((LA226_53 >= ACTION_SYMBOL) && (LA226_53 <= YEAR_SYMBOL))))
            	                    		    {
            	                    		        switch ( LA(4) )
            	                    		        {
            	                    		        case COMMA_SYMBOL:
            	                    		        case DOT_SYMBOL:
            	                    		        case USING_SYMBOL:
            	                    		        	{
            	                    		        		alt226=1;
            	                    		        	}
            	                    		            break;
            	                    		        case EOF:
            	                    		        case PARTITION_SYMBOL:
            	                    		        case LIMIT_SYMBOL:
            	                    		        case ORDER_SYMBOL:
            	                    		        case SEMICOLON_SYMBOL:
            	                    		        case WHERE_SYMBOL:
            	                    		        	{
            	                    		        		alt226=2;
            	                    		        	}
            	                    		            break;

            	                    		        default:
            	                    		            if (BACKTRACKING>0)
            	                    		            {
            	                    		                FAILEDFLAG = ANTLR3_TRUE;
            	                    		                return retval;
            	                    		            }

            	                    		            CONSTRUCTEX();
            	                    		            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
            	                    		            EXCEPTION->message      = (void *)"";
            	                    		            EXCEPTION->decisionNum  = 226;
            	                    		            EXCEPTION->state        = 101;


            	                    		            goto ruledelete_statementEx;

            	                    		        }

            	                    		    }
            	                    		    else if ( (LA226_53 == PARTITION_SYMBOL))
            	                    		    {
            	                    		        switch ( LA(4) )
            	                    		        {
            	                    		        case COMMA_SYMBOL:
            	                    		        case DOT_SYMBOL:
            	                    		        case USING_SYMBOL:
            	                    		        	{
            	                    		        		alt226=1;
            	                    		        	}
            	                    		            break;
            	                    		        case EOF:
            	                    		        case PARTITION_SYMBOL:
            	                    		        case LIMIT_SYMBOL:
            	                    		        case ORDER_SYMBOL:
            	                    		        case SEMICOLON_SYMBOL:
            	                    		        case WHERE_SYMBOL:
            	                    		        	{
            	                    		        		alt226=2;
            	                    		        	}
            	                    		            break;

            	                    		        default:
            	                    		            if (BACKTRACKING>0)
            	                    		            {
            	                    		                FAILEDFLAG = ANTLR3_TRUE;
            	                    		                return retval;
            	                    		            }

            	                    		            CONSTRUCTEX();
            	                    		            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
            	                    		            EXCEPTION->message      = (void *)"";
            	                    		            EXCEPTION->decisionNum  = 226;
            	                    		            EXCEPTION->state        = 102;


            	                    		            goto ruledelete_statementEx;

            	                    		        }

            	                    		    }
            	                    		    else if ( (((LA226_53 >= ASCII_SYMBOL) && (LA226_53 <= XA_SYMBOL))))
            	                    		    {
            	                    		        switch ( LA(4) )
            	                    		        {
            	                    		        case COMMA_SYMBOL:
            	                    		        case DOT_SYMBOL:
            	                    		        case USING_SYMBOL:
            	                    		        	{
            	                    		        		alt226=1;
            	                    		        	}
            	                    		            break;
            	                    		        case EOF:
            	                    		        case PARTITION_SYMBOL:
            	                    		        case LIMIT_SYMBOL:
            	                    		        case ORDER_SYMBOL:
            	                    		        case SEMICOLON_SYMBOL:
            	                    		        case WHERE_SYMBOL:
            	                    		        	{
            	                    		        		alt226=2;
            	                    		        	}
            	                    		            break;

            	                    		        default:
            	                    		            if (BACKTRACKING>0)
            	                    		            {
            	                    		                FAILEDFLAG = ANTLR3_TRUE;
            	                    		                return retval;
            	                    		            }

            	                    		            CONSTRUCTEX();
            	                    		            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
            	                    		            EXCEPTION->message      = (void *)"";
            	                    		            EXCEPTION->decisionNum  = 226;
            	                    		            EXCEPTION->state        = 103;


            	                    		            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  = 226;
            	                    		        EXCEPTION->state        = 53;


            	                    		        goto ruledelete_statementEx;

            	                    		    }
            	                    		}
            	                    	}
            	                        break;
            	                    case COMMA_SYMBOL:
            	                    case USING_SYMBOL:
            	                    	{
            	                    		alt226=1;
            	                    	}
            	                        break;
            	                    case EOF:
            	                    case PARTITION_SYMBOL:
            	                    case LIMIT_SYMBOL:
            	                    case ORDER_SYMBOL:
            	                    case SEMICOLON_SYMBOL:
            	                    case WHERE_SYMBOL:
            	                    	{
            	                    		alt226=2;
            	                    	}
            	                        break;

            	                    default:
            	                        if (BACKTRACKING>0)
            	                        {
            	                            FAILEDFLAG = ANTLR3_TRUE;
            	                            return retval;
            	                        }

            	                        CONSTRUCTEX();
            	                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
            	                        EXCEPTION->message      = (void *)"";
            	                        EXCEPTION->decisionNum  = 226;
            	                        EXCEPTION->state        = 6;


            	                        goto ruledelete_statementEx;

            	                    }

            	                }
            	                else if ( (LA226_0 == DOT_SYMBOL))
            	                {
            	                    alt226=2;
            	                }
            	                else
            	                {
            	                    if (BACKTRACKING>0)
            	                    {
            	                        FAILEDFLAG = ANTLR3_TRUE;
            	                        return retval;
            	                    }


            	                    CONSTRUCTEX();
            	                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
            	                    EXCEPTION->message      = (void *)"";
            	                    EXCEPTION->decisionNum  = 226;
            	                    EXCEPTION->state        = 0;


            	                    goto ruledelete_statementEx;

            	                }
            	            }
            	            switch (alt226)
            	            {
            	        	case 1:
            	        	    // MySQL.g:702:6: table_name_list_with_wildcards USING_SYMBOL table_references ( where_clause )?
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_table_name_list_with_wildcards_in_delete_statement3374);
            	        	        table_name_list_with_wildcards672=table_name_list_with_wildcards(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruledelete_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, table_name_list_with_wildcards672.tree);

            	        	        USING_SYMBOL673 = (pANTLR3_COMMON_TOKEN) MATCHT(USING_SYMBOL, &FOLLOW_USING_SYMBOL_in_delete_statement3376);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruledelete_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        USING_SYMBOL673_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, USING_SYMBOL673));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, USING_SYMBOL673_tree);
            	        	        }

            	        	        FOLLOWPUSH(FOLLOW_table_references_in_delete_statement3378);
            	        	        table_references674=table_references(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruledelete_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, table_references674.tree);

            	        	        // MySQL.g:702:67: ( where_clause )?
            	        	        {
            	        	            int alt221=2;
            	        	            switch ( LA(1) )
            	        	            {
            	        	                case WHERE_SYMBOL:
            	        	                	{
            	        	                		alt221=1;
            	        	                	}
            	        	                    break;
            	        	            }

            	        	            switch (alt221)
            	        	            {
            	        	        	case 1:
            	        	        	    // MySQL.g:702:67: where_clause
            	        	        	    {
            	        	        	        FOLLOWPUSH(FOLLOW_where_clause_in_delete_statement3380);
            	        	        	        where_clause675=where_clause(ctx);

            	        	        	        FOLLOWPOP();
            	        	        	        if  (HASEXCEPTION())
            	        	        	        {
            	        	        	            goto ruledelete_statementEx;
            	        	        	        }
            	        	        	        if (HASFAILED())
            	        	        	        {
            	        	        	            return retval;
            	        	        	        }

            	        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, where_clause675.tree);

            	        	        	    }
            	        	        	    break;

            	        	            }
            	        	        }

            	        	    }
            	        	    break;
            	        	case 2:
            	        	    // MySQL.g:703:8: table_identifier ( partition_delete )? ( where_clause )? ( order_by_clause )? ( LIMIT_SYMBOL limit_option )?
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_table_identifier_in_delete_statement3391);
            	        	        table_identifier676=table_identifier(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruledelete_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, table_identifier676.tree);

            	        	        // MySQL.g:703:25: ( partition_delete )?
            	        	        {
            	        	            int alt222=2;
            	        	            {
            	        	                int LA222_0 = LA(1);
            	        	                if ( ((SERVER_VERSION >= 50602)) && (LA222_0 == PARTITION_SYMBOL))
            	        	                {
            	        	                    alt222=1;
            	        	                }
            	        	            }
            	        	            switch (alt222)
            	        	            {
            	        	        	case 1:
            	        	        	    // MySQL.g:703:25: partition_delete
            	        	        	    {
            	        	        	        FOLLOWPUSH(FOLLOW_partition_delete_in_delete_statement3393);
            	        	        	        partition_delete677=partition_delete(ctx);

            	        	        	        FOLLOWPOP();
            	        	        	        if  (HASEXCEPTION())
            	        	        	        {
            	        	        	            goto ruledelete_statementEx;
            	        	        	        }
            	        	        	        if (HASFAILED())
            	        	        	        {
            	        	        	            return retval;
            	        	        	        }

            	        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, partition_delete677.tree);

            	        	        	    }
            	        	        	    break;

            	        	            }
            	        	        }

            	        	        // MySQL.g:703:43: ( where_clause )?
            	        	        {
            	        	            int alt223=2;
            	        	            switch ( LA(1) )
            	        	            {
            	        	                case WHERE_SYMBOL:
            	        	                	{
            	        	                		alt223=1;
            	        	                	}
            	        	                    break;
            	        	            }

            	        	            switch (alt223)
            	        	            {
            	        	        	case 1:
            	        	        	    // MySQL.g:703:43: where_clause
            	        	        	    {
            	        	        	        FOLLOWPUSH(FOLLOW_where_clause_in_delete_statement3396);
            	        	        	        where_clause678=where_clause(ctx);

            	        	        	        FOLLOWPOP();
            	        	        	        if  (HASEXCEPTION())
            	        	        	        {
            	        	        	            goto ruledelete_statementEx;
            	        	        	        }
            	        	        	        if (HASFAILED())
            	        	        	        {
            	        	        	            return retval;
            	        	        	        }

            	        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, where_clause678.tree);

            	        	        	    }
            	        	        	    break;

            	        	            }
            	        	        }

            	        	        // MySQL.g:703:57: ( order_by_clause )?
            	        	        {
            	        	            int alt224=2;
            	        	            switch ( LA(1) )
            	        	            {
            	        	                case ORDER_SYMBOL:
            	        	                	{
            	        	                		alt224=1;
            	        	                	}
            	        	                    break;
            	        	            }

            	        	            switch (alt224)
            	        	            {
            	        	        	case 1:
            	        	        	    // MySQL.g:703:57: order_by_clause
            	        	        	    {
            	        	        	        FOLLOWPUSH(FOLLOW_order_by_clause_in_delete_statement3399);
            	        	        	        order_by_clause679=order_by_clause(ctx);

            	        	        	        FOLLOWPOP();
            	        	        	        if  (HASEXCEPTION())
            	        	        	        {
            	        	        	            goto ruledelete_statementEx;
            	        	        	        }
            	        	        	        if (HASFAILED())
            	        	        	        {
            	        	        	            return retval;
            	        	        	        }

            	        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, order_by_clause679.tree);

            	        	        	    }
            	        	        	    break;

            	        	            }
            	        	        }

            	        	        // MySQL.g:703:74: ( LIMIT_SYMBOL limit_option )?
            	        	        {
            	        	            int alt225=2;
            	        	            switch ( LA(1) )
            	        	            {
            	        	                case LIMIT_SYMBOL:
            	        	                	{
            	        	                		alt225=1;
            	        	                	}
            	        	                    break;
            	        	            }

            	        	            switch (alt225)
            	        	            {
            	        	        	case 1:
            	        	        	    // MySQL.g:703:75: LIMIT_SYMBOL limit_option
            	        	        	    {
            	        	        	        LIMIT_SYMBOL680 = (pANTLR3_COMMON_TOKEN) MATCHT(LIMIT_SYMBOL, &FOLLOW_LIMIT_SYMBOL_in_delete_statement3403);
            	        	        	        if  (HASEXCEPTION())
            	        	        	        {
            	        	        	            goto ruledelete_statementEx;
            	        	        	        }
            	        	        	        if (HASFAILED())
            	        	        	        {
            	        	        	            return retval;
            	        	        	        }

            	        	        	        if ( BACKTRACKING==0 ) {
            	        	        	        LIMIT_SYMBOL680_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, LIMIT_SYMBOL680));
            	        	        	        ADAPTOR->addChild(ADAPTOR, root_0, LIMIT_SYMBOL680_tree);
            	        	        	        }

            	        	        	        FOLLOWPUSH(FOLLOW_limit_option_in_delete_statement3405);
            	        	        	        limit_option681=limit_option(ctx);

            	        	        	        FOLLOWPOP();
            	        	        	        if  (HASEXCEPTION())
            	        	        	        {
            	        	        	            goto ruledelete_statementEx;
            	        	        	        }
            	        	        	        if (HASFAILED())
            	        	        	        {
            	        	        	            return retval;
            	        	        	        }

            	        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, limit_option681.tree);

            	        	        	    }
            	        	        	    break;

            	        	            }
            	        	        }

            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;
            	case 2:
            	    // MySQL.g:705:7: table_name_list_with_wildcards FROM_SYMBOL table_references ( where_clause )?
            	    {
            	        FOLLOWPUSH(FOLLOW_table_name_list_with_wildcards_in_delete_statement3422);
            	        table_name_list_with_wildcards682=table_name_list_with_wildcards(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruledelete_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, table_name_list_with_wildcards682.tree);

            	        FROM_SYMBOL683 = (pANTLR3_COMMON_TOKEN) MATCHT(FROM_SYMBOL, &FOLLOW_FROM_SYMBOL_in_delete_statement3424);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruledelete_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        FROM_SYMBOL683_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, FROM_SYMBOL683));
            	        ADAPTOR->addChild(ADAPTOR, root_0, FROM_SYMBOL683_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_table_references_in_delete_statement3426);
            	        table_references684=table_references(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruledelete_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, table_references684.tree);

            	        // MySQL.g:705:67: ( where_clause )?
            	        {
            	            int alt227=2;
            	            switch ( LA(1) )
            	            {
            	                case WHERE_SYMBOL:
            	                	{
            	                		alt227=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt227)
            	            {
            	        	case 1:
            	        	    // MySQL.g:705:67: where_clause
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_where_clause_in_delete_statement3428);
            	        	        where_clause685=where_clause(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruledelete_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, where_clause685.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:709: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_SYMBOL686;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL687;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL689;
    MySQLParser_identifier_list_return identifier_list688;
    #undef	RETURN_TYPE_identifier_list688
    #define	RETURN_TYPE_identifier_list688 MySQLParser_identifier_list_return

    pANTLR3_BASE_TREE PARTITION_SYMBOL686_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL687_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL689_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    PARTITION_SYMBOL686       = NULL;
    OPEN_PAR_SYMBOL687       = NULL;
    CLOSE_PAR_SYMBOL689       = NULL;
    identifier_list688.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    PARTITION_SYMBOL686_tree   = NULL;
    OPEN_PAR_SYMBOL687_tree   = NULL;
    CLOSE_PAR_SYMBOL689_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:709:17: ({...}? => PARTITION_SYMBOL OPEN_PAR_SYMBOL identifier_list CLOSE_PAR_SYMBOL )
        // MySQL.g:710: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_SYMBOL686 = (pANTLR3_COMMON_TOKEN) MATCHT(PARTITION_SYMBOL, &FOLLOW_PARTITION_SYMBOL_in_partition_delete3447);
            if  (HASEXCEPTION())
            {
                goto rulepartition_deleteEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            PARTITION_SYMBOL686_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, PARTITION_SYMBOL686));
            ADAPTOR->addChild(ADAPTOR, root_0, PARTITION_SYMBOL686_tree);
            }

            OPEN_PAR_SYMBOL687 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_partition_delete3449);
            if  (HASEXCEPTION())
            {
                goto rulepartition_deleteEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            OPEN_PAR_SYMBOL687_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL687));
            ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL687_tree);
            }

            FOLLOWPUSH(FOLLOW_identifier_list_in_partition_delete3451);
            identifier_list688=identifier_list(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulepartition_deleteEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier_list688.tree);

            CLOSE_PAR_SYMBOL689 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_partition_delete3453);
            if  (HASEXCEPTION())
            {
                goto rulepartition_deleteEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            CLOSE_PAR_SYMBOL689_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL689));
            ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL689_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:713: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    set690;

    pANTLR3_BASE_TREE set690_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    set690       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    set690_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:713:14: ( LOW_PRIORITY_SYMBOL | QUICK_SYMBOL | IGNORE_SYMBOL )
        // MySQL.g:
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            set690=(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, set690))
                );
                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_name_list_with_wildcards
 * MySQL.g:717:1: table_name_list_with_wildcards : target_table_with_optional_wildcard ( COMMA_SYMBOL target_table_with_optional_wildcard )* ;
 */
static MySQLParser_table_name_list_with_wildcards_return
table_name_list_with_wildcards(pMySQLParser ctx)
{
    MySQLParser_table_name_list_with_wildcards_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL692;
    MySQLParser_target_table_with_optional_wildcard_return target_table_with_optional_wildcard691;
    #undef	RETURN_TYPE_target_table_with_optional_wildcard691
    #define	RETURN_TYPE_target_table_with_optional_wildcard691 MySQLParser_target_table_with_optional_wildcard_return

    MySQLParser_target_table_with_optional_wildcard_return target_table_with_optional_wildcard693;
    #undef	RETURN_TYPE_target_table_with_optional_wildcard693
    #define	RETURN_TYPE_target_table_with_optional_wildcard693 MySQLParser_target_table_with_optional_wildcard_return

    pANTLR3_BASE_TREE COMMA_SYMBOL692_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    COMMA_SYMBOL692       = NULL;
    target_table_with_optional_wildcard691.tree = NULL;

    target_table_with_optional_wildcard693.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    COMMA_SYMBOL692_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:717:31: ( target_table_with_optional_wildcard ( COMMA_SYMBOL target_table_with_optional_wildcard )* )
        // MySQL.g:718:2: target_table_with_optional_wildcard ( COMMA_SYMBOL target_table_with_optional_wildcard )*
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            FOLLOWPUSH(FOLLOW_target_table_with_optional_wildcard_in_table_name_list_with_wildcards3479);
            target_table_with_optional_wildcard691=target_table_with_optional_wildcard(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruletable_name_list_with_wildcardsEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, target_table_with_optional_wildcard691.tree);

            // MySQL.g:718:38: ( COMMA_SYMBOL target_table_with_optional_wildcard )*

            for (;;)
            {
                int alt229=2;
                switch ( LA(1) )
                {
                case COMMA_SYMBOL:
                	{
                		alt229=1;
                	}
                    break;

                }

                switch (alt229)
                {
            	case 1:
            	    // MySQL.g:718:39: COMMA_SYMBOL target_table_with_optional_wildcard
            	    {
            	        COMMA_SYMBOL692 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_table_name_list_with_wildcards3482);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruletable_name_list_with_wildcardsEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        COMMA_SYMBOL692_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL692));
            	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL692_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_target_table_with_optional_wildcard_in_table_name_list_with_wildcards3484);
            	        target_table_with_optional_wildcard693=target_table_with_optional_wildcard(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruletable_name_list_with_wildcardsEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, target_table_with_optional_wildcard693.tree);

            	    }
            	    break;

            	default:
            	    goto loop229;	/* break out of the loop */
            	    break;
                }
            }
            loop229: ; /* Jump out to here if this rule does not match */


        }

    }

    // This is where rules clean up and exit
    //
    goto ruletable_name_list_with_wildcardsEx; /* Prevent compiler warnings */
    ruletable_name_list_with_wildcardsEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, 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_list_with_wildcards */

/**
 * $ANTLR start do_statement
 * MySQL.g:721: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_SYMBOL694;
    MySQLParser_expression_list_return expression_list695;
    #undef	RETURN_TYPE_expression_list695
    #define	RETURN_TYPE_expression_list695 MySQLParser_expression_list_return

    pANTLR3_BASE_TREE DO_SYMBOL694_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    DO_SYMBOL694       = NULL;
    expression_list695.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    DO_SYMBOL694_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:721:13: ( DO_SYMBOL ^ expression_list )
        // MySQL.g:722:2: DO_SYMBOL ^ expression_list
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            DO_SYMBOL694 = (pANTLR3_COMMON_TOKEN) MATCHT(DO_SYMBOL, &FOLLOW_DO_SYMBOL_in_do_statement3495);
            if  (HASEXCEPTION())
            {
                goto ruledo_statementEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            DO_SYMBOL694_tree = 
            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DO_SYMBOL694))
            ;
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, DO_SYMBOL694_tree, root_0));
            }

            FOLLOWPUSH(FOLLOW_expression_list_in_do_statement3498);
            expression_list695=expression_list(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruledo_statementEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression_list695.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:725:1: handler_statement : HANDLER_SYMBOL ^ ( table_identifier OPEN_SYMBOL ( ( AS_SYMBOL )? identifier )? | identifier CLOSE_SYMBOL | identifier READ_SYMBOL ( ( 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 ) values ) ) ( 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_SYMBOL696;
    pANTLR3_COMMON_TOKEN    OPEN_SYMBOL698;
    pANTLR3_COMMON_TOKEN    AS_SYMBOL699;
    pANTLR3_COMMON_TOKEN    CLOSE_SYMBOL702;
    pANTLR3_COMMON_TOKEN    READ_SYMBOL704;
    pANTLR3_COMMON_TOKEN    set705;
    pANTLR3_COMMON_TOKEN    set707;
    pANTLR3_COMMON_TOKEN    set708;
    MySQLParser_table_identifier_return table_identifier697;
    #undef	RETURN_TYPE_table_identifier697
    #define	RETURN_TYPE_table_identifier697 MySQLParser_table_identifier_return

    MySQLParser_identifier_return identifier700;
    #undef	RETURN_TYPE_identifier700
    #define	RETURN_TYPE_identifier700 MySQLParser_identifier_return

    MySQLParser_identifier_return identifier701;
    #undef	RETURN_TYPE_identifier701
    #define	RETURN_TYPE_identifier701 MySQLParser_identifier_return

    MySQLParser_identifier_return identifier703;
    #undef	RETURN_TYPE_identifier703
    #define	RETURN_TYPE_identifier703 MySQLParser_identifier_return

    MySQLParser_identifier_return identifier706;
    #undef	RETURN_TYPE_identifier706
    #define	RETURN_TYPE_identifier706 MySQLParser_identifier_return

    MySQLParser_values_return values709;
    #undef	RETURN_TYPE_values709
    #define	RETURN_TYPE_values709 MySQLParser_values_return

    MySQLParser_where_clause_return where_clause710;
    #undef	RETURN_TYPE_where_clause710
    #define	RETURN_TYPE_where_clause710 MySQLParser_where_clause_return

    MySQLParser_limit_clause_return limit_clause711;
    #undef	RETURN_TYPE_limit_clause711
    #define	RETURN_TYPE_limit_clause711 MySQLParser_limit_clause_return

    pANTLR3_BASE_TREE HANDLER_SYMBOL696_tree;
    pANTLR3_BASE_TREE OPEN_SYMBOL698_tree;
    pANTLR3_BASE_TREE AS_SYMBOL699_tree;
    pANTLR3_BASE_TREE CLOSE_SYMBOL702_tree;
    pANTLR3_BASE_TREE READ_SYMBOL704_tree;
    pANTLR3_BASE_TREE set705_tree;
    pANTLR3_BASE_TREE set707_tree;
    pANTLR3_BASE_TREE set708_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    HANDLER_SYMBOL696       = NULL;
    OPEN_SYMBOL698       = NULL;
    AS_SYMBOL699       = NULL;
    CLOSE_SYMBOL702       = NULL;
    READ_SYMBOL704       = NULL;
    set705       = NULL;
    set707       = NULL;
    set708       = NULL;
    table_identifier697.tree = NULL;

    identifier700.tree = NULL;

    identifier701.tree = NULL;

    identifier703.tree = NULL;

    identifier706.tree = NULL;

    values709.tree = NULL;

    where_clause710.tree = NULL;

    limit_clause711.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    HANDLER_SYMBOL696_tree   = NULL;
    OPEN_SYMBOL698_tree   = NULL;
    AS_SYMBOL699_tree   = NULL;
    CLOSE_SYMBOL702_tree   = NULL;
    READ_SYMBOL704_tree   = NULL;
    set705_tree   = NULL;
    set707_tree   = NULL;
    set708_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:725:18: ( HANDLER_SYMBOL ^ ( table_identifier OPEN_SYMBOL ( ( AS_SYMBOL )? identifier )? | identifier CLOSE_SYMBOL | identifier READ_SYMBOL ( ( 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 ) values ) ) ( where_clause )? ( limit_clause )? ) )
        // MySQL.g:726:2: HANDLER_SYMBOL ^ ( table_identifier OPEN_SYMBOL ( ( AS_SYMBOL )? identifier )? | identifier CLOSE_SYMBOL | identifier READ_SYMBOL ( ( 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 ) values ) ) ( where_clause )? ( limit_clause )? )
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            HANDLER_SYMBOL696 = (pANTLR3_COMMON_TOKEN) MATCHT(HANDLER_SYMBOL, &FOLLOW_HANDLER_SYMBOL_in_handler_statement3507);
            if  (HASEXCEPTION())
            {
                goto rulehandler_statementEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            HANDLER_SYMBOL696_tree = 
            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, HANDLER_SYMBOL696))
            ;
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, HANDLER_SYMBOL696_tree, root_0));
            }

            // MySQL.g:727:2: ( table_identifier OPEN_SYMBOL ( ( AS_SYMBOL )? identifier )? | identifier CLOSE_SYMBOL | identifier READ_SYMBOL ( ( 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 ) values ) ) ( where_clause )? ( limit_clause )? )
            {
                int alt236=3;
                {
                    int LA236_0 = LA(1);
                    if ( (LA236_0 == IDENTIFIER))
                    {
                        switch ( LA(2) )
                        {
                        case OPEN_SYMBOL:
                        case DOT_SYMBOL:
                        	{
                        		alt236=1;
                        	}
                            break;
                        case CLOSE_SYMBOL:
                        	{
                        		alt236=2;
                        	}
                            break;
                        case READ_SYMBOL:
                        	{
                        		alt236=3;
                        	}
                            break;

                        default:
                            if (BACKTRACKING>0)
                            {
                                FAILEDFLAG = ANTLR3_TRUE;
                                return retval;
                            }

                            CONSTRUCTEX();
                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                            EXCEPTION->message      = (void *)"";
                            EXCEPTION->decisionNum  = 236;
                            EXCEPTION->state        = 1;


                            goto rulehandler_statementEx;

                        }

                    }
                    else if ( (LA236_0 == BACK_TICK_QUOTED_ID))
                    {
                        switch ( LA(2) )
                        {
                        case OPEN_SYMBOL:
                        case DOT_SYMBOL:
                        	{
                        		alt236=1;
                        	}
                            break;
                        case CLOSE_SYMBOL:
                        	{
                        		alt236=2;
                        	}
                            break;
                        case READ_SYMBOL:
                        	{
                        		alt236=3;
                        	}
                            break;

                        default:
                            if (BACKTRACKING>0)
                            {
                                FAILEDFLAG = ANTLR3_TRUE;
                                return retval;
                            }

                            CONSTRUCTEX();
                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                            EXCEPTION->message      = (void *)"";
                            EXCEPTION->decisionNum  = 236;
                            EXCEPTION->state        = 2;


                            goto rulehandler_statementEx;

                        }

                    }
                    else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA236_0 == DOUBLE_QUOTED_TEXT))
                    {
                        {
                            int LA236_3 = LA(2);
                            if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA236_3 == OPEN_SYMBOL || LA236_3 == DOT_SYMBOL))
                            {
                                alt236=1;
                            }
                            else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA236_3 == CLOSE_SYMBOL))
                            {
                                alt236=2;
                            }
                            else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA236_3 == READ_SYMBOL))
                            {
                                alt236=3;
                            }
                            else
                            {
                                if (BACKTRACKING>0)
                                {
                                    FAILEDFLAG = ANTLR3_TRUE;
                                    return retval;
                                }


                                CONSTRUCTEX();
                                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                EXCEPTION->message      = (void *)"";
                                EXCEPTION->decisionNum  = 236;
                                EXCEPTION->state        = 3;


                                goto rulehandler_statementEx;

                            }
                        }
                    }
                    else if ( (((LA236_0 >= ACTION_SYMBOL) && (LA236_0 <= YEAR_SYMBOL))))
                    {
                        switch ( LA(2) )
                        {
                        case OPEN_SYMBOL:
                        case DOT_SYMBOL:
                        	{
                        		alt236=1;
                        	}
                            break;
                        case CLOSE_SYMBOL:
                        	{
                        		alt236=2;
                        	}
                            break;
                        case READ_SYMBOL:
                        	{
                        		alt236=3;
                        	}
                            break;

                        default:
                            if (BACKTRACKING>0)
                            {
                                FAILEDFLAG = ANTLR3_TRUE;
                                return retval;
                            }

                            CONSTRUCTEX();
                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                            EXCEPTION->message      = (void *)"";
                            EXCEPTION->decisionNum  = 236;
                            EXCEPTION->state        = 4;


                            goto rulehandler_statementEx;

                        }

                    }
                    else if ( (LA236_0 == PARTITION_SYMBOL))
                    {
                        switch ( LA(2) )
                        {
                        case OPEN_SYMBOL:
                        case DOT_SYMBOL:
                        	{
                        		alt236=1;
                        	}
                            break;
                        case CLOSE_SYMBOL:
                        	{
                        		alt236=2;
                        	}
                            break;
                        case READ_SYMBOL:
                        	{
                        		alt236=3;
                        	}
                            break;

                        default:
                            if (BACKTRACKING>0)
                            {
                                FAILEDFLAG = ANTLR3_TRUE;
                                return retval;
                            }

                            CONSTRUCTEX();
                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                            EXCEPTION->message      = (void *)"";
                            EXCEPTION->decisionNum  = 236;
                            EXCEPTION->state        = 5;


                            goto rulehandler_statementEx;

                        }

                    }
                    else if ( (((LA236_0 >= ASCII_SYMBOL) && (LA236_0 <= XA_SYMBOL))))
                    {
                        switch ( LA(2) )
                        {
                        case OPEN_SYMBOL:
                        case DOT_SYMBOL:
                        	{
                        		alt236=1;
                        	}
                            break;
                        case CLOSE_SYMBOL:
                        	{
                        		alt236=2;
                        	}
                            break;
                        case READ_SYMBOL:
                        	{
                        		alt236=3;
                        	}
                            break;

                        default:
                            if (BACKTRACKING>0)
                            {
                                FAILEDFLAG = ANTLR3_TRUE;
                                return retval;
                            }

                            CONSTRUCTEX();
                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                            EXCEPTION->message      = (void *)"";
                            EXCEPTION->decisionNum  = 236;
                            EXCEPTION->state        = 6;


                            goto rulehandler_statementEx;

                        }

                    }
                    else if ( (LA236_0 == DOT_SYMBOL))
                    {
                        alt236=1;
                    }
                    else
                    {
                        if (BACKTRACKING>0)
                        {
                            FAILEDFLAG = ANTLR3_TRUE;
                            return retval;
                        }


                        CONSTRUCTEX();
                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                        EXCEPTION->message      = (void *)"";
                        EXCEPTION->decisionNum  = 236;
                        EXCEPTION->state        = 0;


                        goto rulehandler_statementEx;

                    }
                }
                switch (alt236)
                {
            	case 1:
            	    // MySQL.g:728:3: table_identifier OPEN_SYMBOL ( ( AS_SYMBOL )? identifier )?
            	    {
            	        FOLLOWPUSH(FOLLOW_table_identifier_in_handler_statement3515);
            	        table_identifier697=table_identifier(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulehandler_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, table_identifier697.tree);

            	        OPEN_SYMBOL698 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_SYMBOL, &FOLLOW_OPEN_SYMBOL_in_handler_statement3517);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulehandler_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        OPEN_SYMBOL698_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_SYMBOL698));
            	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_SYMBOL698_tree);
            	        }

            	        // MySQL.g:728:32: ( ( AS_SYMBOL )? identifier )?
            	        {
            	            int alt231=2;
            	            {
            	                int LA231_0 = LA(1);
            	                if ( (LA231_0 == AS_SYMBOL || LA231_0 == BACK_TICK_QUOTED_ID || LA231_0 == IDENTIFIER))
            	                {
            	                    alt231=1;
            	                }
            	                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA231_0 == DOUBLE_QUOTED_TEXT))
            	                {
            	                    alt231=1;
            	                }
            	                else if ( (((LA231_0 >= ACTION_SYMBOL) && (LA231_0 <= PARTITION_SYMBOL))))
            	                {
            	                    alt231=1;
            	                }
            	            }
            	            switch (alt231)
            	            {
            	        	case 1:
            	        	    // MySQL.g:728:33: ( AS_SYMBOL )? identifier
            	        	    {
            	        	        // MySQL.g:728:33: ( AS_SYMBOL )?
            	        	        {
            	        	            int alt230=2;
            	        	            switch ( LA(1) )
            	        	            {
            	        	                case AS_SYMBOL:
            	        	                	{
            	        	                		alt230=1;
            	        	                	}
            	        	                    break;
            	        	            }

            	        	            switch (alt230)
            	        	            {
            	        	        	case 1:
            	        	        	    // MySQL.g:728:33: AS_SYMBOL
            	        	        	    {
            	        	        	        AS_SYMBOL699 = (pANTLR3_COMMON_TOKEN) MATCHT(AS_SYMBOL, &FOLLOW_AS_SYMBOL_in_handler_statement3520);
            	        	        	        if  (HASEXCEPTION())
            	        	        	        {
            	        	        	            goto rulehandler_statementEx;
            	        	        	        }
            	        	        	        if (HASFAILED())
            	        	        	        {
            	        	        	            return retval;
            	        	        	        }

            	        	        	        if ( BACKTRACKING==0 ) {
            	        	        	        AS_SYMBOL699_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, AS_SYMBOL699));
            	        	        	        ADAPTOR->addChild(ADAPTOR, root_0, AS_SYMBOL699_tree);
            	        	        	        }

            	        	        	    }
            	        	        	    break;

            	        	            }
            	        	        }

            	        	        FOLLOWPUSH(FOLLOW_identifier_in_handler_statement3523);
            	        	        identifier700=identifier(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulehandler_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier700.tree);

            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;
            	case 2:
            	    // MySQL.g:729:5: identifier CLOSE_SYMBOL
            	    {
            	        FOLLOWPUSH(FOLLOW_identifier_in_handler_statement3531);
            	        identifier701=identifier(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulehandler_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier701.tree);

            	        CLOSE_SYMBOL702 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_SYMBOL, &FOLLOW_CLOSE_SYMBOL_in_handler_statement3533);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulehandler_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        CLOSE_SYMBOL702_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_SYMBOL702));
            	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_SYMBOL702_tree);
            	        }

            	    }
            	    break;
            	case 3:
            	    // MySQL.g:730:5: identifier READ_SYMBOL ( ( 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 ) values ) ) ( where_clause )? ( limit_clause )?
            	    {
            	        FOLLOWPUSH(FOLLOW_identifier_in_handler_statement3539);
            	        identifier703=identifier(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulehandler_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier703.tree);

            	        READ_SYMBOL704 = (pANTLR3_COMMON_TOKEN) MATCHT(READ_SYMBOL, &FOLLOW_READ_SYMBOL_in_handler_statement3541);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulehandler_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        READ_SYMBOL704_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, READ_SYMBOL704));
            	        ADAPTOR->addChild(ADAPTOR, root_0, READ_SYMBOL704_tree);
            	        }

            	        // MySQL.g:731:4: ( ( 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 ) values ) )
            	        {
            	            int alt233=2;
            	            {
            	                int LA233_0 = LA(1);
            	                if ( (LA233_0 == FIRST_SYMBOL || LA233_0 == NEXT_SYMBOL))
            	                {
            	                    switch ( LA(2) )
            	                    {
            	                    case EOF:
            	                    case LIMIT_SYMBOL:
            	                    case SEMICOLON_SYMBOL:
            	                    case WHERE_SYMBOL:
            	                    	{
            	                    		alt233=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:
            	                    	{
            	                    		alt233=2;
            	                    	}
            	                        break;

            	                    default:
            	                        if (BACKTRACKING>0)
            	                        {
            	                            FAILEDFLAG = ANTLR3_TRUE;
            	                            return retval;
            	                        }

            	                        CONSTRUCTEX();
            	                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
            	                        EXCEPTION->message      = (void *)"";
            	                        EXCEPTION->decisionNum  = 233;
            	                        EXCEPTION->state        = 1;


            	                        goto rulehandler_statementEx;

            	                    }

            	                }
            	                else if ( (LA233_0 == BACK_TICK_QUOTED_ID || LA233_0 == IDENTIFIER))
            	                {
            	                    alt233=2;
            	                }
            	                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA233_0 == DOUBLE_QUOTED_TEXT))
            	                {
            	                    alt233=2;
            	                }
            	                else if ( (((LA233_0 >= ACTION_SYMBOL) && (LA233_0 <= FILE_SYMBOL)) || ((LA233_0 >= FIXED_SYMBOL) && (LA233_0 <= NEW_SYMBOL)) || ((LA233_0 >= NODEGROUP_SYMBOL) && (LA233_0 <= PARTITION_SYMBOL))))
            	                {
            	                    alt233=2;
            	                }
            	                else
            	                {
            	                    if (BACKTRACKING>0)
            	                    {
            	                        FAILEDFLAG = ANTLR3_TRUE;
            	                        return retval;
            	                    }


            	                    CONSTRUCTEX();
            	                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
            	                    EXCEPTION->message      = (void *)"";
            	                    EXCEPTION->decisionNum  = 233;
            	                    EXCEPTION->state        = 0;


            	                    goto rulehandler_statementEx;

            	                }
            	            }
            	            switch (alt233)
            	            {
            	        	case 1:
            	        	    // MySQL.g:732:5: ( FIRST_SYMBOL | NEXT_SYMBOL )
            	        	    {
            	        	        set705=(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, set705))
            	        	            );
            	        	            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_statementEx;
            	        	        }


            	        	    }
            	        	    break;
            	        	case 2:
            	        	    // MySQL.g:733:7: 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 ) values )
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_identifier_in_handler_statement3566);
            	        	        identifier706=identifier(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulehandler_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier706.tree);

            	        	        // MySQL.g:734:6: ( ( FIRST_SYMBOL | NEXT_SYMBOL | PREV_SYMBOL | LAST_SYMBOL ) | ( EQUAL_OPERATOR | LESS_THAN_OPERATOR | GREATER_THAN_OPERATOR | LESS_OR_EQUAL_OPERATOR | GREATER_OR_EQUAL_OPERATOR ) values )
            	        	        {
            	        	            int alt232=2;
            	        	            switch ( LA(1) )
            	        	            {
            	        	            case FIRST_SYMBOL:
            	        	            case LAST_SYMBOL:
            	        	            case NEXT_SYMBOL:
            	        	            case PREV_SYMBOL:
            	        	            	{
            	        	            		alt232=1;
            	        	            	}
            	        	                break;
            	        	            case EQUAL_OPERATOR:
            	        	            case GREATER_OR_EQUAL_OPERATOR:
            	        	            case GREATER_THAN_OPERATOR:
            	        	            case LESS_OR_EQUAL_OPERATOR:
            	        	            case LESS_THAN_OPERATOR:
            	        	            	{
            	        	            		alt232=2;
            	        	            	}
            	        	                break;

            	        	            default:
            	        	                if (BACKTRACKING>0)
            	        	                {
            	        	                    FAILEDFLAG = ANTLR3_TRUE;
            	        	                    return retval;
            	        	                }

            	        	                CONSTRUCTEX();
            	        	                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
            	        	                EXCEPTION->message      = (void *)"";
            	        	                EXCEPTION->decisionNum  = 232;
            	        	                EXCEPTION->state        = 0;


            	        	                goto rulehandler_statementEx;

            	        	            }

            	        	            switch (alt232)
            	        	            {
            	        	        	case 1:
            	        	        	    // MySQL.g:735:7: ( FIRST_SYMBOL | NEXT_SYMBOL | PREV_SYMBOL | LAST_SYMBOL )
            	        	        	    {
            	        	        	        set707=(pANTLR3_COMMON_TOKEN)LT(1);

            	        	        	        if ( LA(1) == FIRST_SYMBOL || LA(1) == LAST_SYMBOL || LA(1) == NEXT_SYMBOL || LA(1) == PREV_SYMBOL )
            	        	        	        {
            	        	        	            CONSUME();
            	        	        	            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, 
            	        	        	            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set707))
            	        	        	            );
            	        	        	            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_statementEx;
            	        	        	        }


            	        	        	    }
            	        	        	    break;
            	        	        	case 2:
            	        	        	    // MySQL.g:736:9: ( EQUAL_OPERATOR | LESS_THAN_OPERATOR | GREATER_THAN_OPERATOR | LESS_OR_EQUAL_OPERATOR | GREATER_OR_EQUAL_OPERATOR ) values
            	        	        	    {
            	        	        	        set708=(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, set708))
            	        	        	            );
            	        	        	            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_statementEx;
            	        	        	        }


            	        	        	        FOLLOWPUSH(FOLLOW_values_in_handler_statement3632);
            	        	        	        values709=values(ctx);

            	        	        	        FOLLOWPOP();
            	        	        	        if  (HASEXCEPTION())
            	        	        	        {
            	        	        	            goto rulehandler_statementEx;
            	        	        	        }
            	        	        	        if (HASFAILED())
            	        	        	        {
            	        	        	            return retval;
            	        	        	        }

            	        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, values709.tree);

            	        	        	    }
            	        	        	    break;

            	        	            }
            	        	        }

            	        	    }
            	        	    break;

            	            }
            	        }

            	        // MySQL.g:740:4: ( where_clause )?
            	        {
            	            int alt234=2;
            	            switch ( LA(1) )
            	            {
            	                case WHERE_SYMBOL:
            	                	{
            	                		alt234=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt234)
            	            {
            	        	case 1:
            	        	    // MySQL.g:740:4: where_clause
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_where_clause_in_handler_statement3649);
            	        	        where_clause710=where_clause(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulehandler_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, where_clause710.tree);

            	        	    }
            	        	    break;

            	            }
            	        }

            	        // MySQL.g:740:18: ( limit_clause )?
            	        {
            	            int alt235=2;
            	            switch ( LA(1) )
            	            {
            	                case LIMIT_SYMBOL:
            	                	{
            	                		alt235=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt235)
            	            {
            	        	case 1:
            	        	    // MySQL.g:740:18: limit_clause
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_limit_clause_in_handler_statement3652);
            	        	        limit_clause711=limit_clause(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulehandler_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, limit_clause711.tree);

            	        	    }
            	        	    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 insert_statement
 * MySQL.g:746:1: insert_statement : INSERT_SYMBOL ^ ( insert_option )? ( IGNORE_SYMBOL )? ( INTO_SYMBOL )? table_identifier ( 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_SYMBOL712;
    pANTLR3_COMMON_TOKEN    IGNORE_SYMBOL714;
    pANTLR3_COMMON_TOKEN    INTO_SYMBOL715;
    MySQLParser_insert_option_return insert_option713;
    #undef	RETURN_TYPE_insert_option713
    #define	RETURN_TYPE_insert_option713 MySQLParser_insert_option_return

    MySQLParser_table_identifier_return table_identifier716;
    #undef	RETURN_TYPE_table_identifier716
    #define	RETURN_TYPE_table_identifier716 MySQLParser_table_identifier_return

    MySQLParser_use_partition_return use_partition717;
    #undef	RETURN_TYPE_use_partition717
    #define	RETURN_TYPE_use_partition717 MySQLParser_use_partition_return

    MySQLParser_insert_field_spec_return insert_field_spec718;
    #undef	RETURN_TYPE_insert_field_spec718
    #define	RETURN_TYPE_insert_field_spec718 MySQLParser_insert_field_spec_return

    MySQLParser_duplicate_key_update_return duplicate_key_update719;
    #undef	RETURN_TYPE_duplicate_key_update719
    #define	RETURN_TYPE_duplicate_key_update719 MySQLParser_duplicate_key_update_return

    pANTLR3_BASE_TREE INSERT_SYMBOL712_tree;
    pANTLR3_BASE_TREE IGNORE_SYMBOL714_tree;
    pANTLR3_BASE_TREE INTO_SYMBOL715_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    INSERT_SYMBOL712       = NULL;
    IGNORE_SYMBOL714       = NULL;
    INTO_SYMBOL715       = NULL;
    insert_option713.tree = NULL;

    table_identifier716.tree = NULL;

    use_partition717.tree = NULL;

    insert_field_spec718.tree = NULL;

    duplicate_key_update719.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    INSERT_SYMBOL712_tree   = NULL;
    IGNORE_SYMBOL714_tree   = NULL;
    INTO_SYMBOL715_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:746:17: ( INSERT_SYMBOL ^ ( insert_option )? ( IGNORE_SYMBOL )? ( INTO_SYMBOL )? table_identifier ( use_partition )? insert_field_spec ( duplicate_key_update )? )
        // MySQL.g:747:2: INSERT_SYMBOL ^ ( insert_option )? ( IGNORE_SYMBOL )? ( INTO_SYMBOL )? table_identifier ( use_partition )? insert_field_spec ( duplicate_key_update )?
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            INSERT_SYMBOL712 = (pANTLR3_COMMON_TOKEN) MATCHT(INSERT_SYMBOL, &FOLLOW_INSERT_SYMBOL_in_insert_statement3667);
            if  (HASEXCEPTION())
            {
                goto ruleinsert_statementEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            INSERT_SYMBOL712_tree = 
            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INSERT_SYMBOL712))
            ;
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, INSERT_SYMBOL712_tree, root_0));
            }

            // MySQL.g:747:17: ( insert_option )?
            {
                int alt237=2;
                switch ( LA(1) )
                {
                    case DELAYED_SYMBOL:
                    case HIGH_PRIORITY_SYMBOL:
                    case LOW_PRIORITY_SYMBOL:
                    	{
                    		alt237=1;
                    	}
                        break;
                }

                switch (alt237)
                {
            	case 1:
            	    // MySQL.g:747:17: insert_option
            	    {
            	        FOLLOWPUSH(FOLLOW_insert_option_in_insert_statement3670);
            	        insert_option713=insert_option(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleinsert_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, insert_option713.tree);

            	    }
            	    break;

                }
            }

            // MySQL.g:747:32: ( IGNORE_SYMBOL )?
            {
                int alt238=2;
                switch ( LA(1) )
                {
                    case IGNORE_SYMBOL:
                    	{
                    		alt238=1;
                    	}
                        break;
                }

                switch (alt238)
                {
            	case 1:
            	    // MySQL.g:747:32: IGNORE_SYMBOL
            	    {
            	        IGNORE_SYMBOL714 = (pANTLR3_COMMON_TOKEN) MATCHT(IGNORE_SYMBOL, &FOLLOW_IGNORE_SYMBOL_in_insert_statement3673);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleinsert_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        IGNORE_SYMBOL714_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, IGNORE_SYMBOL714));
            	        ADAPTOR->addChild(ADAPTOR, root_0, IGNORE_SYMBOL714_tree);
            	        }

            	    }
            	    break;

                }
            }

            // MySQL.g:747:47: ( INTO_SYMBOL )?
            {
                int alt239=2;
                switch ( LA(1) )
                {
                    case INTO_SYMBOL:
                    	{
                    		alt239=1;
                    	}
                        break;
                }

                switch (alt239)
                {
            	case 1:
            	    // MySQL.g:747:47: INTO_SYMBOL
            	    {
            	        INTO_SYMBOL715 = (pANTLR3_COMMON_TOKEN) MATCHT(INTO_SYMBOL, &FOLLOW_INTO_SYMBOL_in_insert_statement3676);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleinsert_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        INTO_SYMBOL715_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INTO_SYMBOL715));
            	        ADAPTOR->addChild(ADAPTOR, root_0, INTO_SYMBOL715_tree);
            	        }

            	    }
            	    break;

                }
            }

            FOLLOWPUSH(FOLLOW_table_identifier_in_insert_statement3679);
            table_identifier716=table_identifier(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruleinsert_statementEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, table_identifier716.tree);

            // MySQL.g:747:77: ( use_partition )?
            {
                int alt240=2;
                {
                    int LA240_0 = LA(1);
                    if ( ((SERVER_VERSION >= 50602)) && (LA240_0 == PARTITION_SYMBOL))
                    {
                        alt240=1;
                    }
                }
                switch (alt240)
                {
            	case 1:
            	    // MySQL.g:747:77: use_partition
            	    {
            	        FOLLOWPUSH(FOLLOW_use_partition_in_insert_statement3681);
            	        use_partition717=use_partition(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleinsert_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, use_partition717.tree);

            	    }
            	    break;

                }
            }

            FOLLOWPUSH(FOLLOW_insert_field_spec_in_insert_statement3684);
            insert_field_spec718=insert_field_spec(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruleinsert_statementEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, insert_field_spec718.tree);

            // MySQL.g:747:110: ( duplicate_key_update )?
            {
                int alt241=2;
                switch ( LA(1) )
                {
                    case ON_SYMBOL:
                    	{
                    		alt241=1;
                    	}
                        break;
                }

                switch (alt241)
                {
            	case 1:
            	    // MySQL.g:747:110: duplicate_key_update
            	    {
            	        FOLLOWPUSH(FOLLOW_duplicate_key_update_in_insert_statement3686);
            	        duplicate_key_update719=duplicate_key_update(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleinsert_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, duplicate_key_update719.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_option
 * MySQL.g:750:1: insert_option : ( LOW_PRIORITY_SYMBOL | DELAYED_SYMBOL | HIGH_PRIORITY_SYMBOL );
 */
static MySQLParser_insert_option_return
insert_option(pMySQLParser ctx)
{
    MySQLParser_insert_option_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    set720;

    pANTLR3_BASE_TREE set720_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    set720       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    set720_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:750:14: ( LOW_PRIORITY_SYMBOL | DELAYED_SYMBOL | HIGH_PRIORITY_SYMBOL )
        // MySQL.g:
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            set720=(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, set720))
                );
                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_optionEx;
            }


        }

    }

    // This is where rules clean up and exit
    //
    goto ruleinsert_optionEx; /* Prevent compiler warnings */
    ruleinsert_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_option */

/**
 * $ANTLR start insert_field_spec
 * MySQL.g:756: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_SYMBOL721;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL723;
    pANTLR3_COMMON_TOKEN    SET_SYMBOL725;
    MySQLParser_fields_return fields722;
    #undef	RETURN_TYPE_fields722
    #define	RETURN_TYPE_fields722 MySQLParser_fields_return

    MySQLParser_insert_values_return insert_values724;
    #undef	RETURN_TYPE_insert_values724
    #define	RETURN_TYPE_insert_values724 MySQLParser_insert_values_return

    MySQLParser_column_assignment_list_with_default_return column_assignment_list_with_default726;
    #undef	RETURN_TYPE_column_assignment_list_with_default726
    #define	RETURN_TYPE_column_assignment_list_with_default726 MySQLParser_column_assignment_list_with_default_return

    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL721_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL723_tree;
    pANTLR3_BASE_TREE SET_SYMBOL725_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    OPEN_PAR_SYMBOL721       = NULL;
    CLOSE_PAR_SYMBOL723       = NULL;
    SET_SYMBOL725       = NULL;
    fields722.tree = NULL;

    insert_values724.tree = NULL;

    column_assignment_list_with_default726.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    OPEN_PAR_SYMBOL721_tree   = NULL;
    CLOSE_PAR_SYMBOL723_tree   = NULL;
    SET_SYMBOL725_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:756:18: ( ( OPEN_PAR_SYMBOL ( fields )? CLOSE_PAR_SYMBOL )? insert_values | SET_SYMBOL column_assignment_list_with_default )

            ANTLR3_UINT32 alt244;

            alt244=2;

            switch ( LA(1) )
            {
            case VALUE_SYMBOL:
            case OPEN_PAR_SYMBOL:
            case SELECT_SYMBOL:
            case VALUES_SYMBOL:
            	{
            		alt244=1;
            	}
                break;
            case SET_SYMBOL:
            	{
            		alt244=2;
            	}
                break;

            default:
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                EXCEPTION->message      = (void *)"";
                EXCEPTION->decisionNum  = 244;
                EXCEPTION->state        = 0;


                goto ruleinsert_field_specEx;

            }

            switch (alt244)
            {
        	case 1:
        	    // MySQL.g:757:2: ( OPEN_PAR_SYMBOL ( fields )? CLOSE_PAR_SYMBOL )? insert_values
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        // MySQL.g:757:2: ( OPEN_PAR_SYMBOL ( fields )? CLOSE_PAR_SYMBOL )?
        	        {
        	            int alt243=2;
        	            switch ( LA(1) )
        	            {
        	                case OPEN_PAR_SYMBOL:
        	                	{
        	                		{
        	                		    int LA243_1 = LA(2);
        	                		    if ( (((LA243_1 >= ACTION_SYMBOL) && (LA243_1 <= PARTITION_SYMBOL)) || LA243_1 == BACK_TICK_QUOTED_ID || LA243_1 == CLOSE_PAR_SYMBOL || LA243_1 == DOUBLE_QUOTED_TEXT || LA243_1 == IDENTIFIER || LA243_1 == MULT_OPERATOR))
        	                		    {
        	                		        alt243=1;
        	                		    }
        	                		}
        	                	}
        	                    break;
        	            }

        	            switch (alt243)
        	            {
        	        	case 1:
        	        	    // MySQL.g:757:3: OPEN_PAR_SYMBOL ( fields )? CLOSE_PAR_SYMBOL
        	        	    {
        	        	        OPEN_PAR_SYMBOL721 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_insert_field_spec3718);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleinsert_field_specEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        OPEN_PAR_SYMBOL721_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL721));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL721_tree);
        	        	        }

        	        	        // MySQL.g:757:19: ( fields )?
        	        	        {
        	        	            int alt242=2;
        	        	            {
        	        	                int LA242_0 = LA(1);
        	        	                if ( (LA242_0 == BACK_TICK_QUOTED_ID || LA242_0 == IDENTIFIER))
        	        	                {
        	        	                    alt242=1;
        	        	                }
        	        	                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA242_0 == DOUBLE_QUOTED_TEXT))
        	        	                {
        	        	                    alt242=1;
        	        	                }
        	        	                else if ( (((LA242_0 >= ACTION_SYMBOL) && (LA242_0 <= PARTITION_SYMBOL)) || LA242_0 == MULT_OPERATOR))
        	        	                {
        	        	                    alt242=1;
        	        	                }
        	        	            }
        	        	            switch (alt242)
        	        	            {
        	        	        	case 1:
        	        	        	    // MySQL.g:757:19: fields
        	        	        	    {
        	        	        	        FOLLOWPUSH(FOLLOW_fields_in_insert_field_spec3720);
        	        	        	        fields722=fields(ctx);

        	        	        	        FOLLOWPOP();
        	        	        	        if  (HASEXCEPTION())
        	        	        	        {
        	        	        	            goto ruleinsert_field_specEx;
        	        	        	        }
        	        	        	        if (HASFAILED())
        	        	        	        {
        	        	        	            return retval;
        	        	        	        }

        	        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, fields722.tree);

        	        	        	    }
        	        	        	    break;

        	        	            }
        	        	        }

        	        	        CLOSE_PAR_SYMBOL723 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_insert_field_spec3723);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleinsert_field_specEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        CLOSE_PAR_SYMBOL723_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL723));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL723_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	        FOLLOWPUSH(FOLLOW_insert_values_in_insert_field_spec3727);
        	        insert_values724=insert_values(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleinsert_field_specEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, insert_values724.tree);

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:758:4: SET_SYMBOL column_assignment_list_with_default
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        SET_SYMBOL725 = (pANTLR3_COMMON_TOKEN) MATCHT(SET_SYMBOL, &FOLLOW_SET_SYMBOL_in_insert_field_spec3732);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleinsert_field_specEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        SET_SYMBOL725_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SET_SYMBOL725));
        	        ADAPTOR->addChild(ADAPTOR, root_0, SET_SYMBOL725_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_column_assignment_list_with_default_in_insert_field_spec3734);
        	        column_assignment_list_with_default726=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_default726.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:761: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_SYMBOL728;
    MySQLParser_insert_identifier_return insert_identifier727;
    #undef	RETURN_TYPE_insert_identifier727
    #define	RETURN_TYPE_insert_identifier727 MySQLParser_insert_identifier_return

    MySQLParser_insert_identifier_return insert_identifier729;
    #undef	RETURN_TYPE_insert_identifier729
    #define	RETURN_TYPE_insert_identifier729 MySQLParser_insert_identifier_return

    pANTLR3_BASE_TREE COMMA_SYMBOL728_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    COMMA_SYMBOL728       = NULL;
    insert_identifier727.tree = NULL;

    insert_identifier729.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    COMMA_SYMBOL728_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:761:7: ( insert_identifier ( COMMA_SYMBOL insert_identifier )* )
        // MySQL.g:762:2: insert_identifier ( COMMA_SYMBOL insert_identifier )*
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            FOLLOWPUSH(FOLLOW_insert_identifier_in_fields3743);
            insert_identifier727=insert_identifier(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulefieldsEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, insert_identifier727.tree);

            // MySQL.g:762:20: ( COMMA_SYMBOL insert_identifier )*

            for (;;)
            {
                int alt245=2;
                switch ( LA(1) )
                {
                case COMMA_SYMBOL:
                	{
                		alt245=1;
                	}
                    break;

                }

                switch (alt245)
                {
            	case 1:
            	    // MySQL.g:762:21: COMMA_SYMBOL insert_identifier
            	    {
            	        COMMA_SYMBOL728 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_fields3746);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulefieldsEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        COMMA_SYMBOL728_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL728));
            	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL728_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_insert_identifier_in_fields3748);
            	        insert_identifier729=insert_identifier(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulefieldsEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, insert_identifier729.tree);

            	    }
            	    break;

            	default:
            	    goto loop245;	/* break out of the loop */
            	    break;
                }
            }
            loop245: ; /* 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:765:1: insert_identifier : insert_identifier_ref -> ^( FIELD_REF_ID insert_identifier_ref ) ;
 */
static MySQLParser_insert_identifier_return
insert_identifier(pMySQLParser ctx)
{
    MySQLParser_insert_identifier_return retval;


    pANTLR3_BASE_TREE root_0;

    MySQLParser_insert_identifier_ref_return insert_identifier_ref730;
    #undef	RETURN_TYPE_insert_identifier_ref730
    #define	RETURN_TYPE_insert_identifier_ref730 MySQLParser_insert_identifier_ref_return

    pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_insert_identifier_ref;
    /* Initialize rule variables
     */

    root_0 = NULL;

    insert_identifier_ref730.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;



    stream_insert_identifier_ref   = NULL;
    #define CREATE_stream_insert_identifier_ref  if (stream_insert_identifier_ref == NULL) {stream_insert_identifier_ref = antlr3RewriteRuleSubtreeStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"rule insert_identifier_ref"); }

    retval.tree  = NULL;

    {
        // MySQL.g:765:18: ( insert_identifier_ref -> ^( FIELD_REF_ID insert_identifier_ref ) )
        // MySQL.g:766:2: insert_identifier_ref
        {
            FOLLOWPUSH(FOLLOW_insert_identifier_ref_in_insert_identifier3759);
            insert_identifier_ref730=insert_identifier_ref(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruleinsert_identifierEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) { CREATE_stream_insert_identifier_ref; stream_insert_identifier_ref->add(stream_insert_identifier_ref, insert_identifier_ref730.tree, NULL); }

            /* AST REWRITE
             * elements          : insert_identifier_ref
             * 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;
            	// 766:24: -> ^( FIELD_REF_ID insert_identifier_ref )
            	{
            	    // MySQL.g:766:27: ^( FIELD_REF_ID insert_identifier_ref )
            	    {
            	        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, FIELD_REF_ID, (pANTLR3_UINT8)"FIELD_REF_ID")
            	        , root_1));

            	        ADAPTOR->addChild(ADAPTOR, root_1, stream_insert_identifier_ref == NULL ? NULL : stream_insert_identifier_ref->nextTree(stream_insert_identifier_ref));

            	        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_insert_identifier_ref != NULL) stream_insert_identifier_ref->free(stream_insert_identifier_ref);
    }


            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_identifier_ref
 * MySQL.g:770:1: insert_identifier_ref : ( identifier DOT_SYMBOL ( identifier DOT_SYMBOL )? )? ( identifier | MULT_OPERATOR ) ;
 */
static MySQLParser_insert_identifier_ref_return
insert_identifier_ref(pMySQLParser ctx)
{
    MySQLParser_insert_identifier_ref_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    DOT_SYMBOL732;
    pANTLR3_COMMON_TOKEN    DOT_SYMBOL734;
    pANTLR3_COMMON_TOKEN    MULT_OPERATOR736;
    MySQLParser_identifier_return identifier731;
    #undef	RETURN_TYPE_identifier731
    #define	RETURN_TYPE_identifier731 MySQLParser_identifier_return

    MySQLParser_identifier_return identifier733;
    #undef	RETURN_TYPE_identifier733
    #define	RETURN_TYPE_identifier733 MySQLParser_identifier_return

    MySQLParser_identifier_return identifier735;
    #undef	RETURN_TYPE_identifier735
    #define	RETURN_TYPE_identifier735 MySQLParser_identifier_return

    pANTLR3_BASE_TREE DOT_SYMBOL732_tree;
    pANTLR3_BASE_TREE DOT_SYMBOL734_tree;
    pANTLR3_BASE_TREE MULT_OPERATOR736_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    DOT_SYMBOL732       = NULL;
    DOT_SYMBOL734       = NULL;
    MULT_OPERATOR736       = NULL;
    identifier731.tree = NULL;

    identifier733.tree = NULL;

    identifier735.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    DOT_SYMBOL732_tree   = NULL;
    DOT_SYMBOL734_tree   = NULL;
    MULT_OPERATOR736_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:770:22: ( ( identifier DOT_SYMBOL ( identifier DOT_SYMBOL )? )? ( identifier | MULT_OPERATOR ) )
        // MySQL.g:771:2: ( identifier DOT_SYMBOL ( identifier DOT_SYMBOL )? )? ( identifier | MULT_OPERATOR )
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            // MySQL.g:771:2: ( identifier DOT_SYMBOL ( identifier DOT_SYMBOL )? )?
            {
                int alt247=2;
                {
                    int LA247_0 = LA(1);
                    if ( (LA247_0 == IDENTIFIER))
                    {
                        switch ( LA(2) )
                        {
                            case DOT_SYMBOL:
                            	{
                            		alt247=1;
                            	}
                                break;
                        }

                    }
                    else if ( (LA247_0 == BACK_TICK_QUOTED_ID))
                    {
                        switch ( LA(2) )
                        {
                            case DOT_SYMBOL:
                            	{
                            		alt247=1;
                            	}
                                break;
                        }

                    }
                    else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA247_0 == DOUBLE_QUOTED_TEXT))
                    {
                        {
                            int LA247_3 = LA(2);
                            if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA247_3 == DOT_SYMBOL))
                            {
                                alt247=1;
                            }
                        }
                    }
                    else if ( (((LA247_0 >= ACTION_SYMBOL) && (LA247_0 <= YEAR_SYMBOL))))
                    {
                        switch ( LA(2) )
                        {
                            case DOT_SYMBOL:
                            	{
                            		alt247=1;
                            	}
                                break;
                        }

                    }
                    else if ( (LA247_0 == PARTITION_SYMBOL))
                    {
                        switch ( LA(2) )
                        {
                            case DOT_SYMBOL:
                            	{
                            		alt247=1;
                            	}
                                break;
                        }

                    }
                    else if ( (((LA247_0 >= ASCII_SYMBOL) && (LA247_0 <= XA_SYMBOL))))
                    {
                        switch ( LA(2) )
                        {
                            case DOT_SYMBOL:
                            	{
                            		alt247=1;
                            	}
                                break;
                        }

                    }
                }
                switch (alt247)
                {
            	case 1:
            	    // MySQL.g:771:3: identifier DOT_SYMBOL ( identifier DOT_SYMBOL )?
            	    {
            	        FOLLOWPUSH(FOLLOW_identifier_in_insert_identifier_ref3778);
            	        identifier731=identifier(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleinsert_identifier_refEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier731.tree);

            	        DOT_SYMBOL732 = (pANTLR3_COMMON_TOKEN) MATCHT(DOT_SYMBOL, &FOLLOW_DOT_SYMBOL_in_insert_identifier_ref3780);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleinsert_identifier_refEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        DOT_SYMBOL732_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DOT_SYMBOL732));
            	        ADAPTOR->addChild(ADAPTOR, root_0, DOT_SYMBOL732_tree);
            	        }

            	        // MySQL.g:771:25: ( identifier DOT_SYMBOL )?
            	        {
            	            int alt246=2;
            	            {
            	                int LA246_0 = LA(1);
            	                if ( (LA246_0 == IDENTIFIER))
            	                {
            	                    switch ( LA(2) )
            	                    {
            	                        case DOT_SYMBOL:
            	                        	{
            	                        		alt246=1;
            	                        	}
            	                            break;
            	                    }

            	                }
            	                else if ( (LA246_0 == BACK_TICK_QUOTED_ID))
            	                {
            	                    switch ( LA(2) )
            	                    {
            	                        case DOT_SYMBOL:
            	                        	{
            	                        		alt246=1;
            	                        	}
            	                            break;
            	                    }

            	                }
            	                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA246_0 == DOUBLE_QUOTED_TEXT))
            	                {
            	                    {
            	                        int LA246_3 = LA(2);
            	                        if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA246_3 == DOT_SYMBOL))
            	                        {
            	                            alt246=1;
            	                        }
            	                    }
            	                }
            	                else if ( (((LA246_0 >= ACTION_SYMBOL) && (LA246_0 <= YEAR_SYMBOL))))
            	                {
            	                    switch ( LA(2) )
            	                    {
            	                        case DOT_SYMBOL:
            	                        	{
            	                        		alt246=1;
            	                        	}
            	                            break;
            	                    }

            	                }
            	                else if ( (LA246_0 == PARTITION_SYMBOL))
            	                {
            	                    switch ( LA(2) )
            	                    {
            	                        case DOT_SYMBOL:
            	                        	{
            	                        		alt246=1;
            	                        	}
            	                            break;
            	                    }

            	                }
            	                else if ( (((LA246_0 >= ASCII_SYMBOL) && (LA246_0 <= XA_SYMBOL))))
            	                {
            	                    switch ( LA(2) )
            	                    {
            	                        case DOT_SYMBOL:
            	                        	{
            	                        		alt246=1;
            	                        	}
            	                            break;
            	                    }

            	                }
            	            }
            	            switch (alt246)
            	            {
            	        	case 1:
            	        	    // MySQL.g:771:26: identifier DOT_SYMBOL
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_identifier_in_insert_identifier_ref3783);
            	        	        identifier733=identifier(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleinsert_identifier_refEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier733.tree);

            	        	        DOT_SYMBOL734 = (pANTLR3_COMMON_TOKEN) MATCHT(DOT_SYMBOL, &FOLLOW_DOT_SYMBOL_in_insert_identifier_ref3785);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleinsert_identifier_refEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        DOT_SYMBOL734_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DOT_SYMBOL734));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, DOT_SYMBOL734_tree);
            	        	        }

            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;

                }
            }

            // MySQL.g:771:52: ( identifier | MULT_OPERATOR )
            {
                int alt248=2;
                {
                    int LA248_0 = LA(1);
                    if ( (LA248_0 == BACK_TICK_QUOTED_ID || LA248_0 == IDENTIFIER))
                    {
                        alt248=1;
                    }
                    else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA248_0 == DOUBLE_QUOTED_TEXT))
                    {
                        alt248=1;
                    }
                    else if ( (((LA248_0 >= ACTION_SYMBOL) && (LA248_0 <= PARTITION_SYMBOL))))
                    {
                        alt248=1;
                    }
                    else if ( (LA248_0 == MULT_OPERATOR))
                    {
                        alt248=2;
                    }
                    else
                    {
                        if (BACKTRACKING>0)
                        {
                            FAILEDFLAG = ANTLR3_TRUE;
                            return retval;
                        }


                        CONSTRUCTEX();
                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                        EXCEPTION->message      = (void *)"";
                        EXCEPTION->decisionNum  = 248;
                        EXCEPTION->state        = 0;


                        goto ruleinsert_identifier_refEx;

                    }
                }
                switch (alt248)
                {
            	case 1:
            	    // MySQL.g:771:53: identifier
            	    {
            	        FOLLOWPUSH(FOLLOW_identifier_in_insert_identifier_ref3792);
            	        identifier735=identifier(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleinsert_identifier_refEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier735.tree);

            	    }
            	    break;
            	case 2:
            	    // MySQL.g:771:66: MULT_OPERATOR
            	    {
            	        MULT_OPERATOR736 = (pANTLR3_COMMON_TOKEN) MATCHT(MULT_OPERATOR, &FOLLOW_MULT_OPERATOR_in_insert_identifier_ref3796);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleinsert_identifier_refEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        MULT_OPERATOR736_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MULT_OPERATOR736));
            	        ADAPTOR->addChild(ADAPTOR, root_0, MULT_OPERATOR736_tree);
            	        }

            	    }
            	    break;

                }
            }

        }

    }

    // This is where rules clean up and exit
    //
    goto ruleinsert_identifier_refEx; /* Prevent compiler warnings */
    ruleinsert_identifier_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 insert_identifier_ref */

/**
 * $ANTLR start insert_values
 * MySQL.g:774: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    set737;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL741;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL743;
    MySQLParser_insert_value_list_return insert_value_list738;
    #undef	RETURN_TYPE_insert_value_list738
    #define	RETURN_TYPE_insert_value_list738 MySQLParser_insert_value_list_return

    MySQLParser_create_select_return create_select739;
    #undef	RETURN_TYPE_create_select739
    #define	RETURN_TYPE_create_select739 MySQLParser_create_select_return

    MySQLParser_union_clause_return union_clause740;
    #undef	RETURN_TYPE_union_clause740
    #define	RETURN_TYPE_union_clause740 MySQLParser_union_clause_return

    MySQLParser_create_select_return create_select742;
    #undef	RETURN_TYPE_create_select742
    #define	RETURN_TYPE_create_select742 MySQLParser_create_select_return

    MySQLParser_union_or_order_by_or_limit_return union_or_order_by_or_limit744;
    #undef	RETURN_TYPE_union_or_order_by_or_limit744
    #define	RETURN_TYPE_union_or_order_by_or_limit744 MySQLParser_union_or_order_by_or_limit_return

    pANTLR3_BASE_TREE set737_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL741_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL743_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    set737       = NULL;
    OPEN_PAR_SYMBOL741       = NULL;
    CLOSE_PAR_SYMBOL743       = NULL;
    insert_value_list738.tree = NULL;

    create_select739.tree = NULL;

    union_clause740.tree = NULL;

    create_select742.tree = NULL;

    union_or_order_by_or_limit744.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    set737_tree   = NULL;
    OPEN_PAR_SYMBOL741_tree   = NULL;
    CLOSE_PAR_SYMBOL743_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:774: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 alt251;

            alt251=3;

            switch ( LA(1) )
            {
            case VALUE_SYMBOL:
            case VALUES_SYMBOL:
            	{
            		alt251=1;
            	}
                break;
            case SELECT_SYMBOL:
            	{
            		alt251=2;
            	}
                break;
            case OPEN_PAR_SYMBOL:
            	{
            		alt251=3;
            	}
                break;

            default:
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                EXCEPTION->message      = (void *)"";
                EXCEPTION->decisionNum  = 251;
                EXCEPTION->state        = 0;


                goto ruleinsert_valuesEx;

            }

            switch (alt251)
            {
        	case 1:
        	    // MySQL.g:775:2: ( VALUES_SYMBOL | VALUE_SYMBOL ) insert_value_list
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        set737=(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, set737))
        	            );
        	            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_values3814);
        	        insert_value_list738=insert_value_list(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleinsert_valuesEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, insert_value_list738.tree);

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:776:4: create_select ( union_clause )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_create_select_in_insert_values3819);
        	        create_select739=create_select(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleinsert_valuesEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, create_select739.tree);

        	        // MySQL.g:776:18: ( union_clause )?
        	        {
        	            int alt249=2;
        	            switch ( LA(1) )
        	            {
        	                case UNION_SYMBOL:
        	                	{
        	                		alt249=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt249)
        	            {
        	        	case 1:
        	        	    // MySQL.g:776:18: union_clause
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_union_clause_in_insert_values3821);
        	        	        union_clause740=union_clause(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleinsert_valuesEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, union_clause740.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 3:
        	    // MySQL.g:777: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_SYMBOL741 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_insert_values3827);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleinsert_valuesEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL741_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL741));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL741_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_create_select_in_insert_values3829);
        	        create_select742=create_select(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleinsert_valuesEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, create_select742.tree);

        	        CLOSE_PAR_SYMBOL743 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_insert_values3831);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleinsert_valuesEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL743_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL743));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL743_tree);
        	        }

        	        // MySQL.g:777:51: ( union_or_order_by_or_limit )?
        	        {
        	            int alt250=2;
        	            switch ( LA(1) )
        	            {
        	                case LIMIT_SYMBOL:
        	                case ORDER_SYMBOL:
        	                case UNION_SYMBOL:
        	                	{
        	                		alt250=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt250)
        	            {
        	        	case 1:
        	        	    // MySQL.g:777:51: union_or_order_by_or_limit
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_union_or_order_by_or_limit_in_insert_values3833);
        	        	        union_or_order_by_or_limit744=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_limit744.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:780:1: insert_value_list : values ( COMMA_SYMBOL values )* ;
 */
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    COMMA_SYMBOL746;
    MySQLParser_values_return values745;
    #undef	RETURN_TYPE_values745
    #define	RETURN_TYPE_values745 MySQLParser_values_return

    MySQLParser_values_return values747;
    #undef	RETURN_TYPE_values747
    #define	RETURN_TYPE_values747 MySQLParser_values_return

    pANTLR3_BASE_TREE COMMA_SYMBOL746_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    COMMA_SYMBOL746       = NULL;
    values745.tree = NULL;

    values747.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    COMMA_SYMBOL746_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:780:18: ( values ( COMMA_SYMBOL values )* )
        // MySQL.g:781:2: values ( COMMA_SYMBOL values )*
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            FOLLOWPUSH(FOLLOW_values_in_insert_value_list3843);
            values745=values(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruleinsert_value_listEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, values745.tree);

            // MySQL.g:781:9: ( COMMA_SYMBOL values )*

            for (;;)
            {
                int alt252=2;
                switch ( LA(1) )
                {
                case COMMA_SYMBOL:
                	{
                		alt252=1;
                	}
                    break;

                }

                switch (alt252)
                {
            	case 1:
            	    // MySQL.g:781:10: COMMA_SYMBOL values
            	    {
            	        COMMA_SYMBOL746 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_insert_value_list3846);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleinsert_value_listEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        COMMA_SYMBOL746_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL746));
            	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL746_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_values_in_insert_value_list3848);
            	        values747=values(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleinsert_value_listEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, values747.tree);

            	    }
            	    break;

            	default:
            	    goto loop252;	/* break out of the loop */
            	    break;
                }
            }
            loop252: ; /* 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:785:1: values : OPEN_PAR_SYMBOL ( ( expression | DEFAULT_SYMBOL ) ( COMMA_SYMBOL ( expression | DEFAULT_SYMBOL ) )* )? CLOSE_PAR_SYMBOL ;
 */
static MySQLParser_values_return
values(pMySQLParser ctx)
{
    MySQLParser_values_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL748;
    pANTLR3_COMMON_TOKEN    DEFAULT_SYMBOL750;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL751;
    pANTLR3_COMMON_TOKEN    DEFAULT_SYMBOL753;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL754;
    MySQLParser_expression_return expression749;
    #undef	RETURN_TYPE_expression749
    #define	RETURN_TYPE_expression749 MySQLParser_expression_return

    MySQLParser_expression_return expression752;
    #undef	RETURN_TYPE_expression752
    #define	RETURN_TYPE_expression752 MySQLParser_expression_return

    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL748_tree;
    pANTLR3_BASE_TREE DEFAULT_SYMBOL750_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL751_tree;
    pANTLR3_BASE_TREE DEFAULT_SYMBOL753_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL754_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    OPEN_PAR_SYMBOL748       = NULL;
    DEFAULT_SYMBOL750       = NULL;
    COMMA_SYMBOL751       = NULL;
    DEFAULT_SYMBOL753       = NULL;
    CLOSE_PAR_SYMBOL754       = NULL;
    expression749.tree = NULL;

    expression752.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    OPEN_PAR_SYMBOL748_tree   = NULL;
    DEFAULT_SYMBOL750_tree   = NULL;
    COMMA_SYMBOL751_tree   = NULL;
    DEFAULT_SYMBOL753_tree   = NULL;
    CLOSE_PAR_SYMBOL754_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:785:7: ( OPEN_PAR_SYMBOL ( ( expression | DEFAULT_SYMBOL ) ( COMMA_SYMBOL ( expression | DEFAULT_SYMBOL ) )* )? CLOSE_PAR_SYMBOL )
        // MySQL.g:786:2: OPEN_PAR_SYMBOL ( ( expression | DEFAULT_SYMBOL ) ( COMMA_SYMBOL ( expression | DEFAULT_SYMBOL ) )* )? CLOSE_PAR_SYMBOL
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            OPEN_PAR_SYMBOL748 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_values3860);
            if  (HASEXCEPTION())
            {
                goto rulevaluesEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            OPEN_PAR_SYMBOL748_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL748));
            ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL748_tree);
            }

            // MySQL.g:786:18: ( ( expression | DEFAULT_SYMBOL ) ( COMMA_SYMBOL ( expression | DEFAULT_SYMBOL ) )* )?
            {
                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 >= ACTION_SYMBOL) && (LA256_0 <= PARTITION_SYMBOL)) || ((LA256_0 >= AT_AT_SIGN_SYMBOL) && (LA256_0 <= AT_SIGN_SYMBOL)) || 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 == DEFAULT_SYMBOL || LA256_0 == DOT_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 <= VALUES_SYMBOL)) || LA256_0 == VARIANCE_SYMBOL || LA256_0 == VAR_SAMP_SYMBOL))
                    {
                        alt256=1;
                    }
                }
                switch (alt256)
                {
            	case 1:
            	    // MySQL.g:786:19: ( expression | DEFAULT_SYMBOL ) ( COMMA_SYMBOL ( expression | DEFAULT_SYMBOL ) )*
            	    {
            	        // MySQL.g:786:19: ( expression | DEFAULT_SYMBOL )
            	        {
            	            int alt253=2;
            	            {
            	                int LA253_0 = LA(1);
            	                if ( (LA253_0 == BITWISE_NOT_OPERATOR || LA253_0 == INTERVAL_SYMBOL || LA253_0 == LOGICAL_NOT_OPERATOR || LA253_0 == MINUS_OPERATOR || LA253_0 == NCHAR_TEXT || LA253_0 == NOT2_SYMBOL || LA253_0 == NOT_SYMBOL || LA253_0 == PLUS_OPERATOR || LA253_0 == SINGLE_QUOTED_TEXT || LA253_0 == UNDERSCORE_CHARSET))
            	                {
            	                    alt253=1;
            	                }
            	                else if ( ((((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES)))||((!SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))))) && (LA253_0 == DOUBLE_QUOTED_TEXT))
            	                {
            	                    alt253=1;
            	                }
            	                else if ( (LA253_0 == FALSE_SYMBOL || LA253_0 == FLOAT || ((LA253_0 >= HEXNUMBER) && (LA253_0 <= HEXSTRING)) || LA253_0 == INTEGER || LA253_0 == TRUE_SYMBOL))
            	                {
            	                    alt253=1;
            	                }
            	                else if ( ((SERVER_VERSION >= 50003)) && (((LA253_0 >= BITNUMBER) && (LA253_0 <= BITSTRING))))
            	                {
            	                    alt253=1;
            	                }
            	                else if ( (((LA253_0 >= ACTION_SYMBOL) && (LA253_0 <= PARTITION_SYMBOL)) || ((LA253_0 >= AT_AT_SIGN_SYMBOL) && (LA253_0 <= AT_SIGN_SYMBOL)) || LA253_0 == BACK_TICK_QUOTED_ID || LA253_0 == BINARY_SYMBOL || ((LA253_0 >= BIT_AND_SYMBOL) && (LA253_0 <= BIT_XOR_SYMBOL)) || ((LA253_0 >= CASE_SYMBOL) && (LA253_0 <= CAST_SYMBOL)) || LA253_0 == CHAR_SYMBOL || ((LA253_0 >= CONVERT_SYMBOL) && (LA253_0 <= COUNT_SYMBOL)) || LA253_0 == CURDATE_SYMBOL || LA253_0 == CURRENT_USER_SYMBOL || LA253_0 == CURTIME_SYMBOL || LA253_0 == DATABASE_SYMBOL || LA253_0 == DATE_ADD_SYMBOL || LA253_0 == DATE_SUB_SYMBOL || LA253_0 == DOT_SYMBOL || LA253_0 == EXISTS_SYMBOL || LA253_0 == EXTRACT_SYMBOL || LA253_0 == GROUP_CONCAT_SYMBOL || ((LA253_0 >= IDENTIFIER) && (LA253_0 <= IF_SYMBOL)) || LA253_0 == INSERT_SYMBOL || LA253_0 == LEFT_SYMBOL || LA253_0 == MATCH_SYMBOL || LA253_0 == MAX_SYMBOL || LA253_0 == MIN_SYMBOL || LA253_0 == MOD_SYMBOL || LA253_0 == NOW_SYMBOL || LA253_0 == NULL2_SYMBOL || LA253_0 == NULL_SYMBOL || ((LA253_0 >= OPEN_CURLY_SYMBOL) && (LA253_0 <= OPEN_PAR_SYMBOL)) || LA253_0 == PARAM_MARKER || LA253_0 == POSITION_SYMBOL || ((LA253_0 >= REPEAT_SYMBOL) && (LA253_0 <= REPLACE_SYMBOL)) || LA253_0 == RIGHT_SYMBOL || LA253_0 == STDDEV_SAMP_SYMBOL || LA253_0 == STD_SYMBOL || LA253_0 == SUBSTRING_SYMBOL || ((LA253_0 >= SUM_SYMBOL) && (LA253_0 <= SYSDATE_SYMBOL)) || LA253_0 == TRIM_SYMBOL || ((LA253_0 >= UTC_DATE_SYMBOL) && (LA253_0 <= VALUES_SYMBOL)) || LA253_0 == VARIANCE_SYMBOL || LA253_0 == VAR_SAMP_SYMBOL))
            	                {
            	                    alt253=1;
            	                }
            	                else if ( (LA253_0 == DEFAULT_SYMBOL))
            	                {
            	                    alt253=2;
            	                }
            	                else
            	                {
            	                    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 rulevaluesEx;

            	                }
            	            }
            	            switch (alt253)
            	            {
            	        	case 1:
            	        	    // MySQL.g:786:20: expression
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_expression_in_values3864);
            	        	        expression749=expression(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulevaluesEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression749.tree);

            	        	    }
            	        	    break;
            	        	case 2:
            	        	    // MySQL.g:786:33: DEFAULT_SYMBOL
            	        	    {
            	        	        DEFAULT_SYMBOL750 = (pANTLR3_COMMON_TOKEN) MATCHT(DEFAULT_SYMBOL, &FOLLOW_DEFAULT_SYMBOL_in_values3868);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulevaluesEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        DEFAULT_SYMBOL750_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DEFAULT_SYMBOL750));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, DEFAULT_SYMBOL750_tree);
            	        	        }

            	        	    }
            	        	    break;

            	            }
            	        }

            	        // MySQL.g:786:49: ( COMMA_SYMBOL ( expression | DEFAULT_SYMBOL ) )*

            	        for (;;)
            	        {
            	            int alt255=2;
            	            switch ( LA(1) )
            	            {
            	            case COMMA_SYMBOL:
            	            	{
            	            		alt255=1;
            	            	}
            	                break;

            	            }

            	            switch (alt255)
            	            {
            	        	case 1:
            	        	    // MySQL.g:786:50: COMMA_SYMBOL ( expression | DEFAULT_SYMBOL )
            	        	    {
            	        	        COMMA_SYMBOL751 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_values3872);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulevaluesEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        COMMA_SYMBOL751_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL751));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL751_tree);
            	        	        }

            	        	        // MySQL.g:786:63: ( expression | DEFAULT_SYMBOL )
            	        	        {
            	        	            int alt254=2;
            	        	            {
            	        	                int LA254_0 = LA(1);
            	        	                if ( (LA254_0 == BITWISE_NOT_OPERATOR || LA254_0 == INTERVAL_SYMBOL || LA254_0 == LOGICAL_NOT_OPERATOR || LA254_0 == MINUS_OPERATOR || LA254_0 == NCHAR_TEXT || LA254_0 == NOT2_SYMBOL || LA254_0 == NOT_SYMBOL || LA254_0 == PLUS_OPERATOR || LA254_0 == SINGLE_QUOTED_TEXT || LA254_0 == UNDERSCORE_CHARSET))
            	        	                {
            	        	                    alt254=1;
            	        	                }
            	        	                else if ( ((((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES)))||((!SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))))) && (LA254_0 == DOUBLE_QUOTED_TEXT))
            	        	                {
            	        	                    alt254=1;
            	        	                }
            	        	                else if ( (LA254_0 == FALSE_SYMBOL || LA254_0 == FLOAT || ((LA254_0 >= HEXNUMBER) && (LA254_0 <= HEXSTRING)) || LA254_0 == INTEGER || LA254_0 == TRUE_SYMBOL))
            	        	                {
            	        	                    alt254=1;
            	        	                }
            	        	                else if ( ((SERVER_VERSION >= 50003)) && (((LA254_0 >= BITNUMBER) && (LA254_0 <= BITSTRING))))
            	        	                {
            	        	                    alt254=1;
            	        	                }
            	        	                else if ( (((LA254_0 >= ACTION_SYMBOL) && (LA254_0 <= PARTITION_SYMBOL)) || ((LA254_0 >= AT_AT_SIGN_SYMBOL) && (LA254_0 <= AT_SIGN_SYMBOL)) || LA254_0 == BACK_TICK_QUOTED_ID || LA254_0 == BINARY_SYMBOL || ((LA254_0 >= BIT_AND_SYMBOL) && (LA254_0 <= BIT_XOR_SYMBOL)) || ((LA254_0 >= CASE_SYMBOL) && (LA254_0 <= CAST_SYMBOL)) || LA254_0 == CHAR_SYMBOL || ((LA254_0 >= CONVERT_SYMBOL) && (LA254_0 <= COUNT_SYMBOL)) || LA254_0 == CURDATE_SYMBOL || LA254_0 == CURRENT_USER_SYMBOL || LA254_0 == CURTIME_SYMBOL || LA254_0 == DATABASE_SYMBOL || LA254_0 == DATE_ADD_SYMBOL || LA254_0 == DATE_SUB_SYMBOL || LA254_0 == DOT_SYMBOL || LA254_0 == EXISTS_SYMBOL || LA254_0 == EXTRACT_SYMBOL || LA254_0 == GROUP_CONCAT_SYMBOL || ((LA254_0 >= IDENTIFIER) && (LA254_0 <= IF_SYMBOL)) || LA254_0 == INSERT_SYMBOL || LA254_0 == LEFT_SYMBOL || LA254_0 == MATCH_SYMBOL || LA254_0 == MAX_SYMBOL || LA254_0 == MIN_SYMBOL || LA254_0 == MOD_SYMBOL || LA254_0 == NOW_SYMBOL || LA254_0 == NULL2_SYMBOL || LA254_0 == NULL_SYMBOL || ((LA254_0 >= OPEN_CURLY_SYMBOL) && (LA254_0 <= OPEN_PAR_SYMBOL)) || LA254_0 == PARAM_MARKER || LA254_0 == POSITION_SYMBOL || ((LA254_0 >= REPEAT_SYMBOL) && (LA254_0 <= REPLACE_SYMBOL)) || LA254_0 == RIGHT_SYMBOL || LA254_0 == STDDEV_SAMP_SYMBOL || LA254_0 == STD_SYMBOL || LA254_0 == SUBSTRING_SYMBOL || ((LA254_0 >= SUM_SYMBOL) && (LA254_0 <= SYSDATE_SYMBOL)) || LA254_0 == TRIM_SYMBOL || ((LA254_0 >= UTC_DATE_SYMBOL) && (LA254_0 <= VALUES_SYMBOL)) || LA254_0 == VARIANCE_SYMBOL || LA254_0 == VAR_SAMP_SYMBOL))
            	        	                {
            	        	                    alt254=1;
            	        	                }
            	        	                else if ( (LA254_0 == DEFAULT_SYMBOL))
            	        	                {
            	        	                    alt254=2;
            	        	                }
            	        	                else
            	        	                {
            	        	                    if (BACKTRACKING>0)
            	        	                    {
            	        	                        FAILEDFLAG = ANTLR3_TRUE;
            	        	                        return retval;
            	        	                    }


            	        	                    CONSTRUCTEX();
            	        	                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
            	        	                    EXCEPTION->message      = (void *)"";
            	        	                    EXCEPTION->decisionNum  = 254;
            	        	                    EXCEPTION->state        = 0;


            	        	                    goto rulevaluesEx;

            	        	                }
            	        	            }
            	        	            switch (alt254)
            	        	            {
            	        	        	case 1:
            	        	        	    // MySQL.g:786:64: expression
            	        	        	    {
            	        	        	        FOLLOWPUSH(FOLLOW_expression_in_values3875);
            	        	        	        expression752=expression(ctx);

            	        	        	        FOLLOWPOP();
            	        	        	        if  (HASEXCEPTION())
            	        	        	        {
            	        	        	            goto rulevaluesEx;
            	        	        	        }
            	        	        	        if (HASFAILED())
            	        	        	        {
            	        	        	            return retval;
            	        	        	        }

            	        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression752.tree);

            	        	        	    }
            	        	        	    break;
            	        	        	case 2:
            	        	        	    // MySQL.g:786:77: DEFAULT_SYMBOL
            	        	        	    {
            	        	        	        DEFAULT_SYMBOL753 = (pANTLR3_COMMON_TOKEN) MATCHT(DEFAULT_SYMBOL, &FOLLOW_DEFAULT_SYMBOL_in_values3879);
            	        	        	        if  (HASEXCEPTION())
            	        	        	        {
            	        	        	            goto rulevaluesEx;
            	        	        	        }
            	        	        	        if (HASFAILED())
            	        	        	        {
            	        	        	            return retval;
            	        	        	        }

            	        	        	        if ( BACKTRACKING==0 ) {
            	        	        	        DEFAULT_SYMBOL753_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DEFAULT_SYMBOL753));
            	        	        	        ADAPTOR->addChild(ADAPTOR, root_0, DEFAULT_SYMBOL753_tree);
            	        	        	        }

            	        	        	    }
            	        	        	    break;

            	        	            }
            	        	        }

            	        	    }
            	        	    break;

            	        	default:
            	        	    goto loop255;	/* break out of the loop */
            	        	    break;
            	            }
            	        }
            	        loop255: ; /* Jump out to here if this rule does not match */


            	    }
            	    break;

                }
            }

            CLOSE_PAR_SYMBOL754 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_values3886);
            if  (HASEXCEPTION())
            {
                goto rulevaluesEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            CLOSE_PAR_SYMBOL754_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL754));
            ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL754_tree);
            }

        }

    }

    // 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:789:1: duplicate_key_update : ON_SYMBOL DUPLICATE_SYMBOL KEY_SYMBOL UPDATE_SYMBOL column_assignment ( COMMA_SYMBOL column_assignment )* ;
 */
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_SYMBOL755;
    pANTLR3_COMMON_TOKEN    DUPLICATE_SYMBOL756;
    pANTLR3_COMMON_TOKEN    KEY_SYMBOL757;
    pANTLR3_COMMON_TOKEN    UPDATE_SYMBOL758;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL760;
    MySQLParser_column_assignment_return column_assignment759;
    #undef	RETURN_TYPE_column_assignment759
    #define	RETURN_TYPE_column_assignment759 MySQLParser_column_assignment_return

    MySQLParser_column_assignment_return column_assignment761;
    #undef	RETURN_TYPE_column_assignment761
    #define	RETURN_TYPE_column_assignment761 MySQLParser_column_assignment_return

    pANTLR3_BASE_TREE ON_SYMBOL755_tree;
    pANTLR3_BASE_TREE DUPLICATE_SYMBOL756_tree;
    pANTLR3_BASE_TREE KEY_SYMBOL757_tree;
    pANTLR3_BASE_TREE UPDATE_SYMBOL758_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL760_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    ON_SYMBOL755       = NULL;
    DUPLICATE_SYMBOL756       = NULL;
    KEY_SYMBOL757       = NULL;
    UPDATE_SYMBOL758       = NULL;
    COMMA_SYMBOL760       = NULL;
    column_assignment759.tree = NULL;

    column_assignment761.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    ON_SYMBOL755_tree   = NULL;
    DUPLICATE_SYMBOL756_tree   = NULL;
    KEY_SYMBOL757_tree   = NULL;
    UPDATE_SYMBOL758_tree   = NULL;
    COMMA_SYMBOL760_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:789:21: ( ON_SYMBOL DUPLICATE_SYMBOL KEY_SYMBOL UPDATE_SYMBOL column_assignment ( COMMA_SYMBOL column_assignment )* )
        // MySQL.g:790:2: ON_SYMBOL DUPLICATE_SYMBOL KEY_SYMBOL UPDATE_SYMBOL column_assignment ( COMMA_SYMBOL column_assignment )*
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            ON_SYMBOL755 = (pANTLR3_COMMON_TOKEN) MATCHT(ON_SYMBOL, &FOLLOW_ON_SYMBOL_in_duplicate_key_update3895);
            if  (HASEXCEPTION())
            {
                goto ruleduplicate_key_updateEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            ON_SYMBOL755_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ON_SYMBOL755));
            ADAPTOR->addChild(ADAPTOR, root_0, ON_SYMBOL755_tree);
            }

            DUPLICATE_SYMBOL756 = (pANTLR3_COMMON_TOKEN) MATCHT(DUPLICATE_SYMBOL, &FOLLOW_DUPLICATE_SYMBOL_in_duplicate_key_update3897);
            if  (HASEXCEPTION())
            {
                goto ruleduplicate_key_updateEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            DUPLICATE_SYMBOL756_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DUPLICATE_SYMBOL756));
            ADAPTOR->addChild(ADAPTOR, root_0, DUPLICATE_SYMBOL756_tree);
            }

            KEY_SYMBOL757 = (pANTLR3_COMMON_TOKEN) MATCHT(KEY_SYMBOL, &FOLLOW_KEY_SYMBOL_in_duplicate_key_update3899);
            if  (HASEXCEPTION())
            {
                goto ruleduplicate_key_updateEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            KEY_SYMBOL757_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, KEY_SYMBOL757));
            ADAPTOR->addChild(ADAPTOR, root_0, KEY_SYMBOL757_tree);
            }

            UPDATE_SYMBOL758 = (pANTLR3_COMMON_TOKEN) MATCHT(UPDATE_SYMBOL, &FOLLOW_UPDATE_SYMBOL_in_duplicate_key_update3901);
            if  (HASEXCEPTION())
            {
                goto ruleduplicate_key_updateEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            UPDATE_SYMBOL758_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, UPDATE_SYMBOL758));
            ADAPTOR->addChild(ADAPTOR, root_0, UPDATE_SYMBOL758_tree);
            }

            FOLLOWPUSH(FOLLOW_column_assignment_in_duplicate_key_update3903);
            column_assignment759=column_assignment(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruleduplicate_key_updateEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, column_assignment759.tree);

            // MySQL.g:790:72: ( COMMA_SYMBOL column_assignment )*

            for (;;)
            {
                int alt257=2;
                switch ( LA(1) )
                {
                case COMMA_SYMBOL:
                	{
                		alt257=1;
                	}
                    break;

                }

                switch (alt257)
                {
            	case 1:
            	    // MySQL.g:790:73: COMMA_SYMBOL column_assignment
            	    {
            	        COMMA_SYMBOL760 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_duplicate_key_update3906);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleduplicate_key_updateEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        COMMA_SYMBOL760_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL760));
            	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL760_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_column_assignment_in_duplicate_key_update3908);
            	        column_assignment761=column_assignment(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleduplicate_key_updateEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, column_assignment761.tree);

            	    }
            	    break;

            	default:
            	    goto loop257;	/* break out of the loop */
            	    break;
                }
            }
            loop257: ; /* Jump out to here if this rule does not match */


        }

    }

    // 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:795: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_identifier ( 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_SYMBOL762;
    pANTLR3_COMMON_TOKEN    set764;
    pANTLR3_COMMON_TOKEN    LOCAL_SYMBOL765;
    pANTLR3_COMMON_TOKEN    INFILE_SYMBOL766;
    pANTLR3_COMMON_TOKEN    set768;
    pANTLR3_COMMON_TOKEN    INTO_SYMBOL769;
    pANTLR3_COMMON_TOKEN    TABLE_SYMBOL770;
    MySQLParser_data_or_xml_return data_or_xml763;
    #undef	RETURN_TYPE_data_or_xml763
    #define	RETURN_TYPE_data_or_xml763 MySQLParser_data_or_xml_return

    MySQLParser_string_literal_return string_literal767;
    #undef	RETURN_TYPE_string_literal767
    #define	RETURN_TYPE_string_literal767 MySQLParser_string_literal_return

    MySQLParser_table_identifier_return table_identifier771;
    #undef	RETURN_TYPE_table_identifier771
    #define	RETURN_TYPE_table_identifier771 MySQLParser_table_identifier_return

    MySQLParser_use_partition_return use_partition772;
    #undef	RETURN_TYPE_use_partition772
    #define	RETURN_TYPE_use_partition772 MySQLParser_use_partition_return

    MySQLParser_charset_clause_return charset_clause773;
    #undef	RETURN_TYPE_charset_clause773
    #define	RETURN_TYPE_charset_clause773 MySQLParser_charset_clause_return

    MySQLParser_xml_rows_identified_by_return xml_rows_identified_by774;
    #undef	RETURN_TYPE_xml_rows_identified_by774
    #define	RETURN_TYPE_xml_rows_identified_by774 MySQLParser_xml_rows_identified_by_return

    MySQLParser_fields_clause_return fields_clause775;
    #undef	RETURN_TYPE_fields_clause775
    #define	RETURN_TYPE_fields_clause775 MySQLParser_fields_clause_return

    MySQLParser_lines_clause_return lines_clause776;
    #undef	RETURN_TYPE_lines_clause776
    #define	RETURN_TYPE_lines_clause776 MySQLParser_lines_clause_return

    MySQLParser_load_data_file_tail_return load_data_file_tail777;
    #undef	RETURN_TYPE_load_data_file_tail777
    #define	RETURN_TYPE_load_data_file_tail777 MySQLParser_load_data_file_tail_return

    pANTLR3_BASE_TREE LOAD_SYMBOL762_tree;
    pANTLR3_BASE_TREE set764_tree;
    pANTLR3_BASE_TREE LOCAL_SYMBOL765_tree;
    pANTLR3_BASE_TREE INFILE_SYMBOL766_tree;
    pANTLR3_BASE_TREE set768_tree;
    pANTLR3_BASE_TREE INTO_SYMBOL769_tree;
    pANTLR3_BASE_TREE TABLE_SYMBOL770_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    LOAD_SYMBOL762       = NULL;
    set764       = NULL;
    LOCAL_SYMBOL765       = NULL;
    INFILE_SYMBOL766       = NULL;
    set768       = NULL;
    INTO_SYMBOL769       = NULL;
    TABLE_SYMBOL770       = NULL;
    data_or_xml763.tree = NULL;

    string_literal767.tree = NULL;

    table_identifier771.tree = NULL;

    use_partition772.tree = NULL;

    charset_clause773.tree = NULL;

    xml_rows_identified_by774.tree = NULL;

    fields_clause775.tree = NULL;

    lines_clause776.tree = NULL;

    load_data_file_tail777.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    LOAD_SYMBOL762_tree   = NULL;
    set764_tree   = NULL;
    LOCAL_SYMBOL765_tree   = NULL;
    INFILE_SYMBOL766_tree   = NULL;
    set768_tree   = NULL;
    INTO_SYMBOL769_tree   = NULL;
    TABLE_SYMBOL770_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:795: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_identifier ( use_partition )? ( charset_clause )? ( xml_rows_identified_by )? ( fields_clause )? ( lines_clause )? load_data_file_tail )
        // MySQL.g:796: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_identifier ( 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_SYMBOL762 = (pANTLR3_COMMON_TOKEN) MATCHT(LOAD_SYMBOL, &FOLLOW_LOAD_SYMBOL_in_load_statement3921);
            if  (HASEXCEPTION())
            {
                goto ruleload_statementEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            LOAD_SYMBOL762_tree = 
            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, LOAD_SYMBOL762))
            ;
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, LOAD_SYMBOL762_tree, root_0));
            }

            FOLLOWPUSH(FOLLOW_data_or_xml_in_load_statement3924);
            data_or_xml763=data_or_xml(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruleload_statementEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, data_or_xml763.tree);

            // MySQL.g:796:27: ( LOW_PRIORITY_SYMBOL | CONCURRENT_SYMBOL )?
            {
                int alt258=2;
                switch ( LA(1) )
                {
                    case CONCURRENT_SYMBOL:
                    case LOW_PRIORITY_SYMBOL:
                    	{
                    		alt258=1;
                    	}
                        break;
                }

                switch (alt258)
                {
            	case 1:
            	    // MySQL.g:
            	    {
            	        set764=(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, set764))
            	            );
            	            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:796:70: ( LOCAL_SYMBOL )?
            {
                int alt259=2;
                switch ( LA(1) )
                {
                    case LOCAL_SYMBOL:
                    	{
                    		alt259=1;
                    	}
                        break;
                }

                switch (alt259)
                {
            	case 1:
            	    // MySQL.g:796:70: LOCAL_SYMBOL
            	    {
            	        LOCAL_SYMBOL765 = (pANTLR3_COMMON_TOKEN) MATCHT(LOCAL_SYMBOL, &FOLLOW_LOCAL_SYMBOL_in_load_statement3935);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleload_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        LOCAL_SYMBOL765_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, LOCAL_SYMBOL765));
            	        ADAPTOR->addChild(ADAPTOR, root_0, LOCAL_SYMBOL765_tree);
            	        }

            	    }
            	    break;

                }
            }

            INFILE_SYMBOL766 = (pANTLR3_COMMON_TOKEN) MATCHT(INFILE_SYMBOL, &FOLLOW_INFILE_SYMBOL_in_load_statement3938);
            if  (HASEXCEPTION())
            {
                goto ruleload_statementEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            INFILE_SYMBOL766_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INFILE_SYMBOL766));
            ADAPTOR->addChild(ADAPTOR, root_0, INFILE_SYMBOL766_tree);
            }

            FOLLOWPUSH(FOLLOW_string_literal_in_load_statement3940);
            string_literal767=string_literal(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruleload_statementEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_literal767.tree);

            // MySQL.g:797:3: ( REPLACE_SYMBOL | IGNORE_SYMBOL )?
            {
                int alt260=2;
                switch ( LA(1) )
                {
                    case IGNORE_SYMBOL:
                    case REPLACE_SYMBOL:
                    	{
                    		alt260=1;
                    	}
                        break;
                }

                switch (alt260)
                {
            	case 1:
            	    // MySQL.g:
            	    {
            	        set768=(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, set768))
            	            );
            	            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_SYMBOL769 = (pANTLR3_COMMON_TOKEN) MATCHT(INTO_SYMBOL, &FOLLOW_INTO_SYMBOL_in_load_statement3953);
            if  (HASEXCEPTION())
            {
                goto ruleload_statementEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            INTO_SYMBOL769_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INTO_SYMBOL769));
            ADAPTOR->addChild(ADAPTOR, root_0, INTO_SYMBOL769_tree);
            }

            TABLE_SYMBOL770 = (pANTLR3_COMMON_TOKEN) MATCHT(TABLE_SYMBOL, &FOLLOW_TABLE_SYMBOL_in_load_statement3955);
            if  (HASEXCEPTION())
            {
                goto ruleload_statementEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            TABLE_SYMBOL770_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, TABLE_SYMBOL770));
            ADAPTOR->addChild(ADAPTOR, root_0, TABLE_SYMBOL770_tree);
            }

            FOLLOWPUSH(FOLLOW_table_identifier_in_load_statement3957);
            table_identifier771=table_identifier(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruleload_statementEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, table_identifier771.tree);

            // MySQL.g:798:3: ( use_partition )?
            {
                int alt261=2;
                {
                    int LA261_0 = LA(1);
                    if ( ((SERVER_VERSION >= 50602)) && (LA261_0 == PARTITION_SYMBOL))
                    {
                        alt261=1;
                    }
                }
                switch (alt261)
                {
            	case 1:
            	    // MySQL.g:798:3: use_partition
            	    {
            	        FOLLOWPUSH(FOLLOW_use_partition_in_load_statement3961);
            	        use_partition772=use_partition(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleload_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, use_partition772.tree);

            	    }
            	    break;

                }
            }

            // MySQL.g:798:18: ( charset_clause )?
            {
                int alt262=2;
                switch ( LA(1) )
                {
                    case CHARSET_SYMBOL:
                    case CHAR_SYMBOL:
                    	{
                    		alt262=1;
                    	}
                        break;
                }

                switch (alt262)
                {
            	case 1:
            	    // MySQL.g:798:18: charset_clause
            	    {
            	        FOLLOWPUSH(FOLLOW_charset_clause_in_load_statement3964);
            	        charset_clause773=charset_clause(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleload_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, charset_clause773.tree);

            	    }
            	    break;

                }
            }

            // MySQL.g:799:3: ( xml_rows_identified_by )?
            {
                int alt263=2;
                {
                    int LA263_0 = LA(1);
                    if ( ((SERVER_VERSION >= 50500)) && (LA263_0 == ROWS_SYMBOL))
                    {
                        alt263=1;
                    }
                }
                switch (alt263)
                {
            	case 1:
            	    // MySQL.g:799:3: xml_rows_identified_by
            	    {
            	        FOLLOWPUSH(FOLLOW_xml_rows_identified_by_in_load_statement3969);
            	        xml_rows_identified_by774=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_by774.tree);

            	    }
            	    break;

                }
            }

            // MySQL.g:800:3: ( fields_clause )?
            {
                int alt264=2;
                switch ( LA(1) )
                {
                    case COLUMNS_SYMBOL:
                    	{
                    		alt264=1;
                    	}
                        break;
                }

                switch (alt264)
                {
            	case 1:
            	    // MySQL.g:800:3: fields_clause
            	    {
            	        FOLLOWPUSH(FOLLOW_fields_clause_in_load_statement3974);
            	        fields_clause775=fields_clause(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleload_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, fields_clause775.tree);

            	    }
            	    break;

                }
            }

            // MySQL.g:800:18: ( lines_clause )?
            {
                int alt265=2;
                switch ( LA(1) )
                {
                    case LINES_SYMBOL:
                    	{
                    		alt265=1;
                    	}
                        break;
                }

                switch (alt265)
                {
            	case 1:
            	    // MySQL.g:800:18: lines_clause
            	    {
            	        FOLLOWPUSH(FOLLOW_lines_clause_in_load_statement3977);
            	        lines_clause776=lines_clause(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleload_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, lines_clause776.tree);

            	    }
            	    break;

                }
            }

            FOLLOWPUSH(FOLLOW_load_data_file_tail_in_load_statement3982);
            load_data_file_tail777=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_tail777.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:804: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_SYMBOL778;
    pANTLR3_COMMON_TOKEN    XML_SYMBOL779;

    pANTLR3_BASE_TREE DATA_SYMBOL778_tree;
    pANTLR3_BASE_TREE XML_SYMBOL779_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    DATA_SYMBOL778       = NULL;
    XML_SYMBOL779       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    DATA_SYMBOL778_tree   = NULL;
    XML_SYMBOL779_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:804:12: ( DATA_SYMBOL |{...}? => XML_SYMBOL )

            ANTLR3_UINT32 alt266;

            alt266=2;

            {
                int LA266_0 = LA(1);
                if ( (LA266_0 == DATA_SYMBOL))
                {
                    alt266=1;
                }
                else if ( ((SERVER_VERSION >= 50500)) && (LA266_0 == XML_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 ruledata_or_xmlEx;

                }
            }
            switch (alt266)
            {
        	case 1:
        	    // MySQL.g:805:2: DATA_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        DATA_SYMBOL778 = (pANTLR3_COMMON_TOKEN) MATCHT(DATA_SYMBOL, &FOLLOW_DATA_SYMBOL_in_data_or_xml3991);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruledata_or_xmlEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        DATA_SYMBOL778_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DATA_SYMBOL778));
        	        ADAPTOR->addChild(ADAPTOR, root_0, DATA_SYMBOL778_tree);
        	        }

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:806: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_SYMBOL779 = (pANTLR3_COMMON_TOKEN) MATCHT(XML_SYMBOL, &FOLLOW_XML_SYMBOL_in_data_or_xml4000);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruledata_or_xmlEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        XML_SYMBOL779_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, XML_SYMBOL779));
        	        ADAPTOR->addChild(ADAPTOR, root_0, XML_SYMBOL779_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:809:1: xml_rows_identified_by :{...}? => ROWS_SYMBOL IDENTIFIED_SYMBOL BY_SYMBOL string_literal ;
 */
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_SYMBOL780;
    pANTLR3_COMMON_TOKEN    IDENTIFIED_SYMBOL781;
    pANTLR3_COMMON_TOKEN    BY_SYMBOL782;
    MySQLParser_string_literal_return string_literal783;
    #undef	RETURN_TYPE_string_literal783
    #define	RETURN_TYPE_string_literal783 MySQLParser_string_literal_return

    pANTLR3_BASE_TREE ROWS_SYMBOL780_tree;
    pANTLR3_BASE_TREE IDENTIFIED_SYMBOL781_tree;
    pANTLR3_BASE_TREE BY_SYMBOL782_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    ROWS_SYMBOL780       = NULL;
    IDENTIFIED_SYMBOL781       = NULL;
    BY_SYMBOL782       = NULL;
    string_literal783.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    ROWS_SYMBOL780_tree   = NULL;
    IDENTIFIED_SYMBOL781_tree   = NULL;
    BY_SYMBOL782_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:809:23: ({...}? => ROWS_SYMBOL IDENTIFIED_SYMBOL BY_SYMBOL string_literal )
        // MySQL.g:810:2: {...}? => ROWS_SYMBOL IDENTIFIED_SYMBOL BY_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 *)"xml_rows_identified_by";


            }

            ROWS_SYMBOL780 = (pANTLR3_COMMON_TOKEN) MATCHT(ROWS_SYMBOL, &FOLLOW_ROWS_SYMBOL_in_xml_rows_identified_by4013);
            if  (HASEXCEPTION())
            {
                goto rulexml_rows_identified_byEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            ROWS_SYMBOL780_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ROWS_SYMBOL780));
            ADAPTOR->addChild(ADAPTOR, root_0, ROWS_SYMBOL780_tree);
            }

            IDENTIFIED_SYMBOL781 = (pANTLR3_COMMON_TOKEN) MATCHT(IDENTIFIED_SYMBOL, &FOLLOW_IDENTIFIED_SYMBOL_in_xml_rows_identified_by4015);
            if  (HASEXCEPTION())
            {
                goto rulexml_rows_identified_byEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            IDENTIFIED_SYMBOL781_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, IDENTIFIED_SYMBOL781));
            ADAPTOR->addChild(ADAPTOR, root_0, IDENTIFIED_SYMBOL781_tree);
            }

            BY_SYMBOL782 = (pANTLR3_COMMON_TOKEN) MATCHT(BY_SYMBOL, &FOLLOW_BY_SYMBOL_in_xml_rows_identified_by4017);
            if  (HASEXCEPTION())
            {
                goto rulexml_rows_identified_byEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            BY_SYMBOL782_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, BY_SYMBOL782));
            ADAPTOR->addChild(ADAPTOR, root_0, BY_SYMBOL782_tree);
            }

            FOLLOWPUSH(FOLLOW_string_literal_in_xml_rows_identified_by4019);
            string_literal783=string_literal(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulexml_rows_identified_byEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_literal783.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:813: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_SYMBOL784;
    pANTLR3_COMMON_TOKEN    INTEGER785;
    pANTLR3_COMMON_TOKEN    set786;
    pANTLR3_COMMON_TOKEN    SET_SYMBOL788;
    MySQLParser_load_data_file_target_list_return load_data_file_target_list787;
    #undef	RETURN_TYPE_load_data_file_target_list787
    #define	RETURN_TYPE_load_data_file_target_list787 MySQLParser_load_data_file_target_list_return

    MySQLParser_column_assignment_list_with_default_return column_assignment_list_with_default789;
    #undef	RETURN_TYPE_column_assignment_list_with_default789
    #define	RETURN_TYPE_column_assignment_list_with_default789 MySQLParser_column_assignment_list_with_default_return

    pANTLR3_BASE_TREE IGNORE_SYMBOL784_tree;
    pANTLR3_BASE_TREE INTEGER785_tree;
    pANTLR3_BASE_TREE set786_tree;
    pANTLR3_BASE_TREE SET_SYMBOL788_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    IGNORE_SYMBOL784       = NULL;
    INTEGER785       = NULL;
    set786       = NULL;
    SET_SYMBOL788       = NULL;
    load_data_file_target_list787.tree = NULL;

    column_assignment_list_with_default789.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    IGNORE_SYMBOL784_tree   = NULL;
    INTEGER785_tree   = NULL;
    set786_tree   = NULL;
    SET_SYMBOL788_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:813:20: ( ( IGNORE_SYMBOL INTEGER ( LINES_SYMBOL | ROWS_SYMBOL ) )? ( load_data_file_target_list )? ( SET_SYMBOL column_assignment_list_with_default )? )
        // MySQL.g:814: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:814:2: ( IGNORE_SYMBOL INTEGER ( LINES_SYMBOL | ROWS_SYMBOL ) )?
            {
                int alt267=2;
                switch ( LA(1) )
                {
                    case IGNORE_SYMBOL:
                    	{
                    		alt267=1;
                    	}
                        break;
                }

                switch (alt267)
                {
            	case 1:
            	    // MySQL.g:814:3: IGNORE_SYMBOL INTEGER ( LINES_SYMBOL | ROWS_SYMBOL )
            	    {
            	        IGNORE_SYMBOL784 = (pANTLR3_COMMON_TOKEN) MATCHT(IGNORE_SYMBOL, &FOLLOW_IGNORE_SYMBOL_in_load_data_file_tail4029);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleload_data_file_tailEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        IGNORE_SYMBOL784_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, IGNORE_SYMBOL784));
            	        ADAPTOR->addChild(ADAPTOR, root_0, IGNORE_SYMBOL784_tree);
            	        }

            	        INTEGER785 = (pANTLR3_COMMON_TOKEN) MATCHT(INTEGER, &FOLLOW_INTEGER_in_load_data_file_tail4031);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleload_data_file_tailEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        INTEGER785_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INTEGER785));
            	        ADAPTOR->addChild(ADAPTOR, root_0, INTEGER785_tree);
            	        }

            	        set786=(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, set786))
            	            );
            	            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:814:56: ( load_data_file_target_list )?
            {
                int alt268=2;
                switch ( LA(1) )
                {
                    case OPEN_PAR_SYMBOL:
                    	{
                    		alt268=1;
                    	}
                        break;
                }

                switch (alt268)
                {
            	case 1:
            	    // MySQL.g:814:56: load_data_file_target_list
            	    {
            	        FOLLOWPUSH(FOLLOW_load_data_file_target_list_in_load_data_file_tail4043);
            	        load_data_file_target_list787=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_list787.tree);

            	    }
            	    break;

                }
            }

            // MySQL.g:814:84: ( SET_SYMBOL column_assignment_list_with_default )?
            {
                int alt269=2;
                switch ( LA(1) )
                {
                    case SET_SYMBOL:
                    	{
                    		alt269=1;
                    	}
                        break;
                }

                switch (alt269)
                {
            	case 1:
            	    // MySQL.g:814:85: SET_SYMBOL column_assignment_list_with_default
            	    {
            	        SET_SYMBOL788 = (pANTLR3_COMMON_TOKEN) MATCHT(SET_SYMBOL, &FOLLOW_SET_SYMBOL_in_load_data_file_tail4047);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleload_data_file_tailEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        SET_SYMBOL788_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SET_SYMBOL788));
            	        ADAPTOR->addChild(ADAPTOR, root_0, SET_SYMBOL788_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_column_assignment_list_with_default_in_load_data_file_tail4049);
            	        column_assignment_list_with_default789=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_default789.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:817: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_SYMBOL790;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL792;
    MySQLParser_field_or_variable_list_return field_or_variable_list791;
    #undef	RETURN_TYPE_field_or_variable_list791
    #define	RETURN_TYPE_field_or_variable_list791 MySQLParser_field_or_variable_list_return

    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL790_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL792_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    OPEN_PAR_SYMBOL790       = NULL;
    CLOSE_PAR_SYMBOL792       = NULL;
    field_or_variable_list791.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    OPEN_PAR_SYMBOL790_tree   = NULL;
    CLOSE_PAR_SYMBOL792_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:817:27: ( OPEN_PAR_SYMBOL ( field_or_variable_list )? CLOSE_PAR_SYMBOL )
        // MySQL.g:818:2: OPEN_PAR_SYMBOL ( field_or_variable_list )? CLOSE_PAR_SYMBOL
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            OPEN_PAR_SYMBOL790 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_load_data_file_target_list4060);
            if  (HASEXCEPTION())
            {
                goto ruleload_data_file_target_listEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            OPEN_PAR_SYMBOL790_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL790));
            ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL790_tree);
            }

            // MySQL.g:818:18: ( field_or_variable_list )?
            {
                int alt270=2;
                {
                    int LA270_0 = LA(1);
                    if ( (LA270_0 == BACK_TICK_QUOTED_ID || LA270_0 == IDENTIFIER))
                    {
                        alt270=1;
                    }
                    else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA270_0 == DOUBLE_QUOTED_TEXT))
                    {
                        alt270=1;
                    }
                    else if ( (((LA270_0 >= ACTION_SYMBOL) && (LA270_0 <= PARTITION_SYMBOL)) || LA270_0 == AT_SIGN_SYMBOL || LA270_0 == DOT_SYMBOL))
                    {
                        alt270=1;
                    }
                }
                switch (alt270)
                {
            	case 1:
            	    // MySQL.g:818:18: field_or_variable_list
            	    {
            	        FOLLOWPUSH(FOLLOW_field_or_variable_list_in_load_data_file_target_list4062);
            	        field_or_variable_list791=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_list791.tree);

            	    }
            	    break;

                }
            }

            CLOSE_PAR_SYMBOL792 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_load_data_file_target_list4065);
            if  (HASEXCEPTION())
            {
                goto ruleload_data_file_target_listEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            CLOSE_PAR_SYMBOL792_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL792));
            ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL792_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:821:1: field_or_variable_list : ( field_name | user_variable ) ( COMMA_SYMBOL ( field_name | 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_SYMBOL795;
    MySQLParser_field_name_return field_name793;
    #undef	RETURN_TYPE_field_name793
    #define	RETURN_TYPE_field_name793 MySQLParser_field_name_return

    MySQLParser_user_variable_return user_variable794;
    #undef	RETURN_TYPE_user_variable794
    #define	RETURN_TYPE_user_variable794 MySQLParser_user_variable_return

    MySQLParser_field_name_return field_name796;
    #undef	RETURN_TYPE_field_name796
    #define	RETURN_TYPE_field_name796 MySQLParser_field_name_return

    MySQLParser_user_variable_return user_variable797;
    #undef	RETURN_TYPE_user_variable797
    #define	RETURN_TYPE_user_variable797 MySQLParser_user_variable_return

    pANTLR3_BASE_TREE COMMA_SYMBOL795_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    COMMA_SYMBOL795       = NULL;
    field_name793.tree = NULL;

    user_variable794.tree = NULL;

    field_name796.tree = NULL;

    user_variable797.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    COMMA_SYMBOL795_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:821:23: ( ( field_name | user_variable ) ( COMMA_SYMBOL ( field_name | user_variable ) )* )
        // MySQL.g:822:2: ( field_name | user_variable ) ( COMMA_SYMBOL ( field_name | user_variable ) )*
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            // MySQL.g:822:2: ( field_name | user_variable )
            {
                int alt271=2;
                {
                    int LA271_0 = LA(1);
                    if ( (LA271_0 == BACK_TICK_QUOTED_ID || LA271_0 == IDENTIFIER))
                    {
                        alt271=1;
                    }
                    else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA271_0 == DOUBLE_QUOTED_TEXT))
                    {
                        alt271=1;
                    }
                    else if ( (((LA271_0 >= ACTION_SYMBOL) && (LA271_0 <= PARTITION_SYMBOL)) || LA271_0 == DOT_SYMBOL))
                    {
                        alt271=1;
                    }
                    else if ( (LA271_0 == AT_SIGN_SYMBOL))
                    {
                        alt271=2;
                    }
                    else
                    {
                        if (BACKTRACKING>0)
                        {
                            FAILEDFLAG = ANTLR3_TRUE;
                            return retval;
                        }


                        CONSTRUCTEX();
                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                        EXCEPTION->message      = (void *)"";
                        EXCEPTION->decisionNum  = 271;
                        EXCEPTION->state        = 0;


                        goto rulefield_or_variable_listEx;

                    }
                }
                switch (alt271)
                {
            	case 1:
            	    // MySQL.g:822:3: field_name
            	    {
            	        FOLLOWPUSH(FOLLOW_field_name_in_field_or_variable_list4075);
            	        field_name793=field_name(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulefield_or_variable_listEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, field_name793.tree);

            	    }
            	    break;
            	case 2:
            	    // MySQL.g:822:16: user_variable
            	    {
            	        FOLLOWPUSH(FOLLOW_user_variable_in_field_or_variable_list4079);
            	        user_variable794=user_variable(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulefield_or_variable_listEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, user_variable794.tree);

            	    }
            	    break;

                }
            }

            // MySQL.g:822:31: ( COMMA_SYMBOL ( field_name | user_variable ) )*

            for (;;)
            {
                int alt273=2;
                switch ( LA(1) )
                {
                case COMMA_SYMBOL:
                	{
                		alt273=1;
                	}
                    break;

                }

                switch (alt273)
                {
            	case 1:
            	    // MySQL.g:822:32: COMMA_SYMBOL ( field_name | user_variable )
            	    {
            	        COMMA_SYMBOL795 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_field_or_variable_list4083);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulefield_or_variable_listEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        COMMA_SYMBOL795_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL795));
            	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL795_tree);
            	        }

            	        // MySQL.g:822:45: ( field_name | user_variable )
            	        {
            	            int alt272=2;
            	            {
            	                int LA272_0 = LA(1);
            	                if ( (LA272_0 == BACK_TICK_QUOTED_ID || LA272_0 == IDENTIFIER))
            	                {
            	                    alt272=1;
            	                }
            	                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA272_0 == DOUBLE_QUOTED_TEXT))
            	                {
            	                    alt272=1;
            	                }
            	                else if ( (((LA272_0 >= ACTION_SYMBOL) && (LA272_0 <= PARTITION_SYMBOL)) || LA272_0 == DOT_SYMBOL))
            	                {
            	                    alt272=1;
            	                }
            	                else if ( (LA272_0 == AT_SIGN_SYMBOL))
            	                {
            	                    alt272=2;
            	                }
            	                else
            	                {
            	                    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 rulefield_or_variable_listEx;

            	                }
            	            }
            	            switch (alt272)
            	            {
            	        	case 1:
            	        	    // MySQL.g:822:46: field_name
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_field_name_in_field_or_variable_list4086);
            	        	        field_name796=field_name(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulefield_or_variable_listEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, field_name796.tree);

            	        	    }
            	        	    break;
            	        	case 2:
            	        	    // MySQL.g:822:59: user_variable
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_user_variable_in_field_or_variable_list4090);
            	        	        user_variable797=user_variable(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulefield_or_variable_listEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, user_variable797.tree);

            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;

            	default:
            	    goto loop273;	/* break out of the loop */
            	    break;
                }
            }
            loop273: ; /* 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:827:1: replace_statement : REPLACE_SYMBOL ^ ( LOW_PRIORITY_SYMBOL | DELAYED_SYMBOL )? ( INTO_SYMBOL )? table_identifier ( 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_SYMBOL798;
    pANTLR3_COMMON_TOKEN    set799;
    pANTLR3_COMMON_TOKEN    INTO_SYMBOL800;
    MySQLParser_table_identifier_return table_identifier801;
    #undef	RETURN_TYPE_table_identifier801
    #define	RETURN_TYPE_table_identifier801 MySQLParser_table_identifier_return

    MySQLParser_use_partition_return use_partition802;
    #undef	RETURN_TYPE_use_partition802
    #define	RETURN_TYPE_use_partition802 MySQLParser_use_partition_return

    MySQLParser_insert_field_spec_return insert_field_spec803;
    #undef	RETURN_TYPE_insert_field_spec803
    #define	RETURN_TYPE_insert_field_spec803 MySQLParser_insert_field_spec_return

    pANTLR3_BASE_TREE REPLACE_SYMBOL798_tree;
    pANTLR3_BASE_TREE set799_tree;
    pANTLR3_BASE_TREE INTO_SYMBOL800_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    REPLACE_SYMBOL798       = NULL;
    set799       = NULL;
    INTO_SYMBOL800       = NULL;
    table_identifier801.tree = NULL;

    use_partition802.tree = NULL;

    insert_field_spec803.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    REPLACE_SYMBOL798_tree   = NULL;
    set799_tree   = NULL;
    INTO_SYMBOL800_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:827:18: ( REPLACE_SYMBOL ^ ( LOW_PRIORITY_SYMBOL | DELAYED_SYMBOL )? ( INTO_SYMBOL )? table_identifier ( use_partition )? insert_field_spec )
        // MySQL.g:828:2: REPLACE_SYMBOL ^ ( LOW_PRIORITY_SYMBOL | DELAYED_SYMBOL )? ( INTO_SYMBOL )? table_identifier ( use_partition )? insert_field_spec
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            REPLACE_SYMBOL798 = (pANTLR3_COMMON_TOKEN) MATCHT(REPLACE_SYMBOL, &FOLLOW_REPLACE_SYMBOL_in_replace_statement4104);
            if  (HASEXCEPTION())
            {
                goto rulereplace_statementEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            REPLACE_SYMBOL798_tree = 
            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, REPLACE_SYMBOL798))
            ;
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, REPLACE_SYMBOL798_tree, root_0));
            }

            // MySQL.g:828:18: ( LOW_PRIORITY_SYMBOL | DELAYED_SYMBOL )?
            {
                int alt274=2;
                switch ( LA(1) )
                {
                    case DELAYED_SYMBOL:
                    case LOW_PRIORITY_SYMBOL:
                    	{
                    		alt274=1;
                    	}
                        break;
                }

                switch (alt274)
                {
            	case 1:
            	    // MySQL.g:
            	    {
            	        set799=(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, set799))
            	            );
            	            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:828:58: ( INTO_SYMBOL )?
            {
                int alt275=2;
                switch ( LA(1) )
                {
                    case INTO_SYMBOL:
                    	{
                    		alt275=1;
                    	}
                        break;
                }

                switch (alt275)
                {
            	case 1:
            	    // MySQL.g:828:58: INTO_SYMBOL
            	    {
            	        INTO_SYMBOL800 = (pANTLR3_COMMON_TOKEN) MATCHT(INTO_SYMBOL, &FOLLOW_INTO_SYMBOL_in_replace_statement4116);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulereplace_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        INTO_SYMBOL800_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INTO_SYMBOL800));
            	        ADAPTOR->addChild(ADAPTOR, root_0, INTO_SYMBOL800_tree);
            	        }

            	    }
            	    break;

                }
            }

            FOLLOWPUSH(FOLLOW_table_identifier_in_replace_statement4119);
            table_identifier801=table_identifier(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulereplace_statementEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, table_identifier801.tree);

            // MySQL.g:829:3: ( use_partition )?
            {
                int alt276=2;
                {
                    int LA276_0 = LA(1);
                    if ( ((SERVER_VERSION >= 50602)) && (LA276_0 == PARTITION_SYMBOL))
                    {
                        alt276=1;
                    }
                }
                switch (alt276)
                {
            	case 1:
            	    // MySQL.g:829:3: use_partition
            	    {
            	        FOLLOWPUSH(FOLLOW_use_partition_in_replace_statement4123);
            	        use_partition802=use_partition(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulereplace_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, use_partition802.tree);

            	    }
            	    break;

                }
            }

            FOLLOWPUSH(FOLLOW_insert_field_spec_in_replace_statement4126);
            insert_field_spec803=insert_field_spec(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulereplace_statementEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, insert_field_spec803.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:834: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_SYMBOL804;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL807;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL809;
    MySQLParser_select_part2_return select_part2805;
    #undef	RETURN_TYPE_select_part2805
    #define	RETURN_TYPE_select_part2805 MySQLParser_select_part2_return

    MySQLParser_union_clause_return union_clause806;
    #undef	RETURN_TYPE_union_clause806
    #define	RETURN_TYPE_union_clause806 MySQLParser_union_clause_return

    MySQLParser_select_paren_return select_paren808;
    #undef	RETURN_TYPE_select_paren808
    #define	RETURN_TYPE_select_paren808 MySQLParser_select_paren_return

    MySQLParser_union_or_order_by_or_limit_return union_or_order_by_or_limit810;
    #undef	RETURN_TYPE_union_or_order_by_or_limit810
    #define	RETURN_TYPE_union_or_order_by_or_limit810 MySQLParser_union_or_order_by_or_limit_return

    pANTLR3_BASE_TREE SELECT_SYMBOL804_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL807_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL809_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    SELECT_SYMBOL804       = NULL;
    OPEN_PAR_SYMBOL807       = NULL;
    CLOSE_PAR_SYMBOL809       = NULL;
    select_part2805.tree = NULL;

    union_clause806.tree = NULL;

    select_paren808.tree = NULL;

    union_or_order_by_or_limit810.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    SELECT_SYMBOL804_tree   = NULL;
    OPEN_PAR_SYMBOL807_tree   = NULL;
    CLOSE_PAR_SYMBOL809_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:834:17: ( SELECT_SYMBOL ^ select_part2 ( union_clause )? | OPEN_PAR_SYMBOL select_paren CLOSE_PAR_SYMBOL ( union_or_order_by_or_limit )? )

            ANTLR3_UINT32 alt279;

            alt279=2;

            switch ( LA(1) )
            {
            case SELECT_SYMBOL:
            	{
            		alt279=1;
            	}
                break;
            case OPEN_PAR_SYMBOL:
            	{
            		alt279=2;
            	}
                break;

            default:
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                EXCEPTION->message      = (void *)"";
                EXCEPTION->decisionNum  = 279;
                EXCEPTION->state        = 0;


                goto ruleselect_statementEx;

            }

            switch (alt279)
            {
        	case 1:
        	    // MySQL.g:835:2: SELECT_SYMBOL ^ select_part2 ( union_clause )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        SELECT_SYMBOL804 = (pANTLR3_COMMON_TOKEN) MATCHT(SELECT_SYMBOL, &FOLLOW_SELECT_SYMBOL_in_select_statement4137);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleselect_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        SELECT_SYMBOL804_tree = 
        	        (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SELECT_SYMBOL804))
        	        ;
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, SELECT_SYMBOL804_tree, root_0));
        	        }

        	        FOLLOWPUSH(FOLLOW_select_part2_in_select_statement4140);
        	        select_part2805=select_part2(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleselect_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, select_part2805.tree);

        	        // MySQL.g:835:30: ( union_clause )?
        	        {
        	            int alt277=2;
        	            switch ( LA(1) )
        	            {
        	                case UNION_SYMBOL:
        	                	{
        	                		alt277=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt277)
        	            {
        	        	case 1:
        	        	    // MySQL.g:835:30: union_clause
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_union_clause_in_select_statement4142);
        	        	        union_clause806=union_clause(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleselect_statementEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, union_clause806.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:836: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_SYMBOL807 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_select_statement4148);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleselect_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL807_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL807));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL807_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_select_paren_in_select_statement4150);
        	        select_paren808=select_paren(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleselect_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, select_paren808.tree);

        	        CLOSE_PAR_SYMBOL809 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_select_statement4152);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleselect_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL809_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL809));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL809_tree);
        	        }

        	        // MySQL.g:836:50: ( union_or_order_by_or_limit )?
        	        {
        	            int alt278=2;
        	            switch ( LA(1) )
        	            {
        	                case LIMIT_SYMBOL:
        	                case ORDER_SYMBOL:
        	                case UNION_SYMBOL:
        	                	{
        	                		alt278=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt278)
        	            {
        	        	case 1:
        	        	    // MySQL.g:836:50: union_or_order_by_or_limit
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_union_or_order_by_or_limit_in_select_statement4154);
        	        	        union_or_order_by_or_limit810=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_limit810.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:839: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_SYMBOL811;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL813;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL815;
    MySQLParser_select_part2_return select_part2812;
    #undef	RETURN_TYPE_select_part2812
    #define	RETURN_TYPE_select_part2812 MySQLParser_select_part2_return

    MySQLParser_select_paren_return select_paren814;
    #undef	RETURN_TYPE_select_paren814
    #define	RETURN_TYPE_select_paren814 MySQLParser_select_paren_return

    pANTLR3_BASE_TREE SELECT_SYMBOL811_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL813_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL815_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    SELECT_SYMBOL811       = NULL;
    OPEN_PAR_SYMBOL813       = NULL;
    CLOSE_PAR_SYMBOL815       = NULL;
    select_part2812.tree = NULL;

    select_paren814.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    SELECT_SYMBOL811_tree   = NULL;
    OPEN_PAR_SYMBOL813_tree   = NULL;
    CLOSE_PAR_SYMBOL815_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:839:13: ( SELECT_SYMBOL ^ select_part2 | OPEN_PAR_SYMBOL select_paren CLOSE_PAR_SYMBOL )

            ANTLR3_UINT32 alt280;

            alt280=2;

            switch ( LA(1) )
            {
            case SELECT_SYMBOL:
            	{
            		alt280=1;
            	}
                break;
            case OPEN_PAR_SYMBOL:
            	{
            		alt280=2;
            	}
                break;

            default:
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                EXCEPTION->message      = (void *)"";
                EXCEPTION->decisionNum  = 280;
                EXCEPTION->state        = 0;


                goto ruleselect_parenEx;

            }

            switch (alt280)
            {
        	case 1:
        	    // MySQL.g:840:2: SELECT_SYMBOL ^ select_part2
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        SELECT_SYMBOL811 = (pANTLR3_COMMON_TOKEN) MATCHT(SELECT_SYMBOL, &FOLLOW_SELECT_SYMBOL_in_select_paren4164);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleselect_parenEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        SELECT_SYMBOL811_tree = 
        	        (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SELECT_SYMBOL811))
        	        ;
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, SELECT_SYMBOL811_tree, root_0));
        	        }

        	        FOLLOWPUSH(FOLLOW_select_part2_in_select_paren4167);
        	        select_part2812=select_part2(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleselect_parenEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, select_part2812.tree);

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:841:4: OPEN_PAR_SYMBOL select_paren CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        OPEN_PAR_SYMBOL813 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_select_paren4172);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleselect_parenEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL813_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL813));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL813_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_select_paren_in_select_paren4174);
        	        select_paren814=select_paren(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleselect_parenEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, select_paren814.tree);

        	        CLOSE_PAR_SYMBOL815 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_select_paren4176);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleselect_parenEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL815_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL815));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL815_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_part2
 * MySQL.g:844:1: select_part2 : ( options {greedy=true; } : select_option )* select_item_list ( select_source_and_options )? ( 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_option816;
    #undef	RETURN_TYPE_select_option816
    #define	RETURN_TYPE_select_option816 MySQLParser_select_option_return

    MySQLParser_select_item_list_return select_item_list817;
    #undef	RETURN_TYPE_select_item_list817
    #define	RETURN_TYPE_select_item_list817 MySQLParser_select_item_list_return

    MySQLParser_select_source_and_options_return select_source_and_options818;
    #undef	RETURN_TYPE_select_source_and_options818
    #define	RETURN_TYPE_select_source_and_options818 MySQLParser_select_source_and_options_return

    MySQLParser_select_lock_type_return select_lock_type819;
    #undef	RETURN_TYPE_select_lock_type819
    #define	RETURN_TYPE_select_lock_type819 MySQLParser_select_lock_type_return


    /* Initialize rule variables
     */

    root_0 = NULL;

    select_option816.tree = NULL;

    select_item_list817.tree = NULL;

    select_source_and_options818.tree = NULL;

    select_lock_type819.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;




    retval.tree  = NULL;

    {
        // MySQL.g:844:13: ( ( options {greedy=true; } : select_option )* select_item_list ( select_source_and_options )? ( select_lock_type )? )
        // MySQL.g:845:2: ( options {greedy=true; } : select_option )* select_item_list ( select_source_and_options )? ( select_lock_type )?
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            // MySQL.g:845:2: ( options {greedy=true; } : select_option )*

            for (;;)
            {
                int alt281=2;
                switch ( LA(1) )
                {
                case SQL_BUFFER_RESULT_SYMBOL:
                	{
                		alt281=1;
                	}
                    break;
                case SQL_NO_CACHE_SYMBOL:
                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:
                	{
                		alt281=1;
                	}
                    break;
                case SQL_CACHE_SYMBOL:
                	{
                		alt281=1;
                	}
                    break;

                }

                switch (alt281)
                {
            	case 1:
            	    // MySQL.g:845:32: select_option
            	    {
            	        FOLLOWPUSH(FOLLOW_select_option_in_select_part24199);
            	        select_option816=select_option(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleselect_part2Ex;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, select_option816.tree);

            	    }
            	    break;

            	default:
            	    goto loop281;	/* break out of the loop */
            	    break;
                }
            }
            loop281: ; /* Jump out to here if this rule does not match */


            FOLLOWPUSH(FOLLOW_select_item_list_in_select_part24203);
            select_item_list817=select_item_list(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruleselect_part2Ex;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, select_item_list817.tree);

            // MySQL.g:845:65: ( select_source_and_options )?
            {
                int alt282=2;
                switch ( LA(1) )
                {
                    case FROM_SYMBOL:
                    case INTO_SYMBOL:
                    case LIMIT_SYMBOL:
                    	{
                    		alt282=1;
                    	}
                        break;
                }

                switch (alt282)
                {
            	case 1:
            	    // MySQL.g:845:65: select_source_and_options
            	    {
            	        FOLLOWPUSH(FOLLOW_select_source_and_options_in_select_part24205);
            	        select_source_and_options818=select_source_and_options(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleselect_part2Ex;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, select_source_and_options818.tree);

            	    }
            	    break;

                }
            }

            // MySQL.g:845:92: ( select_lock_type )?
            {
                int alt283=2;
                switch ( LA(1) )
                {
                    case FOR_SYMBOL:
                    case LOCK_SYMBOL:
                    	{
                    		alt283=1;
                    	}
                        break;
                }

                switch (alt283)
                {
            	case 1:
            	    // MySQL.g:845:92: select_lock_type
            	    {
            	        FOLLOWPUSH(FOLLOW_select_lock_type_in_select_part24208);
            	        select_lock_type819=select_lock_type(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleselect_part2Ex;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, select_lock_type819.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 subquery
 * MySQL.g:848:1: subquery : OPEN_PAR_SYMBOL SELECT_SYMBOL select_part2_derived ( union_clause )? CLOSE_PAR_SYMBOL -> ^( SUBQUERY OPEN_PAR_SYMBOL SELECT_SYMBOL select_part2_derived ( union_clause )? CLOSE_PAR_SYMBOL ) ;
 */
static MySQLParser_subquery_return
subquery(pMySQLParser ctx)
{
    MySQLParser_subquery_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL820;
    pANTLR3_COMMON_TOKEN    SELECT_SYMBOL821;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL824;
    MySQLParser_select_part2_derived_return select_part2_derived822;
    #undef	RETURN_TYPE_select_part2_derived822
    #define	RETURN_TYPE_select_part2_derived822 MySQLParser_select_part2_derived_return

    MySQLParser_union_clause_return union_clause823;
    #undef	RETURN_TYPE_union_clause823
    #define	RETURN_TYPE_union_clause823 MySQLParser_union_clause_return

    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL820_tree;
    pANTLR3_BASE_TREE SELECT_SYMBOL821_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL824_tree;
    pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_CLOSE_PAR_SYMBOL;
    pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_OPEN_PAR_SYMBOL;
    pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_SELECT_SYMBOL;
    pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_select_part2_derived;
    pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_union_clause;
    /* Initialize rule variables
     */

    root_0 = NULL;

    OPEN_PAR_SYMBOL820       = NULL;
    SELECT_SYMBOL821       = NULL;
    CLOSE_PAR_SYMBOL824       = NULL;
    select_part2_derived822.tree = NULL;

    union_clause823.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    OPEN_PAR_SYMBOL820_tree   = NULL;
    SELECT_SYMBOL821_tree   = NULL;
    CLOSE_PAR_SYMBOL824_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_SELECT_SYMBOL   = NULL;
    #define CREATE_stream_SELECT_SYMBOL  if (stream_SELECT_SYMBOL == NULL) {stream_SELECT_SYMBOL = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token SELECT_SYMBOL"); } 
    stream_select_part2_derived   = NULL;
    #define CREATE_stream_select_part2_derived  if (stream_select_part2_derived == NULL) {stream_select_part2_derived = antlr3RewriteRuleSubtreeStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"rule select_part2_derived"); }
    stream_union_clause   = NULL;
    #define CREATE_stream_union_clause  if (stream_union_clause == NULL) {stream_union_clause = antlr3RewriteRuleSubtreeStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"rule union_clause"); }

    retval.tree  = NULL;

    {
        // MySQL.g:848:9: ( OPEN_PAR_SYMBOL SELECT_SYMBOL select_part2_derived ( union_clause )? CLOSE_PAR_SYMBOL -> ^( SUBQUERY OPEN_PAR_SYMBOL SELECT_SYMBOL select_part2_derived ( union_clause )? CLOSE_PAR_SYMBOL ) )
        // MySQL.g:849:2: OPEN_PAR_SYMBOL SELECT_SYMBOL select_part2_derived ( union_clause )? CLOSE_PAR_SYMBOL
        {
            OPEN_PAR_SYMBOL820 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_subquery4218);
            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_SYMBOL820, NULL); }


            SELECT_SYMBOL821 = (pANTLR3_COMMON_TOKEN) MATCHT(SELECT_SYMBOL, &FOLLOW_SELECT_SYMBOL_in_subquery4220);
            if  (HASEXCEPTION())
            {
                goto rulesubqueryEx;
            }
            if (HASFAILED())
            {
                return retval;
            }
             
            if ( BACKTRACKING==0 ) { CREATE_stream_SELECT_SYMBOL; stream_SELECT_SYMBOL->add(stream_SELECT_SYMBOL, SELECT_SYMBOL821, NULL); }


            FOLLOWPUSH(FOLLOW_select_part2_derived_in_subquery4222);
            select_part2_derived822=select_part2_derived(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulesubqueryEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) { CREATE_stream_select_part2_derived; stream_select_part2_derived->add(stream_select_part2_derived, select_part2_derived822.tree, NULL); }

            // MySQL.g:849:53: ( union_clause )?
            {
                int alt284=2;
                switch ( LA(1) )
                {
                    case UNION_SYMBOL:
                    	{
                    		alt284=1;
                    	}
                        break;
                }

                switch (alt284)
                {
            	case 1:
            	    // MySQL.g:849:53: union_clause
            	    {
            	        FOLLOWPUSH(FOLLOW_union_clause_in_subquery4224);
            	        union_clause823=union_clause(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulesubqueryEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) { CREATE_stream_union_clause; stream_union_clause->add(stream_union_clause, union_clause823.tree, NULL); }

            	    }
            	    break;

                }
            }

            CLOSE_PAR_SYMBOL824 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_subquery4227);
            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_SYMBOL824, NULL); }


            /* AST REWRITE
             * elements          : CLOSE_PAR_SYMBOL, union_clause, select_part2_derived, SELECT_SYMBOL, OPEN_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;
            	// 850:3: -> ^( SUBQUERY OPEN_PAR_SYMBOL SELECT_SYMBOL select_part2_derived ( union_clause )? CLOSE_PAR_SYMBOL )
            	{
            	    // MySQL.g:850:6: ^( SUBQUERY OPEN_PAR_SYMBOL SELECT_SYMBOL select_part2_derived ( union_clause )? 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, (pANTLR3_UINT8)"SUBQUERY")
            	        , 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_SELECT_SYMBOL == NULL ? NULL : stream_SELECT_SYMBOL->nextNode(stream_SELECT_SYMBOL)
            	        );

            	        ADAPTOR->addChild(ADAPTOR, root_1, stream_select_part2_derived == NULL ? NULL : stream_select_part2_derived->nextTree(stream_select_part2_derived));

            	        // MySQL.g:850:68: ( union_clause )?
            	        {
            	        	if ( (stream_union_clause != NULL && stream_union_clause->hasNext(stream_union_clause))  )
            	        	{
            	        		ADAPTOR->addChild(ADAPTOR, root_1, stream_union_clause == NULL ? NULL : stream_union_clause->nextTree(stream_union_clause));

            	        	}
            	        	if ( stream_union_clause != NULL) stream_union_clause->reset(stream_union_clause);

            	        }

            	        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_SELECT_SYMBOL != NULL) stream_SELECT_SYMBOL->free(stream_SELECT_SYMBOL);
        if (stream_select_part2_derived != NULL) stream_select_part2_derived->free(stream_select_part2_derived);
        if (stream_union_clause != NULL) stream_union_clause->free(stream_union_clause);
    }


            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 select_part2_derived
 * MySQL.g:853:1: select_part2_derived : ( options {greedy=true; } : query_expression_option |{...}? => ( SQL_NO_CACHE_SYMBOL | SQL_CACHE_SYMBOL ) )* select_item_list ( select_source_and_options )? ( select_lock_type )? ;
 */
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    set826;
    MySQLParser_query_expression_option_return query_expression_option825;
    #undef	RETURN_TYPE_query_expression_option825
    #define	RETURN_TYPE_query_expression_option825 MySQLParser_query_expression_option_return

    MySQLParser_select_item_list_return select_item_list827;
    #undef	RETURN_TYPE_select_item_list827
    #define	RETURN_TYPE_select_item_list827 MySQLParser_select_item_list_return

    MySQLParser_select_source_and_options_return select_source_and_options828;
    #undef	RETURN_TYPE_select_source_and_options828
    #define	RETURN_TYPE_select_source_and_options828 MySQLParser_select_source_and_options_return

    MySQLParser_select_lock_type_return select_lock_type829;
    #undef	RETURN_TYPE_select_lock_type829
    #define	RETURN_TYPE_select_lock_type829 MySQLParser_select_lock_type_return

    pANTLR3_BASE_TREE set826_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    set826       = NULL;
    query_expression_option825.tree = NULL;

    select_item_list827.tree = NULL;

    select_source_and_options828.tree = NULL;

    select_lock_type829.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    set826_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:853:21: ( ( options {greedy=true; } : query_expression_option |{...}? => ( SQL_NO_CACHE_SYMBOL | SQL_CACHE_SYMBOL ) )* select_item_list ( select_source_and_options )? ( select_lock_type )? )
        // MySQL.g:854:2: ( options {greedy=true; } : query_expression_option |{...}? => ( SQL_NO_CACHE_SYMBOL | SQL_CACHE_SYMBOL ) )* select_item_list ( select_source_and_options )? ( select_lock_type )?
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            // MySQL.g:854:2: ( options {greedy=true; } : query_expression_option |{...}? => ( SQL_NO_CACHE_SYMBOL | SQL_CACHE_SYMBOL ) )*

            for (;;)
            {
                int alt285=3;
                switch ( LA(1) )
                {
                case SQL_BUFFER_RESULT_SYMBOL:
                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:
                	{
                		alt285=1;
                	}
                    break;
                case SQL_CACHE_SYMBOL:
                case SQL_NO_CACHE_SYMBOL:
                	{
                		{
                		   /* dfaLoopbackState(k,edges,eotPredictsAlt,description,stateNumber,semPredState)
                		    */
                		    int LA285_104 = LA(2);
                		    if ( ((SERVER_VERSION <= 50100)))
                		    {
                		        alt285=2;
                		    }

                		}
                	}
                    break;

                }

                switch (alt285)
                {
            	case 1:
            	    // MySQL.g:855:3: query_expression_option
            	    {
            	        FOLLOWPUSH(FOLLOW_query_expression_option_in_select_part2_derived4272);
            	        query_expression_option825=query_expression_option(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleselect_part2_derivedEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, query_expression_option825.tree);

            	    }
            	    break;
            	case 2:
            	    // MySQL.g:856: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";


            	        }

            	        set826=(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, set826))
            	            );
            	            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 loop285;	/* break out of the loop */
            	    break;
                }
            }
            loop285: ; /* Jump out to here if this rule does not match */


            FOLLOWPUSH(FOLLOW_select_item_list_in_select_part2_derived4294);
            select_item_list827=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_list827.tree);

            // MySQL.g:857:22: ( select_source_and_options )?
            {
                int alt286=2;
                switch ( LA(1) )
                {
                    case FROM_SYMBOL:
                    case INTO_SYMBOL:
                    case LIMIT_SYMBOL:
                    	{
                    		alt286=1;
                    	}
                        break;
                }

                switch (alt286)
                {
            	case 1:
            	    // MySQL.g:857:22: select_source_and_options
            	    {
            	        FOLLOWPUSH(FOLLOW_select_source_and_options_in_select_part2_derived4296);
            	        select_source_and_options828=select_source_and_options(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleselect_part2_derivedEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, select_source_and_options828.tree);

            	    }
            	    break;

                }
            }

            // MySQL.g:857:49: ( select_lock_type )?
            {
                int alt287=2;
                switch ( LA(1) )
                {
                    case FOR_SYMBOL:
                    case LOCK_SYMBOL:
                    	{
                    		alt287=1;
                    	}
                        break;
                }

                switch (alt287)
                {
            	case 1:
            	    // MySQL.g:857:49: select_lock_type
            	    {
            	        FOLLOWPUSH(FOLLOW_select_lock_type_in_select_part2_derived4299);
            	        select_lock_type829=select_lock_type(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleselect_part2_derivedEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, select_lock_type829.tree);

            	    }
            	    break;

                }
            }

        }

    }

    // 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:860:1: select_option : ( query_expression_option | SQL_NO_CACHE_SYMBOL | SQL_CACHE_SYMBOL );
 */
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_SYMBOL831;
    pANTLR3_COMMON_TOKEN    SQL_CACHE_SYMBOL832;
    MySQLParser_query_expression_option_return query_expression_option830;
    #undef	RETURN_TYPE_query_expression_option830
    #define	RETURN_TYPE_query_expression_option830 MySQLParser_query_expression_option_return

    pANTLR3_BASE_TREE SQL_NO_CACHE_SYMBOL831_tree;
    pANTLR3_BASE_TREE SQL_CACHE_SYMBOL832_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    SQL_NO_CACHE_SYMBOL831       = NULL;
    SQL_CACHE_SYMBOL832       = NULL;
    query_expression_option830.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    SQL_NO_CACHE_SYMBOL831_tree   = NULL;
    SQL_CACHE_SYMBOL832_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:860:14: ( query_expression_option | SQL_NO_CACHE_SYMBOL | SQL_CACHE_SYMBOL )

            ANTLR3_UINT32 alt288;

            alt288=3;

            switch ( LA(1) )
            {
            case SQL_BUFFER_RESULT_SYMBOL:
            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:
            	{
            		alt288=1;
            	}
                break;
            case SQL_NO_CACHE_SYMBOL:
            	{
            		alt288=2;
            	}
                break;
            case SQL_CACHE_SYMBOL:
            	{
            		alt288=3;
            	}
                break;

            default:
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                EXCEPTION->message      = (void *)"";
                EXCEPTION->decisionNum  = 288;
                EXCEPTION->state        = 0;


                goto ruleselect_optionEx;

            }

            switch (alt288)
            {
        	case 1:
        	    // MySQL.g:861:2: query_expression_option
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_query_expression_option_in_select_option4309);
        	        query_expression_option830=query_expression_option(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleselect_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, query_expression_option830.tree);

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:862:4: SQL_NO_CACHE_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        SQL_NO_CACHE_SYMBOL831 = (pANTLR3_COMMON_TOKEN) MATCHT(SQL_NO_CACHE_SYMBOL, &FOLLOW_SQL_NO_CACHE_SYMBOL_in_select_option4314);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleselect_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        SQL_NO_CACHE_SYMBOL831_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SQL_NO_CACHE_SYMBOL831));
        	        ADAPTOR->addChild(ADAPTOR, root_0, SQL_NO_CACHE_SYMBOL831_tree);
        	        }

        	    }
        	    break;
        	case 3:
        	    // MySQL.g:863:4: SQL_CACHE_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        SQL_CACHE_SYMBOL832 = (pANTLR3_COMMON_TOKEN) MATCHT(SQL_CACHE_SYMBOL, &FOLLOW_SQL_CACHE_SYMBOL_in_select_option4319);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleselect_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        SQL_CACHE_SYMBOL832_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SQL_CACHE_SYMBOL832));
        	        ADAPTOR->addChild(ADAPTOR, root_0, SQL_CACHE_SYMBOL832_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_expression_option
 * MySQL.g:866:1: query_expression_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_expression_option_return
query_expression_option(pMySQLParser ctx)
{
    MySQLParser_query_expression_option_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    set833;

    pANTLR3_BASE_TREE set833_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    set833       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    set833_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:866:24: ( ( 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));


            set833=(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, set833))
                );
                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_expression_optionEx;
            }


        }

    }

    // This is where rules clean up and exit
    //
    goto rulequery_expression_optionEx; /* Prevent compiler warnings */
    rulequery_expression_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_expression_option */

/**
 * $ANTLR start select_item_list
 * MySQL.g:876: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_OPERATOR835;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL836;
    MySQLParser_select_item_return select_item834;
    #undef	RETURN_TYPE_select_item834
    #define	RETURN_TYPE_select_item834 MySQLParser_select_item_return

    MySQLParser_select_item_return select_item837;
    #undef	RETURN_TYPE_select_item837
    #define	RETURN_TYPE_select_item837 MySQLParser_select_item_return

    pANTLR3_BASE_TREE MULT_OPERATOR835_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL836_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    MULT_OPERATOR835       = NULL;
    COMMA_SYMBOL836       = NULL;
    select_item834.tree = NULL;

    select_item837.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    MULT_OPERATOR835_tree   = NULL;
    COMMA_SYMBOL836_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:876:17: ( ( select_item | MULT_OPERATOR ) ( options {greedy=true; } : COMMA_SYMBOL select_item )* )
        // MySQL.g:877:2: ( select_item | MULT_OPERATOR ) ( options {greedy=true; } : COMMA_SYMBOL select_item )*
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            // MySQL.g:877:2: ( select_item | MULT_OPERATOR )
            {
                int alt289=2;
                {
                    int LA289_0 = LA(1);
                    if ( (LA289_0 == BACK_TICK_QUOTED_ID || LA289_0 == IDENTIFIER))
                    {
                        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 == DATE_SYMBOL || LA289_0 == ASCII_SYMBOL || LA289_0 == PARTITION_SYMBOL || LA289_0 == BITWISE_NOT_OPERATOR || LA289_0 == FALSE_SYMBOL || LA289_0 == FLOAT || ((LA289_0 >= HEXNUMBER) && (LA289_0 <= HEXSTRING)) || LA289_0 == INTEGER || 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 == TRUE_SYMBOL || LA289_0 == UNDERSCORE_CHARSET))
                    {
                        alt289=1;
                    }
                    else if ( ((SERVER_VERSION >= 50003)) && (((LA289_0 >= BITNUMBER) && (LA289_0 <= BITSTRING))))
                    {
                        alt289=1;
                    }
                    else if ( (((LA289_0 >= ACTION_SYMBOL) && (LA289_0 <= DATETIME_SYMBOL)) || ((LA289_0 >= DAY_SYMBOL) && (LA289_0 <= YEAR_SYMBOL)) || ((LA289_0 >= BACKUP_SYMBOL) && (LA289_0 <= XA_SYMBOL)) || ((LA289_0 >= AT_AT_SIGN_SYMBOL) && (LA289_0 <= AT_SIGN_SYMBOL)) || 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 == DOT_SYMBOL || LA289_0 == EXISTS_SYMBOL || LA289_0 == EXTRACT_SYMBOL || LA289_0 == GROUP_CONCAT_SYMBOL || 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 <= VALUES_SYMBOL)) || LA289_0 == VARIANCE_SYMBOL || LA289_0 == VAR_SAMP_SYMBOL))
                    {
                        alt289=1;
                    }
                    else if ( (LA289_0 == MULT_OPERATOR))
                    {
                        alt289=2;
                    }
                    else
                    {
                        if (BACKTRACKING>0)
                        {
                            FAILEDFLAG = ANTLR3_TRUE;
                            return retval;
                        }


                        CONSTRUCTEX();
                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                        EXCEPTION->message      = (void *)"";
                        EXCEPTION->decisionNum  = 289;
                        EXCEPTION->state        = 0;


                        goto ruleselect_item_listEx;

                    }
                }
                switch (alt289)
                {
            	case 1:
            	    // MySQL.g:877:3: select_item
            	    {
            	        FOLLOWPUSH(FOLLOW_select_item_in_select_item_list4374);
            	        select_item834=select_item(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleselect_item_listEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, select_item834.tree);

            	    }
            	    break;
            	case 2:
            	    // MySQL.g:877:17: MULT_OPERATOR
            	    {
            	        MULT_OPERATOR835 = (pANTLR3_COMMON_TOKEN) MATCHT(MULT_OPERATOR, &FOLLOW_MULT_OPERATOR_in_select_item_list4378);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleselect_item_listEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        MULT_OPERATOR835_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MULT_OPERATOR835));
            	        ADAPTOR->addChild(ADAPTOR, root_0, MULT_OPERATOR835_tree);
            	        }

            	    }
            	    break;

                }
            }

            // MySQL.g:877:32: ( options {greedy=true; } : COMMA_SYMBOL select_item )*

            for (;;)
            {
                int alt290=2;
                switch ( LA(1) )
                {
                case COMMA_SYMBOL:
                	{
                		{
                		   /* dfaLoopbackState(k,edges,eotPredictsAlt,description,stateNumber,semPredState)
                		    */
                		    int LA290_17 = LA(2);
                		    if ( (LA290_17 == OPEN_PAR_SYMBOL))
                		    {
                		        alt290=1;
                		    }
                		    else if ( (LA290_17 == IDENTIFIER))
                		    {
                		        alt290=1;
                		    }
                		    else if ( (LA290_17 == BACK_TICK_QUOTED_ID))
                		    {
                		        alt290=1;
                		    }
                		    else if ( (LA290_17 == DOUBLE_QUOTED_TEXT))
                		    {
                		        alt290=1;
                		    }
                		    else if ( (LA290_17 == DATE_SYMBOL))
                		    {
                		        alt290=1;
                		    }
                		    else if ( (LA290_17 == PARTITION_SYMBOL))
                		    {
                		        alt290=1;
                		    }
                		    else if ( (LA290_17 == ASCII_SYMBOL || ((LA290_17 >= BITNUMBER) && (LA290_17 <= BITSTRING)) || LA290_17 == BITWISE_NOT_OPERATOR || LA290_17 == FALSE_SYMBOL || LA290_17 == FLOAT || ((LA290_17 >= HEXNUMBER) && (LA290_17 <= HEXSTRING)) || LA290_17 == INTEGER || LA290_17 == INTERVAL_SYMBOL || LA290_17 == LOGICAL_NOT_OPERATOR || LA290_17 == MINUS_OPERATOR || LA290_17 == NCHAR_TEXT || LA290_17 == NOT2_SYMBOL || LA290_17 == NOT_SYMBOL || LA290_17 == NULL2_SYMBOL || LA290_17 == NULL_SYMBOL || LA290_17 == PLUS_OPERATOR || LA290_17 == SINGLE_QUOTED_TEXT || LA290_17 == TRUE_SYMBOL || LA290_17 == UNDERSCORE_CHARSET))
                		    {
                		        alt290=1;
                		    }
                		    else if ( (LA290_17 == DOT_SYMBOL))
                		    {
                		        alt290=1;
                		    }
                		    else if ( (LA290_17 == OPEN_CURLY_SYMBOL))
                		    {
                		        alt290=1;
                		    }
                		    else if ( (LA290_17 == TIME_SYMBOL))
                		    {
                		        alt290=1;
                		    }
                		    else if ( (LA290_17 == TIMESTAMP_SYMBOL))
                		    {
                		        alt290=1;
                		    }
                		    else if ( (LA290_17 == DAY_SYMBOL || LA290_17 == CHAR_SYMBOL || LA290_17 == CURRENT_USER_SYMBOL))
                		    {
                		        alt290=1;
                		    }
                		    else if ( (LA290_17 == HOUR_SYMBOL))
                		    {
                		        alt290=1;
                		    }
                		    else if ( (LA290_17 == MINUTE_SYMBOL || LA290_17 == INSERT_SYMBOL || LA290_17 == LEFT_SYMBOL))
                		    {
                		        alt290=1;
                		    }
                		    else if ( (LA290_17 == MONTH_SYMBOL))
                		    {
                		        alt290=1;
                		    }
                		    else if ( (LA290_17 == SECOND_SYMBOL || LA290_17 == RIGHT_SYMBOL))
                		    {
                		        alt290=1;
                		    }
                		    else if ( (LA290_17 == USER_SYMBOL || LA290_17 == TRIM_SYMBOL))
                		    {
                		        alt290=1;
                		    }
                		    else if ( (LA290_17 == YEAR_SYMBOL || LA290_17 == VALUES_SYMBOL))
                		    {
                		        alt290=1;
                		    }
                		    else if ( (LA290_17 == ADDDATE_SYMBOL || LA290_17 == SUBDATE_SYMBOL))
                		    {
                		        alt290=1;
                		    }
                		    else if ( (LA290_17 == GET_FORMAT_SYMBOL || LA290_17 == CURDATE_SYMBOL || LA290_17 == CURTIME_SYMBOL || LA290_17 == DATE_ADD_SYMBOL || LA290_17 == DATE_SUB_SYMBOL || LA290_17 == EXTRACT_SYMBOL))
                		    {
                		        alt290=1;
                		    }
                		    else if ( (((LA290_17 >= TIMESTAMP_ADD_SYMBOL) && (LA290_17 <= TIMESTAMP_DIFF_SYMBOL)) || LA290_17 == NOW_SYMBOL || LA290_17 == POSITION_SYMBOL || LA290_17 == SUBSTRING_SYMBOL || LA290_17 == SYSDATE_SYMBOL))
                		    {
                		        alt290=1;
                		    }
                		    else if ( (LA290_17 == COALESCE_SYMBOL || ((LA290_17 >= UTC_DATE_SYMBOL) && (LA290_17 <= UTC_TIME_SYMBOL))))
                		    {
                		        alt290=1;
                		    }
                		    else if ( (LA290_17 == CHARSET_SYMBOL))
                		    {
                		        alt290=1;
                		    }
                		    else if ( (LA290_17 == FORMAT_SYMBOL))
                		    {
                		        alt290=1;
                		    }
                		    else if ( (LA290_17 == COLLATION_SYMBOL))
                		    {
                		        alt290=1;
                		    }
                		    else if ( (LA290_17 == MICROSECOND_SYMBOL || LA290_17 == DATABASE_SYMBOL || LA290_17 == IF_SYMBOL))
                		    {
                		        alt290=1;
                		    }
                		    else if ( (LA290_17 == TRUNCATE_SYMBOL))
                		    {
                		        alt290=1;
                		    }
                		    else if ( (LA290_17 == OLD_PASSWORD_SYMBOL || LA290_17 == MOD_SYMBOL))
                		    {
                		        alt290=1;
                		    }
                		    else if ( (LA290_17 == PASSWORD_SYMBOL))
                		    {
                		        alt290=1;
                		    }
                		    else if ( (LA290_17 == QUARTER_SYMBOL))
                		    {
                		        alt290=1;
                		    }
                		    else if ( (LA290_17 == REVERSE_SYMBOL || ((LA290_17 >= REPEAT_SYMBOL) && (LA290_17 <= REPLACE_SYMBOL))))
                		    {
                		        alt290=1;
                		    }
                		    else if ( (LA290_17 == ROW_COUNT_SYMBOL))
                		    {
                		        alt290=1;
                		    }
                		    else if ( (LA290_17 == WEEK_SYMBOL))
                		    {
                		        alt290=1;
                		    }
                		    else if ( (LA290_17 == CONTAINS_SYMBOL))
                		    {
                		        alt290=1;
                		    }
                		    else if ( (LA290_17 == WEIGHT_STRING_SYMBOL))
                		    {
                		        alt290=1;
                		    }
                		    else if ( (LA290_17 == GEOMETRYCOLLECTION_SYMBOL))
                		    {
                		        alt290=1;
                		    }
                		    else if ( (((LA290_17 >= BACKUP_SYMBOL) && (LA290_17 <= CACHE_SYMBOL)) || ((LA290_17 >= CHECKSUM_SYMBOL) && (LA290_17 <= COMMIT_SYMBOL)) || ((LA290_17 >= DEALLOCATE_SYMBOL) && (LA290_17 <= FLUSH_SYMBOL)) || ((LA290_17 >= HANDLER_SYMBOL) && (LA290_17 <= STOP_SYMBOL)) || ((LA290_17 >= UNICODE_SYMBOL) && (LA290_17 <= XA_SYMBOL))))
                		    {
                		        alt290=1;
                		    }
                		    else if ( (LA290_17 == LINESTRING_SYMBOL))
                		    {
                		        alt290=1;
                		    }
                		    else if ( (LA290_17 == MULTILINESTRING_SYMBOL))
                		    {
                		        alt290=1;
                		    }
                		    else if ( (LA290_17 == MULTIPOINT_SYMBOL))
                		    {
                		        alt290=1;
                		    }
                		    else if ( (LA290_17 == MULTIPOLYGON_SYMBOL))
                		    {
                		        alt290=1;
                		    }
                		    else if ( (LA290_17 == POINT_SYMBOL))
                		    {
                		        alt290=1;
                		    }
                		    else if ( (LA290_17 == POLYGON_SYMBOL))
                		    {
                		        alt290=1;
                		    }
                		    else if ( (LA290_17 == AVG_SYMBOL))
                		    {
                		        alt290=1;
                		    }
                		    else if ( (LA290_17 == ROW_SYMBOL || ((LA290_17 >= AT_AT_SIGN_SYMBOL) && (LA290_17 <= AT_SIGN_SYMBOL)) || ((LA290_17 >= BIT_AND_SYMBOL) && (LA290_17 <= BIT_XOR_SYMBOL)) || LA290_17 == COUNT_SYMBOL || LA290_17 == EXISTS_SYMBOL || LA290_17 == GROUP_CONCAT_SYMBOL || LA290_17 == MAX_SYMBOL || LA290_17 == MIN_SYMBOL || LA290_17 == PARAM_MARKER || LA290_17 == STDDEV_SAMP_SYMBOL || LA290_17 == STD_SYMBOL || LA290_17 == SUM_SYMBOL || LA290_17 == VARIANCE_SYMBOL || LA290_17 == VAR_SAMP_SYMBOL))
                		    {
                		        alt290=1;
                		    }
                		    else if ( (LA290_17 == ACTION_SYMBOL || ((LA290_17 >= AFTER_SYMBOL) && (LA290_17 <= AVG_ROW_LENGTH_SYMBOL)) || ((LA290_17 >= BINLOG_SYMBOL) && (LA290_17 <= CLIENT_SYMBOL)) || LA290_17 == CODE_SYMBOL || ((LA290_17 >= COLUMNS_SYMBOL) && (LA290_17 <= DATETIME_SYMBOL)) || ((LA290_17 >= DEFAULT_AUTH_SYMBOL) && (LA290_17 <= GENERAL_SYMBOL)) || LA290_17 == GEOMETRY_SYMBOL || ((LA290_17 >= GLOBAL_SYMBOL) && (LA290_17 <= HOSTS_SYMBOL)) || ((LA290_17 >= IDENTIFIED_SYMBOL) && (LA290_17 <= LEVEL_SYMBOL)) || ((LA290_17 >= LIST_SYMBOL) && (LA290_17 <= MESSAGE_TEXT_SYMBOL)) || LA290_17 == MIGRATE_SYMBOL || ((LA290_17 >= MIN_ROWS_SYMBOL) && (LA290_17 <= MODIFY_SYMBOL)) || ((LA290_17 >= MUTEX_SYMBOL) && (LA290_17 <= OFFSET_SYMBOL)) || ((LA290_17 >= ONE_SHOT_SYMBOL) && (LA290_17 <= PARTITIONS_SYMBOL)) || ((LA290_17 >= PHASE_SYMBOL) && (LA290_17 <= PLUGIN_SYMBOL)) || ((LA290_17 >= PRESERVE_SYMBOL) && (LA290_17 <= PROXY_SYMBOL)) || ((LA290_17 >= QUERY_SYMBOL) && (LA290_17 <= RETURNS_SYMBOL)) || ((LA290_17 >= ROLLUP_SYMBOL) && (LA290_17 <= ROWS_SYMBOL)) || LA290_17 == ROW_FORMAT_SYMBOL || ((LA290_17 >= RTREE_SYMBOL) && (LA290_17 <= SCHEMA_NAME_SYMBOL)) || ((LA290_17 >= SERIALIZABLE_SYMBOL) && (LA290_17 <= SUBCLASS_ORIGIN_SYMBOL)) || ((LA290_17 >= SUBJECT_SYMBOL) && (LA290_17 <= THAN_SYMBOL)) || ((LA290_17 >= TRANSACTION_SYMBOL) && (LA290_17 <= USER_RESOURCES_SYMBOL)) || ((LA290_17 >= USE_FRM_SYMBOL) && (LA290_17 <= WARNINGS_SYMBOL)) || ((LA290_17 >= WORK_SYMBOL) && (LA290_17 <= XML_SYMBOL)) || LA290_17 == BINARY_SYMBOL || ((LA290_17 >= CASE_SYMBOL) && (LA290_17 <= CAST_SYMBOL)) || LA290_17 == CONVERT_SYMBOL || LA290_17 == MATCH_SYMBOL))
                		    {
                		        alt290=1;
                		    }

                		}
                	}
                    break;

                }

                switch (alt290)
                {
            	case 1:
            	    // MySQL.g:877:62: COMMA_SYMBOL select_item
            	    {
            	        COMMA_SYMBOL836 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_select_item_list4395);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleselect_item_listEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        COMMA_SYMBOL836_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL836));
            	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL836_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_select_item_in_select_item_list4397);
            	        select_item837=select_item(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleselect_item_listEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, select_item837.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 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:880:1: select_item : ( ( qualified_identifier_with_wildcard )=> qualified_identifier_with_wildcard -> ^( SELECT_EXPR qualified_identifier_with_wildcard ) | expression ( select_alias )? -> ^( SELECT_EXPR expression ( select_alias )? ) );
 */
static MySQLParser_select_item_return
select_item(pMySQLParser ctx)
{
    MySQLParser_select_item_return retval;


    pANTLR3_BASE_TREE root_0;

    MySQLParser_qualified_identifier_with_wildcard_return qualified_identifier_with_wildcard838;
    #undef	RETURN_TYPE_qualified_identifier_with_wildcard838
    #define	RETURN_TYPE_qualified_identifier_with_wildcard838 MySQLParser_qualified_identifier_with_wildcard_return

    MySQLParser_expression_return expression839;
    #undef	RETURN_TYPE_expression839
    #define	RETURN_TYPE_expression839 MySQLParser_expression_return

    MySQLParser_select_alias_return select_alias840;
    #undef	RETURN_TYPE_select_alias840
    #define	RETURN_TYPE_select_alias840 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_qualified_identifier_with_wildcard;
    /* Initialize rule variables
     */

    root_0 = NULL;

    qualified_identifier_with_wildcard838.tree = NULL;

    expression839.tree = NULL;

    select_alias840.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_qualified_identifier_with_wildcard   = NULL;
    #define CREATE_stream_qualified_identifier_with_wildcard  if (stream_qualified_identifier_with_wildcard == NULL) {stream_qualified_identifier_with_wildcard = antlr3RewriteRuleSubtreeStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"rule qualified_identifier_with_wildcard"); }

    retval.tree  = NULL;

    {
        {
            //  MySQL.g:880:12: ( ( qualified_identifier_with_wildcard )=> qualified_identifier_with_wildcard -> ^( SELECT_EXPR qualified_identifier_with_wildcard ) | expression ( select_alias )? -> ^( SELECT_EXPR expression ( select_alias )? ) )

            ANTLR3_UINT32 alt292;

            alt292=2;

            {
                int LA292_0 = LA(1);
                if ( (LA292_0 == IDENTIFIER))
                {
                    {
                        int LA292_1 = LA(2);
                        if ( (LA292_1 == DOT_SYMBOL))
                        {
                            {
                                int LA292_103 = LA(3);
                                if ( (synpred1_MySQL(ctx)))
                                {
                                    alt292=1;
                                }
                                else if ( (ANTLR3_TRUE))
                                {
                                    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        = 103;


                                    goto ruleselect_itemEx;

                                }
                            }
                        }
                        else if ( (LA292_1 == EOF || ((LA292_1 >= ACTION_SYMBOL) && (LA292_1 <= PARTITION_SYMBOL)) || LA292_1 == AND_SYMBOL || LA292_1 == AS_SYMBOL || LA292_1 == BACK_TICK_QUOTED_ID || LA292_1 == BETWEEN_SYMBOL || LA292_1 == BITWISE_AND_OPERATOR || ((LA292_1 >= BITWISE_OR_OPERATOR) && (LA292_1 <= BITWISE_XOR_OPERATOR)) || ((LA292_1 >= CLOSE_CURLY_SYMBOL) && (LA292_1 <= COLLATE_SYMBOL)) || LA292_1 == COMMA_SYMBOL || LA292_1 == CONCAT_PIPES_SYMBOL || LA292_1 == CROSS_SYMBOL || ((LA292_1 >= DIV_OPERATOR) && (LA292_1 <= DIV_SYMBOL)) || LA292_1 == DOUBLE_QUOTED_TEXT || LA292_1 == EQUAL_OPERATOR || LA292_1 == FOR_SYMBOL || LA292_1 == FROM_SYMBOL || ((LA292_1 >= GREATER_OR_EQUAL_OPERATOR) && (LA292_1 <= GREATER_THAN_OPERATOR)) || ((LA292_1 >= GROUP_SYMBOL) && (LA292_1 <= HAVING_SYMBOL)) || LA292_1 == IDENTIFIER || LA292_1 == INNER_SYMBOL || LA292_1 == INTO_SYMBOL || LA292_1 == IN_SYMBOL || LA292_1 == IS_SYMBOL || LA292_1 == JOIN_SYMBOL || ((LA292_1 >= LEFT_SYMBOL) && (LA292_1 <= LESS_THAN_OPERATOR)) || ((LA292_1 >= LIKE_SYMBOL) && (LA292_1 <= LIMIT_SYMBOL)) || LA292_1 == LOCK_SYMBOL || LA292_1 == LOGICAL_AND_OPERATOR || LA292_1 == LOGICAL_OR_OPERATOR || LA292_1 == MINUS_OPERATOR || ((LA292_1 >= MOD_OPERATOR) && (LA292_1 <= MOD_SYMBOL)) || ((LA292_1 >= MULT_OPERATOR) && (LA292_1 <= NATURAL_SYMBOL)) || LA292_1 == NCHAR_TEXT || ((LA292_1 >= NOT_EQUAL2_OPERATOR) && (LA292_1 <= NOT_SYMBOL)) || LA292_1 == NULL_SAFE_EQUAL_OPERATOR || LA292_1 == ON_SYMBOL || LA292_1 == OPEN_PAR_SYMBOL || ((LA292_1 >= ORDER_SYMBOL) && (LA292_1 <= OR_SYMBOL)) || LA292_1 == PLUS_OPERATOR || LA292_1 == PROCEDURE_SYMBOL || LA292_1 == REGEXP_SYMBOL || LA292_1 == RIGHT_SYMBOL || LA292_1 == SEMICOLON_SYMBOL || LA292_1 == SET_SYMBOL || ((LA292_1 >= SHIFT_LEFT_OPERATOR) && (LA292_1 <= SHIFT_RIGHT_OPERATOR)) || LA292_1 == SINGLE_QUOTED_TEXT || LA292_1 == STRAIGHT_JOIN_SYMBOL || LA292_1 == UNDERSCORE_CHARSET || LA292_1 == UNION_SYMBOL || LA292_1 == USING_SYMBOL || LA292_1 == WHERE_SYMBOL || LA292_1 == WITH_SYMBOL || LA292_1 == XOR_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        = 1;


                            goto ruleselect_itemEx;

                        }
                    }
                }
                else if ( (LA292_0 == BACK_TICK_QUOTED_ID))
                {
                    {
                        int LA292_2 = LA(2);
                        if ( (LA292_2 == DOT_SYMBOL))
                        {
                            {
                                int LA292_159 = LA(3);
                                if ( (synpred1_MySQL(ctx)))
                                {
                                    alt292=1;
                                }
                                else if ( (ANTLR3_TRUE))
                                {
                                    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        = 159;


                                    goto ruleselect_itemEx;

                                }
                            }
                        }
                        else if ( (LA292_2 == EOF || ((LA292_2 >= ACTION_SYMBOL) && (LA292_2 <= PARTITION_SYMBOL)) || LA292_2 == AND_SYMBOL || LA292_2 == AS_SYMBOL || LA292_2 == BACK_TICK_QUOTED_ID || LA292_2 == BETWEEN_SYMBOL || LA292_2 == BITWISE_AND_OPERATOR || ((LA292_2 >= BITWISE_OR_OPERATOR) && (LA292_2 <= BITWISE_XOR_OPERATOR)) || ((LA292_2 >= CLOSE_CURLY_SYMBOL) && (LA292_2 <= COLLATE_SYMBOL)) || LA292_2 == COMMA_SYMBOL || LA292_2 == CONCAT_PIPES_SYMBOL || LA292_2 == CROSS_SYMBOL || ((LA292_2 >= DIV_OPERATOR) && (LA292_2 <= DIV_SYMBOL)) || LA292_2 == DOUBLE_QUOTED_TEXT || LA292_2 == EQUAL_OPERATOR || LA292_2 == FOR_SYMBOL || LA292_2 == FROM_SYMBOL || ((LA292_2 >= GREATER_OR_EQUAL_OPERATOR) && (LA292_2 <= GREATER_THAN_OPERATOR)) || ((LA292_2 >= GROUP_SYMBOL) && (LA292_2 <= HAVING_SYMBOL)) || LA292_2 == IDENTIFIER || LA292_2 == INNER_SYMBOL || LA292_2 == INTO_SYMBOL || LA292_2 == IN_SYMBOL || LA292_2 == IS_SYMBOL || LA292_2 == JOIN_SYMBOL || ((LA292_2 >= LEFT_SYMBOL) && (LA292_2 <= LESS_THAN_OPERATOR)) || ((LA292_2 >= LIKE_SYMBOL) && (LA292_2 <= LIMIT_SYMBOL)) || LA292_2 == LOCK_SYMBOL || LA292_2 == LOGICAL_AND_OPERATOR || LA292_2 == LOGICAL_OR_OPERATOR || LA292_2 == MINUS_OPERATOR || ((LA292_2 >= MOD_OPERATOR) && (LA292_2 <= MOD_SYMBOL)) || ((LA292_2 >= MULT_OPERATOR) && (LA292_2 <= NATURAL_SYMBOL)) || LA292_2 == NCHAR_TEXT || ((LA292_2 >= NOT_EQUAL2_OPERATOR) && (LA292_2 <= NOT_SYMBOL)) || LA292_2 == NULL_SAFE_EQUAL_OPERATOR || LA292_2 == ON_SYMBOL || LA292_2 == OPEN_PAR_SYMBOL || ((LA292_2 >= ORDER_SYMBOL) && (LA292_2 <= OR_SYMBOL)) || LA292_2 == PLUS_OPERATOR || LA292_2 == PROCEDURE_SYMBOL || LA292_2 == REGEXP_SYMBOL || LA292_2 == RIGHT_SYMBOL || LA292_2 == SEMICOLON_SYMBOL || LA292_2 == SET_SYMBOL || ((LA292_2 >= SHIFT_LEFT_OPERATOR) && (LA292_2 <= SHIFT_RIGHT_OPERATOR)) || LA292_2 == SINGLE_QUOTED_TEXT || LA292_2 == STRAIGHT_JOIN_SYMBOL || LA292_2 == UNDERSCORE_CHARSET || LA292_2 == UNION_SYMBOL || LA292_2 == USING_SYMBOL || LA292_2 == WHERE_SYMBOL || LA292_2 == WITH_SYMBOL || LA292_2 == XOR_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        = 2;


                            goto ruleselect_itemEx;

                        }
                    }
                }
                else if ( ((((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES)))||((!SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))))) && (LA292_0 == DOUBLE_QUOTED_TEXT))
                {
                    {
                        int LA292_3 = LA(2);
                        if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA292_3 == DOT_SYMBOL))
                        {
                            {
                                int LA292_215 = LA(3);
                                if ( (( (( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) )) && (synpred1_MySQL(ctx)) )))
                                {
                                    alt292=1;
                                }
                                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))))
                                {
                                    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        = 215;


                                    goto ruleselect_itemEx;

                                }
                            }
                        }
                        else if ( ((((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES)))||((!SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))))) && (LA292_3 == EOF || ((LA292_3 >= ACTION_SYMBOL) && (LA292_3 <= PARTITION_SYMBOL)) || LA292_3 == AND_SYMBOL || LA292_3 == AS_SYMBOL || LA292_3 == BACK_TICK_QUOTED_ID || LA292_3 == BETWEEN_SYMBOL || LA292_3 == BITWISE_AND_OPERATOR || ((LA292_3 >= BITWISE_OR_OPERATOR) && (LA292_3 <= BITWISE_XOR_OPERATOR)) || ((LA292_3 >= CLOSE_CURLY_SYMBOL) && (LA292_3 <= COLLATE_SYMBOL)) || LA292_3 == COMMA_SYMBOL || LA292_3 == CONCAT_PIPES_SYMBOL || LA292_3 == CROSS_SYMBOL || ((LA292_3 >= DIV_OPERATOR) && (LA292_3 <= DIV_SYMBOL)) || LA292_3 == DOUBLE_QUOTED_TEXT || LA292_3 == EQUAL_OPERATOR || LA292_3 == FOR_SYMBOL || LA292_3 == FROM_SYMBOL || ((LA292_3 >= GREATER_OR_EQUAL_OPERATOR) && (LA292_3 <= GREATER_THAN_OPERATOR)) || ((LA292_3 >= GROUP_SYMBOL) && (LA292_3 <= HAVING_SYMBOL)) || LA292_3 == IDENTIFIER || LA292_3 == INNER_SYMBOL || LA292_3 == INTO_SYMBOL || LA292_3 == IN_SYMBOL || LA292_3 == IS_SYMBOL || LA292_3 == JOIN_SYMBOL || ((LA292_3 >= LEFT_SYMBOL) && (LA292_3 <= LESS_THAN_OPERATOR)) || ((LA292_3 >= LIKE_SYMBOL) && (LA292_3 <= LIMIT_SYMBOL)) || LA292_3 == LOCK_SYMBOL || LA292_3 == LOGICAL_AND_OPERATOR || LA292_3 == LOGICAL_OR_OPERATOR || LA292_3 == MINUS_OPERATOR || ((LA292_3 >= MOD_OPERATOR) && (LA292_3 <= MOD_SYMBOL)) || ((LA292_3 >= MULT_OPERATOR) && (LA292_3 <= NATURAL_SYMBOL)) || LA292_3 == NCHAR_TEXT || ((LA292_3 >= NOT_EQUAL2_OPERATOR) && (LA292_3 <= NOT_SYMBOL)) || LA292_3 == NULL_SAFE_EQUAL_OPERATOR || LA292_3 == ON_SYMBOL || ((LA292_3 >= ORDER_SYMBOL) && (LA292_3 <= OR_SYMBOL)) || LA292_3 == PLUS_OPERATOR || LA292_3 == PROCEDURE_SYMBOL || LA292_3 == REGEXP_SYMBOL || LA292_3 == RIGHT_SYMBOL || LA292_3 == SEMICOLON_SYMBOL || LA292_3 == SET_SYMBOL || ((LA292_3 >= SHIFT_LEFT_OPERATOR) && (LA292_3 <= SHIFT_RIGHT_OPERATOR)) || LA292_3 == SINGLE_QUOTED_TEXT || LA292_3 == STRAIGHT_JOIN_SYMBOL || LA292_3 == UNDERSCORE_CHARSET || LA292_3 == UNION_SYMBOL || LA292_3 == USING_SYMBOL || LA292_3 == WHERE_SYMBOL || LA292_3 == WITH_SYMBOL || LA292_3 == XOR_SYMBOL))
                        {
                            alt292=2;
                        }
                        else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA292_3 == OPEN_PAR_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        = 3;


                            goto ruleselect_itemEx;

                        }
                    }
                }
                else if ( (LA292_0 == DATE_SYMBOL))
                {
                    {
                        int LA292_4 = LA(2);
                        if ( (LA292_4 == EOF || ((LA292_4 >= ACTION_SYMBOL) && (LA292_4 <= PARTITION_SYMBOL)) || LA292_4 == AND_SYMBOL || LA292_4 == AS_SYMBOL || LA292_4 == BACK_TICK_QUOTED_ID || LA292_4 == BETWEEN_SYMBOL || LA292_4 == BITWISE_AND_OPERATOR || ((LA292_4 >= BITWISE_OR_OPERATOR) && (LA292_4 <= BITWISE_XOR_OPERATOR)) || ((LA292_4 >= CLOSE_CURLY_SYMBOL) && (LA292_4 <= COLLATE_SYMBOL)) || LA292_4 == COMMA_SYMBOL || LA292_4 == CONCAT_PIPES_SYMBOL || LA292_4 == CROSS_SYMBOL || ((LA292_4 >= DIV_OPERATOR) && (LA292_4 <= DIV_SYMBOL)) || LA292_4 == DOUBLE_QUOTED_TEXT || LA292_4 == EQUAL_OPERATOR || LA292_4 == FOR_SYMBOL || LA292_4 == FROM_SYMBOL || ((LA292_4 >= GREATER_OR_EQUAL_OPERATOR) && (LA292_4 <= GREATER_THAN_OPERATOR)) || ((LA292_4 >= GROUP_SYMBOL) && (LA292_4 <= HAVING_SYMBOL)) || LA292_4 == IDENTIFIER || LA292_4 == INNER_SYMBOL || LA292_4 == INTO_SYMBOL || LA292_4 == IN_SYMBOL || LA292_4 == IS_SYMBOL || LA292_4 == JOIN_SYMBOL || ((LA292_4 >= LEFT_SYMBOL) && (LA292_4 <= LESS_THAN_OPERATOR)) || ((LA292_4 >= LIKE_SYMBOL) && (LA292_4 <= LIMIT_SYMBOL)) || LA292_4 == LOCK_SYMBOL || LA292_4 == LOGICAL_AND_OPERATOR || LA292_4 == LOGICAL_OR_OPERATOR || LA292_4 == MINUS_OPERATOR || ((LA292_4 >= MOD_OPERATOR) && (LA292_4 <= MOD_SYMBOL)) || ((LA292_4 >= MULT_OPERATOR) && (LA292_4 <= NATURAL_SYMBOL)) || LA292_4 == NCHAR_TEXT || ((LA292_4 >= NOT_EQUAL2_OPERATOR) && (LA292_4 <= NOT_SYMBOL)) || LA292_4 == NULL_SAFE_EQUAL_OPERATOR || LA292_4 == ON_SYMBOL || LA292_4 == OPEN_PAR_SYMBOL || ((LA292_4 >= ORDER_SYMBOL) && (LA292_4 <= OR_SYMBOL)) || LA292_4 == PLUS_OPERATOR || LA292_4 == PROCEDURE_SYMBOL || LA292_4 == REGEXP_SYMBOL || LA292_4 == RIGHT_SYMBOL || LA292_4 == SEMICOLON_SYMBOL || LA292_4 == SET_SYMBOL || ((LA292_4 >= SHIFT_LEFT_OPERATOR) && (LA292_4 <= SHIFT_RIGHT_OPERATOR)) || LA292_4 == SINGLE_QUOTED_TEXT || LA292_4 == STRAIGHT_JOIN_SYMBOL || LA292_4 == UNDERSCORE_CHARSET || LA292_4 == UNION_SYMBOL || LA292_4 == USING_SYMBOL || LA292_4 == WHERE_SYMBOL || LA292_4 == WITH_SYMBOL || LA292_4 == XOR_SYMBOL))
                        {
                            alt292=2;
                        }
                        else if ( (LA292_4 == DOT_SYMBOL))
                        {
                            {
                                int LA292_273 = LA(3);
                                if ( (synpred1_MySQL(ctx)))
                                {
                                    alt292=1;
                                }
                                else if ( (ANTLR3_TRUE))
                                {
                                    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        = 273;


                                    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  = 292;
                            EXCEPTION->state        = 4;


                            goto ruleselect_itemEx;

                        }
                    }
                }
                else if ( (LA292_0 == PARTITION_SYMBOL))
                {
                    {
                        int LA292_5 = LA(2);
                        if ( (LA292_5 == DOT_SYMBOL))
                        {
                            {
                                int LA292_327 = LA(3);
                                if ( (( (( ((SERVER_VERSION < 50600)) && ((SERVER_VERSION < 50600)) )) && (synpred1_MySQL(ctx)) )))
                                {
                                    alt292=1;
                                }
                                else if ( ((SERVER_VERSION < 50600)))
                                {
                                    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        = 327;


                                    goto ruleselect_itemEx;

                                }
                            }
                        }
                        else if ( (LA292_5 == EOF || ((LA292_5 >= ACTION_SYMBOL) && (LA292_5 <= PARTITION_SYMBOL)) || LA292_5 == AND_SYMBOL || LA292_5 == AS_SYMBOL || LA292_5 == BACK_TICK_QUOTED_ID || LA292_5 == BETWEEN_SYMBOL || LA292_5 == BITWISE_AND_OPERATOR || ((LA292_5 >= BITWISE_OR_OPERATOR) && (LA292_5 <= BITWISE_XOR_OPERATOR)) || ((LA292_5 >= CLOSE_CURLY_SYMBOL) && (LA292_5 <= COLLATE_SYMBOL)) || LA292_5 == COMMA_SYMBOL || LA292_5 == CONCAT_PIPES_SYMBOL || LA292_5 == CROSS_SYMBOL || ((LA292_5 >= DIV_OPERATOR) && (LA292_5 <= DIV_SYMBOL)) || LA292_5 == DOUBLE_QUOTED_TEXT || LA292_5 == EQUAL_OPERATOR || LA292_5 == FOR_SYMBOL || LA292_5 == FROM_SYMBOL || ((LA292_5 >= GREATER_OR_EQUAL_OPERATOR) && (LA292_5 <= GREATER_THAN_OPERATOR)) || ((LA292_5 >= GROUP_SYMBOL) && (LA292_5 <= HAVING_SYMBOL)) || LA292_5 == IDENTIFIER || LA292_5 == INNER_SYMBOL || LA292_5 == INTO_SYMBOL || LA292_5 == IN_SYMBOL || LA292_5 == IS_SYMBOL || LA292_5 == JOIN_SYMBOL || ((LA292_5 >= LEFT_SYMBOL) && (LA292_5 <= LESS_THAN_OPERATOR)) || ((LA292_5 >= LIKE_SYMBOL) && (LA292_5 <= LIMIT_SYMBOL)) || LA292_5 == LOCK_SYMBOL || LA292_5 == LOGICAL_AND_OPERATOR || LA292_5 == LOGICAL_OR_OPERATOR || LA292_5 == MINUS_OPERATOR || ((LA292_5 >= MOD_OPERATOR) && (LA292_5 <= MOD_SYMBOL)) || ((LA292_5 >= MULT_OPERATOR) && (LA292_5 <= NATURAL_SYMBOL)) || LA292_5 == NCHAR_TEXT || ((LA292_5 >= NOT_EQUAL2_OPERATOR) && (LA292_5 <= NOT_SYMBOL)) || LA292_5 == NULL_SAFE_EQUAL_OPERATOR || LA292_5 == ON_SYMBOL || LA292_5 == OPEN_PAR_SYMBOL || ((LA292_5 >= ORDER_SYMBOL) && (LA292_5 <= OR_SYMBOL)) || LA292_5 == PLUS_OPERATOR || LA292_5 == PROCEDURE_SYMBOL || LA292_5 == REGEXP_SYMBOL || LA292_5 == RIGHT_SYMBOL || LA292_5 == SEMICOLON_SYMBOL || LA292_5 == SET_SYMBOL || ((LA292_5 >= SHIFT_LEFT_OPERATOR) && (LA292_5 <= SHIFT_RIGHT_OPERATOR)) || LA292_5 == SINGLE_QUOTED_TEXT || LA292_5 == STRAIGHT_JOIN_SYMBOL || LA292_5 == UNDERSCORE_CHARSET || LA292_5 == UNION_SYMBOL || LA292_5 == USING_SYMBOL || LA292_5 == WHERE_SYMBOL || LA292_5 == WITH_SYMBOL || LA292_5 == XOR_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        = 5;


                            goto ruleselect_itemEx;

                        }
                    }
                }
                else if ( (LA292_0 == ASCII_SYMBOL))
                {
                    {
                        int LA292_6 = LA(2);
                        if ( (LA292_6 == EOF || ((LA292_6 >= ACTION_SYMBOL) && (LA292_6 <= PARTITION_SYMBOL)) || LA292_6 == AND_SYMBOL || LA292_6 == AS_SYMBOL || LA292_6 == BACK_TICK_QUOTED_ID || LA292_6 == BETWEEN_SYMBOL || LA292_6 == BITWISE_AND_OPERATOR || ((LA292_6 >= BITWISE_OR_OPERATOR) && (LA292_6 <= BITWISE_XOR_OPERATOR)) || ((LA292_6 >= CLOSE_CURLY_SYMBOL) && (LA292_6 <= COLLATE_SYMBOL)) || LA292_6 == COMMA_SYMBOL || LA292_6 == CONCAT_PIPES_SYMBOL || LA292_6 == CROSS_SYMBOL || ((LA292_6 >= DIV_OPERATOR) && (LA292_6 <= DIV_SYMBOL)) || LA292_6 == DOUBLE_QUOTED_TEXT || LA292_6 == EQUAL_OPERATOR || LA292_6 == FOR_SYMBOL || LA292_6 == FROM_SYMBOL || ((LA292_6 >= GREATER_OR_EQUAL_OPERATOR) && (LA292_6 <= GREATER_THAN_OPERATOR)) || ((LA292_6 >= GROUP_SYMBOL) && (LA292_6 <= HAVING_SYMBOL)) || LA292_6 == IDENTIFIER || LA292_6 == INNER_SYMBOL || LA292_6 == INTO_SYMBOL || LA292_6 == IN_SYMBOL || LA292_6 == IS_SYMBOL || LA292_6 == JOIN_SYMBOL || ((LA292_6 >= LEFT_SYMBOL) && (LA292_6 <= LESS_THAN_OPERATOR)) || ((LA292_6 >= LIKE_SYMBOL) && (LA292_6 <= LIMIT_SYMBOL)) || LA292_6 == LOCK_SYMBOL || LA292_6 == LOGICAL_AND_OPERATOR || LA292_6 == LOGICAL_OR_OPERATOR || LA292_6 == MINUS_OPERATOR || ((LA292_6 >= MOD_OPERATOR) && (LA292_6 <= MOD_SYMBOL)) || ((LA292_6 >= MULT_OPERATOR) && (LA292_6 <= NATURAL_SYMBOL)) || LA292_6 == NCHAR_TEXT || ((LA292_6 >= NOT_EQUAL2_OPERATOR) && (LA292_6 <= NOT_SYMBOL)) || LA292_6 == NULL_SAFE_EQUAL_OPERATOR || LA292_6 == ON_SYMBOL || LA292_6 == OPEN_PAR_SYMBOL || ((LA292_6 >= ORDER_SYMBOL) && (LA292_6 <= OR_SYMBOL)) || LA292_6 == PLUS_OPERATOR || LA292_6 == PROCEDURE_SYMBOL || LA292_6 == REGEXP_SYMBOL || LA292_6 == RIGHT_SYMBOL || LA292_6 == SEMICOLON_SYMBOL || LA292_6 == SET_SYMBOL || ((LA292_6 >= SHIFT_LEFT_OPERATOR) && (LA292_6 <= SHIFT_RIGHT_OPERATOR)) || LA292_6 == SINGLE_QUOTED_TEXT || LA292_6 == STRAIGHT_JOIN_SYMBOL || LA292_6 == UNDERSCORE_CHARSET || LA292_6 == UNION_SYMBOL || LA292_6 == USING_SYMBOL || LA292_6 == WHERE_SYMBOL || LA292_6 == WITH_SYMBOL || LA292_6 == XOR_SYMBOL))
                        {
                            alt292=2;
                        }
                        else if ( (LA292_6 == DOT_SYMBOL))
                        {
                            {
                                int LA292_384 = LA(3);
                                if ( (synpred1_MySQL(ctx)))
                                {
                                    alt292=1;
                                }
                                else if ( (ANTLR3_TRUE))
                                {
                                    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        = 384;


                                    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  = 292;
                            EXCEPTION->state        = 6;


                            goto ruleselect_itemEx;

                        }
                    }
                }
                else if ( (LA292_0 == BITWISE_NOT_OPERATOR || LA292_0 == FALSE_SYMBOL || LA292_0 == FLOAT || ((LA292_0 >= HEXNUMBER) && (LA292_0 <= HEXSTRING)) || LA292_0 == INTEGER || 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 == TRUE_SYMBOL || LA292_0 == UNDERSCORE_CHARSET))
                {
                    alt292=2;
                }
                else if ( ((SERVER_VERSION >= 50003)) && (((LA292_0 >= BITNUMBER) && (LA292_0 <= BITSTRING))))
                {
                    alt292=2;
                }
                else if ( (((LA292_0 >= AT_AT_SIGN_SYMBOL) && (LA292_0 <= AT_SIGN_SYMBOL)) || 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 == DOT_SYMBOL || LA292_0 == EXISTS_SYMBOL || LA292_0 == EXTRACT_SYMBOL || LA292_0 == GROUP_CONCAT_SYMBOL || 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 <= VALUES_SYMBOL)) || LA292_0 == VARIANCE_SYMBOL || LA292_0 == VAR_SAMP_SYMBOL))
                {
                    alt292=2;
                }
                else if ( (LA292_0 == TIME_SYMBOL))
                {
                    {
                        int LA292_19 = LA(2);
                        if ( (LA292_19 == EOF || ((LA292_19 >= ACTION_SYMBOL) && (LA292_19 <= PARTITION_SYMBOL)) || LA292_19 == AND_SYMBOL || LA292_19 == AS_SYMBOL || LA292_19 == BACK_TICK_QUOTED_ID || LA292_19 == BETWEEN_SYMBOL || LA292_19 == BITWISE_AND_OPERATOR || ((LA292_19 >= BITWISE_OR_OPERATOR) && (LA292_19 <= BITWISE_XOR_OPERATOR)) || ((LA292_19 >= CLOSE_CURLY_SYMBOL) && (LA292_19 <= COLLATE_SYMBOL)) || LA292_19 == COMMA_SYMBOL || LA292_19 == CONCAT_PIPES_SYMBOL || LA292_19 == CROSS_SYMBOL || ((LA292_19 >= DIV_OPERATOR) && (LA292_19 <= DIV_SYMBOL)) || LA292_19 == DOUBLE_QUOTED_TEXT || LA292_19 == EQUAL_OPERATOR || LA292_19 == FOR_SYMBOL || LA292_19 == FROM_SYMBOL || ((LA292_19 >= GREATER_OR_EQUAL_OPERATOR) && (LA292_19 <= GREATER_THAN_OPERATOR)) || ((LA292_19 >= GROUP_SYMBOL) && (LA292_19 <= HAVING_SYMBOL)) || LA292_19 == IDENTIFIER || LA292_19 == INNER_SYMBOL || LA292_19 == INTO_SYMBOL || LA292_19 == IN_SYMBOL || LA292_19 == IS_SYMBOL || LA292_19 == JOIN_SYMBOL || ((LA292_19 >= LEFT_SYMBOL) && (LA292_19 <= LESS_THAN_OPERATOR)) || ((LA292_19 >= LIKE_SYMBOL) && (LA292_19 <= LIMIT_SYMBOL)) || LA292_19 == LOCK_SYMBOL || LA292_19 == LOGICAL_AND_OPERATOR || LA292_19 == LOGICAL_OR_OPERATOR || LA292_19 == MINUS_OPERATOR || ((LA292_19 >= MOD_OPERATOR) && (LA292_19 <= MOD_SYMBOL)) || ((LA292_19 >= MULT_OPERATOR) && (LA292_19 <= NATURAL_SYMBOL)) || LA292_19 == NCHAR_TEXT || ((LA292_19 >= NOT_EQUAL2_OPERATOR) && (LA292_19 <= NOT_SYMBOL)) || LA292_19 == NULL_SAFE_EQUAL_OPERATOR || LA292_19 == ON_SYMBOL || LA292_19 == OPEN_PAR_SYMBOL || ((LA292_19 >= ORDER_SYMBOL) && (LA292_19 <= OR_SYMBOL)) || LA292_19 == PLUS_OPERATOR || LA292_19 == PROCEDURE_SYMBOL || LA292_19 == REGEXP_SYMBOL || LA292_19 == RIGHT_SYMBOL || LA292_19 == SEMICOLON_SYMBOL || LA292_19 == SET_SYMBOL || ((LA292_19 >= SHIFT_LEFT_OPERATOR) && (LA292_19 <= SHIFT_RIGHT_OPERATOR)) || LA292_19 == SINGLE_QUOTED_TEXT || LA292_19 == STRAIGHT_JOIN_SYMBOL || LA292_19 == UNDERSCORE_CHARSET || LA292_19 == UNION_SYMBOL || LA292_19 == USING_SYMBOL || LA292_19 == WHERE_SYMBOL || LA292_19 == WITH_SYMBOL || LA292_19 == XOR_SYMBOL))
                        {
                            alt292=2;
                        }
                        else if ( (LA292_19 == DOT_SYMBOL))
                        {
                            {
                                int LA292_441 = LA(3);
                                if ( (synpred1_MySQL(ctx)))
                                {
                                    alt292=1;
                                }
                                else if ( (ANTLR3_TRUE))
                                {
                                    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        = 441;


                                    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  = 292;
                            EXCEPTION->state        = 19;


                            goto ruleselect_itemEx;

                        }
                    }
                }
                else if ( (LA292_0 == TIMESTAMP_SYMBOL))
                {
                    {
                        int LA292_20 = LA(2);
                        if ( (LA292_20 == EOF || ((LA292_20 >= ACTION_SYMBOL) && (LA292_20 <= PARTITION_SYMBOL)) || LA292_20 == AND_SYMBOL || LA292_20 == AS_SYMBOL || LA292_20 == BACK_TICK_QUOTED_ID || LA292_20 == BETWEEN_SYMBOL || LA292_20 == BITWISE_AND_OPERATOR || ((LA292_20 >= BITWISE_OR_OPERATOR) && (LA292_20 <= BITWISE_XOR_OPERATOR)) || ((LA292_20 >= CLOSE_CURLY_SYMBOL) && (LA292_20 <= COLLATE_SYMBOL)) || LA292_20 == COMMA_SYMBOL || LA292_20 == CONCAT_PIPES_SYMBOL || LA292_20 == CROSS_SYMBOL || ((LA292_20 >= DIV_OPERATOR) && (LA292_20 <= DIV_SYMBOL)) || LA292_20 == DOUBLE_QUOTED_TEXT || LA292_20 == EQUAL_OPERATOR || LA292_20 == FOR_SYMBOL || LA292_20 == FROM_SYMBOL || ((LA292_20 >= GREATER_OR_EQUAL_OPERATOR) && (LA292_20 <= GREATER_THAN_OPERATOR)) || ((LA292_20 >= GROUP_SYMBOL) && (LA292_20 <= HAVING_SYMBOL)) || LA292_20 == IDENTIFIER || LA292_20 == INNER_SYMBOL || LA292_20 == INTO_SYMBOL || LA292_20 == IN_SYMBOL || LA292_20 == IS_SYMBOL || LA292_20 == JOIN_SYMBOL || ((LA292_20 >= LEFT_SYMBOL) && (LA292_20 <= LESS_THAN_OPERATOR)) || ((LA292_20 >= LIKE_SYMBOL) && (LA292_20 <= LIMIT_SYMBOL)) || LA292_20 == LOCK_SYMBOL || LA292_20 == LOGICAL_AND_OPERATOR || LA292_20 == LOGICAL_OR_OPERATOR || LA292_20 == MINUS_OPERATOR || ((LA292_20 >= MOD_OPERATOR) && (LA292_20 <= MOD_SYMBOL)) || ((LA292_20 >= MULT_OPERATOR) && (LA292_20 <= NATURAL_SYMBOL)) || LA292_20 == NCHAR_TEXT || ((LA292_20 >= NOT_EQUAL2_OPERATOR) && (LA292_20 <= NOT_SYMBOL)) || LA292_20 == NULL_SAFE_EQUAL_OPERATOR || LA292_20 == ON_SYMBOL || LA292_20 == OPEN_PAR_SYMBOL || ((LA292_20 >= ORDER_SYMBOL) && (LA292_20 <= OR_SYMBOL)) || LA292_20 == PLUS_OPERATOR || LA292_20 == PROCEDURE_SYMBOL || LA292_20 == REGEXP_SYMBOL || LA292_20 == RIGHT_SYMBOL || LA292_20 == SEMICOLON_SYMBOL || LA292_20 == SET_SYMBOL || ((LA292_20 >= SHIFT_LEFT_OPERATOR) && (LA292_20 <= SHIFT_RIGHT_OPERATOR)) || LA292_20 == SINGLE_QUOTED_TEXT || LA292_20 == STRAIGHT_JOIN_SYMBOL || LA292_20 == UNDERSCORE_CHARSET || LA292_20 == UNION_SYMBOL || LA292_20 == USING_SYMBOL || LA292_20 == WHERE_SYMBOL || LA292_20 == WITH_SYMBOL || LA292_20 == XOR_SYMBOL))
                        {
                            alt292=2;
                        }
                        else if ( (LA292_20 == DOT_SYMBOL))
                        {
                            {
                                int LA292_497 = LA(3);
                                if ( (synpred1_MySQL(ctx)))
                                {
                                    alt292=1;
                                }
                                else if ( (ANTLR3_TRUE))
                                {
                                    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        = 497;


                                    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  = 292;
                            EXCEPTION->state        = 20;


                            goto ruleselect_itemEx;

                        }
                    }
                }
                else if ( (LA292_0 == DAY_SYMBOL))
                {
                    {
                        int LA292_21 = LA(2);
                        if ( (LA292_21 == EOF || ((LA292_21 >= ACTION_SYMBOL) && (LA292_21 <= PARTITION_SYMBOL)) || LA292_21 == AND_SYMBOL || LA292_21 == AS_SYMBOL || LA292_21 == BACK_TICK_QUOTED_ID || LA292_21 == BETWEEN_SYMBOL || LA292_21 == BITWISE_AND_OPERATOR || ((LA292_21 >= BITWISE_OR_OPERATOR) && (LA292_21 <= BITWISE_XOR_OPERATOR)) || ((LA292_21 >= CLOSE_CURLY_SYMBOL) && (LA292_21 <= COLLATE_SYMBOL)) || LA292_21 == COMMA_SYMBOL || LA292_21 == CONCAT_PIPES_SYMBOL || LA292_21 == CROSS_SYMBOL || ((LA292_21 >= DIV_OPERATOR) && (LA292_21 <= DIV_SYMBOL)) || LA292_21 == DOUBLE_QUOTED_TEXT || LA292_21 == EQUAL_OPERATOR || LA292_21 == FOR_SYMBOL || LA292_21 == FROM_SYMBOL || ((LA292_21 >= GREATER_OR_EQUAL_OPERATOR) && (LA292_21 <= GREATER_THAN_OPERATOR)) || ((LA292_21 >= GROUP_SYMBOL) && (LA292_21 <= HAVING_SYMBOL)) || LA292_21 == IDENTIFIER || LA292_21 == INNER_SYMBOL || LA292_21 == INTO_SYMBOL || LA292_21 == IN_SYMBOL || LA292_21 == IS_SYMBOL || LA292_21 == JOIN_SYMBOL || ((LA292_21 >= LEFT_SYMBOL) && (LA292_21 <= LESS_THAN_OPERATOR)) || ((LA292_21 >= LIKE_SYMBOL) && (LA292_21 <= LIMIT_SYMBOL)) || LA292_21 == LOCK_SYMBOL || LA292_21 == LOGICAL_AND_OPERATOR || LA292_21 == LOGICAL_OR_OPERATOR || LA292_21 == MINUS_OPERATOR || ((LA292_21 >= MOD_OPERATOR) && (LA292_21 <= MOD_SYMBOL)) || ((LA292_21 >= MULT_OPERATOR) && (LA292_21 <= NATURAL_SYMBOL)) || LA292_21 == NCHAR_TEXT || ((LA292_21 >= NOT_EQUAL2_OPERATOR) && (LA292_21 <= NOT_SYMBOL)) || LA292_21 == NULL_SAFE_EQUAL_OPERATOR || LA292_21 == ON_SYMBOL || LA292_21 == OPEN_PAR_SYMBOL || ((LA292_21 >= ORDER_SYMBOL) && (LA292_21 <= OR_SYMBOL)) || LA292_21 == PLUS_OPERATOR || LA292_21 == PROCEDURE_SYMBOL || LA292_21 == REGEXP_SYMBOL || LA292_21 == RIGHT_SYMBOL || LA292_21 == SEMICOLON_SYMBOL || LA292_21 == SET_SYMBOL || ((LA292_21 >= SHIFT_LEFT_OPERATOR) && (LA292_21 <= SHIFT_RIGHT_OPERATOR)) || LA292_21 == SINGLE_QUOTED_TEXT || LA292_21 == STRAIGHT_JOIN_SYMBOL || LA292_21 == UNDERSCORE_CHARSET || LA292_21 == UNION_SYMBOL || LA292_21 == USING_SYMBOL || LA292_21 == WHERE_SYMBOL || LA292_21 == WITH_SYMBOL || LA292_21 == XOR_SYMBOL))
                        {
                            alt292=2;
                        }
                        else if ( (LA292_21 == DOT_SYMBOL))
                        {
                            {
                                int LA292_552 = LA(3);
                                if ( (synpred1_MySQL(ctx)))
                                {
                                    alt292=1;
                                }
                                else if ( (ANTLR3_TRUE))
                                {
                                    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        = 552;


                                    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  = 292;
                            EXCEPTION->state        = 21;


                            goto ruleselect_itemEx;

                        }
                    }
                }
                else if ( (LA292_0 == HOUR_SYMBOL))
                {
                    {
                        int LA292_25 = LA(2);
                        if ( (LA292_25 == EOF || ((LA292_25 >= ACTION_SYMBOL) && (LA292_25 <= PARTITION_SYMBOL)) || LA292_25 == AND_SYMBOL || LA292_25 == AS_SYMBOL || LA292_25 == BACK_TICK_QUOTED_ID || LA292_25 == BETWEEN_SYMBOL || LA292_25 == BITWISE_AND_OPERATOR || ((LA292_25 >= BITWISE_OR_OPERATOR) && (LA292_25 <= BITWISE_XOR_OPERATOR)) || ((LA292_25 >= CLOSE_CURLY_SYMBOL) && (LA292_25 <= COLLATE_SYMBOL)) || LA292_25 == COMMA_SYMBOL || LA292_25 == CONCAT_PIPES_SYMBOL || LA292_25 == CROSS_SYMBOL || ((LA292_25 >= DIV_OPERATOR) && (LA292_25 <= DIV_SYMBOL)) || LA292_25 == DOUBLE_QUOTED_TEXT || LA292_25 == EQUAL_OPERATOR || LA292_25 == FOR_SYMBOL || LA292_25 == FROM_SYMBOL || ((LA292_25 >= GREATER_OR_EQUAL_OPERATOR) && (LA292_25 <= GREATER_THAN_OPERATOR)) || ((LA292_25 >= GROUP_SYMBOL) && (LA292_25 <= HAVING_SYMBOL)) || LA292_25 == IDENTIFIER || LA292_25 == INNER_SYMBOL || LA292_25 == INTO_SYMBOL || LA292_25 == IN_SYMBOL || LA292_25 == IS_SYMBOL || LA292_25 == JOIN_SYMBOL || ((LA292_25 >= LEFT_SYMBOL) && (LA292_25 <= LESS_THAN_OPERATOR)) || ((LA292_25 >= LIKE_SYMBOL) && (LA292_25 <= LIMIT_SYMBOL)) || LA292_25 == LOCK_SYMBOL || LA292_25 == LOGICAL_AND_OPERATOR || LA292_25 == LOGICAL_OR_OPERATOR || LA292_25 == MINUS_OPERATOR || ((LA292_25 >= MOD_OPERATOR) && (LA292_25 <= MOD_SYMBOL)) || ((LA292_25 >= MULT_OPERATOR) && (LA292_25 <= NATURAL_SYMBOL)) || LA292_25 == NCHAR_TEXT || ((LA292_25 >= NOT_EQUAL2_OPERATOR) && (LA292_25 <= NOT_SYMBOL)) || LA292_25 == NULL_SAFE_EQUAL_OPERATOR || LA292_25 == ON_SYMBOL || LA292_25 == OPEN_PAR_SYMBOL || ((LA292_25 >= ORDER_SYMBOL) && (LA292_25 <= OR_SYMBOL)) || LA292_25 == PLUS_OPERATOR || LA292_25 == PROCEDURE_SYMBOL || LA292_25 == REGEXP_SYMBOL || LA292_25 == RIGHT_SYMBOL || LA292_25 == SEMICOLON_SYMBOL || LA292_25 == SET_SYMBOL || ((LA292_25 >= SHIFT_LEFT_OPERATOR) && (LA292_25 <= SHIFT_RIGHT_OPERATOR)) || LA292_25 == SINGLE_QUOTED_TEXT || LA292_25 == STRAIGHT_JOIN_SYMBOL || LA292_25 == UNDERSCORE_CHARSET || LA292_25 == UNION_SYMBOL || LA292_25 == USING_SYMBOL || LA292_25 == WHERE_SYMBOL || LA292_25 == WITH_SYMBOL || LA292_25 == XOR_SYMBOL))
                        {
                            alt292=2;
                        }
                        else if ( (LA292_25 == DOT_SYMBOL))
                        {
                            {
                                int LA292_608 = LA(3);
                                if ( (synpred1_MySQL(ctx)))
                                {
                                    alt292=1;
                                }
                                else if ( (ANTLR3_TRUE))
                                {
                                    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        = 608;


                                    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  = 292;
                            EXCEPTION->state        = 25;


                            goto ruleselect_itemEx;

                        }
                    }
                }
                else if ( (LA292_0 == MINUTE_SYMBOL))
                {
                    {
                        int LA292_26 = LA(2);
                        if ( (LA292_26 == EOF || ((LA292_26 >= ACTION_SYMBOL) && (LA292_26 <= PARTITION_SYMBOL)) || LA292_26 == AND_SYMBOL || LA292_26 == AS_SYMBOL || LA292_26 == BACK_TICK_QUOTED_ID || LA292_26 == BETWEEN_SYMBOL || LA292_26 == BITWISE_AND_OPERATOR || ((LA292_26 >= BITWISE_OR_OPERATOR) && (LA292_26 <= BITWISE_XOR_OPERATOR)) || ((LA292_26 >= CLOSE_CURLY_SYMBOL) && (LA292_26 <= COLLATE_SYMBOL)) || LA292_26 == COMMA_SYMBOL || LA292_26 == CONCAT_PIPES_SYMBOL || LA292_26 == CROSS_SYMBOL || ((LA292_26 >= DIV_OPERATOR) && (LA292_26 <= DIV_SYMBOL)) || LA292_26 == DOUBLE_QUOTED_TEXT || LA292_26 == EQUAL_OPERATOR || LA292_26 == FOR_SYMBOL || LA292_26 == FROM_SYMBOL || ((LA292_26 >= GREATER_OR_EQUAL_OPERATOR) && (LA292_26 <= GREATER_THAN_OPERATOR)) || ((LA292_26 >= GROUP_SYMBOL) && (LA292_26 <= HAVING_SYMBOL)) || LA292_26 == IDENTIFIER || LA292_26 == INNER_SYMBOL || LA292_26 == INTO_SYMBOL || LA292_26 == IN_SYMBOL || LA292_26 == IS_SYMBOL || LA292_26 == JOIN_SYMBOL || ((LA292_26 >= LEFT_SYMBOL) && (LA292_26 <= LESS_THAN_OPERATOR)) || ((LA292_26 >= LIKE_SYMBOL) && (LA292_26 <= LIMIT_SYMBOL)) || LA292_26 == LOCK_SYMBOL || LA292_26 == LOGICAL_AND_OPERATOR || LA292_26 == LOGICAL_OR_OPERATOR || LA292_26 == MINUS_OPERATOR || ((LA292_26 >= MOD_OPERATOR) && (LA292_26 <= MOD_SYMBOL)) || ((LA292_26 >= MULT_OPERATOR) && (LA292_26 <= NATURAL_SYMBOL)) || LA292_26 == NCHAR_TEXT || ((LA292_26 >= NOT_EQUAL2_OPERATOR) && (LA292_26 <= NOT_SYMBOL)) || LA292_26 == NULL_SAFE_EQUAL_OPERATOR || LA292_26 == ON_SYMBOL || LA292_26 == OPEN_PAR_SYMBOL || ((LA292_26 >= ORDER_SYMBOL) && (LA292_26 <= OR_SYMBOL)) || LA292_26 == PLUS_OPERATOR || LA292_26 == PROCEDURE_SYMBOL || LA292_26 == REGEXP_SYMBOL || LA292_26 == RIGHT_SYMBOL || LA292_26 == SEMICOLON_SYMBOL || LA292_26 == SET_SYMBOL || ((LA292_26 >= SHIFT_LEFT_OPERATOR) && (LA292_26 <= SHIFT_RIGHT_OPERATOR)) || LA292_26 == SINGLE_QUOTED_TEXT || LA292_26 == STRAIGHT_JOIN_SYMBOL || LA292_26 == UNDERSCORE_CHARSET || LA292_26 == UNION_SYMBOL || LA292_26 == USING_SYMBOL || LA292_26 == WHERE_SYMBOL || LA292_26 == WITH_SYMBOL || LA292_26 == XOR_SYMBOL))
                        {
                            alt292=2;
                        }
                        else if ( (LA292_26 == DOT_SYMBOL))
                        {
                            {
                                int LA292_664 = LA(3);
                                if ( (synpred1_MySQL(ctx)))
                                {
                                    alt292=1;
                                }
                                else if ( (ANTLR3_TRUE))
                                {
                                    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        = 664;


                                    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  = 292;
                            EXCEPTION->state        = 26;


                            goto ruleselect_itemEx;

                        }
                    }
                }
                else if ( (LA292_0 == MONTH_SYMBOL))
                {
                    {
                        int LA292_29 = LA(2);
                        if ( (LA292_29 == EOF || ((LA292_29 >= ACTION_SYMBOL) && (LA292_29 <= PARTITION_SYMBOL)) || LA292_29 == AND_SYMBOL || LA292_29 == AS_SYMBOL || LA292_29 == BACK_TICK_QUOTED_ID || LA292_29 == BETWEEN_SYMBOL || LA292_29 == BITWISE_AND_OPERATOR || ((LA292_29 >= BITWISE_OR_OPERATOR) && (LA292_29 <= BITWISE_XOR_OPERATOR)) || ((LA292_29 >= CLOSE_CURLY_SYMBOL) && (LA292_29 <= COLLATE_SYMBOL)) || LA292_29 == COMMA_SYMBOL || LA292_29 == CONCAT_PIPES_SYMBOL || LA292_29 == CROSS_SYMBOL || ((LA292_29 >= DIV_OPERATOR) && (LA292_29 <= DIV_SYMBOL)) || LA292_29 == DOUBLE_QUOTED_TEXT || LA292_29 == EQUAL_OPERATOR || LA292_29 == FOR_SYMBOL || LA292_29 == FROM_SYMBOL || ((LA292_29 >= GREATER_OR_EQUAL_OPERATOR) && (LA292_29 <= GREATER_THAN_OPERATOR)) || ((LA292_29 >= GROUP_SYMBOL) && (LA292_29 <= HAVING_SYMBOL)) || LA292_29 == IDENTIFIER || LA292_29 == INNER_SYMBOL || LA292_29 == INTO_SYMBOL || LA292_29 == IN_SYMBOL || LA292_29 == IS_SYMBOL || LA292_29 == JOIN_SYMBOL || ((LA292_29 >= LEFT_SYMBOL) && (LA292_29 <= LESS_THAN_OPERATOR)) || ((LA292_29 >= LIKE_SYMBOL) && (LA292_29 <= LIMIT_SYMBOL)) || LA292_29 == LOCK_SYMBOL || LA292_29 == LOGICAL_AND_OPERATOR || LA292_29 == LOGICAL_OR_OPERATOR || LA292_29 == MINUS_OPERATOR || ((LA292_29 >= MOD_OPERATOR) && (LA292_29 <= MOD_SYMBOL)) || ((LA292_29 >= MULT_OPERATOR) && (LA292_29 <= NATURAL_SYMBOL)) || LA292_29 == NCHAR_TEXT || ((LA292_29 >= NOT_EQUAL2_OPERATOR) && (LA292_29 <= NOT_SYMBOL)) || LA292_29 == NULL_SAFE_EQUAL_OPERATOR || LA292_29 == ON_SYMBOL || LA292_29 == OPEN_PAR_SYMBOL || ((LA292_29 >= ORDER_SYMBOL) && (LA292_29 <= OR_SYMBOL)) || LA292_29 == PLUS_OPERATOR || LA292_29 == PROCEDURE_SYMBOL || LA292_29 == REGEXP_SYMBOL || LA292_29 == RIGHT_SYMBOL || LA292_29 == SEMICOLON_SYMBOL || LA292_29 == SET_SYMBOL || ((LA292_29 >= SHIFT_LEFT_OPERATOR) && (LA292_29 <= SHIFT_RIGHT_OPERATOR)) || LA292_29 == SINGLE_QUOTED_TEXT || LA292_29 == STRAIGHT_JOIN_SYMBOL || LA292_29 == UNDERSCORE_CHARSET || LA292_29 == UNION_SYMBOL || LA292_29 == USING_SYMBOL || LA292_29 == WHERE_SYMBOL || LA292_29 == WITH_SYMBOL || LA292_29 == XOR_SYMBOL))
                        {
                            alt292=2;
                        }
                        else if ( (LA292_29 == DOT_SYMBOL))
                        {
                            {
                                int LA292_720 = LA(3);
                                if ( (synpred1_MySQL(ctx)))
                                {
                                    alt292=1;
                                }
                                else if ( (ANTLR3_TRUE))
                                {
                                    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        = 720;


                                    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  = 292;
                            EXCEPTION->state        = 29;


                            goto ruleselect_itemEx;

                        }
                    }
                }
                else if ( (LA292_0 == SECOND_SYMBOL))
                {
                    {
                        int LA292_30 = LA(2);
                        if ( (LA292_30 == EOF || ((LA292_30 >= ACTION_SYMBOL) && (LA292_30 <= PARTITION_SYMBOL)) || LA292_30 == AND_SYMBOL || LA292_30 == AS_SYMBOL || LA292_30 == BACK_TICK_QUOTED_ID || LA292_30 == BETWEEN_SYMBOL || LA292_30 == BITWISE_AND_OPERATOR || ((LA292_30 >= BITWISE_OR_OPERATOR) && (LA292_30 <= BITWISE_XOR_OPERATOR)) || ((LA292_30 >= CLOSE_CURLY_SYMBOL) && (LA292_30 <= COLLATE_SYMBOL)) || LA292_30 == COMMA_SYMBOL || LA292_30 == CONCAT_PIPES_SYMBOL || LA292_30 == CROSS_SYMBOL || ((LA292_30 >= DIV_OPERATOR) && (LA292_30 <= DIV_SYMBOL)) || LA292_30 == DOUBLE_QUOTED_TEXT || LA292_30 == EQUAL_OPERATOR || LA292_30 == FOR_SYMBOL || LA292_30 == FROM_SYMBOL || ((LA292_30 >= GREATER_OR_EQUAL_OPERATOR) && (LA292_30 <= GREATER_THAN_OPERATOR)) || ((LA292_30 >= GROUP_SYMBOL) && (LA292_30 <= HAVING_SYMBOL)) || LA292_30 == IDENTIFIER || LA292_30 == INNER_SYMBOL || LA292_30 == INTO_SYMBOL || LA292_30 == IN_SYMBOL || LA292_30 == IS_SYMBOL || LA292_30 == JOIN_SYMBOL || ((LA292_30 >= LEFT_SYMBOL) && (LA292_30 <= LESS_THAN_OPERATOR)) || ((LA292_30 >= LIKE_SYMBOL) && (LA292_30 <= LIMIT_SYMBOL)) || LA292_30 == LOCK_SYMBOL || LA292_30 == LOGICAL_AND_OPERATOR || LA292_30 == LOGICAL_OR_OPERATOR || LA292_30 == MINUS_OPERATOR || ((LA292_30 >= MOD_OPERATOR) && (LA292_30 <= MOD_SYMBOL)) || ((LA292_30 >= MULT_OPERATOR) && (LA292_30 <= NATURAL_SYMBOL)) || LA292_30 == NCHAR_TEXT || ((LA292_30 >= NOT_EQUAL2_OPERATOR) && (LA292_30 <= NOT_SYMBOL)) || LA292_30 == NULL_SAFE_EQUAL_OPERATOR || LA292_30 == ON_SYMBOL || LA292_30 == OPEN_PAR_SYMBOL || ((LA292_30 >= ORDER_SYMBOL) && (LA292_30 <= OR_SYMBOL)) || LA292_30 == PLUS_OPERATOR || LA292_30 == PROCEDURE_SYMBOL || LA292_30 == REGEXP_SYMBOL || LA292_30 == RIGHT_SYMBOL || LA292_30 == SEMICOLON_SYMBOL || LA292_30 == SET_SYMBOL || ((LA292_30 >= SHIFT_LEFT_OPERATOR) && (LA292_30 <= SHIFT_RIGHT_OPERATOR)) || LA292_30 == SINGLE_QUOTED_TEXT || LA292_30 == STRAIGHT_JOIN_SYMBOL || LA292_30 == UNDERSCORE_CHARSET || LA292_30 == UNION_SYMBOL || LA292_30 == USING_SYMBOL || LA292_30 == WHERE_SYMBOL || LA292_30 == WITH_SYMBOL || LA292_30 == XOR_SYMBOL))
                        {
                            alt292=2;
                        }
                        else if ( (LA292_30 == DOT_SYMBOL))
                        {
                            {
                                int LA292_776 = LA(3);
                                if ( (synpred1_MySQL(ctx)))
                                {
                                    alt292=1;
                                }
                                else if ( (ANTLR3_TRUE))
                                {
                                    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        = 776;


                                    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  = 292;
                            EXCEPTION->state        = 30;


                            goto ruleselect_itemEx;

                        }
                    }
                }
                else if ( (LA292_0 == USER_SYMBOL))
                {
                    {
                        int LA292_32 = LA(2);
                        if ( (LA292_32 == DOT_SYMBOL))
                        {
                            {
                                int LA292_831 = LA(3);
                                if ( (synpred1_MySQL(ctx)))
                                {
                                    alt292=1;
                                }
                                else if ( (ANTLR3_TRUE))
                                {
                                    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        = 831;


                                    goto ruleselect_itemEx;

                                }
                            }
                        }
                        else if ( (LA292_32 == EOF || ((LA292_32 >= ACTION_SYMBOL) && (LA292_32 <= PARTITION_SYMBOL)) || LA292_32 == AND_SYMBOL || LA292_32 == AS_SYMBOL || LA292_32 == BACK_TICK_QUOTED_ID || LA292_32 == BETWEEN_SYMBOL || LA292_32 == BITWISE_AND_OPERATOR || ((LA292_32 >= BITWISE_OR_OPERATOR) && (LA292_32 <= BITWISE_XOR_OPERATOR)) || ((LA292_32 >= CLOSE_CURLY_SYMBOL) && (LA292_32 <= COLLATE_SYMBOL)) || LA292_32 == COMMA_SYMBOL || LA292_32 == CONCAT_PIPES_SYMBOL || LA292_32 == CROSS_SYMBOL || ((LA292_32 >= DIV_OPERATOR) && (LA292_32 <= DIV_SYMBOL)) || LA292_32 == DOUBLE_QUOTED_TEXT || LA292_32 == EQUAL_OPERATOR || LA292_32 == FOR_SYMBOL || LA292_32 == FROM_SYMBOL || ((LA292_32 >= GREATER_OR_EQUAL_OPERATOR) && (LA292_32 <= GREATER_THAN_OPERATOR)) || ((LA292_32 >= GROUP_SYMBOL) && (LA292_32 <= HAVING_SYMBOL)) || LA292_32 == IDENTIFIER || LA292_32 == INNER_SYMBOL || LA292_32 == INTO_SYMBOL || LA292_32 == IN_SYMBOL || LA292_32 == IS_SYMBOL || LA292_32 == JOIN_SYMBOL || ((LA292_32 >= LEFT_SYMBOL) && (LA292_32 <= LESS_THAN_OPERATOR)) || ((LA292_32 >= LIKE_SYMBOL) && (LA292_32 <= LIMIT_SYMBOL)) || LA292_32 == LOCK_SYMBOL || LA292_32 == LOGICAL_AND_OPERATOR || LA292_32 == LOGICAL_OR_OPERATOR || LA292_32 == MINUS_OPERATOR || ((LA292_32 >= MOD_OPERATOR) && (LA292_32 <= MOD_SYMBOL)) || ((LA292_32 >= MULT_OPERATOR) && (LA292_32 <= NATURAL_SYMBOL)) || LA292_32 == NCHAR_TEXT || ((LA292_32 >= NOT_EQUAL2_OPERATOR) && (LA292_32 <= NOT_SYMBOL)) || LA292_32 == NULL_SAFE_EQUAL_OPERATOR || LA292_32 == ON_SYMBOL || LA292_32 == OPEN_PAR_SYMBOL || ((LA292_32 >= ORDER_SYMBOL) && (LA292_32 <= OR_SYMBOL)) || LA292_32 == PLUS_OPERATOR || LA292_32 == PROCEDURE_SYMBOL || LA292_32 == REGEXP_SYMBOL || LA292_32 == RIGHT_SYMBOL || LA292_32 == SEMICOLON_SYMBOL || LA292_32 == SET_SYMBOL || ((LA292_32 >= SHIFT_LEFT_OPERATOR) && (LA292_32 <= SHIFT_RIGHT_OPERATOR)) || LA292_32 == SINGLE_QUOTED_TEXT || LA292_32 == STRAIGHT_JOIN_SYMBOL || LA292_32 == UNDERSCORE_CHARSET || LA292_32 == UNION_SYMBOL || LA292_32 == USING_SYMBOL || LA292_32 == WHERE_SYMBOL || LA292_32 == WITH_SYMBOL || LA292_32 == XOR_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        = 32;


                            goto ruleselect_itemEx;

                        }
                    }
                }
                else if ( (LA292_0 == YEAR_SYMBOL))
                {
                    {
                        int LA292_34 = LA(2);
                        if ( (LA292_34 == EOF || ((LA292_34 >= ACTION_SYMBOL) && (LA292_34 <= PARTITION_SYMBOL)) || LA292_34 == AND_SYMBOL || LA292_34 == AS_SYMBOL || LA292_34 == BACK_TICK_QUOTED_ID || LA292_34 == BETWEEN_SYMBOL || LA292_34 == BITWISE_AND_OPERATOR || ((LA292_34 >= BITWISE_OR_OPERATOR) && (LA292_34 <= BITWISE_XOR_OPERATOR)) || ((LA292_34 >= CLOSE_CURLY_SYMBOL) && (LA292_34 <= COLLATE_SYMBOL)) || LA292_34 == COMMA_SYMBOL || LA292_34 == CONCAT_PIPES_SYMBOL || LA292_34 == CROSS_SYMBOL || ((LA292_34 >= DIV_OPERATOR) && (LA292_34 <= DIV_SYMBOL)) || LA292_34 == DOUBLE_QUOTED_TEXT || LA292_34 == EQUAL_OPERATOR || LA292_34 == FOR_SYMBOL || LA292_34 == FROM_SYMBOL || ((LA292_34 >= GREATER_OR_EQUAL_OPERATOR) && (LA292_34 <= GREATER_THAN_OPERATOR)) || ((LA292_34 >= GROUP_SYMBOL) && (LA292_34 <= HAVING_SYMBOL)) || LA292_34 == IDENTIFIER || LA292_34 == INNER_SYMBOL || LA292_34 == INTO_SYMBOL || LA292_34 == IN_SYMBOL || LA292_34 == IS_SYMBOL || LA292_34 == JOIN_SYMBOL || ((LA292_34 >= LEFT_SYMBOL) && (LA292_34 <= LESS_THAN_OPERATOR)) || ((LA292_34 >= LIKE_SYMBOL) && (LA292_34 <= LIMIT_SYMBOL)) || LA292_34 == LOCK_SYMBOL || LA292_34 == LOGICAL_AND_OPERATOR || LA292_34 == LOGICAL_OR_OPERATOR || LA292_34 == MINUS_OPERATOR || ((LA292_34 >= MOD_OPERATOR) && (LA292_34 <= MOD_SYMBOL)) || ((LA292_34 >= MULT_OPERATOR) && (LA292_34 <= NATURAL_SYMBOL)) || LA292_34 == NCHAR_TEXT || ((LA292_34 >= NOT_EQUAL2_OPERATOR) && (LA292_34 <= NOT_SYMBOL)) || LA292_34 == NULL_SAFE_EQUAL_OPERATOR || LA292_34 == ON_SYMBOL || LA292_34 == OPEN_PAR_SYMBOL || ((LA292_34 >= ORDER_SYMBOL) && (LA292_34 <= OR_SYMBOL)) || LA292_34 == PLUS_OPERATOR || LA292_34 == PROCEDURE_SYMBOL || LA292_34 == REGEXP_SYMBOL || LA292_34 == RIGHT_SYMBOL || LA292_34 == SEMICOLON_SYMBOL || LA292_34 == SET_SYMBOL || ((LA292_34 >= SHIFT_LEFT_OPERATOR) && (LA292_34 <= SHIFT_RIGHT_OPERATOR)) || LA292_34 == SINGLE_QUOTED_TEXT || LA292_34 == STRAIGHT_JOIN_SYMBOL || LA292_34 == UNDERSCORE_CHARSET || LA292_34 == UNION_SYMBOL || LA292_34 == USING_SYMBOL || LA292_34 == WHERE_SYMBOL || LA292_34 == WITH_SYMBOL || LA292_34 == XOR_SYMBOL))
                        {
                            alt292=2;
                        }
                        else if ( (LA292_34 == DOT_SYMBOL))
                        {
                            {
                                int LA292_888 = LA(3);
                                if ( (synpred1_MySQL(ctx)))
                                {
                                    alt292=1;
                                }
                                else if ( (ANTLR3_TRUE))
                                {
                                    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        = 888;


                                    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  = 292;
                            EXCEPTION->state        = 34;


                            goto ruleselect_itemEx;

                        }
                    }
                }
                else if ( (LA292_0 == ADDDATE_SYMBOL || LA292_0 == SUBDATE_SYMBOL))
                {
                    {
                        int LA292_36 = LA(2);
                        if ( (LA292_36 == EOF || ((LA292_36 >= ACTION_SYMBOL) && (LA292_36 <= PARTITION_SYMBOL)) || LA292_36 == AND_SYMBOL || LA292_36 == AS_SYMBOL || LA292_36 == BACK_TICK_QUOTED_ID || LA292_36 == BETWEEN_SYMBOL || LA292_36 == BITWISE_AND_OPERATOR || ((LA292_36 >= BITWISE_OR_OPERATOR) && (LA292_36 <= BITWISE_XOR_OPERATOR)) || ((LA292_36 >= CLOSE_CURLY_SYMBOL) && (LA292_36 <= COLLATE_SYMBOL)) || LA292_36 == COMMA_SYMBOL || LA292_36 == CONCAT_PIPES_SYMBOL || LA292_36 == CROSS_SYMBOL || ((LA292_36 >= DIV_OPERATOR) && (LA292_36 <= DIV_SYMBOL)) || LA292_36 == DOUBLE_QUOTED_TEXT || LA292_36 == EQUAL_OPERATOR || LA292_36 == FOR_SYMBOL || LA292_36 == FROM_SYMBOL || ((LA292_36 >= GREATER_OR_EQUAL_OPERATOR) && (LA292_36 <= GREATER_THAN_OPERATOR)) || ((LA292_36 >= GROUP_SYMBOL) && (LA292_36 <= HAVING_SYMBOL)) || LA292_36 == IDENTIFIER || LA292_36 == INNER_SYMBOL || LA292_36 == INTO_SYMBOL || LA292_36 == IN_SYMBOL || LA292_36 == IS_SYMBOL || LA292_36 == JOIN_SYMBOL || ((LA292_36 >= LEFT_SYMBOL) && (LA292_36 <= LESS_THAN_OPERATOR)) || ((LA292_36 >= LIKE_SYMBOL) && (LA292_36 <= LIMIT_SYMBOL)) || LA292_36 == LOCK_SYMBOL || LA292_36 == LOGICAL_AND_OPERATOR || LA292_36 == LOGICAL_OR_OPERATOR || LA292_36 == MINUS_OPERATOR || ((LA292_36 >= MOD_OPERATOR) && (LA292_36 <= MOD_SYMBOL)) || ((LA292_36 >= MULT_OPERATOR) && (LA292_36 <= NATURAL_SYMBOL)) || LA292_36 == NCHAR_TEXT || ((LA292_36 >= NOT_EQUAL2_OPERATOR) && (LA292_36 <= NOT_SYMBOL)) || LA292_36 == NULL_SAFE_EQUAL_OPERATOR || LA292_36 == ON_SYMBOL || LA292_36 == OPEN_PAR_SYMBOL || ((LA292_36 >= ORDER_SYMBOL) && (LA292_36 <= OR_SYMBOL)) || LA292_36 == PLUS_OPERATOR || LA292_36 == PROCEDURE_SYMBOL || LA292_36 == REGEXP_SYMBOL || LA292_36 == RIGHT_SYMBOL || LA292_36 == SEMICOLON_SYMBOL || LA292_36 == SET_SYMBOL || ((LA292_36 >= SHIFT_LEFT_OPERATOR) && (LA292_36 <= SHIFT_RIGHT_OPERATOR)) || LA292_36 == SINGLE_QUOTED_TEXT || LA292_36 == STRAIGHT_JOIN_SYMBOL || LA292_36 == UNDERSCORE_CHARSET || LA292_36 == UNION_SYMBOL || LA292_36 == USING_SYMBOL || LA292_36 == WHERE_SYMBOL || LA292_36 == WITH_SYMBOL || LA292_36 == XOR_SYMBOL))
                        {
                            alt292=2;
                        }
                        else if ( (LA292_36 == DOT_SYMBOL))
                        {
                            {
                                int LA292_944 = LA(3);
                                if ( (synpred1_MySQL(ctx)))
                                {
                                    alt292=1;
                                }
                                else if ( (ANTLR3_TRUE))
                                {
                                    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        = 944;


                                    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  = 292;
                            EXCEPTION->state        = 36;


                            goto ruleselect_itemEx;

                        }
                    }
                }
                else if ( (LA292_0 == GET_FORMAT_SYMBOL))
                {
                    {
                        int LA292_37 = LA(2);
                        if ( (LA292_37 == EOF || ((LA292_37 >= ACTION_SYMBOL) && (LA292_37 <= PARTITION_SYMBOL)) || LA292_37 == AND_SYMBOL || LA292_37 == AS_SYMBOL || LA292_37 == BACK_TICK_QUOTED_ID || LA292_37 == BETWEEN_SYMBOL || LA292_37 == BITWISE_AND_OPERATOR || ((LA292_37 >= BITWISE_OR_OPERATOR) && (LA292_37 <= BITWISE_XOR_OPERATOR)) || ((LA292_37 >= CLOSE_CURLY_SYMBOL) && (LA292_37 <= COLLATE_SYMBOL)) || LA292_37 == COMMA_SYMBOL || LA292_37 == CONCAT_PIPES_SYMBOL || LA292_37 == CROSS_SYMBOL || ((LA292_37 >= DIV_OPERATOR) && (LA292_37 <= DIV_SYMBOL)) || LA292_37 == DOUBLE_QUOTED_TEXT || LA292_37 == EQUAL_OPERATOR || LA292_37 == FOR_SYMBOL || LA292_37 == FROM_SYMBOL || ((LA292_37 >= GREATER_OR_EQUAL_OPERATOR) && (LA292_37 <= GREATER_THAN_OPERATOR)) || ((LA292_37 >= GROUP_SYMBOL) && (LA292_37 <= HAVING_SYMBOL)) || LA292_37 == IDENTIFIER || LA292_37 == INNER_SYMBOL || LA292_37 == INTO_SYMBOL || LA292_37 == IN_SYMBOL || LA292_37 == IS_SYMBOL || LA292_37 == JOIN_SYMBOL || ((LA292_37 >= LEFT_SYMBOL) && (LA292_37 <= LESS_THAN_OPERATOR)) || ((LA292_37 >= LIKE_SYMBOL) && (LA292_37 <= LIMIT_SYMBOL)) || LA292_37 == LOCK_SYMBOL || LA292_37 == LOGICAL_AND_OPERATOR || LA292_37 == LOGICAL_OR_OPERATOR || LA292_37 == MINUS_OPERATOR || ((LA292_37 >= MOD_OPERATOR) && (LA292_37 <= MOD_SYMBOL)) || ((LA292_37 >= MULT_OPERATOR) && (LA292_37 <= NATURAL_SYMBOL)) || LA292_37 == NCHAR_TEXT || ((LA292_37 >= NOT_EQUAL2_OPERATOR) && (LA292_37 <= NOT_SYMBOL)) || LA292_37 == NULL_SAFE_EQUAL_OPERATOR || LA292_37 == ON_SYMBOL || LA292_37 == OPEN_PAR_SYMBOL || ((LA292_37 >= ORDER_SYMBOL) && (LA292_37 <= OR_SYMBOL)) || LA292_37 == PLUS_OPERATOR || LA292_37 == PROCEDURE_SYMBOL || LA292_37 == REGEXP_SYMBOL || LA292_37 == RIGHT_SYMBOL || LA292_37 == SEMICOLON_SYMBOL || LA292_37 == SET_SYMBOL || ((LA292_37 >= SHIFT_LEFT_OPERATOR) && (LA292_37 <= SHIFT_RIGHT_OPERATOR)) || LA292_37 == SINGLE_QUOTED_TEXT || LA292_37 == STRAIGHT_JOIN_SYMBOL || LA292_37 == UNDERSCORE_CHARSET || LA292_37 == UNION_SYMBOL || LA292_37 == USING_SYMBOL || LA292_37 == WHERE_SYMBOL || LA292_37 == WITH_SYMBOL || LA292_37 == XOR_SYMBOL))
                        {
                            alt292=2;
                        }
                        else if ( (LA292_37 == DOT_SYMBOL))
                        {
                            {
                                int LA292_1000 = LA(3);
                                if ( (synpred1_MySQL(ctx)))
                                {
                                    alt292=1;
                                }
                                else if ( (ANTLR3_TRUE))
                                {
                                    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        = 1000;


                                    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  = 292;
                            EXCEPTION->state        = 37;


                            goto ruleselect_itemEx;

                        }
                    }
                }
                else if ( (((LA292_0 >= TIMESTAMP_ADD_SYMBOL) && (LA292_0 <= TIMESTAMP_DIFF_SYMBOL))))
                {
                    {
                        int LA292_42 = LA(2);
                        if ( (LA292_42 == EOF || ((LA292_42 >= ACTION_SYMBOL) && (LA292_42 <= PARTITION_SYMBOL)) || LA292_42 == AND_SYMBOL || LA292_42 == AS_SYMBOL || LA292_42 == BACK_TICK_QUOTED_ID || LA292_42 == BETWEEN_SYMBOL || LA292_42 == BITWISE_AND_OPERATOR || ((LA292_42 >= BITWISE_OR_OPERATOR) && (LA292_42 <= BITWISE_XOR_OPERATOR)) || ((LA292_42 >= CLOSE_CURLY_SYMBOL) && (LA292_42 <= COLLATE_SYMBOL)) || LA292_42 == COMMA_SYMBOL || LA292_42 == CONCAT_PIPES_SYMBOL || LA292_42 == CROSS_SYMBOL || ((LA292_42 >= DIV_OPERATOR) && (LA292_42 <= DIV_SYMBOL)) || LA292_42 == DOUBLE_QUOTED_TEXT || LA292_42 == EQUAL_OPERATOR || LA292_42 == FOR_SYMBOL || LA292_42 == FROM_SYMBOL || ((LA292_42 >= GREATER_OR_EQUAL_OPERATOR) && (LA292_42 <= GREATER_THAN_OPERATOR)) || ((LA292_42 >= GROUP_SYMBOL) && (LA292_42 <= HAVING_SYMBOL)) || LA292_42 == IDENTIFIER || LA292_42 == INNER_SYMBOL || LA292_42 == INTO_SYMBOL || LA292_42 == IN_SYMBOL || LA292_42 == IS_SYMBOL || LA292_42 == JOIN_SYMBOL || ((LA292_42 >= LEFT_SYMBOL) && (LA292_42 <= LESS_THAN_OPERATOR)) || ((LA292_42 >= LIKE_SYMBOL) && (LA292_42 <= LIMIT_SYMBOL)) || LA292_42 == LOCK_SYMBOL || LA292_42 == LOGICAL_AND_OPERATOR || LA292_42 == LOGICAL_OR_OPERATOR || LA292_42 == MINUS_OPERATOR || ((LA292_42 >= MOD_OPERATOR) && (LA292_42 <= MOD_SYMBOL)) || ((LA292_42 >= MULT_OPERATOR) && (LA292_42 <= NATURAL_SYMBOL)) || LA292_42 == NCHAR_TEXT || ((LA292_42 >= NOT_EQUAL2_OPERATOR) && (LA292_42 <= NOT_SYMBOL)) || LA292_42 == NULL_SAFE_EQUAL_OPERATOR || LA292_42 == ON_SYMBOL || LA292_42 == OPEN_PAR_SYMBOL || ((LA292_42 >= ORDER_SYMBOL) && (LA292_42 <= OR_SYMBOL)) || LA292_42 == PLUS_OPERATOR || LA292_42 == PROCEDURE_SYMBOL || LA292_42 == REGEXP_SYMBOL || LA292_42 == RIGHT_SYMBOL || LA292_42 == SEMICOLON_SYMBOL || LA292_42 == SET_SYMBOL || ((LA292_42 >= SHIFT_LEFT_OPERATOR) && (LA292_42 <= SHIFT_RIGHT_OPERATOR)) || LA292_42 == SINGLE_QUOTED_TEXT || LA292_42 == STRAIGHT_JOIN_SYMBOL || LA292_42 == UNDERSCORE_CHARSET || LA292_42 == UNION_SYMBOL || LA292_42 == USING_SYMBOL || LA292_42 == WHERE_SYMBOL || LA292_42 == WITH_SYMBOL || LA292_42 == XOR_SYMBOL))
                        {
                            alt292=2;
                        }
                        else if ( (LA292_42 == DOT_SYMBOL))
                        {
                            {
                                int LA292_1056 = LA(3);
                                if ( (synpred1_MySQL(ctx)))
                                {
                                    alt292=1;
                                }
                                else if ( (ANTLR3_TRUE))
                                {
                                    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        = 1056;


                                    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  = 292;
                            EXCEPTION->state        = 42;


                            goto ruleselect_itemEx;

                        }
                    }
                }
                else if ( (LA292_0 == COALESCE_SYMBOL))
                {
                    {
                        int LA292_47 = LA(2);
                        if ( (LA292_47 == DOT_SYMBOL))
                        {
                            {
                                int LA292_1111 = LA(3);
                                if ( (synpred1_MySQL(ctx)))
                                {
                                    alt292=1;
                                }
                                else if ( (ANTLR3_TRUE))
                                {
                                    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        = 1111;


                                    goto ruleselect_itemEx;

                                }
                            }
                        }
                        else if ( (LA292_47 == EOF || ((LA292_47 >= ACTION_SYMBOL) && (LA292_47 <= PARTITION_SYMBOL)) || LA292_47 == AND_SYMBOL || LA292_47 == AS_SYMBOL || LA292_47 == BACK_TICK_QUOTED_ID || LA292_47 == BETWEEN_SYMBOL || LA292_47 == BITWISE_AND_OPERATOR || ((LA292_47 >= BITWISE_OR_OPERATOR) && (LA292_47 <= BITWISE_XOR_OPERATOR)) || ((LA292_47 >= CLOSE_CURLY_SYMBOL) && (LA292_47 <= COLLATE_SYMBOL)) || LA292_47 == COMMA_SYMBOL || LA292_47 == CONCAT_PIPES_SYMBOL || LA292_47 == CROSS_SYMBOL || ((LA292_47 >= DIV_OPERATOR) && (LA292_47 <= DIV_SYMBOL)) || LA292_47 == DOUBLE_QUOTED_TEXT || LA292_47 == EQUAL_OPERATOR || LA292_47 == FOR_SYMBOL || LA292_47 == FROM_SYMBOL || ((LA292_47 >= GREATER_OR_EQUAL_OPERATOR) && (LA292_47 <= GREATER_THAN_OPERATOR)) || ((LA292_47 >= GROUP_SYMBOL) && (LA292_47 <= HAVING_SYMBOL)) || LA292_47 == IDENTIFIER || LA292_47 == INNER_SYMBOL || LA292_47 == INTO_SYMBOL || LA292_47 == IN_SYMBOL || LA292_47 == IS_SYMBOL || LA292_47 == JOIN_SYMBOL || ((LA292_47 >= LEFT_SYMBOL) && (LA292_47 <= LESS_THAN_OPERATOR)) || ((LA292_47 >= LIKE_SYMBOL) && (LA292_47 <= LIMIT_SYMBOL)) || LA292_47 == LOCK_SYMBOL || LA292_47 == LOGICAL_AND_OPERATOR || LA292_47 == LOGICAL_OR_OPERATOR || LA292_47 == MINUS_OPERATOR || ((LA292_47 >= MOD_OPERATOR) && (LA292_47 <= MOD_SYMBOL)) || ((LA292_47 >= MULT_OPERATOR) && (LA292_47 <= NATURAL_SYMBOL)) || LA292_47 == NCHAR_TEXT || ((LA292_47 >= NOT_EQUAL2_OPERATOR) && (LA292_47 <= NOT_SYMBOL)) || LA292_47 == NULL_SAFE_EQUAL_OPERATOR || LA292_47 == ON_SYMBOL || LA292_47 == OPEN_PAR_SYMBOL || ((LA292_47 >= ORDER_SYMBOL) && (LA292_47 <= OR_SYMBOL)) || LA292_47 == PLUS_OPERATOR || LA292_47 == PROCEDURE_SYMBOL || LA292_47 == REGEXP_SYMBOL || LA292_47 == RIGHT_SYMBOL || LA292_47 == SEMICOLON_SYMBOL || LA292_47 == SET_SYMBOL || ((LA292_47 >= SHIFT_LEFT_OPERATOR) && (LA292_47 <= SHIFT_RIGHT_OPERATOR)) || LA292_47 == SINGLE_QUOTED_TEXT || LA292_47 == STRAIGHT_JOIN_SYMBOL || LA292_47 == UNDERSCORE_CHARSET || LA292_47 == UNION_SYMBOL || LA292_47 == USING_SYMBOL || LA292_47 == WHERE_SYMBOL || LA292_47 == WITH_SYMBOL || LA292_47 == XOR_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        = 47;


                            goto ruleselect_itemEx;

                        }
                    }
                }
                else if ( (LA292_0 == CHARSET_SYMBOL))
                {
                    {
                        int LA292_51 = LA(2);
                        if ( (LA292_51 == EOF || ((LA292_51 >= ACTION_SYMBOL) && (LA292_51 <= PARTITION_SYMBOL)) || LA292_51 == AND_SYMBOL || LA292_51 == AS_SYMBOL || LA292_51 == BACK_TICK_QUOTED_ID || LA292_51 == BETWEEN_SYMBOL || LA292_51 == BITWISE_AND_OPERATOR || ((LA292_51 >= BITWISE_OR_OPERATOR) && (LA292_51 <= BITWISE_XOR_OPERATOR)) || ((LA292_51 >= CLOSE_CURLY_SYMBOL) && (LA292_51 <= COLLATE_SYMBOL)) || LA292_51 == COMMA_SYMBOL || LA292_51 == CONCAT_PIPES_SYMBOL || LA292_51 == CROSS_SYMBOL || ((LA292_51 >= DIV_OPERATOR) && (LA292_51 <= DIV_SYMBOL)) || LA292_51 == DOUBLE_QUOTED_TEXT || LA292_51 == EQUAL_OPERATOR || LA292_51 == FOR_SYMBOL || LA292_51 == FROM_SYMBOL || ((LA292_51 >= GREATER_OR_EQUAL_OPERATOR) && (LA292_51 <= GREATER_THAN_OPERATOR)) || ((LA292_51 >= GROUP_SYMBOL) && (LA292_51 <= HAVING_SYMBOL)) || LA292_51 == IDENTIFIER || LA292_51 == INNER_SYMBOL || LA292_51 == INTO_SYMBOL || LA292_51 == IN_SYMBOL || LA292_51 == IS_SYMBOL || LA292_51 == JOIN_SYMBOL || ((LA292_51 >= LEFT_SYMBOL) && (LA292_51 <= LESS_THAN_OPERATOR)) || ((LA292_51 >= LIKE_SYMBOL) && (LA292_51 <= LIMIT_SYMBOL)) || LA292_51 == LOCK_SYMBOL || LA292_51 == LOGICAL_AND_OPERATOR || LA292_51 == LOGICAL_OR_OPERATOR || LA292_51 == MINUS_OPERATOR || ((LA292_51 >= MOD_OPERATOR) && (LA292_51 <= MOD_SYMBOL)) || ((LA292_51 >= MULT_OPERATOR) && (LA292_51 <= NATURAL_SYMBOL)) || LA292_51 == NCHAR_TEXT || ((LA292_51 >= NOT_EQUAL2_OPERATOR) && (LA292_51 <= NOT_SYMBOL)) || LA292_51 == NULL_SAFE_EQUAL_OPERATOR || LA292_51 == ON_SYMBOL || LA292_51 == OPEN_PAR_SYMBOL || ((LA292_51 >= ORDER_SYMBOL) && (LA292_51 <= OR_SYMBOL)) || LA292_51 == PLUS_OPERATOR || LA292_51 == PROCEDURE_SYMBOL || LA292_51 == REGEXP_SYMBOL || LA292_51 == RIGHT_SYMBOL || LA292_51 == SEMICOLON_SYMBOL || LA292_51 == SET_SYMBOL || ((LA292_51 >= SHIFT_LEFT_OPERATOR) && (LA292_51 <= SHIFT_RIGHT_OPERATOR)) || LA292_51 == SINGLE_QUOTED_TEXT || LA292_51 == STRAIGHT_JOIN_SYMBOL || LA292_51 == UNDERSCORE_CHARSET || LA292_51 == UNION_SYMBOL || LA292_51 == USING_SYMBOL || LA292_51 == WHERE_SYMBOL || LA292_51 == WITH_SYMBOL || LA292_51 == XOR_SYMBOL))
                        {
                            alt292=2;
                        }
                        else if ( (LA292_51 == DOT_SYMBOL))
                        {
                            {
                                int LA292_1168 = LA(3);
                                if ( (synpred1_MySQL(ctx)))
                                {
                                    alt292=1;
                                }
                                else if ( (ANTLR3_TRUE))
                                {
                                    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        = 1168;


                                    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  = 292;
                            EXCEPTION->state        = 51;


                            goto ruleselect_itemEx;

                        }
                    }
                }
                else if ( (LA292_0 == FORMAT_SYMBOL))
                {
                    {
                        int LA292_52 = LA(2);
                        if ( (LA292_52 == EOF || ((LA292_52 >= ACTION_SYMBOL) && (LA292_52 <= PARTITION_SYMBOL)) || LA292_52 == AND_SYMBOL || LA292_52 == AS_SYMBOL || LA292_52 == BACK_TICK_QUOTED_ID || LA292_52 == BETWEEN_SYMBOL || LA292_52 == BITWISE_AND_OPERATOR || ((LA292_52 >= BITWISE_OR_OPERATOR) && (LA292_52 <= BITWISE_XOR_OPERATOR)) || ((LA292_52 >= CLOSE_CURLY_SYMBOL) && (LA292_52 <= COLLATE_SYMBOL)) || LA292_52 == COMMA_SYMBOL || LA292_52 == CONCAT_PIPES_SYMBOL || LA292_52 == CROSS_SYMBOL || ((LA292_52 >= DIV_OPERATOR) && (LA292_52 <= DIV_SYMBOL)) || LA292_52 == DOUBLE_QUOTED_TEXT || LA292_52 == EQUAL_OPERATOR || LA292_52 == FOR_SYMBOL || LA292_52 == FROM_SYMBOL || ((LA292_52 >= GREATER_OR_EQUAL_OPERATOR) && (LA292_52 <= GREATER_THAN_OPERATOR)) || ((LA292_52 >= GROUP_SYMBOL) && (LA292_52 <= HAVING_SYMBOL)) || LA292_52 == IDENTIFIER || LA292_52 == INNER_SYMBOL || LA292_52 == INTO_SYMBOL || LA292_52 == IN_SYMBOL || LA292_52 == IS_SYMBOL || LA292_52 == JOIN_SYMBOL || ((LA292_52 >= LEFT_SYMBOL) && (LA292_52 <= LESS_THAN_OPERATOR)) || ((LA292_52 >= LIKE_SYMBOL) && (LA292_52 <= LIMIT_SYMBOL)) || LA292_52 == LOCK_SYMBOL || LA292_52 == LOGICAL_AND_OPERATOR || LA292_52 == LOGICAL_OR_OPERATOR || LA292_52 == MINUS_OPERATOR || ((LA292_52 >= MOD_OPERATOR) && (LA292_52 <= MOD_SYMBOL)) || ((LA292_52 >= MULT_OPERATOR) && (LA292_52 <= NATURAL_SYMBOL)) || LA292_52 == NCHAR_TEXT || ((LA292_52 >= NOT_EQUAL2_OPERATOR) && (LA292_52 <= NOT_SYMBOL)) || LA292_52 == NULL_SAFE_EQUAL_OPERATOR || LA292_52 == ON_SYMBOL || LA292_52 == OPEN_PAR_SYMBOL || ((LA292_52 >= ORDER_SYMBOL) && (LA292_52 <= OR_SYMBOL)) || LA292_52 == PLUS_OPERATOR || LA292_52 == PROCEDURE_SYMBOL || LA292_52 == REGEXP_SYMBOL || LA292_52 == RIGHT_SYMBOL || LA292_52 == SEMICOLON_SYMBOL || LA292_52 == SET_SYMBOL || ((LA292_52 >= SHIFT_LEFT_OPERATOR) && (LA292_52 <= SHIFT_RIGHT_OPERATOR)) || LA292_52 == SINGLE_QUOTED_TEXT || LA292_52 == STRAIGHT_JOIN_SYMBOL || LA292_52 == UNDERSCORE_CHARSET || LA292_52 == UNION_SYMBOL || LA292_52 == USING_SYMBOL || LA292_52 == WHERE_SYMBOL || LA292_52 == WITH_SYMBOL || LA292_52 == XOR_SYMBOL))
                        {
                            alt292=2;
                        }
                        else if ( (LA292_52 == DOT_SYMBOL))
                        {
                            {
                                int LA292_1224 = LA(3);
                                if ( (synpred1_MySQL(ctx)))
                                {
                                    alt292=1;
                                }
                                else if ( (ANTLR3_TRUE))
                                {
                                    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        = 1224;


                                    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  = 292;
                            EXCEPTION->state        = 52;


                            goto ruleselect_itemEx;

                        }
                    }
                }
                else if ( (LA292_0 == COLLATION_SYMBOL))
                {
                    {
                        int LA292_53 = LA(2);
                        if ( (LA292_53 == EOF || ((LA292_53 >= ACTION_SYMBOL) && (LA292_53 <= PARTITION_SYMBOL)) || LA292_53 == AND_SYMBOL || LA292_53 == AS_SYMBOL || LA292_53 == BACK_TICK_QUOTED_ID || LA292_53 == BETWEEN_SYMBOL || LA292_53 == BITWISE_AND_OPERATOR || ((LA292_53 >= BITWISE_OR_OPERATOR) && (LA292_53 <= BITWISE_XOR_OPERATOR)) || ((LA292_53 >= CLOSE_CURLY_SYMBOL) && (LA292_53 <= COLLATE_SYMBOL)) || LA292_53 == COMMA_SYMBOL || LA292_53 == CONCAT_PIPES_SYMBOL || LA292_53 == CROSS_SYMBOL || ((LA292_53 >= DIV_OPERATOR) && (LA292_53 <= DIV_SYMBOL)) || LA292_53 == DOUBLE_QUOTED_TEXT || LA292_53 == EQUAL_OPERATOR || LA292_53 == FOR_SYMBOL || LA292_53 == FROM_SYMBOL || ((LA292_53 >= GREATER_OR_EQUAL_OPERATOR) && (LA292_53 <= GREATER_THAN_OPERATOR)) || ((LA292_53 >= GROUP_SYMBOL) && (LA292_53 <= HAVING_SYMBOL)) || LA292_53 == IDENTIFIER || LA292_53 == INNER_SYMBOL || LA292_53 == INTO_SYMBOL || LA292_53 == IN_SYMBOL || LA292_53 == IS_SYMBOL || LA292_53 == JOIN_SYMBOL || ((LA292_53 >= LEFT_SYMBOL) && (LA292_53 <= LESS_THAN_OPERATOR)) || ((LA292_53 >= LIKE_SYMBOL) && (LA292_53 <= LIMIT_SYMBOL)) || LA292_53 == LOCK_SYMBOL || LA292_53 == LOGICAL_AND_OPERATOR || LA292_53 == LOGICAL_OR_OPERATOR || LA292_53 == MINUS_OPERATOR || ((LA292_53 >= MOD_OPERATOR) && (LA292_53 <= MOD_SYMBOL)) || ((LA292_53 >= MULT_OPERATOR) && (LA292_53 <= NATURAL_SYMBOL)) || LA292_53 == NCHAR_TEXT || ((LA292_53 >= NOT_EQUAL2_OPERATOR) && (LA292_53 <= NOT_SYMBOL)) || LA292_53 == NULL_SAFE_EQUAL_OPERATOR || LA292_53 == ON_SYMBOL || LA292_53 == OPEN_PAR_SYMBOL || ((LA292_53 >= ORDER_SYMBOL) && (LA292_53 <= OR_SYMBOL)) || LA292_53 == PLUS_OPERATOR || LA292_53 == PROCEDURE_SYMBOL || LA292_53 == REGEXP_SYMBOL || LA292_53 == RIGHT_SYMBOL || LA292_53 == SEMICOLON_SYMBOL || LA292_53 == SET_SYMBOL || ((LA292_53 >= SHIFT_LEFT_OPERATOR) && (LA292_53 <= SHIFT_RIGHT_OPERATOR)) || LA292_53 == SINGLE_QUOTED_TEXT || LA292_53 == STRAIGHT_JOIN_SYMBOL || LA292_53 == UNDERSCORE_CHARSET || LA292_53 == UNION_SYMBOL || LA292_53 == USING_SYMBOL || LA292_53 == WHERE_SYMBOL || LA292_53 == WITH_SYMBOL || LA292_53 == XOR_SYMBOL))
                        {
                            alt292=2;
                        }
                        else if ( (LA292_53 == DOT_SYMBOL))
                        {
                            {
                                int LA292_1280 = LA(3);
                                if ( (synpred1_MySQL(ctx)))
                                {
                                    alt292=1;
                                }
                                else if ( (ANTLR3_TRUE))
                                {
                                    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        = 1280;


                                    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  = 292;
                            EXCEPTION->state        = 53;


                            goto ruleselect_itemEx;

                        }
                    }
                }
                else if ( (LA292_0 == MICROSECOND_SYMBOL))
                {
                    {
                        int LA292_54 = LA(2);
                        if ( (LA292_54 == EOF || ((LA292_54 >= ACTION_SYMBOL) && (LA292_54 <= PARTITION_SYMBOL)) || LA292_54 == AND_SYMBOL || LA292_54 == AS_SYMBOL || LA292_54 == BACK_TICK_QUOTED_ID || LA292_54 == BETWEEN_SYMBOL || LA292_54 == BITWISE_AND_OPERATOR || ((LA292_54 >= BITWISE_OR_OPERATOR) && (LA292_54 <= BITWISE_XOR_OPERATOR)) || ((LA292_54 >= CLOSE_CURLY_SYMBOL) && (LA292_54 <= COLLATE_SYMBOL)) || LA292_54 == COMMA_SYMBOL || LA292_54 == CONCAT_PIPES_SYMBOL || LA292_54 == CROSS_SYMBOL || ((LA292_54 >= DIV_OPERATOR) && (LA292_54 <= DIV_SYMBOL)) || LA292_54 == DOUBLE_QUOTED_TEXT || LA292_54 == EQUAL_OPERATOR || LA292_54 == FOR_SYMBOL || LA292_54 == FROM_SYMBOL || ((LA292_54 >= GREATER_OR_EQUAL_OPERATOR) && (LA292_54 <= GREATER_THAN_OPERATOR)) || ((LA292_54 >= GROUP_SYMBOL) && (LA292_54 <= HAVING_SYMBOL)) || LA292_54 == IDENTIFIER || LA292_54 == INNER_SYMBOL || LA292_54 == INTO_SYMBOL || LA292_54 == IN_SYMBOL || LA292_54 == IS_SYMBOL || LA292_54 == JOIN_SYMBOL || ((LA292_54 >= LEFT_SYMBOL) && (LA292_54 <= LESS_THAN_OPERATOR)) || ((LA292_54 >= LIKE_SYMBOL) && (LA292_54 <= LIMIT_SYMBOL)) || LA292_54 == LOCK_SYMBOL || LA292_54 == LOGICAL_AND_OPERATOR || LA292_54 == LOGICAL_OR_OPERATOR || LA292_54 == MINUS_OPERATOR || ((LA292_54 >= MOD_OPERATOR) && (LA292_54 <= MOD_SYMBOL)) || ((LA292_54 >= MULT_OPERATOR) && (LA292_54 <= NATURAL_SYMBOL)) || LA292_54 == NCHAR_TEXT || ((LA292_54 >= NOT_EQUAL2_OPERATOR) && (LA292_54 <= NOT_SYMBOL)) || LA292_54 == NULL_SAFE_EQUAL_OPERATOR || LA292_54 == ON_SYMBOL || LA292_54 == OPEN_PAR_SYMBOL || ((LA292_54 >= ORDER_SYMBOL) && (LA292_54 <= OR_SYMBOL)) || LA292_54 == PLUS_OPERATOR || LA292_54 == PROCEDURE_SYMBOL || LA292_54 == REGEXP_SYMBOL || LA292_54 == RIGHT_SYMBOL || LA292_54 == SEMICOLON_SYMBOL || LA292_54 == SET_SYMBOL || ((LA292_54 >= SHIFT_LEFT_OPERATOR) && (LA292_54 <= SHIFT_RIGHT_OPERATOR)) || LA292_54 == SINGLE_QUOTED_TEXT || LA292_54 == STRAIGHT_JOIN_SYMBOL || LA292_54 == UNDERSCORE_CHARSET || LA292_54 == UNION_SYMBOL || LA292_54 == USING_SYMBOL || LA292_54 == WHERE_SYMBOL || LA292_54 == WITH_SYMBOL || LA292_54 == XOR_SYMBOL))
                        {
                            alt292=2;
                        }
                        else if ( (LA292_54 == DOT_SYMBOL))
                        {
                            {
                                int LA292_1336 = LA(3);
                                if ( (synpred1_MySQL(ctx)))
                                {
                                    alt292=1;
                                }
                                else if ( (ANTLR3_TRUE))
                                {
                                    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        = 1336;


                                    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  = 292;
                            EXCEPTION->state        = 54;


                            goto ruleselect_itemEx;

                        }
                    }
                }
                else if ( (LA292_0 == TRUNCATE_SYMBOL))
                {
                    {
                        int LA292_57 = LA(2);
                        if ( (LA292_57 == EOF || ((LA292_57 >= ACTION_SYMBOL) && (LA292_57 <= PARTITION_SYMBOL)) || LA292_57 == AND_SYMBOL || LA292_57 == AS_SYMBOL || LA292_57 == BACK_TICK_QUOTED_ID || LA292_57 == BETWEEN_SYMBOL || LA292_57 == BITWISE_AND_OPERATOR || ((LA292_57 >= BITWISE_OR_OPERATOR) && (LA292_57 <= BITWISE_XOR_OPERATOR)) || ((LA292_57 >= CLOSE_CURLY_SYMBOL) && (LA292_57 <= COLLATE_SYMBOL)) || LA292_57 == COMMA_SYMBOL || LA292_57 == CONCAT_PIPES_SYMBOL || LA292_57 == CROSS_SYMBOL || ((LA292_57 >= DIV_OPERATOR) && (LA292_57 <= DIV_SYMBOL)) || LA292_57 == DOUBLE_QUOTED_TEXT || LA292_57 == EQUAL_OPERATOR || LA292_57 == FOR_SYMBOL || LA292_57 == FROM_SYMBOL || ((LA292_57 >= GREATER_OR_EQUAL_OPERATOR) && (LA292_57 <= GREATER_THAN_OPERATOR)) || ((LA292_57 >= GROUP_SYMBOL) && (LA292_57 <= HAVING_SYMBOL)) || LA292_57 == IDENTIFIER || LA292_57 == INNER_SYMBOL || LA292_57 == INTO_SYMBOL || LA292_57 == IN_SYMBOL || LA292_57 == IS_SYMBOL || LA292_57 == JOIN_SYMBOL || ((LA292_57 >= LEFT_SYMBOL) && (LA292_57 <= LESS_THAN_OPERATOR)) || ((LA292_57 >= LIKE_SYMBOL) && (LA292_57 <= LIMIT_SYMBOL)) || LA292_57 == LOCK_SYMBOL || LA292_57 == LOGICAL_AND_OPERATOR || LA292_57 == LOGICAL_OR_OPERATOR || LA292_57 == MINUS_OPERATOR || ((LA292_57 >= MOD_OPERATOR) && (LA292_57 <= MOD_SYMBOL)) || ((LA292_57 >= MULT_OPERATOR) && (LA292_57 <= NATURAL_SYMBOL)) || LA292_57 == NCHAR_TEXT || ((LA292_57 >= NOT_EQUAL2_OPERATOR) && (LA292_57 <= NOT_SYMBOL)) || LA292_57 == NULL_SAFE_EQUAL_OPERATOR || LA292_57 == ON_SYMBOL || LA292_57 == OPEN_PAR_SYMBOL || ((LA292_57 >= ORDER_SYMBOL) && (LA292_57 <= OR_SYMBOL)) || LA292_57 == PLUS_OPERATOR || LA292_57 == PROCEDURE_SYMBOL || LA292_57 == REGEXP_SYMBOL || LA292_57 == RIGHT_SYMBOL || LA292_57 == SEMICOLON_SYMBOL || LA292_57 == SET_SYMBOL || ((LA292_57 >= SHIFT_LEFT_OPERATOR) && (LA292_57 <= SHIFT_RIGHT_OPERATOR)) || LA292_57 == SINGLE_QUOTED_TEXT || LA292_57 == STRAIGHT_JOIN_SYMBOL || LA292_57 == UNDERSCORE_CHARSET || LA292_57 == UNION_SYMBOL || LA292_57 == USING_SYMBOL || LA292_57 == WHERE_SYMBOL || LA292_57 == WITH_SYMBOL || LA292_57 == XOR_SYMBOL))
                        {
                            alt292=2;
                        }
                        else if ( (LA292_57 == DOT_SYMBOL))
                        {
                            {
                                int LA292_1392 = LA(3);
                                if ( (synpred1_MySQL(ctx)))
                                {
                                    alt292=1;
                                }
                                else if ( (ANTLR3_TRUE))
                                {
                                    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        = 1392;


                                    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  = 292;
                            EXCEPTION->state        = 57;


                            goto ruleselect_itemEx;

                        }
                    }
                }
                else if ( (LA292_0 == OLD_PASSWORD_SYMBOL))
                {
                    {
                        int LA292_58 = LA(2);
                        if ( (LA292_58 == EOF || ((LA292_58 >= ACTION_SYMBOL) && (LA292_58 <= PARTITION_SYMBOL)) || LA292_58 == AND_SYMBOL || LA292_58 == AS_SYMBOL || LA292_58 == BACK_TICK_QUOTED_ID || LA292_58 == BETWEEN_SYMBOL || LA292_58 == BITWISE_AND_OPERATOR || ((LA292_58 >= BITWISE_OR_OPERATOR) && (LA292_58 <= BITWISE_XOR_OPERATOR)) || ((LA292_58 >= CLOSE_CURLY_SYMBOL) && (LA292_58 <= COLLATE_SYMBOL)) || LA292_58 == COMMA_SYMBOL || LA292_58 == CONCAT_PIPES_SYMBOL || LA292_58 == CROSS_SYMBOL || ((LA292_58 >= DIV_OPERATOR) && (LA292_58 <= DIV_SYMBOL)) || LA292_58 == DOUBLE_QUOTED_TEXT || LA292_58 == EQUAL_OPERATOR || LA292_58 == FOR_SYMBOL || LA292_58 == FROM_SYMBOL || ((LA292_58 >= GREATER_OR_EQUAL_OPERATOR) && (LA292_58 <= GREATER_THAN_OPERATOR)) || ((LA292_58 >= GROUP_SYMBOL) && (LA292_58 <= HAVING_SYMBOL)) || LA292_58 == IDENTIFIER || LA292_58 == INNER_SYMBOL || LA292_58 == INTO_SYMBOL || LA292_58 == IN_SYMBOL || LA292_58 == IS_SYMBOL || LA292_58 == JOIN_SYMBOL || ((LA292_58 >= LEFT_SYMBOL) && (LA292_58 <= LESS_THAN_OPERATOR)) || ((LA292_58 >= LIKE_SYMBOL) && (LA292_58 <= LIMIT_SYMBOL)) || LA292_58 == LOCK_SYMBOL || LA292_58 == LOGICAL_AND_OPERATOR || LA292_58 == LOGICAL_OR_OPERATOR || LA292_58 == MINUS_OPERATOR || ((LA292_58 >= MOD_OPERATOR) && (LA292_58 <= MOD_SYMBOL)) || ((LA292_58 >= MULT_OPERATOR) && (LA292_58 <= NATURAL_SYMBOL)) || LA292_58 == NCHAR_TEXT || ((LA292_58 >= NOT_EQUAL2_OPERATOR) && (LA292_58 <= NOT_SYMBOL)) || LA292_58 == NULL_SAFE_EQUAL_OPERATOR || LA292_58 == ON_SYMBOL || LA292_58 == OPEN_PAR_SYMBOL || ((LA292_58 >= ORDER_SYMBOL) && (LA292_58 <= OR_SYMBOL)) || LA292_58 == PLUS_OPERATOR || LA292_58 == PROCEDURE_SYMBOL || LA292_58 == REGEXP_SYMBOL || LA292_58 == RIGHT_SYMBOL || LA292_58 == SEMICOLON_SYMBOL || LA292_58 == SET_SYMBOL || ((LA292_58 >= SHIFT_LEFT_OPERATOR) && (LA292_58 <= SHIFT_RIGHT_OPERATOR)) || LA292_58 == SINGLE_QUOTED_TEXT || LA292_58 == STRAIGHT_JOIN_SYMBOL || LA292_58 == UNDERSCORE_CHARSET || LA292_58 == UNION_SYMBOL || LA292_58 == USING_SYMBOL || LA292_58 == WHERE_SYMBOL || LA292_58 == WITH_SYMBOL || LA292_58 == XOR_SYMBOL))
                        {
                            alt292=2;
                        }
                        else if ( (LA292_58 == DOT_SYMBOL))
                        {
                            {
                                int LA292_1448 = LA(3);
                                if ( (synpred1_MySQL(ctx)))
                                {
                                    alt292=1;
                                }
                                else if ( (ANTLR3_TRUE))
                                {
                                    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        = 1448;


                                    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  = 292;
                            EXCEPTION->state        = 58;


                            goto ruleselect_itemEx;

                        }
                    }
                }
                else if ( (LA292_0 == PASSWORD_SYMBOL))
                {
                    {
                        int LA292_60 = LA(2);
                        if ( (LA292_60 == EOF || ((LA292_60 >= ACTION_SYMBOL) && (LA292_60 <= PARTITION_SYMBOL)) || LA292_60 == AND_SYMBOL || LA292_60 == AS_SYMBOL || LA292_60 == BACK_TICK_QUOTED_ID || LA292_60 == BETWEEN_SYMBOL || LA292_60 == BITWISE_AND_OPERATOR || ((LA292_60 >= BITWISE_OR_OPERATOR) && (LA292_60 <= BITWISE_XOR_OPERATOR)) || ((LA292_60 >= CLOSE_CURLY_SYMBOL) && (LA292_60 <= COLLATE_SYMBOL)) || LA292_60 == COMMA_SYMBOL || LA292_60 == CONCAT_PIPES_SYMBOL || LA292_60 == CROSS_SYMBOL || ((LA292_60 >= DIV_OPERATOR) && (LA292_60 <= DIV_SYMBOL)) || LA292_60 == DOUBLE_QUOTED_TEXT || LA292_60 == EQUAL_OPERATOR || LA292_60 == FOR_SYMBOL || LA292_60 == FROM_SYMBOL || ((LA292_60 >= GREATER_OR_EQUAL_OPERATOR) && (LA292_60 <= GREATER_THAN_OPERATOR)) || ((LA292_60 >= GROUP_SYMBOL) && (LA292_60 <= HAVING_SYMBOL)) || LA292_60 == IDENTIFIER || LA292_60 == INNER_SYMBOL || LA292_60 == INTO_SYMBOL || LA292_60 == IN_SYMBOL || LA292_60 == IS_SYMBOL || LA292_60 == JOIN_SYMBOL || ((LA292_60 >= LEFT_SYMBOL) && (LA292_60 <= LESS_THAN_OPERATOR)) || ((LA292_60 >= LIKE_SYMBOL) && (LA292_60 <= LIMIT_SYMBOL)) || LA292_60 == LOCK_SYMBOL || LA292_60 == LOGICAL_AND_OPERATOR || LA292_60 == LOGICAL_OR_OPERATOR || LA292_60 == MINUS_OPERATOR || ((LA292_60 >= MOD_OPERATOR) && (LA292_60 <= MOD_SYMBOL)) || ((LA292_60 >= MULT_OPERATOR) && (LA292_60 <= NATURAL_SYMBOL)) || LA292_60 == NCHAR_TEXT || ((LA292_60 >= NOT_EQUAL2_OPERATOR) && (LA292_60 <= NOT_SYMBOL)) || LA292_60 == NULL_SAFE_EQUAL_OPERATOR || LA292_60 == ON_SYMBOL || LA292_60 == OPEN_PAR_SYMBOL || ((LA292_60 >= ORDER_SYMBOL) && (LA292_60 <= OR_SYMBOL)) || LA292_60 == PLUS_OPERATOR || LA292_60 == PROCEDURE_SYMBOL || LA292_60 == REGEXP_SYMBOL || LA292_60 == RIGHT_SYMBOL || LA292_60 == SEMICOLON_SYMBOL || LA292_60 == SET_SYMBOL || ((LA292_60 >= SHIFT_LEFT_OPERATOR) && (LA292_60 <= SHIFT_RIGHT_OPERATOR)) || LA292_60 == SINGLE_QUOTED_TEXT || LA292_60 == STRAIGHT_JOIN_SYMBOL || LA292_60 == UNDERSCORE_CHARSET || LA292_60 == UNION_SYMBOL || LA292_60 == USING_SYMBOL || LA292_60 == WHERE_SYMBOL || LA292_60 == WITH_SYMBOL || LA292_60 == XOR_SYMBOL))
                        {
                            alt292=2;
                        }
                        else if ( (LA292_60 == DOT_SYMBOL))
                        {
                            {
                                int LA292_1504 = LA(3);
                                if ( (synpred1_MySQL(ctx)))
                                {
                                    alt292=1;
                                }
                                else if ( (ANTLR3_TRUE))
                                {
                                    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        = 1504;


                                    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  = 292;
                            EXCEPTION->state        = 60;


                            goto ruleselect_itemEx;

                        }
                    }
                }
                else if ( (LA292_0 == QUARTER_SYMBOL))
                {
                    {
                        int LA292_61 = LA(2);
                        if ( (LA292_61 == EOF || ((LA292_61 >= ACTION_SYMBOL) && (LA292_61 <= PARTITION_SYMBOL)) || LA292_61 == AND_SYMBOL || LA292_61 == AS_SYMBOL || LA292_61 == BACK_TICK_QUOTED_ID || LA292_61 == BETWEEN_SYMBOL || LA292_61 == BITWISE_AND_OPERATOR || ((LA292_61 >= BITWISE_OR_OPERATOR) && (LA292_61 <= BITWISE_XOR_OPERATOR)) || ((LA292_61 >= CLOSE_CURLY_SYMBOL) && (LA292_61 <= COLLATE_SYMBOL)) || LA292_61 == COMMA_SYMBOL || LA292_61 == CONCAT_PIPES_SYMBOL || LA292_61 == CROSS_SYMBOL || ((LA292_61 >= DIV_OPERATOR) && (LA292_61 <= DIV_SYMBOL)) || LA292_61 == DOUBLE_QUOTED_TEXT || LA292_61 == EQUAL_OPERATOR || LA292_61 == FOR_SYMBOL || LA292_61 == FROM_SYMBOL || ((LA292_61 >= GREATER_OR_EQUAL_OPERATOR) && (LA292_61 <= GREATER_THAN_OPERATOR)) || ((LA292_61 >= GROUP_SYMBOL) && (LA292_61 <= HAVING_SYMBOL)) || LA292_61 == IDENTIFIER || LA292_61 == INNER_SYMBOL || LA292_61 == INTO_SYMBOL || LA292_61 == IN_SYMBOL || LA292_61 == IS_SYMBOL || LA292_61 == JOIN_SYMBOL || ((LA292_61 >= LEFT_SYMBOL) && (LA292_61 <= LESS_THAN_OPERATOR)) || ((LA292_61 >= LIKE_SYMBOL) && (LA292_61 <= LIMIT_SYMBOL)) || LA292_61 == LOCK_SYMBOL || LA292_61 == LOGICAL_AND_OPERATOR || LA292_61 == LOGICAL_OR_OPERATOR || LA292_61 == MINUS_OPERATOR || ((LA292_61 >= MOD_OPERATOR) && (LA292_61 <= MOD_SYMBOL)) || ((LA292_61 >= MULT_OPERATOR) && (LA292_61 <= NATURAL_SYMBOL)) || LA292_61 == NCHAR_TEXT || ((LA292_61 >= NOT_EQUAL2_OPERATOR) && (LA292_61 <= NOT_SYMBOL)) || LA292_61 == NULL_SAFE_EQUAL_OPERATOR || LA292_61 == ON_SYMBOL || LA292_61 == OPEN_PAR_SYMBOL || ((LA292_61 >= ORDER_SYMBOL) && (LA292_61 <= OR_SYMBOL)) || LA292_61 == PLUS_OPERATOR || LA292_61 == PROCEDURE_SYMBOL || LA292_61 == REGEXP_SYMBOL || LA292_61 == RIGHT_SYMBOL || LA292_61 == SEMICOLON_SYMBOL || LA292_61 == SET_SYMBOL || ((LA292_61 >= SHIFT_LEFT_OPERATOR) && (LA292_61 <= SHIFT_RIGHT_OPERATOR)) || LA292_61 == SINGLE_QUOTED_TEXT || LA292_61 == STRAIGHT_JOIN_SYMBOL || LA292_61 == UNDERSCORE_CHARSET || LA292_61 == UNION_SYMBOL || LA292_61 == USING_SYMBOL || LA292_61 == WHERE_SYMBOL || LA292_61 == WITH_SYMBOL || LA292_61 == XOR_SYMBOL))
                        {
                            alt292=2;
                        }
                        else if ( (LA292_61 == DOT_SYMBOL))
                        {
                            {
                                int LA292_1560 = LA(3);
                                if ( (synpred1_MySQL(ctx)))
                                {
                                    alt292=1;
                                }
                                else if ( (ANTLR3_TRUE))
                                {
                                    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        = 1560;


                                    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  = 292;
                            EXCEPTION->state        = 61;


                            goto ruleselect_itemEx;

                        }
                    }
                }
                else if ( (LA292_0 == REVERSE_SYMBOL))
                {
                    {
                        int LA292_62 = LA(2);
                        if ( (LA292_62 == EOF || ((LA292_62 >= ACTION_SYMBOL) && (LA292_62 <= PARTITION_SYMBOL)) || LA292_62 == AND_SYMBOL || LA292_62 == AS_SYMBOL || LA292_62 == BACK_TICK_QUOTED_ID || LA292_62 == BETWEEN_SYMBOL || LA292_62 == BITWISE_AND_OPERATOR || ((LA292_62 >= BITWISE_OR_OPERATOR) && (LA292_62 <= BITWISE_XOR_OPERATOR)) || ((LA292_62 >= CLOSE_CURLY_SYMBOL) && (LA292_62 <= COLLATE_SYMBOL)) || LA292_62 == COMMA_SYMBOL || LA292_62 == CONCAT_PIPES_SYMBOL || LA292_62 == CROSS_SYMBOL || ((LA292_62 >= DIV_OPERATOR) && (LA292_62 <= DIV_SYMBOL)) || LA292_62 == DOUBLE_QUOTED_TEXT || LA292_62 == EQUAL_OPERATOR || LA292_62 == FOR_SYMBOL || LA292_62 == FROM_SYMBOL || ((LA292_62 >= GREATER_OR_EQUAL_OPERATOR) && (LA292_62 <= GREATER_THAN_OPERATOR)) || ((LA292_62 >= GROUP_SYMBOL) && (LA292_62 <= HAVING_SYMBOL)) || LA292_62 == IDENTIFIER || LA292_62 == INNER_SYMBOL || LA292_62 == INTO_SYMBOL || LA292_62 == IN_SYMBOL || LA292_62 == IS_SYMBOL || LA292_62 == JOIN_SYMBOL || ((LA292_62 >= LEFT_SYMBOL) && (LA292_62 <= LESS_THAN_OPERATOR)) || ((LA292_62 >= LIKE_SYMBOL) && (LA292_62 <= LIMIT_SYMBOL)) || LA292_62 == LOCK_SYMBOL || LA292_62 == LOGICAL_AND_OPERATOR || LA292_62 == LOGICAL_OR_OPERATOR || LA292_62 == MINUS_OPERATOR || ((LA292_62 >= MOD_OPERATOR) && (LA292_62 <= MOD_SYMBOL)) || ((LA292_62 >= MULT_OPERATOR) && (LA292_62 <= NATURAL_SYMBOL)) || LA292_62 == NCHAR_TEXT || ((LA292_62 >= NOT_EQUAL2_OPERATOR) && (LA292_62 <= NOT_SYMBOL)) || LA292_62 == NULL_SAFE_EQUAL_OPERATOR || LA292_62 == ON_SYMBOL || LA292_62 == OPEN_PAR_SYMBOL || ((LA292_62 >= ORDER_SYMBOL) && (LA292_62 <= OR_SYMBOL)) || LA292_62 == PLUS_OPERATOR || LA292_62 == PROCEDURE_SYMBOL || LA292_62 == REGEXP_SYMBOL || LA292_62 == RIGHT_SYMBOL || LA292_62 == SEMICOLON_SYMBOL || LA292_62 == SET_SYMBOL || ((LA292_62 >= SHIFT_LEFT_OPERATOR) && (LA292_62 <= SHIFT_RIGHT_OPERATOR)) || LA292_62 == SINGLE_QUOTED_TEXT || LA292_62 == STRAIGHT_JOIN_SYMBOL || LA292_62 == UNDERSCORE_CHARSET || LA292_62 == UNION_SYMBOL || LA292_62 == USING_SYMBOL || LA292_62 == WHERE_SYMBOL || LA292_62 == WITH_SYMBOL || LA292_62 == XOR_SYMBOL))
                        {
                            alt292=2;
                        }
                        else if ( (LA292_62 == DOT_SYMBOL))
                        {
                            {
                                int LA292_1616 = LA(3);
                                if ( (synpred1_MySQL(ctx)))
                                {
                                    alt292=1;
                                }
                                else if ( (ANTLR3_TRUE))
                                {
                                    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        = 1616;


                                    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  = 292;
                            EXCEPTION->state        = 62;


                            goto ruleselect_itemEx;

                        }
                    }
                }
                else if ( (LA292_0 == ROW_COUNT_SYMBOL))
                {
                    {
                        int LA292_65 = LA(2);
                        if ( (LA292_65 == DOT_SYMBOL))
                        {
                            {
                                int LA292_1671 = LA(3);
                                if ( (synpred1_MySQL(ctx)))
                                {
                                    alt292=1;
                                }
                                else if ( (ANTLR3_TRUE))
                                {
                                    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        = 1671;


                                    goto ruleselect_itemEx;

                                }
                            }
                        }
                        else if ( (LA292_65 == EOF || ((LA292_65 >= ACTION_SYMBOL) && (LA292_65 <= PARTITION_SYMBOL)) || LA292_65 == AND_SYMBOL || LA292_65 == AS_SYMBOL || LA292_65 == BACK_TICK_QUOTED_ID || LA292_65 == BETWEEN_SYMBOL || LA292_65 == BITWISE_AND_OPERATOR || ((LA292_65 >= BITWISE_OR_OPERATOR) && (LA292_65 <= BITWISE_XOR_OPERATOR)) || ((LA292_65 >= CLOSE_CURLY_SYMBOL) && (LA292_65 <= COLLATE_SYMBOL)) || LA292_65 == COMMA_SYMBOL || LA292_65 == CONCAT_PIPES_SYMBOL || LA292_65 == CROSS_SYMBOL || ((LA292_65 >= DIV_OPERATOR) && (LA292_65 <= DIV_SYMBOL)) || LA292_65 == DOUBLE_QUOTED_TEXT || LA292_65 == EQUAL_OPERATOR || LA292_65 == FOR_SYMBOL || LA292_65 == FROM_SYMBOL || ((LA292_65 >= GREATER_OR_EQUAL_OPERATOR) && (LA292_65 <= GREATER_THAN_OPERATOR)) || ((LA292_65 >= GROUP_SYMBOL) && (LA292_65 <= HAVING_SYMBOL)) || LA292_65 == IDENTIFIER || LA292_65 == INNER_SYMBOL || LA292_65 == INTO_SYMBOL || LA292_65 == IN_SYMBOL || LA292_65 == IS_SYMBOL || LA292_65 == JOIN_SYMBOL || ((LA292_65 >= LEFT_SYMBOL) && (LA292_65 <= LESS_THAN_OPERATOR)) || ((LA292_65 >= LIKE_SYMBOL) && (LA292_65 <= LIMIT_SYMBOL)) || LA292_65 == LOCK_SYMBOL || LA292_65 == LOGICAL_AND_OPERATOR || LA292_65 == LOGICAL_OR_OPERATOR || LA292_65 == MINUS_OPERATOR || ((LA292_65 >= MOD_OPERATOR) && (LA292_65 <= MOD_SYMBOL)) || ((LA292_65 >= MULT_OPERATOR) && (LA292_65 <= NATURAL_SYMBOL)) || LA292_65 == NCHAR_TEXT || ((LA292_65 >= NOT_EQUAL2_OPERATOR) && (LA292_65 <= NOT_SYMBOL)) || LA292_65 == NULL_SAFE_EQUAL_OPERATOR || LA292_65 == ON_SYMBOL || LA292_65 == OPEN_PAR_SYMBOL || ((LA292_65 >= ORDER_SYMBOL) && (LA292_65 <= OR_SYMBOL)) || LA292_65 == PLUS_OPERATOR || LA292_65 == PROCEDURE_SYMBOL || LA292_65 == REGEXP_SYMBOL || LA292_65 == RIGHT_SYMBOL || LA292_65 == SEMICOLON_SYMBOL || LA292_65 == SET_SYMBOL || ((LA292_65 >= SHIFT_LEFT_OPERATOR) && (LA292_65 <= SHIFT_RIGHT_OPERATOR)) || LA292_65 == SINGLE_QUOTED_TEXT || LA292_65 == STRAIGHT_JOIN_SYMBOL || LA292_65 == UNDERSCORE_CHARSET || LA292_65 == UNION_SYMBOL || LA292_65 == USING_SYMBOL || LA292_65 == WHERE_SYMBOL || LA292_65 == WITH_SYMBOL || LA292_65 == XOR_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        = 65;


                            goto ruleselect_itemEx;

                        }
                    }
                }
                else if ( (LA292_0 == WEEK_SYMBOL))
                {
                    {
                        int LA292_66 = LA(2);
                        if ( (LA292_66 == EOF || ((LA292_66 >= ACTION_SYMBOL) && (LA292_66 <= PARTITION_SYMBOL)) || LA292_66 == AND_SYMBOL || LA292_66 == AS_SYMBOL || LA292_66 == BACK_TICK_QUOTED_ID || LA292_66 == BETWEEN_SYMBOL || LA292_66 == BITWISE_AND_OPERATOR || ((LA292_66 >= BITWISE_OR_OPERATOR) && (LA292_66 <= BITWISE_XOR_OPERATOR)) || ((LA292_66 >= CLOSE_CURLY_SYMBOL) && (LA292_66 <= COLLATE_SYMBOL)) || LA292_66 == COMMA_SYMBOL || LA292_66 == CONCAT_PIPES_SYMBOL || LA292_66 == CROSS_SYMBOL || ((LA292_66 >= DIV_OPERATOR) && (LA292_66 <= DIV_SYMBOL)) || LA292_66 == DOUBLE_QUOTED_TEXT || LA292_66 == EQUAL_OPERATOR || LA292_66 == FOR_SYMBOL || LA292_66 == FROM_SYMBOL || ((LA292_66 >= GREATER_OR_EQUAL_OPERATOR) && (LA292_66 <= GREATER_THAN_OPERATOR)) || ((LA292_66 >= GROUP_SYMBOL) && (LA292_66 <= HAVING_SYMBOL)) || LA292_66 == IDENTIFIER || LA292_66 == INNER_SYMBOL || LA292_66 == INTO_SYMBOL || LA292_66 == IN_SYMBOL || LA292_66 == IS_SYMBOL || LA292_66 == JOIN_SYMBOL || ((LA292_66 >= LEFT_SYMBOL) && (LA292_66 <= LESS_THAN_OPERATOR)) || ((LA292_66 >= LIKE_SYMBOL) && (LA292_66 <= LIMIT_SYMBOL)) || LA292_66 == LOCK_SYMBOL || LA292_66 == LOGICAL_AND_OPERATOR || LA292_66 == LOGICAL_OR_OPERATOR || LA292_66 == MINUS_OPERATOR || ((LA292_66 >= MOD_OPERATOR) && (LA292_66 <= MOD_SYMBOL)) || ((LA292_66 >= MULT_OPERATOR) && (LA292_66 <= NATURAL_SYMBOL)) || LA292_66 == NCHAR_TEXT || ((LA292_66 >= NOT_EQUAL2_OPERATOR) && (LA292_66 <= NOT_SYMBOL)) || LA292_66 == NULL_SAFE_EQUAL_OPERATOR || LA292_66 == ON_SYMBOL || LA292_66 == OPEN_PAR_SYMBOL || ((LA292_66 >= ORDER_SYMBOL) && (LA292_66 <= OR_SYMBOL)) || LA292_66 == PLUS_OPERATOR || LA292_66 == PROCEDURE_SYMBOL || LA292_66 == REGEXP_SYMBOL || LA292_66 == RIGHT_SYMBOL || LA292_66 == SEMICOLON_SYMBOL || LA292_66 == SET_SYMBOL || ((LA292_66 >= SHIFT_LEFT_OPERATOR) && (LA292_66 <= SHIFT_RIGHT_OPERATOR)) || LA292_66 == SINGLE_QUOTED_TEXT || LA292_66 == STRAIGHT_JOIN_SYMBOL || LA292_66 == UNDERSCORE_CHARSET || LA292_66 == UNION_SYMBOL || LA292_66 == USING_SYMBOL || LA292_66 == WHERE_SYMBOL || LA292_66 == WITH_SYMBOL || LA292_66 == XOR_SYMBOL))
                        {
                            alt292=2;
                        }
                        else if ( (LA292_66 == DOT_SYMBOL))
                        {
                            {
                                int LA292_1728 = LA(3);
                                if ( (synpred1_MySQL(ctx)))
                                {
                                    alt292=1;
                                }
                                else if ( (ANTLR3_TRUE))
                                {
                                    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        = 1728;


                                    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  = 292;
                            EXCEPTION->state        = 66;


                            goto ruleselect_itemEx;

                        }
                    }
                }
                else if ( (LA292_0 == CONTAINS_SYMBOL))
                {
                    {
                        int LA292_67 = LA(2);
                        if ( (LA292_67 == EOF || ((LA292_67 >= ACTION_SYMBOL) && (LA292_67 <= PARTITION_SYMBOL)) || LA292_67 == AND_SYMBOL || LA292_67 == AS_SYMBOL || LA292_67 == BACK_TICK_QUOTED_ID || LA292_67 == BETWEEN_SYMBOL || LA292_67 == BITWISE_AND_OPERATOR || ((LA292_67 >= BITWISE_OR_OPERATOR) && (LA292_67 <= BITWISE_XOR_OPERATOR)) || ((LA292_67 >= CLOSE_CURLY_SYMBOL) && (LA292_67 <= COLLATE_SYMBOL)) || LA292_67 == COMMA_SYMBOL || LA292_67 == CONCAT_PIPES_SYMBOL || LA292_67 == CROSS_SYMBOL || ((LA292_67 >= DIV_OPERATOR) && (LA292_67 <= DIV_SYMBOL)) || LA292_67 == DOUBLE_QUOTED_TEXT || LA292_67 == EQUAL_OPERATOR || LA292_67 == FOR_SYMBOL || LA292_67 == FROM_SYMBOL || ((LA292_67 >= GREATER_OR_EQUAL_OPERATOR) && (LA292_67 <= GREATER_THAN_OPERATOR)) || ((LA292_67 >= GROUP_SYMBOL) && (LA292_67 <= HAVING_SYMBOL)) || LA292_67 == IDENTIFIER || LA292_67 == INNER_SYMBOL || LA292_67 == INTO_SYMBOL || LA292_67 == IN_SYMBOL || LA292_67 == IS_SYMBOL || LA292_67 == JOIN_SYMBOL || ((LA292_67 >= LEFT_SYMBOL) && (LA292_67 <= LESS_THAN_OPERATOR)) || ((LA292_67 >= LIKE_SYMBOL) && (LA292_67 <= LIMIT_SYMBOL)) || LA292_67 == LOCK_SYMBOL || LA292_67 == LOGICAL_AND_OPERATOR || LA292_67 == LOGICAL_OR_OPERATOR || LA292_67 == MINUS_OPERATOR || ((LA292_67 >= MOD_OPERATOR) && (LA292_67 <= MOD_SYMBOL)) || ((LA292_67 >= MULT_OPERATOR) && (LA292_67 <= NATURAL_SYMBOL)) || LA292_67 == NCHAR_TEXT || ((LA292_67 >= NOT_EQUAL2_OPERATOR) && (LA292_67 <= NOT_SYMBOL)) || LA292_67 == NULL_SAFE_EQUAL_OPERATOR || LA292_67 == ON_SYMBOL || LA292_67 == OPEN_PAR_SYMBOL || ((LA292_67 >= ORDER_SYMBOL) && (LA292_67 <= OR_SYMBOL)) || LA292_67 == PLUS_OPERATOR || LA292_67 == PROCEDURE_SYMBOL || LA292_67 == REGEXP_SYMBOL || LA292_67 == RIGHT_SYMBOL || LA292_67 == SEMICOLON_SYMBOL || LA292_67 == SET_SYMBOL || ((LA292_67 >= SHIFT_LEFT_OPERATOR) && (LA292_67 <= SHIFT_RIGHT_OPERATOR)) || LA292_67 == SINGLE_QUOTED_TEXT || LA292_67 == STRAIGHT_JOIN_SYMBOL || LA292_67 == UNDERSCORE_CHARSET || LA292_67 == UNION_SYMBOL || LA292_67 == USING_SYMBOL || LA292_67 == WHERE_SYMBOL || LA292_67 == WITH_SYMBOL || LA292_67 == XOR_SYMBOL))
                        {
                            alt292=2;
                        }
                        else if ( (LA292_67 == DOT_SYMBOL))
                        {
                            {
                                int LA292_1784 = LA(3);
                                if ( (synpred1_MySQL(ctx)))
                                {
                                    alt292=1;
                                }
                                else if ( (ANTLR3_TRUE))
                                {
                                    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        = 1784;


                                    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  = 292;
                            EXCEPTION->state        = 67;


                            goto ruleselect_itemEx;

                        }
                    }
                }
                else if ( (LA292_0 == WEIGHT_STRING_SYMBOL))
                {
                    {
                        int LA292_68 = LA(2);
                        if ( (LA292_68 == EOF || ((LA292_68 >= ACTION_SYMBOL) && (LA292_68 <= PARTITION_SYMBOL)) || LA292_68 == AND_SYMBOL || LA292_68 == AS_SYMBOL || LA292_68 == BACK_TICK_QUOTED_ID || LA292_68 == BETWEEN_SYMBOL || LA292_68 == BITWISE_AND_OPERATOR || ((LA292_68 >= BITWISE_OR_OPERATOR) && (LA292_68 <= BITWISE_XOR_OPERATOR)) || ((LA292_68 >= CLOSE_CURLY_SYMBOL) && (LA292_68 <= COLLATE_SYMBOL)) || LA292_68 == COMMA_SYMBOL || LA292_68 == CONCAT_PIPES_SYMBOL || LA292_68 == CROSS_SYMBOL || ((LA292_68 >= DIV_OPERATOR) && (LA292_68 <= DIV_SYMBOL)) || LA292_68 == DOUBLE_QUOTED_TEXT || LA292_68 == EQUAL_OPERATOR || LA292_68 == FOR_SYMBOL || LA292_68 == FROM_SYMBOL || ((LA292_68 >= GREATER_OR_EQUAL_OPERATOR) && (LA292_68 <= GREATER_THAN_OPERATOR)) || ((LA292_68 >= GROUP_SYMBOL) && (LA292_68 <= HAVING_SYMBOL)) || LA292_68 == IDENTIFIER || LA292_68 == INNER_SYMBOL || LA292_68 == INTO_SYMBOL || LA292_68 == IN_SYMBOL || LA292_68 == IS_SYMBOL || LA292_68 == JOIN_SYMBOL || ((LA292_68 >= LEFT_SYMBOL) && (LA292_68 <= LESS_THAN_OPERATOR)) || ((LA292_68 >= LIKE_SYMBOL) && (LA292_68 <= LIMIT_SYMBOL)) || LA292_68 == LOCK_SYMBOL || LA292_68 == LOGICAL_AND_OPERATOR || LA292_68 == LOGICAL_OR_OPERATOR || LA292_68 == MINUS_OPERATOR || ((LA292_68 >= MOD_OPERATOR) && (LA292_68 <= MOD_SYMBOL)) || ((LA292_68 >= MULT_OPERATOR) && (LA292_68 <= NATURAL_SYMBOL)) || LA292_68 == NCHAR_TEXT || ((LA292_68 >= NOT_EQUAL2_OPERATOR) && (LA292_68 <= NOT_SYMBOL)) || LA292_68 == NULL_SAFE_EQUAL_OPERATOR || LA292_68 == ON_SYMBOL || LA292_68 == OPEN_PAR_SYMBOL || ((LA292_68 >= ORDER_SYMBOL) && (LA292_68 <= OR_SYMBOL)) || LA292_68 == PLUS_OPERATOR || LA292_68 == PROCEDURE_SYMBOL || LA292_68 == REGEXP_SYMBOL || LA292_68 == RIGHT_SYMBOL || LA292_68 == SEMICOLON_SYMBOL || LA292_68 == SET_SYMBOL || ((LA292_68 >= SHIFT_LEFT_OPERATOR) && (LA292_68 <= SHIFT_RIGHT_OPERATOR)) || LA292_68 == SINGLE_QUOTED_TEXT || LA292_68 == STRAIGHT_JOIN_SYMBOL || LA292_68 == UNDERSCORE_CHARSET || LA292_68 == UNION_SYMBOL || LA292_68 == USING_SYMBOL || LA292_68 == WHERE_SYMBOL || LA292_68 == WITH_SYMBOL || LA292_68 == XOR_SYMBOL))
                        {
                            alt292=2;
                        }
                        else if ( (LA292_68 == DOT_SYMBOL))
                        {
                            {
                                int LA292_1840 = LA(3);
                                if ( (synpred1_MySQL(ctx)))
                                {
                                    alt292=1;
                                }
                                else if ( (ANTLR3_TRUE))
                                {
                                    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        = 1840;


                                    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  = 292;
                            EXCEPTION->state        = 68;


                            goto ruleselect_itemEx;

                        }
                    }
                }
                else if ( (LA292_0 == GEOMETRYCOLLECTION_SYMBOL))
                {
                    {
                        int LA292_69 = LA(2);
                        if ( (LA292_69 == DOT_SYMBOL))
                        {
                            {
                                int LA292_1895 = LA(3);
                                if ( (synpred1_MySQL(ctx)))
                                {
                                    alt292=1;
                                }
                                else if ( (ANTLR3_TRUE))
                                {
                                    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        = 1895;


                                    goto ruleselect_itemEx;

                                }
                            }
                        }
                        else if ( (LA292_69 == EOF || ((LA292_69 >= ACTION_SYMBOL) && (LA292_69 <= PARTITION_SYMBOL)) || LA292_69 == AND_SYMBOL || LA292_69 == AS_SYMBOL || LA292_69 == BACK_TICK_QUOTED_ID || LA292_69 == BETWEEN_SYMBOL || LA292_69 == BITWISE_AND_OPERATOR || ((LA292_69 >= BITWISE_OR_OPERATOR) && (LA292_69 <= BITWISE_XOR_OPERATOR)) || ((LA292_69 >= CLOSE_CURLY_SYMBOL) && (LA292_69 <= COLLATE_SYMBOL)) || LA292_69 == COMMA_SYMBOL || LA292_69 == CONCAT_PIPES_SYMBOL || LA292_69 == CROSS_SYMBOL || ((LA292_69 >= DIV_OPERATOR) && (LA292_69 <= DIV_SYMBOL)) || LA292_69 == DOUBLE_QUOTED_TEXT || LA292_69 == EQUAL_OPERATOR || LA292_69 == FOR_SYMBOL || LA292_69 == FROM_SYMBOL || ((LA292_69 >= GREATER_OR_EQUAL_OPERATOR) && (LA292_69 <= GREATER_THAN_OPERATOR)) || ((LA292_69 >= GROUP_SYMBOL) && (LA292_69 <= HAVING_SYMBOL)) || LA292_69 == IDENTIFIER || LA292_69 == INNER_SYMBOL || LA292_69 == INTO_SYMBOL || LA292_69 == IN_SYMBOL || LA292_69 == IS_SYMBOL || LA292_69 == JOIN_SYMBOL || ((LA292_69 >= LEFT_SYMBOL) && (LA292_69 <= LESS_THAN_OPERATOR)) || ((LA292_69 >= LIKE_SYMBOL) && (LA292_69 <= LIMIT_SYMBOL)) || LA292_69 == LOCK_SYMBOL || LA292_69 == LOGICAL_AND_OPERATOR || LA292_69 == LOGICAL_OR_OPERATOR || LA292_69 == MINUS_OPERATOR || ((LA292_69 >= MOD_OPERATOR) && (LA292_69 <= MOD_SYMBOL)) || ((LA292_69 >= MULT_OPERATOR) && (LA292_69 <= NATURAL_SYMBOL)) || LA292_69 == NCHAR_TEXT || ((LA292_69 >= NOT_EQUAL2_OPERATOR) && (LA292_69 <= NOT_SYMBOL)) || LA292_69 == NULL_SAFE_EQUAL_OPERATOR || LA292_69 == ON_SYMBOL || LA292_69 == OPEN_PAR_SYMBOL || ((LA292_69 >= ORDER_SYMBOL) && (LA292_69 <= OR_SYMBOL)) || LA292_69 == PLUS_OPERATOR || LA292_69 == PROCEDURE_SYMBOL || LA292_69 == REGEXP_SYMBOL || LA292_69 == RIGHT_SYMBOL || LA292_69 == SEMICOLON_SYMBOL || LA292_69 == SET_SYMBOL || ((LA292_69 >= SHIFT_LEFT_OPERATOR) && (LA292_69 <= SHIFT_RIGHT_OPERATOR)) || LA292_69 == SINGLE_QUOTED_TEXT || LA292_69 == STRAIGHT_JOIN_SYMBOL || LA292_69 == UNDERSCORE_CHARSET || LA292_69 == UNION_SYMBOL || LA292_69 == USING_SYMBOL || LA292_69 == WHERE_SYMBOL || LA292_69 == WITH_SYMBOL || LA292_69 == XOR_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        = 69;


                            goto ruleselect_itemEx;

                        }
                    }
                }
                else if ( (((LA292_0 >= BACKUP_SYMBOL) && (LA292_0 <= CACHE_SYMBOL)) || ((LA292_0 >= CHECKSUM_SYMBOL) && (LA292_0 <= COMMIT_SYMBOL)) || ((LA292_0 >= DEALLOCATE_SYMBOL) && (LA292_0 <= FLUSH_SYMBOL)) || ((LA292_0 >= HANDLER_SYMBOL) && (LA292_0 <= STOP_SYMBOL)) || ((LA292_0 >= UNICODE_SYMBOL) && (LA292_0 <= XA_SYMBOL))))
                {
                    {
                        int LA292_70 = LA(2);
                        if ( (LA292_70 == DOT_SYMBOL))
                        {
                            {
                                int LA292_1951 = LA(3);
                                if ( (synpred1_MySQL(ctx)))
                                {
                                    alt292=1;
                                }
                                else if ( (ANTLR3_TRUE))
                                {
                                    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        = 1951;


                                    goto ruleselect_itemEx;

                                }
                            }
                        }
                        else if ( (LA292_70 == EOF || ((LA292_70 >= ACTION_SYMBOL) && (LA292_70 <= PARTITION_SYMBOL)) || LA292_70 == AND_SYMBOL || LA292_70 == AS_SYMBOL || LA292_70 == BACK_TICK_QUOTED_ID || LA292_70 == BETWEEN_SYMBOL || LA292_70 == BITWISE_AND_OPERATOR || ((LA292_70 >= BITWISE_OR_OPERATOR) && (LA292_70 <= BITWISE_XOR_OPERATOR)) || ((LA292_70 >= CLOSE_CURLY_SYMBOL) && (LA292_70 <= COLLATE_SYMBOL)) || LA292_70 == COMMA_SYMBOL || LA292_70 == CONCAT_PIPES_SYMBOL || LA292_70 == CROSS_SYMBOL || ((LA292_70 >= DIV_OPERATOR) && (LA292_70 <= DIV_SYMBOL)) || LA292_70 == DOUBLE_QUOTED_TEXT || LA292_70 == EQUAL_OPERATOR || LA292_70 == FOR_SYMBOL || LA292_70 == FROM_SYMBOL || ((LA292_70 >= GREATER_OR_EQUAL_OPERATOR) && (LA292_70 <= GREATER_THAN_OPERATOR)) || ((LA292_70 >= GROUP_SYMBOL) && (LA292_70 <= HAVING_SYMBOL)) || LA292_70 == IDENTIFIER || LA292_70 == INNER_SYMBOL || LA292_70 == INTO_SYMBOL || LA292_70 == IN_SYMBOL || LA292_70 == IS_SYMBOL || LA292_70 == JOIN_SYMBOL || ((LA292_70 >= LEFT_SYMBOL) && (LA292_70 <= LESS_THAN_OPERATOR)) || ((LA292_70 >= LIKE_SYMBOL) && (LA292_70 <= LIMIT_SYMBOL)) || LA292_70 == LOCK_SYMBOL || LA292_70 == LOGICAL_AND_OPERATOR || LA292_70 == LOGICAL_OR_OPERATOR || LA292_70 == MINUS_OPERATOR || ((LA292_70 >= MOD_OPERATOR) && (LA292_70 <= MOD_SYMBOL)) || ((LA292_70 >= MULT_OPERATOR) && (LA292_70 <= NATURAL_SYMBOL)) || LA292_70 == NCHAR_TEXT || ((LA292_70 >= NOT_EQUAL2_OPERATOR) && (LA292_70 <= NOT_SYMBOL)) || LA292_70 == NULL_SAFE_EQUAL_OPERATOR || LA292_70 == ON_SYMBOL || LA292_70 == OPEN_PAR_SYMBOL || ((LA292_70 >= ORDER_SYMBOL) && (LA292_70 <= OR_SYMBOL)) || LA292_70 == PLUS_OPERATOR || LA292_70 == PROCEDURE_SYMBOL || LA292_70 == REGEXP_SYMBOL || LA292_70 == RIGHT_SYMBOL || LA292_70 == SEMICOLON_SYMBOL || LA292_70 == SET_SYMBOL || ((LA292_70 >= SHIFT_LEFT_OPERATOR) && (LA292_70 <= SHIFT_RIGHT_OPERATOR)) || LA292_70 == SINGLE_QUOTED_TEXT || LA292_70 == STRAIGHT_JOIN_SYMBOL || LA292_70 == UNDERSCORE_CHARSET || LA292_70 == UNION_SYMBOL || LA292_70 == USING_SYMBOL || LA292_70 == WHERE_SYMBOL || LA292_70 == WITH_SYMBOL || LA292_70 == XOR_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        = 70;


                            goto ruleselect_itemEx;

                        }
                    }
                }
                else if ( (LA292_0 == LINESTRING_SYMBOL))
                {
                    {
                        int LA292_71 = LA(2);
                        if ( (LA292_71 == DOT_SYMBOL))
                        {
                            {
                                int LA292_2007 = LA(3);
                                if ( (synpred1_MySQL(ctx)))
                                {
                                    alt292=1;
                                }
                                else if ( (ANTLR3_TRUE))
                                {
                                    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        = 2007;


                                    goto ruleselect_itemEx;

                                }
                            }
                        }
                        else if ( (LA292_71 == EOF || ((LA292_71 >= ACTION_SYMBOL) && (LA292_71 <= PARTITION_SYMBOL)) || LA292_71 == AND_SYMBOL || LA292_71 == AS_SYMBOL || LA292_71 == BACK_TICK_QUOTED_ID || LA292_71 == BETWEEN_SYMBOL || LA292_71 == BITWISE_AND_OPERATOR || ((LA292_71 >= BITWISE_OR_OPERATOR) && (LA292_71 <= BITWISE_XOR_OPERATOR)) || ((LA292_71 >= CLOSE_CURLY_SYMBOL) && (LA292_71 <= COLLATE_SYMBOL)) || LA292_71 == COMMA_SYMBOL || LA292_71 == CONCAT_PIPES_SYMBOL || LA292_71 == CROSS_SYMBOL || ((LA292_71 >= DIV_OPERATOR) && (LA292_71 <= DIV_SYMBOL)) || LA292_71 == DOUBLE_QUOTED_TEXT || LA292_71 == EQUAL_OPERATOR || LA292_71 == FOR_SYMBOL || LA292_71 == FROM_SYMBOL || ((LA292_71 >= GREATER_OR_EQUAL_OPERATOR) && (LA292_71 <= GREATER_THAN_OPERATOR)) || ((LA292_71 >= GROUP_SYMBOL) && (LA292_71 <= HAVING_SYMBOL)) || LA292_71 == IDENTIFIER || LA292_71 == INNER_SYMBOL || LA292_71 == INTO_SYMBOL || LA292_71 == IN_SYMBOL || LA292_71 == IS_SYMBOL || LA292_71 == JOIN_SYMBOL || ((LA292_71 >= LEFT_SYMBOL) && (LA292_71 <= LESS_THAN_OPERATOR)) || ((LA292_71 >= LIKE_SYMBOL) && (LA292_71 <= LIMIT_SYMBOL)) || LA292_71 == LOCK_SYMBOL || LA292_71 == LOGICAL_AND_OPERATOR || LA292_71 == LOGICAL_OR_OPERATOR || LA292_71 == MINUS_OPERATOR || ((LA292_71 >= MOD_OPERATOR) && (LA292_71 <= MOD_SYMBOL)) || ((LA292_71 >= MULT_OPERATOR) && (LA292_71 <= NATURAL_SYMBOL)) || LA292_71 == NCHAR_TEXT || ((LA292_71 >= NOT_EQUAL2_OPERATOR) && (LA292_71 <= NOT_SYMBOL)) || LA292_71 == NULL_SAFE_EQUAL_OPERATOR || LA292_71 == ON_SYMBOL || LA292_71 == OPEN_PAR_SYMBOL || ((LA292_71 >= ORDER_SYMBOL) && (LA292_71 <= OR_SYMBOL)) || LA292_71 == PLUS_OPERATOR || LA292_71 == PROCEDURE_SYMBOL || LA292_71 == REGEXP_SYMBOL || LA292_71 == RIGHT_SYMBOL || LA292_71 == SEMICOLON_SYMBOL || LA292_71 == SET_SYMBOL || ((LA292_71 >= SHIFT_LEFT_OPERATOR) && (LA292_71 <= SHIFT_RIGHT_OPERATOR)) || LA292_71 == SINGLE_QUOTED_TEXT || LA292_71 == STRAIGHT_JOIN_SYMBOL || LA292_71 == UNDERSCORE_CHARSET || LA292_71 == UNION_SYMBOL || LA292_71 == USING_SYMBOL || LA292_71 == WHERE_SYMBOL || LA292_71 == WITH_SYMBOL || LA292_71 == XOR_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        = 71;


                            goto ruleselect_itemEx;

                        }
                    }
                }
                else if ( (LA292_0 == MULTILINESTRING_SYMBOL))
                {
                    {
                        int LA292_72 = LA(2);
                        if ( (LA292_72 == DOT_SYMBOL))
                        {
                            {
                                int LA292_2063 = LA(3);
                                if ( (synpred1_MySQL(ctx)))
                                {
                                    alt292=1;
                                }
                                else if ( (ANTLR3_TRUE))
                                {
                                    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        = 2063;


                                    goto ruleselect_itemEx;

                                }
                            }
                        }
                        else if ( (LA292_72 == EOF || ((LA292_72 >= ACTION_SYMBOL) && (LA292_72 <= PARTITION_SYMBOL)) || LA292_72 == AND_SYMBOL || LA292_72 == AS_SYMBOL || LA292_72 == BACK_TICK_QUOTED_ID || LA292_72 == BETWEEN_SYMBOL || LA292_72 == BITWISE_AND_OPERATOR || ((LA292_72 >= BITWISE_OR_OPERATOR) && (LA292_72 <= BITWISE_XOR_OPERATOR)) || ((LA292_72 >= CLOSE_CURLY_SYMBOL) && (LA292_72 <= COLLATE_SYMBOL)) || LA292_72 == COMMA_SYMBOL || LA292_72 == CONCAT_PIPES_SYMBOL || LA292_72 == CROSS_SYMBOL || ((LA292_72 >= DIV_OPERATOR) && (LA292_72 <= DIV_SYMBOL)) || LA292_72 == DOUBLE_QUOTED_TEXT || LA292_72 == EQUAL_OPERATOR || LA292_72 == FOR_SYMBOL || LA292_72 == FROM_SYMBOL || ((LA292_72 >= GREATER_OR_EQUAL_OPERATOR) && (LA292_72 <= GREATER_THAN_OPERATOR)) || ((LA292_72 >= GROUP_SYMBOL) && (LA292_72 <= HAVING_SYMBOL)) || LA292_72 == IDENTIFIER || LA292_72 == INNER_SYMBOL || LA292_72 == INTO_SYMBOL || LA292_72 == IN_SYMBOL || LA292_72 == IS_SYMBOL || LA292_72 == JOIN_SYMBOL || ((LA292_72 >= LEFT_SYMBOL) && (LA292_72 <= LESS_THAN_OPERATOR)) || ((LA292_72 >= LIKE_SYMBOL) && (LA292_72 <= LIMIT_SYMBOL)) || LA292_72 == LOCK_SYMBOL || LA292_72 == LOGICAL_AND_OPERATOR || LA292_72 == LOGICAL_OR_OPERATOR || LA292_72 == MINUS_OPERATOR || ((LA292_72 >= MOD_OPERATOR) && (LA292_72 <= MOD_SYMBOL)) || ((LA292_72 >= MULT_OPERATOR) && (LA292_72 <= NATURAL_SYMBOL)) || LA292_72 == NCHAR_TEXT || ((LA292_72 >= NOT_EQUAL2_OPERATOR) && (LA292_72 <= NOT_SYMBOL)) || LA292_72 == NULL_SAFE_EQUAL_OPERATOR || LA292_72 == ON_SYMBOL || LA292_72 == OPEN_PAR_SYMBOL || ((LA292_72 >= ORDER_SYMBOL) && (LA292_72 <= OR_SYMBOL)) || LA292_72 == PLUS_OPERATOR || LA292_72 == PROCEDURE_SYMBOL || LA292_72 == REGEXP_SYMBOL || LA292_72 == RIGHT_SYMBOL || LA292_72 == SEMICOLON_SYMBOL || LA292_72 == SET_SYMBOL || ((LA292_72 >= SHIFT_LEFT_OPERATOR) && (LA292_72 <= SHIFT_RIGHT_OPERATOR)) || LA292_72 == SINGLE_QUOTED_TEXT || LA292_72 == STRAIGHT_JOIN_SYMBOL || LA292_72 == UNDERSCORE_CHARSET || LA292_72 == UNION_SYMBOL || LA292_72 == USING_SYMBOL || LA292_72 == WHERE_SYMBOL || LA292_72 == WITH_SYMBOL || LA292_72 == XOR_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        = 72;


                            goto ruleselect_itemEx;

                        }
                    }
                }
                else if ( (LA292_0 == MULTIPOINT_SYMBOL))
                {
                    {
                        int LA292_73 = LA(2);
                        if ( (LA292_73 == DOT_SYMBOL))
                        {
                            {
                                int LA292_2119 = LA(3);
                                if ( (synpred1_MySQL(ctx)))
                                {
                                    alt292=1;
                                }
                                else if ( (ANTLR3_TRUE))
                                {
                                    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        = 2119;


                                    goto ruleselect_itemEx;

                                }
                            }
                        }
                        else if ( (LA292_73 == EOF || ((LA292_73 >= ACTION_SYMBOL) && (LA292_73 <= PARTITION_SYMBOL)) || LA292_73 == AND_SYMBOL || LA292_73 == AS_SYMBOL || LA292_73 == BACK_TICK_QUOTED_ID || LA292_73 == BETWEEN_SYMBOL || LA292_73 == BITWISE_AND_OPERATOR || ((LA292_73 >= BITWISE_OR_OPERATOR) && (LA292_73 <= BITWISE_XOR_OPERATOR)) || ((LA292_73 >= CLOSE_CURLY_SYMBOL) && (LA292_73 <= COLLATE_SYMBOL)) || LA292_73 == COMMA_SYMBOL || LA292_73 == CONCAT_PIPES_SYMBOL || LA292_73 == CROSS_SYMBOL || ((LA292_73 >= DIV_OPERATOR) && (LA292_73 <= DIV_SYMBOL)) || LA292_73 == DOUBLE_QUOTED_TEXT || LA292_73 == EQUAL_OPERATOR || LA292_73 == FOR_SYMBOL || LA292_73 == FROM_SYMBOL || ((LA292_73 >= GREATER_OR_EQUAL_OPERATOR) && (LA292_73 <= GREATER_THAN_OPERATOR)) || ((LA292_73 >= GROUP_SYMBOL) && (LA292_73 <= HAVING_SYMBOL)) || LA292_73 == IDENTIFIER || LA292_73 == INNER_SYMBOL || LA292_73 == INTO_SYMBOL || LA292_73 == IN_SYMBOL || LA292_73 == IS_SYMBOL || LA292_73 == JOIN_SYMBOL || ((LA292_73 >= LEFT_SYMBOL) && (LA292_73 <= LESS_THAN_OPERATOR)) || ((LA292_73 >= LIKE_SYMBOL) && (LA292_73 <= LIMIT_SYMBOL)) || LA292_73 == LOCK_SYMBOL || LA292_73 == LOGICAL_AND_OPERATOR || LA292_73 == LOGICAL_OR_OPERATOR || LA292_73 == MINUS_OPERATOR || ((LA292_73 >= MOD_OPERATOR) && (LA292_73 <= MOD_SYMBOL)) || ((LA292_73 >= MULT_OPERATOR) && (LA292_73 <= NATURAL_SYMBOL)) || LA292_73 == NCHAR_TEXT || ((LA292_73 >= NOT_EQUAL2_OPERATOR) && (LA292_73 <= NOT_SYMBOL)) || LA292_73 == NULL_SAFE_EQUAL_OPERATOR || LA292_73 == ON_SYMBOL || LA292_73 == OPEN_PAR_SYMBOL || ((LA292_73 >= ORDER_SYMBOL) && (LA292_73 <= OR_SYMBOL)) || LA292_73 == PLUS_OPERATOR || LA292_73 == PROCEDURE_SYMBOL || LA292_73 == REGEXP_SYMBOL || LA292_73 == RIGHT_SYMBOL || LA292_73 == SEMICOLON_SYMBOL || LA292_73 == SET_SYMBOL || ((LA292_73 >= SHIFT_LEFT_OPERATOR) && (LA292_73 <= SHIFT_RIGHT_OPERATOR)) || LA292_73 == SINGLE_QUOTED_TEXT || LA292_73 == STRAIGHT_JOIN_SYMBOL || LA292_73 == UNDERSCORE_CHARSET || LA292_73 == UNION_SYMBOL || LA292_73 == USING_SYMBOL || LA292_73 == WHERE_SYMBOL || LA292_73 == WITH_SYMBOL || LA292_73 == XOR_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        = 73;


                            goto ruleselect_itemEx;

                        }
                    }
                }
                else if ( (LA292_0 == MULTIPOLYGON_SYMBOL))
                {
                    {
                        int LA292_74 = LA(2);
                        if ( (LA292_74 == DOT_SYMBOL))
                        {
                            {
                                int LA292_2175 = LA(3);
                                if ( (synpred1_MySQL(ctx)))
                                {
                                    alt292=1;
                                }
                                else if ( (ANTLR3_TRUE))
                                {
                                    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        = 2175;


                                    goto ruleselect_itemEx;

                                }
                            }
                        }
                        else if ( (LA292_74 == EOF || ((LA292_74 >= ACTION_SYMBOL) && (LA292_74 <= PARTITION_SYMBOL)) || LA292_74 == AND_SYMBOL || LA292_74 == AS_SYMBOL || LA292_74 == BACK_TICK_QUOTED_ID || LA292_74 == BETWEEN_SYMBOL || LA292_74 == BITWISE_AND_OPERATOR || ((LA292_74 >= BITWISE_OR_OPERATOR) && (LA292_74 <= BITWISE_XOR_OPERATOR)) || ((LA292_74 >= CLOSE_CURLY_SYMBOL) && (LA292_74 <= COLLATE_SYMBOL)) || LA292_74 == COMMA_SYMBOL || LA292_74 == CONCAT_PIPES_SYMBOL || LA292_74 == CROSS_SYMBOL || ((LA292_74 >= DIV_OPERATOR) && (LA292_74 <= DIV_SYMBOL)) || LA292_74 == DOUBLE_QUOTED_TEXT || LA292_74 == EQUAL_OPERATOR || LA292_74 == FOR_SYMBOL || LA292_74 == FROM_SYMBOL || ((LA292_74 >= GREATER_OR_EQUAL_OPERATOR) && (LA292_74 <= GREATER_THAN_OPERATOR)) || ((LA292_74 >= GROUP_SYMBOL) && (LA292_74 <= HAVING_SYMBOL)) || LA292_74 == IDENTIFIER || LA292_74 == INNER_SYMBOL || LA292_74 == INTO_SYMBOL || LA292_74 == IN_SYMBOL || LA292_74 == IS_SYMBOL || LA292_74 == JOIN_SYMBOL || ((LA292_74 >= LEFT_SYMBOL) && (LA292_74 <= LESS_THAN_OPERATOR)) || ((LA292_74 >= LIKE_SYMBOL) && (LA292_74 <= LIMIT_SYMBOL)) || LA292_74 == LOCK_SYMBOL || LA292_74 == LOGICAL_AND_OPERATOR || LA292_74 == LOGICAL_OR_OPERATOR || LA292_74 == MINUS_OPERATOR || ((LA292_74 >= MOD_OPERATOR) && (LA292_74 <= MOD_SYMBOL)) || ((LA292_74 >= MULT_OPERATOR) && (LA292_74 <= NATURAL_SYMBOL)) || LA292_74 == NCHAR_TEXT || ((LA292_74 >= NOT_EQUAL2_OPERATOR) && (LA292_74 <= NOT_SYMBOL)) || LA292_74 == NULL_SAFE_EQUAL_OPERATOR || LA292_74 == ON_SYMBOL || LA292_74 == OPEN_PAR_SYMBOL || ((LA292_74 >= ORDER_SYMBOL) && (LA292_74 <= OR_SYMBOL)) || LA292_74 == PLUS_OPERATOR || LA292_74 == PROCEDURE_SYMBOL || LA292_74 == REGEXP_SYMBOL || LA292_74 == RIGHT_SYMBOL || LA292_74 == SEMICOLON_SYMBOL || LA292_74 == SET_SYMBOL || ((LA292_74 >= SHIFT_LEFT_OPERATOR) && (LA292_74 <= SHIFT_RIGHT_OPERATOR)) || LA292_74 == SINGLE_QUOTED_TEXT || LA292_74 == STRAIGHT_JOIN_SYMBOL || LA292_74 == UNDERSCORE_CHARSET || LA292_74 == UNION_SYMBOL || LA292_74 == USING_SYMBOL || LA292_74 == WHERE_SYMBOL || LA292_74 == WITH_SYMBOL || LA292_74 == XOR_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        = 74;


                            goto ruleselect_itemEx;

                        }
                    }
                }
                else if ( (LA292_0 == POINT_SYMBOL))
                {
                    {
                        int LA292_75 = LA(2);
                        if ( (LA292_75 == EOF || ((LA292_75 >= ACTION_SYMBOL) && (LA292_75 <= PARTITION_SYMBOL)) || LA292_75 == AND_SYMBOL || LA292_75 == AS_SYMBOL || LA292_75 == BACK_TICK_QUOTED_ID || LA292_75 == BETWEEN_SYMBOL || LA292_75 == BITWISE_AND_OPERATOR || ((LA292_75 >= BITWISE_OR_OPERATOR) && (LA292_75 <= BITWISE_XOR_OPERATOR)) || ((LA292_75 >= CLOSE_CURLY_SYMBOL) && (LA292_75 <= COLLATE_SYMBOL)) || LA292_75 == COMMA_SYMBOL || LA292_75 == CONCAT_PIPES_SYMBOL || LA292_75 == CROSS_SYMBOL || ((LA292_75 >= DIV_OPERATOR) && (LA292_75 <= DIV_SYMBOL)) || LA292_75 == DOUBLE_QUOTED_TEXT || LA292_75 == EQUAL_OPERATOR || LA292_75 == FOR_SYMBOL || LA292_75 == FROM_SYMBOL || ((LA292_75 >= GREATER_OR_EQUAL_OPERATOR) && (LA292_75 <= GREATER_THAN_OPERATOR)) || ((LA292_75 >= GROUP_SYMBOL) && (LA292_75 <= HAVING_SYMBOL)) || LA292_75 == IDENTIFIER || LA292_75 == INNER_SYMBOL || LA292_75 == INTO_SYMBOL || LA292_75 == IN_SYMBOL || LA292_75 == IS_SYMBOL || LA292_75 == JOIN_SYMBOL || ((LA292_75 >= LEFT_SYMBOL) && (LA292_75 <= LESS_THAN_OPERATOR)) || ((LA292_75 >= LIKE_SYMBOL) && (LA292_75 <= LIMIT_SYMBOL)) || LA292_75 == LOCK_SYMBOL || LA292_75 == LOGICAL_AND_OPERATOR || LA292_75 == LOGICAL_OR_OPERATOR || LA292_75 == MINUS_OPERATOR || ((LA292_75 >= MOD_OPERATOR) && (LA292_75 <= MOD_SYMBOL)) || ((LA292_75 >= MULT_OPERATOR) && (LA292_75 <= NATURAL_SYMBOL)) || LA292_75 == NCHAR_TEXT || ((LA292_75 >= NOT_EQUAL2_OPERATOR) && (LA292_75 <= NOT_SYMBOL)) || LA292_75 == NULL_SAFE_EQUAL_OPERATOR || LA292_75 == ON_SYMBOL || LA292_75 == OPEN_PAR_SYMBOL || ((LA292_75 >= ORDER_SYMBOL) && (LA292_75 <= OR_SYMBOL)) || LA292_75 == PLUS_OPERATOR || LA292_75 == PROCEDURE_SYMBOL || LA292_75 == REGEXP_SYMBOL || LA292_75 == RIGHT_SYMBOL || LA292_75 == SEMICOLON_SYMBOL || LA292_75 == SET_SYMBOL || ((LA292_75 >= SHIFT_LEFT_OPERATOR) && (LA292_75 <= SHIFT_RIGHT_OPERATOR)) || LA292_75 == SINGLE_QUOTED_TEXT || LA292_75 == STRAIGHT_JOIN_SYMBOL || LA292_75 == UNDERSCORE_CHARSET || LA292_75 == UNION_SYMBOL || LA292_75 == USING_SYMBOL || LA292_75 == WHERE_SYMBOL || LA292_75 == WITH_SYMBOL || LA292_75 == XOR_SYMBOL))
                        {
                            alt292=2;
                        }
                        else if ( (LA292_75 == DOT_SYMBOL))
                        {
                            {
                                int LA292_2232 = LA(3);
                                if ( (synpred1_MySQL(ctx)))
                                {
                                    alt292=1;
                                }
                                else if ( (ANTLR3_TRUE))
                                {
                                    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        = 2232;


                                    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  = 292;
                            EXCEPTION->state        = 75;


                            goto ruleselect_itemEx;

                        }
                    }
                }
                else if ( (LA292_0 == POLYGON_SYMBOL))
                {
                    {
                        int LA292_76 = LA(2);
                        if ( (LA292_76 == DOT_SYMBOL))
                        {
                            {
                                int LA292_2287 = LA(3);
                                if ( (synpred1_MySQL(ctx)))
                                {
                                    alt292=1;
                                }
                                else if ( (ANTLR3_TRUE))
                                {
                                    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        = 2287;


                                    goto ruleselect_itemEx;

                                }
                            }
                        }
                        else if ( (LA292_76 == EOF || ((LA292_76 >= ACTION_SYMBOL) && (LA292_76 <= PARTITION_SYMBOL)) || LA292_76 == AND_SYMBOL || LA292_76 == AS_SYMBOL || LA292_76 == BACK_TICK_QUOTED_ID || LA292_76 == BETWEEN_SYMBOL || LA292_76 == BITWISE_AND_OPERATOR || ((LA292_76 >= BITWISE_OR_OPERATOR) && (LA292_76 <= BITWISE_XOR_OPERATOR)) || ((LA292_76 >= CLOSE_CURLY_SYMBOL) && (LA292_76 <= COLLATE_SYMBOL)) || LA292_76 == COMMA_SYMBOL || LA292_76 == CONCAT_PIPES_SYMBOL || LA292_76 == CROSS_SYMBOL || ((LA292_76 >= DIV_OPERATOR) && (LA292_76 <= DIV_SYMBOL)) || LA292_76 == DOUBLE_QUOTED_TEXT || LA292_76 == EQUAL_OPERATOR || LA292_76 == FOR_SYMBOL || LA292_76 == FROM_SYMBOL || ((LA292_76 >= GREATER_OR_EQUAL_OPERATOR) && (LA292_76 <= GREATER_THAN_OPERATOR)) || ((LA292_76 >= GROUP_SYMBOL) && (LA292_76 <= HAVING_SYMBOL)) || LA292_76 == IDENTIFIER || LA292_76 == INNER_SYMBOL || LA292_76 == INTO_SYMBOL || LA292_76 == IN_SYMBOL || LA292_76 == IS_SYMBOL || LA292_76 == JOIN_SYMBOL || ((LA292_76 >= LEFT_SYMBOL) && (LA292_76 <= LESS_THAN_OPERATOR)) || ((LA292_76 >= LIKE_SYMBOL) && (LA292_76 <= LIMIT_SYMBOL)) || LA292_76 == LOCK_SYMBOL || LA292_76 == LOGICAL_AND_OPERATOR || LA292_76 == LOGICAL_OR_OPERATOR || LA292_76 == MINUS_OPERATOR || ((LA292_76 >= MOD_OPERATOR) && (LA292_76 <= MOD_SYMBOL)) || ((LA292_76 >= MULT_OPERATOR) && (LA292_76 <= NATURAL_SYMBOL)) || LA292_76 == NCHAR_TEXT || ((LA292_76 >= NOT_EQUAL2_OPERATOR) && (LA292_76 <= NOT_SYMBOL)) || LA292_76 == NULL_SAFE_EQUAL_OPERATOR || LA292_76 == ON_SYMBOL || LA292_76 == OPEN_PAR_SYMBOL || ((LA292_76 >= ORDER_SYMBOL) && (LA292_76 <= OR_SYMBOL)) || LA292_76 == PLUS_OPERATOR || LA292_76 == PROCEDURE_SYMBOL || LA292_76 == REGEXP_SYMBOL || LA292_76 == RIGHT_SYMBOL || LA292_76 == SEMICOLON_SYMBOL || LA292_76 == SET_SYMBOL || ((LA292_76 >= SHIFT_LEFT_OPERATOR) && (LA292_76 <= SHIFT_RIGHT_OPERATOR)) || LA292_76 == SINGLE_QUOTED_TEXT || LA292_76 == STRAIGHT_JOIN_SYMBOL || LA292_76 == UNDERSCORE_CHARSET || LA292_76 == UNION_SYMBOL || LA292_76 == USING_SYMBOL || LA292_76 == WHERE_SYMBOL || LA292_76 == WITH_SYMBOL || LA292_76 == XOR_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        = 76;


                            goto ruleselect_itemEx;

                        }
                    }
                }
                else if ( (LA292_0 == AVG_SYMBOL))
                {
                    {
                        int LA292_77 = LA(2);
                        if ( (LA292_77 == EOF || ((LA292_77 >= ACTION_SYMBOL) && (LA292_77 <= PARTITION_SYMBOL)) || LA292_77 == AND_SYMBOL || LA292_77 == AS_SYMBOL || LA292_77 == BACK_TICK_QUOTED_ID || LA292_77 == BETWEEN_SYMBOL || LA292_77 == BITWISE_AND_OPERATOR || ((LA292_77 >= BITWISE_OR_OPERATOR) && (LA292_77 <= BITWISE_XOR_OPERATOR)) || ((LA292_77 >= CLOSE_CURLY_SYMBOL) && (LA292_77 <= COLLATE_SYMBOL)) || LA292_77 == COMMA_SYMBOL || LA292_77 == CONCAT_PIPES_SYMBOL || LA292_77 == CROSS_SYMBOL || ((LA292_77 >= DIV_OPERATOR) && (LA292_77 <= DIV_SYMBOL)) || LA292_77 == DOUBLE_QUOTED_TEXT || LA292_77 == EQUAL_OPERATOR || LA292_77 == FOR_SYMBOL || LA292_77 == FROM_SYMBOL || ((LA292_77 >= GREATER_OR_EQUAL_OPERATOR) && (LA292_77 <= GREATER_THAN_OPERATOR)) || ((LA292_77 >= GROUP_SYMBOL) && (LA292_77 <= HAVING_SYMBOL)) || LA292_77 == IDENTIFIER || LA292_77 == INNER_SYMBOL || LA292_77 == INTO_SYMBOL || LA292_77 == IN_SYMBOL || LA292_77 == IS_SYMBOL || LA292_77 == JOIN_SYMBOL || ((LA292_77 >= LEFT_SYMBOL) && (LA292_77 <= LESS_THAN_OPERATOR)) || ((LA292_77 >= LIKE_SYMBOL) && (LA292_77 <= LIMIT_SYMBOL)) || LA292_77 == LOCK_SYMBOL || LA292_77 == LOGICAL_AND_OPERATOR || LA292_77 == LOGICAL_OR_OPERATOR || LA292_77 == MINUS_OPERATOR || ((LA292_77 >= MOD_OPERATOR) && (LA292_77 <= MOD_SYMBOL)) || ((LA292_77 >= MULT_OPERATOR) && (LA292_77 <= NATURAL_SYMBOL)) || LA292_77 == NCHAR_TEXT || ((LA292_77 >= NOT_EQUAL2_OPERATOR) && (LA292_77 <= NOT_SYMBOL)) || LA292_77 == NULL_SAFE_EQUAL_OPERATOR || LA292_77 == ON_SYMBOL || LA292_77 == OPEN_PAR_SYMBOL || ((LA292_77 >= ORDER_SYMBOL) && (LA292_77 <= OR_SYMBOL)) || LA292_77 == PLUS_OPERATOR || LA292_77 == PROCEDURE_SYMBOL || LA292_77 == REGEXP_SYMBOL || LA292_77 == RIGHT_SYMBOL || LA292_77 == SEMICOLON_SYMBOL || LA292_77 == SET_SYMBOL || ((LA292_77 >= SHIFT_LEFT_OPERATOR) && (LA292_77 <= SHIFT_RIGHT_OPERATOR)) || LA292_77 == SINGLE_QUOTED_TEXT || LA292_77 == STRAIGHT_JOIN_SYMBOL || LA292_77 == UNDERSCORE_CHARSET || LA292_77 == UNION_SYMBOL || LA292_77 == USING_SYMBOL || LA292_77 == WHERE_SYMBOL || LA292_77 == WITH_SYMBOL || LA292_77 == XOR_SYMBOL))
                        {
                            alt292=2;
                        }
                        else if ( (LA292_77 == DOT_SYMBOL))
                        {
                            {
                                int LA292_2344 = LA(3);
                                if ( (synpred1_MySQL(ctx)))
                                {
                                    alt292=1;
                                }
                                else if ( (ANTLR3_TRUE))
                                {
                                    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        = 2344;


                                    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  = 292;
                            EXCEPTION->state        = 77;


                            goto ruleselect_itemEx;

                        }
                    }
                }
                else if ( (LA292_0 == ROW_SYMBOL))
                {
                    {
                        int LA292_78 = LA(2);
                        if ( (LA292_78 == DOT_SYMBOL))
                        {
                            {
                                int LA292_2399 = LA(3);
                                if ( (synpred1_MySQL(ctx)))
                                {
                                    alt292=1;
                                }
                                else if ( (ANTLR3_TRUE))
                                {
                                    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        = 2399;


                                    goto ruleselect_itemEx;

                                }
                            }
                        }
                        else if ( (LA292_78 == EOF || ((LA292_78 >= ACTION_SYMBOL) && (LA292_78 <= PARTITION_SYMBOL)) || LA292_78 == AND_SYMBOL || LA292_78 == AS_SYMBOL || LA292_78 == BACK_TICK_QUOTED_ID || LA292_78 == BETWEEN_SYMBOL || LA292_78 == BITWISE_AND_OPERATOR || ((LA292_78 >= BITWISE_OR_OPERATOR) && (LA292_78 <= BITWISE_XOR_OPERATOR)) || ((LA292_78 >= CLOSE_CURLY_SYMBOL) && (LA292_78 <= COLLATE_SYMBOL)) || LA292_78 == COMMA_SYMBOL || LA292_78 == CONCAT_PIPES_SYMBOL || LA292_78 == CROSS_SYMBOL || ((LA292_78 >= DIV_OPERATOR) && (LA292_78 <= DIV_SYMBOL)) || LA292_78 == DOUBLE_QUOTED_TEXT || LA292_78 == EQUAL_OPERATOR || LA292_78 == FOR_SYMBOL || LA292_78 == FROM_SYMBOL || ((LA292_78 >= GREATER_OR_EQUAL_OPERATOR) && (LA292_78 <= GREATER_THAN_OPERATOR)) || ((LA292_78 >= GROUP_SYMBOL) && (LA292_78 <= HAVING_SYMBOL)) || LA292_78 == IDENTIFIER || LA292_78 == INNER_SYMBOL || LA292_78 == INTO_SYMBOL || LA292_78 == IN_SYMBOL || LA292_78 == IS_SYMBOL || LA292_78 == JOIN_SYMBOL || ((LA292_78 >= LEFT_SYMBOL) && (LA292_78 <= LESS_THAN_OPERATOR)) || ((LA292_78 >= LIKE_SYMBOL) && (LA292_78 <= LIMIT_SYMBOL)) || LA292_78 == LOCK_SYMBOL || LA292_78 == LOGICAL_AND_OPERATOR || LA292_78 == LOGICAL_OR_OPERATOR || LA292_78 == MINUS_OPERATOR || ((LA292_78 >= MOD_OPERATOR) && (LA292_78 <= MOD_SYMBOL)) || ((LA292_78 >= MULT_OPERATOR) && (LA292_78 <= NATURAL_SYMBOL)) || LA292_78 == NCHAR_TEXT || ((LA292_78 >= NOT_EQUAL2_OPERATOR) && (LA292_78 <= NOT_SYMBOL)) || LA292_78 == NULL_SAFE_EQUAL_OPERATOR || LA292_78 == ON_SYMBOL || LA292_78 == OPEN_PAR_SYMBOL || ((LA292_78 >= ORDER_SYMBOL) && (LA292_78 <= OR_SYMBOL)) || LA292_78 == PLUS_OPERATOR || LA292_78 == PROCEDURE_SYMBOL || LA292_78 == REGEXP_SYMBOL || LA292_78 == RIGHT_SYMBOL || LA292_78 == SEMICOLON_SYMBOL || LA292_78 == SET_SYMBOL || ((LA292_78 >= SHIFT_LEFT_OPERATOR) && (LA292_78 <= SHIFT_RIGHT_OPERATOR)) || LA292_78 == SINGLE_QUOTED_TEXT || LA292_78 == STRAIGHT_JOIN_SYMBOL || LA292_78 == UNDERSCORE_CHARSET || LA292_78 == UNION_SYMBOL || LA292_78 == USING_SYMBOL || LA292_78 == WHERE_SYMBOL || LA292_78 == WITH_SYMBOL || LA292_78 == XOR_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        = 78;


                            goto ruleselect_itemEx;

                        }
                    }
                }
                else if ( (LA292_0 == ACTION_SYMBOL || ((LA292_0 >= AFTER_SYMBOL) && (LA292_0 <= AVG_ROW_LENGTH_SYMBOL)) || ((LA292_0 >= BINLOG_SYMBOL) && (LA292_0 <= CLIENT_SYMBOL)) || LA292_0 == CODE_SYMBOL || ((LA292_0 >= COLUMNS_SYMBOL) && (LA292_0 <= DATETIME_SYMBOL)) || ((LA292_0 >= DEFAULT_AUTH_SYMBOL) && (LA292_0 <= GENERAL_SYMBOL)) || LA292_0 == GEOMETRY_SYMBOL || ((LA292_0 >= GLOBAL_SYMBOL) && (LA292_0 <= HOSTS_SYMBOL)) || ((LA292_0 >= IDENTIFIED_SYMBOL) && (LA292_0 <= LEVEL_SYMBOL)) || ((LA292_0 >= LIST_SYMBOL) && (LA292_0 <= MESSAGE_TEXT_SYMBOL)) || LA292_0 == MIGRATE_SYMBOL || ((LA292_0 >= MIN_ROWS_SYMBOL) && (LA292_0 <= MODIFY_SYMBOL)) || ((LA292_0 >= MUTEX_SYMBOL) && (LA292_0 <= OFFSET_SYMBOL)) || ((LA292_0 >= ONE_SHOT_SYMBOL) && (LA292_0 <= PARTITIONS_SYMBOL)) || ((LA292_0 >= PHASE_SYMBOL) && (LA292_0 <= PLUGIN_SYMBOL)) || ((LA292_0 >= PRESERVE_SYMBOL) && (LA292_0 <= PROXY_SYMBOL)) || ((LA292_0 >= QUERY_SYMBOL) && (LA292_0 <= RETURNS_SYMBOL)) || ((LA292_0 >= ROLLUP_SYMBOL) && (LA292_0 <= ROWS_SYMBOL)) || LA292_0 == ROW_FORMAT_SYMBOL || ((LA292_0 >= RTREE_SYMBOL) && (LA292_0 <= SCHEMA_NAME_SYMBOL)) || ((LA292_0 >= SERIALIZABLE_SYMBOL) && (LA292_0 <= SUBCLASS_ORIGIN_SYMBOL)) || ((LA292_0 >= SUBJECT_SYMBOL) && (LA292_0 <= THAN_SYMBOL)) || ((LA292_0 >= TRANSACTION_SYMBOL) && (LA292_0 <= USER_RESOURCES_SYMBOL)) || ((LA292_0 >= USE_FRM_SYMBOL) && (LA292_0 <= WARNINGS_SYMBOL)) || ((LA292_0 >= WORK_SYMBOL) && (LA292_0 <= XML_SYMBOL))))
                {
                    {
                        int LA292_96 = LA(2);
                        if ( (LA292_96 == DOT_SYMBOL))
                        {
                            {
                                int LA292_2455 = LA(3);
                                if ( (synpred1_MySQL(ctx)))
                                {
                                    alt292=1;
                                }
                                else if ( (ANTLR3_TRUE))
                                {
                                    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        = 2455;


                                    goto ruleselect_itemEx;

                                }
                            }
                        }
                        else if ( (LA292_96 == EOF || ((LA292_96 >= ACTION_SYMBOL) && (LA292_96 <= PARTITION_SYMBOL)) || LA292_96 == AND_SYMBOL || LA292_96 == AS_SYMBOL || LA292_96 == BACK_TICK_QUOTED_ID || LA292_96 == BETWEEN_SYMBOL || LA292_96 == BITWISE_AND_OPERATOR || ((LA292_96 >= BITWISE_OR_OPERATOR) && (LA292_96 <= BITWISE_XOR_OPERATOR)) || ((LA292_96 >= CLOSE_CURLY_SYMBOL) && (LA292_96 <= COLLATE_SYMBOL)) || LA292_96 == COMMA_SYMBOL || LA292_96 == CONCAT_PIPES_SYMBOL || LA292_96 == CROSS_SYMBOL || ((LA292_96 >= DIV_OPERATOR) && (LA292_96 <= DIV_SYMBOL)) || LA292_96 == DOUBLE_QUOTED_TEXT || LA292_96 == EQUAL_OPERATOR || LA292_96 == FOR_SYMBOL || LA292_96 == FROM_SYMBOL || ((LA292_96 >= GREATER_OR_EQUAL_OPERATOR) && (LA292_96 <= GREATER_THAN_OPERATOR)) || ((LA292_96 >= GROUP_SYMBOL) && (LA292_96 <= HAVING_SYMBOL)) || LA292_96 == IDENTIFIER || LA292_96 == INNER_SYMBOL || LA292_96 == INTO_SYMBOL || LA292_96 == IN_SYMBOL || LA292_96 == IS_SYMBOL || LA292_96 == JOIN_SYMBOL || ((LA292_96 >= LEFT_SYMBOL) && (LA292_96 <= LESS_THAN_OPERATOR)) || ((LA292_96 >= LIKE_SYMBOL) && (LA292_96 <= LIMIT_SYMBOL)) || LA292_96 == LOCK_SYMBOL || LA292_96 == LOGICAL_AND_OPERATOR || LA292_96 == LOGICAL_OR_OPERATOR || LA292_96 == MINUS_OPERATOR || ((LA292_96 >= MOD_OPERATOR) && (LA292_96 <= MOD_SYMBOL)) || ((LA292_96 >= MULT_OPERATOR) && (LA292_96 <= NATURAL_SYMBOL)) || LA292_96 == NCHAR_TEXT || ((LA292_96 >= NOT_EQUAL2_OPERATOR) && (LA292_96 <= NOT_SYMBOL)) || LA292_96 == NULL_SAFE_EQUAL_OPERATOR || LA292_96 == ON_SYMBOL || LA292_96 == OPEN_PAR_SYMBOL || ((LA292_96 >= ORDER_SYMBOL) && (LA292_96 <= OR_SYMBOL)) || LA292_96 == PLUS_OPERATOR || LA292_96 == PROCEDURE_SYMBOL || LA292_96 == REGEXP_SYMBOL || LA292_96 == RIGHT_SYMBOL || LA292_96 == SEMICOLON_SYMBOL || LA292_96 == SET_SYMBOL || ((LA292_96 >= SHIFT_LEFT_OPERATOR) && (LA292_96 <= SHIFT_RIGHT_OPERATOR)) || LA292_96 == SINGLE_QUOTED_TEXT || LA292_96 == STRAIGHT_JOIN_SYMBOL || LA292_96 == UNDERSCORE_CHARSET || LA292_96 == UNION_SYMBOL || LA292_96 == USING_SYMBOL || LA292_96 == WHERE_SYMBOL || LA292_96 == WITH_SYMBOL || LA292_96 == XOR_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        = 96;


                            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  = 292;
                    EXCEPTION->state        = 0;


                    goto ruleselect_itemEx;

                }
            }
            switch (alt292)
            {
        	case 1:
        	    // MySQL.g:881:2: ( qualified_identifier_with_wildcard )=> qualified_identifier_with_wildcard
        	    {
        	        FOLLOWPUSH(FOLLOW_qualified_identifier_with_wildcard_in_select_item4414);
        	        qualified_identifier_with_wildcard838=qualified_identifier_with_wildcard(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleselect_itemEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) { CREATE_stream_qualified_identifier_with_wildcard; stream_qualified_identifier_with_wildcard->add(stream_qualified_identifier_with_wildcard, qualified_identifier_with_wildcard838.tree, NULL); }

        	        /* AST REWRITE
        	         * elements          : qualified_identifier_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;
        	        	// 881:77: -> ^( SELECT_EXPR qualified_identifier_with_wildcard )
        	        	{
        	        	    // MySQL.g:881:80: ^( SELECT_EXPR qualified_identifier_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, SELECT_EXPR, (pANTLR3_UINT8)"SELECT_EXPR")
        	        	        , root_1));

        	        	        ADAPTOR->addChild(ADAPTOR, root_1, stream_qualified_identifier_with_wildcard == NULL ? NULL : stream_qualified_identifier_with_wildcard->nextTree(stream_qualified_identifier_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);


        	        }
        	    }
        	    break;
        	case 2:
        	    // MySQL.g:882:4: expression ( select_alias )?
        	    {
        	        FOLLOWPUSH(FOLLOW_expression_in_select_item4427);
        	        expression839=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleselect_itemEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) { CREATE_stream_expression; stream_expression->add(stream_expression, expression839.tree, NULL); }

        	        // MySQL.g:882:15: ( select_alias )?
        	        {
        	            int alt291=2;
        	            {
        	                int LA291_0 = LA(1);
        	                if ( (LA291_0 == AS_SYMBOL || LA291_0 == NCHAR_TEXT || 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 >= ACTION_SYMBOL) && (LA291_0 <= PARTITION_SYMBOL)) || LA291_0 == BACK_TICK_QUOTED_ID || LA291_0 == IDENTIFIER))
        	                {
        	                    alt291=1;
        	                }
        	            }
        	            switch (alt291)
        	            {
        	        	case 1:
        	        	    // MySQL.g:882:15: select_alias
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_select_alias_in_select_item4429);
        	        	        select_alias840=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_alias840.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;
        	        	// 882:29: -> ^( SELECT_EXPR expression ( select_alias )? )
        	        	{
        	        	    // MySQL.g:882:32: ^( SELECT_EXPR 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, (pANTLR3_UINT8)"SELECT_EXPR")
        	        	        , root_1));

        	        	        ADAPTOR->addChild(ADAPTOR, root_1, stream_expression == NULL ? NULL : stream_expression->nextTree(stream_expression));

        	        	        // MySQL.g:882:57: ( 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_qualified_identifier_with_wildcard != NULL) stream_qualified_identifier_with_wildcard->free(stream_qualified_identifier_with_wildcard);
    }


            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:885: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_SYMBOL841;
    MySQLParser_text_or_identifier_return text_or_identifier842;
    #undef	RETURN_TYPE_text_or_identifier842
    #define	RETURN_TYPE_text_or_identifier842 MySQLParser_text_or_identifier_return

    pANTLR3_BASE_TREE AS_SYMBOL841_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    AS_SYMBOL841       = NULL;
    text_or_identifier842.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    AS_SYMBOL841_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:885:13: ( ( AS_SYMBOL )? text_or_identifier )
        // MySQL.g:886:2: ( AS_SYMBOL )? text_or_identifier
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            // MySQL.g:886:2: ( AS_SYMBOL )?
            {
                int alt293=2;
                switch ( LA(1) )
                {
                    case AS_SYMBOL:
                    	{
                    		alt293=1;
                    	}
                        break;
                }

                switch (alt293)
                {
            	case 1:
            	    // MySQL.g:886:2: AS_SYMBOL
            	    {
            	        AS_SYMBOL841 = (pANTLR3_COMMON_TOKEN) MATCHT(AS_SYMBOL, &FOLLOW_AS_SYMBOL_in_select_alias4450);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleselect_aliasEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        AS_SYMBOL841_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, AS_SYMBOL841));
            	        ADAPTOR->addChild(ADAPTOR, root_0, AS_SYMBOL841_tree);
            	        }

            	    }
            	    break;

                }
            }

            FOLLOWPUSH(FOLLOW_text_or_identifier_in_select_alias4453);
            text_or_identifier842=text_or_identifier(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruleselect_aliasEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, text_or_identifier842.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 select_source_and_options
 * MySQL.g:889:1: select_source_and_options : ( limit_clause | into_clause ( select_from )? | select_from ( into_clause )? );
 */
static MySQLParser_select_source_and_options_return
select_source_and_options(pMySQLParser ctx)
{
    MySQLParser_select_source_and_options_return retval;


    pANTLR3_BASE_TREE root_0;

    MySQLParser_limit_clause_return limit_clause843;
    #undef	RETURN_TYPE_limit_clause843
    #define	RETURN_TYPE_limit_clause843 MySQLParser_limit_clause_return

    MySQLParser_into_clause_return into_clause844;
    #undef	RETURN_TYPE_into_clause844
    #define	RETURN_TYPE_into_clause844 MySQLParser_into_clause_return

    MySQLParser_select_from_return select_from845;
    #undef	RETURN_TYPE_select_from845
    #define	RETURN_TYPE_select_from845 MySQLParser_select_from_return

    MySQLParser_select_from_return select_from846;
    #undef	RETURN_TYPE_select_from846
    #define	RETURN_TYPE_select_from846 MySQLParser_select_from_return

    MySQLParser_into_clause_return into_clause847;
    #undef	RETURN_TYPE_into_clause847
    #define	RETURN_TYPE_into_clause847 MySQLParser_into_clause_return


    /* Initialize rule variables
     */

    root_0 = NULL;

    limit_clause843.tree = NULL;

    into_clause844.tree = NULL;

    select_from845.tree = NULL;

    select_from846.tree = NULL;

    into_clause847.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;




    retval.tree  = NULL;

    {
        {
            //  MySQL.g:889:26: ( limit_clause | into_clause ( select_from )? | select_from ( into_clause )? )

            ANTLR3_UINT32 alt296;

            alt296=3;

            switch ( LA(1) )
            {
            case LIMIT_SYMBOL:
            	{
            		alt296=1;
            	}
                break;
            case INTO_SYMBOL:
            	{
            		alt296=2;
            	}
                break;
            case FROM_SYMBOL:
            	{
            		alt296=3;
            	}
                break;

            default:
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                EXCEPTION->message      = (void *)"";
                EXCEPTION->decisionNum  = 296;
                EXCEPTION->state        = 0;


                goto ruleselect_source_and_optionsEx;

            }

            switch (alt296)
            {
        	case 1:
        	    // MySQL.g:890:2: limit_clause
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_limit_clause_in_select_source_and_options4471);
        	        limit_clause843=limit_clause(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleselect_source_and_optionsEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, limit_clause843.tree);

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:891:4: into_clause ( select_from )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_into_clause_in_select_source_and_options4476);
        	        into_clause844=into_clause(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleselect_source_and_optionsEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, into_clause844.tree);

        	        // MySQL.g:891:16: ( select_from )?
        	        {
        	            int alt294=2;
        	            switch ( LA(1) )
        	            {
        	                case FROM_SYMBOL:
        	                	{
        	                		alt294=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt294)
        	            {
        	        	case 1:
        	        	    // MySQL.g:891:16: select_from
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_select_from_in_select_source_and_options4478);
        	        	        select_from845=select_from(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleselect_source_and_optionsEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, select_from845.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 3:
        	    // MySQL.g:892:4: select_from ( into_clause )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_select_from_in_select_source_and_options4484);
        	        select_from846=select_from(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleselect_source_and_optionsEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, select_from846.tree);

        	        // MySQL.g:892:16: ( into_clause )?
        	        {
        	            int alt295=2;
        	            switch ( LA(1) )
        	            {
        	                case INTO_SYMBOL:
        	                	{
        	                		alt295=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt295)
        	            {
        	        	case 1:
        	        	    // MySQL.g:892:16: into_clause
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_into_clause_in_select_source_and_options4486);
        	        	        into_clause847=into_clause(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleselect_source_and_optionsEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, into_clause847.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;

            }
        }
    }

    // This is where rules clean up and exit
    //
    goto ruleselect_source_and_optionsEx; /* Prevent compiler warnings */
    ruleselect_source_and_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 select_source_and_options */

/**
 * $ANTLR start limit_clause
 * MySQL.g:895: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_SYMBOL848;
    MySQLParser_limit_options_return limit_options849;
    #undef	RETURN_TYPE_limit_options849
    #define	RETURN_TYPE_limit_options849 MySQLParser_limit_options_return

    pANTLR3_BASE_TREE LIMIT_SYMBOL848_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    LIMIT_SYMBOL848       = NULL;
    limit_options849.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    LIMIT_SYMBOL848_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:895:13: ( LIMIT_SYMBOL limit_options )
        // MySQL.g:896:2: LIMIT_SYMBOL limit_options
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            LIMIT_SYMBOL848 = (pANTLR3_COMMON_TOKEN) MATCHT(LIMIT_SYMBOL, &FOLLOW_LIMIT_SYMBOL_in_limit_clause4496);
            if  (HASEXCEPTION())
            {
                goto rulelimit_clauseEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            LIMIT_SYMBOL848_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, LIMIT_SYMBOL848));
            ADAPTOR->addChild(ADAPTOR, root_0, LIMIT_SYMBOL848_tree);
            }

            FOLLOWPUSH(FOLLOW_limit_options_in_limit_clause4498);
            limit_options849=limit_options(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulelimit_clauseEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, limit_options849.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:899: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    set851;
    MySQLParser_limit_option_return limit_option850;
    #undef	RETURN_TYPE_limit_option850
    #define	RETURN_TYPE_limit_option850 MySQLParser_limit_option_return

    MySQLParser_limit_option_return limit_option852;
    #undef	RETURN_TYPE_limit_option852
    #define	RETURN_TYPE_limit_option852 MySQLParser_limit_option_return

    pANTLR3_BASE_TREE set851_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    set851       = NULL;
    limit_option850.tree = NULL;

    limit_option852.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    set851_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:899:14: ( limit_option ( options {greedy=true; } : ( COMMA_SYMBOL | OFFSET_SYMBOL ) limit_option )? )
        // MySQL.g:900: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_options4507);
            limit_option850=limit_option(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulelimit_optionsEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, limit_option850.tree);

            // MySQL.g:900:15: ( options {greedy=true; } : ( COMMA_SYMBOL | OFFSET_SYMBOL ) limit_option )?
            {
                int alt297=2;
                switch ( LA(1) )
                {
                    case COMMA_SYMBOL:
                    	{
                    		{
                    		    int LA297_1 = LA(2);
                    		    if ( (LA297_1 == INTEGER || LA297_1 == PARAM_MARKER))
                    		    {
                    		        alt297=1;
                    		    }
                    		    else if ( (LA297_1 == IDENTIFIER))
                    		    {
                    		        alt297=1;
                    		    }
                    		    else if ( (LA297_1 == BACK_TICK_QUOTED_ID))
                    		    {
                    		        alt297=1;
                    		    }
                    		    else if ( (LA297_1 == DOUBLE_QUOTED_TEXT))
                    		    {
                    		        alt297=1;
                    		    }
                    		    else if ( (((LA297_1 >= ACTION_SYMBOL) && (LA297_1 <= YEAR_SYMBOL))))
                    		    {
                    		        alt297=1;
                    		    }
                    		    else if ( (LA297_1 == PARTITION_SYMBOL))
                    		    {
                    		        alt297=1;
                    		    }
                    		    else if ( (((LA297_1 >= ASCII_SYMBOL) && (LA297_1 <= XA_SYMBOL))))
                    		    {
                    		        alt297=1;
                    		    }
                    		}
                    	}
                        break;
                    case OFFSET_SYMBOL:
                    	{
                    		alt297=1;
                    	}
                        break;
                }

                switch (alt297)
                {
            	case 1:
            	    // MySQL.g:900:45: ( COMMA_SYMBOL | OFFSET_SYMBOL ) limit_option
            	    {
            	        set851=(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, set851))
            	            );
            	            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_options4531);
            	        limit_option852=limit_option(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulelimit_optionsEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, limit_option852.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:903: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_MARKER853;
    pANTLR3_COMMON_TOKEN    INTEGER854;
    MySQLParser_identifier_return identifier855;
    #undef	RETURN_TYPE_identifier855
    #define	RETURN_TYPE_identifier855 MySQLParser_identifier_return

    pANTLR3_BASE_TREE PARAM_MARKER853_tree;
    pANTLR3_BASE_TREE INTEGER854_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    PARAM_MARKER853       = NULL;
    INTEGER854       = NULL;
    identifier855.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    PARAM_MARKER853_tree   = NULL;
    INTEGER854_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:903:13: ( PARAM_MARKER | INTEGER | identifier )

            ANTLR3_UINT32 alt298;

            alt298=3;

            {
                int LA298_0 = LA(1);
                if ( (LA298_0 == PARAM_MARKER))
                {
                    alt298=1;
                }
                else if ( (LA298_0 == INTEGER))
                {
                    alt298=2;
                }
                else if ( (LA298_0 == BACK_TICK_QUOTED_ID || LA298_0 == IDENTIFIER))
                {
                    alt298=3;
                }
                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA298_0 == DOUBLE_QUOTED_TEXT))
                {
                    alt298=3;
                }
                else if ( (((LA298_0 >= ACTION_SYMBOL) && (LA298_0 <= PARTITION_SYMBOL))))
                {
                    alt298=3;
                }
                else
                {
                    if (BACKTRACKING>0)
                    {
                        FAILEDFLAG = ANTLR3_TRUE;
                        return retval;
                    }


                    CONSTRUCTEX();
                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    EXCEPTION->message      = (void *)"";
                    EXCEPTION->decisionNum  = 298;
                    EXCEPTION->state        = 0;


                    goto rulelimit_optionEx;

                }
            }
            switch (alt298)
            {
        	case 1:
        	    // MySQL.g:904:2: PARAM_MARKER
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        PARAM_MARKER853 = (pANTLR3_COMMON_TOKEN) MATCHT(PARAM_MARKER, &FOLLOW_PARAM_MARKER_in_limit_option4542);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulelimit_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        PARAM_MARKER853_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, PARAM_MARKER853));
        	        ADAPTOR->addChild(ADAPTOR, root_0, PARAM_MARKER853_tree);
        	        }

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:905:4: INTEGER
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        INTEGER854 = (pANTLR3_COMMON_TOKEN) MATCHT(INTEGER, &FOLLOW_INTEGER_in_limit_option4547);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulelimit_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        INTEGER854_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INTEGER854));
        	        ADAPTOR->addChild(ADAPTOR, root_0, INTEGER854_tree);
        	        }

        	    }
        	    break;
        	case 3:
        	    // MySQL.g:906:4: identifier
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_identifier_in_limit_option4552);
        	        identifier855=identifier(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulelimit_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier855.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:909: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 )* ) ;
 */
static MySQLParser_into_clause_return
into_clause(pMySQLParser ctx)
{
    MySQLParser_into_clause_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    INTO_SYMBOL856;
    pANTLR3_COMMON_TOKEN    OUTFILE_SYMBOL857;
    pANTLR3_COMMON_TOKEN    DUMPFILE_SYMBOL862;
    pANTLR3_COMMON_TOKEN    AT_SIGN_SYMBOL864;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL866;
    pANTLR3_COMMON_TOKEN    AT_SIGN_SYMBOL867;
    MySQLParser_string_literal_return string_literal858;
    #undef	RETURN_TYPE_string_literal858
    #define	RETURN_TYPE_string_literal858 MySQLParser_string_literal_return

    MySQLParser_charset_clause_return charset_clause859;
    #undef	RETURN_TYPE_charset_clause859
    #define	RETURN_TYPE_charset_clause859 MySQLParser_charset_clause_return

    MySQLParser_fields_clause_return fields_clause860;
    #undef	RETURN_TYPE_fields_clause860
    #define	RETURN_TYPE_fields_clause860 MySQLParser_fields_clause_return

    MySQLParser_lines_clause_return lines_clause861;
    #undef	RETURN_TYPE_lines_clause861
    #define	RETURN_TYPE_lines_clause861 MySQLParser_lines_clause_return

    MySQLParser_string_literal_return string_literal863;
    #undef	RETURN_TYPE_string_literal863
    #define	RETURN_TYPE_string_literal863 MySQLParser_string_literal_return

    MySQLParser_text_or_identifier_return text_or_identifier865;
    #undef	RETURN_TYPE_text_or_identifier865
    #define	RETURN_TYPE_text_or_identifier865 MySQLParser_text_or_identifier_return

    MySQLParser_text_or_identifier_return text_or_identifier868;
    #undef	RETURN_TYPE_text_or_identifier868
    #define	RETURN_TYPE_text_or_identifier868 MySQLParser_text_or_identifier_return

    pANTLR3_BASE_TREE INTO_SYMBOL856_tree;
    pANTLR3_BASE_TREE OUTFILE_SYMBOL857_tree;
    pANTLR3_BASE_TREE DUMPFILE_SYMBOL862_tree;
    pANTLR3_BASE_TREE AT_SIGN_SYMBOL864_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL866_tree;
    pANTLR3_BASE_TREE AT_SIGN_SYMBOL867_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    INTO_SYMBOL856       = NULL;
    OUTFILE_SYMBOL857       = NULL;
    DUMPFILE_SYMBOL862       = NULL;
    AT_SIGN_SYMBOL864       = NULL;
    COMMA_SYMBOL866       = NULL;
    AT_SIGN_SYMBOL867       = NULL;
    string_literal858.tree = NULL;

    charset_clause859.tree = NULL;

    fields_clause860.tree = NULL;

    lines_clause861.tree = NULL;

    string_literal863.tree = NULL;

    text_or_identifier865.tree = NULL;

    text_or_identifier868.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    INTO_SYMBOL856_tree   = NULL;
    OUTFILE_SYMBOL857_tree   = NULL;
    DUMPFILE_SYMBOL862_tree   = NULL;
    AT_SIGN_SYMBOL864_tree   = NULL;
    COMMA_SYMBOL866_tree   = NULL;
    AT_SIGN_SYMBOL867_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:909: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 )* ) )
        // MySQL.g:910: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 )* )
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            INTO_SYMBOL856 = (pANTLR3_COMMON_TOKEN) MATCHT(INTO_SYMBOL, &FOLLOW_INTO_SYMBOL_in_into_clause4562);
            if  (HASEXCEPTION())
            {
                goto ruleinto_clauseEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            INTO_SYMBOL856_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INTO_SYMBOL856));
            ADAPTOR->addChild(ADAPTOR, root_0, INTO_SYMBOL856_tree);
            }

            // MySQL.g:911: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 )* )
            {
                int alt305=3;
                {
                    int LA305_0 = LA(1);
                    if ( (LA305_0 == OUTFILE_SYMBOL))
                    {
                        alt305=1;
                    }
                    else if ( (LA305_0 == DUMPFILE_SYMBOL))
                    {
                        switch ( LA(2) )
                        {
                        case DOUBLE_QUOTED_TEXT:
                        case NCHAR_TEXT:
                        case SINGLE_QUOTED_TEXT:
                        case UNDERSCORE_CHARSET:
                        	{
                        		alt305=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:
                        	{
                        		alt305=3;
                        	}
                            break;

                        default:
                            if (BACKTRACKING>0)
                            {
                                FAILEDFLAG = ANTLR3_TRUE;
                                return retval;
                            }

                            CONSTRUCTEX();
                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                            EXCEPTION->message      = (void *)"";
                            EXCEPTION->decisionNum  = 305;
                            EXCEPTION->state        = 2;


                            goto ruleinto_clauseEx;

                        }

                    }
                    else if ( (LA305_0 == AT_SIGN_SYMBOL || LA305_0 == NCHAR_TEXT || LA305_0 == SINGLE_QUOTED_TEXT || LA305_0 == UNDERSCORE_CHARSET))
                    {
                        alt305=3;
                    }
                    else if ( ((((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES)))||((!SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))))) && (LA305_0 == DOUBLE_QUOTED_TEXT))
                    {
                        alt305=3;
                    }
                    else if ( (((LA305_0 >= ACTION_SYMBOL) && (LA305_0 <= DISK_SYMBOL)) || ((LA305_0 >= DUPLICATE_SYMBOL) && (LA305_0 <= PARTITION_SYMBOL)) || LA305_0 == BACK_TICK_QUOTED_ID || LA305_0 == IDENTIFIER))
                    {
                        alt305=3;
                    }
                    else
                    {
                        if (BACKTRACKING>0)
                        {
                            FAILEDFLAG = ANTLR3_TRUE;
                            return retval;
                        }


                        CONSTRUCTEX();
                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                        EXCEPTION->message      = (void *)"";
                        EXCEPTION->decisionNum  = 305;
                        EXCEPTION->state        = 0;


                        goto ruleinto_clauseEx;

                    }
                }
                switch (alt305)
                {
            	case 1:
            	    // MySQL.g:912:3: OUTFILE_SYMBOL string_literal ( charset_clause )? ( fields_clause )? ( lines_clause )?
            	    {
            	        OUTFILE_SYMBOL857 = (pANTLR3_COMMON_TOKEN) MATCHT(OUTFILE_SYMBOL, &FOLLOW_OUTFILE_SYMBOL_in_into_clause4569);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleinto_clauseEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        OUTFILE_SYMBOL857_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OUTFILE_SYMBOL857));
            	        ADAPTOR->addChild(ADAPTOR, root_0, OUTFILE_SYMBOL857_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_string_literal_in_into_clause4571);
            	        string_literal858=string_literal(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleinto_clauseEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_literal858.tree);

            	        // MySQL.g:912:33: ( charset_clause )?
            	        {
            	            int alt299=2;
            	            switch ( LA(1) )
            	            {
            	                case CHARSET_SYMBOL:
            	                case CHAR_SYMBOL:
            	                	{
            	                		alt299=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt299)
            	            {
            	        	case 1:
            	        	    // MySQL.g:912:33: charset_clause
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_charset_clause_in_into_clause4573);
            	        	        charset_clause859=charset_clause(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleinto_clauseEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, charset_clause859.tree);

            	        	    }
            	        	    break;

            	            }
            	        }

            	        // MySQL.g:912:49: ( fields_clause )?
            	        {
            	            int alt300=2;
            	            switch ( LA(1) )
            	            {
            	                case COLUMNS_SYMBOL:
            	                	{
            	                		alt300=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt300)
            	            {
            	        	case 1:
            	        	    // MySQL.g:912:49: fields_clause
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_fields_clause_in_into_clause4576);
            	        	        fields_clause860=fields_clause(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleinto_clauseEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, fields_clause860.tree);

            	        	    }
            	        	    break;

            	            }
            	        }

            	        // MySQL.g:912:64: ( lines_clause )?
            	        {
            	            int alt301=2;
            	            switch ( LA(1) )
            	            {
            	                case LINES_SYMBOL:
            	                	{
            	                		alt301=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt301)
            	            {
            	        	case 1:
            	        	    // MySQL.g:912:64: lines_clause
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_lines_clause_in_into_clause4579);
            	        	        lines_clause861=lines_clause(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleinto_clauseEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, lines_clause861.tree);

            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;
            	case 2:
            	    // MySQL.g:913:5: DUMPFILE_SYMBOL string_literal
            	    {
            	        DUMPFILE_SYMBOL862 = (pANTLR3_COMMON_TOKEN) MATCHT(DUMPFILE_SYMBOL, &FOLLOW_DUMPFILE_SYMBOL_in_into_clause4586);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleinto_clauseEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        DUMPFILE_SYMBOL862_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DUMPFILE_SYMBOL862));
            	        ADAPTOR->addChild(ADAPTOR, root_0, DUMPFILE_SYMBOL862_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_string_literal_in_into_clause4588);
            	        string_literal863=string_literal(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleinto_clauseEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_literal863.tree);

            	    }
            	    break;
            	case 3:
            	    // MySQL.g:914:5: ( AT_SIGN_SYMBOL )? text_or_identifier ( COMMA_SYMBOL ( AT_SIGN_SYMBOL )? text_or_identifier )*
            	    {
            	        // MySQL.g:914:5: ( AT_SIGN_SYMBOL )?
            	        {
            	            int alt302=2;
            	            switch ( LA(1) )
            	            {
            	                case AT_SIGN_SYMBOL:
            	                	{
            	                		alt302=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt302)
            	            {
            	        	case 1:
            	        	    // MySQL.g:914:5: AT_SIGN_SYMBOL
            	        	    {
            	        	        AT_SIGN_SYMBOL864 = (pANTLR3_COMMON_TOKEN) MATCHT(AT_SIGN_SYMBOL, &FOLLOW_AT_SIGN_SYMBOL_in_into_clause4594);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleinto_clauseEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        AT_SIGN_SYMBOL864_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, AT_SIGN_SYMBOL864));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, AT_SIGN_SYMBOL864_tree);
            	        	        }

            	        	    }
            	        	    break;

            	            }
            	        }

            	        FOLLOWPUSH(FOLLOW_text_or_identifier_in_into_clause4597);
            	        text_or_identifier865=text_or_identifier(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleinto_clauseEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, text_or_identifier865.tree);

            	        // MySQL.g:914:40: ( COMMA_SYMBOL ( AT_SIGN_SYMBOL )? text_or_identifier )*

            	        for (;;)
            	        {
            	            int alt304=2;
            	            switch ( LA(1) )
            	            {
            	            case COMMA_SYMBOL:
            	            	{
            	            		alt304=1;
            	            	}
            	                break;

            	            }

            	            switch (alt304)
            	            {
            	        	case 1:
            	        	    // MySQL.g:914:41: COMMA_SYMBOL ( AT_SIGN_SYMBOL )? text_or_identifier
            	        	    {
            	        	        COMMA_SYMBOL866 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_into_clause4600);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleinto_clauseEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        COMMA_SYMBOL866_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL866));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL866_tree);
            	        	        }

            	        	        // MySQL.g:914:54: ( AT_SIGN_SYMBOL )?
            	        	        {
            	        	            int alt303=2;
            	        	            switch ( LA(1) )
            	        	            {
            	        	                case AT_SIGN_SYMBOL:
            	        	                	{
            	        	                		alt303=1;
            	        	                	}
            	        	                    break;
            	        	            }

            	        	            switch (alt303)
            	        	            {
            	        	        	case 1:
            	        	        	    // MySQL.g:914:54: AT_SIGN_SYMBOL
            	        	        	    {
            	        	        	        AT_SIGN_SYMBOL867 = (pANTLR3_COMMON_TOKEN) MATCHT(AT_SIGN_SYMBOL, &FOLLOW_AT_SIGN_SYMBOL_in_into_clause4602);
            	        	        	        if  (HASEXCEPTION())
            	        	        	        {
            	        	        	            goto ruleinto_clauseEx;
            	        	        	        }
            	        	        	        if (HASFAILED())
            	        	        	        {
            	        	        	            return retval;
            	        	        	        }

            	        	        	        if ( BACKTRACKING==0 ) {
            	        	        	        AT_SIGN_SYMBOL867_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, AT_SIGN_SYMBOL867));
            	        	        	        ADAPTOR->addChild(ADAPTOR, root_0, AT_SIGN_SYMBOL867_tree);
            	        	        	        }

            	        	        	    }
            	        	        	    break;

            	        	            }
            	        	        }

            	        	        FOLLOWPUSH(FOLLOW_text_or_identifier_in_into_clause4605);
            	        	        text_or_identifier868=text_or_identifier(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleinto_clauseEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, text_or_identifier868.tree);

            	        	    }
            	        	    break;

            	        	default:
            	        	    goto loop304;	/* break out of the loop */
            	        	    break;
            	            }
            	        }
            	        loop304: ; /* 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 select_from
 * MySQL.g:918:1: select_from : FROM_SYMBOL ^ ( DUAL_SYMBOL ( options {greedy=true; } : where_clause )? ( options {greedy=true; } : limit_clause )? | table_references ( 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 )? ) ;
 */
static MySQLParser_select_from_return
select_from(pMySQLParser ctx)
{
    MySQLParser_select_from_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    FROM_SYMBOL869;
    pANTLR3_COMMON_TOKEN    DUAL_SYMBOL870;
    MySQLParser_where_clause_return where_clause871;
    #undef	RETURN_TYPE_where_clause871
    #define	RETURN_TYPE_where_clause871 MySQLParser_where_clause_return

    MySQLParser_limit_clause_return limit_clause872;
    #undef	RETURN_TYPE_limit_clause872
    #define	RETURN_TYPE_limit_clause872 MySQLParser_limit_clause_return

    MySQLParser_table_references_return table_references873;
    #undef	RETURN_TYPE_table_references873
    #define	RETURN_TYPE_table_references873 MySQLParser_table_references_return

    MySQLParser_where_clause_return where_clause874;
    #undef	RETURN_TYPE_where_clause874
    #define	RETURN_TYPE_where_clause874 MySQLParser_where_clause_return

    MySQLParser_group_by_clause_return group_by_clause875;
    #undef	RETURN_TYPE_group_by_clause875
    #define	RETURN_TYPE_group_by_clause875 MySQLParser_group_by_clause_return

    MySQLParser_having_clause_return having_clause876;
    #undef	RETURN_TYPE_having_clause876
    #define	RETURN_TYPE_having_clause876 MySQLParser_having_clause_return

    MySQLParser_order_by_clause_return order_by_clause877;
    #undef	RETURN_TYPE_order_by_clause877
    #define	RETURN_TYPE_order_by_clause877 MySQLParser_order_by_clause_return

    MySQLParser_limit_clause_return limit_clause878;
    #undef	RETURN_TYPE_limit_clause878
    #define	RETURN_TYPE_limit_clause878 MySQLParser_limit_clause_return

    MySQLParser_procedure_analyse_clause_return procedure_analyse_clause879;
    #undef	RETURN_TYPE_procedure_analyse_clause879
    #define	RETURN_TYPE_procedure_analyse_clause879 MySQLParser_procedure_analyse_clause_return

    pANTLR3_BASE_TREE FROM_SYMBOL869_tree;
    pANTLR3_BASE_TREE DUAL_SYMBOL870_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    FROM_SYMBOL869       = NULL;
    DUAL_SYMBOL870       = NULL;
    where_clause871.tree = NULL;

    limit_clause872.tree = NULL;

    table_references873.tree = NULL;

    where_clause874.tree = NULL;

    group_by_clause875.tree = NULL;

    having_clause876.tree = NULL;

    order_by_clause877.tree = NULL;

    limit_clause878.tree = NULL;

    procedure_analyse_clause879.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    FROM_SYMBOL869_tree   = NULL;
    DUAL_SYMBOL870_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:918:12: ( FROM_SYMBOL ^ ( DUAL_SYMBOL ( options {greedy=true; } : where_clause )? ( options {greedy=true; } : limit_clause )? | table_references ( 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 )? ) )
        // MySQL.g:919:2: FROM_SYMBOL ^ ( DUAL_SYMBOL ( options {greedy=true; } : where_clause )? ( options {greedy=true; } : limit_clause )? | table_references ( 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 )? )
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            FROM_SYMBOL869 = (pANTLR3_COMMON_TOKEN) MATCHT(FROM_SYMBOL, &FOLLOW_FROM_SYMBOL_in_select_from4619);
            if  (HASEXCEPTION())
            {
                goto ruleselect_fromEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            FROM_SYMBOL869_tree = 
            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, FROM_SYMBOL869))
            ;
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, FROM_SYMBOL869_tree, root_0));
            }

            // MySQL.g:920:2: ( DUAL_SYMBOL ( options {greedy=true; } : where_clause )? ( options {greedy=true; } : limit_clause )? | table_references ( 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 )? )
            {
                int alt314=2;
                {
                    int LA314_0 = LA(1);
                    if ( (LA314_0 == DUAL_SYMBOL))
                    {
                        alt314=1;
                    }
                    else if ( (LA314_0 == BACK_TICK_QUOTED_ID || LA314_0 == IDENTIFIER || LA314_0 == OPEN_PAR_SYMBOL || LA314_0 == SELECT_SYMBOL))
                    {
                        alt314=2;
                    }
                    else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA314_0 == DOUBLE_QUOTED_TEXT))
                    {
                        alt314=2;
                    }
                    else if ( (((LA314_0 >= ACTION_SYMBOL) && (LA314_0 <= PARTITION_SYMBOL)) || LA314_0 == DOT_SYMBOL || LA314_0 == OPEN_CURLY_SYMBOL))
                    {
                        alt314=2;
                    }
                    else
                    {
                        if (BACKTRACKING>0)
                        {
                            FAILEDFLAG = ANTLR3_TRUE;
                            return retval;
                        }


                        CONSTRUCTEX();
                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                        EXCEPTION->message      = (void *)"";
                        EXCEPTION->decisionNum  = 314;
                        EXCEPTION->state        = 0;


                        goto ruleselect_fromEx;

                    }
                }
                switch (alt314)
                {
            	case 1:
            	    // MySQL.g:921:3: DUAL_SYMBOL ( options {greedy=true; } : where_clause )? ( options {greedy=true; } : limit_clause )?
            	    {
            	        DUAL_SYMBOL870 = (pANTLR3_COMMON_TOKEN) MATCHT(DUAL_SYMBOL, &FOLLOW_DUAL_SYMBOL_in_select_from4627);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleselect_fromEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        DUAL_SYMBOL870_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DUAL_SYMBOL870));
            	        ADAPTOR->addChild(ADAPTOR, root_0, DUAL_SYMBOL870_tree);
            	        }

            	        // MySQL.g:921:15: ( options {greedy=true; } : where_clause )?
            	        {
            	            int alt306=2;
            	            switch ( LA(1) )
            	            {
            	                case WHERE_SYMBOL:
            	                	{
            	                		{
            	                		    int LA306_1 = LA(2);
            	                		    if ( (LA306_1 == NOT_SYMBOL))
            	                		    {
            	                		        alt306=1;
            	                		    }
            	                		    else if ( (LA306_1 == BITWISE_NOT_OPERATOR || LA306_1 == MINUS_OPERATOR || LA306_1 == PLUS_OPERATOR))
            	                		    {
            	                		        alt306=1;
            	                		    }
            	                		    else if ( (LA306_1 == LOGICAL_NOT_OPERATOR || LA306_1 == NOT2_SYMBOL))
            	                		    {
            	                		        alt306=1;
            	                		    }
            	                		    else if ( (LA306_1 == INTERVAL_SYMBOL))
            	                		    {
            	                		        alt306=1;
            	                		    }
            	                		    else if ( (LA306_1 == NCHAR_TEXT))
            	                		    {
            	                		        alt306=1;
            	                		    }
            	                		    else if ( (LA306_1 == UNDERSCORE_CHARSET))
            	                		    {
            	                		        alt306=1;
            	                		    }
            	                		    else if ( (LA306_1 == SINGLE_QUOTED_TEXT))
            	                		    {
            	                		        alt306=1;
            	                		    }
            	                		    else if ( (LA306_1 == DOUBLE_QUOTED_TEXT))
            	                		    {
            	                		        alt306=1;
            	                		    }
            	                		    else if ( (LA306_1 == FLOAT || LA306_1 == INTEGER))
            	                		    {
            	                		        alt306=1;
            	                		    }
            	                		    else if ( (((LA306_1 >= HEXNUMBER) && (LA306_1 <= HEXSTRING))))
            	                		    {
            	                		        alt306=1;
            	                		    }
            	                		    else if ( (LA306_1 == FALSE_SYMBOL || LA306_1 == TRUE_SYMBOL))
            	                		    {
            	                		        alt306=1;
            	                		    }
            	                		    else if ( (((LA306_1 >= BITNUMBER) && (LA306_1 <= BITSTRING))))
            	                		    {
            	                		        alt306=1;
            	                		    }
            	                		    else if ( (LA306_1 == NULL2_SYMBOL || LA306_1 == NULL_SYMBOL))
            	                		    {
            	                		        alt306=1;
            	                		    }
            	                		    else if ( (LA306_1 == DATE_SYMBOL))
            	                		    {
            	                		        alt306=1;
            	                		    }
            	                		    else if ( (LA306_1 == TIME_SYMBOL))
            	                		    {
            	                		        alt306=1;
            	                		    }
            	                		    else if ( (LA306_1 == TIMESTAMP_SYMBOL))
            	                		    {
            	                		        alt306=1;
            	                		    }
            	                		    else if ( (LA306_1 == IDENTIFIER))
            	                		    {
            	                		        alt306=1;
            	                		    }
            	                		    else if ( (LA306_1 == BACK_TICK_QUOTED_ID))
            	                		    {
            	                		        alt306=1;
            	                		    }
            	                		    else if ( (LA306_1 == DAY_SYMBOL))
            	                		    {
            	                		        alt306=1;
            	                		    }
            	                		    else if ( (LA306_1 == PARTITION_SYMBOL))
            	                		    {
            	                		        alt306=1;
            	                		    }
            	                		    else if ( (LA306_1 == ASCII_SYMBOL))
            	                		    {
            	                		        alt306=1;
            	                		    }
            	                		    else if ( (LA306_1 == DOT_SYMBOL))
            	                		    {
            	                		        alt306=1;
            	                		    }
            	                		    else if ( (LA306_1 == CHAR_SYMBOL))
            	                		    {
            	                		        alt306=1;
            	                		    }
            	                		    else if ( (LA306_1 == CURRENT_USER_SYMBOL))
            	                		    {
            	                		        alt306=1;
            	                		    }
            	                		    else if ( (LA306_1 == HOUR_SYMBOL))
            	                		    {
            	                		        alt306=1;
            	                		    }
            	                		    else if ( (LA306_1 == MINUTE_SYMBOL))
            	                		    {
            	                		        alt306=1;
            	                		    }
            	                		    else if ( (LA306_1 == INSERT_SYMBOL))
            	                		    {
            	                		        alt306=1;
            	                		    }
            	                		    else if ( (LA306_1 == LEFT_SYMBOL))
            	                		    {
            	                		        alt306=1;
            	                		    }
            	                		    else if ( (LA306_1 == MONTH_SYMBOL))
            	                		    {
            	                		        alt306=1;
            	                		    }
            	                		    else if ( (LA306_1 == SECOND_SYMBOL))
            	                		    {
            	                		        alt306=1;
            	                		    }
            	                		    else if ( (LA306_1 == RIGHT_SYMBOL))
            	                		    {
            	                		        alt306=1;
            	                		    }
            	                		    else if ( (LA306_1 == USER_SYMBOL))
            	                		    {
            	                		        alt306=1;
            	                		    }
            	                		    else if ( (LA306_1 == TRIM_SYMBOL))
            	                		    {
            	                		        alt306=1;
            	                		    }
            	                		    else if ( (LA306_1 == YEAR_SYMBOL))
            	                		    {
            	                		        alt306=1;
            	                		    }
            	                		    else if ( (LA306_1 == VALUES_SYMBOL))
            	                		    {
            	                		        alt306=1;
            	                		    }
            	                		    else if ( (LA306_1 == ADDDATE_SYMBOL || LA306_1 == SUBDATE_SYMBOL))
            	                		    {
            	                		        alt306=1;
            	                		    }
            	                		    else if ( (LA306_1 == GET_FORMAT_SYMBOL))
            	                		    {
            	                		        alt306=1;
            	                		    }
            	                		    else if ( (LA306_1 == CURDATE_SYMBOL))
            	                		    {
            	                		        alt306=1;
            	                		    }
            	                		    else if ( (LA306_1 == CURTIME_SYMBOL))
            	                		    {
            	                		        alt306=1;
            	                		    }
            	                		    else if ( (LA306_1 == DATE_ADD_SYMBOL || LA306_1 == DATE_SUB_SYMBOL))
            	                		    {
            	                		        alt306=1;
            	                		    }
            	                		    else if ( (LA306_1 == EXTRACT_SYMBOL))
            	                		    {
            	                		        alt306=1;
            	                		    }
            	                		    else if ( (((LA306_1 >= TIMESTAMP_ADD_SYMBOL) && (LA306_1 <= TIMESTAMP_DIFF_SYMBOL))))
            	                		    {
            	                		        alt306=1;
            	                		    }
            	                		    else if ( (LA306_1 == NOW_SYMBOL))
            	                		    {
            	                		        alt306=1;
            	                		    }
            	                		    else if ( (LA306_1 == POSITION_SYMBOL))
            	                		    {
            	                		        alt306=1;
            	                		    }
            	                		    else if ( (LA306_1 == SUBSTRING_SYMBOL))
            	                		    {
            	                		        alt306=1;
            	                		    }
            	                		    else if ( (LA306_1 == SYSDATE_SYMBOL))
            	                		    {
            	                		        alt306=1;
            	                		    }
            	                		    else if ( (LA306_1 == COALESCE_SYMBOL))
            	                		    {
            	                		        alt306=1;
            	                		    }
            	                		    else if ( (LA306_1 == UTC_DATE_SYMBOL))
            	                		    {
            	                		        alt306=1;
            	                		    }
            	                		    else if ( (LA306_1 == UTC_TIME_SYMBOL))
            	                		    {
            	                		        alt306=1;
            	                		    }
            	                		    else if ( (LA306_1 == UTC_TIMESTAMP_SYMBOL))
            	                		    {
            	                		        alt306=1;
            	                		    }
            	                		    else if ( (LA306_1 == CHARSET_SYMBOL))
            	                		    {
            	                		        alt306=1;
            	                		    }
            	                		    else if ( (LA306_1 == FORMAT_SYMBOL))
            	                		    {
            	                		        alt306=1;
            	                		    }
            	                		    else if ( (LA306_1 == COLLATION_SYMBOL))
            	                		    {
            	                		        alt306=1;
            	                		    }
            	                		    else if ( (LA306_1 == MICROSECOND_SYMBOL))
            	                		    {
            	                		        alt306=1;
            	                		    }
            	                		    else if ( (LA306_1 == DATABASE_SYMBOL))
            	                		    {
            	                		        alt306=1;
            	                		    }
            	                		    else if ( (LA306_1 == IF_SYMBOL))
            	                		    {
            	                		        alt306=1;
            	                		    }
            	                		    else if ( (LA306_1 == TRUNCATE_SYMBOL))
            	                		    {
            	                		        alt306=1;
            	                		    }
            	                		    else if ( (LA306_1 == OLD_PASSWORD_SYMBOL))
            	                		    {
            	                		        alt306=1;
            	                		    }
            	                		    else if ( (LA306_1 == MOD_SYMBOL))
            	                		    {
            	                		        alt306=1;
            	                		    }
            	                		    else if ( (LA306_1 == PASSWORD_SYMBOL))
            	                		    {
            	                		        alt306=1;
            	                		    }
            	                		    else if ( (LA306_1 == QUARTER_SYMBOL))
            	                		    {
            	                		        alt306=1;
            	                		    }
            	                		    else if ( (LA306_1 == REVERSE_SYMBOL))
            	                		    {
            	                		        alt306=1;
            	                		    }
            	                		    else if ( (LA306_1 == REPEAT_SYMBOL))
            	                		    {
            	                		        alt306=1;
            	                		    }
            	                		    else if ( (LA306_1 == REPLACE_SYMBOL))
            	                		    {
            	                		        alt306=1;
            	                		    }
            	                		    else if ( (LA306_1 == ROW_COUNT_SYMBOL))
            	                		    {
            	                		        alt306=1;
            	                		    }
            	                		    else if ( (LA306_1 == WEEK_SYMBOL))
            	                		    {
            	                		        alt306=1;
            	                		    }
            	                		    else if ( (LA306_1 == CONTAINS_SYMBOL))
            	                		    {
            	                		        alt306=1;
            	                		    }
            	                		    else if ( (LA306_1 == WEIGHT_STRING_SYMBOL))
            	                		    {
            	                		        alt306=1;
            	                		    }
            	                		    else if ( (LA306_1 == GEOMETRYCOLLECTION_SYMBOL))
            	                		    {
            	                		        alt306=1;
            	                		    }
            	                		    else if ( (((LA306_1 >= BACKUP_SYMBOL) && (LA306_1 <= CACHE_SYMBOL)) || ((LA306_1 >= CHECKSUM_SYMBOL) && (LA306_1 <= COMMIT_SYMBOL)) || ((LA306_1 >= DEALLOCATE_SYMBOL) && (LA306_1 <= FLUSH_SYMBOL)) || ((LA306_1 >= HANDLER_SYMBOL) && (LA306_1 <= STOP_SYMBOL)) || ((LA306_1 >= UNICODE_SYMBOL) && (LA306_1 <= XA_SYMBOL))))
            	                		    {
            	                		        alt306=1;
            	                		    }
            	                		    else if ( (LA306_1 == LINESTRING_SYMBOL))
            	                		    {
            	                		        alt306=1;
            	                		    }
            	                		    else if ( (LA306_1 == MULTILINESTRING_SYMBOL))
            	                		    {
            	                		        alt306=1;
            	                		    }
            	                		    else if ( (LA306_1 == MULTIPOINT_SYMBOL))
            	                		    {
            	                		        alt306=1;
            	                		    }
            	                		    else if ( (LA306_1 == MULTIPOLYGON_SYMBOL))
            	                		    {
            	                		        alt306=1;
            	                		    }
            	                		    else if ( (LA306_1 == POINT_SYMBOL))
            	                		    {
            	                		        alt306=1;
            	                		    }
            	                		    else if ( (LA306_1 == POLYGON_SYMBOL))
            	                		    {
            	                		        alt306=1;
            	                		    }
            	                		    else if ( (LA306_1 == AVG_SYMBOL))
            	                		    {
            	                		        alt306=1;
            	                		    }
            	                		    else if ( (LA306_1 == ROW_SYMBOL))
            	                		    {
            	                		        alt306=1;
            	                		    }
            	                		    else if ( (LA306_1 == BIT_AND_SYMBOL))
            	                		    {
            	                		        alt306=1;
            	                		    }
            	                		    else if ( (LA306_1 == BIT_OR_SYMBOL))
            	                		    {
            	                		        alt306=1;
            	                		    }
            	                		    else if ( (LA306_1 == BIT_XOR_SYMBOL))
            	                		    {
            	                		        alt306=1;
            	                		    }
            	                		    else if ( (LA306_1 == COUNT_SYMBOL))
            	                		    {
            	                		        alt306=1;
            	                		    }
            	                		    else if ( (LA306_1 == MIN_SYMBOL))
            	                		    {
            	                		        alt306=1;
            	                		    }
            	                		    else if ( (LA306_1 == MAX_SYMBOL))
            	                		    {
            	                		        alt306=1;
            	                		    }
            	                		    else if ( (LA306_1 == STD_SYMBOL))
            	                		    {
            	                		        alt306=1;
            	                		    }
            	                		    else if ( (LA306_1 == VARIANCE_SYMBOL))
            	                		    {
            	                		        alt306=1;
            	                		    }
            	                		    else if ( (LA306_1 == STDDEV_SAMP_SYMBOL))
            	                		    {
            	                		        alt306=1;
            	                		    }
            	                		    else if ( (LA306_1 == VAR_SAMP_SYMBOL))
            	                		    {
            	                		        alt306=1;
            	                		    }
            	                		    else if ( (LA306_1 == SUM_SYMBOL))
            	                		    {
            	                		        alt306=1;
            	                		    }
            	                		    else if ( (LA306_1 == GROUP_CONCAT_SYMBOL))
            	                		    {
            	                		        alt306=1;
            	                		    }
            	                		    else if ( (LA306_1 == PARAM_MARKER))
            	                		    {
            	                		        alt306=1;
            	                		    }
            	                		    else if ( (LA306_1 == AT_SIGN_SYMBOL))
            	                		    {
            	                		        alt306=1;
            	                		    }
            	                		    else if ( (LA306_1 == AT_AT_SIGN_SYMBOL))
            	                		    {
            	                		        alt306=1;
            	                		    }
            	                		    else if ( (LA306_1 == OPEN_PAR_SYMBOL))
            	                		    {
            	                		        alt306=1;
            	                		    }
            	                		    else if ( (LA306_1 == EXISTS_SYMBOL))
            	                		    {
            	                		        alt306=1;
            	                		    }
            	                		    else if ( (LA306_1 == ACTION_SYMBOL || ((LA306_1 >= AFTER_SYMBOL) && (LA306_1 <= AVG_ROW_LENGTH_SYMBOL)) || ((LA306_1 >= BINLOG_SYMBOL) && (LA306_1 <= CLIENT_SYMBOL)) || LA306_1 == CODE_SYMBOL || ((LA306_1 >= COLUMNS_SYMBOL) && (LA306_1 <= DATETIME_SYMBOL)) || ((LA306_1 >= DEFAULT_AUTH_SYMBOL) && (LA306_1 <= GENERAL_SYMBOL)) || LA306_1 == GEOMETRY_SYMBOL || ((LA306_1 >= GLOBAL_SYMBOL) && (LA306_1 <= HOSTS_SYMBOL)) || ((LA306_1 >= IDENTIFIED_SYMBOL) && (LA306_1 <= LEVEL_SYMBOL)) || ((LA306_1 >= LIST_SYMBOL) && (LA306_1 <= MESSAGE_TEXT_SYMBOL)) || LA306_1 == MIGRATE_SYMBOL || ((LA306_1 >= MIN_ROWS_SYMBOL) && (LA306_1 <= MODIFY_SYMBOL)) || ((LA306_1 >= MUTEX_SYMBOL) && (LA306_1 <= OFFSET_SYMBOL)) || ((LA306_1 >= ONE_SHOT_SYMBOL) && (LA306_1 <= PARTITIONS_SYMBOL)) || ((LA306_1 >= PHASE_SYMBOL) && (LA306_1 <= PLUGIN_SYMBOL)) || ((LA306_1 >= PRESERVE_SYMBOL) && (LA306_1 <= PROXY_SYMBOL)) || ((LA306_1 >= QUERY_SYMBOL) && (LA306_1 <= RETURNS_SYMBOL)) || ((LA306_1 >= ROLLUP_SYMBOL) && (LA306_1 <= ROWS_SYMBOL)) || LA306_1 == ROW_FORMAT_SYMBOL || ((LA306_1 >= RTREE_SYMBOL) && (LA306_1 <= SCHEMA_NAME_SYMBOL)) || ((LA306_1 >= SERIALIZABLE_SYMBOL) && (LA306_1 <= SUBCLASS_ORIGIN_SYMBOL)) || ((LA306_1 >= SUBJECT_SYMBOL) && (LA306_1 <= THAN_SYMBOL)) || ((LA306_1 >= TRANSACTION_SYMBOL) && (LA306_1 <= USER_RESOURCES_SYMBOL)) || ((LA306_1 >= USE_FRM_SYMBOL) && (LA306_1 <= WARNINGS_SYMBOL)) || ((LA306_1 >= WORK_SYMBOL) && (LA306_1 <= XML_SYMBOL))))
            	                		    {
            	                		        alt306=1;
            	                		    }
            	                		    else if ( (LA306_1 == OPEN_CURLY_SYMBOL))
            	                		    {
            	                		        alt306=1;
            	                		    }
            	                		    else if ( (LA306_1 == MATCH_SYMBOL))
            	                		    {
            	                		        alt306=1;
            	                		    }
            	                		    else if ( (LA306_1 == CASE_SYMBOL))
            	                		    {
            	                		        alt306=1;
            	                		    }
            	                		    else if ( (LA306_1 == BINARY_SYMBOL))
            	                		    {
            	                		        alt306=1;
            	                		    }
            	                		    else if ( (LA306_1 == CAST_SYMBOL))
            	                		    {
            	                		        alt306=1;
            	                		    }
            	                		    else if ( (LA306_1 == CONVERT_SYMBOL))
            	                		    {
            	                		        alt306=1;
            	                		    }
            	                		}
            	                	}
            	                    break;
            	            }

            	            switch (alt306)
            	            {
            	        	case 1:
            	        	    // MySQL.g:921:45: where_clause
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_where_clause_in_select_from4643);
            	        	        where_clause871=where_clause(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleselect_fromEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, where_clause871.tree);

            	        	    }
            	        	    break;

            	            }
            	        }

            	        // MySQL.g:921:60: ( options {greedy=true; } : limit_clause )?
            	        {
            	            int alt307=2;
            	            switch ( LA(1) )
            	            {
            	                case LIMIT_SYMBOL:
            	                	{
            	                		{
            	                		    int LA307_1 = LA(2);
            	                		    if ( (LA307_1 == PARAM_MARKER))
            	                		    {
            	                		        alt307=1;
            	                		    }
            	                		    else if ( (LA307_1 == INTEGER))
            	                		    {
            	                		        alt307=1;
            	                		    }
            	                		    else if ( (LA307_1 == IDENTIFIER))
            	                		    {
            	                		        alt307=1;
            	                		    }
            	                		    else if ( (LA307_1 == BACK_TICK_QUOTED_ID))
            	                		    {
            	                		        alt307=1;
            	                		    }
            	                		    else if ( (LA307_1 == DOUBLE_QUOTED_TEXT))
            	                		    {
            	                		        alt307=1;
            	                		    }
            	                		    else if ( (((LA307_1 >= ACTION_SYMBOL) && (LA307_1 <= YEAR_SYMBOL))))
            	                		    {
            	                		        alt307=1;
            	                		    }
            	                		    else if ( (LA307_1 == PARTITION_SYMBOL))
            	                		    {
            	                		        alt307=1;
            	                		    }
            	                		    else if ( (((LA307_1 >= ASCII_SYMBOL) && (LA307_1 <= XA_SYMBOL))))
            	                		    {
            	                		        alt307=1;
            	                		    }
            	                		}
            	                	}
            	                    break;
            	            }

            	            switch (alt307)
            	            {
            	        	case 1:
            	        	    // MySQL.g:921:90: limit_clause
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_limit_clause_in_select_from4661);
            	        	        limit_clause872=limit_clause(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleselect_fromEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, limit_clause872.tree);

            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;
            	case 2:
            	    // MySQL.g:922:5: table_references ( 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 )?
            	    {
            	        FOLLOWPUSH(FOLLOW_table_references_in_select_from4669);
            	        table_references873=table_references(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleselect_fromEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, table_references873.tree);

            	        // MySQL.g:923:4: ( options {greedy=true; } : where_clause )?
            	        {
            	            int alt308=2;
            	            switch ( LA(1) )
            	            {
            	                case WHERE_SYMBOL:
            	                	{
            	                		alt308=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt308)
            	            {
            	        	case 1:
            	        	    // MySQL.g:923:34: where_clause
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_where_clause_in_select_from4688);
            	        	        where_clause874=where_clause(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleselect_fromEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, where_clause874.tree);

            	        	    }
            	        	    break;

            	            }
            	        }

            	        // MySQL.g:924:4: ( options {greedy=true; } : group_by_clause )?
            	        {
            	            int alt309=2;
            	            switch ( LA(1) )
            	            {
            	                case GROUP_SYMBOL:
            	                	{
            	                		alt309=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt309)
            	            {
            	        	case 1:
            	        	    // MySQL.g:924:34: group_by_clause
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_group_by_clause_in_select_from4709);
            	        	        group_by_clause875=group_by_clause(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleselect_fromEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, group_by_clause875.tree);

            	        	    }
            	        	    break;

            	            }
            	        }

            	        // MySQL.g:925:4: ( options {greedy=true; } : having_clause )?
            	        {
            	            int alt310=2;
            	            switch ( LA(1) )
            	            {
            	                case HAVING_SYMBOL:
            	                	{
            	                		alt310=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt310)
            	            {
            	        	case 1:
            	        	    // MySQL.g:925:34: having_clause
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_having_clause_in_select_from4730);
            	        	        having_clause876=having_clause(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleselect_fromEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, having_clause876.tree);

            	        	    }
            	        	    break;

            	            }
            	        }

            	        // MySQL.g:926:4: ( options {greedy=true; } : order_by_clause )?
            	        {
            	            int alt311=2;
            	            switch ( LA(1) )
            	            {
            	                case ORDER_SYMBOL:
            	                	{
            	                		alt311=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt311)
            	            {
            	        	case 1:
            	        	    // MySQL.g:926:34: order_by_clause
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_order_by_clause_in_select_from4751);
            	        	        order_by_clause877=order_by_clause(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleselect_fromEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, order_by_clause877.tree);

            	        	    }
            	        	    break;

            	            }
            	        }

            	        // MySQL.g:927:4: ( options {greedy=true; } : limit_clause )?
            	        {
            	            int alt312=2;
            	            switch ( LA(1) )
            	            {
            	                case LIMIT_SYMBOL:
            	                	{
            	                		alt312=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt312)
            	            {
            	        	case 1:
            	        	    // MySQL.g:927:34: limit_clause
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_limit_clause_in_select_from4772);
            	        	        limit_clause878=limit_clause(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleselect_fromEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, limit_clause878.tree);

            	        	    }
            	        	    break;

            	            }
            	        }

            	        // MySQL.g:928:4: ( options {greedy=true; } : procedure_analyse_clause )?
            	        {
            	            int alt313=2;
            	            switch ( LA(1) )
            	            {
            	                case PROCEDURE_SYMBOL:
            	                	{
            	                		alt313=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt313)
            	            {
            	        	case 1:
            	        	    // MySQL.g:928:34: procedure_analyse_clause
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_procedure_analyse_clause_in_select_from4793);
            	        	        procedure_analyse_clause879=procedure_analyse_clause(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleselect_fromEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, procedure_analyse_clause879.tree);

            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    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 procedure_analyse_clause
 * MySQL.g:932: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_SYMBOL880;
    pANTLR3_COMMON_TOKEN    ANALYSE_SYMBOL881;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL882;
    pANTLR3_COMMON_TOKEN    INTEGER883;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL884;
    pANTLR3_COMMON_TOKEN    INTEGER885;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL886;

    pANTLR3_BASE_TREE PROCEDURE_SYMBOL880_tree;
    pANTLR3_BASE_TREE ANALYSE_SYMBOL881_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL882_tree;
    pANTLR3_BASE_TREE INTEGER883_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL884_tree;
    pANTLR3_BASE_TREE INTEGER885_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL886_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    PROCEDURE_SYMBOL880       = NULL;
    ANALYSE_SYMBOL881       = NULL;
    OPEN_PAR_SYMBOL882       = NULL;
    INTEGER883       = NULL;
    COMMA_SYMBOL884       = NULL;
    INTEGER885       = NULL;
    CLOSE_PAR_SYMBOL886       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    PROCEDURE_SYMBOL880_tree   = NULL;
    ANALYSE_SYMBOL881_tree   = NULL;
    OPEN_PAR_SYMBOL882_tree   = NULL;
    INTEGER883_tree   = NULL;
    COMMA_SYMBOL884_tree   = NULL;
    INTEGER885_tree   = NULL;
    CLOSE_PAR_SYMBOL886_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:932:25: ( PROCEDURE_SYMBOL ^ ANALYSE_SYMBOL OPEN_PAR_SYMBOL ( INTEGER ( COMMA_SYMBOL INTEGER )? )? CLOSE_PAR_SYMBOL )
        // MySQL.g:933:2: PROCEDURE_SYMBOL ^ ANALYSE_SYMBOL OPEN_PAR_SYMBOL ( INTEGER ( COMMA_SYMBOL INTEGER )? )? CLOSE_PAR_SYMBOL
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            PROCEDURE_SYMBOL880 = (pANTLR3_COMMON_TOKEN) MATCHT(PROCEDURE_SYMBOL, &FOLLOW_PROCEDURE_SYMBOL_in_procedure_analyse_clause4807);
            if  (HASEXCEPTION())
            {
                goto ruleprocedure_analyse_clauseEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            PROCEDURE_SYMBOL880_tree = 
            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, PROCEDURE_SYMBOL880))
            ;
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, PROCEDURE_SYMBOL880_tree, root_0));
            }

            ANALYSE_SYMBOL881 = (pANTLR3_COMMON_TOKEN) MATCHT(ANALYSE_SYMBOL, &FOLLOW_ANALYSE_SYMBOL_in_procedure_analyse_clause4810);
            if  (HASEXCEPTION())
            {
                goto ruleprocedure_analyse_clauseEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            ANALYSE_SYMBOL881_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ANALYSE_SYMBOL881));
            ADAPTOR->addChild(ADAPTOR, root_0, ANALYSE_SYMBOL881_tree);
            }

            OPEN_PAR_SYMBOL882 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_procedure_analyse_clause4812);
            if  (HASEXCEPTION())
            {
                goto ruleprocedure_analyse_clauseEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            OPEN_PAR_SYMBOL882_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL882));
            ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL882_tree);
            }

            // MySQL.g:933:51: ( INTEGER ( COMMA_SYMBOL INTEGER )? )?
            {
                int alt316=2;
                switch ( LA(1) )
                {
                    case INTEGER:
                    	{
                    		alt316=1;
                    	}
                        break;
                }

                switch (alt316)
                {
            	case 1:
            	    // MySQL.g:933:52: INTEGER ( COMMA_SYMBOL INTEGER )?
            	    {
            	        INTEGER883 = (pANTLR3_COMMON_TOKEN) MATCHT(INTEGER, &FOLLOW_INTEGER_in_procedure_analyse_clause4815);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleprocedure_analyse_clauseEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        INTEGER883_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INTEGER883));
            	        ADAPTOR->addChild(ADAPTOR, root_0, INTEGER883_tree);
            	        }

            	        // MySQL.g:933:60: ( COMMA_SYMBOL INTEGER )?
            	        {
            	            int alt315=2;
            	            switch ( LA(1) )
            	            {
            	                case COMMA_SYMBOL:
            	                	{
            	                		alt315=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt315)
            	            {
            	        	case 1:
            	        	    // MySQL.g:933:61: COMMA_SYMBOL INTEGER
            	        	    {
            	        	        COMMA_SYMBOL884 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_procedure_analyse_clause4818);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleprocedure_analyse_clauseEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        COMMA_SYMBOL884_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL884));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL884_tree);
            	        	        }

            	        	        INTEGER885 = (pANTLR3_COMMON_TOKEN) MATCHT(INTEGER, &FOLLOW_INTEGER_in_procedure_analyse_clause4820);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleprocedure_analyse_clauseEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        INTEGER885_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INTEGER885));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, INTEGER885_tree);
            	        	        }

            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;

                }
            }

            CLOSE_PAR_SYMBOL886 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_procedure_analyse_clause4826);
            if  (HASEXCEPTION())
            {
                goto ruleprocedure_analyse_clauseEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            CLOSE_PAR_SYMBOL886_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL886));
            ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL886_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:936: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_SYMBOL887;
    MySQLParser_expression_return expression888;
    #undef	RETURN_TYPE_expression888
    #define	RETURN_TYPE_expression888 MySQLParser_expression_return

    pANTLR3_BASE_TREE HAVING_SYMBOL887_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    HAVING_SYMBOL887       = NULL;
    expression888.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    HAVING_SYMBOL887_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:936:14: ( HAVING_SYMBOL ^ expression )
        // MySQL.g:937:2: HAVING_SYMBOL ^ expression
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            HAVING_SYMBOL887 = (pANTLR3_COMMON_TOKEN) MATCHT(HAVING_SYMBOL, &FOLLOW_HAVING_SYMBOL_in_having_clause4835);
            if  (HASEXCEPTION())
            {
                goto rulehaving_clauseEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            HAVING_SYMBOL887_tree = 
            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, HAVING_SYMBOL887))
            ;
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, HAVING_SYMBOL887_tree, root_0));
            }

            FOLLOWPUSH(FOLLOW_expression_in_having_clause4838);
            expression888=expression(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulehaving_clauseEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression888.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:940: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_SYMBOL889;
    pANTLR3_COMMON_TOKEN    BY_SYMBOL890;
    MySQLParser_expression_list_with_direction_return expression_list_with_direction891;
    #undef	RETURN_TYPE_expression_list_with_direction891
    #define	RETURN_TYPE_expression_list_with_direction891 MySQLParser_expression_list_with_direction_return

    MySQLParser_olap_option_return olap_option892;
    #undef	RETURN_TYPE_olap_option892
    #define	RETURN_TYPE_olap_option892 MySQLParser_olap_option_return

    pANTLR3_BASE_TREE GROUP_SYMBOL889_tree;
    pANTLR3_BASE_TREE BY_SYMBOL890_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    GROUP_SYMBOL889       = NULL;
    BY_SYMBOL890       = NULL;
    expression_list_with_direction891.tree = NULL;

    olap_option892.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    GROUP_SYMBOL889_tree   = NULL;
    BY_SYMBOL890_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:940:16: ( GROUP_SYMBOL ^ BY_SYMBOL expression_list_with_direction ( olap_option )? )
        // MySQL.g:941:2: GROUP_SYMBOL ^ BY_SYMBOL expression_list_with_direction ( olap_option )?
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            GROUP_SYMBOL889 = (pANTLR3_COMMON_TOKEN) MATCHT(GROUP_SYMBOL, &FOLLOW_GROUP_SYMBOL_in_group_by_clause4847);
            if  (HASEXCEPTION())
            {
                goto rulegroup_by_clauseEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            GROUP_SYMBOL889_tree = 
            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, GROUP_SYMBOL889))
            ;
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, GROUP_SYMBOL889_tree, root_0));
            }

            BY_SYMBOL890 = (pANTLR3_COMMON_TOKEN) MATCHT(BY_SYMBOL, &FOLLOW_BY_SYMBOL_in_group_by_clause4850);
            if  (HASEXCEPTION())
            {
                goto rulegroup_by_clauseEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            BY_SYMBOL890_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, BY_SYMBOL890));
            ADAPTOR->addChild(ADAPTOR, root_0, BY_SYMBOL890_tree);
            }

            FOLLOWPUSH(FOLLOW_expression_list_with_direction_in_group_by_clause4852);
            expression_list_with_direction891=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_direction891.tree);

            // MySQL.g:941:57: ( olap_option )?
            {
                int alt317=2;
                switch ( LA(1) )
                {
                    case WITH_SYMBOL:
                    	{
                    		switch ( LA(2) )
                    		{
                    		    case CUBE_SYMBOL:
                    		    case ROLLUP_SYMBOL:
                    		    	{
                    		    		alt317=1;
                    		    	}
                    		        break;
                    		}

                    	}
                        break;
                }

                switch (alt317)
                {
            	case 1:
            	    // MySQL.g:941:57: olap_option
            	    {
            	        FOLLOWPUSH(FOLLOW_olap_option_in_group_by_clause4854);
            	        olap_option892=olap_option(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulegroup_by_clauseEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, olap_option892.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:944: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_SYMBOL893;
    pANTLR3_COMMON_TOKEN    CUBE_SYMBOL894;
    pANTLR3_COMMON_TOKEN    WITH_SYMBOL895;
    pANTLR3_COMMON_TOKEN    ROLLUP_SYMBOL896;

    pANTLR3_BASE_TREE WITH_SYMBOL893_tree;
    pANTLR3_BASE_TREE CUBE_SYMBOL894_tree;
    pANTLR3_BASE_TREE WITH_SYMBOL895_tree;
    pANTLR3_BASE_TREE ROLLUP_SYMBOL896_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    WITH_SYMBOL893       = NULL;
    CUBE_SYMBOL894       = NULL;
    WITH_SYMBOL895       = NULL;
    ROLLUP_SYMBOL896       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    WITH_SYMBOL893_tree   = NULL;
    CUBE_SYMBOL894_tree   = NULL;
    WITH_SYMBOL895_tree   = NULL;
    ROLLUP_SYMBOL896_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:944:12: ( WITH_SYMBOL CUBE_SYMBOL | WITH_SYMBOL ROLLUP_SYMBOL )

            ANTLR3_UINT32 alt318;

            alt318=2;

            switch ( LA(1) )
            {
            case WITH_SYMBOL:
            	{
            		switch ( LA(2) )
            		{
            		case CUBE_SYMBOL:
            			{
            				alt318=1;
            			}
            		    break;
            		case ROLLUP_SYMBOL:
            			{
            				alt318=2;
            			}
            		    break;

            		default:
            		    if (BACKTRACKING>0)
            		    {
            		        FAILEDFLAG = ANTLR3_TRUE;
            		        return retval;
            		    }

            		    CONSTRUCTEX();
            		    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
            		    EXCEPTION->message      = (void *)"";
            		    EXCEPTION->decisionNum  = 318;
            		    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  = 318;
                EXCEPTION->state        = 0;


                goto ruleolap_optionEx;

            }

            switch (alt318)
            {
        	case 1:
        	    // MySQL.g:945:2: WITH_SYMBOL CUBE_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        WITH_SYMBOL893 = (pANTLR3_COMMON_TOKEN) MATCHT(WITH_SYMBOL, &FOLLOW_WITH_SYMBOL_in_olap_option4864);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleolap_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        WITH_SYMBOL893_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, WITH_SYMBOL893));
        	        ADAPTOR->addChild(ADAPTOR, root_0, WITH_SYMBOL893_tree);
        	        }

        	        CUBE_SYMBOL894 = (pANTLR3_COMMON_TOKEN) MATCHT(CUBE_SYMBOL, &FOLLOW_CUBE_SYMBOL_in_olap_option4866);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleolap_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CUBE_SYMBOL894_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CUBE_SYMBOL894));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CUBE_SYMBOL894_tree);
        	        }

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:946:4: WITH_SYMBOL ROLLUP_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        WITH_SYMBOL895 = (pANTLR3_COMMON_TOKEN) MATCHT(WITH_SYMBOL, &FOLLOW_WITH_SYMBOL_in_olap_option4871);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleolap_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        WITH_SYMBOL895_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, WITH_SYMBOL895));
        	        ADAPTOR->addChild(ADAPTOR, root_0, WITH_SYMBOL895_tree);
        	        }

        	        ROLLUP_SYMBOL896 = (pANTLR3_COMMON_TOKEN) MATCHT(ROLLUP_SYMBOL, &FOLLOW_ROLLUP_SYMBOL_in_olap_option4873);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleolap_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        ROLLUP_SYMBOL896_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ROLLUP_SYMBOL896));
        	        ADAPTOR->addChild(ADAPTOR, root_0, ROLLUP_SYMBOL896_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:949: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_SYMBOL897;
    pANTLR3_COMMON_TOKEN    BY_SYMBOL898;
    MySQLParser_expression_list_with_direction_return expression_list_with_direction899;
    #undef	RETURN_TYPE_expression_list_with_direction899
    #define	RETURN_TYPE_expression_list_with_direction899 MySQLParser_expression_list_with_direction_return

    pANTLR3_BASE_TREE ORDER_SYMBOL897_tree;
    pANTLR3_BASE_TREE BY_SYMBOL898_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    ORDER_SYMBOL897       = NULL;
    BY_SYMBOL898       = NULL;
    expression_list_with_direction899.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    ORDER_SYMBOL897_tree   = NULL;
    BY_SYMBOL898_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:949:16: ( ORDER_SYMBOL ^ BY_SYMBOL expression_list_with_direction )
        // MySQL.g:950:2: ORDER_SYMBOL ^ BY_SYMBOL expression_list_with_direction
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            ORDER_SYMBOL897 = (pANTLR3_COMMON_TOKEN) MATCHT(ORDER_SYMBOL, &FOLLOW_ORDER_SYMBOL_in_order_by_clause4882);
            if  (HASEXCEPTION())
            {
                goto ruleorder_by_clauseEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            ORDER_SYMBOL897_tree = 
            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ORDER_SYMBOL897))
            ;
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, ORDER_SYMBOL897_tree, root_0));
            }

            BY_SYMBOL898 = (pANTLR3_COMMON_TOKEN) MATCHT(BY_SYMBOL, &FOLLOW_BY_SYMBOL_in_order_by_clause4885);
            if  (HASEXCEPTION())
            {
                goto ruleorder_by_clauseEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            BY_SYMBOL898_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, BY_SYMBOL898));
            ADAPTOR->addChild(ADAPTOR, root_0, BY_SYMBOL898_tree);
            }

            FOLLOWPUSH(FOLLOW_expression_list_with_direction_in_order_by_clause4887);
            expression_list_with_direction899=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_direction899.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:953: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_clause900;
    #undef	RETURN_TYPE_order_by_clause900
    #define	RETURN_TYPE_order_by_clause900 MySQLParser_order_by_clause_return

    MySQLParser_limit_clause_return limit_clause901;
    #undef	RETURN_TYPE_limit_clause901
    #define	RETURN_TYPE_limit_clause901 MySQLParser_limit_clause_return

    MySQLParser_limit_clause_return limit_clause902;
    #undef	RETURN_TYPE_limit_clause902
    #define	RETURN_TYPE_limit_clause902 MySQLParser_limit_clause_return


    /* Initialize rule variables
     */

    root_0 = NULL;

    order_by_clause900.tree = NULL;

    limit_clause901.tree = NULL;

    limit_clause902.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;




    retval.tree  = NULL;

    {
        {
            //  MySQL.g:953:18: ( order_by_clause ( limit_clause )? | limit_clause )

            ANTLR3_UINT32 alt320;

            alt320=2;

            switch ( LA(1) )
            {
            case ORDER_SYMBOL:
            	{
            		alt320=1;
            	}
                break;
            case LIMIT_SYMBOL:
            	{
            		alt320=2;
            	}
                break;

            default:
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                EXCEPTION->message      = (void *)"";
                EXCEPTION->decisionNum  = 320;
                EXCEPTION->state        = 0;


                goto ruleorder_by_or_limitEx;

            }

            switch (alt320)
            {
        	case 1:
        	    // MySQL.g:954:2: order_by_clause ( limit_clause )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_order_by_clause_in_order_by_or_limit4896);
        	        order_by_clause900=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_clause900.tree);

        	        // MySQL.g:954:18: ( limit_clause )?
        	        {
        	            int alt319=2;
        	            switch ( LA(1) )
        	            {
        	                case LIMIT_SYMBOL:
        	                	{
        	                		alt319=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt319)
        	            {
        	        	case 1:
        	        	    // MySQL.g:954:18: limit_clause
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_limit_clause_in_order_by_or_limit4898);
        	        	        limit_clause901=limit_clause(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleorder_by_or_limitEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, limit_clause901.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:955:4: limit_clause
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_limit_clause_in_order_by_or_limit4904);
        	        limit_clause902=limit_clause(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleorder_by_or_limitEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, limit_clause902.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:958: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    set903;

    pANTLR3_BASE_TREE set903_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    set903       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    set903_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:958:10: ( ASC_SYMBOL | DESC_SYMBOL )
        // MySQL.g:
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            set903=(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, set903))
                );
                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 where_clause
 * MySQL.g:963: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_SYMBOL904;
    MySQLParser_expression_return expression905;
    #undef	RETURN_TYPE_expression905
    #define	RETURN_TYPE_expression905 MySQLParser_expression_return

    pANTLR3_BASE_TREE WHERE_SYMBOL904_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    WHERE_SYMBOL904       = NULL;
    expression905.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    WHERE_SYMBOL904_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:963:13: ( WHERE_SYMBOL ^ expression )
        // MySQL.g:964:2: WHERE_SYMBOL ^ expression
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            WHERE_SYMBOL904 = (pANTLR3_COMMON_TOKEN) MATCHT(WHERE_SYMBOL, &FOLLOW_WHERE_SYMBOL_in_where_clause4935);
            if  (HASEXCEPTION())
            {
                goto rulewhere_clauseEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            WHERE_SYMBOL904_tree = 
            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, WHERE_SYMBOL904))
            ;
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, WHERE_SYMBOL904_tree, root_0));
            }

            FOLLOWPUSH(FOLLOW_expression_in_where_clause4938);
            expression905=expression(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulewhere_clauseEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression905.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_references
 * MySQL.g:967:1: table_references : escaped_table_reference ( options {greedy=true; } : COMMA_SYMBOL escaped_table_reference )* ;
 */
static MySQLParser_table_references_return
table_references(pMySQLParser ctx)
{
    MySQLParser_table_references_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL907;
    MySQLParser_escaped_table_reference_return escaped_table_reference906;
    #undef	RETURN_TYPE_escaped_table_reference906
    #define	RETURN_TYPE_escaped_table_reference906 MySQLParser_escaped_table_reference_return

    MySQLParser_escaped_table_reference_return escaped_table_reference908;
    #undef	RETURN_TYPE_escaped_table_reference908
    #define	RETURN_TYPE_escaped_table_reference908 MySQLParser_escaped_table_reference_return

    pANTLR3_BASE_TREE COMMA_SYMBOL907_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    COMMA_SYMBOL907       = NULL;
    escaped_table_reference906.tree = NULL;

    escaped_table_reference908.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    COMMA_SYMBOL907_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:967:17: ( escaped_table_reference ( options {greedy=true; } : COMMA_SYMBOL escaped_table_reference )* )
        // MySQL.g:968: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_table_references4948);
            escaped_table_reference906=escaped_table_reference(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruletable_referencesEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, escaped_table_reference906.tree);

            // MySQL.g:968:27: ( options {greedy=true; } : COMMA_SYMBOL escaped_table_reference )*

            for (;;)
            {
                int alt321=2;
                switch ( LA(1) )
                {
                case COMMA_SYMBOL:
                	{
                		alt321=1;
                	}
                    break;

                }

                switch (alt321)
                {
            	case 1:
            	    // MySQL.g:968:57: COMMA_SYMBOL escaped_table_reference
            	    {
            	        COMMA_SYMBOL907 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_table_references4964);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruletable_referencesEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        COMMA_SYMBOL907_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL907));
            	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL907_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_escaped_table_reference_in_table_references4966);
            	        escaped_table_reference908=escaped_table_reference(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruletable_referencesEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, escaped_table_reference908.tree);

            	    }
            	    break;

            	default:
            	    goto loop321;	/* break out of the loop */
            	    break;
                }
            }
            loop321: ; /* Jump out to here if this rule does not match */


        }

    }

    // This is where rules clean up and exit
    //
    goto ruletable_referencesEx; /* Prevent compiler warnings */
    ruletable_referencesEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, 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_references */

/**
 * $ANTLR start escaped_table_reference
 * MySQL.g:977: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_SYMBOL910;
    pANTLR3_COMMON_TOKEN    CLOSE_CURLY_SYMBOL913;
    MySQLParser_table_reference_return table_reference909;
    #undef	RETURN_TYPE_table_reference909
    #define	RETURN_TYPE_table_reference909 MySQLParser_table_reference_return

    MySQLParser_identifier_return identifier911;
    #undef	RETURN_TYPE_identifier911
    #define	RETURN_TYPE_identifier911 MySQLParser_identifier_return

    MySQLParser_table_reference_return table_reference912;
    #undef	RETURN_TYPE_table_reference912
    #define	RETURN_TYPE_table_reference912 MySQLParser_table_reference_return

    pANTLR3_BASE_TREE OPEN_CURLY_SYMBOL910_tree;
    pANTLR3_BASE_TREE CLOSE_CURLY_SYMBOL913_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    OPEN_CURLY_SYMBOL910       = NULL;
    CLOSE_CURLY_SYMBOL913       = NULL;
    table_reference909.tree = NULL;

    identifier911.tree = NULL;

    table_reference912.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    OPEN_CURLY_SYMBOL910_tree   = NULL;
    CLOSE_CURLY_SYMBOL913_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:977:24: ( table_reference | OPEN_CURLY_SYMBOL identifier table_reference CLOSE_CURLY_SYMBOL )

            ANTLR3_UINT32 alt322;

            alt322=2;

            {
                int LA322_0 = LA(1);
                if ( (LA322_0 == BACK_TICK_QUOTED_ID || LA322_0 == IDENTIFIER || LA322_0 == OPEN_PAR_SYMBOL || LA322_0 == SELECT_SYMBOL))
                {
                    alt322=1;
                }
                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA322_0 == DOUBLE_QUOTED_TEXT))
                {
                    alt322=1;
                }
                else if ( (((LA322_0 >= ACTION_SYMBOL) && (LA322_0 <= PARTITION_SYMBOL)) || LA322_0 == DOT_SYMBOL))
                {
                    alt322=1;
                }
                else if ( (LA322_0 == OPEN_CURLY_SYMBOL))
                {
                    alt322=2;
                }
                else
                {
                    if (BACKTRACKING>0)
                    {
                        FAILEDFLAG = ANTLR3_TRUE;
                        return retval;
                    }


                    CONSTRUCTEX();
                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    EXCEPTION->message      = (void *)"";
                    EXCEPTION->decisionNum  = 322;
                    EXCEPTION->state        = 0;


                    goto ruleescaped_table_referenceEx;

                }
            }
            switch (alt322)
            {
        	case 1:
        	    // MySQL.g:978:2: table_reference
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_table_reference_in_escaped_table_reference4983);
        	        table_reference909=table_reference(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleescaped_table_referenceEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, table_reference909.tree);

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:979:4: OPEN_CURLY_SYMBOL identifier table_reference CLOSE_CURLY_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        OPEN_CURLY_SYMBOL910 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_CURLY_SYMBOL, &FOLLOW_OPEN_CURLY_SYMBOL_in_escaped_table_reference4988);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleescaped_table_referenceEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_CURLY_SYMBOL910_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_CURLY_SYMBOL910));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_CURLY_SYMBOL910_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_identifier_in_escaped_table_reference4990);
        	        identifier911=identifier(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleescaped_table_referenceEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier911.tree);

        	        FOLLOWPUSH(FOLLOW_table_reference_in_escaped_table_reference4992);
        	        table_reference912=table_reference(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleescaped_table_referenceEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, table_reference912.tree);

        	        CLOSE_CURLY_SYMBOL913 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_CURLY_SYMBOL, &FOLLOW_CLOSE_CURLY_SYMBOL_in_escaped_table_reference4994);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleescaped_table_referenceEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_CURLY_SYMBOL913_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_CURLY_SYMBOL913));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_CURLY_SYMBOL913_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:982: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_factor914;
    #undef	RETURN_TYPE_table_factor914
    #define	RETURN_TYPE_table_factor914 MySQLParser_table_factor_return

    MySQLParser_join_return join915;
    #undef	RETURN_TYPE_join915
    #define	RETURN_TYPE_join915 MySQLParser_join_return


    /* Initialize rule variables
     */

    root_0 = NULL;

    table_factor914.tree = NULL;

    join915.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;




    retval.tree  = NULL;

    {
        // MySQL.g:982:16: ( table_factor ( options {greedy=true; } : join )* )
        // MySQL.g:983:2: table_factor ( options {greedy=true; } : join )*
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            FOLLOWPUSH(FOLLOW_table_factor_in_table_reference5003);
            table_factor914=table_factor(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruletable_referenceEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, table_factor914.tree);

            // MySQL.g:983:15: ( options {greedy=true; } : join )*

            for (;;)
            {
                int alt323=2;
                switch ( LA(1) )
                {
                case CROSS_SYMBOL:
                case INNER_SYMBOL:
                	{
                		alt323=1;
                	}
                    break;
                case JOIN_SYMBOL:
                	{
                		alt323=1;
                	}
                    break;
                case STRAIGHT_JOIN_SYMBOL:
                	{
                		alt323=1;
                	}
                    break;
                case LEFT_SYMBOL:
                case RIGHT_SYMBOL:
                	{
                		alt323=1;
                	}
                    break;
                case NATURAL_SYMBOL:
                	{
                		alt323=1;
                	}
                    break;

                }

                switch (alt323)
                {
            	case 1:
            	    // MySQL.g:983:45: join
            	    {
            	        FOLLOWPUSH(FOLLOW_join_in_table_reference5019);
            	        join915=join(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruletable_referenceEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, join915.tree);

            	    }
            	    break;

            	default:
            	    goto loop323;	/* break out of the loop */
            	    break;
                }
            }
            loop323: ; /* 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:986:1: join : join_table -> ^( JOIN_EXPR join_table ) ;
 */
static MySQLParser_join_return
join(pMySQLParser ctx)
{
    MySQLParser_join_return retval;


    pANTLR3_BASE_TREE root_0;

    MySQLParser_join_table_return join_table916;
    #undef	RETURN_TYPE_join_table916
    #define	RETURN_TYPE_join_table916 MySQLParser_join_table_return

    pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_join_table;
    /* Initialize rule variables
     */

    root_0 = NULL;

    join_table916.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:986:5: ( join_table -> ^( JOIN_EXPR join_table ) )
        // MySQL.g:987:2: join_table
        {
            FOLLOWPUSH(FOLLOW_join_table_in_join5030);
            join_table916=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_table916.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;
            	// 987:13: -> ^( JOIN_EXPR join_table )
            	{
            	    // MySQL.g:987:16: ^( JOIN_EXPR 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, (pANTLR3_UINT8)"JOIN_EXPR")
            	        , 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:990:1: table_factor : ( SELECT_SYMBOL ( options {greedy=true; } : select_option )* select_item_list ( options {greedy=true; } : table_factor_select_tail )? | OPEN_PAR_SYMBOL select_table_factor_union CLOSE_PAR_SYMBOL ( table_alias )? | table_factor_table );
 */
static MySQLParser_table_factor_return
table_factor(pMySQLParser ctx)
{
    MySQLParser_table_factor_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    SELECT_SYMBOL917;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL921;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL923;
    MySQLParser_select_option_return select_option918;
    #undef	RETURN_TYPE_select_option918
    #define	RETURN_TYPE_select_option918 MySQLParser_select_option_return

    MySQLParser_select_item_list_return select_item_list919;
    #undef	RETURN_TYPE_select_item_list919
    #define	RETURN_TYPE_select_item_list919 MySQLParser_select_item_list_return

    MySQLParser_table_factor_select_tail_return table_factor_select_tail920;
    #undef	RETURN_TYPE_table_factor_select_tail920
    #define	RETURN_TYPE_table_factor_select_tail920 MySQLParser_table_factor_select_tail_return

    MySQLParser_select_table_factor_union_return select_table_factor_union922;
    #undef	RETURN_TYPE_select_table_factor_union922
    #define	RETURN_TYPE_select_table_factor_union922 MySQLParser_select_table_factor_union_return

    MySQLParser_table_alias_return table_alias924;
    #undef	RETURN_TYPE_table_alias924
    #define	RETURN_TYPE_table_alias924 MySQLParser_table_alias_return

    MySQLParser_table_factor_table_return table_factor_table925;
    #undef	RETURN_TYPE_table_factor_table925
    #define	RETURN_TYPE_table_factor_table925 MySQLParser_table_factor_table_return

    pANTLR3_BASE_TREE SELECT_SYMBOL917_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL921_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL923_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    SELECT_SYMBOL917       = NULL;
    OPEN_PAR_SYMBOL921       = NULL;
    CLOSE_PAR_SYMBOL923       = NULL;
    select_option918.tree = NULL;

    select_item_list919.tree = NULL;

    table_factor_select_tail920.tree = NULL;

    select_table_factor_union922.tree = NULL;

    table_alias924.tree = NULL;

    table_factor_table925.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    SELECT_SYMBOL917_tree   = NULL;
    OPEN_PAR_SYMBOL921_tree   = NULL;
    CLOSE_PAR_SYMBOL923_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:990:13: ( SELECT_SYMBOL ( options {greedy=true; } : select_option )* select_item_list ( options {greedy=true; } : table_factor_select_tail )? | OPEN_PAR_SYMBOL select_table_factor_union CLOSE_PAR_SYMBOL ( table_alias )? | table_factor_table )

            ANTLR3_UINT32 alt327;

            alt327=3;

            {
                int LA327_0 = LA(1);
                if ( (LA327_0 == SELECT_SYMBOL))
                {
                    alt327=1;
                }
                else if ( (LA327_0 == OPEN_PAR_SYMBOL))
                {
                    alt327=2;
                }
                else if ( (LA327_0 == BACK_TICK_QUOTED_ID || LA327_0 == IDENTIFIER))
                {
                    alt327=3;
                }
                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA327_0 == DOUBLE_QUOTED_TEXT))
                {
                    alt327=3;
                }
                else if ( (((LA327_0 >= ACTION_SYMBOL) && (LA327_0 <= PARTITION_SYMBOL)) || LA327_0 == DOT_SYMBOL))
                {
                    alt327=3;
                }
                else
                {
                    if (BACKTRACKING>0)
                    {
                        FAILEDFLAG = ANTLR3_TRUE;
                        return retval;
                    }


                    CONSTRUCTEX();
                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    EXCEPTION->message      = (void *)"";
                    EXCEPTION->decisionNum  = 327;
                    EXCEPTION->state        = 0;


                    goto ruletable_factorEx;

                }
            }
            switch (alt327)
            {
        	case 1:
        	    // MySQL.g:991:2: SELECT_SYMBOL ( options {greedy=true; } : select_option )* select_item_list ( options {greedy=true; } : table_factor_select_tail )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        SELECT_SYMBOL917 = (pANTLR3_COMMON_TOKEN) MATCHT(SELECT_SYMBOL, &FOLLOW_SELECT_SYMBOL_in_table_factor5047);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruletable_factorEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        SELECT_SYMBOL917_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SELECT_SYMBOL917));
        	        ADAPTOR->addChild(ADAPTOR, root_0, SELECT_SYMBOL917_tree);
        	        }

        	        // MySQL.g:991:16: ( options {greedy=true; } : select_option )*

        	        for (;;)
        	        {
        	            int alt324=2;
        	            switch ( LA(1) )
        	            {
        	            case SQL_BUFFER_RESULT_SYMBOL:
        	            	{
        	            		alt324=1;
        	            	}
        	                break;
        	            case SQL_NO_CACHE_SYMBOL:
        	            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:
        	            	{
        	            		alt324=1;
        	            	}
        	                break;
        	            case SQL_CACHE_SYMBOL:
        	            	{
        	            		alt324=1;
        	            	}
        	                break;

        	            }

        	            switch (alt324)
        	            {
        	        	case 1:
        	        	    // MySQL.g:991:46: select_option
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_select_option_in_table_factor5063);
        	        	        select_option918=select_option(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruletable_factorEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, select_option918.tree);

        	        	    }
        	        	    break;

        	        	default:
        	        	    goto loop324;	/* break out of the loop */
        	        	    break;
        	            }
        	        }
        	        loop324: ; /* Jump out to here if this rule does not match */


        	        FOLLOWPUSH(FOLLOW_select_item_list_in_table_factor5067);
        	        select_item_list919=select_item_list(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruletable_factorEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, select_item_list919.tree);

        	        // MySQL.g:991:79: ( options {greedy=true; } : table_factor_select_tail )?
        	        {
        	            int alt325=2;
        	            switch ( LA(1) )
        	            {
        	                case FROM_SYMBOL:
        	                	{
        	                		alt325=1;
        	                	}
        	                    break;
        	                case LIMIT_SYMBOL:
        	                	{
        	                		{
        	                		    int LA325_2 = LA(2);
        	                		    if ( (LA325_2 == PARAM_MARKER))
        	                		    {
        	                		        alt325=1;
        	                		    }
        	                		    else if ( (LA325_2 == INTEGER))
        	                		    {
        	                		        alt325=1;
        	                		    }
        	                		    else if ( (LA325_2 == IDENTIFIER))
        	                		    {
        	                		        alt325=1;
        	                		    }
        	                		    else if ( (LA325_2 == BACK_TICK_QUOTED_ID))
        	                		    {
        	                		        alt325=1;
        	                		    }
        	                		    else if ( (LA325_2 == DOUBLE_QUOTED_TEXT))
        	                		    {
        	                		        alt325=1;
        	                		    }
        	                		    else if ( (((LA325_2 >= ACTION_SYMBOL) && (LA325_2 <= YEAR_SYMBOL))))
        	                		    {
        	                		        alt325=1;
        	                		    }
        	                		    else if ( (LA325_2 == PARTITION_SYMBOL))
        	                		    {
        	                		        alt325=1;
        	                		    }
        	                		    else if ( (((LA325_2 >= ASCII_SYMBOL) && (LA325_2 <= XA_SYMBOL))))
        	                		    {
        	                		        alt325=1;
        	                		    }
        	                		}
        	                	}
        	                    break;
        	            }

        	            switch (alt325)
        	            {
        	        	case 1:
        	        	    // MySQL.g:991:109: table_factor_select_tail
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_table_factor_select_tail_in_table_factor5083);
        	        	        table_factor_select_tail920=table_factor_select_tail(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruletable_factorEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, table_factor_select_tail920.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:992:4: OPEN_PAR_SYMBOL select_table_factor_union CLOSE_PAR_SYMBOL ( table_alias )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        OPEN_PAR_SYMBOL921 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_table_factor5090);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruletable_factorEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL921_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL921));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL921_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_select_table_factor_union_in_table_factor5092);
        	        select_table_factor_union922=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_union922.tree);

        	        CLOSE_PAR_SYMBOL923 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_table_factor5094);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruletable_factorEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL923_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL923));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL923_tree);
        	        }

        	        // MySQL.g:992:63: ( table_alias )?
        	        {
        	            int alt326=2;
        	            {
        	                int LA326_0 = LA(1);
        	                if ( (LA326_0 == AS_SYMBOL || LA326_0 == BACK_TICK_QUOTED_ID || LA326_0 == EQUAL_OPERATOR || LA326_0 == IDENTIFIER))
        	                {
        	                    alt326=1;
        	                }
        	                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA326_0 == DOUBLE_QUOTED_TEXT))
        	                {
        	                    alt326=1;
        	                }
        	                else if ( (((LA326_0 >= ACTION_SYMBOL) && (LA326_0 <= PARTITION_SYMBOL))))
        	                {
        	                    alt326=1;
        	                }
        	            }
        	            switch (alt326)
        	            {
        	        	case 1:
        	        	    // MySQL.g:992:63: table_alias
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_table_alias_in_table_factor5096);
        	        	        table_alias924=table_alias(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruletable_factorEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, table_alias924.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 3:
        	    // MySQL.g:993:4: table_factor_table
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_table_factor_table_in_table_factor5102);
        	        table_factor_table925=table_factor_table(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruletable_factorEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, table_factor_table925.tree);

        	    }
        	    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 table_factor_select_tail
 * MySQL.g:996:1: table_factor_select_tail : ( select_from ( options {greedy=true; } : select_lock_type )? | limit_clause );
 */
static MySQLParser_table_factor_select_tail_return
table_factor_select_tail(pMySQLParser ctx)
{
    MySQLParser_table_factor_select_tail_return retval;


    pANTLR3_BASE_TREE root_0;

    MySQLParser_select_from_return select_from926;
    #undef	RETURN_TYPE_select_from926
    #define	RETURN_TYPE_select_from926 MySQLParser_select_from_return

    MySQLParser_select_lock_type_return select_lock_type927;
    #undef	RETURN_TYPE_select_lock_type927
    #define	RETURN_TYPE_select_lock_type927 MySQLParser_select_lock_type_return

    MySQLParser_limit_clause_return limit_clause928;
    #undef	RETURN_TYPE_limit_clause928
    #define	RETURN_TYPE_limit_clause928 MySQLParser_limit_clause_return


    /* Initialize rule variables
     */

    root_0 = NULL;

    select_from926.tree = NULL;

    select_lock_type927.tree = NULL;

    limit_clause928.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;




    retval.tree  = NULL;

    {
        {
            //  MySQL.g:996:25: ( select_from ( options {greedy=true; } : select_lock_type )? | limit_clause )

            ANTLR3_UINT32 alt329;

            alt329=2;

            switch ( LA(1) )
            {
            case FROM_SYMBOL:
            	{
            		alt329=1;
            	}
                break;
            case LIMIT_SYMBOL:
            	{
            		alt329=2;
            	}
                break;

            default:
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                EXCEPTION->message      = (void *)"";
                EXCEPTION->decisionNum  = 329;
                EXCEPTION->state        = 0;


                goto ruletable_factor_select_tailEx;

            }

            switch (alt329)
            {
        	case 1:
        	    // MySQL.g:997:2: select_from ( options {greedy=true; } : select_lock_type )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_select_from_in_table_factor_select_tail5111);
        	        select_from926=select_from(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruletable_factor_select_tailEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, select_from926.tree);

        	        // MySQL.g:997:14: ( options {greedy=true; } : select_lock_type )?
        	        {
        	            int alt328=2;
        	            switch ( LA(1) )
        	            {
        	                case FOR_SYMBOL:
        	                	{
        	                		alt328=1;
        	                	}
        	                    break;
        	                case LOCK_SYMBOL:
        	                	{
        	                		alt328=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt328)
        	            {
        	        	case 1:
        	        	    // MySQL.g:997:44: select_lock_type
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_select_lock_type_in_table_factor_select_tail5127);
        	        	        select_lock_type927=select_lock_type(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruletable_factor_select_tailEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, select_lock_type927.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:998:4: limit_clause
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_limit_clause_in_table_factor_select_tail5134);
        	        limit_clause928=limit_clause(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruletable_factor_select_tailEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, limit_clause928.tree);

        	    }
        	    break;

            }
        }
    }

    // This is where rules clean up and exit
    //
    goto ruletable_factor_select_tailEx; /* Prevent compiler warnings */
    ruletable_factor_select_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 table_factor_select_tail */

/**
 * $ANTLR start select_table_factor_union
 * MySQL.g:1001:1: select_table_factor_union : ( table_references ( order_by_or_limit )? ) ( UNION_SYMBOL ( union_option )? join_query_specification ( order_by_or_limit )? )* ;
 */
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_SYMBOL931;
    MySQLParser_table_references_return table_references929;
    #undef	RETURN_TYPE_table_references929
    #define	RETURN_TYPE_table_references929 MySQLParser_table_references_return

    MySQLParser_order_by_or_limit_return order_by_or_limit930;
    #undef	RETURN_TYPE_order_by_or_limit930
    #define	RETURN_TYPE_order_by_or_limit930 MySQLParser_order_by_or_limit_return

    MySQLParser_union_option_return union_option932;
    #undef	RETURN_TYPE_union_option932
    #define	RETURN_TYPE_union_option932 MySQLParser_union_option_return

    MySQLParser_join_query_specification_return join_query_specification933;
    #undef	RETURN_TYPE_join_query_specification933
    #define	RETURN_TYPE_join_query_specification933 MySQLParser_join_query_specification_return

    MySQLParser_order_by_or_limit_return order_by_or_limit934;
    #undef	RETURN_TYPE_order_by_or_limit934
    #define	RETURN_TYPE_order_by_or_limit934 MySQLParser_order_by_or_limit_return

    pANTLR3_BASE_TREE UNION_SYMBOL931_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    UNION_SYMBOL931       = NULL;
    table_references929.tree = NULL;

    order_by_or_limit930.tree = NULL;

    union_option932.tree = NULL;

    join_query_specification933.tree = NULL;

    order_by_or_limit934.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    UNION_SYMBOL931_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1001:26: ( ( table_references ( order_by_or_limit )? ) ( UNION_SYMBOL ( union_option )? join_query_specification ( order_by_or_limit )? )* )
        // MySQL.g:1002:2: ( table_references ( order_by_or_limit )? ) ( UNION_SYMBOL ( union_option )? join_query_specification ( order_by_or_limit )? )*
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            // MySQL.g:1002:2: ( table_references ( order_by_or_limit )? )
            // MySQL.g:1002:3: table_references ( order_by_or_limit )?
            {
                FOLLOWPUSH(FOLLOW_table_references_in_select_table_factor_union5144);
                table_references929=table_references(ctx);

                FOLLOWPOP();
                if  (HASEXCEPTION())
                {
                    goto ruleselect_table_factor_unionEx;
                }
                if (HASFAILED())
                {
                    return retval;
                }

                if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, table_references929.tree);

                // MySQL.g:1002:20: ( order_by_or_limit )?
                {
                    int alt330=2;
                    switch ( LA(1) )
                    {
                        case LIMIT_SYMBOL:
                        case ORDER_SYMBOL:
                        	{
                        		alt330=1;
                        	}
                            break;
                    }

                    switch (alt330)
                    {
                	case 1:
                	    // MySQL.g:1002:20: order_by_or_limit
                	    {
                	        FOLLOWPUSH(FOLLOW_order_by_or_limit_in_select_table_factor_union5146);
                	        order_by_or_limit930=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_limit930.tree);

                	    }
                	    break;

                    }
                }

            }


            // MySQL.g:1002:40: ( UNION_SYMBOL ( union_option )? join_query_specification ( order_by_or_limit )? )*

            for (;;)
            {
                int alt333=2;
                switch ( LA(1) )
                {
                case UNION_SYMBOL:
                	{
                		alt333=1;
                	}
                    break;

                }

                switch (alt333)
                {
            	case 1:
            	    // MySQL.g:1002:41: UNION_SYMBOL ( union_option )? join_query_specification ( order_by_or_limit )?
            	    {
            	        UNION_SYMBOL931 = (pANTLR3_COMMON_TOKEN) MATCHT(UNION_SYMBOL, &FOLLOW_UNION_SYMBOL_in_select_table_factor_union5151);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleselect_table_factor_unionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        UNION_SYMBOL931_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, UNION_SYMBOL931));
            	        ADAPTOR->addChild(ADAPTOR, root_0, UNION_SYMBOL931_tree);
            	        }

            	        // MySQL.g:1002:54: ( union_option )?
            	        {
            	            int alt331=2;
            	            switch ( LA(1) )
            	            {
            	                case ALL_SYMBOL:
            	                case DISTINCT_SYMBOL:
            	                	{
            	                		alt331=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt331)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1002:54: union_option
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_union_option_in_select_table_factor_union5153);
            	        	        union_option932=union_option(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleselect_table_factor_unionEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, union_option932.tree);

            	        	    }
            	        	    break;

            	            }
            	        }

            	        FOLLOWPUSH(FOLLOW_join_query_specification_in_select_table_factor_union5156);
            	        join_query_specification933=join_query_specification(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleselect_table_factor_unionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, join_query_specification933.tree);

            	        // MySQL.g:1002:93: ( order_by_or_limit )?
            	        {
            	            int alt332=2;
            	            switch ( LA(1) )
            	            {
            	                case LIMIT_SYMBOL:
            	                case ORDER_SYMBOL:
            	                	{
            	                		alt332=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt332)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1002:93: order_by_or_limit
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_order_by_or_limit_in_select_table_factor_union5158);
            	        	        order_by_or_limit934=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_limit934.tree);

            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;

            	default:
            	    goto loop333;	/* break out of the loop */
            	    break;
                }
            }
            loop333: ; /* 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 join_query_specification
 * MySQL.g:1005:1: join_query_specification : ( SELECT_SYMBOL ( options {greedy=true; } : query_expression_option )* select_item_list ( select_from )? ( select_lock_type )? | OPEN_PAR_SYMBOL join_query_specification CLOSE_PAR_SYMBOL );
 */
static MySQLParser_join_query_specification_return
join_query_specification(pMySQLParser ctx)
{
    MySQLParser_join_query_specification_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    SELECT_SYMBOL935;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL940;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL942;
    MySQLParser_query_expression_option_return query_expression_option936;
    #undef	RETURN_TYPE_query_expression_option936
    #define	RETURN_TYPE_query_expression_option936 MySQLParser_query_expression_option_return

    MySQLParser_select_item_list_return select_item_list937;
    #undef	RETURN_TYPE_select_item_list937
    #define	RETURN_TYPE_select_item_list937 MySQLParser_select_item_list_return

    MySQLParser_select_from_return select_from938;
    #undef	RETURN_TYPE_select_from938
    #define	RETURN_TYPE_select_from938 MySQLParser_select_from_return

    MySQLParser_select_lock_type_return select_lock_type939;
    #undef	RETURN_TYPE_select_lock_type939
    #define	RETURN_TYPE_select_lock_type939 MySQLParser_select_lock_type_return

    MySQLParser_join_query_specification_return join_query_specification941;
    #undef	RETURN_TYPE_join_query_specification941
    #define	RETURN_TYPE_join_query_specification941 MySQLParser_join_query_specification_return

    pANTLR3_BASE_TREE SELECT_SYMBOL935_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL940_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL942_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    SELECT_SYMBOL935       = NULL;
    OPEN_PAR_SYMBOL940       = NULL;
    CLOSE_PAR_SYMBOL942       = NULL;
    query_expression_option936.tree = NULL;

    select_item_list937.tree = NULL;

    select_from938.tree = NULL;

    select_lock_type939.tree = NULL;

    join_query_specification941.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    SELECT_SYMBOL935_tree   = NULL;
    OPEN_PAR_SYMBOL940_tree   = NULL;
    CLOSE_PAR_SYMBOL942_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:1005:25: ( SELECT_SYMBOL ( options {greedy=true; } : query_expression_option )* select_item_list ( select_from )? ( select_lock_type )? | OPEN_PAR_SYMBOL join_query_specification CLOSE_PAR_SYMBOL )

            ANTLR3_UINT32 alt337;

            alt337=2;

            switch ( LA(1) )
            {
            case SELECT_SYMBOL:
            	{
            		alt337=1;
            	}
                break;
            case OPEN_PAR_SYMBOL:
            	{
            		alt337=2;
            	}
                break;

            default:
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                EXCEPTION->message      = (void *)"";
                EXCEPTION->decisionNum  = 337;
                EXCEPTION->state        = 0;


                goto rulejoin_query_specificationEx;

            }

            switch (alt337)
            {
        	case 1:
        	    // MySQL.g:1006:2: SELECT_SYMBOL ( options {greedy=true; } : query_expression_option )* select_item_list ( select_from )? ( select_lock_type )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        SELECT_SYMBOL935 = (pANTLR3_COMMON_TOKEN) MATCHT(SELECT_SYMBOL, &FOLLOW_SELECT_SYMBOL_in_join_query_specification5170);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulejoin_query_specificationEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        SELECT_SYMBOL935_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SELECT_SYMBOL935));
        	        ADAPTOR->addChild(ADAPTOR, root_0, SELECT_SYMBOL935_tree);
        	        }

        	        // MySQL.g:1006:16: ( options {greedy=true; } : query_expression_option )*

        	        for (;;)
        	        {
        	            int alt334=2;
        	            switch ( LA(1) )
        	            {
        	            case SQL_BUFFER_RESULT_SYMBOL:
        	            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:
        	            	{
        	            		alt334=1;
        	            	}
        	                break;

        	            }

        	            switch (alt334)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1006:46: query_expression_option
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_query_expression_option_in_join_query_specification5186);
        	        	        query_expression_option936=query_expression_option(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulejoin_query_specificationEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, query_expression_option936.tree);

        	        	    }
        	        	    break;

        	        	default:
        	        	    goto loop334;	/* break out of the loop */
        	        	    break;
        	            }
        	        }
        	        loop334: ; /* Jump out to here if this rule does not match */


        	        FOLLOWPUSH(FOLLOW_select_item_list_in_join_query_specification5190);
        	        select_item_list937=select_item_list(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulejoin_query_specificationEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, select_item_list937.tree);

        	        // MySQL.g:1006:89: ( select_from )?
        	        {
        	            int alt335=2;
        	            switch ( LA(1) )
        	            {
        	                case FROM_SYMBOL:
        	                	{
        	                		alt335=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt335)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1006:89: select_from
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_select_from_in_join_query_specification5192);
        	        	        select_from938=select_from(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulejoin_query_specificationEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, select_from938.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	        // MySQL.g:1006:102: ( select_lock_type )?
        	        {
        	            int alt336=2;
        	            switch ( LA(1) )
        	            {
        	                case FOR_SYMBOL:
        	                case LOCK_SYMBOL:
        	                	{
        	                		alt336=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt336)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1006:102: select_lock_type
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_select_lock_type_in_join_query_specification5195);
        	        	        select_lock_type939=select_lock_type(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulejoin_query_specificationEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, select_lock_type939.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:1007:4: OPEN_PAR_SYMBOL join_query_specification CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        OPEN_PAR_SYMBOL940 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_join_query_specification5201);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulejoin_query_specificationEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL940_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL940));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL940_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_join_query_specification_in_join_query_specification5203);
        	        join_query_specification941=join_query_specification(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulejoin_query_specificationEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, join_query_specification941.tree);

        	        CLOSE_PAR_SYMBOL942 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_join_query_specification5205);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulejoin_query_specificationEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL942_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL942));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL942_tree);
        	        }

        	    }
        	    break;

            }
        }
    }

    // This is where rules clean up and exit
    //
    goto rulejoin_query_specificationEx; /* Prevent compiler warnings */
    rulejoin_query_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 join_query_specification */

/**
 * $ANTLR start table_factor_table
 * MySQL.g:1010:1: table_factor_table : table_identifier ( use_partition )? ( table_alias )? ( index_hint_list )? ;
 */
static MySQLParser_table_factor_table_return
table_factor_table(pMySQLParser ctx)
{
    MySQLParser_table_factor_table_return retval;


    pANTLR3_BASE_TREE root_0;

    MySQLParser_table_identifier_return table_identifier943;
    #undef	RETURN_TYPE_table_identifier943
    #define	RETURN_TYPE_table_identifier943 MySQLParser_table_identifier_return

    MySQLParser_use_partition_return use_partition944;
    #undef	RETURN_TYPE_use_partition944
    #define	RETURN_TYPE_use_partition944 MySQLParser_use_partition_return

    MySQLParser_table_alias_return table_alias945;
    #undef	RETURN_TYPE_table_alias945
    #define	RETURN_TYPE_table_alias945 MySQLParser_table_alias_return

    MySQLParser_index_hint_list_return index_hint_list946;
    #undef	RETURN_TYPE_index_hint_list946
    #define	RETURN_TYPE_index_hint_list946 MySQLParser_index_hint_list_return


    /* Initialize rule variables
     */

    root_0 = NULL;

    table_identifier943.tree = NULL;

    use_partition944.tree = NULL;

    table_alias945.tree = NULL;

    index_hint_list946.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;




    retval.tree  = NULL;

    {
        // MySQL.g:1010:19: ( table_identifier ( use_partition )? ( table_alias )? ( index_hint_list )? )
        // MySQL.g:1011:2: table_identifier ( use_partition )? ( table_alias )? ( index_hint_list )?
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            FOLLOWPUSH(FOLLOW_table_identifier_in_table_factor_table5214);
            table_identifier943=table_identifier(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruletable_factor_tableEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, table_identifier943.tree);

            // MySQL.g:1011:19: ( use_partition )?
            {
                int alt338=2;
                switch ( LA(1) )
                {
                    case PARTITION_SYMBOL:
                    	{
                    		{
                    		    int LA338_1 = LA(2);
                    		    if ( ((SERVER_VERSION >= 50602)) && (LA338_1 == OPEN_PAR_SYMBOL))
                    		    {
                    		        alt338=1;
                    		    }
                    		}
                    	}
                        break;
                }

                switch (alt338)
                {
            	case 1:
            	    // MySQL.g:1011:19: use_partition
            	    {
            	        FOLLOWPUSH(FOLLOW_use_partition_in_table_factor_table5216);
            	        use_partition944=use_partition(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruletable_factor_tableEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, use_partition944.tree);

            	    }
            	    break;

                }
            }

            // MySQL.g:1011:34: ( table_alias )?
            {
                int alt339=2;
                {
                    int LA339_0 = LA(1);
                    if ( (LA339_0 == AS_SYMBOL || LA339_0 == BACK_TICK_QUOTED_ID || LA339_0 == EQUAL_OPERATOR || LA339_0 == IDENTIFIER))
                    {
                        alt339=1;
                    }
                    else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA339_0 == DOUBLE_QUOTED_TEXT))
                    {
                        alt339=1;
                    }
                    else if ( (((LA339_0 >= ACTION_SYMBOL) && (LA339_0 <= PARTITION_SYMBOL))))
                    {
                        alt339=1;
                    }
                }
                switch (alt339)
                {
            	case 1:
            	    // MySQL.g:1011:34: table_alias
            	    {
            	        FOLLOWPUSH(FOLLOW_table_alias_in_table_factor_table5219);
            	        table_alias945=table_alias(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruletable_factor_tableEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, table_alias945.tree);

            	    }
            	    break;

                }
            }

            // MySQL.g:1011:47: ( index_hint_list )?
            {
                int alt340=2;
                switch ( LA(1) )
                {
                    case FORCE_SYMBOL:
                    case IGNORE_SYMBOL:
                    case USE_SYMBOL:
                    	{
                    		alt340=1;
                    	}
                        break;
                }

                switch (alt340)
                {
            	case 1:
            	    // MySQL.g:1011:47: index_hint_list
            	    {
            	        FOLLOWPUSH(FOLLOW_index_hint_list_in_table_factor_table5222);
            	        index_hint_list946=index_hint_list(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruletable_factor_tableEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, index_hint_list946.tree);

            	    }
            	    break;

                }
            }

        }

    }

    // This is where rules clean up and exit
    //
    goto ruletable_factor_tableEx; /* Prevent compiler warnings */
    ruletable_factor_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 table_factor_table */

/**
 * $ANTLR start join_table
 * MySQL.g:1014: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    set947;
    pANTLR3_COMMON_TOKEN    JOIN_SYMBOL948;
    pANTLR3_COMMON_TOKEN    STRAIGHT_JOIN_SYMBOL951;
    pANTLR3_COMMON_TOKEN    ON_SYMBOL953;
    pANTLR3_COMMON_TOKEN    set955;
    pANTLR3_COMMON_TOKEN    OUTER_SYMBOL956;
    pANTLR3_COMMON_TOKEN    JOIN_SYMBOL957;
    pANTLR3_COMMON_TOKEN    NATURAL_SYMBOL960;
    pANTLR3_COMMON_TOKEN    set961;
    pANTLR3_COMMON_TOKEN    OUTER_SYMBOL962;
    pANTLR3_COMMON_TOKEN    JOIN_SYMBOL963;
    MySQLParser_table_reference_return table_reference949;
    #undef	RETURN_TYPE_table_reference949
    #define	RETURN_TYPE_table_reference949 MySQLParser_table_reference_return

    MySQLParser_join_condition_return join_condition950;
    #undef	RETURN_TYPE_join_condition950
    #define	RETURN_TYPE_join_condition950 MySQLParser_join_condition_return

    MySQLParser_table_factor_return table_factor952;
    #undef	RETURN_TYPE_table_factor952
    #define	RETURN_TYPE_table_factor952 MySQLParser_table_factor_return

    MySQLParser_expression_return expression954;
    #undef	RETURN_TYPE_expression954
    #define	RETURN_TYPE_expression954 MySQLParser_expression_return

    MySQLParser_table_reference_return table_reference958;
    #undef	RETURN_TYPE_table_reference958
    #define	RETURN_TYPE_table_reference958 MySQLParser_table_reference_return

    MySQLParser_join_condition_return join_condition959;
    #undef	RETURN_TYPE_join_condition959
    #define	RETURN_TYPE_join_condition959 MySQLParser_join_condition_return

    MySQLParser_table_factor_return table_factor964;
    #undef	RETURN_TYPE_table_factor964
    #define	RETURN_TYPE_table_factor964 MySQLParser_table_factor_return

    pANTLR3_BASE_TREE set947_tree;
    pANTLR3_BASE_TREE JOIN_SYMBOL948_tree;
    pANTLR3_BASE_TREE STRAIGHT_JOIN_SYMBOL951_tree;
    pANTLR3_BASE_TREE ON_SYMBOL953_tree;
    pANTLR3_BASE_TREE set955_tree;
    pANTLR3_BASE_TREE OUTER_SYMBOL956_tree;
    pANTLR3_BASE_TREE JOIN_SYMBOL957_tree;
    pANTLR3_BASE_TREE NATURAL_SYMBOL960_tree;
    pANTLR3_BASE_TREE set961_tree;
    pANTLR3_BASE_TREE OUTER_SYMBOL962_tree;
    pANTLR3_BASE_TREE JOIN_SYMBOL963_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    set947       = NULL;
    JOIN_SYMBOL948       = NULL;
    STRAIGHT_JOIN_SYMBOL951       = NULL;
    ON_SYMBOL953       = NULL;
    set955       = NULL;
    OUTER_SYMBOL956       = NULL;
    JOIN_SYMBOL957       = NULL;
    NATURAL_SYMBOL960       = NULL;
    set961       = NULL;
    OUTER_SYMBOL962       = NULL;
    JOIN_SYMBOL963       = NULL;
    table_reference949.tree = NULL;

    join_condition950.tree = NULL;

    table_factor952.tree = NULL;

    expression954.tree = NULL;

    table_reference958.tree = NULL;

    join_condition959.tree = NULL;

    table_factor964.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    set947_tree   = NULL;
    JOIN_SYMBOL948_tree   = NULL;
    STRAIGHT_JOIN_SYMBOL951_tree   = NULL;
    ON_SYMBOL953_tree   = NULL;
    set955_tree   = NULL;
    OUTER_SYMBOL956_tree   = NULL;
    JOIN_SYMBOL957_tree   = NULL;
    NATURAL_SYMBOL960_tree   = NULL;
    set961_tree   = NULL;
    OUTER_SYMBOL962_tree   = NULL;
    JOIN_SYMBOL963_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:1014: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 alt347;

            alt347=4;

            switch ( LA(1) )
            {
            case CROSS_SYMBOL:
            case INNER_SYMBOL:
            case JOIN_SYMBOL:
            	{
            		alt347=1;
            	}
                break;
            case STRAIGHT_JOIN_SYMBOL:
            	{
            		alt347=2;
            	}
                break;
            case LEFT_SYMBOL:
            case RIGHT_SYMBOL:
            	{
            		alt347=3;
            	}
                break;
            case NATURAL_SYMBOL:
            	{
            		alt347=4;
            	}
                break;

            default:
                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 rulejoin_tableEx;

            }

            switch (alt347)
            {
        	case 1:
        	    // MySQL.g:1015:2: ( INNER_SYMBOL | CROSS_SYMBOL )? JOIN_SYMBOL table_reference ( options {greedy=true; } : join_condition )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        // MySQL.g:1015:2: ( INNER_SYMBOL | CROSS_SYMBOL )?
        	        {
        	            int alt341=2;
        	            switch ( LA(1) )
        	            {
        	                case CROSS_SYMBOL:
        	                case INNER_SYMBOL:
        	                	{
        	                		alt341=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt341)
        	            {
        	        	case 1:
        	        	    // MySQL.g:
        	        	    {
        	        	        set947=(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, set947))
        	        	            );
        	        	            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_SYMBOL948 = (pANTLR3_COMMON_TOKEN) MATCHT(JOIN_SYMBOL, &FOLLOW_JOIN_SYMBOL_in_join_table5241);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulejoin_tableEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        JOIN_SYMBOL948_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, JOIN_SYMBOL948));
        	        ADAPTOR->addChild(ADAPTOR, root_0, JOIN_SYMBOL948_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_table_reference_in_join_table5243);
        	        table_reference949=table_reference(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulejoin_tableEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, table_reference949.tree);

        	        // MySQL.g:1015:61: ( options {greedy=true; } : join_condition )?
        	        {
        	            int alt342=2;
        	            switch ( LA(1) )
        	            {
        	                case ON_SYMBOL:
        	                	{
        	                		alt342=1;
        	                	}
        	                    break;
        	                case USING_SYMBOL:
        	                	{
        	                		alt342=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt342)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1015:89: join_condition
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_join_condition_in_join_table5257);
        	        	        join_condition950=join_condition(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulejoin_tableEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, join_condition950.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:1016:4: STRAIGHT_JOIN_SYMBOL table_factor ( options {greedy=true; } : ON_SYMBOL expression )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        STRAIGHT_JOIN_SYMBOL951 = (pANTLR3_COMMON_TOKEN) MATCHT(STRAIGHT_JOIN_SYMBOL, &FOLLOW_STRAIGHT_JOIN_SYMBOL_in_join_table5264);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulejoin_tableEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        STRAIGHT_JOIN_SYMBOL951_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, STRAIGHT_JOIN_SYMBOL951));
        	        ADAPTOR->addChild(ADAPTOR, root_0, STRAIGHT_JOIN_SYMBOL951_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_table_factor_in_join_table5266);
        	        table_factor952=table_factor(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulejoin_tableEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, table_factor952.tree);

        	        // MySQL.g:1016:38: ( options {greedy=true; } : ON_SYMBOL expression )?
        	        {
        	            int alt343=2;
        	            switch ( LA(1) )
        	            {
        	                case ON_SYMBOL:
        	                	{
        	                		alt343=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt343)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1016:66: ON_SYMBOL expression
        	        	    {
        	        	        ON_SYMBOL953 = (pANTLR3_COMMON_TOKEN) MATCHT(ON_SYMBOL, &FOLLOW_ON_SYMBOL_in_join_table5280);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulejoin_tableEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        ON_SYMBOL953_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ON_SYMBOL953));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, ON_SYMBOL953_tree);
        	        	        }

        	        	        FOLLOWPUSH(FOLLOW_expression_in_join_table5282);
        	        	        expression954=expression(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulejoin_tableEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression954.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 3:
        	    // MySQL.g:1017:4: ( LEFT_SYMBOL | RIGHT_SYMBOL ) ( OUTER_SYMBOL )? JOIN_SYMBOL table_reference join_condition
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        set955=(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, set955))
        	            );
        	            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:1017:33: ( OUTER_SYMBOL )?
        	        {
        	            int alt344=2;
        	            switch ( LA(1) )
        	            {
        	                case OUTER_SYMBOL:
        	                	{
        	                		alt344=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt344)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1017:33: OUTER_SYMBOL
        	        	    {
        	        	        OUTER_SYMBOL956 = (pANTLR3_COMMON_TOKEN) MATCHT(OUTER_SYMBOL, &FOLLOW_OUTER_SYMBOL_in_join_table5297);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulejoin_tableEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        OUTER_SYMBOL956_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OUTER_SYMBOL956));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, OUTER_SYMBOL956_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	        JOIN_SYMBOL957 = (pANTLR3_COMMON_TOKEN) MATCHT(JOIN_SYMBOL, &FOLLOW_JOIN_SYMBOL_in_join_table5300);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulejoin_tableEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        JOIN_SYMBOL957_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, JOIN_SYMBOL957));
        	        ADAPTOR->addChild(ADAPTOR, root_0, JOIN_SYMBOL957_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_table_reference_in_join_table5302);
        	        table_reference958=table_reference(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulejoin_tableEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, table_reference958.tree);

        	        FOLLOWPUSH(FOLLOW_join_condition_in_join_table5304);
        	        join_condition959=join_condition(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulejoin_tableEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, join_condition959.tree);

        	    }
        	    break;
        	case 4:
        	    // MySQL.g:1018:4: NATURAL_SYMBOL ( ( LEFT_SYMBOL | RIGHT_SYMBOL ) ( OUTER_SYMBOL )? )? JOIN_SYMBOL table_factor
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        NATURAL_SYMBOL960 = (pANTLR3_COMMON_TOKEN) MATCHT(NATURAL_SYMBOL, &FOLLOW_NATURAL_SYMBOL_in_join_table5309);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulejoin_tableEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        NATURAL_SYMBOL960_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, NATURAL_SYMBOL960));
        	        ADAPTOR->addChild(ADAPTOR, root_0, NATURAL_SYMBOL960_tree);
        	        }

        	        // MySQL.g:1018:19: ( ( LEFT_SYMBOL | RIGHT_SYMBOL ) ( OUTER_SYMBOL )? )?
        	        {
        	            int alt346=2;
        	            switch ( LA(1) )
        	            {
        	                case LEFT_SYMBOL:
        	                case RIGHT_SYMBOL:
        	                	{
        	                		alt346=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt346)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1018:20: ( LEFT_SYMBOL | RIGHT_SYMBOL ) ( OUTER_SYMBOL )?
        	        	    {
        	        	        set961=(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, set961))
        	        	            );
        	        	            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:1018:49: ( OUTER_SYMBOL )?
        	        	        {
        	        	            int alt345=2;
        	        	            switch ( LA(1) )
        	        	            {
        	        	                case OUTER_SYMBOL:
        	        	                	{
        	        	                		alt345=1;
        	        	                	}
        	        	                    break;
        	        	            }

        	        	            switch (alt345)
        	        	            {
        	        	        	case 1:
        	        	        	    // MySQL.g:1018:49: OUTER_SYMBOL
        	        	        	    {
        	        	        	        OUTER_SYMBOL962 = (pANTLR3_COMMON_TOKEN) MATCHT(OUTER_SYMBOL, &FOLLOW_OUTER_SYMBOL_in_join_table5320);
        	        	        	        if  (HASEXCEPTION())
        	        	        	        {
        	        	        	            goto rulejoin_tableEx;
        	        	        	        }
        	        	        	        if (HASFAILED())
        	        	        	        {
        	        	        	            return retval;
        	        	        	        }

        	        	        	        if ( BACKTRACKING==0 ) {
        	        	        	        OUTER_SYMBOL962_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OUTER_SYMBOL962));
        	        	        	        ADAPTOR->addChild(ADAPTOR, root_0, OUTER_SYMBOL962_tree);
        	        	        	        }

        	        	        	    }
        	        	        	    break;

        	        	            }
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	        JOIN_SYMBOL963 = (pANTLR3_COMMON_TOKEN) MATCHT(JOIN_SYMBOL, &FOLLOW_JOIN_SYMBOL_in_join_table5325);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulejoin_tableEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        JOIN_SYMBOL963_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, JOIN_SYMBOL963));
        	        ADAPTOR->addChild(ADAPTOR, root_0, JOIN_SYMBOL963_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_table_factor_in_join_table5327);
        	        table_factor964=table_factor(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulejoin_tableEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, table_factor964.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:1021: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_SYMBOL965;
    pANTLR3_COMMON_TOKEN    USING_SYMBOL967;
    MySQLParser_expression_return expression966;
    #undef	RETURN_TYPE_expression966
    #define	RETURN_TYPE_expression966 MySQLParser_expression_return

    MySQLParser_identifier_list_with_parentheses_return identifier_list_with_parentheses968;
    #undef	RETURN_TYPE_identifier_list_with_parentheses968
    #define	RETURN_TYPE_identifier_list_with_parentheses968 MySQLParser_identifier_list_with_parentheses_return

    pANTLR3_BASE_TREE ON_SYMBOL965_tree;
    pANTLR3_BASE_TREE USING_SYMBOL967_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    ON_SYMBOL965       = NULL;
    USING_SYMBOL967       = NULL;
    expression966.tree = NULL;

    identifier_list_with_parentheses968.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    ON_SYMBOL965_tree   = NULL;
    USING_SYMBOL967_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:1021:15: ( ON_SYMBOL expression | USING_SYMBOL identifier_list_with_parentheses )

            ANTLR3_UINT32 alt348;

            alt348=2;

            switch ( LA(1) )
            {
            case ON_SYMBOL:
            	{
            		alt348=1;
            	}
                break;
            case USING_SYMBOL:
            	{
            		alt348=2;
            	}
                break;

            default:
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                EXCEPTION->message      = (void *)"";
                EXCEPTION->decisionNum  = 348;
                EXCEPTION->state        = 0;


                goto rulejoin_conditionEx;

            }

            switch (alt348)
            {
        	case 1:
        	    // MySQL.g:1022:2: ON_SYMBOL expression
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        ON_SYMBOL965 = (pANTLR3_COMMON_TOKEN) MATCHT(ON_SYMBOL, &FOLLOW_ON_SYMBOL_in_join_condition5336);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulejoin_conditionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        ON_SYMBOL965_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ON_SYMBOL965));
        	        ADAPTOR->addChild(ADAPTOR, root_0, ON_SYMBOL965_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_join_condition5338);
        	        expression966=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulejoin_conditionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression966.tree);

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:1023:4: USING_SYMBOL identifier_list_with_parentheses
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        USING_SYMBOL967 = (pANTLR3_COMMON_TOKEN) MATCHT(USING_SYMBOL, &FOLLOW_USING_SYMBOL_in_join_condition5343);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulejoin_conditionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        USING_SYMBOL967_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, USING_SYMBOL967));
        	        ADAPTOR->addChild(ADAPTOR, root_0, USING_SYMBOL967_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_identifier_list_with_parentheses_in_join_condition5345);
        	        identifier_list_with_parentheses968=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_parentheses968.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:1026: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_SYMBOL969;
    MySQLParser_union_option_return union_option970;
    #undef	RETURN_TYPE_union_option970
    #define	RETURN_TYPE_union_option970 MySQLParser_union_option_return

    MySQLParser_select_statement_return select_statement971;
    #undef	RETURN_TYPE_select_statement971
    #define	RETURN_TYPE_select_statement971 MySQLParser_select_statement_return

    pANTLR3_BASE_TREE UNION_SYMBOL969_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    UNION_SYMBOL969       = NULL;
    union_option970.tree = NULL;

    select_statement971.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    UNION_SYMBOL969_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1026:13: ( UNION_SYMBOL ^ ( union_option )? select_statement )
        // MySQL.g:1027:3: UNION_SYMBOL ^ ( union_option )? select_statement
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            UNION_SYMBOL969 = (pANTLR3_COMMON_TOKEN) MATCHT(UNION_SYMBOL, &FOLLOW_UNION_SYMBOL_in_union_clause5355);
            if  (HASEXCEPTION())
            {
                goto ruleunion_clauseEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            UNION_SYMBOL969_tree = 
            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, UNION_SYMBOL969))
            ;
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, UNION_SYMBOL969_tree, root_0));
            }

            // MySQL.g:1027:17: ( union_option )?
            {
                int alt349=2;
                switch ( LA(1) )
                {
                    case ALL_SYMBOL:
                    case DISTINCT_SYMBOL:
                    	{
                    		alt349=1;
                    	}
                        break;
                }

                switch (alt349)
                {
            	case 1:
            	    // MySQL.g:1027:17: union_option
            	    {
            	        FOLLOWPUSH(FOLLOW_union_option_in_union_clause5358);
            	        union_option970=union_option(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleunion_clauseEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, union_option970.tree);

            	    }
            	    break;

                }
            }

            FOLLOWPUSH(FOLLOW_select_statement_in_union_clause5361);
            select_statement971=select_statement(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruleunion_clauseEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, select_statement971.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:1030: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    set972;

    pANTLR3_BASE_TREE set972_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    set972       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    set972_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1030:13: ( DISTINCT_SYMBOL | ALL_SYMBOL )
        // MySQL.g:
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            set972=(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, set972))
                );
                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:1035:1: union_or_order_by_or_limit : ( union_clause | order_by_clause ( limit_clause )? | limit_clause );
 */
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_clause973;
    #undef	RETURN_TYPE_union_clause973
    #define	RETURN_TYPE_union_clause973 MySQLParser_union_clause_return

    MySQLParser_order_by_clause_return order_by_clause974;
    #undef	RETURN_TYPE_order_by_clause974
    #define	RETURN_TYPE_order_by_clause974 MySQLParser_order_by_clause_return

    MySQLParser_limit_clause_return limit_clause975;
    #undef	RETURN_TYPE_limit_clause975
    #define	RETURN_TYPE_limit_clause975 MySQLParser_limit_clause_return

    MySQLParser_limit_clause_return limit_clause976;
    #undef	RETURN_TYPE_limit_clause976
    #define	RETURN_TYPE_limit_clause976 MySQLParser_limit_clause_return


    /* Initialize rule variables
     */

    root_0 = NULL;

    union_clause973.tree = NULL;

    order_by_clause974.tree = NULL;

    limit_clause975.tree = NULL;

    limit_clause976.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;




    retval.tree  = NULL;

    {
        {
            //  MySQL.g:1035:27: ( union_clause | order_by_clause ( limit_clause )? | limit_clause )

            ANTLR3_UINT32 alt351;

            alt351=3;

            switch ( LA(1) )
            {
            case UNION_SYMBOL:
            	{
            		alt351=1;
            	}
                break;
            case ORDER_SYMBOL:
            	{
            		alt351=2;
            	}
                break;
            case LIMIT_SYMBOL:
            	{
            		alt351=3;
            	}
                break;

            default:
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                EXCEPTION->message      = (void *)"";
                EXCEPTION->decisionNum  = 351;
                EXCEPTION->state        = 0;


                goto ruleunion_or_order_by_or_limitEx;

            }

            switch (alt351)
            {
        	case 1:
        	    // MySQL.g:1036:2: union_clause
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_union_clause_in_union_or_order_by_or_limit5385);
        	        union_clause973=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_clause973.tree);

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:1037:4: order_by_clause ( limit_clause )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_order_by_clause_in_union_or_order_by_or_limit5390);
        	        order_by_clause974=order_by_clause(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_clause974.tree);

        	        // MySQL.g:1037:20: ( limit_clause )?
        	        {
        	            int alt350=2;
        	            switch ( LA(1) )
        	            {
        	                case LIMIT_SYMBOL:
        	                	{
        	                		alt350=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt350)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1037:20: limit_clause
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_limit_clause_in_union_or_order_by_or_limit5392);
        	        	        limit_clause975=limit_clause(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleunion_or_order_by_or_limitEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, limit_clause975.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 3:
        	    // MySQL.g:1038:4: limit_clause
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_limit_clause_in_union_or_order_by_or_limit5398);
        	        limit_clause976=limit_clause(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleunion_or_order_by_or_limitEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, limit_clause976.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:1041: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_SYMBOL977;
    pANTLR3_COMMON_TOKEN    UPDATE_SYMBOL978;
    pANTLR3_COMMON_TOKEN    LOCK_SYMBOL979;
    pANTLR3_COMMON_TOKEN    IN_SYMBOL980;
    pANTLR3_COMMON_TOKEN    SHARE_SYMBOL981;
    pANTLR3_COMMON_TOKEN    MODE_SYMBOL982;

    pANTLR3_BASE_TREE FOR_SYMBOL977_tree;
    pANTLR3_BASE_TREE UPDATE_SYMBOL978_tree;
    pANTLR3_BASE_TREE LOCK_SYMBOL979_tree;
    pANTLR3_BASE_TREE IN_SYMBOL980_tree;
    pANTLR3_BASE_TREE SHARE_SYMBOL981_tree;
    pANTLR3_BASE_TREE MODE_SYMBOL982_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    FOR_SYMBOL977       = NULL;
    UPDATE_SYMBOL978       = NULL;
    LOCK_SYMBOL979       = NULL;
    IN_SYMBOL980       = NULL;
    SHARE_SYMBOL981       = NULL;
    MODE_SYMBOL982       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    FOR_SYMBOL977_tree   = NULL;
    UPDATE_SYMBOL978_tree   = NULL;
    LOCK_SYMBOL979_tree   = NULL;
    IN_SYMBOL980_tree   = NULL;
    SHARE_SYMBOL981_tree   = NULL;
    MODE_SYMBOL982_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:1041:17: ( FOR_SYMBOL UPDATE_SYMBOL | LOCK_SYMBOL IN_SYMBOL SHARE_SYMBOL MODE_SYMBOL )

            ANTLR3_UINT32 alt352;

            alt352=2;

            switch ( LA(1) )
            {
            case FOR_SYMBOL:
            	{
            		alt352=1;
            	}
                break;
            case LOCK_SYMBOL:
            	{
            		alt352=2;
            	}
                break;

            default:
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                EXCEPTION->message      = (void *)"";
                EXCEPTION->decisionNum  = 352;
                EXCEPTION->state        = 0;


                goto ruleselect_lock_typeEx;

            }

            switch (alt352)
            {
        	case 1:
        	    // MySQL.g:1042:2: FOR_SYMBOL UPDATE_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOR_SYMBOL977 = (pANTLR3_COMMON_TOKEN) MATCHT(FOR_SYMBOL, &FOLLOW_FOR_SYMBOL_in_select_lock_type5407);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleselect_lock_typeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        FOR_SYMBOL977_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, FOR_SYMBOL977));
        	        ADAPTOR->addChild(ADAPTOR, root_0, FOR_SYMBOL977_tree);
        	        }

        	        UPDATE_SYMBOL978 = (pANTLR3_COMMON_TOKEN) MATCHT(UPDATE_SYMBOL, &FOLLOW_UPDATE_SYMBOL_in_select_lock_type5409);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleselect_lock_typeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        UPDATE_SYMBOL978_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, UPDATE_SYMBOL978));
        	        ADAPTOR->addChild(ADAPTOR, root_0, UPDATE_SYMBOL978_tree);
        	        }

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:1043:4: LOCK_SYMBOL IN_SYMBOL SHARE_SYMBOL MODE_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        LOCK_SYMBOL979 = (pANTLR3_COMMON_TOKEN) MATCHT(LOCK_SYMBOL, &FOLLOW_LOCK_SYMBOL_in_select_lock_type5414);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleselect_lock_typeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        LOCK_SYMBOL979_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, LOCK_SYMBOL979));
        	        ADAPTOR->addChild(ADAPTOR, root_0, LOCK_SYMBOL979_tree);
        	        }

        	        IN_SYMBOL980 = (pANTLR3_COMMON_TOKEN) MATCHT(IN_SYMBOL, &FOLLOW_IN_SYMBOL_in_select_lock_type5416);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleselect_lock_typeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        IN_SYMBOL980_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, IN_SYMBOL980));
        	        ADAPTOR->addChild(ADAPTOR, root_0, IN_SYMBOL980_tree);
        	        }

        	        SHARE_SYMBOL981 = (pANTLR3_COMMON_TOKEN) MATCHT(SHARE_SYMBOL, &FOLLOW_SHARE_SYMBOL_in_select_lock_type5418);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleselect_lock_typeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        SHARE_SYMBOL981_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SHARE_SYMBOL981));
        	        ADAPTOR->addChild(ADAPTOR, root_0, SHARE_SYMBOL981_tree);
        	        }

        	        MODE_SYMBOL982 = (pANTLR3_COMMON_TOKEN) MATCHT(MODE_SYMBOL, &FOLLOW_MODE_SYMBOL_in_select_lock_type5420);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleselect_lock_typeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        MODE_SYMBOL982_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MODE_SYMBOL982));
        	        ADAPTOR->addChild(ADAPTOR, root_0, MODE_SYMBOL982_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:1046: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    set983;
    MySQLParser_identifier_return identifier984;
    #undef	RETURN_TYPE_identifier984
    #define	RETURN_TYPE_identifier984 MySQLParser_identifier_return

    pANTLR3_BASE_TREE set983_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    set983       = NULL;
    identifier984.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    set983_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1046:12: ( ( AS_SYMBOL | EQUAL_OPERATOR )? identifier )
        // MySQL.g:1047:2: ( AS_SYMBOL | EQUAL_OPERATOR )? identifier
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            // MySQL.g:1047:2: ( AS_SYMBOL | EQUAL_OPERATOR )?
            {
                int alt353=2;
                switch ( LA(1) )
                {
                    case AS_SYMBOL:
                    case EQUAL_OPERATOR:
                    	{
                    		alt353=1;
                    	}
                        break;
                }

                switch (alt353)
                {
            	case 1:
            	    // MySQL.g:
            	    {
            	        set983=(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, set983))
            	            );
            	            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_alias5438);
            identifier984=identifier(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruletable_aliasEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier984.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:1050:1: index_hint_list : index_hint ( COMMA_SYMBOL index_hint )* -> ^( INDEX_HINT_LIST 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_SYMBOL986;
    MySQLParser_index_hint_return index_hint985;
    #undef	RETURN_TYPE_index_hint985
    #define	RETURN_TYPE_index_hint985 MySQLParser_index_hint_return

    MySQLParser_index_hint_return index_hint987;
    #undef	RETURN_TYPE_index_hint987
    #define	RETURN_TYPE_index_hint987 MySQLParser_index_hint_return

    pANTLR3_BASE_TREE COMMA_SYMBOL986_tree;
    pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_COMMA_SYMBOL;
    pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_index_hint;
    /* Initialize rule variables
     */

    root_0 = NULL;

    COMMA_SYMBOL986       = NULL;
    index_hint985.tree = NULL;

    index_hint987.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    COMMA_SYMBOL986_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:1050:16: ( index_hint ( COMMA_SYMBOL index_hint )* -> ^( INDEX_HINT_LIST index_hint ( COMMA_SYMBOL index_hint )* ) )
        // MySQL.g:1051:2: index_hint ( COMMA_SYMBOL index_hint )*
        {
            FOLLOWPUSH(FOLLOW_index_hint_in_index_hint_list5447);
            index_hint985=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_hint985.tree, NULL); }

            // MySQL.g:1051:13: ( COMMA_SYMBOL index_hint )*

            for (;;)
            {
                int alt354=2;
                switch ( LA(1) )
                {
                case COMMA_SYMBOL:
                	{
                		switch ( LA(2) )
                		{
                		case FORCE_SYMBOL:
                		case IGNORE_SYMBOL:
                		case USE_SYMBOL:
                			{
                				alt354=1;
                			}
                		    break;

                		}

                	}
                    break;

                }

                switch (alt354)
                {
            	case 1:
            	    // MySQL.g:1051:14: COMMA_SYMBOL index_hint
            	    {
            	        COMMA_SYMBOL986 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_index_hint_list5450);
            	        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_SYMBOL986, NULL); }


            	        FOLLOWPUSH(FOLLOW_index_hint_in_index_hint_list5452);
            	        index_hint987=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_hint987.tree, NULL); }

            	    }
            	    break;

            	default:
            	    goto loop354;	/* break out of the loop */
            	    break;
                }
            }
            loop354: ; /* Jump out to here if this rule does not match */


            /* AST REWRITE
             * elements          : COMMA_SYMBOL, index_hint, index_hint
             * 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;
            	// 1051:40: -> ^( INDEX_HINT_LIST index_hint ( COMMA_SYMBOL index_hint )* )
            	{
            	    // MySQL.g:1051:43: ^( INDEX_HINT_LIST 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, (pANTLR3_UINT8)"INDEX_HINT_LIST")
            	        , root_1));

            	        ADAPTOR->addChild(ADAPTOR, root_1, stream_index_hint == NULL ? NULL : stream_index_hint->nextTree(stream_index_hint));

            	        // MySQL.g:1051:72: ( COMMA_SYMBOL index_hint )*
            	        {
            	        	while ( (stream_COMMA_SYMBOL != NULL && stream_COMMA_SYMBOL->hasNext(stream_COMMA_SYMBOL)) || (stream_index_hint != NULL && stream_index_hint->hasNext(stream_index_hint))  )
            	        	{
            	        		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_COMMA_SYMBOL != NULL) stream_COMMA_SYMBOL->reset(stream_COMMA_SYMBOL);
            	        	if (stream_index_hint != NULL) stream_index_hint->reset(stream_index_hint);

            	        }

            	        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:1054: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_SYMBOL991;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL993;
    pANTLR3_COMMON_TOKEN    USE_SYMBOL994;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL997;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL999;
    MySQLParser_index_hint_type_return index_hint_type988;
    #undef	RETURN_TYPE_index_hint_type988
    #define	RETURN_TYPE_index_hint_type988 MySQLParser_index_hint_type_return

    MySQLParser_key_or_index_return key_or_index989;
    #undef	RETURN_TYPE_key_or_index989
    #define	RETURN_TYPE_key_or_index989 MySQLParser_key_or_index_return

    MySQLParser_index_hint_clause_return index_hint_clause990;
    #undef	RETURN_TYPE_index_hint_clause990
    #define	RETURN_TYPE_index_hint_clause990 MySQLParser_index_hint_clause_return

    MySQLParser_index_list_return index_list992;
    #undef	RETURN_TYPE_index_list992
    #define	RETURN_TYPE_index_list992 MySQLParser_index_list_return

    MySQLParser_key_or_index_return key_or_index995;
    #undef	RETURN_TYPE_key_or_index995
    #define	RETURN_TYPE_key_or_index995 MySQLParser_key_or_index_return

    MySQLParser_index_hint_clause_return index_hint_clause996;
    #undef	RETURN_TYPE_index_hint_clause996
    #define	RETURN_TYPE_index_hint_clause996 MySQLParser_index_hint_clause_return

    MySQLParser_index_list_return index_list998;
    #undef	RETURN_TYPE_index_list998
    #define	RETURN_TYPE_index_list998 MySQLParser_index_list_return

    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL991_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL993_tree;
    pANTLR3_BASE_TREE USE_SYMBOL994_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL997_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL999_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    OPEN_PAR_SYMBOL991       = NULL;
    CLOSE_PAR_SYMBOL993       = NULL;
    USE_SYMBOL994       = NULL;
    OPEN_PAR_SYMBOL997       = NULL;
    CLOSE_PAR_SYMBOL999       = NULL;
    index_hint_type988.tree = NULL;

    key_or_index989.tree = NULL;

    index_hint_clause990.tree = NULL;

    index_list992.tree = NULL;

    key_or_index995.tree = NULL;

    index_hint_clause996.tree = NULL;

    index_list998.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    OPEN_PAR_SYMBOL991_tree   = NULL;
    CLOSE_PAR_SYMBOL993_tree   = NULL;
    USE_SYMBOL994_tree   = NULL;
    OPEN_PAR_SYMBOL997_tree   = NULL;
    CLOSE_PAR_SYMBOL999_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:1054: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 alt358;

            alt358=2;

            switch ( LA(1) )
            {
            case FORCE_SYMBOL:
            case IGNORE_SYMBOL:
            	{
            		alt358=1;
            	}
                break;
            case USE_SYMBOL:
            	{
            		alt358=2;
            	}
                break;

            default:
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                EXCEPTION->message      = (void *)"";
                EXCEPTION->decisionNum  = 358;
                EXCEPTION->state        = 0;


                goto ruleindex_hintEx;

            }

            switch (alt358)
            {
        	case 1:
        	    // MySQL.g:1055: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_hint5478);
        	        index_hint_type988=index_hint_type(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleindex_hintEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, index_hint_type988.tree);

        	        FOLLOWPUSH(FOLLOW_key_or_index_in_index_hint5480);
        	        key_or_index989=key_or_index(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleindex_hintEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, key_or_index989.tree);

        	        // MySQL.g:1055:31: ( index_hint_clause )?
        	        {
        	            int alt355=2;
        	            switch ( LA(1) )
        	            {
        	                case FOR_SYMBOL:
        	                	{
        	                		alt355=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt355)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1055:31: index_hint_clause
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_index_hint_clause_in_index_hint5482);
        	        	        index_hint_clause990=index_hint_clause(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleindex_hintEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, index_hint_clause990.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	        OPEN_PAR_SYMBOL991 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_index_hint5485);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleindex_hintEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL991_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL991));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL991_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_index_list_in_index_hint5487);
        	        index_list992=index_list(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleindex_hintEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, index_list992.tree);

        	        CLOSE_PAR_SYMBOL993 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_index_hint5489);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleindex_hintEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL993_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL993));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL993_tree);
        	        }

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:1056: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_SYMBOL994 = (pANTLR3_COMMON_TOKEN) MATCHT(USE_SYMBOL, &FOLLOW_USE_SYMBOL_in_index_hint5494);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleindex_hintEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        USE_SYMBOL994_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, USE_SYMBOL994));
        	        ADAPTOR->addChild(ADAPTOR, root_0, USE_SYMBOL994_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_key_or_index_in_index_hint5496);
        	        key_or_index995=key_or_index(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleindex_hintEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, key_or_index995.tree);

        	        // MySQL.g:1056:28: ( index_hint_clause )?
        	        {
        	            int alt356=2;
        	            switch ( LA(1) )
        	            {
        	                case FOR_SYMBOL:
        	                	{
        	                		alt356=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt356)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1056:28: index_hint_clause
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_index_hint_clause_in_index_hint5498);
        	        	        index_hint_clause996=index_hint_clause(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleindex_hintEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, index_hint_clause996.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	        OPEN_PAR_SYMBOL997 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_index_hint5501);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleindex_hintEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL997_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL997));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL997_tree);
        	        }

        	        // MySQL.g:1056:63: ( index_list )?
        	        {
        	            int alt357=2;
        	            {
        	                int LA357_0 = LA(1);
        	                if ( (LA357_0 == BACK_TICK_QUOTED_ID || LA357_0 == IDENTIFIER))
        	                {
        	                    alt357=1;
        	                }
        	                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA357_0 == DOUBLE_QUOTED_TEXT))
        	                {
        	                    alt357=1;
        	                }
        	                else if ( (((LA357_0 >= ACTION_SYMBOL) && (LA357_0 <= PARTITION_SYMBOL)) || LA357_0 == PRIMARY_SYMBOL))
        	                {
        	                    alt357=1;
        	                }
        	            }
        	            switch (alt357)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1056:63: index_list
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_index_list_in_index_hint5503);
        	        	        index_list998=index_list(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleindex_hintEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, index_list998.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	        CLOSE_PAR_SYMBOL999 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_index_hint5506);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleindex_hintEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL999_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL999));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL999_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:1058: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    set1000;

    pANTLR3_BASE_TREE set1000_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    set1000       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    set1000_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1058:16: ( FORCE_SYMBOL | IGNORE_SYMBOL )
        // MySQL.g:
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            set1000=(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, set1000))
                );
                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:1063: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    set1001;

    pANTLR3_BASE_TREE set1001_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    set1001       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    set1001_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1063:13: ( KEY_SYMBOL | INDEX_SYMBOL )
        // MySQL.g:
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            set1001=(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, set1001))
                );
                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:1068: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_SYMBOL1002;
    pANTLR3_COMMON_TOKEN    JOIN_SYMBOL1003;
    pANTLR3_COMMON_TOKEN    ORDER_SYMBOL1004;
    pANTLR3_COMMON_TOKEN    BY_SYMBOL1005;
    pANTLR3_COMMON_TOKEN    GROUP_SYMBOL1006;
    pANTLR3_COMMON_TOKEN    BY_SYMBOL1007;

    pANTLR3_BASE_TREE FOR_SYMBOL1002_tree;
    pANTLR3_BASE_TREE JOIN_SYMBOL1003_tree;
    pANTLR3_BASE_TREE ORDER_SYMBOL1004_tree;
    pANTLR3_BASE_TREE BY_SYMBOL1005_tree;
    pANTLR3_BASE_TREE GROUP_SYMBOL1006_tree;
    pANTLR3_BASE_TREE BY_SYMBOL1007_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    FOR_SYMBOL1002       = NULL;
    JOIN_SYMBOL1003       = NULL;
    ORDER_SYMBOL1004       = NULL;
    BY_SYMBOL1005       = NULL;
    GROUP_SYMBOL1006       = NULL;
    BY_SYMBOL1007       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    FOR_SYMBOL1002_tree   = NULL;
    JOIN_SYMBOL1003_tree   = NULL;
    ORDER_SYMBOL1004_tree   = NULL;
    BY_SYMBOL1005_tree   = NULL;
    GROUP_SYMBOL1006_tree   = NULL;
    BY_SYMBOL1007_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1068:18: ( FOR_SYMBOL ( JOIN_SYMBOL | ORDER_SYMBOL BY_SYMBOL | GROUP_SYMBOL BY_SYMBOL ) )
        // MySQL.g:1069:2: FOR_SYMBOL ( JOIN_SYMBOL | ORDER_SYMBOL BY_SYMBOL | GROUP_SYMBOL BY_SYMBOL )
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            FOR_SYMBOL1002 = (pANTLR3_COMMON_TOKEN) MATCHT(FOR_SYMBOL, &FOLLOW_FOR_SYMBOL_in_index_hint_clause5542);
            if  (HASEXCEPTION())
            {
                goto ruleindex_hint_clauseEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            FOR_SYMBOL1002_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, FOR_SYMBOL1002));
            ADAPTOR->addChild(ADAPTOR, root_0, FOR_SYMBOL1002_tree);
            }

            // MySQL.g:1069:13: ( JOIN_SYMBOL | ORDER_SYMBOL BY_SYMBOL | GROUP_SYMBOL BY_SYMBOL )
            {
                int alt359=3;
                switch ( LA(1) )
                {
                case JOIN_SYMBOL:
                	{
                		alt359=1;
                	}
                    break;
                case ORDER_SYMBOL:
                	{
                		alt359=2;
                	}
                    break;
                case GROUP_SYMBOL:
                	{
                		alt359=3;
                	}
                    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 ruleindex_hint_clauseEx;

                }

                switch (alt359)
                {
            	case 1:
            	    // MySQL.g:1069:14: JOIN_SYMBOL
            	    {
            	        JOIN_SYMBOL1003 = (pANTLR3_COMMON_TOKEN) MATCHT(JOIN_SYMBOL, &FOLLOW_JOIN_SYMBOL_in_index_hint_clause5545);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleindex_hint_clauseEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        JOIN_SYMBOL1003_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, JOIN_SYMBOL1003));
            	        ADAPTOR->addChild(ADAPTOR, root_0, JOIN_SYMBOL1003_tree);
            	        }

            	    }
            	    break;
            	case 2:
            	    // MySQL.g:1069:28: ORDER_SYMBOL BY_SYMBOL
            	    {
            	        ORDER_SYMBOL1004 = (pANTLR3_COMMON_TOKEN) MATCHT(ORDER_SYMBOL, &FOLLOW_ORDER_SYMBOL_in_index_hint_clause5549);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleindex_hint_clauseEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        ORDER_SYMBOL1004_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ORDER_SYMBOL1004));
            	        ADAPTOR->addChild(ADAPTOR, root_0, ORDER_SYMBOL1004_tree);
            	        }

            	        BY_SYMBOL1005 = (pANTLR3_COMMON_TOKEN) MATCHT(BY_SYMBOL, &FOLLOW_BY_SYMBOL_in_index_hint_clause5551);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleindex_hint_clauseEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        BY_SYMBOL1005_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, BY_SYMBOL1005));
            	        ADAPTOR->addChild(ADAPTOR, root_0, BY_SYMBOL1005_tree);
            	        }

            	    }
            	    break;
            	case 3:
            	    // MySQL.g:1069:53: GROUP_SYMBOL BY_SYMBOL
            	    {
            	        GROUP_SYMBOL1006 = (pANTLR3_COMMON_TOKEN) MATCHT(GROUP_SYMBOL, &FOLLOW_GROUP_SYMBOL_in_index_hint_clause5555);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleindex_hint_clauseEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        GROUP_SYMBOL1006_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, GROUP_SYMBOL1006));
            	        ADAPTOR->addChild(ADAPTOR, root_0, GROUP_SYMBOL1006_tree);
            	        }

            	        BY_SYMBOL1007 = (pANTLR3_COMMON_TOKEN) MATCHT(BY_SYMBOL, &FOLLOW_BY_SYMBOL_in_index_hint_clause5557);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleindex_hint_clauseEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        BY_SYMBOL1007_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, BY_SYMBOL1007));
            	        ADAPTOR->addChild(ADAPTOR, root_0, BY_SYMBOL1007_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:1072: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_SYMBOL1009;
    MySQLParser_index_list_element_return index_list_element1008;
    #undef	RETURN_TYPE_index_list_element1008
    #define	RETURN_TYPE_index_list_element1008 MySQLParser_index_list_element_return

    MySQLParser_index_list_element_return index_list_element1010;
    #undef	RETURN_TYPE_index_list_element1010
    #define	RETURN_TYPE_index_list_element1010 MySQLParser_index_list_element_return

    pANTLR3_BASE_TREE COMMA_SYMBOL1009_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    COMMA_SYMBOL1009       = NULL;
    index_list_element1008.tree = NULL;

    index_list_element1010.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    COMMA_SYMBOL1009_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1072:11: ( index_list_element ( COMMA_SYMBOL index_list_element )* )
        // MySQL.g:1073:2: index_list_element ( COMMA_SYMBOL index_list_element )*
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            FOLLOWPUSH(FOLLOW_index_list_element_in_index_list5567);
            index_list_element1008=index_list_element(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruleindex_listEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, index_list_element1008.tree);

            // MySQL.g:1073:21: ( COMMA_SYMBOL index_list_element )*

            for (;;)
            {
                int alt360=2;
                switch ( LA(1) )
                {
                case COMMA_SYMBOL:
                	{
                		alt360=1;
                	}
                    break;

                }

                switch (alt360)
                {
            	case 1:
            	    // MySQL.g:1073:22: COMMA_SYMBOL index_list_element
            	    {
            	        COMMA_SYMBOL1009 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_index_list5570);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleindex_listEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        COMMA_SYMBOL1009_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL1009));
            	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL1009_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_index_list_element_in_index_list5572);
            	        index_list_element1010=index_list_element(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleindex_listEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, index_list_element1010.tree);

            	    }
            	    break;

            	default:
            	    goto loop360;	/* break out of the loop */
            	    break;
                }
            }
            loop360: ; /* 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:1076: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_SYMBOL1012;
    MySQLParser_identifier_return identifier1011;
    #undef	RETURN_TYPE_identifier1011
    #define	RETURN_TYPE_identifier1011 MySQLParser_identifier_return

    pANTLR3_BASE_TREE PRIMARY_SYMBOL1012_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    PRIMARY_SYMBOL1012       = NULL;
    identifier1011.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    PRIMARY_SYMBOL1012_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:1076:19: ( identifier | PRIMARY_SYMBOL )

            ANTLR3_UINT32 alt361;

            alt361=2;

            {
                int LA361_0 = LA(1);
                if ( (LA361_0 == BACK_TICK_QUOTED_ID || LA361_0 == IDENTIFIER))
                {
                    alt361=1;
                }
                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA361_0 == DOUBLE_QUOTED_TEXT))
                {
                    alt361=1;
                }
                else if ( (((LA361_0 >= ACTION_SYMBOL) && (LA361_0 <= PARTITION_SYMBOL))))
                {
                    alt361=1;
                }
                else if ( (LA361_0 == PRIMARY_SYMBOL))
                {
                    alt361=2;
                }
                else
                {
                    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 ruleindex_list_elementEx;

                }
            }
            switch (alt361)
            {
        	case 1:
        	    // MySQL.g:1077:2: identifier
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_identifier_in_index_list_element5583);
        	        identifier1011=identifier(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleindex_list_elementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier1011.tree);

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:1078:4: PRIMARY_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        PRIMARY_SYMBOL1012 = (pANTLR3_COMMON_TOKEN) MATCHT(PRIMARY_SYMBOL, &FOLLOW_PRIMARY_SYMBOL_in_index_list_element5588);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleindex_list_elementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        PRIMARY_SYMBOL1012_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, PRIMARY_SYMBOL1012));
        	        ADAPTOR->addChild(ADAPTOR, root_0, PRIMARY_SYMBOL1012_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:1083:1: update_statement : UPDATE_SYMBOL ^ ( LOW_PRIORITY_SYMBOL )? ( IGNORE_SYMBOL )? table_references 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_SYMBOL1013;
    pANTLR3_COMMON_TOKEN    LOW_PRIORITY_SYMBOL1014;
    pANTLR3_COMMON_TOKEN    IGNORE_SYMBOL1015;
    pANTLR3_COMMON_TOKEN    SET_SYMBOL1017;
    MySQLParser_table_references_return table_references1016;
    #undef	RETURN_TYPE_table_references1016
    #define	RETURN_TYPE_table_references1016 MySQLParser_table_references_return

    MySQLParser_column_assignment_list_with_default_return column_assignment_list_with_default1018;
    #undef	RETURN_TYPE_column_assignment_list_with_default1018
    #define	RETURN_TYPE_column_assignment_list_with_default1018 MySQLParser_column_assignment_list_with_default_return

    MySQLParser_where_clause_return where_clause1019;
    #undef	RETURN_TYPE_where_clause1019
    #define	RETURN_TYPE_where_clause1019 MySQLParser_where_clause_return

    MySQLParser_order_by_clause_return order_by_clause1020;
    #undef	RETURN_TYPE_order_by_clause1020
    #define	RETURN_TYPE_order_by_clause1020 MySQLParser_order_by_clause_return

    MySQLParser_limit_clause_return limit_clause1021;
    #undef	RETURN_TYPE_limit_clause1021
    #define	RETURN_TYPE_limit_clause1021 MySQLParser_limit_clause_return

    pANTLR3_BASE_TREE UPDATE_SYMBOL1013_tree;
    pANTLR3_BASE_TREE LOW_PRIORITY_SYMBOL1014_tree;
    pANTLR3_BASE_TREE IGNORE_SYMBOL1015_tree;
    pANTLR3_BASE_TREE SET_SYMBOL1017_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    UPDATE_SYMBOL1013       = NULL;
    LOW_PRIORITY_SYMBOL1014       = NULL;
    IGNORE_SYMBOL1015       = NULL;
    SET_SYMBOL1017       = NULL;
    table_references1016.tree = NULL;

    column_assignment_list_with_default1018.tree = NULL;

    where_clause1019.tree = NULL;

    order_by_clause1020.tree = NULL;

    limit_clause1021.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    UPDATE_SYMBOL1013_tree   = NULL;
    LOW_PRIORITY_SYMBOL1014_tree   = NULL;
    IGNORE_SYMBOL1015_tree   = NULL;
    SET_SYMBOL1017_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1083:17: ( UPDATE_SYMBOL ^ ( LOW_PRIORITY_SYMBOL )? ( IGNORE_SYMBOL )? table_references SET_SYMBOL column_assignment_list_with_default ( where_clause )? ( order_by_clause )? ( limit_clause )? )
        // MySQL.g:1084:2: UPDATE_SYMBOL ^ ( LOW_PRIORITY_SYMBOL )? ( IGNORE_SYMBOL )? table_references SET_SYMBOL column_assignment_list_with_default ( where_clause )? ( order_by_clause )? ( limit_clause )?
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            UPDATE_SYMBOL1013 = (pANTLR3_COMMON_TOKEN) MATCHT(UPDATE_SYMBOL, &FOLLOW_UPDATE_SYMBOL_in_update_statement5599);
            if  (HASEXCEPTION())
            {
                goto ruleupdate_statementEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            UPDATE_SYMBOL1013_tree = 
            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, UPDATE_SYMBOL1013))
            ;
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, UPDATE_SYMBOL1013_tree, root_0));
            }

            // MySQL.g:1084:17: ( LOW_PRIORITY_SYMBOL )?
            {
                int alt362=2;
                switch ( LA(1) )
                {
                    case LOW_PRIORITY_SYMBOL:
                    	{
                    		alt362=1;
                    	}
                        break;
                }

                switch (alt362)
                {
            	case 1:
            	    // MySQL.g:1084:17: LOW_PRIORITY_SYMBOL
            	    {
            	        LOW_PRIORITY_SYMBOL1014 = (pANTLR3_COMMON_TOKEN) MATCHT(LOW_PRIORITY_SYMBOL, &FOLLOW_LOW_PRIORITY_SYMBOL_in_update_statement5602);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleupdate_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        LOW_PRIORITY_SYMBOL1014_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, LOW_PRIORITY_SYMBOL1014));
            	        ADAPTOR->addChild(ADAPTOR, root_0, LOW_PRIORITY_SYMBOL1014_tree);
            	        }

            	    }
            	    break;

                }
            }

            // MySQL.g:1084:38: ( IGNORE_SYMBOL )?
            {
                int alt363=2;
                switch ( LA(1) )
                {
                    case IGNORE_SYMBOL:
                    	{
                    		alt363=1;
                    	}
                        break;
                }

                switch (alt363)
                {
            	case 1:
            	    // MySQL.g:1084:38: IGNORE_SYMBOL
            	    {
            	        IGNORE_SYMBOL1015 = (pANTLR3_COMMON_TOKEN) MATCHT(IGNORE_SYMBOL, &FOLLOW_IGNORE_SYMBOL_in_update_statement5605);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleupdate_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        IGNORE_SYMBOL1015_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, IGNORE_SYMBOL1015));
            	        ADAPTOR->addChild(ADAPTOR, root_0, IGNORE_SYMBOL1015_tree);
            	        }

            	    }
            	    break;

                }
            }

            FOLLOWPUSH(FOLLOW_table_references_in_update_statement5608);
            table_references1016=table_references(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruleupdate_statementEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, table_references1016.tree);

            SET_SYMBOL1017 = (pANTLR3_COMMON_TOKEN) MATCHT(SET_SYMBOL, &FOLLOW_SET_SYMBOL_in_update_statement5612);
            if  (HASEXCEPTION())
            {
                goto ruleupdate_statementEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            SET_SYMBOL1017_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SET_SYMBOL1017));
            ADAPTOR->addChild(ADAPTOR, root_0, SET_SYMBOL1017_tree);
            }

            FOLLOWPUSH(FOLLOW_column_assignment_list_with_default_in_update_statement5614);
            column_assignment_list_with_default1018=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_default1018.tree);

            // MySQL.g:1085:50: ( where_clause )?
            {
                int alt364=2;
                switch ( LA(1) )
                {
                    case WHERE_SYMBOL:
                    	{
                    		alt364=1;
                    	}
                        break;
                }

                switch (alt364)
                {
            	case 1:
            	    // MySQL.g:1085:50: where_clause
            	    {
            	        FOLLOWPUSH(FOLLOW_where_clause_in_update_statement5616);
            	        where_clause1019=where_clause(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleupdate_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, where_clause1019.tree);

            	    }
            	    break;

                }
            }

            // MySQL.g:1085:64: ( order_by_clause )?
            {
                int alt365=2;
                switch ( LA(1) )
                {
                    case ORDER_SYMBOL:
                    	{
                    		alt365=1;
                    	}
                        break;
                }

                switch (alt365)
                {
            	case 1:
            	    // MySQL.g:1085:64: order_by_clause
            	    {
            	        FOLLOWPUSH(FOLLOW_order_by_clause_in_update_statement5619);
            	        order_by_clause1020=order_by_clause(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleupdate_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, order_by_clause1020.tree);

            	    }
            	    break;

                }
            }

            // MySQL.g:1085:81: ( limit_clause )?
            {
                int alt366=2;
                switch ( LA(1) )
                {
                    case LIMIT_SYMBOL:
                    	{
                    		alt366=1;
                    	}
                        break;
                }

                switch (alt366)
                {
            	case 1:
            	    // MySQL.g:1085:81: limit_clause
            	    {
            	        FOLLOWPUSH(FOLLOW_limit_clause_in_update_statement5622);
            	        limit_clause1021=limit_clause(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleupdate_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, limit_clause1021.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:1090: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_statement1022;
    #undef	RETURN_TYPE_transaction_statement1022
    #define	RETURN_TYPE_transaction_statement1022 MySQLParser_transaction_statement_return

    MySQLParser_savepoint_statement_return savepoint_statement1023;
    #undef	RETURN_TYPE_savepoint_statement1023
    #define	RETURN_TYPE_savepoint_statement1023 MySQLParser_savepoint_statement_return

    MySQLParser_lock_statement_return lock_statement1024;
    #undef	RETURN_TYPE_lock_statement1024
    #define	RETURN_TYPE_lock_statement1024 MySQLParser_lock_statement_return

    MySQLParser_xa_statement_return xa_statement1025;
    #undef	RETURN_TYPE_xa_statement1025
    #define	RETURN_TYPE_xa_statement1025 MySQLParser_xa_statement_return


    /* Initialize rule variables
     */

    root_0 = NULL;

    transaction_statement1022.tree = NULL;

    savepoint_statement1023.tree = NULL;

    lock_statement1024.tree = NULL;

    xa_statement1025.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;




    retval.tree  = NULL;

    {
        {
            //  MySQL.g:1090:33: ( transaction_statement | savepoint_statement | lock_statement | xa_statement )

            ANTLR3_UINT32 alt367;

            alt367=4;

            switch ( LA(1) )
            {
            case BEGIN_SYMBOL:
            case COMMIT_SYMBOL:
            case ROLLBACK_SYMBOL:
            case START_SYMBOL:
            	{
            		alt367=1;
            	}
                break;
            case SAVEPOINT_SYMBOL:
            case RELEASE_SYMBOL:
            	{
            		alt367=2;
            	}
                break;
            case LOCK_SYMBOL:
            case UNLOCK_SYMBOL:
            	{
            		alt367=3;
            	}
                break;
            case XA_SYMBOL:
            	{
            		alt367=4;
            	}
                break;

            default:
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                EXCEPTION->message      = (void *)"";
                EXCEPTION->decisionNum  = 367;
                EXCEPTION->state        = 0;


                goto ruletransaction_or_locking_statementEx;

            }

            switch (alt367)
            {
        	case 1:
        	    // MySQL.g:1091:2: transaction_statement
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_transaction_statement_in_transaction_or_locking_statement5634);
        	        transaction_statement1022=transaction_statement(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruletransaction_or_locking_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, transaction_statement1022.tree);

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:1092:4: savepoint_statement
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_savepoint_statement_in_transaction_or_locking_statement5639);
        	        savepoint_statement1023=savepoint_statement(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruletransaction_or_locking_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, savepoint_statement1023.tree);

        	    }
        	    break;
        	case 3:
        	    // MySQL.g:1093:4: lock_statement
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_lock_statement_in_transaction_or_locking_statement5644);
        	        lock_statement1024=lock_statement(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruletransaction_or_locking_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, lock_statement1024.tree);

        	    }
        	    break;
        	case 4:
        	    // MySQL.g:1094:4: xa_statement
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_xa_statement_in_transaction_or_locking_statement5649);
        	        xa_statement1025=xa_statement(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruletransaction_or_locking_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, xa_statement1025.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:1097: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_SYMBOL1026;
    pANTLR3_COMMON_TOKEN    TRANSACTION_SYMBOL1027;
    pANTLR3_COMMON_TOKEN    BEGIN_SYMBOL1029;
    pANTLR3_COMMON_TOKEN    WORK_SYMBOL1030;
    pANTLR3_COMMON_TOKEN    COMMIT_SYMBOL1031;
    pANTLR3_COMMON_TOKEN    WORK_SYMBOL1032;
    pANTLR3_COMMON_TOKEN    AND_SYMBOL1033;
    pANTLR3_COMMON_TOKEN    NO_SYMBOL1034;
    pANTLR3_COMMON_TOKEN    CHAIN_SYMBOL1035;
    pANTLR3_COMMON_TOKEN    NO_SYMBOL1036;
    pANTLR3_COMMON_TOKEN    RELEASE_SYMBOL1037;
    pANTLR3_COMMON_TOKEN    ROLLBACK_SYMBOL1038;
    pANTLR3_COMMON_TOKEN    WORK_SYMBOL1039;
    pANTLR3_COMMON_TOKEN    AND_SYMBOL1040;
    pANTLR3_COMMON_TOKEN    NO_SYMBOL1041;
    pANTLR3_COMMON_TOKEN    CHAIN_SYMBOL1042;
    pANTLR3_COMMON_TOKEN    NO_SYMBOL1043;
    pANTLR3_COMMON_TOKEN    RELEASE_SYMBOL1044;
    pANTLR3_COMMON_TOKEN    TO_SYMBOL1045;
    pANTLR3_COMMON_TOKEN    SAVEPOINT_SYMBOL1046;
    MySQLParser_transaction_characteristic_return transaction_characteristic1028;
    #undef	RETURN_TYPE_transaction_characteristic1028
    #define	RETURN_TYPE_transaction_characteristic1028 MySQLParser_transaction_characteristic_return

    MySQLParser_identifier_return identifier1047;
    #undef	RETURN_TYPE_identifier1047
    #define	RETURN_TYPE_identifier1047 MySQLParser_identifier_return

    pANTLR3_BASE_TREE START_SYMBOL1026_tree;
    pANTLR3_BASE_TREE TRANSACTION_SYMBOL1027_tree;
    pANTLR3_BASE_TREE BEGIN_SYMBOL1029_tree;
    pANTLR3_BASE_TREE WORK_SYMBOL1030_tree;
    pANTLR3_BASE_TREE COMMIT_SYMBOL1031_tree;
    pANTLR3_BASE_TREE WORK_SYMBOL1032_tree;
    pANTLR3_BASE_TREE AND_SYMBOL1033_tree;
    pANTLR3_BASE_TREE NO_SYMBOL1034_tree;
    pANTLR3_BASE_TREE CHAIN_SYMBOL1035_tree;
    pANTLR3_BASE_TREE NO_SYMBOL1036_tree;
    pANTLR3_BASE_TREE RELEASE_SYMBOL1037_tree;
    pANTLR3_BASE_TREE ROLLBACK_SYMBOL1038_tree;
    pANTLR3_BASE_TREE WORK_SYMBOL1039_tree;
    pANTLR3_BASE_TREE AND_SYMBOL1040_tree;
    pANTLR3_BASE_TREE NO_SYMBOL1041_tree;
    pANTLR3_BASE_TREE CHAIN_SYMBOL1042_tree;
    pANTLR3_BASE_TREE NO_SYMBOL1043_tree;
    pANTLR3_BASE_TREE RELEASE_SYMBOL1044_tree;
    pANTLR3_BASE_TREE TO_SYMBOL1045_tree;
    pANTLR3_BASE_TREE SAVEPOINT_SYMBOL1046_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    START_SYMBOL1026       = NULL;
    TRANSACTION_SYMBOL1027       = NULL;
    BEGIN_SYMBOL1029       = NULL;
    WORK_SYMBOL1030       = NULL;
    COMMIT_SYMBOL1031       = NULL;
    WORK_SYMBOL1032       = NULL;
    AND_SYMBOL1033       = NULL;
    NO_SYMBOL1034       = NULL;
    CHAIN_SYMBOL1035       = NULL;
    NO_SYMBOL1036       = NULL;
    RELEASE_SYMBOL1037       = NULL;
    ROLLBACK_SYMBOL1038       = NULL;
    WORK_SYMBOL1039       = NULL;
    AND_SYMBOL1040       = NULL;
    NO_SYMBOL1041       = NULL;
    CHAIN_SYMBOL1042       = NULL;
    NO_SYMBOL1043       = NULL;
    RELEASE_SYMBOL1044       = NULL;
    TO_SYMBOL1045       = NULL;
    SAVEPOINT_SYMBOL1046       = NULL;
    transaction_characteristic1028.tree = NULL;

    identifier1047.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    START_SYMBOL1026_tree   = NULL;
    TRANSACTION_SYMBOL1027_tree   = NULL;
    BEGIN_SYMBOL1029_tree   = NULL;
    WORK_SYMBOL1030_tree   = NULL;
    COMMIT_SYMBOL1031_tree   = NULL;
    WORK_SYMBOL1032_tree   = NULL;
    AND_SYMBOL1033_tree   = NULL;
    NO_SYMBOL1034_tree   = NULL;
    CHAIN_SYMBOL1035_tree   = NULL;
    NO_SYMBOL1036_tree   = NULL;
    RELEASE_SYMBOL1037_tree   = NULL;
    ROLLBACK_SYMBOL1038_tree   = NULL;
    WORK_SYMBOL1039_tree   = NULL;
    AND_SYMBOL1040_tree   = NULL;
    NO_SYMBOL1041_tree   = NULL;
    CHAIN_SYMBOL1042_tree   = NULL;
    NO_SYMBOL1043_tree   = NULL;
    RELEASE_SYMBOL1044_tree   = NULL;
    TO_SYMBOL1045_tree   = NULL;
    SAVEPOINT_SYMBOL1046_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:1097: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 alt382;

            alt382=4;

            switch ( LA(1) )
            {
            case START_SYMBOL:
            	{
            		alt382=1;
            	}
                break;
            case BEGIN_SYMBOL:
            	{
            		alt382=2;
            	}
                break;
            case COMMIT_SYMBOL:
            	{
            		alt382=3;
            	}
                break;
            case ROLLBACK_SYMBOL:
            	{
            		alt382=4;
            	}
                break;

            default:
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                EXCEPTION->message      = (void *)"";
                EXCEPTION->decisionNum  = 382;
                EXCEPTION->state        = 0;


                goto ruletransaction_statementEx;

            }

            switch (alt382)
            {
        	case 1:
        	    // MySQL.g:1098:2: START_SYMBOL ^ TRANSACTION_SYMBOL ( transaction_characteristic )*
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        START_SYMBOL1026 = (pANTLR3_COMMON_TOKEN) MATCHT(START_SYMBOL, &FOLLOW_START_SYMBOL_in_transaction_statement5658);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruletransaction_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        START_SYMBOL1026_tree = 
        	        (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, START_SYMBOL1026))
        	        ;
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, START_SYMBOL1026_tree, root_0));
        	        }

        	        TRANSACTION_SYMBOL1027 = (pANTLR3_COMMON_TOKEN) MATCHT(TRANSACTION_SYMBOL, &FOLLOW_TRANSACTION_SYMBOL_in_transaction_statement5661);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruletransaction_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        TRANSACTION_SYMBOL1027_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, TRANSACTION_SYMBOL1027));
        	        ADAPTOR->addChild(ADAPTOR, root_0, TRANSACTION_SYMBOL1027_tree);
        	        }

        	        // MySQL.g:1098:35: ( transaction_characteristic )*

        	        for (;;)
        	        {
        	            int alt368=2;
        	            {
        	               /* dfaLoopbackState(k,edges,eotPredictsAlt,description,stateNumber,semPredState)
        	                */
        	                int LA368_0 = LA(1);
        	                if ( (LA368_0 == WITH_SYMBOL))
        	                {
        	                    alt368=1;
        	                }
        	                else if ( ((SERVER_VERSION >= 50605)) && (LA368_0 == READ_SYMBOL))
        	                {
        	                    alt368=1;
        	                }

        	            }
        	            switch (alt368)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1098:35: transaction_characteristic
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_transaction_characteristic_in_transaction_statement5663);
        	        	        transaction_characteristic1028=transaction_characteristic(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruletransaction_statementEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, transaction_characteristic1028.tree);

        	        	    }
        	        	    break;

        	        	default:
        	        	    goto loop368;	/* break out of the loop */
        	        	    break;
        	            }
        	        }
        	        loop368: ; /* Jump out to here if this rule does not match */


        	    }
        	    break;
        	case 2:
        	    // MySQL.g:1099:4: BEGIN_SYMBOL ^ ( WORK_SYMBOL )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        BEGIN_SYMBOL1029 = (pANTLR3_COMMON_TOKEN) MATCHT(BEGIN_SYMBOL, &FOLLOW_BEGIN_SYMBOL_in_transaction_statement5669);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruletransaction_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        BEGIN_SYMBOL1029_tree = 
        	        (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, BEGIN_SYMBOL1029))
        	        ;
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, BEGIN_SYMBOL1029_tree, root_0));
        	        }

        	        // MySQL.g:1099:18: ( WORK_SYMBOL )?
        	        {
        	            int alt369=2;
        	            switch ( LA(1) )
        	            {
        	                case WORK_SYMBOL:
        	                	{
        	                		alt369=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt369)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1099:18: WORK_SYMBOL
        	        	    {
        	        	        WORK_SYMBOL1030 = (pANTLR3_COMMON_TOKEN) MATCHT(WORK_SYMBOL, &FOLLOW_WORK_SYMBOL_in_transaction_statement5672);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruletransaction_statementEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        WORK_SYMBOL1030_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, WORK_SYMBOL1030));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, WORK_SYMBOL1030_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 3:
        	    // MySQL.g:1100:4: COMMIT_SYMBOL ^ ( WORK_SYMBOL )? ( AND_SYMBOL ( NO_SYMBOL )? CHAIN_SYMBOL )? ( ( NO_SYMBOL )? RELEASE_SYMBOL )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        COMMIT_SYMBOL1031 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMIT_SYMBOL, &FOLLOW_COMMIT_SYMBOL_in_transaction_statement5678);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruletransaction_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        COMMIT_SYMBOL1031_tree = 
        	        (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMIT_SYMBOL1031))
        	        ;
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, COMMIT_SYMBOL1031_tree, root_0));
        	        }

        	        // MySQL.g:1100:19: ( WORK_SYMBOL )?
        	        {
        	            int alt370=2;
        	            switch ( LA(1) )
        	            {
        	                case WORK_SYMBOL:
        	                	{
        	                		alt370=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt370)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1100:19: WORK_SYMBOL
        	        	    {
        	        	        WORK_SYMBOL1032 = (pANTLR3_COMMON_TOKEN) MATCHT(WORK_SYMBOL, &FOLLOW_WORK_SYMBOL_in_transaction_statement5681);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruletransaction_statementEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        WORK_SYMBOL1032_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, WORK_SYMBOL1032));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, WORK_SYMBOL1032_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	        // MySQL.g:1100:32: ( AND_SYMBOL ( NO_SYMBOL )? CHAIN_SYMBOL )?
        	        {
        	            int alt372=2;
        	            switch ( LA(1) )
        	            {
        	                case AND_SYMBOL:
        	                	{
        	                		alt372=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt372)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1100:33: AND_SYMBOL ( NO_SYMBOL )? CHAIN_SYMBOL
        	        	    {
        	        	        AND_SYMBOL1033 = (pANTLR3_COMMON_TOKEN) MATCHT(AND_SYMBOL, &FOLLOW_AND_SYMBOL_in_transaction_statement5685);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruletransaction_statementEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        AND_SYMBOL1033_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, AND_SYMBOL1033));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, AND_SYMBOL1033_tree);
        	        	        }

        	        	        // MySQL.g:1100:44: ( NO_SYMBOL )?
        	        	        {
        	        	            int alt371=2;
        	        	            switch ( LA(1) )
        	        	            {
        	        	                case NO_SYMBOL:
        	        	                	{
        	        	                		alt371=1;
        	        	                	}
        	        	                    break;
        	        	            }

        	        	            switch (alt371)
        	        	            {
        	        	        	case 1:
        	        	        	    // MySQL.g:1100:44: NO_SYMBOL
        	        	        	    {
        	        	        	        NO_SYMBOL1034 = (pANTLR3_COMMON_TOKEN) MATCHT(NO_SYMBOL, &FOLLOW_NO_SYMBOL_in_transaction_statement5687);
        	        	        	        if  (HASEXCEPTION())
        	        	        	        {
        	        	        	            goto ruletransaction_statementEx;
        	        	        	        }
        	        	        	        if (HASFAILED())
        	        	        	        {
        	        	        	            return retval;
        	        	        	        }

        	        	        	        if ( BACKTRACKING==0 ) {
        	        	        	        NO_SYMBOL1034_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, NO_SYMBOL1034));
        	        	        	        ADAPTOR->addChild(ADAPTOR, root_0, NO_SYMBOL1034_tree);
        	        	        	        }

        	        	        	    }
        	        	        	    break;

        	        	            }
        	        	        }

        	        	        CHAIN_SYMBOL1035 = (pANTLR3_COMMON_TOKEN) MATCHT(CHAIN_SYMBOL, &FOLLOW_CHAIN_SYMBOL_in_transaction_statement5690);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruletransaction_statementEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        CHAIN_SYMBOL1035_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CHAIN_SYMBOL1035));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, CHAIN_SYMBOL1035_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	        // MySQL.g:1100:70: ( ( NO_SYMBOL )? RELEASE_SYMBOL )?
        	        {
        	            int alt374=2;
        	            switch ( LA(1) )
        	            {
        	                case NO_SYMBOL:
        	                case RELEASE_SYMBOL:
        	                	{
        	                		alt374=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt374)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1100:71: ( NO_SYMBOL )? RELEASE_SYMBOL
        	        	    {
        	        	        // MySQL.g:1100:71: ( NO_SYMBOL )?
        	        	        {
        	        	            int alt373=2;
        	        	            switch ( LA(1) )
        	        	            {
        	        	                case NO_SYMBOL:
        	        	                	{
        	        	                		alt373=1;
        	        	                	}
        	        	                    break;
        	        	            }

        	        	            switch (alt373)
        	        	            {
        	        	        	case 1:
        	        	        	    // MySQL.g:1100:71: NO_SYMBOL
        	        	        	    {
        	        	        	        NO_SYMBOL1036 = (pANTLR3_COMMON_TOKEN) MATCHT(NO_SYMBOL, &FOLLOW_NO_SYMBOL_in_transaction_statement5695);
        	        	        	        if  (HASEXCEPTION())
        	        	        	        {
        	        	        	            goto ruletransaction_statementEx;
        	        	        	        }
        	        	        	        if (HASFAILED())
        	        	        	        {
        	        	        	            return retval;
        	        	        	        }

        	        	        	        if ( BACKTRACKING==0 ) {
        	        	        	        NO_SYMBOL1036_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, NO_SYMBOL1036));
        	        	        	        ADAPTOR->addChild(ADAPTOR, root_0, NO_SYMBOL1036_tree);
        	        	        	        }

        	        	        	    }
        	        	        	    break;

        	        	            }
        	        	        }

        	        	        RELEASE_SYMBOL1037 = (pANTLR3_COMMON_TOKEN) MATCHT(RELEASE_SYMBOL, &FOLLOW_RELEASE_SYMBOL_in_transaction_statement5698);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruletransaction_statementEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        RELEASE_SYMBOL1037_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, RELEASE_SYMBOL1037));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, RELEASE_SYMBOL1037_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 4:
        	    // MySQL.g:1101: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_SYMBOL1038 = (pANTLR3_COMMON_TOKEN) MATCHT(ROLLBACK_SYMBOL, &FOLLOW_ROLLBACK_SYMBOL_in_transaction_statement5705);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruletransaction_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        ROLLBACK_SYMBOL1038_tree = 
        	        (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ROLLBACK_SYMBOL1038))
        	        ;
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, ROLLBACK_SYMBOL1038_tree, root_0));
        	        }

        	        // MySQL.g:1101:21: ( WORK_SYMBOL )?
        	        {
        	            int alt375=2;
        	            switch ( LA(1) )
        	            {
        	                case WORK_SYMBOL:
        	                	{
        	                		alt375=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt375)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1101:21: WORK_SYMBOL
        	        	    {
        	        	        WORK_SYMBOL1039 = (pANTLR3_COMMON_TOKEN) MATCHT(WORK_SYMBOL, &FOLLOW_WORK_SYMBOL_in_transaction_statement5708);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruletransaction_statementEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        WORK_SYMBOL1039_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, WORK_SYMBOL1039));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, WORK_SYMBOL1039_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	        // MySQL.g:1102:3: ( ( AND_SYMBOL ( NO_SYMBOL )? CHAIN_SYMBOL )? ( ( NO_SYMBOL )? RELEASE_SYMBOL )? | TO_SYMBOL ( SAVEPOINT_SYMBOL )? identifier )
        	        {
        	            int alt381=2;
        	            switch ( LA(1) )
        	            {
        	            case EOF:
        	            case NO_SYMBOL:
        	            case AND_SYMBOL:
        	            case RELEASE_SYMBOL:
        	            case SEMICOLON_SYMBOL:
        	            	{
        	            		alt381=1;
        	            	}
        	                break;
        	            case TO_SYMBOL:
        	            	{
        	            		alt381=2;
        	            	}
        	                break;

        	            default:
        	                if (BACKTRACKING>0)
        	                {
        	                    FAILEDFLAG = ANTLR3_TRUE;
        	                    return retval;
        	                }

        	                CONSTRUCTEX();
        	                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                EXCEPTION->message      = (void *)"";
        	                EXCEPTION->decisionNum  = 381;
        	                EXCEPTION->state        = 0;


        	                goto ruletransaction_statementEx;

        	            }

        	            switch (alt381)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1103:4: ( AND_SYMBOL ( NO_SYMBOL )? CHAIN_SYMBOL )? ( ( NO_SYMBOL )? RELEASE_SYMBOL )?
        	        	    {
        	        	        // MySQL.g:1103:4: ( AND_SYMBOL ( NO_SYMBOL )? CHAIN_SYMBOL )?
        	        	        {
        	        	            int alt377=2;
        	        	            switch ( LA(1) )
        	        	            {
        	        	                case AND_SYMBOL:
        	        	                	{
        	        	                		alt377=1;
        	        	                	}
        	        	                    break;
        	        	            }

        	        	            switch (alt377)
        	        	            {
        	        	        	case 1:
        	        	        	    // MySQL.g:1103:5: AND_SYMBOL ( NO_SYMBOL )? CHAIN_SYMBOL
        	        	        	    {
        	        	        	        AND_SYMBOL1040 = (pANTLR3_COMMON_TOKEN) MATCHT(AND_SYMBOL, &FOLLOW_AND_SYMBOL_in_transaction_statement5719);
        	        	        	        if  (HASEXCEPTION())
        	        	        	        {
        	        	        	            goto ruletransaction_statementEx;
        	        	        	        }
        	        	        	        if (HASFAILED())
        	        	        	        {
        	        	        	            return retval;
        	        	        	        }

        	        	        	        if ( BACKTRACKING==0 ) {
        	        	        	        AND_SYMBOL1040_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, AND_SYMBOL1040));
        	        	        	        ADAPTOR->addChild(ADAPTOR, root_0, AND_SYMBOL1040_tree);
        	        	        	        }

        	        	        	        // MySQL.g:1103:16: ( NO_SYMBOL )?
        	        	        	        {
        	        	        	            int alt376=2;
        	        	        	            switch ( LA(1) )
        	        	        	            {
        	        	        	                case NO_SYMBOL:
        	        	        	                	{
        	        	        	                		alt376=1;
        	        	        	                	}
        	        	        	                    break;
        	        	        	            }

        	        	        	            switch (alt376)
        	        	        	            {
        	        	        	        	case 1:
        	        	        	        	    // MySQL.g:1103:16: NO_SYMBOL
        	        	        	        	    {
        	        	        	        	        NO_SYMBOL1041 = (pANTLR3_COMMON_TOKEN) MATCHT(NO_SYMBOL, &FOLLOW_NO_SYMBOL_in_transaction_statement5721);
        	        	        	        	        if  (HASEXCEPTION())
        	        	        	        	        {
        	        	        	        	            goto ruletransaction_statementEx;
        	        	        	        	        }
        	        	        	        	        if (HASFAILED())
        	        	        	        	        {
        	        	        	        	            return retval;
        	        	        	        	        }

        	        	        	        	        if ( BACKTRACKING==0 ) {
        	        	        	        	        NO_SYMBOL1041_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, NO_SYMBOL1041));
        	        	        	        	        ADAPTOR->addChild(ADAPTOR, root_0, NO_SYMBOL1041_tree);
        	        	        	        	        }

        	        	        	        	    }
        	        	        	        	    break;

        	        	        	            }
        	        	        	        }

        	        	        	        CHAIN_SYMBOL1042 = (pANTLR3_COMMON_TOKEN) MATCHT(CHAIN_SYMBOL, &FOLLOW_CHAIN_SYMBOL_in_transaction_statement5724);
        	        	        	        if  (HASEXCEPTION())
        	        	        	        {
        	        	        	            goto ruletransaction_statementEx;
        	        	        	        }
        	        	        	        if (HASFAILED())
        	        	        	        {
        	        	        	            return retval;
        	        	        	        }

        	        	        	        if ( BACKTRACKING==0 ) {
        	        	        	        CHAIN_SYMBOL1042_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CHAIN_SYMBOL1042));
        	        	        	        ADAPTOR->addChild(ADAPTOR, root_0, CHAIN_SYMBOL1042_tree);
        	        	        	        }

        	        	        	    }
        	        	        	    break;

        	        	            }
        	        	        }

        	        	        // MySQL.g:1103:42: ( ( NO_SYMBOL )? RELEASE_SYMBOL )?
        	        	        {
        	        	            int alt379=2;
        	        	            switch ( LA(1) )
        	        	            {
        	        	                case NO_SYMBOL:
        	        	                case RELEASE_SYMBOL:
        	        	                	{
        	        	                		alt379=1;
        	        	                	}
        	        	                    break;
        	        	            }

        	        	            switch (alt379)
        	        	            {
        	        	        	case 1:
        	        	        	    // MySQL.g:1103:43: ( NO_SYMBOL )? RELEASE_SYMBOL
        	        	        	    {
        	        	        	        // MySQL.g:1103:43: ( NO_SYMBOL )?
        	        	        	        {
        	        	        	            int alt378=2;
        	        	        	            switch ( LA(1) )
        	        	        	            {
        	        	        	                case NO_SYMBOL:
        	        	        	                	{
        	        	        	                		alt378=1;
        	        	        	                	}
        	        	        	                    break;
        	        	        	            }

        	        	        	            switch (alt378)
        	        	        	            {
        	        	        	        	case 1:
        	        	        	        	    // MySQL.g:1103:43: NO_SYMBOL
        	        	        	        	    {
        	        	        	        	        NO_SYMBOL1043 = (pANTLR3_COMMON_TOKEN) MATCHT(NO_SYMBOL, &FOLLOW_NO_SYMBOL_in_transaction_statement5729);
        	        	        	        	        if  (HASEXCEPTION())
        	        	        	        	        {
        	        	        	        	            goto ruletransaction_statementEx;
        	        	        	        	        }
        	        	        	        	        if (HASFAILED())
        	        	        	        	        {
        	        	        	        	            return retval;
        	        	        	        	        }

        	        	        	        	        if ( BACKTRACKING==0 ) {
        	        	        	        	        NO_SYMBOL1043_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, NO_SYMBOL1043));
        	        	        	        	        ADAPTOR->addChild(ADAPTOR, root_0, NO_SYMBOL1043_tree);
        	        	        	        	        }

        	        	        	        	    }
        	        	        	        	    break;

        	        	        	            }
        	        	        	        }

        	        	        	        RELEASE_SYMBOL1044 = (pANTLR3_COMMON_TOKEN) MATCHT(RELEASE_SYMBOL, &FOLLOW_RELEASE_SYMBOL_in_transaction_statement5732);
        	        	        	        if  (HASEXCEPTION())
        	        	        	        {
        	        	        	            goto ruletransaction_statementEx;
        	        	        	        }
        	        	        	        if (HASFAILED())
        	        	        	        {
        	        	        	            return retval;
        	        	        	        }

        	        	        	        if ( BACKTRACKING==0 ) {
        	        	        	        RELEASE_SYMBOL1044_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, RELEASE_SYMBOL1044));
        	        	        	        ADAPTOR->addChild(ADAPTOR, root_0, RELEASE_SYMBOL1044_tree);
        	        	        	        }

        	        	        	    }
        	        	        	    break;

        	        	            }
        	        	        }

        	        	    }
        	        	    break;
        	        	case 2:
        	        	    // MySQL.g:1104:6: TO_SYMBOL ( SAVEPOINT_SYMBOL )? identifier
        	        	    {
        	        	        TO_SYMBOL1045 = (pANTLR3_COMMON_TOKEN) MATCHT(TO_SYMBOL, &FOLLOW_TO_SYMBOL_in_transaction_statement5741);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruletransaction_statementEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        TO_SYMBOL1045_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, TO_SYMBOL1045));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, TO_SYMBOL1045_tree);
        	        	        }

        	        	        // MySQL.g:1104:16: ( SAVEPOINT_SYMBOL )?
        	        	        {
        	        	            int alt380=2;
        	        	            switch ( LA(1) )
        	        	            {
        	        	                case SAVEPOINT_SYMBOL:
        	        	                	{
        	        	                		{
        	        	                		    int LA380_1 = LA(2);
        	        	                		    if ( (((LA380_1 >= ACTION_SYMBOL) && (LA380_1 <= PARTITION_SYMBOL)) || LA380_1 == BACK_TICK_QUOTED_ID || LA380_1 == DOUBLE_QUOTED_TEXT || LA380_1 == IDENTIFIER))
        	        	                		    {
        	        	                		        alt380=1;
        	        	                		    }
        	        	                		}
        	        	                	}
        	        	                    break;
        	        	            }

        	        	            switch (alt380)
        	        	            {
        	        	        	case 1:
        	        	        	    // MySQL.g:1104:16: SAVEPOINT_SYMBOL
        	        	        	    {
        	        	        	        SAVEPOINT_SYMBOL1046 = (pANTLR3_COMMON_TOKEN) MATCHT(SAVEPOINT_SYMBOL, &FOLLOW_SAVEPOINT_SYMBOL_in_transaction_statement5743);
        	        	        	        if  (HASEXCEPTION())
        	        	        	        {
        	        	        	            goto ruletransaction_statementEx;
        	        	        	        }
        	        	        	        if (HASFAILED())
        	        	        	        {
        	        	        	            return retval;
        	        	        	        }

        	        	        	        if ( BACKTRACKING==0 ) {
        	        	        	        SAVEPOINT_SYMBOL1046_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SAVEPOINT_SYMBOL1046));
        	        	        	        ADAPTOR->addChild(ADAPTOR, root_0, SAVEPOINT_SYMBOL1046_tree);
        	        	        	        }

        	        	        	    }
        	        	        	    break;

        	        	            }
        	        	        }

        	        	        FOLLOWPUSH(FOLLOW_identifier_in_transaction_statement5746);
        	        	        identifier1047=identifier(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruletransaction_statementEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier1047.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:1111: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_SYMBOL1048;
    pANTLR3_COMMON_TOKEN    CONSISTENT_SYMBOL1049;
    pANTLR3_COMMON_TOKEN    SNAPSHOT_SYMBOL1050;
    pANTLR3_COMMON_TOKEN    READ_SYMBOL1051;
    pANTLR3_COMMON_TOKEN    set1052;

    pANTLR3_BASE_TREE WITH_SYMBOL1048_tree;
    pANTLR3_BASE_TREE CONSISTENT_SYMBOL1049_tree;
    pANTLR3_BASE_TREE SNAPSHOT_SYMBOL1050_tree;
    pANTLR3_BASE_TREE READ_SYMBOL1051_tree;
    pANTLR3_BASE_TREE set1052_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    WITH_SYMBOL1048       = NULL;
    CONSISTENT_SYMBOL1049       = NULL;
    SNAPSHOT_SYMBOL1050       = NULL;
    READ_SYMBOL1051       = NULL;
    set1052       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    WITH_SYMBOL1048_tree   = NULL;
    CONSISTENT_SYMBOL1049_tree   = NULL;
    SNAPSHOT_SYMBOL1050_tree   = NULL;
    READ_SYMBOL1051_tree   = NULL;
    set1052_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:1111:27: ( WITH_SYMBOL CONSISTENT_SYMBOL SNAPSHOT_SYMBOL |{...}? => READ_SYMBOL ( WRITE_SYMBOL | ONLY_SYMBOL ) )

            ANTLR3_UINT32 alt383;

            alt383=2;

            {
                int LA383_0 = LA(1);
                if ( (LA383_0 == WITH_SYMBOL))
                {
                    alt383=1;
                }
                else if ( ((SERVER_VERSION >= 50605)) && (LA383_0 == READ_SYMBOL))
                {
                    alt383=2;
                }
                else
                {
                    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 ruletransaction_characteristicEx;

                }
            }
            switch (alt383)
            {
        	case 1:
        	    // MySQL.g:1112:2: WITH_SYMBOL CONSISTENT_SYMBOL SNAPSHOT_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        WITH_SYMBOL1048 = (pANTLR3_COMMON_TOKEN) MATCHT(WITH_SYMBOL, &FOLLOW_WITH_SYMBOL_in_transaction_characteristic5766);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruletransaction_characteristicEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        WITH_SYMBOL1048_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, WITH_SYMBOL1048));
        	        ADAPTOR->addChild(ADAPTOR, root_0, WITH_SYMBOL1048_tree);
        	        }

        	        CONSISTENT_SYMBOL1049 = (pANTLR3_COMMON_TOKEN) MATCHT(CONSISTENT_SYMBOL, &FOLLOW_CONSISTENT_SYMBOL_in_transaction_characteristic5768);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruletransaction_characteristicEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CONSISTENT_SYMBOL1049_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CONSISTENT_SYMBOL1049));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CONSISTENT_SYMBOL1049_tree);
        	        }

        	        SNAPSHOT_SYMBOL1050 = (pANTLR3_COMMON_TOKEN) MATCHT(SNAPSHOT_SYMBOL, &FOLLOW_SNAPSHOT_SYMBOL_in_transaction_characteristic5770);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruletransaction_characteristicEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        SNAPSHOT_SYMBOL1050_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SNAPSHOT_SYMBOL1050));
        	        ADAPTOR->addChild(ADAPTOR, root_0, SNAPSHOT_SYMBOL1050_tree);
        	        }

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:1113: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_SYMBOL1051 = (pANTLR3_COMMON_TOKEN) MATCHT(READ_SYMBOL, &FOLLOW_READ_SYMBOL_in_transaction_characteristic5779);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruletransaction_characteristicEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        READ_SYMBOL1051_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, READ_SYMBOL1051));
        	        ADAPTOR->addChild(ADAPTOR, root_0, READ_SYMBOL1051_tree);
        	        }

        	        set1052=(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, set1052))
        	            );
        	            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:1116: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_SYMBOL1053;
    pANTLR3_COMMON_TOKEN    LEVEL_SYMBOL1054;
    pANTLR3_COMMON_TOKEN    READ_SYMBOL1056;
    pANTLR3_COMMON_TOKEN    set1057;
    MySQLParser_isolation_level_return isolation_level1055;
    #undef	RETURN_TYPE_isolation_level1055
    #define	RETURN_TYPE_isolation_level1055 MySQLParser_isolation_level_return

    pANTLR3_BASE_TREE ISOLATION_SYMBOL1053_tree;
    pANTLR3_BASE_TREE LEVEL_SYMBOL1054_tree;
    pANTLR3_BASE_TREE READ_SYMBOL1056_tree;
    pANTLR3_BASE_TREE set1057_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    ISOLATION_SYMBOL1053       = NULL;
    LEVEL_SYMBOL1054       = NULL;
    READ_SYMBOL1056       = NULL;
    set1057       = NULL;
    isolation_level1055.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    ISOLATION_SYMBOL1053_tree   = NULL;
    LEVEL_SYMBOL1054_tree   = NULL;
    READ_SYMBOL1056_tree   = NULL;
    set1057_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:1116:31: ( ISOLATION_SYMBOL LEVEL_SYMBOL isolation_level |{...}? => READ_SYMBOL ( WRITE_SYMBOL | ONLY_SYMBOL ) )

            ANTLR3_UINT32 alt384;

            alt384=2;

            {
                int LA384_0 = LA(1);
                if ( (LA384_0 == ISOLATION_SYMBOL))
                {
                    alt384=1;
                }
                else if ( ((SERVER_VERSION >= 50605)) && (LA384_0 == READ_SYMBOL))
                {
                    alt384=2;
                }
                else
                {
                    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 ruleset_transaction_characteristicEx;

                }
            }
            switch (alt384)
            {
        	case 1:
        	    // MySQL.g:1117:2: ISOLATION_SYMBOL LEVEL_SYMBOL isolation_level
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        ISOLATION_SYMBOL1053 = (pANTLR3_COMMON_TOKEN) MATCHT(ISOLATION_SYMBOL, &FOLLOW_ISOLATION_SYMBOL_in_set_transaction_characteristic5796);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleset_transaction_characteristicEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        ISOLATION_SYMBOL1053_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ISOLATION_SYMBOL1053));
        	        ADAPTOR->addChild(ADAPTOR, root_0, ISOLATION_SYMBOL1053_tree);
        	        }

        	        LEVEL_SYMBOL1054 = (pANTLR3_COMMON_TOKEN) MATCHT(LEVEL_SYMBOL, &FOLLOW_LEVEL_SYMBOL_in_set_transaction_characteristic5798);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleset_transaction_characteristicEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        LEVEL_SYMBOL1054_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, LEVEL_SYMBOL1054));
        	        ADAPTOR->addChild(ADAPTOR, root_0, LEVEL_SYMBOL1054_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_isolation_level_in_set_transaction_characteristic5800);
        	        isolation_level1055=isolation_level(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleset_transaction_characteristicEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, isolation_level1055.tree);

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:1118: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_SYMBOL1056 = (pANTLR3_COMMON_TOKEN) MATCHT(READ_SYMBOL, &FOLLOW_READ_SYMBOL_in_set_transaction_characteristic5809);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleset_transaction_characteristicEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        READ_SYMBOL1056_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, READ_SYMBOL1056));
        	        ADAPTOR->addChild(ADAPTOR, root_0, READ_SYMBOL1056_tree);
        	        }

        	        set1057=(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, set1057))
        	            );
        	            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:1121: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_SYMBOL1058;
    pANTLR3_COMMON_TOKEN    READ_SYMBOL1059;
    pANTLR3_COMMON_TOKEN    READ_SYMBOL1060;
    pANTLR3_COMMON_TOKEN    set1061;
    pANTLR3_COMMON_TOKEN    SERIALIZABLE_SYMBOL1062;

    pANTLR3_BASE_TREE REPEATABLE_SYMBOL1058_tree;
    pANTLR3_BASE_TREE READ_SYMBOL1059_tree;
    pANTLR3_BASE_TREE READ_SYMBOL1060_tree;
    pANTLR3_BASE_TREE set1061_tree;
    pANTLR3_BASE_TREE SERIALIZABLE_SYMBOL1062_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    REPEATABLE_SYMBOL1058       = NULL;
    READ_SYMBOL1059       = NULL;
    READ_SYMBOL1060       = NULL;
    set1061       = NULL;
    SERIALIZABLE_SYMBOL1062       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    REPEATABLE_SYMBOL1058_tree   = NULL;
    READ_SYMBOL1059_tree   = NULL;
    READ_SYMBOL1060_tree   = NULL;
    set1061_tree   = NULL;
    SERIALIZABLE_SYMBOL1062_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:1121:16: ( REPEATABLE_SYMBOL READ_SYMBOL | READ_SYMBOL ( COMMITTED_SYMBOL | UNCOMMITTED_SYMBOL ) | SERIALIZABLE_SYMBOL )

            ANTLR3_UINT32 alt385;

            alt385=3;

            switch ( LA(1) )
            {
            case REPEATABLE_SYMBOL:
            	{
            		alt385=1;
            	}
                break;
            case READ_SYMBOL:
            	{
            		alt385=2;
            	}
                break;
            case SERIALIZABLE_SYMBOL:
            	{
            		alt385=3;
            	}
                break;

            default:
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                EXCEPTION->message      = (void *)"";
                EXCEPTION->decisionNum  = 385;
                EXCEPTION->state        = 0;


                goto ruleisolation_levelEx;

            }

            switch (alt385)
            {
        	case 1:
        	    // MySQL.g:1122:2: REPEATABLE_SYMBOL READ_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        REPEATABLE_SYMBOL1058 = (pANTLR3_COMMON_TOKEN) MATCHT(REPEATABLE_SYMBOL, &FOLLOW_REPEATABLE_SYMBOL_in_isolation_level5826);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleisolation_levelEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        REPEATABLE_SYMBOL1058_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, REPEATABLE_SYMBOL1058));
        	        ADAPTOR->addChild(ADAPTOR, root_0, REPEATABLE_SYMBOL1058_tree);
        	        }

        	        READ_SYMBOL1059 = (pANTLR3_COMMON_TOKEN) MATCHT(READ_SYMBOL, &FOLLOW_READ_SYMBOL_in_isolation_level5828);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleisolation_levelEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        READ_SYMBOL1059_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, READ_SYMBOL1059));
        	        ADAPTOR->addChild(ADAPTOR, root_0, READ_SYMBOL1059_tree);
        	        }

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:1123:4: READ_SYMBOL ( COMMITTED_SYMBOL | UNCOMMITTED_SYMBOL )
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        READ_SYMBOL1060 = (pANTLR3_COMMON_TOKEN) MATCHT(READ_SYMBOL, &FOLLOW_READ_SYMBOL_in_isolation_level5833);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleisolation_levelEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        READ_SYMBOL1060_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, READ_SYMBOL1060));
        	        ADAPTOR->addChild(ADAPTOR, root_0, READ_SYMBOL1060_tree);
        	        }

        	        set1061=(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, set1061))
        	            );
        	            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:1124:4: SERIALIZABLE_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        SERIALIZABLE_SYMBOL1062 = (pANTLR3_COMMON_TOKEN) MATCHT(SERIALIZABLE_SYMBOL, &FOLLOW_SERIALIZABLE_SYMBOL_in_isolation_level5846);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleisolation_levelEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        SERIALIZABLE_SYMBOL1062_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SERIALIZABLE_SYMBOL1062));
        	        ADAPTOR->addChild(ADAPTOR, root_0, SERIALIZABLE_SYMBOL1062_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:1127: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_SYMBOL1063;
    pANTLR3_COMMON_TOKEN    RELEASE_SYMBOL1065;
    pANTLR3_COMMON_TOKEN    SAVEPOINT_SYMBOL1066;
    MySQLParser_identifier_return identifier1064;
    #undef	RETURN_TYPE_identifier1064
    #define	RETURN_TYPE_identifier1064 MySQLParser_identifier_return

    MySQLParser_identifier_return identifier1067;
    #undef	RETURN_TYPE_identifier1067
    #define	RETURN_TYPE_identifier1067 MySQLParser_identifier_return

    pANTLR3_BASE_TREE SAVEPOINT_SYMBOL1063_tree;
    pANTLR3_BASE_TREE RELEASE_SYMBOL1065_tree;
    pANTLR3_BASE_TREE SAVEPOINT_SYMBOL1066_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    SAVEPOINT_SYMBOL1063       = NULL;
    RELEASE_SYMBOL1065       = NULL;
    SAVEPOINT_SYMBOL1066       = NULL;
    identifier1064.tree = NULL;

    identifier1067.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    SAVEPOINT_SYMBOL1063_tree   = NULL;
    RELEASE_SYMBOL1065_tree   = NULL;
    SAVEPOINT_SYMBOL1066_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:1127:20: ( SAVEPOINT_SYMBOL ^ identifier | RELEASE_SYMBOL ^ SAVEPOINT_SYMBOL identifier )

            ANTLR3_UINT32 alt386;

            alt386=2;

            switch ( LA(1) )
            {
            case SAVEPOINT_SYMBOL:
            	{
            		alt386=1;
            	}
                break;
            case RELEASE_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 rulesavepoint_statementEx;

            }

            switch (alt386)
            {
        	case 1:
        	    // MySQL.g:1128:2: SAVEPOINT_SYMBOL ^ identifier
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        SAVEPOINT_SYMBOL1063 = (pANTLR3_COMMON_TOKEN) MATCHT(SAVEPOINT_SYMBOL, &FOLLOW_SAVEPOINT_SYMBOL_in_savepoint_statement5855);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulesavepoint_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        SAVEPOINT_SYMBOL1063_tree = 
        	        (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SAVEPOINT_SYMBOL1063))
        	        ;
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, SAVEPOINT_SYMBOL1063_tree, root_0));
        	        }

        	        FOLLOWPUSH(FOLLOW_identifier_in_savepoint_statement5858);
        	        identifier1064=identifier(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulesavepoint_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier1064.tree);

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:1129:4: RELEASE_SYMBOL ^ SAVEPOINT_SYMBOL identifier
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        RELEASE_SYMBOL1065 = (pANTLR3_COMMON_TOKEN) MATCHT(RELEASE_SYMBOL, &FOLLOW_RELEASE_SYMBOL_in_savepoint_statement5863);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulesavepoint_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        RELEASE_SYMBOL1065_tree = 
        	        (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, RELEASE_SYMBOL1065))
        	        ;
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, RELEASE_SYMBOL1065_tree, root_0));
        	        }

        	        SAVEPOINT_SYMBOL1066 = (pANTLR3_COMMON_TOKEN) MATCHT(SAVEPOINT_SYMBOL, &FOLLOW_SAVEPOINT_SYMBOL_in_savepoint_statement5866);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulesavepoint_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        SAVEPOINT_SYMBOL1066_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SAVEPOINT_SYMBOL1066));
        	        ADAPTOR->addChild(ADAPTOR, root_0, SAVEPOINT_SYMBOL1066_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_identifier_in_savepoint_statement5868);
        	        identifier1067=identifier(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulesavepoint_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier1067.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:1132: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_SYMBOL1068;
    pANTLR3_COMMON_TOKEN    set1069;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL1071;
    pANTLR3_COMMON_TOKEN    UNLOCK_SYMBOL1073;
    pANTLR3_COMMON_TOKEN    set1074;
    MySQLParser_lock_item_return lock_item1070;
    #undef	RETURN_TYPE_lock_item1070
    #define	RETURN_TYPE_lock_item1070 MySQLParser_lock_item_return

    MySQLParser_lock_item_return lock_item1072;
    #undef	RETURN_TYPE_lock_item1072
    #define	RETURN_TYPE_lock_item1072 MySQLParser_lock_item_return

    pANTLR3_BASE_TREE LOCK_SYMBOL1068_tree;
    pANTLR3_BASE_TREE set1069_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL1071_tree;
    pANTLR3_BASE_TREE UNLOCK_SYMBOL1073_tree;
    pANTLR3_BASE_TREE set1074_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    LOCK_SYMBOL1068       = NULL;
    set1069       = NULL;
    COMMA_SYMBOL1071       = NULL;
    UNLOCK_SYMBOL1073       = NULL;
    set1074       = NULL;
    lock_item1070.tree = NULL;

    lock_item1072.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    LOCK_SYMBOL1068_tree   = NULL;
    set1069_tree   = NULL;
    COMMA_SYMBOL1071_tree   = NULL;
    UNLOCK_SYMBOL1073_tree   = NULL;
    set1074_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:1132:15: ( LOCK_SYMBOL ^ ( TABLES_SYMBOL | TABLE_SYMBOL ) lock_item ( COMMA_SYMBOL lock_item )* | UNLOCK_SYMBOL ^ ( TABLES_SYMBOL | TABLE_SYMBOL ) )

            ANTLR3_UINT32 alt388;

            alt388=2;

            switch ( LA(1) )
            {
            case LOCK_SYMBOL:
            	{
            		alt388=1;
            	}
                break;
            case UNLOCK_SYMBOL:
            	{
            		alt388=2;
            	}
                break;

            default:
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                EXCEPTION->message      = (void *)"";
                EXCEPTION->decisionNum  = 388;
                EXCEPTION->state        = 0;


                goto rulelock_statementEx;

            }

            switch (alt388)
            {
        	case 1:
        	    // MySQL.g:1133:2: LOCK_SYMBOL ^ ( TABLES_SYMBOL | TABLE_SYMBOL ) lock_item ( COMMA_SYMBOL lock_item )*
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        LOCK_SYMBOL1068 = (pANTLR3_COMMON_TOKEN) MATCHT(LOCK_SYMBOL, &FOLLOW_LOCK_SYMBOL_in_lock_statement5877);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulelock_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        LOCK_SYMBOL1068_tree = 
        	        (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, LOCK_SYMBOL1068))
        	        ;
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, LOCK_SYMBOL1068_tree, root_0));
        	        }

        	        set1069=(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, set1069))
        	            );
        	            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_statement5888);
        	        lock_item1070=lock_item(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulelock_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, lock_item1070.tree);

        	        // MySQL.g:1133:56: ( COMMA_SYMBOL lock_item )*

        	        for (;;)
        	        {
        	            int alt387=2;
        	            switch ( LA(1) )
        	            {
        	            case COMMA_SYMBOL:
        	            	{
        	            		alt387=1;
        	            	}
        	                break;

        	            }

        	            switch (alt387)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1133:57: COMMA_SYMBOL lock_item
        	        	    {
        	        	        COMMA_SYMBOL1071 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_lock_statement5891);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulelock_statementEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        COMMA_SYMBOL1071_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL1071));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL1071_tree);
        	        	        }

        	        	        FOLLOWPUSH(FOLLOW_lock_item_in_lock_statement5893);
        	        	        lock_item1072=lock_item(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulelock_statementEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, lock_item1072.tree);

        	        	    }
        	        	    break;

        	        	default:
        	        	    goto loop387;	/* break out of the loop */
        	        	    break;
        	            }
        	        }
        	        loop387: ; /* Jump out to here if this rule does not match */


        	    }
        	    break;
        	case 2:
        	    // MySQL.g:1134:4: UNLOCK_SYMBOL ^ ( TABLES_SYMBOL | TABLE_SYMBOL )
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        UNLOCK_SYMBOL1073 = (pANTLR3_COMMON_TOKEN) MATCHT(UNLOCK_SYMBOL, &FOLLOW_UNLOCK_SYMBOL_in_lock_statement5900);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulelock_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        UNLOCK_SYMBOL1073_tree = 
        	        (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, UNLOCK_SYMBOL1073))
        	        ;
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, UNLOCK_SYMBOL1073_tree, root_0));
        	        }

        	        set1074=(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, 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 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:1137:1: lock_item : table_identifier ( table_alias )? lock_type ;
 */
static MySQLParser_lock_item_return
lock_item(pMySQLParser ctx)
{
    MySQLParser_lock_item_return retval;


    pANTLR3_BASE_TREE root_0;

    MySQLParser_table_identifier_return table_identifier1075;
    #undef	RETURN_TYPE_table_identifier1075
    #define	RETURN_TYPE_table_identifier1075 MySQLParser_table_identifier_return

    MySQLParser_table_alias_return table_alias1076;
    #undef	RETURN_TYPE_table_alias1076
    #define	RETURN_TYPE_table_alias1076 MySQLParser_table_alias_return

    MySQLParser_lock_type_return lock_type1077;
    #undef	RETURN_TYPE_lock_type1077
    #define	RETURN_TYPE_lock_type1077 MySQLParser_lock_type_return


    /* Initialize rule variables
     */

    root_0 = NULL;

    table_identifier1075.tree = NULL;

    table_alias1076.tree = NULL;

    lock_type1077.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;




    retval.tree  = NULL;

    {
        // MySQL.g:1137:10: ( table_identifier ( table_alias )? lock_type )
        // MySQL.g:1138:2: table_identifier ( table_alias )? lock_type
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            FOLLOWPUSH(FOLLOW_table_identifier_in_lock_item5918);
            table_identifier1075=table_identifier(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulelock_itemEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, table_identifier1075.tree);

            // MySQL.g:1138:19: ( table_alias )?
            {
                int alt389=2;
                {
                    int LA389_0 = LA(1);
                    if ( (LA389_0 == AS_SYMBOL || LA389_0 == BACK_TICK_QUOTED_ID || LA389_0 == EQUAL_OPERATOR || LA389_0 == IDENTIFIER))
                    {
                        alt389=1;
                    }
                    else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA389_0 == DOUBLE_QUOTED_TEXT))
                    {
                        alt389=1;
                    }
                    else if ( (((LA389_0 >= ACTION_SYMBOL) && (LA389_0 <= PARTITION_SYMBOL))))
                    {
                        alt389=1;
                    }
                }
                switch (alt389)
                {
            	case 1:
            	    // MySQL.g:1138:19: table_alias
            	    {
            	        FOLLOWPUSH(FOLLOW_table_alias_in_lock_item5920);
            	        table_alias1076=table_alias(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulelock_itemEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, table_alias1076.tree);

            	    }
            	    break;

                }
            }

            FOLLOWPUSH(FOLLOW_lock_type_in_lock_item5923);
            lock_type1077=lock_type(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulelock_itemEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, lock_type1077.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_type
 * MySQL.g:1141:1: lock_type : ( READ_SYMBOL ( LOCAL_SYMBOL )? | ( LOW_PRIORITY_SYMBOL )? WRITE_SYMBOL );
 */
static MySQLParser_lock_type_return
lock_type(pMySQLParser ctx)
{
    MySQLParser_lock_type_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    READ_SYMBOL1078;
    pANTLR3_COMMON_TOKEN    LOCAL_SYMBOL1079;
    pANTLR3_COMMON_TOKEN    LOW_PRIORITY_SYMBOL1080;
    pANTLR3_COMMON_TOKEN    WRITE_SYMBOL1081;

    pANTLR3_BASE_TREE READ_SYMBOL1078_tree;
    pANTLR3_BASE_TREE LOCAL_SYMBOL1079_tree;
    pANTLR3_BASE_TREE LOW_PRIORITY_SYMBOL1080_tree;
    pANTLR3_BASE_TREE WRITE_SYMBOL1081_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    READ_SYMBOL1078       = NULL;
    LOCAL_SYMBOL1079       = NULL;
    LOW_PRIORITY_SYMBOL1080       = NULL;
    WRITE_SYMBOL1081       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    READ_SYMBOL1078_tree   = NULL;
    LOCAL_SYMBOL1079_tree   = NULL;
    LOW_PRIORITY_SYMBOL1080_tree   = NULL;
    WRITE_SYMBOL1081_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:1141:10: ( READ_SYMBOL ( LOCAL_SYMBOL )? | ( LOW_PRIORITY_SYMBOL )? WRITE_SYMBOL )

            ANTLR3_UINT32 alt392;

            alt392=2;

            switch ( LA(1) )
            {
            case READ_SYMBOL:
            	{
            		alt392=1;
            	}
                break;
            case LOW_PRIORITY_SYMBOL:
            case WRITE_SYMBOL:
            	{
            		alt392=2;
            	}
                break;

            default:
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                EXCEPTION->message      = (void *)"";
                EXCEPTION->decisionNum  = 392;
                EXCEPTION->state        = 0;


                goto rulelock_typeEx;

            }

            switch (alt392)
            {
        	case 1:
        	    // MySQL.g:1142:2: READ_SYMBOL ( LOCAL_SYMBOL )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        READ_SYMBOL1078 = (pANTLR3_COMMON_TOKEN) MATCHT(READ_SYMBOL, &FOLLOW_READ_SYMBOL_in_lock_type5932);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulelock_typeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        READ_SYMBOL1078_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, READ_SYMBOL1078));
        	        ADAPTOR->addChild(ADAPTOR, root_0, READ_SYMBOL1078_tree);
        	        }

        	        // MySQL.g:1142:14: ( LOCAL_SYMBOL )?
        	        {
        	            int alt390=2;
        	            switch ( LA(1) )
        	            {
        	                case LOCAL_SYMBOL:
        	                	{
        	                		alt390=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt390)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1142:14: LOCAL_SYMBOL
        	        	    {
        	        	        LOCAL_SYMBOL1079 = (pANTLR3_COMMON_TOKEN) MATCHT(LOCAL_SYMBOL, &FOLLOW_LOCAL_SYMBOL_in_lock_type5934);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulelock_typeEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        LOCAL_SYMBOL1079_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, LOCAL_SYMBOL1079));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, LOCAL_SYMBOL1079_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:1143:4: ( LOW_PRIORITY_SYMBOL )? WRITE_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        // MySQL.g:1143:4: ( LOW_PRIORITY_SYMBOL )?
        	        {
        	            int alt391=2;
        	            switch ( LA(1) )
        	            {
        	                case LOW_PRIORITY_SYMBOL:
        	                	{
        	                		alt391=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt391)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1143:4: LOW_PRIORITY_SYMBOL
        	        	    {
        	        	        LOW_PRIORITY_SYMBOL1080 = (pANTLR3_COMMON_TOKEN) MATCHT(LOW_PRIORITY_SYMBOL, &FOLLOW_LOW_PRIORITY_SYMBOL_in_lock_type5940);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulelock_typeEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        LOW_PRIORITY_SYMBOL1080_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, LOW_PRIORITY_SYMBOL1080));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, LOW_PRIORITY_SYMBOL1080_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	        WRITE_SYMBOL1081 = (pANTLR3_COMMON_TOKEN) MATCHT(WRITE_SYMBOL, &FOLLOW_WRITE_SYMBOL_in_lock_type5943);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulelock_typeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        WRITE_SYMBOL1081_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, WRITE_SYMBOL1081));
        	        ADAPTOR->addChild(ADAPTOR, root_0, WRITE_SYMBOL1081_tree);
        	        }

        	    }
        	    break;

            }
        }
    }

    // This is where rules clean up and exit
    //
    goto rulelock_typeEx; /* Prevent compiler warnings */
    rulelock_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 lock_type */

/**
 * $ANTLR start xa_statement
 * MySQL.g:1146: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 ) ;
 */
static MySQLParser_xa_statement_return
xa_statement(pMySQLParser ctx)
{
    MySQLParser_xa_statement_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    XA_SYMBOL1082;
    pANTLR3_COMMON_TOKEN    set1083;
    pANTLR3_COMMON_TOKEN    set1085;
    pANTLR3_COMMON_TOKEN    END_SYMBOL1086;
    pANTLR3_COMMON_TOKEN    SUSPEND_SYMBOL1088;
    pANTLR3_COMMON_TOKEN    FOR_SYMBOL1089;
    pANTLR3_COMMON_TOKEN    MIGRATE_SYMBOL1090;
    pANTLR3_COMMON_TOKEN    PREPARE_SYMBOL1091;
    pANTLR3_COMMON_TOKEN    COMMIT_SYMBOL1093;
    pANTLR3_COMMON_TOKEN    ONE_SYMBOL1095;
    pANTLR3_COMMON_TOKEN    PHASE_SYMBOL1096;
    pANTLR3_COMMON_TOKEN    ROLLBACK_SYMBOL1097;
    pANTLR3_COMMON_TOKEN    RECOVER_SYMBOL1099;
    MySQLParser_xid_return xid1084;
    #undef	RETURN_TYPE_xid1084
    #define	RETURN_TYPE_xid1084 MySQLParser_xid_return

    MySQLParser_xid_return xid1087;
    #undef	RETURN_TYPE_xid1087
    #define	RETURN_TYPE_xid1087 MySQLParser_xid_return

    MySQLParser_xid_return xid1092;
    #undef	RETURN_TYPE_xid1092
    #define	RETURN_TYPE_xid1092 MySQLParser_xid_return

    MySQLParser_xid_return xid1094;
    #undef	RETURN_TYPE_xid1094
    #define	RETURN_TYPE_xid1094 MySQLParser_xid_return

    MySQLParser_xid_return xid1098;
    #undef	RETURN_TYPE_xid1098
    #define	RETURN_TYPE_xid1098 MySQLParser_xid_return

    pANTLR3_BASE_TREE XA_SYMBOL1082_tree;
    pANTLR3_BASE_TREE set1083_tree;
    pANTLR3_BASE_TREE set1085_tree;
    pANTLR3_BASE_TREE END_SYMBOL1086_tree;
    pANTLR3_BASE_TREE SUSPEND_SYMBOL1088_tree;
    pANTLR3_BASE_TREE FOR_SYMBOL1089_tree;
    pANTLR3_BASE_TREE MIGRATE_SYMBOL1090_tree;
    pANTLR3_BASE_TREE PREPARE_SYMBOL1091_tree;
    pANTLR3_BASE_TREE COMMIT_SYMBOL1093_tree;
    pANTLR3_BASE_TREE ONE_SYMBOL1095_tree;
    pANTLR3_BASE_TREE PHASE_SYMBOL1096_tree;
    pANTLR3_BASE_TREE ROLLBACK_SYMBOL1097_tree;
    pANTLR3_BASE_TREE RECOVER_SYMBOL1099_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    XA_SYMBOL1082       = NULL;
    set1083       = NULL;
    set1085       = NULL;
    END_SYMBOL1086       = NULL;
    SUSPEND_SYMBOL1088       = NULL;
    FOR_SYMBOL1089       = NULL;
    MIGRATE_SYMBOL1090       = NULL;
    PREPARE_SYMBOL1091       = NULL;
    COMMIT_SYMBOL1093       = NULL;
    ONE_SYMBOL1095       = NULL;
    PHASE_SYMBOL1096       = NULL;
    ROLLBACK_SYMBOL1097       = NULL;
    RECOVER_SYMBOL1099       = NULL;
    xid1084.tree = NULL;

    xid1087.tree = NULL;

    xid1092.tree = NULL;

    xid1094.tree = NULL;

    xid1098.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    XA_SYMBOL1082_tree   = NULL;
    set1083_tree   = NULL;
    set1085_tree   = NULL;
    END_SYMBOL1086_tree   = NULL;
    SUSPEND_SYMBOL1088_tree   = NULL;
    FOR_SYMBOL1089_tree   = NULL;
    MIGRATE_SYMBOL1090_tree   = NULL;
    PREPARE_SYMBOL1091_tree   = NULL;
    COMMIT_SYMBOL1093_tree   = NULL;
    ONE_SYMBOL1095_tree   = NULL;
    PHASE_SYMBOL1096_tree   = NULL;
    ROLLBACK_SYMBOL1097_tree   = NULL;
    RECOVER_SYMBOL1099_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1146: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 ) )
        // MySQL.g:1147: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 )
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            XA_SYMBOL1082 = (pANTLR3_COMMON_TOKEN) MATCHT(XA_SYMBOL, &FOLLOW_XA_SYMBOL_in_xa_statement5952);
            if  (HASEXCEPTION())
            {
                goto rulexa_statementEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            XA_SYMBOL1082_tree = 
            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, XA_SYMBOL1082))
            ;
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, XA_SYMBOL1082_tree, root_0));
            }

            // MySQL.g:1148: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 )
            {
                int alt397=6;
                switch ( LA(1) )
                {
                case BEGIN_SYMBOL:
                case START_SYMBOL:
                	{
                		alt397=1;
                	}
                    break;
                case END_SYMBOL:
                	{
                		alt397=2;
                	}
                    break;
                case PREPARE_SYMBOL:
                	{
                		alt397=3;
                	}
                    break;
                case COMMIT_SYMBOL:
                	{
                		alt397=4;
                	}
                    break;
                case ROLLBACK_SYMBOL:
                	{
                		alt397=5;
                	}
                    break;
                case RECOVER_SYMBOL:
                	{
                		alt397=6;
                	}
                    break;

                default:
                    if (BACKTRACKING>0)
                    {
                        FAILEDFLAG = ANTLR3_TRUE;
                        return retval;
                    }

                    CONSTRUCTEX();
                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    EXCEPTION->message      = (void *)"";
                    EXCEPTION->decisionNum  = 397;
                    EXCEPTION->state        = 0;


                    goto rulexa_statementEx;

                }

                switch (alt397)
                {
            	case 1:
            	    // MySQL.g:1149:4: ( START_SYMBOL | BEGIN_SYMBOL ) xid ( JOIN_SYMBOL | RESUME_SYMBOL )?
            	    {
            	        set1083=(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, set1083))
            	            );
            	            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_statement5970);
            	        xid1084=xid(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulexa_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, xid1084.tree);

            	        // MySQL.g:1149:38: ( JOIN_SYMBOL | RESUME_SYMBOL )?
            	        {
            	            int alt393=2;
            	            switch ( LA(1) )
            	            {
            	                case RESUME_SYMBOL:
            	                case JOIN_SYMBOL:
            	                	{
            	                		alt393=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt393)
            	            {
            	        	case 1:
            	        	    // MySQL.g:
            	        	    {
            	        	        set1085=(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, set1085))
            	        	            );
            	        	            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:1150:6: END_SYMBOL xid ( SUSPEND_SYMBOL ( FOR_SYMBOL MIGRATE_SYMBOL )? )?
            	    {
            	        END_SYMBOL1086 = (pANTLR3_COMMON_TOKEN) MATCHT(END_SYMBOL, &FOLLOW_END_SYMBOL_in_xa_statement5986);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulexa_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        END_SYMBOL1086_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, END_SYMBOL1086));
            	        ADAPTOR->addChild(ADAPTOR, root_0, END_SYMBOL1086_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_xid_in_xa_statement5988);
            	        xid1087=xid(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulexa_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, xid1087.tree);

            	        // MySQL.g:1150:21: ( SUSPEND_SYMBOL ( FOR_SYMBOL MIGRATE_SYMBOL )? )?
            	        {
            	            int alt395=2;
            	            switch ( LA(1) )
            	            {
            	                case SUSPEND_SYMBOL:
            	                	{
            	                		alt395=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt395)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1150:22: SUSPEND_SYMBOL ( FOR_SYMBOL MIGRATE_SYMBOL )?
            	        	    {
            	        	        SUSPEND_SYMBOL1088 = (pANTLR3_COMMON_TOKEN) MATCHT(SUSPEND_SYMBOL, &FOLLOW_SUSPEND_SYMBOL_in_xa_statement5991);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulexa_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        SUSPEND_SYMBOL1088_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SUSPEND_SYMBOL1088));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, SUSPEND_SYMBOL1088_tree);
            	        	        }

            	        	        // MySQL.g:1150:37: ( FOR_SYMBOL MIGRATE_SYMBOL )?
            	        	        {
            	        	            int alt394=2;
            	        	            switch ( LA(1) )
            	        	            {
            	        	                case FOR_SYMBOL:
            	        	                	{
            	        	                		alt394=1;
            	        	                	}
            	        	                    break;
            	        	            }

            	        	            switch (alt394)
            	        	            {
            	        	        	case 1:
            	        	        	    // MySQL.g:1150:38: FOR_SYMBOL MIGRATE_SYMBOL
            	        	        	    {
            	        	        	        FOR_SYMBOL1089 = (pANTLR3_COMMON_TOKEN) MATCHT(FOR_SYMBOL, &FOLLOW_FOR_SYMBOL_in_xa_statement5994);
            	        	        	        if  (HASEXCEPTION())
            	        	        	        {
            	        	        	            goto rulexa_statementEx;
            	        	        	        }
            	        	        	        if (HASFAILED())
            	        	        	        {
            	        	        	            return retval;
            	        	        	        }

            	        	        	        if ( BACKTRACKING==0 ) {
            	        	        	        FOR_SYMBOL1089_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, FOR_SYMBOL1089));
            	        	        	        ADAPTOR->addChild(ADAPTOR, root_0, FOR_SYMBOL1089_tree);
            	        	        	        }

            	        	        	        MIGRATE_SYMBOL1090 = (pANTLR3_COMMON_TOKEN) MATCHT(MIGRATE_SYMBOL, &FOLLOW_MIGRATE_SYMBOL_in_xa_statement5996);
            	        	        	        if  (HASEXCEPTION())
            	        	        	        {
            	        	        	            goto rulexa_statementEx;
            	        	        	        }
            	        	        	        if (HASFAILED())
            	        	        	        {
            	        	        	            return retval;
            	        	        	        }

            	        	        	        if ( BACKTRACKING==0 ) {
            	        	        	        MIGRATE_SYMBOL1090_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MIGRATE_SYMBOL1090));
            	        	        	        ADAPTOR->addChild(ADAPTOR, root_0, MIGRATE_SYMBOL1090_tree);
            	        	        	        }

            	        	        	    }
            	        	        	    break;

            	        	            }
            	        	        }

            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;
            	case 3:
            	    // MySQL.g:1151:6: PREPARE_SYMBOL xid
            	    {
            	        PREPARE_SYMBOL1091 = (pANTLR3_COMMON_TOKEN) MATCHT(PREPARE_SYMBOL, &FOLLOW_PREPARE_SYMBOL_in_xa_statement6007);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulexa_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        PREPARE_SYMBOL1091_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, PREPARE_SYMBOL1091));
            	        ADAPTOR->addChild(ADAPTOR, root_0, PREPARE_SYMBOL1091_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_xid_in_xa_statement6009);
            	        xid1092=xid(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulexa_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, xid1092.tree);

            	    }
            	    break;
            	case 4:
            	    // MySQL.g:1152:6: COMMIT_SYMBOL xid ( ONE_SYMBOL PHASE_SYMBOL )?
            	    {
            	        COMMIT_SYMBOL1093 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMIT_SYMBOL, &FOLLOW_COMMIT_SYMBOL_in_xa_statement6016);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulexa_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        COMMIT_SYMBOL1093_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMIT_SYMBOL1093));
            	        ADAPTOR->addChild(ADAPTOR, root_0, COMMIT_SYMBOL1093_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_xid_in_xa_statement6018);
            	        xid1094=xid(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulexa_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, xid1094.tree);

            	        // MySQL.g:1152:24: ( ONE_SYMBOL PHASE_SYMBOL )?
            	        {
            	            int alt396=2;
            	            switch ( LA(1) )
            	            {
            	                case ONE_SYMBOL:
            	                	{
            	                		alt396=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt396)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1152:25: ONE_SYMBOL PHASE_SYMBOL
            	        	    {
            	        	        ONE_SYMBOL1095 = (pANTLR3_COMMON_TOKEN) MATCHT(ONE_SYMBOL, &FOLLOW_ONE_SYMBOL_in_xa_statement6021);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulexa_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        ONE_SYMBOL1095_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ONE_SYMBOL1095));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, ONE_SYMBOL1095_tree);
            	        	        }

            	        	        PHASE_SYMBOL1096 = (pANTLR3_COMMON_TOKEN) MATCHT(PHASE_SYMBOL, &FOLLOW_PHASE_SYMBOL_in_xa_statement6023);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulexa_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        PHASE_SYMBOL1096_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, PHASE_SYMBOL1096));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, PHASE_SYMBOL1096_tree);
            	        	        }

            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;
            	case 5:
            	    // MySQL.g:1153:6: ROLLBACK_SYMBOL xid
            	    {
            	        ROLLBACK_SYMBOL1097 = (pANTLR3_COMMON_TOKEN) MATCHT(ROLLBACK_SYMBOL, &FOLLOW_ROLLBACK_SYMBOL_in_xa_statement6032);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulexa_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        ROLLBACK_SYMBOL1097_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ROLLBACK_SYMBOL1097));
            	        ADAPTOR->addChild(ADAPTOR, root_0, ROLLBACK_SYMBOL1097_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_xid_in_xa_statement6034);
            	        xid1098=xid(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulexa_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, xid1098.tree);

            	    }
            	    break;
            	case 6:
            	    // MySQL.g:1154:6: RECOVER_SYMBOL
            	    {
            	        RECOVER_SYMBOL1099 = (pANTLR3_COMMON_TOKEN) MATCHT(RECOVER_SYMBOL, &FOLLOW_RECOVER_SYMBOL_in_xa_statement6041);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulexa_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        RECOVER_SYMBOL1099_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, RECOVER_SYMBOL1099));
            	        ADAPTOR->addChild(ADAPTOR, root_0, RECOVER_SYMBOL1099_tree);
            	        }

            	    }
            	    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 xid
 * MySQL.g:1158:1: xid : string_literal ( COMMA_SYMBOL string_literal ( COMMA_SYMBOL INTEGER )? )? -> ^( XA_ID string_literal ( COMMA_SYMBOL string_literal ( COMMA_SYMBOL INTEGER )? )? ) ;
 */
static MySQLParser_xid_return
xid(pMySQLParser ctx)
{
    MySQLParser_xid_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL1101;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL1103;
    pANTLR3_COMMON_TOKEN    INTEGER1104;
    MySQLParser_string_literal_return string_literal1100;
    #undef	RETURN_TYPE_string_literal1100
    #define	RETURN_TYPE_string_literal1100 MySQLParser_string_literal_return

    MySQLParser_string_literal_return string_literal1102;
    #undef	RETURN_TYPE_string_literal1102
    #define	RETURN_TYPE_string_literal1102 MySQLParser_string_literal_return

    pANTLR3_BASE_TREE COMMA_SYMBOL1101_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL1103_tree;
    pANTLR3_BASE_TREE INTEGER1104_tree;
    pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_INTEGER;
    pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_COMMA_SYMBOL;
    pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_string_literal;
    /* Initialize rule variables
     */

    root_0 = NULL;

    COMMA_SYMBOL1101       = NULL;
    COMMA_SYMBOL1103       = NULL;
    INTEGER1104       = NULL;
    string_literal1100.tree = NULL;

    string_literal1102.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    COMMA_SYMBOL1101_tree   = NULL;
    COMMA_SYMBOL1103_tree   = NULL;
    INTEGER1104_tree   = NULL;

    stream_INTEGER   = NULL;
    #define CREATE_stream_INTEGER  if (stream_INTEGER == NULL) {stream_INTEGER = antlr3RewriteRuleTOKENStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"token INTEGER"); } 
    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_string_literal   = NULL;
    #define CREATE_stream_string_literal  if (stream_string_literal == NULL) {stream_string_literal = antlr3RewriteRuleSubtreeStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"rule string_literal"); }

    retval.tree  = NULL;

    {
        // MySQL.g:1158:4: ( string_literal ( COMMA_SYMBOL string_literal ( COMMA_SYMBOL INTEGER )? )? -> ^( XA_ID string_literal ( COMMA_SYMBOL string_literal ( COMMA_SYMBOL INTEGER )? )? ) )
        // MySQL.g:1159:2: string_literal ( COMMA_SYMBOL string_literal ( COMMA_SYMBOL INTEGER )? )?
        {
            FOLLOWPUSH(FOLLOW_string_literal_in_xid6054);
            string_literal1100=string_literal(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulexidEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) { CREATE_stream_string_literal; stream_string_literal->add(stream_string_literal, string_literal1100.tree, NULL); }

            // MySQL.g:1159:17: ( COMMA_SYMBOL string_literal ( COMMA_SYMBOL INTEGER )? )?
            {
                int alt399=2;
                switch ( LA(1) )
                {
                    case COMMA_SYMBOL:
                    	{
                    		alt399=1;
                    	}
                        break;
                }

                switch (alt399)
                {
            	case 1:
            	    // MySQL.g:1159:18: COMMA_SYMBOL string_literal ( COMMA_SYMBOL INTEGER )?
            	    {
            	        COMMA_SYMBOL1101 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_xid6057);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulexidEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }
            	         
            	        if ( BACKTRACKING==0 ) { CREATE_stream_COMMA_SYMBOL; stream_COMMA_SYMBOL->add(stream_COMMA_SYMBOL, COMMA_SYMBOL1101, NULL); }


            	        FOLLOWPUSH(FOLLOW_string_literal_in_xid6059);
            	        string_literal1102=string_literal(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulexidEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) { CREATE_stream_string_literal; stream_string_literal->add(stream_string_literal, string_literal1102.tree, NULL); }

            	        // MySQL.g:1159:46: ( COMMA_SYMBOL INTEGER )?
            	        {
            	            int alt398=2;
            	            switch ( LA(1) )
            	            {
            	                case COMMA_SYMBOL:
            	                	{
            	                		alt398=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt398)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1159:47: COMMA_SYMBOL INTEGER
            	        	    {
            	        	        COMMA_SYMBOL1103 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_xid6062);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulexidEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }
            	        	         
            	        	        if ( BACKTRACKING==0 ) { CREATE_stream_COMMA_SYMBOL; stream_COMMA_SYMBOL->add(stream_COMMA_SYMBOL, COMMA_SYMBOL1103, NULL); }


            	        	        INTEGER1104 = (pANTLR3_COMMON_TOKEN) MATCHT(INTEGER, &FOLLOW_INTEGER_in_xid6064);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulexidEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }
            	        	         
            	        	        if ( BACKTRACKING==0 ) { CREATE_stream_INTEGER; stream_INTEGER->add(stream_INTEGER, INTEGER1104, NULL); }


            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;

                }
            }

            /* AST REWRITE
             * elements          : INTEGER, COMMA_SYMBOL, string_literal, string_literal, 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;
            	// 1160:3: -> ^( XA_ID string_literal ( COMMA_SYMBOL string_literal ( COMMA_SYMBOL INTEGER )? )? )
            	{
            	    // MySQL.g:1160:6: ^( XA_ID string_literal ( COMMA_SYMBOL string_literal ( 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, (pANTLR3_UINT8)"XA_ID")
            	        , root_1));

            	        ADAPTOR->addChild(ADAPTOR, root_1, stream_string_literal == NULL ? NULL : stream_string_literal->nextTree(stream_string_literal));

            	        // MySQL.g:1160:29: ( COMMA_SYMBOL string_literal ( COMMA_SYMBOL INTEGER )? )?
            	        {
            	        	if ( (stream_INTEGER != NULL && stream_INTEGER->hasNext(stream_INTEGER)) || (stream_COMMA_SYMBOL != NULL && stream_COMMA_SYMBOL->hasNext(stream_COMMA_SYMBOL)) || (stream_string_literal != NULL && stream_string_literal->hasNext(stream_string_literal)) || (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_string_literal == NULL ? NULL : stream_string_literal->nextTree(stream_string_literal));

            	        		// MySQL.g:1160:58: ( COMMA_SYMBOL INTEGER )?
            	        		{
            	        			if ( (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_INTEGER == NULL ? NULL : stream_INTEGER->nextNode(stream_INTEGER)
            	        				);

            	        			}
            	        			if ( stream_INTEGER != NULL) stream_INTEGER->reset(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_COMMA_SYMBOL != NULL) stream_COMMA_SYMBOL->reset(stream_COMMA_SYMBOL);
            	        	if ( stream_string_literal != NULL) stream_string_literal->reset(stream_string_literal);
            	        	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_INTEGER != NULL) stream_INTEGER->free(stream_INTEGER);
        if (stream_COMMA_SYMBOL != NULL) stream_COMMA_SYMBOL->free(stream_COMMA_SYMBOL);
        if (stream_string_literal != NULL) stream_string_literal->free(stream_string_literal);
    }


            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:1165:1: replication_statement : ( PURGE_SYMBOL ^ ( BINARY_SYMBOL | MASTER_SYMBOL ) LOGS_SYMBOL ( TO_SYMBOL string_literal | BEFORE_SYMBOL expression ) | change_master | 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_SYMBOL1105;
    pANTLR3_COMMON_TOKEN    set1106;
    pANTLR3_COMMON_TOKEN    LOGS_SYMBOL1107;
    pANTLR3_COMMON_TOKEN    TO_SYMBOL1108;
    pANTLR3_COMMON_TOKEN    BEFORE_SYMBOL1110;
    MySQLParser_string_literal_return string_literal1109;
    #undef	RETURN_TYPE_string_literal1109
    #define	RETURN_TYPE_string_literal1109 MySQLParser_string_literal_return

    MySQLParser_expression_return expression1111;
    #undef	RETURN_TYPE_expression1111
    #define	RETURN_TYPE_expression1111 MySQLParser_expression_return

    MySQLParser_change_master_return change_master1112;
    #undef	RETURN_TYPE_change_master1112
    #define	RETURN_TYPE_change_master1112 MySQLParser_change_master_return

    MySQLParser_start_slave_return start_slave1113;
    #undef	RETURN_TYPE_start_slave1113
    #define	RETURN_TYPE_start_slave1113 MySQLParser_start_slave_return

    MySQLParser_stop_slave_return stop_slave1114;
    #undef	RETURN_TYPE_stop_slave1114
    #define	RETURN_TYPE_stop_slave1114 MySQLParser_stop_slave_return

    MySQLParser_replication_load_return replication_load1115;
    #undef	RETURN_TYPE_replication_load1115
    #define	RETURN_TYPE_replication_load1115 MySQLParser_replication_load_return

    pANTLR3_BASE_TREE PURGE_SYMBOL1105_tree;
    pANTLR3_BASE_TREE set1106_tree;
    pANTLR3_BASE_TREE LOGS_SYMBOL1107_tree;
    pANTLR3_BASE_TREE TO_SYMBOL1108_tree;
    pANTLR3_BASE_TREE BEFORE_SYMBOL1110_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    PURGE_SYMBOL1105       = NULL;
    set1106       = NULL;
    LOGS_SYMBOL1107       = NULL;
    TO_SYMBOL1108       = NULL;
    BEFORE_SYMBOL1110       = NULL;
    string_literal1109.tree = NULL;

    expression1111.tree = NULL;

    change_master1112.tree = NULL;

    start_slave1113.tree = NULL;

    stop_slave1114.tree = NULL;

    replication_load1115.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    PURGE_SYMBOL1105_tree   = NULL;
    set1106_tree   = NULL;
    LOGS_SYMBOL1107_tree   = NULL;
    TO_SYMBOL1108_tree   = NULL;
    BEFORE_SYMBOL1110_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:1165:22: ( PURGE_SYMBOL ^ ( BINARY_SYMBOL | MASTER_SYMBOL ) LOGS_SYMBOL ( TO_SYMBOL string_literal | BEFORE_SYMBOL expression ) | change_master | start_slave | stop_slave |{...}? => replication_load )

            ANTLR3_UINT32 alt401;

            alt401=5;

            {
                int LA401_0 = LA(1);
                if ( (LA401_0 == PURGE_SYMBOL))
                {
                    alt401=1;
                }
                else if ( (LA401_0 == CHANGE_SYMBOL))
                {
                    alt401=2;
                }
                else if ( (LA401_0 == START_SYMBOL))
                {
                    alt401=3;
                }
                else if ( (LA401_0 == STOP_SYMBOL))
                {
                    alt401=4;
                }
                else if ( ((SERVER_VERSION < 50500)) && (LA401_0 == LOAD_SYMBOL))
                {
                    alt401=5;
                }
                else
                {
                    if (BACKTRACKING>0)
                    {
                        FAILEDFLAG = ANTLR3_TRUE;
                        return retval;
                    }


                    CONSTRUCTEX();
                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    EXCEPTION->message      = (void *)"";
                    EXCEPTION->decisionNum  = 401;
                    EXCEPTION->state        = 0;


                    goto rulereplication_statementEx;

                }
            }
            switch (alt401)
            {
        	case 1:
        	    // MySQL.g:1166: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_SYMBOL1105 = (pANTLR3_COMMON_TOKEN) MATCHT(PURGE_SYMBOL, &FOLLOW_PURGE_SYMBOL_in_replication_statement6103);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulereplication_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        PURGE_SYMBOL1105_tree = 
        	        (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, PURGE_SYMBOL1105))
        	        ;
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, PURGE_SYMBOL1105_tree, root_0));
        	        }

        	        set1106=(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, set1106))
        	            );
        	            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_SYMBOL1107 = (pANTLR3_COMMON_TOKEN) MATCHT(LOGS_SYMBOL, &FOLLOW_LOGS_SYMBOL_in_replication_statement6114);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulereplication_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        LOGS_SYMBOL1107_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, LOGS_SYMBOL1107));
        	        ADAPTOR->addChild(ADAPTOR, root_0, LOGS_SYMBOL1107_tree);
        	        }

        	        // MySQL.g:1166:60: ( TO_SYMBOL string_literal | BEFORE_SYMBOL expression )
        	        {
        	            int alt400=2;
        	            switch ( LA(1) )
        	            {
        	            case TO_SYMBOL:
        	            	{
        	            		alt400=1;
        	            	}
        	                break;
        	            case BEFORE_SYMBOL:
        	            	{
        	            		alt400=2;
        	            	}
        	                break;

        	            default:
        	                if (BACKTRACKING>0)
        	                {
        	                    FAILEDFLAG = ANTLR3_TRUE;
        	                    return retval;
        	                }

        	                CONSTRUCTEX();
        	                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                EXCEPTION->message      = (void *)"";
        	                EXCEPTION->decisionNum  = 400;
        	                EXCEPTION->state        = 0;


        	                goto rulereplication_statementEx;

        	            }

        	            switch (alt400)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1166:61: TO_SYMBOL string_literal
        	        	    {
        	        	        TO_SYMBOL1108 = (pANTLR3_COMMON_TOKEN) MATCHT(TO_SYMBOL, &FOLLOW_TO_SYMBOL_in_replication_statement6117);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulereplication_statementEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        TO_SYMBOL1108_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, TO_SYMBOL1108));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, TO_SYMBOL1108_tree);
        	        	        }

        	        	        FOLLOWPUSH(FOLLOW_string_literal_in_replication_statement6119);
        	        	        string_literal1109=string_literal(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulereplication_statementEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_literal1109.tree);

        	        	    }
        	        	    break;
        	        	case 2:
        	        	    // MySQL.g:1166:88: BEFORE_SYMBOL expression
        	        	    {
        	        	        BEFORE_SYMBOL1110 = (pANTLR3_COMMON_TOKEN) MATCHT(BEFORE_SYMBOL, &FOLLOW_BEFORE_SYMBOL_in_replication_statement6123);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulereplication_statementEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        BEFORE_SYMBOL1110_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, BEFORE_SYMBOL1110));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, BEFORE_SYMBOL1110_tree);
        	        	        }

        	        	        FOLLOWPUSH(FOLLOW_expression_in_replication_statement6125);
        	        	        expression1111=expression(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulereplication_statementEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression1111.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:1167:4: change_master
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_change_master_in_replication_statement6131);
        	        change_master1112=change_master(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulereplication_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, change_master1112.tree);

        	    }
        	    break;
        	case 3:
        	    // MySQL.g:1172:4: start_slave
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_start_slave_in_replication_statement6139);
        	        start_slave1113=start_slave(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulereplication_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, start_slave1113.tree);

        	    }
        	    break;
        	case 4:
        	    // MySQL.g:1173:4: stop_slave
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_stop_slave_in_replication_statement6144);
        	        stop_slave1114=stop_slave(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulereplication_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, stop_slave1114.tree);

        	    }
        	    break;
        	case 5:
        	    // MySQL.g:1174: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_statement6153);
        	        replication_load1115=replication_load(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulereplication_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, replication_load1115.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:1177:1: replication_load : LOAD_SYMBOL ^ ( DATA_SYMBOL | TABLE_SYMBOL table_identifier ) 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_SYMBOL1116;
    pANTLR3_COMMON_TOKEN    DATA_SYMBOL1117;
    pANTLR3_COMMON_TOKEN    TABLE_SYMBOL1118;
    pANTLR3_COMMON_TOKEN    FROM_SYMBOL1120;
    pANTLR3_COMMON_TOKEN    MASTER_SYMBOL1121;
    MySQLParser_table_identifier_return table_identifier1119;
    #undef	RETURN_TYPE_table_identifier1119
    #define	RETURN_TYPE_table_identifier1119 MySQLParser_table_identifier_return

    pANTLR3_BASE_TREE LOAD_SYMBOL1116_tree;
    pANTLR3_BASE_TREE DATA_SYMBOL1117_tree;
    pANTLR3_BASE_TREE TABLE_SYMBOL1118_tree;
    pANTLR3_BASE_TREE FROM_SYMBOL1120_tree;
    pANTLR3_BASE_TREE MASTER_SYMBOL1121_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    LOAD_SYMBOL1116       = NULL;
    DATA_SYMBOL1117       = NULL;
    TABLE_SYMBOL1118       = NULL;
    FROM_SYMBOL1120       = NULL;
    MASTER_SYMBOL1121       = NULL;
    table_identifier1119.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    LOAD_SYMBOL1116_tree   = NULL;
    DATA_SYMBOL1117_tree   = NULL;
    TABLE_SYMBOL1118_tree   = NULL;
    FROM_SYMBOL1120_tree   = NULL;
    MASTER_SYMBOL1121_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1177:17: ( LOAD_SYMBOL ^ ( DATA_SYMBOL | TABLE_SYMBOL table_identifier ) FROM_SYMBOL MASTER_SYMBOL )
        // MySQL.g:1178:2: LOAD_SYMBOL ^ ( DATA_SYMBOL | TABLE_SYMBOL table_identifier ) FROM_SYMBOL MASTER_SYMBOL
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            LOAD_SYMBOL1116 = (pANTLR3_COMMON_TOKEN) MATCHT(LOAD_SYMBOL, &FOLLOW_LOAD_SYMBOL_in_replication_load6162);
            if  (HASEXCEPTION())
            {
                goto rulereplication_loadEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            LOAD_SYMBOL1116_tree = 
            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, LOAD_SYMBOL1116))
            ;
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, LOAD_SYMBOL1116_tree, root_0));
            }

            // MySQL.g:1178:15: ( DATA_SYMBOL | TABLE_SYMBOL table_identifier )
            {
                int alt402=2;
                switch ( LA(1) )
                {
                case DATA_SYMBOL:
                	{
                		alt402=1;
                	}
                    break;
                case TABLE_SYMBOL:
                	{
                		alt402=2;
                	}
                    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 rulereplication_loadEx;

                }

                switch (alt402)
                {
            	case 1:
            	    // MySQL.g:1178:16: DATA_SYMBOL
            	    {
            	        DATA_SYMBOL1117 = (pANTLR3_COMMON_TOKEN) MATCHT(DATA_SYMBOL, &FOLLOW_DATA_SYMBOL_in_replication_load6166);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulereplication_loadEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        DATA_SYMBOL1117_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DATA_SYMBOL1117));
            	        ADAPTOR->addChild(ADAPTOR, root_0, DATA_SYMBOL1117_tree);
            	        }

            	    }
            	    break;
            	case 2:
            	    // MySQL.g:1178:30: TABLE_SYMBOL table_identifier
            	    {
            	        TABLE_SYMBOL1118 = (pANTLR3_COMMON_TOKEN) MATCHT(TABLE_SYMBOL, &FOLLOW_TABLE_SYMBOL_in_replication_load6170);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulereplication_loadEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        TABLE_SYMBOL1118_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, TABLE_SYMBOL1118));
            	        ADAPTOR->addChild(ADAPTOR, root_0, TABLE_SYMBOL1118_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_table_identifier_in_replication_load6172);
            	        table_identifier1119=table_identifier(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulereplication_loadEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, table_identifier1119.tree);

            	    }
            	    break;

                }
            }

            FROM_SYMBOL1120 = (pANTLR3_COMMON_TOKEN) MATCHT(FROM_SYMBOL, &FOLLOW_FROM_SYMBOL_in_replication_load6175);
            if  (HASEXCEPTION())
            {
                goto rulereplication_loadEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            FROM_SYMBOL1120_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, FROM_SYMBOL1120));
            ADAPTOR->addChild(ADAPTOR, root_0, FROM_SYMBOL1120_tree);
            }

            MASTER_SYMBOL1121 = (pANTLR3_COMMON_TOKEN) MATCHT(MASTER_SYMBOL, &FOLLOW_MASTER_SYMBOL_in_replication_load6177);
            if  (HASEXCEPTION())
            {
                goto rulereplication_loadEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            MASTER_SYMBOL1121_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MASTER_SYMBOL1121));
            ADAPTOR->addChild(ADAPTOR, root_0, MASTER_SYMBOL1121_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:1181:1: change_master : CHANGE_SYMBOL ^ MASTER_SYMBOL TO_SYMBOL change_master_options ;
 */
static MySQLParser_change_master_return
change_master(pMySQLParser ctx)
{
    MySQLParser_change_master_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    CHANGE_SYMBOL1122;
    pANTLR3_COMMON_TOKEN    MASTER_SYMBOL1123;
    pANTLR3_COMMON_TOKEN    TO_SYMBOL1124;
    MySQLParser_change_master_options_return change_master_options1125;
    #undef	RETURN_TYPE_change_master_options1125
    #define	RETURN_TYPE_change_master_options1125 MySQLParser_change_master_options_return

    pANTLR3_BASE_TREE CHANGE_SYMBOL1122_tree;
    pANTLR3_BASE_TREE MASTER_SYMBOL1123_tree;
    pANTLR3_BASE_TREE TO_SYMBOL1124_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    CHANGE_SYMBOL1122       = NULL;
    MASTER_SYMBOL1123       = NULL;
    TO_SYMBOL1124       = NULL;
    change_master_options1125.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    CHANGE_SYMBOL1122_tree   = NULL;
    MASTER_SYMBOL1123_tree   = NULL;
    TO_SYMBOL1124_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1181:14: ( CHANGE_SYMBOL ^ MASTER_SYMBOL TO_SYMBOL change_master_options )
        // MySQL.g:1182:2: CHANGE_SYMBOL ^ MASTER_SYMBOL TO_SYMBOL change_master_options
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            CHANGE_SYMBOL1122 = (pANTLR3_COMMON_TOKEN) MATCHT(CHANGE_SYMBOL, &FOLLOW_CHANGE_SYMBOL_in_change_master6186);
            if  (HASEXCEPTION())
            {
                goto rulechange_masterEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            CHANGE_SYMBOL1122_tree = 
            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CHANGE_SYMBOL1122))
            ;
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, CHANGE_SYMBOL1122_tree, root_0));
            }

            MASTER_SYMBOL1123 = (pANTLR3_COMMON_TOKEN) MATCHT(MASTER_SYMBOL, &FOLLOW_MASTER_SYMBOL_in_change_master6189);
            if  (HASEXCEPTION())
            {
                goto rulechange_masterEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            MASTER_SYMBOL1123_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MASTER_SYMBOL1123));
            ADAPTOR->addChild(ADAPTOR, root_0, MASTER_SYMBOL1123_tree);
            }

            TO_SYMBOL1124 = (pANTLR3_COMMON_TOKEN) MATCHT(TO_SYMBOL, &FOLLOW_TO_SYMBOL_in_change_master6191);
            if  (HASEXCEPTION())
            {
                goto rulechange_masterEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            TO_SYMBOL1124_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, TO_SYMBOL1124));
            ADAPTOR->addChild(ADAPTOR, root_0, TO_SYMBOL1124_tree);
            }

            FOLLOWPUSH(FOLLOW_change_master_options_in_change_master6193);
            change_master_options1125=change_master_options(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulechange_masterEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, change_master_options1125.tree);

        }

    }

    // 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:1185:1: change_master_options : master_option ( COMMA_SYMBOL master_option )* -> ^( CHANGE_MASTER_OPTIONS 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_SYMBOL1127;
    MySQLParser_master_option_return master_option1126;
    #undef	RETURN_TYPE_master_option1126
    #define	RETURN_TYPE_master_option1126 MySQLParser_master_option_return

    MySQLParser_master_option_return master_option1128;
    #undef	RETURN_TYPE_master_option1128
    #define	RETURN_TYPE_master_option1128 MySQLParser_master_option_return

    pANTLR3_BASE_TREE COMMA_SYMBOL1127_tree;
    pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_COMMA_SYMBOL;
    pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_master_option;
    /* Initialize rule variables
     */

    root_0 = NULL;

    COMMA_SYMBOL1127       = NULL;
    master_option1126.tree = NULL;

    master_option1128.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    COMMA_SYMBOL1127_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:1185:22: ( master_option ( COMMA_SYMBOL master_option )* -> ^( CHANGE_MASTER_OPTIONS master_option ( COMMA_SYMBOL master_option )* ) )
        // MySQL.g:1186:2: master_option ( COMMA_SYMBOL master_option )*
        {
            FOLLOWPUSH(FOLLOW_master_option_in_change_master_options6202);
            master_option1126=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_option1126.tree, NULL); }

            // MySQL.g:1186:16: ( COMMA_SYMBOL master_option )*

            for (;;)
            {
                int alt403=2;
                switch ( LA(1) )
                {
                case COMMA_SYMBOL:
                	{
                		alt403=1;
                	}
                    break;

                }

                switch (alt403)
                {
            	case 1:
            	    // MySQL.g:1186:17: COMMA_SYMBOL master_option
            	    {
            	        COMMA_SYMBOL1127 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_change_master_options6205);
            	        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_SYMBOL1127, NULL); }


            	        FOLLOWPUSH(FOLLOW_master_option_in_change_master_options6207);
            	        master_option1128=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_option1128.tree, NULL); }

            	    }
            	    break;

            	default:
            	    goto loop403;	/* break out of the loop */
            	    break;
                }
            }
            loop403: ; /* Jump out to here if this rule does not match */


            /* AST REWRITE
             * elements          : master_option, master_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;
            	// 1186:46: -> ^( CHANGE_MASTER_OPTIONS master_option ( COMMA_SYMBOL master_option )* )
            	{
            	    // MySQL.g:1186:49: ^( CHANGE_MASTER_OPTIONS 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, (pANTLR3_UINT8)"CHANGE_MASTER_OPTIONS")
            	        , root_1));

            	        ADAPTOR->addChild(ADAPTOR, root_1, stream_master_option == NULL ? NULL : stream_master_option->nextTree(stream_master_option));

            	        // MySQL.g:1186:87: ( COMMA_SYMBOL master_option )*
            	        {
            	        	while ( (stream_master_option != NULL && stream_master_option->hasNext(stream_master_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_master_option == NULL ? NULL : stream_master_option->nextTree(stream_master_option));

            	        	}
            	        	if (stream_master_option != NULL) stream_master_option->reset(stream_master_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 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:1189: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_SYMBOL1129;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR1130;
    pANTLR3_COMMON_TOKEN    MASTER_HOST_SYMBOL1132;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR1133;
    pANTLR3_COMMON_TOKEN    MASTER_USER_SYMBOL1135;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR1136;
    pANTLR3_COMMON_TOKEN    MASTER_PASSWORD_SYMBOL1138;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR1139;
    pANTLR3_COMMON_TOKEN    MASTER_PORT_SYMBOL1141;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR1142;
    pANTLR3_COMMON_TOKEN    INTEGER1143;
    pANTLR3_COMMON_TOKEN    MASTER_CONNECT_RETRY_SYMBOL1144;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR1145;
    pANTLR3_COMMON_TOKEN    INTEGER1146;
    pANTLR3_COMMON_TOKEN    MASTER_RETRY_COUNT_SYMBOL1147;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR1148;
    pANTLR3_COMMON_TOKEN    INTEGER1149;
    pANTLR3_COMMON_TOKEN    MASTER_DELAY_SYMBOL1150;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR1151;
    pANTLR3_COMMON_TOKEN    INTEGER1152;
    pANTLR3_COMMON_TOKEN    MASTER_HEARTBEAT_PERIOD_SYMBOL1153;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR1154;
    pANTLR3_COMMON_TOKEN    INTEGER1155;
    pANTLR3_COMMON_TOKEN    MASTER_LOG_FILE_SYMBOL1156;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR1157;
    pANTLR3_COMMON_TOKEN    MASTER_LOG_POS_SYMBOL1159;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR1160;
    pANTLR3_COMMON_TOKEN    INTEGER1161;
    pANTLR3_COMMON_TOKEN    MASTER_AUTO_POSITION_SYMBOL1162;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR1163;
    pANTLR3_COMMON_TOKEN    INTEGER1164;
    pANTLR3_COMMON_TOKEN    RELAY_LOG_FILE_SYMBOL1165;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR1166;
    pANTLR3_COMMON_TOKEN    RELAY_LOG_POS_SYMBOL1168;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR1169;
    pANTLR3_COMMON_TOKEN    INTEGER1170;
    pANTLR3_COMMON_TOKEN    MASTER_SSL_SYMBOL1171;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR1172;
    pANTLR3_COMMON_TOKEN    INTEGER1173;
    pANTLR3_COMMON_TOKEN    MASTER_SSL_CA_SYMBOL1174;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR1175;
    pANTLR3_COMMON_TOKEN    MASTER_SSL_CAPATH_SYMBOL1177;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR1178;
    pANTLR3_COMMON_TOKEN    MASTER_SSL_CERT_SYMBOL1180;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR1181;
    pANTLR3_COMMON_TOKEN    MASTER_SSL_CRL_SYMBOL1183;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR1184;
    pANTLR3_COMMON_TOKEN    MASTER_SSL_CRLPATH_SYMBOL1186;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR1187;
    pANTLR3_COMMON_TOKEN    MASTER_SSL_KEY_SYMBOL1189;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR1190;
    pANTLR3_COMMON_TOKEN    MASTER_SSL_CIPHER_SYMBOL1192;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR1193;
    pANTLR3_COMMON_TOKEN    MASTER_SSL_VERIFY_SERVER_CERT_SYMBOL1195;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR1196;
    pANTLR3_COMMON_TOKEN    INTEGER1197;
    pANTLR3_COMMON_TOKEN    IGNORE_SERVER_IDS_SYMBOL1198;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR1199;
    MySQLParser_string_literal_return string_literal1131;
    #undef	RETURN_TYPE_string_literal1131
    #define	RETURN_TYPE_string_literal1131 MySQLParser_string_literal_return

    MySQLParser_string_literal_return string_literal1134;
    #undef	RETURN_TYPE_string_literal1134
    #define	RETURN_TYPE_string_literal1134 MySQLParser_string_literal_return

    MySQLParser_string_literal_return string_literal1137;
    #undef	RETURN_TYPE_string_literal1137
    #define	RETURN_TYPE_string_literal1137 MySQLParser_string_literal_return

    MySQLParser_string_literal_return string_literal1140;
    #undef	RETURN_TYPE_string_literal1140
    #define	RETURN_TYPE_string_literal1140 MySQLParser_string_literal_return

    MySQLParser_string_literal_return string_literal1158;
    #undef	RETURN_TYPE_string_literal1158
    #define	RETURN_TYPE_string_literal1158 MySQLParser_string_literal_return

    MySQLParser_string_literal_return string_literal1167;
    #undef	RETURN_TYPE_string_literal1167
    #define	RETURN_TYPE_string_literal1167 MySQLParser_string_literal_return

    MySQLParser_string_literal_return string_literal1176;
    #undef	RETURN_TYPE_string_literal1176
    #define	RETURN_TYPE_string_literal1176 MySQLParser_string_literal_return

    MySQLParser_string_literal_return string_literal1179;
    #undef	RETURN_TYPE_string_literal1179
    #define	RETURN_TYPE_string_literal1179 MySQLParser_string_literal_return

    MySQLParser_string_literal_return string_literal1182;
    #undef	RETURN_TYPE_string_literal1182
    #define	RETURN_TYPE_string_literal1182 MySQLParser_string_literal_return

    MySQLParser_string_literal_return string_literal1185;
    #undef	RETURN_TYPE_string_literal1185
    #define	RETURN_TYPE_string_literal1185 MySQLParser_string_literal_return

    MySQLParser_string_literal_return string_literal1188;
    #undef	RETURN_TYPE_string_literal1188
    #define	RETURN_TYPE_string_literal1188 MySQLParser_string_literal_return

    MySQLParser_string_literal_return string_literal1191;
    #undef	RETURN_TYPE_string_literal1191
    #define	RETURN_TYPE_string_literal1191 MySQLParser_string_literal_return

    MySQLParser_string_literal_return string_literal1194;
    #undef	RETURN_TYPE_string_literal1194
    #define	RETURN_TYPE_string_literal1194 MySQLParser_string_literal_return

    MySQLParser_server_id_list_return server_id_list1200;
    #undef	RETURN_TYPE_server_id_list1200
    #define	RETURN_TYPE_server_id_list1200 MySQLParser_server_id_list_return

    pANTLR3_BASE_TREE MASTER_BIND_SYMBOL1129_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR1130_tree;
    pANTLR3_BASE_TREE MASTER_HOST_SYMBOL1132_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR1133_tree;
    pANTLR3_BASE_TREE MASTER_USER_SYMBOL1135_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR1136_tree;
    pANTLR3_BASE_TREE MASTER_PASSWORD_SYMBOL1138_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR1139_tree;
    pANTLR3_BASE_TREE MASTER_PORT_SYMBOL1141_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR1142_tree;
    pANTLR3_BASE_TREE INTEGER1143_tree;
    pANTLR3_BASE_TREE MASTER_CONNECT_RETRY_SYMBOL1144_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR1145_tree;
    pANTLR3_BASE_TREE INTEGER1146_tree;
    pANTLR3_BASE_TREE MASTER_RETRY_COUNT_SYMBOL1147_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR1148_tree;
    pANTLR3_BASE_TREE INTEGER1149_tree;
    pANTLR3_BASE_TREE MASTER_DELAY_SYMBOL1150_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR1151_tree;
    pANTLR3_BASE_TREE INTEGER1152_tree;
    pANTLR3_BASE_TREE MASTER_HEARTBEAT_PERIOD_SYMBOL1153_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR1154_tree;
    pANTLR3_BASE_TREE INTEGER1155_tree;
    pANTLR3_BASE_TREE MASTER_LOG_FILE_SYMBOL1156_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR1157_tree;
    pANTLR3_BASE_TREE MASTER_LOG_POS_SYMBOL1159_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR1160_tree;
    pANTLR3_BASE_TREE INTEGER1161_tree;
    pANTLR3_BASE_TREE MASTER_AUTO_POSITION_SYMBOL1162_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR1163_tree;
    pANTLR3_BASE_TREE INTEGER1164_tree;
    pANTLR3_BASE_TREE RELAY_LOG_FILE_SYMBOL1165_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR1166_tree;
    pANTLR3_BASE_TREE RELAY_LOG_POS_SYMBOL1168_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR1169_tree;
    pANTLR3_BASE_TREE INTEGER1170_tree;
    pANTLR3_BASE_TREE MASTER_SSL_SYMBOL1171_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR1172_tree;
    pANTLR3_BASE_TREE INTEGER1173_tree;
    pANTLR3_BASE_TREE MASTER_SSL_CA_SYMBOL1174_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR1175_tree;
    pANTLR3_BASE_TREE MASTER_SSL_CAPATH_SYMBOL1177_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR1178_tree;
    pANTLR3_BASE_TREE MASTER_SSL_CERT_SYMBOL1180_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR1181_tree;
    pANTLR3_BASE_TREE MASTER_SSL_CRL_SYMBOL1183_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR1184_tree;
    pANTLR3_BASE_TREE MASTER_SSL_CRLPATH_SYMBOL1186_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR1187_tree;
    pANTLR3_BASE_TREE MASTER_SSL_KEY_SYMBOL1189_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR1190_tree;
    pANTLR3_BASE_TREE MASTER_SSL_CIPHER_SYMBOL1192_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR1193_tree;
    pANTLR3_BASE_TREE MASTER_SSL_VERIFY_SERVER_CERT_SYMBOL1195_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR1196_tree;
    pANTLR3_BASE_TREE INTEGER1197_tree;
    pANTLR3_BASE_TREE IGNORE_SERVER_IDS_SYMBOL1198_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR1199_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    MASTER_BIND_SYMBOL1129       = NULL;
    EQUAL_OPERATOR1130       = NULL;
    MASTER_HOST_SYMBOL1132       = NULL;
    EQUAL_OPERATOR1133       = NULL;
    MASTER_USER_SYMBOL1135       = NULL;
    EQUAL_OPERATOR1136       = NULL;
    MASTER_PASSWORD_SYMBOL1138       = NULL;
    EQUAL_OPERATOR1139       = NULL;
    MASTER_PORT_SYMBOL1141       = NULL;
    EQUAL_OPERATOR1142       = NULL;
    INTEGER1143       = NULL;
    MASTER_CONNECT_RETRY_SYMBOL1144       = NULL;
    EQUAL_OPERATOR1145       = NULL;
    INTEGER1146       = NULL;
    MASTER_RETRY_COUNT_SYMBOL1147       = NULL;
    EQUAL_OPERATOR1148       = NULL;
    INTEGER1149       = NULL;
    MASTER_DELAY_SYMBOL1150       = NULL;
    EQUAL_OPERATOR1151       = NULL;
    INTEGER1152       = NULL;
    MASTER_HEARTBEAT_PERIOD_SYMBOL1153       = NULL;
    EQUAL_OPERATOR1154       = NULL;
    INTEGER1155       = NULL;
    MASTER_LOG_FILE_SYMBOL1156       = NULL;
    EQUAL_OPERATOR1157       = NULL;
    MASTER_LOG_POS_SYMBOL1159       = NULL;
    EQUAL_OPERATOR1160       = NULL;
    INTEGER1161       = NULL;
    MASTER_AUTO_POSITION_SYMBOL1162       = NULL;
    EQUAL_OPERATOR1163       = NULL;
    INTEGER1164       = NULL;
    RELAY_LOG_FILE_SYMBOL1165       = NULL;
    EQUAL_OPERATOR1166       = NULL;
    RELAY_LOG_POS_SYMBOL1168       = NULL;
    EQUAL_OPERATOR1169       = NULL;
    INTEGER1170       = NULL;
    MASTER_SSL_SYMBOL1171       = NULL;
    EQUAL_OPERATOR1172       = NULL;
    INTEGER1173       = NULL;
    MASTER_SSL_CA_SYMBOL1174       = NULL;
    EQUAL_OPERATOR1175       = NULL;
    MASTER_SSL_CAPATH_SYMBOL1177       = NULL;
    EQUAL_OPERATOR1178       = NULL;
    MASTER_SSL_CERT_SYMBOL1180       = NULL;
    EQUAL_OPERATOR1181       = NULL;
    MASTER_SSL_CRL_SYMBOL1183       = NULL;
    EQUAL_OPERATOR1184       = NULL;
    MASTER_SSL_CRLPATH_SYMBOL1186       = NULL;
    EQUAL_OPERATOR1187       = NULL;
    MASTER_SSL_KEY_SYMBOL1189       = NULL;
    EQUAL_OPERATOR1190       = NULL;
    MASTER_SSL_CIPHER_SYMBOL1192       = NULL;
    EQUAL_OPERATOR1193       = NULL;
    MASTER_SSL_VERIFY_SERVER_CERT_SYMBOL1195       = NULL;
    EQUAL_OPERATOR1196       = NULL;
    INTEGER1197       = NULL;
    IGNORE_SERVER_IDS_SYMBOL1198       = NULL;
    EQUAL_OPERATOR1199       = NULL;
    string_literal1131.tree = NULL;

    string_literal1134.tree = NULL;

    string_literal1137.tree = NULL;

    string_literal1140.tree = NULL;

    string_literal1158.tree = NULL;

    string_literal1167.tree = NULL;

    string_literal1176.tree = NULL;

    string_literal1179.tree = NULL;

    string_literal1182.tree = NULL;

    string_literal1185.tree = NULL;

    string_literal1188.tree = NULL;

    string_literal1191.tree = NULL;

    string_literal1194.tree = NULL;

    server_id_list1200.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    MASTER_BIND_SYMBOL1129_tree   = NULL;
    EQUAL_OPERATOR1130_tree   = NULL;
    MASTER_HOST_SYMBOL1132_tree   = NULL;
    EQUAL_OPERATOR1133_tree   = NULL;
    MASTER_USER_SYMBOL1135_tree   = NULL;
    EQUAL_OPERATOR1136_tree   = NULL;
    MASTER_PASSWORD_SYMBOL1138_tree   = NULL;
    EQUAL_OPERATOR1139_tree   = NULL;
    MASTER_PORT_SYMBOL1141_tree   = NULL;
    EQUAL_OPERATOR1142_tree   = NULL;
    INTEGER1143_tree   = NULL;
    MASTER_CONNECT_RETRY_SYMBOL1144_tree   = NULL;
    EQUAL_OPERATOR1145_tree   = NULL;
    INTEGER1146_tree   = NULL;
    MASTER_RETRY_COUNT_SYMBOL1147_tree   = NULL;
    EQUAL_OPERATOR1148_tree   = NULL;
    INTEGER1149_tree   = NULL;
    MASTER_DELAY_SYMBOL1150_tree   = NULL;
    EQUAL_OPERATOR1151_tree   = NULL;
    INTEGER1152_tree   = NULL;
    MASTER_HEARTBEAT_PERIOD_SYMBOL1153_tree   = NULL;
    EQUAL_OPERATOR1154_tree   = NULL;
    INTEGER1155_tree   = NULL;
    MASTER_LOG_FILE_SYMBOL1156_tree   = NULL;
    EQUAL_OPERATOR1157_tree   = NULL;
    MASTER_LOG_POS_SYMBOL1159_tree   = NULL;
    EQUAL_OPERATOR1160_tree   = NULL;
    INTEGER1161_tree   = NULL;
    MASTER_AUTO_POSITION_SYMBOL1162_tree   = NULL;
    EQUAL_OPERATOR1163_tree   = NULL;
    INTEGER1164_tree   = NULL;
    RELAY_LOG_FILE_SYMBOL1165_tree   = NULL;
    EQUAL_OPERATOR1166_tree   = NULL;
    RELAY_LOG_POS_SYMBOL1168_tree   = NULL;
    EQUAL_OPERATOR1169_tree   = NULL;
    INTEGER1170_tree   = NULL;
    MASTER_SSL_SYMBOL1171_tree   = NULL;
    EQUAL_OPERATOR1172_tree   = NULL;
    INTEGER1173_tree   = NULL;
    MASTER_SSL_CA_SYMBOL1174_tree   = NULL;
    EQUAL_OPERATOR1175_tree   = NULL;
    MASTER_SSL_CAPATH_SYMBOL1177_tree   = NULL;
    EQUAL_OPERATOR1178_tree   = NULL;
    MASTER_SSL_CERT_SYMBOL1180_tree   = NULL;
    EQUAL_OPERATOR1181_tree   = NULL;
    MASTER_SSL_CRL_SYMBOL1183_tree   = NULL;
    EQUAL_OPERATOR1184_tree   = NULL;
    MASTER_SSL_CRLPATH_SYMBOL1186_tree   = NULL;
    EQUAL_OPERATOR1187_tree   = NULL;
    MASTER_SSL_KEY_SYMBOL1189_tree   = NULL;
    EQUAL_OPERATOR1190_tree   = NULL;
    MASTER_SSL_CIPHER_SYMBOL1192_tree   = NULL;
    EQUAL_OPERATOR1193_tree   = NULL;
    MASTER_SSL_VERIFY_SERVER_CERT_SYMBOL1195_tree   = NULL;
    EQUAL_OPERATOR1196_tree   = NULL;
    INTEGER1197_tree   = NULL;
    IGNORE_SERVER_IDS_SYMBOL1198_tree   = NULL;
    EQUAL_OPERATOR1199_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:1189: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 alt404;

            alt404=24;

            switch ( LA(1) )
            {
            case MASTER_BIND_SYMBOL:
            	{
            		alt404=1;
            	}
                break;
            case MASTER_HOST_SYMBOL:
            	{
            		alt404=2;
            	}
                break;
            case MASTER_USER_SYMBOL:
            	{
            		alt404=3;
            	}
                break;
            case MASTER_PASSWORD_SYMBOL:
            	{
            		alt404=4;
            	}
                break;
            case MASTER_PORT_SYMBOL:
            	{
            		alt404=5;
            	}
                break;
            case MASTER_CONNECT_RETRY_SYMBOL:
            	{
            		alt404=6;
            	}
                break;
            case MASTER_RETRY_COUNT_SYMBOL:
            	{
            		alt404=7;
            	}
                break;
            case MASTER_DELAY_SYMBOL:
            	{
            		alt404=8;
            	}
                break;
            case MASTER_HEARTBEAT_PERIOD_SYMBOL:
            	{
            		alt404=9;
            	}
                break;
            case MASTER_LOG_FILE_SYMBOL:
            	{
            		alt404=10;
            	}
                break;
            case MASTER_LOG_POS_SYMBOL:
            	{
            		alt404=11;
            	}
                break;
            case MASTER_AUTO_POSITION_SYMBOL:
            	{
            		alt404=12;
            	}
                break;
            case RELAY_LOG_FILE_SYMBOL:
            	{
            		alt404=13;
            	}
                break;
            case RELAY_LOG_POS_SYMBOL:
            	{
            		alt404=14;
            	}
                break;
            case MASTER_SSL_SYMBOL:
            	{
            		alt404=15;
            	}
                break;
            case MASTER_SSL_CA_SYMBOL:
            	{
            		alt404=16;
            	}
                break;
            case MASTER_SSL_CAPATH_SYMBOL:
            	{
            		alt404=17;
            	}
                break;
            case MASTER_SSL_CERT_SYMBOL:
            	{
            		alt404=18;
            	}
                break;
            case MASTER_SSL_CRL_SYMBOL:
            	{
            		alt404=19;
            	}
                break;
            case MASTER_SSL_CRLPATH_SYMBOL:
            	{
            		alt404=20;
            	}
                break;
            case MASTER_SSL_KEY_SYMBOL:
            	{
            		alt404=21;
            	}
                break;
            case MASTER_SSL_CIPHER_SYMBOL:
            	{
            		alt404=22;
            	}
                break;
            case MASTER_SSL_VERIFY_SERVER_CERT_SYMBOL:
            	{
            		alt404=23;
            	}
                break;
            case IGNORE_SERVER_IDS_SYMBOL:
            	{
            		alt404=24;
            	}
                break;

            default:
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                EXCEPTION->message      = (void *)"";
                EXCEPTION->decisionNum  = 404;
                EXCEPTION->state        = 0;


                goto rulemaster_optionEx;

            }

            switch (alt404)
            {
        	case 1:
        	    // MySQL.g:1190:2: MASTER_BIND_SYMBOL EQUAL_OPERATOR string_literal
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        MASTER_BIND_SYMBOL1129 = (pANTLR3_COMMON_TOKEN) MATCHT(MASTER_BIND_SYMBOL, &FOLLOW_MASTER_BIND_SYMBOL_in_master_option6233);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        MASTER_BIND_SYMBOL1129_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MASTER_BIND_SYMBOL1129));
        	        ADAPTOR->addChild(ADAPTOR, root_0, MASTER_BIND_SYMBOL1129_tree);
        	        }

        	        EQUAL_OPERATOR1130 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_master_option6235);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        EQUAL_OPERATOR1130_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR1130));
        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR1130_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_string_literal_in_master_option6237);
        	        string_literal1131=string_literal(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_literal1131.tree);

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:1191:4: MASTER_HOST_SYMBOL EQUAL_OPERATOR string_literal
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        MASTER_HOST_SYMBOL1132 = (pANTLR3_COMMON_TOKEN) MATCHT(MASTER_HOST_SYMBOL, &FOLLOW_MASTER_HOST_SYMBOL_in_master_option6242);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        MASTER_HOST_SYMBOL1132_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MASTER_HOST_SYMBOL1132));
        	        ADAPTOR->addChild(ADAPTOR, root_0, MASTER_HOST_SYMBOL1132_tree);
        	        }

        	        EQUAL_OPERATOR1133 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_master_option6244);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        EQUAL_OPERATOR1133_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR1133));
        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR1133_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_string_literal_in_master_option6246);
        	        string_literal1134=string_literal(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_literal1134.tree);

        	    }
        	    break;
        	case 3:
        	    // MySQL.g:1192:4: MASTER_USER_SYMBOL EQUAL_OPERATOR string_literal
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        MASTER_USER_SYMBOL1135 = (pANTLR3_COMMON_TOKEN) MATCHT(MASTER_USER_SYMBOL, &FOLLOW_MASTER_USER_SYMBOL_in_master_option6251);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        MASTER_USER_SYMBOL1135_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MASTER_USER_SYMBOL1135));
        	        ADAPTOR->addChild(ADAPTOR, root_0, MASTER_USER_SYMBOL1135_tree);
        	        }

        	        EQUAL_OPERATOR1136 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_master_option6253);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        EQUAL_OPERATOR1136_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR1136));
        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR1136_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_string_literal_in_master_option6255);
        	        string_literal1137=string_literal(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_literal1137.tree);

        	    }
        	    break;
        	case 4:
        	    // MySQL.g:1193:4: MASTER_PASSWORD_SYMBOL EQUAL_OPERATOR string_literal
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        MASTER_PASSWORD_SYMBOL1138 = (pANTLR3_COMMON_TOKEN) MATCHT(MASTER_PASSWORD_SYMBOL, &FOLLOW_MASTER_PASSWORD_SYMBOL_in_master_option6260);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        MASTER_PASSWORD_SYMBOL1138_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MASTER_PASSWORD_SYMBOL1138));
        	        ADAPTOR->addChild(ADAPTOR, root_0, MASTER_PASSWORD_SYMBOL1138_tree);
        	        }

        	        EQUAL_OPERATOR1139 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_master_option6262);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        EQUAL_OPERATOR1139_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR1139));
        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR1139_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_string_literal_in_master_option6264);
        	        string_literal1140=string_literal(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_literal1140.tree);

        	    }
        	    break;
        	case 5:
        	    // MySQL.g:1194:4: MASTER_PORT_SYMBOL EQUAL_OPERATOR INTEGER
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        MASTER_PORT_SYMBOL1141 = (pANTLR3_COMMON_TOKEN) MATCHT(MASTER_PORT_SYMBOL, &FOLLOW_MASTER_PORT_SYMBOL_in_master_option6269);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        MASTER_PORT_SYMBOL1141_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MASTER_PORT_SYMBOL1141));
        	        ADAPTOR->addChild(ADAPTOR, root_0, MASTER_PORT_SYMBOL1141_tree);
        	        }

        	        EQUAL_OPERATOR1142 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_master_option6271);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        EQUAL_OPERATOR1142_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR1142));
        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR1142_tree);
        	        }

        	        INTEGER1143 = (pANTLR3_COMMON_TOKEN) MATCHT(INTEGER, &FOLLOW_INTEGER_in_master_option6273);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        INTEGER1143_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INTEGER1143));
        	        ADAPTOR->addChild(ADAPTOR, root_0, INTEGER1143_tree);
        	        }

        	    }
        	    break;
        	case 6:
        	    // MySQL.g:1195:4: MASTER_CONNECT_RETRY_SYMBOL EQUAL_OPERATOR INTEGER
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        MASTER_CONNECT_RETRY_SYMBOL1144 = (pANTLR3_COMMON_TOKEN) MATCHT(MASTER_CONNECT_RETRY_SYMBOL, &FOLLOW_MASTER_CONNECT_RETRY_SYMBOL_in_master_option6278);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        MASTER_CONNECT_RETRY_SYMBOL1144_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MASTER_CONNECT_RETRY_SYMBOL1144));
        	        ADAPTOR->addChild(ADAPTOR, root_0, MASTER_CONNECT_RETRY_SYMBOL1144_tree);
        	        }

        	        EQUAL_OPERATOR1145 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_master_option6280);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        EQUAL_OPERATOR1145_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR1145));
        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR1145_tree);
        	        }

        	        INTEGER1146 = (pANTLR3_COMMON_TOKEN) MATCHT(INTEGER, &FOLLOW_INTEGER_in_master_option6282);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        INTEGER1146_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INTEGER1146));
        	        ADAPTOR->addChild(ADAPTOR, root_0, INTEGER1146_tree);
        	        }

        	    }
        	    break;
        	case 7:
        	    // MySQL.g:1196:4: MASTER_RETRY_COUNT_SYMBOL EQUAL_OPERATOR INTEGER
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        MASTER_RETRY_COUNT_SYMBOL1147 = (pANTLR3_COMMON_TOKEN) MATCHT(MASTER_RETRY_COUNT_SYMBOL, &FOLLOW_MASTER_RETRY_COUNT_SYMBOL_in_master_option6287);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        MASTER_RETRY_COUNT_SYMBOL1147_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MASTER_RETRY_COUNT_SYMBOL1147));
        	        ADAPTOR->addChild(ADAPTOR, root_0, MASTER_RETRY_COUNT_SYMBOL1147_tree);
        	        }

        	        EQUAL_OPERATOR1148 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_master_option6289);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        EQUAL_OPERATOR1148_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR1148));
        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR1148_tree);
        	        }

        	        INTEGER1149 = (pANTLR3_COMMON_TOKEN) MATCHT(INTEGER, &FOLLOW_INTEGER_in_master_option6291);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        INTEGER1149_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INTEGER1149));
        	        ADAPTOR->addChild(ADAPTOR, root_0, INTEGER1149_tree);
        	        }

        	    }
        	    break;
        	case 8:
        	    // MySQL.g:1197:4: MASTER_DELAY_SYMBOL EQUAL_OPERATOR INTEGER
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        MASTER_DELAY_SYMBOL1150 = (pANTLR3_COMMON_TOKEN) MATCHT(MASTER_DELAY_SYMBOL, &FOLLOW_MASTER_DELAY_SYMBOL_in_master_option6296);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        MASTER_DELAY_SYMBOL1150_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MASTER_DELAY_SYMBOL1150));
        	        ADAPTOR->addChild(ADAPTOR, root_0, MASTER_DELAY_SYMBOL1150_tree);
        	        }

        	        EQUAL_OPERATOR1151 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_master_option6298);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        EQUAL_OPERATOR1151_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR1151));
        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR1151_tree);
        	        }

        	        INTEGER1152 = (pANTLR3_COMMON_TOKEN) MATCHT(INTEGER, &FOLLOW_INTEGER_in_master_option6300);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        INTEGER1152_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INTEGER1152));
        	        ADAPTOR->addChild(ADAPTOR, root_0, INTEGER1152_tree);
        	        }

        	    }
        	    break;
        	case 9:
        	    // MySQL.g:1198:4: MASTER_HEARTBEAT_PERIOD_SYMBOL EQUAL_OPERATOR INTEGER
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        MASTER_HEARTBEAT_PERIOD_SYMBOL1153 = (pANTLR3_COMMON_TOKEN) MATCHT(MASTER_HEARTBEAT_PERIOD_SYMBOL, &FOLLOW_MASTER_HEARTBEAT_PERIOD_SYMBOL_in_master_option6305);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        MASTER_HEARTBEAT_PERIOD_SYMBOL1153_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MASTER_HEARTBEAT_PERIOD_SYMBOL1153));
        	        ADAPTOR->addChild(ADAPTOR, root_0, MASTER_HEARTBEAT_PERIOD_SYMBOL1153_tree);
        	        }

        	        EQUAL_OPERATOR1154 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_master_option6307);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        EQUAL_OPERATOR1154_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR1154));
        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR1154_tree);
        	        }

        	        INTEGER1155 = (pANTLR3_COMMON_TOKEN) MATCHT(INTEGER, &FOLLOW_INTEGER_in_master_option6309);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        INTEGER1155_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INTEGER1155));
        	        ADAPTOR->addChild(ADAPTOR, root_0, INTEGER1155_tree);
        	        }

        	    }
        	    break;
        	case 10:
        	    // MySQL.g:1199:4: MASTER_LOG_FILE_SYMBOL EQUAL_OPERATOR string_literal
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        MASTER_LOG_FILE_SYMBOL1156 = (pANTLR3_COMMON_TOKEN) MATCHT(MASTER_LOG_FILE_SYMBOL, &FOLLOW_MASTER_LOG_FILE_SYMBOL_in_master_option6314);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        MASTER_LOG_FILE_SYMBOL1156_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MASTER_LOG_FILE_SYMBOL1156));
        	        ADAPTOR->addChild(ADAPTOR, root_0, MASTER_LOG_FILE_SYMBOL1156_tree);
        	        }

        	        EQUAL_OPERATOR1157 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_master_option6316);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        EQUAL_OPERATOR1157_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR1157));
        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR1157_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_string_literal_in_master_option6318);
        	        string_literal1158=string_literal(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_literal1158.tree);

        	    }
        	    break;
        	case 11:
        	    // MySQL.g:1200:4: MASTER_LOG_POS_SYMBOL EQUAL_OPERATOR INTEGER
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        MASTER_LOG_POS_SYMBOL1159 = (pANTLR3_COMMON_TOKEN) MATCHT(MASTER_LOG_POS_SYMBOL, &FOLLOW_MASTER_LOG_POS_SYMBOL_in_master_option6323);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        MASTER_LOG_POS_SYMBOL1159_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MASTER_LOG_POS_SYMBOL1159));
        	        ADAPTOR->addChild(ADAPTOR, root_0, MASTER_LOG_POS_SYMBOL1159_tree);
        	        }

        	        EQUAL_OPERATOR1160 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_master_option6325);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        EQUAL_OPERATOR1160_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR1160));
        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR1160_tree);
        	        }

        	        INTEGER1161 = (pANTLR3_COMMON_TOKEN) MATCHT(INTEGER, &FOLLOW_INTEGER_in_master_option6327);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        INTEGER1161_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INTEGER1161));
        	        ADAPTOR->addChild(ADAPTOR, root_0, INTEGER1161_tree);
        	        }

        	    }
        	    break;
        	case 12:
        	    // MySQL.g:1201:4: MASTER_AUTO_POSITION_SYMBOL EQUAL_OPERATOR INTEGER
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        MASTER_AUTO_POSITION_SYMBOL1162 = (pANTLR3_COMMON_TOKEN) MATCHT(MASTER_AUTO_POSITION_SYMBOL, &FOLLOW_MASTER_AUTO_POSITION_SYMBOL_in_master_option6332);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        MASTER_AUTO_POSITION_SYMBOL1162_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MASTER_AUTO_POSITION_SYMBOL1162));
        	        ADAPTOR->addChild(ADAPTOR, root_0, MASTER_AUTO_POSITION_SYMBOL1162_tree);
        	        }

        	        EQUAL_OPERATOR1163 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_master_option6334);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        EQUAL_OPERATOR1163_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR1163));
        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR1163_tree);
        	        }

        	        INTEGER1164 = (pANTLR3_COMMON_TOKEN) MATCHT(INTEGER, &FOLLOW_INTEGER_in_master_option6336);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        INTEGER1164_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INTEGER1164));
        	        ADAPTOR->addChild(ADAPTOR, root_0, INTEGER1164_tree);
        	        }

        	    }
        	    break;
        	case 13:
        	    // MySQL.g:1202:4: RELAY_LOG_FILE_SYMBOL EQUAL_OPERATOR string_literal
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        RELAY_LOG_FILE_SYMBOL1165 = (pANTLR3_COMMON_TOKEN) MATCHT(RELAY_LOG_FILE_SYMBOL, &FOLLOW_RELAY_LOG_FILE_SYMBOL_in_master_option6341);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        RELAY_LOG_FILE_SYMBOL1165_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, RELAY_LOG_FILE_SYMBOL1165));
        	        ADAPTOR->addChild(ADAPTOR, root_0, RELAY_LOG_FILE_SYMBOL1165_tree);
        	        }

        	        EQUAL_OPERATOR1166 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_master_option6343);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        EQUAL_OPERATOR1166_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR1166));
        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR1166_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_string_literal_in_master_option6345);
        	        string_literal1167=string_literal(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_literal1167.tree);

        	    }
        	    break;
        	case 14:
        	    // MySQL.g:1203:4: RELAY_LOG_POS_SYMBOL EQUAL_OPERATOR INTEGER
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        RELAY_LOG_POS_SYMBOL1168 = (pANTLR3_COMMON_TOKEN) MATCHT(RELAY_LOG_POS_SYMBOL, &FOLLOW_RELAY_LOG_POS_SYMBOL_in_master_option6350);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        RELAY_LOG_POS_SYMBOL1168_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, RELAY_LOG_POS_SYMBOL1168));
        	        ADAPTOR->addChild(ADAPTOR, root_0, RELAY_LOG_POS_SYMBOL1168_tree);
        	        }

        	        EQUAL_OPERATOR1169 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_master_option6352);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        EQUAL_OPERATOR1169_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR1169));
        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR1169_tree);
        	        }

        	        INTEGER1170 = (pANTLR3_COMMON_TOKEN) MATCHT(INTEGER, &FOLLOW_INTEGER_in_master_option6354);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        INTEGER1170_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INTEGER1170));
        	        ADAPTOR->addChild(ADAPTOR, root_0, INTEGER1170_tree);
        	        }

        	    }
        	    break;
        	case 15:
        	    // MySQL.g:1204:4: MASTER_SSL_SYMBOL EQUAL_OPERATOR INTEGER
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        MASTER_SSL_SYMBOL1171 = (pANTLR3_COMMON_TOKEN) MATCHT(MASTER_SSL_SYMBOL, &FOLLOW_MASTER_SSL_SYMBOL_in_master_option6359);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        MASTER_SSL_SYMBOL1171_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MASTER_SSL_SYMBOL1171));
        	        ADAPTOR->addChild(ADAPTOR, root_0, MASTER_SSL_SYMBOL1171_tree);
        	        }

        	        EQUAL_OPERATOR1172 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_master_option6361);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        EQUAL_OPERATOR1172_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR1172));
        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR1172_tree);
        	        }

        	        INTEGER1173 = (pANTLR3_COMMON_TOKEN) MATCHT(INTEGER, &FOLLOW_INTEGER_in_master_option6363);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        INTEGER1173_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INTEGER1173));
        	        ADAPTOR->addChild(ADAPTOR, root_0, INTEGER1173_tree);
        	        }

        	    }
        	    break;
        	case 16:
        	    // MySQL.g:1205:4: MASTER_SSL_CA_SYMBOL EQUAL_OPERATOR string_literal
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        MASTER_SSL_CA_SYMBOL1174 = (pANTLR3_COMMON_TOKEN) MATCHT(MASTER_SSL_CA_SYMBOL, &FOLLOW_MASTER_SSL_CA_SYMBOL_in_master_option6368);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        MASTER_SSL_CA_SYMBOL1174_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MASTER_SSL_CA_SYMBOL1174));
        	        ADAPTOR->addChild(ADAPTOR, root_0, MASTER_SSL_CA_SYMBOL1174_tree);
        	        }

        	        EQUAL_OPERATOR1175 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_master_option6370);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        EQUAL_OPERATOR1175_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR1175));
        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR1175_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_string_literal_in_master_option6372);
        	        string_literal1176=string_literal(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_literal1176.tree);

        	    }
        	    break;
        	case 17:
        	    // MySQL.g:1206:4: MASTER_SSL_CAPATH_SYMBOL EQUAL_OPERATOR string_literal
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        MASTER_SSL_CAPATH_SYMBOL1177 = (pANTLR3_COMMON_TOKEN) MATCHT(MASTER_SSL_CAPATH_SYMBOL, &FOLLOW_MASTER_SSL_CAPATH_SYMBOL_in_master_option6377);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        MASTER_SSL_CAPATH_SYMBOL1177_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MASTER_SSL_CAPATH_SYMBOL1177));
        	        ADAPTOR->addChild(ADAPTOR, root_0, MASTER_SSL_CAPATH_SYMBOL1177_tree);
        	        }

        	        EQUAL_OPERATOR1178 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_master_option6379);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        EQUAL_OPERATOR1178_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR1178));
        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR1178_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_string_literal_in_master_option6381);
        	        string_literal1179=string_literal(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_literal1179.tree);

        	    }
        	    break;
        	case 18:
        	    // MySQL.g:1207:4: MASTER_SSL_CERT_SYMBOL EQUAL_OPERATOR string_literal
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        MASTER_SSL_CERT_SYMBOL1180 = (pANTLR3_COMMON_TOKEN) MATCHT(MASTER_SSL_CERT_SYMBOL, &FOLLOW_MASTER_SSL_CERT_SYMBOL_in_master_option6386);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        MASTER_SSL_CERT_SYMBOL1180_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MASTER_SSL_CERT_SYMBOL1180));
        	        ADAPTOR->addChild(ADAPTOR, root_0, MASTER_SSL_CERT_SYMBOL1180_tree);
        	        }

        	        EQUAL_OPERATOR1181 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_master_option6388);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        EQUAL_OPERATOR1181_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR1181));
        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR1181_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_string_literal_in_master_option6390);
        	        string_literal1182=string_literal(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_literal1182.tree);

        	    }
        	    break;
        	case 19:
        	    // MySQL.g:1208:4: MASTER_SSL_CRL_SYMBOL EQUAL_OPERATOR string_literal
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        MASTER_SSL_CRL_SYMBOL1183 = (pANTLR3_COMMON_TOKEN) MATCHT(MASTER_SSL_CRL_SYMBOL, &FOLLOW_MASTER_SSL_CRL_SYMBOL_in_master_option6395);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        MASTER_SSL_CRL_SYMBOL1183_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MASTER_SSL_CRL_SYMBOL1183));
        	        ADAPTOR->addChild(ADAPTOR, root_0, MASTER_SSL_CRL_SYMBOL1183_tree);
        	        }

        	        EQUAL_OPERATOR1184 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_master_option6397);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        EQUAL_OPERATOR1184_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR1184));
        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR1184_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_string_literal_in_master_option6399);
        	        string_literal1185=string_literal(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_literal1185.tree);

        	    }
        	    break;
        	case 20:
        	    // MySQL.g:1209:4: MASTER_SSL_CRLPATH_SYMBOL EQUAL_OPERATOR string_literal
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        MASTER_SSL_CRLPATH_SYMBOL1186 = (pANTLR3_COMMON_TOKEN) MATCHT(MASTER_SSL_CRLPATH_SYMBOL, &FOLLOW_MASTER_SSL_CRLPATH_SYMBOL_in_master_option6404);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        MASTER_SSL_CRLPATH_SYMBOL1186_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MASTER_SSL_CRLPATH_SYMBOL1186));
        	        ADAPTOR->addChild(ADAPTOR, root_0, MASTER_SSL_CRLPATH_SYMBOL1186_tree);
        	        }

        	        EQUAL_OPERATOR1187 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_master_option6406);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        EQUAL_OPERATOR1187_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR1187));
        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR1187_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_string_literal_in_master_option6408);
        	        string_literal1188=string_literal(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_literal1188.tree);

        	    }
        	    break;
        	case 21:
        	    // MySQL.g:1210:4: MASTER_SSL_KEY_SYMBOL EQUAL_OPERATOR string_literal
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        MASTER_SSL_KEY_SYMBOL1189 = (pANTLR3_COMMON_TOKEN) MATCHT(MASTER_SSL_KEY_SYMBOL, &FOLLOW_MASTER_SSL_KEY_SYMBOL_in_master_option6413);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        MASTER_SSL_KEY_SYMBOL1189_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MASTER_SSL_KEY_SYMBOL1189));
        	        ADAPTOR->addChild(ADAPTOR, root_0, MASTER_SSL_KEY_SYMBOL1189_tree);
        	        }

        	        EQUAL_OPERATOR1190 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_master_option6415);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        EQUAL_OPERATOR1190_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR1190));
        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR1190_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_string_literal_in_master_option6417);
        	        string_literal1191=string_literal(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_literal1191.tree);

        	    }
        	    break;
        	case 22:
        	    // MySQL.g:1211:4: MASTER_SSL_CIPHER_SYMBOL EQUAL_OPERATOR string_literal
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        MASTER_SSL_CIPHER_SYMBOL1192 = (pANTLR3_COMMON_TOKEN) MATCHT(MASTER_SSL_CIPHER_SYMBOL, &FOLLOW_MASTER_SSL_CIPHER_SYMBOL_in_master_option6422);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        MASTER_SSL_CIPHER_SYMBOL1192_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MASTER_SSL_CIPHER_SYMBOL1192));
        	        ADAPTOR->addChild(ADAPTOR, root_0, MASTER_SSL_CIPHER_SYMBOL1192_tree);
        	        }

        	        EQUAL_OPERATOR1193 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_master_option6424);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        EQUAL_OPERATOR1193_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR1193));
        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR1193_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_string_literal_in_master_option6426);
        	        string_literal1194=string_literal(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_literal1194.tree);

        	    }
        	    break;
        	case 23:
        	    // MySQL.g:1212:4: MASTER_SSL_VERIFY_SERVER_CERT_SYMBOL EQUAL_OPERATOR INTEGER
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        MASTER_SSL_VERIFY_SERVER_CERT_SYMBOL1195 = (pANTLR3_COMMON_TOKEN) MATCHT(MASTER_SSL_VERIFY_SERVER_CERT_SYMBOL, &FOLLOW_MASTER_SSL_VERIFY_SERVER_CERT_SYMBOL_in_master_option6431);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        MASTER_SSL_VERIFY_SERVER_CERT_SYMBOL1195_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MASTER_SSL_VERIFY_SERVER_CERT_SYMBOL1195));
        	        ADAPTOR->addChild(ADAPTOR, root_0, MASTER_SSL_VERIFY_SERVER_CERT_SYMBOL1195_tree);
        	        }

        	        EQUAL_OPERATOR1196 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_master_option6433);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        EQUAL_OPERATOR1196_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR1196));
        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR1196_tree);
        	        }

        	        INTEGER1197 = (pANTLR3_COMMON_TOKEN) MATCHT(INTEGER, &FOLLOW_INTEGER_in_master_option6435);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        INTEGER1197_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INTEGER1197));
        	        ADAPTOR->addChild(ADAPTOR, root_0, INTEGER1197_tree);
        	        }

        	    }
        	    break;
        	case 24:
        	    // MySQL.g:1213:4: IGNORE_SERVER_IDS_SYMBOL EQUAL_OPERATOR server_id_list
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        IGNORE_SERVER_IDS_SYMBOL1198 = (pANTLR3_COMMON_TOKEN) MATCHT(IGNORE_SERVER_IDS_SYMBOL, &FOLLOW_IGNORE_SERVER_IDS_SYMBOL_in_master_option6440);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        IGNORE_SERVER_IDS_SYMBOL1198_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, IGNORE_SERVER_IDS_SYMBOL1198));
        	        ADAPTOR->addChild(ADAPTOR, root_0, IGNORE_SERVER_IDS_SYMBOL1198_tree);
        	        }

        	        EQUAL_OPERATOR1199 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_master_option6442);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        EQUAL_OPERATOR1199_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR1199));
        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR1199_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_server_id_list_in_master_option6444);
        	        server_id_list1200=server_id_list(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, server_id_list1200.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:1216: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_SYMBOL1201;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL1203;
    MySQLParser_integer_list_return integer_list1202;
    #undef	RETURN_TYPE_integer_list1202
    #define	RETURN_TYPE_integer_list1202 MySQLParser_integer_list_return

    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL1201_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL1203_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    OPEN_PAR_SYMBOL1201       = NULL;
    CLOSE_PAR_SYMBOL1203       = NULL;
    integer_list1202.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    OPEN_PAR_SYMBOL1201_tree   = NULL;
    CLOSE_PAR_SYMBOL1203_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1216:15: ( OPEN_PAR_SYMBOL ( integer_list )? CLOSE_PAR_SYMBOL )
        // MySQL.g:1217:2: OPEN_PAR_SYMBOL ( integer_list )? CLOSE_PAR_SYMBOL
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            OPEN_PAR_SYMBOL1201 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_server_id_list6453);
            if  (HASEXCEPTION())
            {
                goto ruleserver_id_listEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            OPEN_PAR_SYMBOL1201_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL1201));
            ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL1201_tree);
            }

            // MySQL.g:1217:18: ( integer_list )?
            {
                int alt405=2;
                switch ( LA(1) )
                {
                    case INTEGER:
                    	{
                    		alt405=1;
                    	}
                        break;
                }

                switch (alt405)
                {
            	case 1:
            	    // MySQL.g:1217:18: integer_list
            	    {
            	        FOLLOWPUSH(FOLLOW_integer_list_in_server_id_list6455);
            	        integer_list1202=integer_list(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleserver_id_listEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, integer_list1202.tree);

            	    }
            	    break;

                }
            }

            CLOSE_PAR_SYMBOL1203 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_server_id_list6458);
            if  (HASEXCEPTION())
            {
                goto ruleserver_id_listEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            CLOSE_PAR_SYMBOL1203_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL1203));
            ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL1203_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 start_slave
 * MySQL.g:1220:1: start_slave : START_SYMBOL ^ SLAVE_SYMBOL ( slave_thread_options )? ( UNTIL_SYMBOL slave_until_options )? slave_connection_options ;
 */
static MySQLParser_start_slave_return
start_slave(pMySQLParser ctx)
{
    MySQLParser_start_slave_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    START_SYMBOL1204;
    pANTLR3_COMMON_TOKEN    SLAVE_SYMBOL1205;
    pANTLR3_COMMON_TOKEN    UNTIL_SYMBOL1207;
    MySQLParser_slave_thread_options_return slave_thread_options1206;
    #undef	RETURN_TYPE_slave_thread_options1206
    #define	RETURN_TYPE_slave_thread_options1206 MySQLParser_slave_thread_options_return

    MySQLParser_slave_until_options_return slave_until_options1208;
    #undef	RETURN_TYPE_slave_until_options1208
    #define	RETURN_TYPE_slave_until_options1208 MySQLParser_slave_until_options_return

    MySQLParser_slave_connection_options_return slave_connection_options1209;
    #undef	RETURN_TYPE_slave_connection_options1209
    #define	RETURN_TYPE_slave_connection_options1209 MySQLParser_slave_connection_options_return

    pANTLR3_BASE_TREE START_SYMBOL1204_tree;
    pANTLR3_BASE_TREE SLAVE_SYMBOL1205_tree;
    pANTLR3_BASE_TREE UNTIL_SYMBOL1207_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    START_SYMBOL1204       = NULL;
    SLAVE_SYMBOL1205       = NULL;
    UNTIL_SYMBOL1207       = NULL;
    slave_thread_options1206.tree = NULL;

    slave_until_options1208.tree = NULL;

    slave_connection_options1209.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    START_SYMBOL1204_tree   = NULL;
    SLAVE_SYMBOL1205_tree   = NULL;
    UNTIL_SYMBOL1207_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1220:12: ( START_SYMBOL ^ SLAVE_SYMBOL ( slave_thread_options )? ( UNTIL_SYMBOL slave_until_options )? slave_connection_options )
        // MySQL.g:1221:2: START_SYMBOL ^ SLAVE_SYMBOL ( slave_thread_options )? ( UNTIL_SYMBOL slave_until_options )? slave_connection_options
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            START_SYMBOL1204 = (pANTLR3_COMMON_TOKEN) MATCHT(START_SYMBOL, &FOLLOW_START_SYMBOL_in_start_slave6467);
            if  (HASEXCEPTION())
            {
                goto rulestart_slaveEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            START_SYMBOL1204_tree = 
            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, START_SYMBOL1204))
            ;
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, START_SYMBOL1204_tree, root_0));
            }

            SLAVE_SYMBOL1205 = (pANTLR3_COMMON_TOKEN) MATCHT(SLAVE_SYMBOL, &FOLLOW_SLAVE_SYMBOL_in_start_slave6470);
            if  (HASEXCEPTION())
            {
                goto rulestart_slaveEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            SLAVE_SYMBOL1205_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SLAVE_SYMBOL1205));
            ADAPTOR->addChild(ADAPTOR, root_0, SLAVE_SYMBOL1205_tree);
            }

            // MySQL.g:1221:29: ( slave_thread_options )?
            {
                int alt406=2;
                switch ( LA(1) )
                {
                    case RELAY_THREAD_SYMBOL:
                    case SQL_THREAD_SYMBOL:
                    	{
                    		alt406=1;
                    	}
                        break;
                }

                switch (alt406)
                {
            	case 1:
            	    // MySQL.g:1221:29: slave_thread_options
            	    {
            	        FOLLOWPUSH(FOLLOW_slave_thread_options_in_start_slave6472);
            	        slave_thread_options1206=slave_thread_options(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulestart_slaveEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, slave_thread_options1206.tree);

            	    }
            	    break;

                }
            }

            // MySQL.g:1221:51: ( UNTIL_SYMBOL slave_until_options )?
            {
                int alt407=2;
                switch ( LA(1) )
                {
                    case UNTIL_SYMBOL:
                    	{
                    		alt407=1;
                    	}
                        break;
                }

                switch (alt407)
                {
            	case 1:
            	    // MySQL.g:1221:52: UNTIL_SYMBOL slave_until_options
            	    {
            	        UNTIL_SYMBOL1207 = (pANTLR3_COMMON_TOKEN) MATCHT(UNTIL_SYMBOL, &FOLLOW_UNTIL_SYMBOL_in_start_slave6476);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulestart_slaveEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        UNTIL_SYMBOL1207_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, UNTIL_SYMBOL1207));
            	        ADAPTOR->addChild(ADAPTOR, root_0, UNTIL_SYMBOL1207_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_slave_until_options_in_start_slave6478);
            	        slave_until_options1208=slave_until_options(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulestart_slaveEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, slave_until_options1208.tree);

            	    }
            	    break;

                }
            }

            FOLLOWPUSH(FOLLOW_slave_connection_options_in_start_slave6482);
            slave_connection_options1209=slave_connection_options(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulestart_slaveEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, slave_connection_options1209.tree);

        }

    }

    // 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:1224: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    set1211;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR1212;
    pANTLR3_COMMON_TOKEN    SQL_AFTER_MTS_GAPS_SYMBOL1214;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL1215;
    MySQLParser_master_file_def_return master_file_def1210;
    #undef	RETURN_TYPE_master_file_def1210
    #define	RETURN_TYPE_master_file_def1210 MySQLParser_master_file_def_return

    MySQLParser_gtid_set_return gtid_set1213;
    #undef	RETURN_TYPE_gtid_set1213
    #define	RETURN_TYPE_gtid_set1213 MySQLParser_gtid_set_return

    MySQLParser_master_file_def_return master_file_def1216;
    #undef	RETURN_TYPE_master_file_def1216
    #define	RETURN_TYPE_master_file_def1216 MySQLParser_master_file_def_return

    pANTLR3_BASE_TREE set1211_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR1212_tree;
    pANTLR3_BASE_TREE SQL_AFTER_MTS_GAPS_SYMBOL1214_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL1215_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    set1211       = NULL;
    EQUAL_OPERATOR1212       = NULL;
    SQL_AFTER_MTS_GAPS_SYMBOL1214       = NULL;
    COMMA_SYMBOL1215       = NULL;
    master_file_def1210.tree = NULL;

    gtid_set1213.tree = NULL;

    master_file_def1216.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    set1211_tree   = NULL;
    EQUAL_OPERATOR1212_tree   = NULL;
    SQL_AFTER_MTS_GAPS_SYMBOL1214_tree   = NULL;
    COMMA_SYMBOL1215_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1224: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:1225: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:1225:2: ( master_file_def |{...}? => ( SQL_BEFORE_GTIDS_SYMBOL | SQL_AFTER_GTIDS_SYMBOL ) EQUAL_OPERATOR gtid_set |{...}? => SQL_AFTER_MTS_GAPS_SYMBOL )
            {
                int alt408=3;
                {
                    int LA408_0 = LA(1);
                    if ( (((LA408_0 >= MASTER_LOG_FILE_SYMBOL) && (LA408_0 <= MASTER_LOG_POS_SYMBOL)) || ((LA408_0 >= RELAY_LOG_FILE_SYMBOL) && (LA408_0 <= RELAY_LOG_POS_SYMBOL))))
                    {
                        alt408=1;
                    }
                    else if ( ((SERVER_VERSION >= 50606)) && (LA408_0 == SQL_AFTER_GTIDS_SYMBOL || LA408_0 == SQL_BEFORE_GTIDS_SYMBOL))
                    {
                        alt408=2;
                    }
                    else if ( ((SERVER_VERSION >= 50606)) && (LA408_0 == SQL_AFTER_MTS_GAPS_SYMBOL))
                    {
                        alt408=3;
                    }
                    else
                    {
                        if (BACKTRACKING>0)
                        {
                            FAILEDFLAG = ANTLR3_TRUE;
                            return retval;
                        }


                        CONSTRUCTEX();
                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                        EXCEPTION->message      = (void *)"";
                        EXCEPTION->decisionNum  = 408;
                        EXCEPTION->state        = 0;


                        goto ruleslave_until_optionsEx;

                    }
                }
                switch (alt408)
                {
            	case 1:
            	    // MySQL.g:1226:3: master_file_def
            	    {
            	        FOLLOWPUSH(FOLLOW_master_file_def_in_slave_until_options6497);
            	        master_file_def1210=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_def1210.tree);

            	    }
            	    break;
            	case 2:
            	    // MySQL.g:1227: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";


            	        }

            	        set1211=(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, set1211))
            	            );
            	            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_OPERATOR1212 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_slave_until_options6515);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleslave_until_optionsEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        EQUAL_OPERATOR1212_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR1212));
            	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR1212_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_gtid_set_in_slave_until_options6517);
            	        gtid_set1213=gtid_set(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleslave_until_optionsEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, gtid_set1213.tree);

            	    }
            	    break;
            	case 3:
            	    // MySQL.g:1228: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_SYMBOL1214 = (pANTLR3_COMMON_TOKEN) MATCHT(SQL_AFTER_MTS_GAPS_SYMBOL, &FOLLOW_SQL_AFTER_MTS_GAPS_SYMBOL_in_slave_until_options6527);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleslave_until_optionsEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        SQL_AFTER_MTS_GAPS_SYMBOL1214_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SQL_AFTER_MTS_GAPS_SYMBOL1214));
            	        ADAPTOR->addChild(ADAPTOR, root_0, SQL_AFTER_MTS_GAPS_SYMBOL1214_tree);
            	        }

            	    }
            	    break;

                }
            }

            // MySQL.g:1230:2: ( COMMA_SYMBOL master_file_def )*

            for (;;)
            {
                int alt409=2;
                switch ( LA(1) )
                {
                case COMMA_SYMBOL:
                	{
                		alt409=1;
                	}
                    break;

                }

                switch (alt409)
                {
            	case 1:
            	    // MySQL.g:1230:3: COMMA_SYMBOL master_file_def
            	    {
            	        COMMA_SYMBOL1215 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_slave_until_options6534);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleslave_until_optionsEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        COMMA_SYMBOL1215_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL1215));
            	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL1215_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_master_file_def_in_slave_until_options6536);
            	        master_file_def1216=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_def1216.tree);

            	    }
            	    break;

            	default:
            	    goto loop409;	/* break out of the loop */
            	    break;
                }
            }
            loop409: ; /* 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:1233: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_SYMBOL1217;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR1218;
    pANTLR3_COMMON_TOKEN    MASTER_LOG_POS_SYMBOL1220;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR1221;
    pANTLR3_COMMON_TOKEN    INTEGER1222;
    pANTLR3_COMMON_TOKEN    RELAY_LOG_FILE_SYMBOL1223;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR1224;
    pANTLR3_COMMON_TOKEN    RELAY_LOG_POS_SYMBOL1226;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR1227;
    pANTLR3_COMMON_TOKEN    INTEGER1228;
    MySQLParser_string_literal_return string_literal1219;
    #undef	RETURN_TYPE_string_literal1219
    #define	RETURN_TYPE_string_literal1219 MySQLParser_string_literal_return

    MySQLParser_string_literal_return string_literal1225;
    #undef	RETURN_TYPE_string_literal1225
    #define	RETURN_TYPE_string_literal1225 MySQLParser_string_literal_return

    pANTLR3_BASE_TREE MASTER_LOG_FILE_SYMBOL1217_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR1218_tree;
    pANTLR3_BASE_TREE MASTER_LOG_POS_SYMBOL1220_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR1221_tree;
    pANTLR3_BASE_TREE INTEGER1222_tree;
    pANTLR3_BASE_TREE RELAY_LOG_FILE_SYMBOL1223_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR1224_tree;
    pANTLR3_BASE_TREE RELAY_LOG_POS_SYMBOL1226_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR1227_tree;
    pANTLR3_BASE_TREE INTEGER1228_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    MASTER_LOG_FILE_SYMBOL1217       = NULL;
    EQUAL_OPERATOR1218       = NULL;
    MASTER_LOG_POS_SYMBOL1220       = NULL;
    EQUAL_OPERATOR1221       = NULL;
    INTEGER1222       = NULL;
    RELAY_LOG_FILE_SYMBOL1223       = NULL;
    EQUAL_OPERATOR1224       = NULL;
    RELAY_LOG_POS_SYMBOL1226       = NULL;
    EQUAL_OPERATOR1227       = NULL;
    INTEGER1228       = NULL;
    string_literal1219.tree = NULL;

    string_literal1225.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    MASTER_LOG_FILE_SYMBOL1217_tree   = NULL;
    EQUAL_OPERATOR1218_tree   = NULL;
    MASTER_LOG_POS_SYMBOL1220_tree   = NULL;
    EQUAL_OPERATOR1221_tree   = NULL;
    INTEGER1222_tree   = NULL;
    RELAY_LOG_FILE_SYMBOL1223_tree   = NULL;
    EQUAL_OPERATOR1224_tree   = NULL;
    RELAY_LOG_POS_SYMBOL1226_tree   = NULL;
    EQUAL_OPERATOR1227_tree   = NULL;
    INTEGER1228_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:1233: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 alt410;

            alt410=4;

            switch ( LA(1) )
            {
            case MASTER_LOG_FILE_SYMBOL:
            	{
            		alt410=1;
            	}
                break;
            case MASTER_LOG_POS_SYMBOL:
            	{
            		alt410=2;
            	}
                break;
            case RELAY_LOG_FILE_SYMBOL:
            	{
            		alt410=3;
            	}
                break;
            case RELAY_LOG_POS_SYMBOL:
            	{
            		alt410=4;
            	}
                break;

            default:
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                EXCEPTION->message      = (void *)"";
                EXCEPTION->decisionNum  = 410;
                EXCEPTION->state        = 0;


                goto rulemaster_file_defEx;

            }

            switch (alt410)
            {
        	case 1:
        	    // MySQL.g:1234:2: MASTER_LOG_FILE_SYMBOL EQUAL_OPERATOR string_literal
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        MASTER_LOG_FILE_SYMBOL1217 = (pANTLR3_COMMON_TOKEN) MATCHT(MASTER_LOG_FILE_SYMBOL, &FOLLOW_MASTER_LOG_FILE_SYMBOL_in_master_file_def6547);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_file_defEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        MASTER_LOG_FILE_SYMBOL1217_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MASTER_LOG_FILE_SYMBOL1217));
        	        ADAPTOR->addChild(ADAPTOR, root_0, MASTER_LOG_FILE_SYMBOL1217_tree);
        	        }

        	        EQUAL_OPERATOR1218 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_master_file_def6549);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_file_defEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        EQUAL_OPERATOR1218_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR1218));
        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR1218_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_string_literal_in_master_file_def6551);
        	        string_literal1219=string_literal(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_file_defEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_literal1219.tree);

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:1235:4: MASTER_LOG_POS_SYMBOL EQUAL_OPERATOR INTEGER
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        MASTER_LOG_POS_SYMBOL1220 = (pANTLR3_COMMON_TOKEN) MATCHT(MASTER_LOG_POS_SYMBOL, &FOLLOW_MASTER_LOG_POS_SYMBOL_in_master_file_def6556);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_file_defEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        MASTER_LOG_POS_SYMBOL1220_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MASTER_LOG_POS_SYMBOL1220));
        	        ADAPTOR->addChild(ADAPTOR, root_0, MASTER_LOG_POS_SYMBOL1220_tree);
        	        }

        	        EQUAL_OPERATOR1221 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_master_file_def6558);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_file_defEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        EQUAL_OPERATOR1221_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR1221));
        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR1221_tree);
        	        }

        	        INTEGER1222 = (pANTLR3_COMMON_TOKEN) MATCHT(INTEGER, &FOLLOW_INTEGER_in_master_file_def6560);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_file_defEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        INTEGER1222_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INTEGER1222));
        	        ADAPTOR->addChild(ADAPTOR, root_0, INTEGER1222_tree);
        	        }

        	    }
        	    break;
        	case 3:
        	    // MySQL.g:1236:4: RELAY_LOG_FILE_SYMBOL EQUAL_OPERATOR string_literal
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        RELAY_LOG_FILE_SYMBOL1223 = (pANTLR3_COMMON_TOKEN) MATCHT(RELAY_LOG_FILE_SYMBOL, &FOLLOW_RELAY_LOG_FILE_SYMBOL_in_master_file_def6565);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_file_defEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        RELAY_LOG_FILE_SYMBOL1223_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, RELAY_LOG_FILE_SYMBOL1223));
        	        ADAPTOR->addChild(ADAPTOR, root_0, RELAY_LOG_FILE_SYMBOL1223_tree);
        	        }

        	        EQUAL_OPERATOR1224 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_master_file_def6567);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_file_defEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        EQUAL_OPERATOR1224_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR1224));
        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR1224_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_string_literal_in_master_file_def6569);
        	        string_literal1225=string_literal(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_file_defEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_literal1225.tree);

        	    }
        	    break;
        	case 4:
        	    // MySQL.g:1237:4: RELAY_LOG_POS_SYMBOL EQUAL_OPERATOR INTEGER
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        RELAY_LOG_POS_SYMBOL1226 = (pANTLR3_COMMON_TOKEN) MATCHT(RELAY_LOG_POS_SYMBOL, &FOLLOW_RELAY_LOG_POS_SYMBOL_in_master_file_def6574);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_file_defEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        RELAY_LOG_POS_SYMBOL1226_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, RELAY_LOG_POS_SYMBOL1226));
        	        ADAPTOR->addChild(ADAPTOR, root_0, RELAY_LOG_POS_SYMBOL1226_tree);
        	        }

        	        EQUAL_OPERATOR1227 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_master_file_def6576);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_file_defEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        EQUAL_OPERATOR1227_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR1227));
        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR1227_tree);
        	        }

        	        INTEGER1228 = (pANTLR3_COMMON_TOKEN) MATCHT(INTEGER, &FOLLOW_INTEGER_in_master_file_def6578);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemaster_file_defEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        INTEGER1228_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INTEGER1228));
        	        ADAPTOR->addChild(ADAPTOR, root_0, INTEGER1228_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:1240: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_SYMBOL1229;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR1230;
    pANTLR3_COMMON_TOKEN    PASSWORD_SYMBOL1232;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR1233;
    pANTLR3_COMMON_TOKEN    DEFAULT_AUTH_SYMBOL1235;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR1236;
    pANTLR3_COMMON_TOKEN    PLUGIN_DIR_SYMBOL1238;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR1239;
    MySQLParser_string_literal_return string_literal1231;
    #undef	RETURN_TYPE_string_literal1231
    #define	RETURN_TYPE_string_literal1231 MySQLParser_string_literal_return

    MySQLParser_string_literal_return string_literal1234;
    #undef	RETURN_TYPE_string_literal1234
    #define	RETURN_TYPE_string_literal1234 MySQLParser_string_literal_return

    MySQLParser_string_literal_return string_literal1237;
    #undef	RETURN_TYPE_string_literal1237
    #define	RETURN_TYPE_string_literal1237 MySQLParser_string_literal_return

    MySQLParser_string_literal_return string_literal1240;
    #undef	RETURN_TYPE_string_literal1240
    #define	RETURN_TYPE_string_literal1240 MySQLParser_string_literal_return

    pANTLR3_BASE_TREE USER_SYMBOL1229_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR1230_tree;
    pANTLR3_BASE_TREE PASSWORD_SYMBOL1232_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR1233_tree;
    pANTLR3_BASE_TREE DEFAULT_AUTH_SYMBOL1235_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR1236_tree;
    pANTLR3_BASE_TREE PLUGIN_DIR_SYMBOL1238_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR1239_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    USER_SYMBOL1229       = NULL;
    EQUAL_OPERATOR1230       = NULL;
    PASSWORD_SYMBOL1232       = NULL;
    EQUAL_OPERATOR1233       = NULL;
    DEFAULT_AUTH_SYMBOL1235       = NULL;
    EQUAL_OPERATOR1236       = NULL;
    PLUGIN_DIR_SYMBOL1238       = NULL;
    EQUAL_OPERATOR1239       = NULL;
    string_literal1231.tree = NULL;

    string_literal1234.tree = NULL;

    string_literal1237.tree = NULL;

    string_literal1240.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    USER_SYMBOL1229_tree   = NULL;
    EQUAL_OPERATOR1230_tree   = NULL;
    PASSWORD_SYMBOL1232_tree   = NULL;
    EQUAL_OPERATOR1233_tree   = NULL;
    DEFAULT_AUTH_SYMBOL1235_tree   = NULL;
    EQUAL_OPERATOR1236_tree   = NULL;
    PLUGIN_DIR_SYMBOL1238_tree   = NULL;
    EQUAL_OPERATOR1239_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:1240: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 alt415;

            alt415=2;

            {
                int LA415_0 = LA(1);
                if ( ((SERVER_VERSION >= 50604)) && (LA415_0 == DEFAULT_AUTH_SYMBOL || LA415_0 == PASSWORD_SYMBOL || LA415_0 == PLUGIN_DIR_SYMBOL || LA415_0 == USER_SYMBOL))
                {
                    alt415=1;
                }
                else if ( (LA415_0 == SEMICOLON_SYMBOL))
                {
                    {
                        int LA415_5 = LA(2);
                        if ( ((SERVER_VERSION >= 50604)))
                        {
                            alt415=1;
                        }
                        else if ( (ANTLR3_TRUE))
                        {
                            alt415=2;
                        }
                        else
                        {
                            if (BACKTRACKING>0)
                            {
                                FAILEDFLAG = ANTLR3_TRUE;
                                return retval;
                            }


                            CONSTRUCTEX();
                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                            EXCEPTION->message      = (void *)"";
                            EXCEPTION->decisionNum  = 415;
                            EXCEPTION->state        = 5;


                            goto ruleslave_connection_optionsEx;

                        }
                    }
                }
                else if ( (LA415_0 == EOF))
                {
                    {
                        int LA415_6 = LA(2);
                        if ( ((SERVER_VERSION >= 50604)))
                        {
                            alt415=1;
                        }
                        else if ( (ANTLR3_TRUE))
                        {
                            alt415=2;
                        }
                        else
                        {
                            if (BACKTRACKING>0)
                            {
                                FAILEDFLAG = ANTLR3_TRUE;
                                return retval;
                            }


                            CONSTRUCTEX();
                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                            EXCEPTION->message      = (void *)"";
                            EXCEPTION->decisionNum  = 415;
                            EXCEPTION->state        = 6;


                            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  = 415;
                    EXCEPTION->state        = 0;


                    goto ruleslave_connection_optionsEx;

                }
            }
            switch (alt415)
            {
        	case 1:
        	    // MySQL.g:1241: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:1241:32: ( USER_SYMBOL EQUAL_OPERATOR string_literal )?
        	        {
        	            int alt411=2;
        	            switch ( LA(1) )
        	            {
        	                case USER_SYMBOL:
        	                	{
        	                		alt411=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt411)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1241:33: USER_SYMBOL EQUAL_OPERATOR string_literal
        	        	    {
        	        	        USER_SYMBOL1229 = (pANTLR3_COMMON_TOKEN) MATCHT(USER_SYMBOL, &FOLLOW_USER_SYMBOL_in_slave_connection_options6592);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleslave_connection_optionsEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        USER_SYMBOL1229_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, USER_SYMBOL1229));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, USER_SYMBOL1229_tree);
        	        	        }

        	        	        EQUAL_OPERATOR1230 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_slave_connection_options6594);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleslave_connection_optionsEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        EQUAL_OPERATOR1230_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR1230));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR1230_tree);
        	        	        }

        	        	        FOLLOWPUSH(FOLLOW_string_literal_in_slave_connection_options6596);
        	        	        string_literal1231=string_literal(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleslave_connection_optionsEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_literal1231.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	        // MySQL.g:1241:77: ( PASSWORD_SYMBOL EQUAL_OPERATOR string_literal )?
        	        {
        	            int alt412=2;
        	            switch ( LA(1) )
        	            {
        	                case PASSWORD_SYMBOL:
        	                	{
        	                		alt412=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt412)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1241:78: PASSWORD_SYMBOL EQUAL_OPERATOR string_literal
        	        	    {
        	        	        PASSWORD_SYMBOL1232 = (pANTLR3_COMMON_TOKEN) MATCHT(PASSWORD_SYMBOL, &FOLLOW_PASSWORD_SYMBOL_in_slave_connection_options6601);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleslave_connection_optionsEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        PASSWORD_SYMBOL1232_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, PASSWORD_SYMBOL1232));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, PASSWORD_SYMBOL1232_tree);
        	        	        }

        	        	        EQUAL_OPERATOR1233 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_slave_connection_options6603);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleslave_connection_optionsEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        EQUAL_OPERATOR1233_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR1233));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR1233_tree);
        	        	        }

        	        	        FOLLOWPUSH(FOLLOW_string_literal_in_slave_connection_options6605);
        	        	        string_literal1234=string_literal(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleslave_connection_optionsEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_literal1234.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	        // MySQL.g:1242:3: ( DEFAULT_AUTH_SYMBOL EQUAL_OPERATOR string_literal )?
        	        {
        	            int alt413=2;
        	            switch ( LA(1) )
        	            {
        	                case DEFAULT_AUTH_SYMBOL:
        	                	{
        	                		alt413=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt413)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1242:4: DEFAULT_AUTH_SYMBOL EQUAL_OPERATOR string_literal
        	        	    {
        	        	        DEFAULT_AUTH_SYMBOL1235 = (pANTLR3_COMMON_TOKEN) MATCHT(DEFAULT_AUTH_SYMBOL, &FOLLOW_DEFAULT_AUTH_SYMBOL_in_slave_connection_options6612);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleslave_connection_optionsEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        DEFAULT_AUTH_SYMBOL1235_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DEFAULT_AUTH_SYMBOL1235));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, DEFAULT_AUTH_SYMBOL1235_tree);
        	        	        }

        	        	        EQUAL_OPERATOR1236 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_slave_connection_options6614);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleslave_connection_optionsEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        EQUAL_OPERATOR1236_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR1236));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR1236_tree);
        	        	        }

        	        	        FOLLOWPUSH(FOLLOW_string_literal_in_slave_connection_options6616);
        	        	        string_literal1237=string_literal(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleslave_connection_optionsEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_literal1237.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	        // MySQL.g:1242:56: ( PLUGIN_DIR_SYMBOL EQUAL_OPERATOR string_literal )?
        	        {
        	            int alt414=2;
        	            switch ( LA(1) )
        	            {
        	                case PLUGIN_DIR_SYMBOL:
        	                	{
        	                		alt414=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt414)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1242:57: PLUGIN_DIR_SYMBOL EQUAL_OPERATOR string_literal
        	        	    {
        	        	        PLUGIN_DIR_SYMBOL1238 = (pANTLR3_COMMON_TOKEN) MATCHT(PLUGIN_DIR_SYMBOL, &FOLLOW_PLUGIN_DIR_SYMBOL_in_slave_connection_options6621);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleslave_connection_optionsEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        PLUGIN_DIR_SYMBOL1238_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, PLUGIN_DIR_SYMBOL1238));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, PLUGIN_DIR_SYMBOL1238_tree);
        	        	        }

        	        	        EQUAL_OPERATOR1239 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_slave_connection_options6623);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleslave_connection_optionsEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        EQUAL_OPERATOR1239_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR1239));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR1239_tree);
        	        	        }

        	        	        FOLLOWPUSH(FOLLOW_string_literal_in_slave_connection_options6625);
        	        	        string_literal1240=string_literal(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleslave_connection_optionsEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_literal1240.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:1244: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:1246:1: stop_slave : STOP_SYMBOL ^ SLAVE_SYMBOL ( slave_thread_options )? ;
 */
static MySQLParser_stop_slave_return
stop_slave(pMySQLParser ctx)
{
    MySQLParser_stop_slave_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    STOP_SYMBOL1241;
    pANTLR3_COMMON_TOKEN    SLAVE_SYMBOL1242;
    MySQLParser_slave_thread_options_return slave_thread_options1243;
    #undef	RETURN_TYPE_slave_thread_options1243
    #define	RETURN_TYPE_slave_thread_options1243 MySQLParser_slave_thread_options_return

    pANTLR3_BASE_TREE STOP_SYMBOL1241_tree;
    pANTLR3_BASE_TREE SLAVE_SYMBOL1242_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    STOP_SYMBOL1241       = NULL;
    SLAVE_SYMBOL1242       = NULL;
    slave_thread_options1243.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    STOP_SYMBOL1241_tree   = NULL;
    SLAVE_SYMBOL1242_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1246:11: ( STOP_SYMBOL ^ SLAVE_SYMBOL ( slave_thread_options )? )
        // MySQL.g:1247:2: STOP_SYMBOL ^ SLAVE_SYMBOL ( slave_thread_options )?
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            STOP_SYMBOL1241 = (pANTLR3_COMMON_TOKEN) MATCHT(STOP_SYMBOL, &FOLLOW_STOP_SYMBOL_in_stop_slave6640);
            if  (HASEXCEPTION())
            {
                goto rulestop_slaveEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            STOP_SYMBOL1241_tree = 
            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, STOP_SYMBOL1241))
            ;
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, STOP_SYMBOL1241_tree, root_0));
            }

            SLAVE_SYMBOL1242 = (pANTLR3_COMMON_TOKEN) MATCHT(SLAVE_SYMBOL, &FOLLOW_SLAVE_SYMBOL_in_stop_slave6643);
            if  (HASEXCEPTION())
            {
                goto rulestop_slaveEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            SLAVE_SYMBOL1242_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SLAVE_SYMBOL1242));
            ADAPTOR->addChild(ADAPTOR, root_0, SLAVE_SYMBOL1242_tree);
            }

            // MySQL.g:1247:28: ( slave_thread_options )?
            {
                int alt416=2;
                switch ( LA(1) )
                {
                    case RELAY_THREAD_SYMBOL:
                    case SQL_THREAD_SYMBOL:
                    	{
                    		alt416=1;
                    	}
                        break;
                }

                switch (alt416)
                {
            	case 1:
            	    // MySQL.g:1247:28: slave_thread_options
            	    {
            	        FOLLOWPUSH(FOLLOW_slave_thread_options_in_stop_slave6645);
            	        slave_thread_options1243=slave_thread_options(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulestop_slaveEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, slave_thread_options1243.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:1250:1: slave_thread_options : slave_thread_option ( COMMA_SYMBOL slave_thread_option )* -> ^( SLAVE_THREAD_OPTIONS 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_SYMBOL1245;
    MySQLParser_slave_thread_option_return slave_thread_option1244;
    #undef	RETURN_TYPE_slave_thread_option1244
    #define	RETURN_TYPE_slave_thread_option1244 MySQLParser_slave_thread_option_return

    MySQLParser_slave_thread_option_return slave_thread_option1246;
    #undef	RETURN_TYPE_slave_thread_option1246
    #define	RETURN_TYPE_slave_thread_option1246 MySQLParser_slave_thread_option_return

    pANTLR3_BASE_TREE COMMA_SYMBOL1245_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_SYMBOL1245       = NULL;
    slave_thread_option1244.tree = NULL;

    slave_thread_option1246.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    COMMA_SYMBOL1245_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:1250:21: ( slave_thread_option ( COMMA_SYMBOL slave_thread_option )* -> ^( SLAVE_THREAD_OPTIONS slave_thread_option ( COMMA_SYMBOL slave_thread_option )* ) )
        // MySQL.g:1251:2: slave_thread_option ( COMMA_SYMBOL slave_thread_option )*
        {
            FOLLOWPUSH(FOLLOW_slave_thread_option_in_slave_thread_options6655);
            slave_thread_option1244=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_option1244.tree, NULL); }

            // MySQL.g:1251:22: ( COMMA_SYMBOL slave_thread_option )*

            for (;;)
            {
                int alt417=2;
                switch ( LA(1) )
                {
                case COMMA_SYMBOL:
                	{
                		alt417=1;
                	}
                    break;

                }

                switch (alt417)
                {
            	case 1:
            	    // MySQL.g:1251:23: COMMA_SYMBOL slave_thread_option
            	    {
            	        COMMA_SYMBOL1245 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_slave_thread_options6658);
            	        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_SYMBOL1245, NULL); }


            	        FOLLOWPUSH(FOLLOW_slave_thread_option_in_slave_thread_options6660);
            	        slave_thread_option1246=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_option1246.tree, NULL); }

            	    }
            	    break;

            	default:
            	    goto loop417;	/* break out of the loop */
            	    break;
                }
            }
            loop417: ; /* Jump out to here if this rule does not match */


            /* AST REWRITE
             * elements          : COMMA_SYMBOL, slave_thread_option, slave_thread_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;
            	// 1251:58: -> ^( SLAVE_THREAD_OPTIONS slave_thread_option ( COMMA_SYMBOL slave_thread_option )* )
            	{
            	    // MySQL.g:1251:61: ^( SLAVE_THREAD_OPTIONS 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, (pANTLR3_UINT8)"SLAVE_THREAD_OPTIONS")
            	        , root_1));

            	        ADAPTOR->addChild(ADAPTOR, root_1, stream_slave_thread_option == NULL ? NULL : stream_slave_thread_option->nextTree(stream_slave_thread_option));

            	        // MySQL.g:1251:104: ( COMMA_SYMBOL slave_thread_option )*
            	        {
            	        	while ( (stream_COMMA_SYMBOL != NULL && stream_COMMA_SYMBOL->hasNext(stream_COMMA_SYMBOL)) || (stream_slave_thread_option != NULL && stream_slave_thread_option->hasNext(stream_slave_thread_option))  )
            	        	{
            	        		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_COMMA_SYMBOL != NULL) stream_COMMA_SYMBOL->reset(stream_COMMA_SYMBOL);
            	        	if (stream_slave_thread_option != NULL) stream_slave_thread_option->reset(stream_slave_thread_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 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:1254: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    set1247;

    pANTLR3_BASE_TREE set1247_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    set1247       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    set1247_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1254:20: ( RELAY_THREAD_SYMBOL | SQL_THREAD_SYMBOL )
        // MySQL.g:
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            set1247=(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, set1247))
                );
                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:1258: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_literal1248;
    #undef	RETURN_TYPE_string_literal1248
    #define	RETURN_TYPE_string_literal1248 MySQLParser_string_literal_return


    /* Initialize rule variables
     */

    root_0 = NULL;

    string_literal1248.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;




    retval.tree  = NULL;

    {
        // MySQL.g:1258:9: ( string_literal )
        // MySQL.g:1259:2: string_literal
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            FOLLOWPUSH(FOLLOW_string_literal_in_gtid_set6699);
            string_literal1248=string_literal(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulegtid_setEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_literal1248.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:1264: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_SYMBOL1249;
    pANTLR3_COMMON_TOKEN    FROM_SYMBOL1251;
    pANTLR3_COMMON_TOKEN    set1255;
    pANTLR3_COMMON_TOKEN    PREPARE_SYMBOL1256;
    MySQLParser_identifier_return identifier1250;
    #undef	RETURN_TYPE_identifier1250
    #define	RETURN_TYPE_identifier1250 MySQLParser_identifier_return

    MySQLParser_string_literal_return string_literal1252;
    #undef	RETURN_TYPE_string_literal1252
    #define	RETURN_TYPE_string_literal1252 MySQLParser_string_literal_return

    MySQLParser_user_variable_return user_variable1253;
    #undef	RETURN_TYPE_user_variable1253
    #define	RETURN_TYPE_user_variable1253 MySQLParser_user_variable_return

    MySQLParser_execute_statement_return execute_statement1254;
    #undef	RETURN_TYPE_execute_statement1254
    #define	RETURN_TYPE_execute_statement1254 MySQLParser_execute_statement_return

    MySQLParser_identifier_return identifier1257;
    #undef	RETURN_TYPE_identifier1257
    #define	RETURN_TYPE_identifier1257 MySQLParser_identifier_return

    pANTLR3_BASE_TREE PREPARE_SYMBOL1249_tree;
    pANTLR3_BASE_TREE FROM_SYMBOL1251_tree;
    pANTLR3_BASE_TREE set1255_tree;
    pANTLR3_BASE_TREE PREPARE_SYMBOL1256_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    PREPARE_SYMBOL1249       = NULL;
    FROM_SYMBOL1251       = NULL;
    set1255       = NULL;
    PREPARE_SYMBOL1256       = NULL;
    identifier1250.tree = NULL;

    string_literal1252.tree = NULL;

    user_variable1253.tree = NULL;

    execute_statement1254.tree = NULL;

    identifier1257.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    PREPARE_SYMBOL1249_tree   = NULL;
    FROM_SYMBOL1251_tree   = NULL;
    set1255_tree   = NULL;
    PREPARE_SYMBOL1256_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:1264:19: ( PREPARE_SYMBOL ^ identifier FROM_SYMBOL ( string_literal | user_variable ) | execute_statement | ( DEALLOCATE_SYMBOL | DROP_SYMBOL ) ^ PREPARE_SYMBOL identifier )

            ANTLR3_UINT32 alt419;

            alt419=3;

            switch ( LA(1) )
            {
            case PREPARE_SYMBOL:
            	{
            		alt419=1;
            	}
                break;
            case EXECUTE_SYMBOL:
            	{
            		alt419=2;
            	}
                break;
            case DEALLOCATE_SYMBOL:
            case DROP_SYMBOL:
            	{
            		alt419=3;
            	}
                break;

            default:
                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 ruleprepared_statementEx;

            }

            switch (alt419)
            {
        	case 1:
        	    // MySQL.g:1265:2: PREPARE_SYMBOL ^ identifier FROM_SYMBOL ( string_literal | user_variable )
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        PREPARE_SYMBOL1249 = (pANTLR3_COMMON_TOKEN) MATCHT(PREPARE_SYMBOL, &FOLLOW_PREPARE_SYMBOL_in_prepared_statement6711);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleprepared_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        PREPARE_SYMBOL1249_tree = 
        	        (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, PREPARE_SYMBOL1249))
        	        ;
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, PREPARE_SYMBOL1249_tree, root_0));
        	        }

        	        FOLLOWPUSH(FOLLOW_identifier_in_prepared_statement6714);
        	        identifier1250=identifier(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleprepared_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier1250.tree);

        	        FROM_SYMBOL1251 = (pANTLR3_COMMON_TOKEN) MATCHT(FROM_SYMBOL, &FOLLOW_FROM_SYMBOL_in_prepared_statement6716);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleprepared_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        FROM_SYMBOL1251_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, FROM_SYMBOL1251));
        	        ADAPTOR->addChild(ADAPTOR, root_0, FROM_SYMBOL1251_tree);
        	        }

        	        // MySQL.g:1265:41: ( string_literal | user_variable )
        	        {
        	            int alt418=2;
        	            {
        	                int LA418_0 = LA(1);
        	                if ( (LA418_0 == NCHAR_TEXT || LA418_0 == SINGLE_QUOTED_TEXT || LA418_0 == UNDERSCORE_CHARSET))
        	                {
        	                    alt418=1;
        	                }
        	                else if ( ((!SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA418_0 == DOUBLE_QUOTED_TEXT))
        	                {
        	                    alt418=1;
        	                }
        	                else if ( (LA418_0 == AT_SIGN_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 ruleprepared_statementEx;

        	                }
        	            }
        	            switch (alt418)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1265:42: string_literal
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_string_literal_in_prepared_statement6719);
        	        	        string_literal1252=string_literal(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleprepared_statementEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_literal1252.tree);

        	        	    }
        	        	    break;
        	        	case 2:
        	        	    // MySQL.g:1265:59: user_variable
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_user_variable_in_prepared_statement6723);
        	        	        user_variable1253=user_variable(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleprepared_statementEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, user_variable1253.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:1266:4: execute_statement
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_execute_statement_in_prepared_statement6729);
        	        execute_statement1254=execute_statement(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleprepared_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, execute_statement1254.tree);

        	    }
        	    break;
        	case 3:
        	    // MySQL.g:1267:4: ( DEALLOCATE_SYMBOL | DROP_SYMBOL ) ^ PREPARE_SYMBOL identifier
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        set1255=(pANTLR3_COMMON_TOKEN)LT(1);

        	        set1255=(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, set1255))
        	            , 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_SYMBOL1256 = (pANTLR3_COMMON_TOKEN) MATCHT(PREPARE_SYMBOL, &FOLLOW_PREPARE_SYMBOL_in_prepared_statement6743);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleprepared_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        PREPARE_SYMBOL1256_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, PREPARE_SYMBOL1256));
        	        ADAPTOR->addChild(ADAPTOR, root_0, PREPARE_SYMBOL1256_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_identifier_in_prepared_statement6745);
        	        identifier1257=identifier(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleprepared_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier1257.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:1270: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_SYMBOL1258;
    pANTLR3_COMMON_TOKEN    USING_SYMBOL1260;
    MySQLParser_identifier_return identifier1259;
    #undef	RETURN_TYPE_identifier1259
    #define	RETURN_TYPE_identifier1259 MySQLParser_identifier_return

    MySQLParser_execute_var_list_return execute_var_list1261;
    #undef	RETURN_TYPE_execute_var_list1261
    #define	RETURN_TYPE_execute_var_list1261 MySQLParser_execute_var_list_return

    pANTLR3_BASE_TREE EXECUTE_SYMBOL1258_tree;
    pANTLR3_BASE_TREE USING_SYMBOL1260_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    EXECUTE_SYMBOL1258       = NULL;
    USING_SYMBOL1260       = NULL;
    identifier1259.tree = NULL;

    execute_var_list1261.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    EXECUTE_SYMBOL1258_tree   = NULL;
    USING_SYMBOL1260_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1270:18: ( EXECUTE_SYMBOL ^ identifier USING_SYMBOL execute_var_list )
        // MySQL.g:1271:2: EXECUTE_SYMBOL ^ identifier USING_SYMBOL execute_var_list
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            EXECUTE_SYMBOL1258 = (pANTLR3_COMMON_TOKEN) MATCHT(EXECUTE_SYMBOL, &FOLLOW_EXECUTE_SYMBOL_in_execute_statement6754);
            if  (HASEXCEPTION())
            {
                goto ruleexecute_statementEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            EXECUTE_SYMBOL1258_tree = 
            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EXECUTE_SYMBOL1258))
            ;
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, EXECUTE_SYMBOL1258_tree, root_0));
            }

            FOLLOWPUSH(FOLLOW_identifier_in_execute_statement6757);
            identifier1259=identifier(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruleexecute_statementEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier1259.tree);

            USING_SYMBOL1260 = (pANTLR3_COMMON_TOKEN) MATCHT(USING_SYMBOL, &FOLLOW_USING_SYMBOL_in_execute_statement6759);
            if  (HASEXCEPTION())
            {
                goto ruleexecute_statementEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            USING_SYMBOL1260_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, USING_SYMBOL1260));
            ADAPTOR->addChild(ADAPTOR, root_0, USING_SYMBOL1260_tree);
            }

            FOLLOWPUSH(FOLLOW_execute_var_list_in_execute_statement6761);
            execute_var_list1261=execute_var_list(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruleexecute_statementEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, execute_var_list1261.tree);

        }

    }

    // 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:1274: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_SYMBOL1263;
    MySQLParser_user_variable_return user_variable1262;
    #undef	RETURN_TYPE_user_variable1262
    #define	RETURN_TYPE_user_variable1262 MySQLParser_user_variable_return

    MySQLParser_user_variable_return user_variable1264;
    #undef	RETURN_TYPE_user_variable1264
    #define	RETURN_TYPE_user_variable1264 MySQLParser_user_variable_return

    pANTLR3_BASE_TREE COMMA_SYMBOL1263_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    COMMA_SYMBOL1263       = NULL;
    user_variable1262.tree = NULL;

    user_variable1264.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    COMMA_SYMBOL1263_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1274:17: ( user_variable ( COMMA_SYMBOL user_variable )* )
        // MySQL.g:1275:2: user_variable ( COMMA_SYMBOL user_variable )*
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            FOLLOWPUSH(FOLLOW_user_variable_in_execute_var_list6770);
            user_variable1262=user_variable(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruleexecute_var_listEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, user_variable1262.tree);

            // MySQL.g:1275:16: ( COMMA_SYMBOL user_variable )*

            for (;;)
            {
                int alt420=2;
                switch ( LA(1) )
                {
                case COMMA_SYMBOL:
                	{
                		alt420=1;
                	}
                    break;

                }

                switch (alt420)
                {
            	case 1:
            	    // MySQL.g:1275:17: COMMA_SYMBOL user_variable
            	    {
            	        COMMA_SYMBOL1263 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_execute_var_list6773);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleexecute_var_listEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        COMMA_SYMBOL1263_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL1263));
            	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL1263_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_user_variable_in_execute_var_list6775);
            	        user_variable1264=user_variable(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleexecute_var_listEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, user_variable1264.tree);

            	    }
            	    break;

            	default:
            	    goto loop420;	/* break out of the loop */
            	    break;
                }
            }
            loop420: ; /* 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:1280:1: account_management_statement : ({...}? => alter_user | 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_return alter_user1265;
    #undef	RETURN_TYPE_alter_user1265
    #define	RETURN_TYPE_alter_user1265 MySQLParser_alter_user_return

    MySQLParser_create_user_return create_user1266;
    #undef	RETURN_TYPE_create_user1266
    #define	RETURN_TYPE_create_user1266 MySQLParser_create_user_return

    MySQLParser_drop_user_return drop_user1267;
    #undef	RETURN_TYPE_drop_user1267
    #define	RETURN_TYPE_drop_user1267 MySQLParser_drop_user_return

    MySQLParser_grant_proxy_return grant_proxy1268;
    #undef	RETURN_TYPE_grant_proxy1268
    #define	RETURN_TYPE_grant_proxy1268 MySQLParser_grant_proxy_return

    MySQLParser_grant_return grant1269;
    #undef	RETURN_TYPE_grant1269
    #define	RETURN_TYPE_grant1269 MySQLParser_grant_return

    MySQLParser_rename_user_return rename_user1270;
    #undef	RETURN_TYPE_rename_user1270
    #define	RETURN_TYPE_rename_user1270 MySQLParser_rename_user_return

    MySQLParser_revoke_statement_return revoke_statement1271;
    #undef	RETURN_TYPE_revoke_statement1271
    #define	RETURN_TYPE_revoke_statement1271 MySQLParser_revoke_statement_return

    MySQLParser_set_password_return set_password1272;
    #undef	RETURN_TYPE_set_password1272
    #define	RETURN_TYPE_set_password1272 MySQLParser_set_password_return


    /* Initialize rule variables
     */

    root_0 = NULL;

    alter_user1265.tree = NULL;

    create_user1266.tree = NULL;

    drop_user1267.tree = NULL;

    grant_proxy1268.tree = NULL;

    grant1269.tree = NULL;

    rename_user1270.tree = NULL;

    revoke_statement1271.tree = NULL;

    set_password1272.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;




    retval.tree  = NULL;

    {
        {
            //  MySQL.g:1280:29: ({...}? => alter_user | create_user | drop_user |{...}? => grant_proxy | grant | rename_user | revoke_statement | set_password )

            ANTLR3_UINT32 alt421;

            alt421=8;

            {
                int LA421_0 = LA(1);
                if ( ((SERVER_VERSION >= 50606)) && (LA421_0 == ALTER_SYMBOL))
                {
                    alt421=1;
                }
                else if ( (LA421_0 == CREATE_SYMBOL))
                {
                    alt421=2;
                }
                else if ( (LA421_0 == DROP_SYMBOL))
                {
                    alt421=3;
                }
                else if ( (LA421_0 == GRANT_SYMBOL))
                {
                    switch ( LA(2) )
                    {
                    case PROXY_SYMBOL:
                    	{
                    		{
                    		    int LA421_8 = LA(3);
                    		    if ( ((SERVER_VERSION >= 50500)))
                    		    {
                    		        alt421=4;
                    		    }
                    		    else if ( (ANTLR3_TRUE))
                    		    {
                    		        alt421=5;
                    		    }
                    		    else
                    		    {
                    		        if (BACKTRACKING>0)
                    		        {
                    		            FAILEDFLAG = ANTLR3_TRUE;
                    		            return retval;
                    		        }


                    		        CONSTRUCTEX();
                    		        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    		        EXCEPTION->message      = (void *)"";
                    		        EXCEPTION->decisionNum  = 421;
                    		        EXCEPTION->state        = 8;


                    		        goto ruleaccount_management_statementEx;

                    		    }
                    		}
                    	}
                        break;
                    case EVENT_SYMBOL:
                    case FILE_SYMBOL:
                    case PROCESS_SYMBOL:
                    case RELOAD_SYMBOL:
                    case REPLICATION_SYMBOL:
                    case SHUTDOWN_SYMBOL:
                    case SUPER_SYMBOL:
                    case EXECUTE_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:
                    	{
                    		alt421=5;
                    	}
                        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        = 4;


                        goto ruleaccount_management_statementEx;

                    }

                }
                else if ( (LA421_0 == RENAME_SYMBOL))
                {
                    alt421=6;
                }
                else if ( (LA421_0 == REVOKE_SYMBOL))
                {
                    alt421=7;
                }
                else if ( (LA421_0 == SET_SYMBOL))
                {
                    alt421=8;
                }
                else
                {
                    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 ruleaccount_management_statementEx;

                }
            }
            switch (alt421)
            {
        	case 1:
        	    // MySQL.g:1281:2: {...}? => alter_user
        	    {
        	        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_in_account_management_statement6792);
        	        alter_user1265=alter_user(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaccount_management_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, alter_user1265.tree);

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:1282:4: create_user
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_create_user_in_account_management_statement6797);
        	        create_user1266=create_user(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaccount_management_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, create_user1266.tree);

        	    }
        	    break;
        	case 3:
        	    // MySQL.g:1283:4: drop_user
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_drop_user_in_account_management_statement6802);
        	        drop_user1267=drop_user(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaccount_management_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, drop_user1267.tree);

        	    }
        	    break;
        	case 4:
        	    // MySQL.g:1284: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_statement6811);
        	        grant_proxy1268=grant_proxy(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaccount_management_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, grant_proxy1268.tree);

        	    }
        	    break;
        	case 5:
        	    // MySQL.g:1285:4: grant
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_grant_in_account_management_statement6816);
        	        grant1269=grant(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaccount_management_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, grant1269.tree);

        	    }
        	    break;
        	case 6:
        	    // MySQL.g:1286:4: rename_user
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_rename_user_in_account_management_statement6821);
        	        rename_user1270=rename_user(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaccount_management_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, rename_user1270.tree);

        	    }
        	    break;
        	case 7:
        	    // MySQL.g:1287:4: revoke_statement
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_revoke_statement_in_account_management_statement6826);
        	        revoke_statement1271=revoke_statement(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaccount_management_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, revoke_statement1271.tree);

        	    }
        	    break;
        	case 8:
        	    // MySQL.g:1288:4: set_password
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_set_password_in_account_management_statement6831);
        	        set_password1272=set_password(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaccount_management_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, set_password1272.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
 * MySQL.g:1291:1: alter_user : ALTER_SYMBOL ^ USER_SYMBOL user PASSWORD_SYMBOL EXPIRE_SYMBOL ( COMMA_SYMBOL user PASSWORD_SYMBOL EXPIRE_SYMBOL )* ;
 */
static MySQLParser_alter_user_return
alter_user(pMySQLParser ctx)
{
    MySQLParser_alter_user_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    ALTER_SYMBOL1273;
    pANTLR3_COMMON_TOKEN    USER_SYMBOL1274;
    pANTLR3_COMMON_TOKEN    PASSWORD_SYMBOL1276;
    pANTLR3_COMMON_TOKEN    EXPIRE_SYMBOL1277;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL1278;
    pANTLR3_COMMON_TOKEN    PASSWORD_SYMBOL1280;
    pANTLR3_COMMON_TOKEN    EXPIRE_SYMBOL1281;
    MySQLParser_user_return user1275;
    #undef	RETURN_TYPE_user1275
    #define	RETURN_TYPE_user1275 MySQLParser_user_return

    MySQLParser_user_return user1279;
    #undef	RETURN_TYPE_user1279
    #define	RETURN_TYPE_user1279 MySQLParser_user_return

    pANTLR3_BASE_TREE ALTER_SYMBOL1273_tree;
    pANTLR3_BASE_TREE USER_SYMBOL1274_tree;
    pANTLR3_BASE_TREE PASSWORD_SYMBOL1276_tree;
    pANTLR3_BASE_TREE EXPIRE_SYMBOL1277_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL1278_tree;
    pANTLR3_BASE_TREE PASSWORD_SYMBOL1280_tree;
    pANTLR3_BASE_TREE EXPIRE_SYMBOL1281_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    ALTER_SYMBOL1273       = NULL;
    USER_SYMBOL1274       = NULL;
    PASSWORD_SYMBOL1276       = NULL;
    EXPIRE_SYMBOL1277       = NULL;
    COMMA_SYMBOL1278       = NULL;
    PASSWORD_SYMBOL1280       = NULL;
    EXPIRE_SYMBOL1281       = NULL;
    user1275.tree = NULL;

    user1279.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    ALTER_SYMBOL1273_tree   = NULL;
    USER_SYMBOL1274_tree   = NULL;
    PASSWORD_SYMBOL1276_tree   = NULL;
    EXPIRE_SYMBOL1277_tree   = NULL;
    COMMA_SYMBOL1278_tree   = NULL;
    PASSWORD_SYMBOL1280_tree   = NULL;
    EXPIRE_SYMBOL1281_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1291:11: ( ALTER_SYMBOL ^ USER_SYMBOL user PASSWORD_SYMBOL EXPIRE_SYMBOL ( COMMA_SYMBOL user PASSWORD_SYMBOL EXPIRE_SYMBOL )* )
        // MySQL.g:1292:2: ALTER_SYMBOL ^ USER_SYMBOL user PASSWORD_SYMBOL EXPIRE_SYMBOL ( COMMA_SYMBOL user PASSWORD_SYMBOL EXPIRE_SYMBOL )*
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            ALTER_SYMBOL1273 = (pANTLR3_COMMON_TOKEN) MATCHT(ALTER_SYMBOL, &FOLLOW_ALTER_SYMBOL_in_alter_user6840);
            if  (HASEXCEPTION())
            {
                goto rulealter_userEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            ALTER_SYMBOL1273_tree = 
            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ALTER_SYMBOL1273))
            ;
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, ALTER_SYMBOL1273_tree, root_0));
            }

            USER_SYMBOL1274 = (pANTLR3_COMMON_TOKEN) MATCHT(USER_SYMBOL, &FOLLOW_USER_SYMBOL_in_alter_user6843);
            if  (HASEXCEPTION())
            {
                goto rulealter_userEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            USER_SYMBOL1274_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, USER_SYMBOL1274));
            ADAPTOR->addChild(ADAPTOR, root_0, USER_SYMBOL1274_tree);
            }

            FOLLOWPUSH(FOLLOW_user_in_alter_user6845);
            user1275=user(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulealter_userEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, user1275.tree);

            PASSWORD_SYMBOL1276 = (pANTLR3_COMMON_TOKEN) MATCHT(PASSWORD_SYMBOL, &FOLLOW_PASSWORD_SYMBOL_in_alter_user6847);
            if  (HASEXCEPTION())
            {
                goto rulealter_userEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            PASSWORD_SYMBOL1276_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, PASSWORD_SYMBOL1276));
            ADAPTOR->addChild(ADAPTOR, root_0, PASSWORD_SYMBOL1276_tree);
            }

            EXPIRE_SYMBOL1277 = (pANTLR3_COMMON_TOKEN) MATCHT(EXPIRE_SYMBOL, &FOLLOW_EXPIRE_SYMBOL_in_alter_user6849);
            if  (HASEXCEPTION())
            {
                goto rulealter_userEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            EXPIRE_SYMBOL1277_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EXPIRE_SYMBOL1277));
            ADAPTOR->addChild(ADAPTOR, root_0, EXPIRE_SYMBOL1277_tree);
            }

            // MySQL.g:1292:63: ( COMMA_SYMBOL user PASSWORD_SYMBOL EXPIRE_SYMBOL )*

            for (;;)
            {
                int alt422=2;
                switch ( LA(1) )
                {
                case COMMA_SYMBOL:
                	{
                		alt422=1;
                	}
                    break;

                }

                switch (alt422)
                {
            	case 1:
            	    // MySQL.g:1292:64: COMMA_SYMBOL user PASSWORD_SYMBOL EXPIRE_SYMBOL
            	    {
            	        COMMA_SYMBOL1278 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_alter_user6852);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulealter_userEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        COMMA_SYMBOL1278_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL1278));
            	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL1278_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_user_in_alter_user6854);
            	        user1279=user(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulealter_userEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, user1279.tree);

            	        PASSWORD_SYMBOL1280 = (pANTLR3_COMMON_TOKEN) MATCHT(PASSWORD_SYMBOL, &FOLLOW_PASSWORD_SYMBOL_in_alter_user6856);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulealter_userEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        PASSWORD_SYMBOL1280_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, PASSWORD_SYMBOL1280));
            	        ADAPTOR->addChild(ADAPTOR, root_0, PASSWORD_SYMBOL1280_tree);
            	        }

            	        EXPIRE_SYMBOL1281 = (pANTLR3_COMMON_TOKEN) MATCHT(EXPIRE_SYMBOL, &FOLLOW_EXPIRE_SYMBOL_in_alter_user6858);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulealter_userEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        EXPIRE_SYMBOL1281_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EXPIRE_SYMBOL1281));
            	        ADAPTOR->addChild(ADAPTOR, root_0, EXPIRE_SYMBOL1281_tree);
            	        }

            	    }
            	    break;

            	default:
            	    goto loop422;	/* break out of the loop */
            	    break;
                }
            }
            loop422: ; /* Jump out to here if this rule does not match */


        }

    }

    // 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 create_user
 * MySQL.g:1295: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_SYMBOL1282;
    pANTLR3_COMMON_TOKEN    USER_SYMBOL1283;
    MySQLParser_user_specification_return user_specification1284;
    #undef	RETURN_TYPE_user_specification1284
    #define	RETURN_TYPE_user_specification1284 MySQLParser_user_specification_return

    pANTLR3_BASE_TREE CREATE_SYMBOL1282_tree;
    pANTLR3_BASE_TREE USER_SYMBOL1283_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    CREATE_SYMBOL1282       = NULL;
    USER_SYMBOL1283       = NULL;
    user_specification1284.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    CREATE_SYMBOL1282_tree   = NULL;
    USER_SYMBOL1283_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1295:12: ( CREATE_SYMBOL ^ USER_SYMBOL user_specification )
        // MySQL.g:1296:2: CREATE_SYMBOL ^ USER_SYMBOL user_specification
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            CREATE_SYMBOL1282 = (pANTLR3_COMMON_TOKEN) MATCHT(CREATE_SYMBOL, &FOLLOW_CREATE_SYMBOL_in_create_user6869);
            if  (HASEXCEPTION())
            {
                goto rulecreate_userEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            CREATE_SYMBOL1282_tree = 
            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CREATE_SYMBOL1282))
            ;
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, CREATE_SYMBOL1282_tree, root_0));
            }

            USER_SYMBOL1283 = (pANTLR3_COMMON_TOKEN) MATCHT(USER_SYMBOL, &FOLLOW_USER_SYMBOL_in_create_user6872);
            if  (HASEXCEPTION())
            {
                goto rulecreate_userEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            USER_SYMBOL1283_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, USER_SYMBOL1283));
            ADAPTOR->addChild(ADAPTOR, root_0, USER_SYMBOL1283_tree);
            }

            FOLLOWPUSH(FOLLOW_user_specification_in_create_user6874);
            user_specification1284=user_specification(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulecreate_userEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, user_specification1284.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:1299: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_SYMBOL1285;
    pANTLR3_COMMON_TOKEN    USER_SYMBOL1286;
    MySQLParser_user_list_return user_list1287;
    #undef	RETURN_TYPE_user_list1287
    #define	RETURN_TYPE_user_list1287 MySQLParser_user_list_return

    pANTLR3_BASE_TREE DROP_SYMBOL1285_tree;
    pANTLR3_BASE_TREE USER_SYMBOL1286_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    DROP_SYMBOL1285       = NULL;
    USER_SYMBOL1286       = NULL;
    user_list1287.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    DROP_SYMBOL1285_tree   = NULL;
    USER_SYMBOL1286_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1299:10: ( DROP_SYMBOL ^ USER_SYMBOL user_list )
        // MySQL.g:1300:2: DROP_SYMBOL ^ USER_SYMBOL user_list
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            DROP_SYMBOL1285 = (pANTLR3_COMMON_TOKEN) MATCHT(DROP_SYMBOL, &FOLLOW_DROP_SYMBOL_in_drop_user6883);
            if  (HASEXCEPTION())
            {
                goto ruledrop_userEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            DROP_SYMBOL1285_tree = 
            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DROP_SYMBOL1285))
            ;
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, DROP_SYMBOL1285_tree, root_0));
            }

            USER_SYMBOL1286 = (pANTLR3_COMMON_TOKEN) MATCHT(USER_SYMBOL, &FOLLOW_USER_SYMBOL_in_drop_user6886);
            if  (HASEXCEPTION())
            {
                goto ruledrop_userEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            USER_SYMBOL1286_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, USER_SYMBOL1286));
            ADAPTOR->addChild(ADAPTOR, root_0, USER_SYMBOL1286_tree);
            }

            FOLLOWPUSH(FOLLOW_user_list_in_drop_user6888);
            user_list1287=user_list(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruledrop_userEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, user_list1287.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 grant
 * MySQL.g:1303: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_SYMBOL1288;
    pANTLR3_COMMON_TOKEN    TO_SYMBOL1291;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL1293;
    pANTLR3_COMMON_TOKEN    REQUIRE_SYMBOL1295;
    pANTLR3_COMMON_TOKEN    NONE_SYMBOL1296;
    pANTLR3_COMMON_TOKEN    SSL_SYMBOL1297;
    pANTLR3_COMMON_TOKEN    X509_SYMBOL1298;
    pANTLR3_COMMON_TOKEN    AND_SYMBOL1300;
    pANTLR3_COMMON_TOKEN    WITH_SYMBOL1302;
    MySQLParser_grant_privileges_return grant_privileges1289;
    #undef	RETURN_TYPE_grant_privileges1289
    #define	RETURN_TYPE_grant_privileges1289 MySQLParser_grant_privileges_return

    MySQLParser_privilege_target_return privilege_target1290;
    #undef	RETURN_TYPE_privilege_target1290
    #define	RETURN_TYPE_privilege_target1290 MySQLParser_privilege_target_return

    MySQLParser_user_specification_return user_specification1292;
    #undef	RETURN_TYPE_user_specification1292
    #define	RETURN_TYPE_user_specification1292 MySQLParser_user_specification_return

    MySQLParser_user_specification_return user_specification1294;
    #undef	RETURN_TYPE_user_specification1294
    #define	RETURN_TYPE_user_specification1294 MySQLParser_user_specification_return

    MySQLParser_require_list_return require_list1299;
    #undef	RETURN_TYPE_require_list1299
    #define	RETURN_TYPE_require_list1299 MySQLParser_require_list_return

    MySQLParser_require_list_return require_list1301;
    #undef	RETURN_TYPE_require_list1301
    #define	RETURN_TYPE_require_list1301 MySQLParser_require_list_return

    MySQLParser_grant_option_return grant_option1303;
    #undef	RETURN_TYPE_grant_option1303
    #define	RETURN_TYPE_grant_option1303 MySQLParser_grant_option_return

    pANTLR3_BASE_TREE GRANT_SYMBOL1288_tree;
    pANTLR3_BASE_TREE TO_SYMBOL1291_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL1293_tree;
    pANTLR3_BASE_TREE REQUIRE_SYMBOL1295_tree;
    pANTLR3_BASE_TREE NONE_SYMBOL1296_tree;
    pANTLR3_BASE_TREE SSL_SYMBOL1297_tree;
    pANTLR3_BASE_TREE X509_SYMBOL1298_tree;
    pANTLR3_BASE_TREE AND_SYMBOL1300_tree;
    pANTLR3_BASE_TREE WITH_SYMBOL1302_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    GRANT_SYMBOL1288       = NULL;
    TO_SYMBOL1291       = NULL;
    COMMA_SYMBOL1293       = NULL;
    REQUIRE_SYMBOL1295       = NULL;
    NONE_SYMBOL1296       = NULL;
    SSL_SYMBOL1297       = NULL;
    X509_SYMBOL1298       = NULL;
    AND_SYMBOL1300       = NULL;
    WITH_SYMBOL1302       = NULL;
    grant_privileges1289.tree = NULL;

    privilege_target1290.tree = NULL;

    user_specification1292.tree = NULL;

    user_specification1294.tree = NULL;

    require_list1299.tree = NULL;

    require_list1301.tree = NULL;

    grant_option1303.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    GRANT_SYMBOL1288_tree   = NULL;
    TO_SYMBOL1291_tree   = NULL;
    COMMA_SYMBOL1293_tree   = NULL;
    REQUIRE_SYMBOL1295_tree   = NULL;
    NONE_SYMBOL1296_tree   = NULL;
    SSL_SYMBOL1297_tree   = NULL;
    X509_SYMBOL1298_tree   = NULL;
    AND_SYMBOL1300_tree   = NULL;
    WITH_SYMBOL1302_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1303: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:1304: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_SYMBOL1288 = (pANTLR3_COMMON_TOKEN) MATCHT(GRANT_SYMBOL, &FOLLOW_GRANT_SYMBOL_in_grant6897);
            if  (HASEXCEPTION())
            {
                goto rulegrantEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            GRANT_SYMBOL1288_tree = 
            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, GRANT_SYMBOL1288))
            ;
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, GRANT_SYMBOL1288_tree, root_0));
            }

            FOLLOWPUSH(FOLLOW_grant_privileges_in_grant6900);
            grant_privileges1289=grant_privileges(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulegrantEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, grant_privileges1289.tree);

            FOLLOWPUSH(FOLLOW_privilege_target_in_grant6902);
            privilege_target1290=privilege_target(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulegrantEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, privilege_target1290.tree);

            TO_SYMBOL1291 = (pANTLR3_COMMON_TOKEN) MATCHT(TO_SYMBOL, &FOLLOW_TO_SYMBOL_in_grant6906);
            if  (HASEXCEPTION())
            {
                goto rulegrantEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            TO_SYMBOL1291_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, TO_SYMBOL1291));
            ADAPTOR->addChild(ADAPTOR, root_0, TO_SYMBOL1291_tree);
            }

            FOLLOWPUSH(FOLLOW_user_specification_in_grant6908);
            user_specification1292=user_specification(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulegrantEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, user_specification1292.tree);

            // MySQL.g:1305:32: ( COMMA_SYMBOL user_specification )*

            for (;;)
            {
                int alt423=2;
                switch ( LA(1) )
                {
                case COMMA_SYMBOL:
                	{
                		alt423=1;
                	}
                    break;

                }

                switch (alt423)
                {
            	case 1:
            	    // MySQL.g:1305:33: COMMA_SYMBOL user_specification
            	    {
            	        COMMA_SYMBOL1293 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_grant6911);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulegrantEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        COMMA_SYMBOL1293_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL1293));
            	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL1293_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_user_specification_in_grant6913);
            	        user_specification1294=user_specification(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulegrantEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, user_specification1294.tree);

            	    }
            	    break;

            	default:
            	    goto loop423;	/* break out of the loop */
            	    break;
                }
            }
            loop423: ; /* Jump out to here if this rule does not match */


            // MySQL.g:1306:3: ( REQUIRE_SYMBOL ( NONE_SYMBOL | SSL_SYMBOL | X509_SYMBOL | require_list ( ( AND_SYMBOL )? require_list )* ) )?
            {
                int alt427=2;
                switch ( LA(1) )
                {
                    case REQUIRE_SYMBOL:
                    	{
                    		alt427=1;
                    	}
                        break;
                }

                switch (alt427)
                {
            	case 1:
            	    // MySQL.g:1306:4: REQUIRE_SYMBOL ( NONE_SYMBOL | SSL_SYMBOL | X509_SYMBOL | require_list ( ( AND_SYMBOL )? require_list )* )
            	    {
            	        REQUIRE_SYMBOL1295 = (pANTLR3_COMMON_TOKEN) MATCHT(REQUIRE_SYMBOL, &FOLLOW_REQUIRE_SYMBOL_in_grant6920);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulegrantEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        REQUIRE_SYMBOL1295_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, REQUIRE_SYMBOL1295));
            	        ADAPTOR->addChild(ADAPTOR, root_0, REQUIRE_SYMBOL1295_tree);
            	        }

            	        // MySQL.g:1307:4: ( NONE_SYMBOL | SSL_SYMBOL | X509_SYMBOL | require_list ( ( AND_SYMBOL )? require_list )* )
            	        {
            	            int alt426=4;
            	            switch ( LA(1) )
            	            {
            	            case NONE_SYMBOL:
            	            	{
            	            		alt426=1;
            	            	}
            	                break;
            	            case SSL_SYMBOL:
            	            	{
            	            		alt426=2;
            	            	}
            	                break;
            	            case X509_SYMBOL:
            	            	{
            	            		alt426=3;
            	            	}
            	                break;
            	            case CIPHER_SYMBOL:
            	            case ISSUER_SYMBOL:
            	            case SUBJECT_SYMBOL:
            	            	{
            	            		alt426=4;
            	            	}
            	                break;

            	            default:
            	                if (BACKTRACKING>0)
            	                {
            	                    FAILEDFLAG = ANTLR3_TRUE;
            	                    return retval;
            	                }

            	                CONSTRUCTEX();
            	                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
            	                EXCEPTION->message      = (void *)"";
            	                EXCEPTION->decisionNum  = 426;
            	                EXCEPTION->state        = 0;


            	                goto rulegrantEx;

            	            }

            	            switch (alt426)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1308:5: NONE_SYMBOL
            	        	    {
            	        	        NONE_SYMBOL1296 = (pANTLR3_COMMON_TOKEN) MATCHT(NONE_SYMBOL, &FOLLOW_NONE_SYMBOL_in_grant6931);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulegrantEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        NONE_SYMBOL1296_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, NONE_SYMBOL1296));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, NONE_SYMBOL1296_tree);
            	        	        }

            	        	    }
            	        	    break;
            	        	case 2:
            	        	    // MySQL.g:1309:7: SSL_SYMBOL
            	        	    {
            	        	        SSL_SYMBOL1297 = (pANTLR3_COMMON_TOKEN) MATCHT(SSL_SYMBOL, &FOLLOW_SSL_SYMBOL_in_grant6939);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulegrantEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        SSL_SYMBOL1297_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SSL_SYMBOL1297));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, SSL_SYMBOL1297_tree);
            	        	        }

            	        	    }
            	        	    break;
            	        	case 3:
            	        	    // MySQL.g:1310:7: X509_SYMBOL
            	        	    {
            	        	        X509_SYMBOL1298 = (pANTLR3_COMMON_TOKEN) MATCHT(X509_SYMBOL, &FOLLOW_X509_SYMBOL_in_grant6947);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulegrantEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        X509_SYMBOL1298_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, X509_SYMBOL1298));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, X509_SYMBOL1298_tree);
            	        	        }

            	        	    }
            	        	    break;
            	        	case 4:
            	        	    // MySQL.g:1311:7: require_list ( ( AND_SYMBOL )? require_list )*
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_require_list_in_grant6955);
            	        	        require_list1299=require_list(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulegrantEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, require_list1299.tree);

            	        	        // MySQL.g:1311:20: ( ( AND_SYMBOL )? require_list )*

            	        	        for (;;)
            	        	        {
            	        	            int alt425=2;
            	        	            switch ( LA(1) )
            	        	            {
            	        	            case CIPHER_SYMBOL:
            	        	            case ISSUER_SYMBOL:
            	        	            case SUBJECT_SYMBOL:
            	        	            case AND_SYMBOL:
            	        	            	{
            	        	            		alt425=1;
            	        	            	}
            	        	                break;

            	        	            }

            	        	            switch (alt425)
            	        	            {
            	        	        	case 1:
            	        	        	    // MySQL.g:1311:21: ( AND_SYMBOL )? require_list
            	        	        	    {
            	        	        	        // MySQL.g:1311:21: ( AND_SYMBOL )?
            	        	        	        {
            	        	        	            int alt424=2;
            	        	        	            switch ( LA(1) )
            	        	        	            {
            	        	        	                case AND_SYMBOL:
            	        	        	                	{
            	        	        	                		alt424=1;
            	        	        	                	}
            	        	        	                    break;
            	        	        	            }

            	        	        	            switch (alt424)
            	        	        	            {
            	        	        	        	case 1:
            	        	        	        	    // MySQL.g:1311:21: AND_SYMBOL
            	        	        	        	    {
            	        	        	        	        AND_SYMBOL1300 = (pANTLR3_COMMON_TOKEN) MATCHT(AND_SYMBOL, &FOLLOW_AND_SYMBOL_in_grant6958);
            	        	        	        	        if  (HASEXCEPTION())
            	        	        	        	        {
            	        	        	        	            goto rulegrantEx;
            	        	        	        	        }
            	        	        	        	        if (HASFAILED())
            	        	        	        	        {
            	        	        	        	            return retval;
            	        	        	        	        }

            	        	        	        	        if ( BACKTRACKING==0 ) {
            	        	        	        	        AND_SYMBOL1300_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, AND_SYMBOL1300));
            	        	        	        	        ADAPTOR->addChild(ADAPTOR, root_0, AND_SYMBOL1300_tree);
            	        	        	        	        }

            	        	        	        	    }
            	        	        	        	    break;

            	        	        	            }
            	        	        	        }

            	        	        	        FOLLOWPUSH(FOLLOW_require_list_in_grant6961);
            	        	        	        require_list1301=require_list(ctx);

            	        	        	        FOLLOWPOP();
            	        	        	        if  (HASEXCEPTION())
            	        	        	        {
            	        	        	            goto rulegrantEx;
            	        	        	        }
            	        	        	        if (HASFAILED())
            	        	        	        {
            	        	        	            return retval;
            	        	        	        }

            	        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, require_list1301.tree);

            	        	        	    }
            	        	        	    break;

            	        	        	default:
            	        	        	    goto loop425;	/* break out of the loop */
            	        	        	    break;
            	        	            }
            	        	        }
            	        	        loop425: ; /* Jump out to here if this rule does not match */


            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;

                }
            }

            // MySQL.g:1314:3: ( WITH_SYMBOL ( grant_option )+ )?
            {
                int alt429=2;
                switch ( LA(1) )
                {
                    case WITH_SYMBOL:
                    	{
                    		alt429=1;
                    	}
                        break;
                }

                switch (alt429)
                {
            	case 1:
            	    // MySQL.g:1314:4: WITH_SYMBOL ( grant_option )+
            	    {
            	        WITH_SYMBOL1302 = (pANTLR3_COMMON_TOKEN) MATCHT(WITH_SYMBOL, &FOLLOW_WITH_SYMBOL_in_grant6978);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulegrantEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        WITH_SYMBOL1302_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, WITH_SYMBOL1302));
            	        ADAPTOR->addChild(ADAPTOR, root_0, WITH_SYMBOL1302_tree);
            	        }

            	        // MySQL.g:1314:16: ( grant_option )+
            	        {
            	            int cnt428=0;

            	            for (;;)
            	            {
            	                int alt428=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:
            	        		{
            	        			alt428=1;
            	        		}
            	        	    break;

            	        	}

            	        	switch (alt428)
            	        	{
            	        	    case 1:
            	        	        // MySQL.g:1314:16: grant_option
            	        	        {
            	        	            FOLLOWPUSH(FOLLOW_grant_option_in_grant6980);
            	        	            grant_option1303=grant_option(ctx);

            	        	            FOLLOWPOP();
            	        	            if  (HASEXCEPTION())
            	        	            {
            	        	                goto rulegrantEx;
            	        	            }
            	        	            if (HASFAILED())
            	        	            {
            	        	                return retval;
            	        	            }

            	        	            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, grant_option1303.tree);

            	        	        }
            	        	        break;

            	        	    default:

            	        		if ( cnt428 >= 1 )
            	        		{
            	        		    goto loop428;
            	        		}
            	        		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;
            	        	}
            	        	cnt428++;
            	            }
            	            loop428: ;	/* 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:1317: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_SYMBOL1304;
    pANTLR3_COMMON_TOKEN    PROXY_SYMBOL1305;
    pANTLR3_COMMON_TOKEN    ON_SYMBOL1306;
    pANTLR3_COMMON_TOKEN    TO_SYMBOL1308;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL1310;
    pANTLR3_COMMON_TOKEN    WITH_SYMBOL1312;
    pANTLR3_COMMON_TOKEN    GRANT_SYMBOL1313;
    pANTLR3_COMMON_TOKEN    OPTION_SYMBOL1314;
    MySQLParser_user_specification_return user_specification1307;
    #undef	RETURN_TYPE_user_specification1307
    #define	RETURN_TYPE_user_specification1307 MySQLParser_user_specification_return

    MySQLParser_user_specification_return user_specification1309;
    #undef	RETURN_TYPE_user_specification1309
    #define	RETURN_TYPE_user_specification1309 MySQLParser_user_specification_return

    MySQLParser_user_specification_return user_specification1311;
    #undef	RETURN_TYPE_user_specification1311
    #define	RETURN_TYPE_user_specification1311 MySQLParser_user_specification_return

    pANTLR3_BASE_TREE GRANT_SYMBOL1304_tree;
    pANTLR3_BASE_TREE PROXY_SYMBOL1305_tree;
    pANTLR3_BASE_TREE ON_SYMBOL1306_tree;
    pANTLR3_BASE_TREE TO_SYMBOL1308_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL1310_tree;
    pANTLR3_BASE_TREE WITH_SYMBOL1312_tree;
    pANTLR3_BASE_TREE GRANT_SYMBOL1313_tree;
    pANTLR3_BASE_TREE OPTION_SYMBOL1314_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    GRANT_SYMBOL1304       = NULL;
    PROXY_SYMBOL1305       = NULL;
    ON_SYMBOL1306       = NULL;
    TO_SYMBOL1308       = NULL;
    COMMA_SYMBOL1310       = NULL;
    WITH_SYMBOL1312       = NULL;
    GRANT_SYMBOL1313       = NULL;
    OPTION_SYMBOL1314       = NULL;
    user_specification1307.tree = NULL;

    user_specification1309.tree = NULL;

    user_specification1311.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    GRANT_SYMBOL1304_tree   = NULL;
    PROXY_SYMBOL1305_tree   = NULL;
    ON_SYMBOL1306_tree   = NULL;
    TO_SYMBOL1308_tree   = NULL;
    COMMA_SYMBOL1310_tree   = NULL;
    WITH_SYMBOL1312_tree   = NULL;
    GRANT_SYMBOL1313_tree   = NULL;
    OPTION_SYMBOL1314_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1317: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:1318: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_SYMBOL1304 = (pANTLR3_COMMON_TOKEN) MATCHT(GRANT_SYMBOL, &FOLLOW_GRANT_SYMBOL_in_grant_proxy6992);
            if  (HASEXCEPTION())
            {
                goto rulegrant_proxyEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            GRANT_SYMBOL1304_tree = 
            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, GRANT_SYMBOL1304))
            ;
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, GRANT_SYMBOL1304_tree, root_0));
            }

            PROXY_SYMBOL1305 = (pANTLR3_COMMON_TOKEN) MATCHT(PROXY_SYMBOL, &FOLLOW_PROXY_SYMBOL_in_grant_proxy6995);
            if  (HASEXCEPTION())
            {
                goto rulegrant_proxyEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            PROXY_SYMBOL1305_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, PROXY_SYMBOL1305));
            ADAPTOR->addChild(ADAPTOR, root_0, PROXY_SYMBOL1305_tree);
            }

            ON_SYMBOL1306 = (pANTLR3_COMMON_TOKEN) MATCHT(ON_SYMBOL, &FOLLOW_ON_SYMBOL_in_grant_proxy6997);
            if  (HASEXCEPTION())
            {
                goto rulegrant_proxyEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            ON_SYMBOL1306_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ON_SYMBOL1306));
            ADAPTOR->addChild(ADAPTOR, root_0, ON_SYMBOL1306_tree);
            }

            FOLLOWPUSH(FOLLOW_user_specification_in_grant_proxy6999);
            user_specification1307=user_specification(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulegrant_proxyEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, user_specification1307.tree);

            TO_SYMBOL1308 = (pANTLR3_COMMON_TOKEN) MATCHT(TO_SYMBOL, &FOLLOW_TO_SYMBOL_in_grant_proxy7001);
            if  (HASEXCEPTION())
            {
                goto rulegrant_proxyEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            TO_SYMBOL1308_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, TO_SYMBOL1308));
            ADAPTOR->addChild(ADAPTOR, root_0, TO_SYMBOL1308_tree);
            }

            FOLLOWPUSH(FOLLOW_user_specification_in_grant_proxy7003);
            user_specification1309=user_specification(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulegrant_proxyEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, user_specification1309.tree);

            // MySQL.g:1318:87: ( COMMA_SYMBOL user_specification )*

            for (;;)
            {
                int alt430=2;
                switch ( LA(1) )
                {
                case COMMA_SYMBOL:
                	{
                		alt430=1;
                	}
                    break;

                }

                switch (alt430)
                {
            	case 1:
            	    // MySQL.g:1318:88: COMMA_SYMBOL user_specification
            	    {
            	        COMMA_SYMBOL1310 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_grant_proxy7006);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulegrant_proxyEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        COMMA_SYMBOL1310_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL1310));
            	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL1310_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_user_specification_in_grant_proxy7008);
            	        user_specification1311=user_specification(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulegrant_proxyEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, user_specification1311.tree);

            	    }
            	    break;

            	default:
            	    goto loop430;	/* break out of the loop */
            	    break;
                }
            }
            loop430: ; /* Jump out to here if this rule does not match */


            // MySQL.g:1319:3: ( WITH_SYMBOL GRANT_SYMBOL OPTION_SYMBOL )?
            {
                int alt431=2;
                switch ( LA(1) )
                {
                    case WITH_SYMBOL:
                    	{
                    		alt431=1;
                    	}
                        break;
                }

                switch (alt431)
                {
            	case 1:
            	    // MySQL.g:1319:4: WITH_SYMBOL GRANT_SYMBOL OPTION_SYMBOL
            	    {
            	        WITH_SYMBOL1312 = (pANTLR3_COMMON_TOKEN) MATCHT(WITH_SYMBOL, &FOLLOW_WITH_SYMBOL_in_grant_proxy7015);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulegrant_proxyEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        WITH_SYMBOL1312_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, WITH_SYMBOL1312));
            	        ADAPTOR->addChild(ADAPTOR, root_0, WITH_SYMBOL1312_tree);
            	        }

            	        GRANT_SYMBOL1313 = (pANTLR3_COMMON_TOKEN) MATCHT(GRANT_SYMBOL, &FOLLOW_GRANT_SYMBOL_in_grant_proxy7017);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulegrant_proxyEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        GRANT_SYMBOL1313_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, GRANT_SYMBOL1313));
            	        ADAPTOR->addChild(ADAPTOR, root_0, GRANT_SYMBOL1313_tree);
            	        }

            	        OPTION_SYMBOL1314 = (pANTLR3_COMMON_TOKEN) MATCHT(OPTION_SYMBOL, &FOLLOW_OPTION_SYMBOL_in_grant_proxy7019);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulegrant_proxyEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        OPTION_SYMBOL1314_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPTION_SYMBOL1314));
            	        ADAPTOR->addChild(ADAPTOR, root_0, OPTION_SYMBOL1314_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:1322: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_SYMBOL1315;
    pANTLR3_COMMON_TOKEN    USER_SYMBOL1316;
    pANTLR3_COMMON_TOKEN    TO_SYMBOL1318;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL1320;
    pANTLR3_COMMON_TOKEN    TO_SYMBOL1322;
    MySQLParser_user_return user1317;
    #undef	RETURN_TYPE_user1317
    #define	RETURN_TYPE_user1317 MySQLParser_user_return

    MySQLParser_user_return user1319;
    #undef	RETURN_TYPE_user1319
    #define	RETURN_TYPE_user1319 MySQLParser_user_return

    MySQLParser_user_return user1321;
    #undef	RETURN_TYPE_user1321
    #define	RETURN_TYPE_user1321 MySQLParser_user_return

    MySQLParser_user_return user1323;
    #undef	RETURN_TYPE_user1323
    #define	RETURN_TYPE_user1323 MySQLParser_user_return

    pANTLR3_BASE_TREE RENAME_SYMBOL1315_tree;
    pANTLR3_BASE_TREE USER_SYMBOL1316_tree;
    pANTLR3_BASE_TREE TO_SYMBOL1318_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL1320_tree;
    pANTLR3_BASE_TREE TO_SYMBOL1322_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    RENAME_SYMBOL1315       = NULL;
    USER_SYMBOL1316       = NULL;
    TO_SYMBOL1318       = NULL;
    COMMA_SYMBOL1320       = NULL;
    TO_SYMBOL1322       = NULL;
    user1317.tree = NULL;

    user1319.tree = NULL;

    user1321.tree = NULL;

    user1323.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    RENAME_SYMBOL1315_tree   = NULL;
    USER_SYMBOL1316_tree   = NULL;
    TO_SYMBOL1318_tree   = NULL;
    COMMA_SYMBOL1320_tree   = NULL;
    TO_SYMBOL1322_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1322:12: ( RENAME_SYMBOL ^ USER_SYMBOL user TO_SYMBOL user ( COMMA_SYMBOL user TO_SYMBOL user )* )
        // MySQL.g:1323:2: RENAME_SYMBOL ^ USER_SYMBOL user TO_SYMBOL user ( COMMA_SYMBOL user TO_SYMBOL user )*
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            RENAME_SYMBOL1315 = (pANTLR3_COMMON_TOKEN) MATCHT(RENAME_SYMBOL, &FOLLOW_RENAME_SYMBOL_in_rename_user7030);
            if  (HASEXCEPTION())
            {
                goto rulerename_userEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            RENAME_SYMBOL1315_tree = 
            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, RENAME_SYMBOL1315))
            ;
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, RENAME_SYMBOL1315_tree, root_0));
            }

            USER_SYMBOL1316 = (pANTLR3_COMMON_TOKEN) MATCHT(USER_SYMBOL, &FOLLOW_USER_SYMBOL_in_rename_user7033);
            if  (HASEXCEPTION())
            {
                goto rulerename_userEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            USER_SYMBOL1316_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, USER_SYMBOL1316));
            ADAPTOR->addChild(ADAPTOR, root_0, USER_SYMBOL1316_tree);
            }

            FOLLOWPUSH(FOLLOW_user_in_rename_user7035);
            user1317=user(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulerename_userEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, user1317.tree);

            TO_SYMBOL1318 = (pANTLR3_COMMON_TOKEN) MATCHT(TO_SYMBOL, &FOLLOW_TO_SYMBOL_in_rename_user7037);
            if  (HASEXCEPTION())
            {
                goto rulerename_userEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            TO_SYMBOL1318_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, TO_SYMBOL1318));
            ADAPTOR->addChild(ADAPTOR, root_0, TO_SYMBOL1318_tree);
            }

            FOLLOWPUSH(FOLLOW_user_in_rename_user7039);
            user1319=user(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulerename_userEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, user1319.tree);

            // MySQL.g:1323:49: ( COMMA_SYMBOL user TO_SYMBOL user )*

            for (;;)
            {
                int alt432=2;
                switch ( LA(1) )
                {
                case COMMA_SYMBOL:
                	{
                		alt432=1;
                	}
                    break;

                }

                switch (alt432)
                {
            	case 1:
            	    // MySQL.g:1323:50: COMMA_SYMBOL user TO_SYMBOL user
            	    {
            	        COMMA_SYMBOL1320 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_rename_user7042);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulerename_userEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        COMMA_SYMBOL1320_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL1320));
            	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL1320_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_user_in_rename_user7044);
            	        user1321=user(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulerename_userEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, user1321.tree);

            	        TO_SYMBOL1322 = (pANTLR3_COMMON_TOKEN) MATCHT(TO_SYMBOL, &FOLLOW_TO_SYMBOL_in_rename_user7046);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulerename_userEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        TO_SYMBOL1322_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, TO_SYMBOL1322));
            	        ADAPTOR->addChild(ADAPTOR, root_0, TO_SYMBOL1322_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_user_in_rename_user7048);
            	        user1323=user(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulerename_userEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, user1323.tree);

            	    }
            	    break;

            	default:
            	    goto loop432;	/* break out of the loop */
            	    break;
                }
            }
            loop432: ; /* 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:1326: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_SYMBOL1324;
    pANTLR3_COMMON_TOKEN    ALL_SYMBOL1325;
    pANTLR3_COMMON_TOKEN    PRIVILEGES_SYMBOL1326;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL1327;
    pANTLR3_COMMON_TOKEN    GRANT_SYMBOL1328;
    pANTLR3_COMMON_TOKEN    OPTION_SYMBOL1329;
    pANTLR3_COMMON_TOKEN    FROM_SYMBOL1330;
    pANTLR3_COMMON_TOKEN    FROM_SYMBOL1334;
    pANTLR3_COMMON_TOKEN    PROXY_SYMBOL1336;
    pANTLR3_COMMON_TOKEN    ON_SYMBOL1337;
    pANTLR3_COMMON_TOKEN    FROM_SYMBOL1339;
    MySQLParser_user_list_return user_list1331;
    #undef	RETURN_TYPE_user_list1331
    #define	RETURN_TYPE_user_list1331 MySQLParser_user_list_return

    MySQLParser_grant_privileges_return grant_privileges1332;
    #undef	RETURN_TYPE_grant_privileges1332
    #define	RETURN_TYPE_grant_privileges1332 MySQLParser_grant_privileges_return

    MySQLParser_privilege_target_return privilege_target1333;
    #undef	RETURN_TYPE_privilege_target1333
    #define	RETURN_TYPE_privilege_target1333 MySQLParser_privilege_target_return

    MySQLParser_user_list_return user_list1335;
    #undef	RETURN_TYPE_user_list1335
    #define	RETURN_TYPE_user_list1335 MySQLParser_user_list_return

    MySQLParser_user_return user1338;
    #undef	RETURN_TYPE_user1338
    #define	RETURN_TYPE_user1338 MySQLParser_user_return

    MySQLParser_user_list_return user_list1340;
    #undef	RETURN_TYPE_user_list1340
    #define	RETURN_TYPE_user_list1340 MySQLParser_user_list_return

    pANTLR3_BASE_TREE REVOKE_SYMBOL1324_tree;
    pANTLR3_BASE_TREE ALL_SYMBOL1325_tree;
    pANTLR3_BASE_TREE PRIVILEGES_SYMBOL1326_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL1327_tree;
    pANTLR3_BASE_TREE GRANT_SYMBOL1328_tree;
    pANTLR3_BASE_TREE OPTION_SYMBOL1329_tree;
    pANTLR3_BASE_TREE FROM_SYMBOL1330_tree;
    pANTLR3_BASE_TREE FROM_SYMBOL1334_tree;
    pANTLR3_BASE_TREE PROXY_SYMBOL1336_tree;
    pANTLR3_BASE_TREE ON_SYMBOL1337_tree;
    pANTLR3_BASE_TREE FROM_SYMBOL1339_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    REVOKE_SYMBOL1324       = NULL;
    ALL_SYMBOL1325       = NULL;
    PRIVILEGES_SYMBOL1326       = NULL;
    COMMA_SYMBOL1327       = NULL;
    GRANT_SYMBOL1328       = NULL;
    OPTION_SYMBOL1329       = NULL;
    FROM_SYMBOL1330       = NULL;
    FROM_SYMBOL1334       = NULL;
    PROXY_SYMBOL1336       = NULL;
    ON_SYMBOL1337       = NULL;
    FROM_SYMBOL1339       = NULL;
    user_list1331.tree = NULL;

    grant_privileges1332.tree = NULL;

    privilege_target1333.tree = NULL;

    user_list1335.tree = NULL;

    user1338.tree = NULL;

    user_list1340.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    REVOKE_SYMBOL1324_tree   = NULL;
    ALL_SYMBOL1325_tree   = NULL;
    PRIVILEGES_SYMBOL1326_tree   = NULL;
    COMMA_SYMBOL1327_tree   = NULL;
    GRANT_SYMBOL1328_tree   = NULL;
    OPTION_SYMBOL1329_tree   = NULL;
    FROM_SYMBOL1330_tree   = NULL;
    FROM_SYMBOL1334_tree   = NULL;
    PROXY_SYMBOL1336_tree   = NULL;
    ON_SYMBOL1337_tree   = NULL;
    FROM_SYMBOL1339_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1326: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:1327: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_SYMBOL1324 = (pANTLR3_COMMON_TOKEN) MATCHT(REVOKE_SYMBOL, &FOLLOW_REVOKE_SYMBOL_in_revoke_statement7059);
            if  (HASEXCEPTION())
            {
                goto rulerevoke_statementEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            REVOKE_SYMBOL1324_tree = 
            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, REVOKE_SYMBOL1324))
            ;
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, REVOKE_SYMBOL1324_tree, root_0));
            }

            // MySQL.g:1328: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 alt434=3;
                switch ( LA(1) )
                {
                case ALL_SYMBOL:
                	{
                		{
                		    int LA434_1 = LA(2);
                		    if ( (LA434_1 == PRIVILEGES_SYMBOL))
                		    {
                		        {
                		            int LA434_25 = LA(3);
                		            if ( ((LA(1) == ALL_SYMBOL)))
                		            {
                		                alt434=1;
                		            }
                		            else if ( (ANTLR3_TRUE))
                		            {
                		                alt434=2;
                		            }
                		            else
                		            {
                		                if (BACKTRACKING>0)
                		                {
                		                    FAILEDFLAG = ANTLR3_TRUE;
                		                    return retval;
                		                }


                		                CONSTRUCTEX();
                		                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                		                EXCEPTION->message      = (void *)"";
                		                EXCEPTION->decisionNum  = 434;
                		                EXCEPTION->state        = 25;


                		                goto rulerevoke_statementEx;

                		            }
                		        }
                		    }
                		    else if ( ((LA(1) == ALL_SYMBOL)) && (LA434_1 == COMMA_SYMBOL))
                		    {
                		        alt434=1;
                		    }
                		    else if ( (LA434_1 == ON_SYMBOL))
                		    {
                		        alt434=2;
                		    }
                		    else
                		    {
                		        if (BACKTRACKING>0)
                		        {
                		            FAILEDFLAG = ANTLR3_TRUE;
                		            return retval;
                		        }


                		        CONSTRUCTEX();
                		        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                		        EXCEPTION->message      = (void *)"";
                		        EXCEPTION->decisionNum  = 434;
                		        EXCEPTION->state        = 1;


                		        goto rulerevoke_statementEx;

                		    }
                		}
                	}
                    break;
                case EVENT_SYMBOL:
                case FILE_SYMBOL:
                case PROCESS_SYMBOL:
                case RELOAD_SYMBOL:
                case REPLICATION_SYMBOL:
                case SHUTDOWN_SYMBOL:
                case SUPER_SYMBOL:
                case EXECUTE_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:
                	{
                		alt434=2;
                	}
                    break;
                case PROXY_SYMBOL:
                	{
                		switch ( LA(2) )
                		{
                		case ON_SYMBOL:
                			{
                				{
                				    int LA434_28 = LA(3);
                				    if ( (!( ((SERVER_VERSION >= 50500)) )))
                				    {
                				        alt434=2;
                				    }
                				    else if ( ((SERVER_VERSION >= 50500)))
                				    {
                				        alt434=3;
                				    }
                				    else
                				    {
                				        if (BACKTRACKING>0)
                				        {
                				            FAILEDFLAG = ANTLR3_TRUE;
                				            return retval;
                				        }


                				        CONSTRUCTEX();
                				        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                				        EXCEPTION->message      = (void *)"";
                				        EXCEPTION->decisionNum  = 434;
                				        EXCEPTION->state        = 28;


                				        goto rulerevoke_statementEx;

                				    }
                				}
                			}
                		    break;
                		case COMMA_SYMBOL:
                			{
                				alt434=2;
                			}
                		    break;

                		default:
                		    if (BACKTRACKING>0)
                		    {
                		        FAILEDFLAG = ANTLR3_TRUE;
                		        return retval;
                		    }

                		    CONSTRUCTEX();
                		    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                		    EXCEPTION->message      = (void *)"";
                		    EXCEPTION->decisionNum  = 434;
                		    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  = 434;
                    EXCEPTION->state        = 0;


                    goto rulerevoke_statementEx;

                }

                switch (alt434)
                {
            	case 1:
            	    // MySQL.g:1329: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_SYMBOL1325 = (pANTLR3_COMMON_TOKEN) MATCHT(ALL_SYMBOL, &FOLLOW_ALL_SYMBOL_in_revoke_statement7071);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulerevoke_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        ALL_SYMBOL1325_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ALL_SYMBOL1325));
            	        ADAPTOR->addChild(ADAPTOR, root_0, ALL_SYMBOL1325_tree);
            	        }

            	        // MySQL.g:1329:40: ( PRIVILEGES_SYMBOL )?
            	        {
            	            int alt433=2;
            	            switch ( LA(1) )
            	            {
            	                case PRIVILEGES_SYMBOL:
            	                	{
            	                		alt433=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt433)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1329:40: PRIVILEGES_SYMBOL
            	        	    {
            	        	        PRIVILEGES_SYMBOL1326 = (pANTLR3_COMMON_TOKEN) MATCHT(PRIVILEGES_SYMBOL, &FOLLOW_PRIVILEGES_SYMBOL_in_revoke_statement7073);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulerevoke_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        PRIVILEGES_SYMBOL1326_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, PRIVILEGES_SYMBOL1326));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, PRIVILEGES_SYMBOL1326_tree);
            	        	        }

            	        	    }
            	        	    break;

            	            }
            	        }

            	        COMMA_SYMBOL1327 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_revoke_statement7076);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulerevoke_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        COMMA_SYMBOL1327_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL1327));
            	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL1327_tree);
            	        }

            	        GRANT_SYMBOL1328 = (pANTLR3_COMMON_TOKEN) MATCHT(GRANT_SYMBOL, &FOLLOW_GRANT_SYMBOL_in_revoke_statement7078);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulerevoke_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        GRANT_SYMBOL1328_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, GRANT_SYMBOL1328));
            	        ADAPTOR->addChild(ADAPTOR, root_0, GRANT_SYMBOL1328_tree);
            	        }

            	        OPTION_SYMBOL1329 = (pANTLR3_COMMON_TOKEN) MATCHT(OPTION_SYMBOL, &FOLLOW_OPTION_SYMBOL_in_revoke_statement7080);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulerevoke_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        OPTION_SYMBOL1329_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPTION_SYMBOL1329));
            	        ADAPTOR->addChild(ADAPTOR, root_0, OPTION_SYMBOL1329_tree);
            	        }

            	        FROM_SYMBOL1330 = (pANTLR3_COMMON_TOKEN) MATCHT(FROM_SYMBOL, &FOLLOW_FROM_SYMBOL_in_revoke_statement7082);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulerevoke_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        FROM_SYMBOL1330_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, FROM_SYMBOL1330));
            	        ADAPTOR->addChild(ADAPTOR, root_0, FROM_SYMBOL1330_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_user_list_in_revoke_statement7084);
            	        user_list1331=user_list(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulerevoke_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, user_list1331.tree);

            	    }
            	    break;
            	case 2:
            	    // MySQL.g:1330:5: grant_privileges privilege_target FROM_SYMBOL user_list
            	    {
            	        FOLLOWPUSH(FOLLOW_grant_privileges_in_revoke_statement7090);
            	        grant_privileges1332=grant_privileges(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulerevoke_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, grant_privileges1332.tree);

            	        FOLLOWPUSH(FOLLOW_privilege_target_in_revoke_statement7092);
            	        privilege_target1333=privilege_target(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulerevoke_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, privilege_target1333.tree);

            	        FROM_SYMBOL1334 = (pANTLR3_COMMON_TOKEN) MATCHT(FROM_SYMBOL, &FOLLOW_FROM_SYMBOL_in_revoke_statement7094);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulerevoke_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        FROM_SYMBOL1334_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, FROM_SYMBOL1334));
            	        ADAPTOR->addChild(ADAPTOR, root_0, FROM_SYMBOL1334_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_user_list_in_revoke_statement7096);
            	        user_list1335=user_list(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulerevoke_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, user_list1335.tree);

            	    }
            	    break;
            	case 3:
            	    // MySQL.g:1331: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_SYMBOL1336 = (pANTLR3_COMMON_TOKEN) MATCHT(PROXY_SYMBOL, &FOLLOW_PROXY_SYMBOL_in_revoke_statement7106);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulerevoke_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        PROXY_SYMBOL1336_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, PROXY_SYMBOL1336));
            	        ADAPTOR->addChild(ADAPTOR, root_0, PROXY_SYMBOL1336_tree);
            	        }

            	        ON_SYMBOL1337 = (pANTLR3_COMMON_TOKEN) MATCHT(ON_SYMBOL, &FOLLOW_ON_SYMBOL_in_revoke_statement7108);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulerevoke_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        ON_SYMBOL1337_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ON_SYMBOL1337));
            	        ADAPTOR->addChild(ADAPTOR, root_0, ON_SYMBOL1337_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_user_in_revoke_statement7110);
            	        user1338=user(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulerevoke_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, user1338.tree);

            	        FROM_SYMBOL1339 = (pANTLR3_COMMON_TOKEN) MATCHT(FROM_SYMBOL, &FOLLOW_FROM_SYMBOL_in_revoke_statement7112);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulerevoke_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        FROM_SYMBOL1339_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, FROM_SYMBOL1339));
            	        ADAPTOR->addChild(ADAPTOR, root_0, FROM_SYMBOL1339_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_user_list_in_revoke_statement7114);
            	        user_list1340=user_list(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulerevoke_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, user_list1340.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:1335:1: privilege_target : ON_SYMBOL grant_object_type privilege_level -> ^( PRIVILEGE_TARGET 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_SYMBOL1341;
    MySQLParser_grant_object_type_return grant_object_type1342;
    #undef	RETURN_TYPE_grant_object_type1342
    #define	RETURN_TYPE_grant_object_type1342 MySQLParser_grant_object_type_return

    MySQLParser_privilege_level_return privilege_level1343;
    #undef	RETURN_TYPE_privilege_level1343
    #define	RETURN_TYPE_privilege_level1343 MySQLParser_privilege_level_return

    pANTLR3_BASE_TREE ON_SYMBOL1341_tree;
    pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_ON_SYMBOL;
    pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_grant_object_type;
    pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_privilege_level;
    /* Initialize rule variables
     */

    root_0 = NULL;

    ON_SYMBOL1341       = NULL;
    grant_object_type1342.tree = NULL;

    privilege_level1343.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    ON_SYMBOL1341_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_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"); }
    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"); }

    retval.tree  = NULL;

    {
        // MySQL.g:1335:17: ( ON_SYMBOL grant_object_type privilege_level -> ^( PRIVILEGE_TARGET ON_SYMBOL grant_object_type privilege_level ) )
        // MySQL.g:1336:2: ON_SYMBOL grant_object_type privilege_level
        {
            ON_SYMBOL1341 = (pANTLR3_COMMON_TOKEN) MATCHT(ON_SYMBOL, &FOLLOW_ON_SYMBOL_in_privilege_target7126);
            if  (HASEXCEPTION())
            {
                goto ruleprivilege_targetEx;
            }
            if (HASFAILED())
            {
                return retval;
            }
             
            if ( BACKTRACKING==0 ) { CREATE_stream_ON_SYMBOL; stream_ON_SYMBOL->add(stream_ON_SYMBOL, ON_SYMBOL1341, NULL); }


            FOLLOWPUSH(FOLLOW_grant_object_type_in_privilege_target7128);
            grant_object_type1342=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_type1342.tree, NULL); }

            FOLLOWPUSH(FOLLOW_privilege_level_in_privilege_target7130);
            privilege_level1343=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_level1343.tree, NULL); }

            /* AST REWRITE
             * elements          : privilege_level, grant_object_type, 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;
            	// 1336:46: -> ^( PRIVILEGE_TARGET ON_SYMBOL grant_object_type privilege_level )
            	{
            	    // MySQL.g:1336:49: ^( PRIVILEGE_TARGET 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, (pANTLR3_UINT8)"PRIVILEGE_TARGET")
            	        , 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_grant_object_type != NULL) stream_grant_object_type->free(stream_grant_object_type);
        if (stream_privilege_level != NULL) stream_privilege_level->free(stream_privilege_level);
    }


            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:1339: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_SYMBOL1344;
    pANTLR3_COMMON_TOKEN    PASSWORD_SYMBOL1345;
    pANTLR3_COMMON_TOKEN    FOR_SYMBOL1346;
    pANTLR3_COMMON_TOKEN    PASSWORD_SYMBOL1349;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL1350;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL1352;
    pANTLR3_COMMON_TOKEN    OLD_PASSWORD_SYMBOL1353;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL1354;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL1356;
    MySQLParser_user_return user1347;
    #undef	RETURN_TYPE_user1347
    #define	RETURN_TYPE_user1347 MySQLParser_user_return

    MySQLParser_equal_return equal1348;
    #undef	RETURN_TYPE_equal1348
    #define	RETURN_TYPE_equal1348 MySQLParser_equal_return

    MySQLParser_string_literal_return string_literal1351;
    #undef	RETURN_TYPE_string_literal1351
    #define	RETURN_TYPE_string_literal1351 MySQLParser_string_literal_return

    MySQLParser_string_literal_return string_literal1355;
    #undef	RETURN_TYPE_string_literal1355
    #define	RETURN_TYPE_string_literal1355 MySQLParser_string_literal_return

    MySQLParser_string_literal_return string_literal1357;
    #undef	RETURN_TYPE_string_literal1357
    #define	RETURN_TYPE_string_literal1357 MySQLParser_string_literal_return

    pANTLR3_BASE_TREE SET_SYMBOL1344_tree;
    pANTLR3_BASE_TREE PASSWORD_SYMBOL1345_tree;
    pANTLR3_BASE_TREE FOR_SYMBOL1346_tree;
    pANTLR3_BASE_TREE PASSWORD_SYMBOL1349_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL1350_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL1352_tree;
    pANTLR3_BASE_TREE OLD_PASSWORD_SYMBOL1353_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL1354_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL1356_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    SET_SYMBOL1344       = NULL;
    PASSWORD_SYMBOL1345       = NULL;
    FOR_SYMBOL1346       = NULL;
    PASSWORD_SYMBOL1349       = NULL;
    OPEN_PAR_SYMBOL1350       = NULL;
    CLOSE_PAR_SYMBOL1352       = NULL;
    OLD_PASSWORD_SYMBOL1353       = NULL;
    OPEN_PAR_SYMBOL1354       = NULL;
    CLOSE_PAR_SYMBOL1356       = NULL;
    user1347.tree = NULL;

    equal1348.tree = NULL;

    string_literal1351.tree = NULL;

    string_literal1355.tree = NULL;

    string_literal1357.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    SET_SYMBOL1344_tree   = NULL;
    PASSWORD_SYMBOL1345_tree   = NULL;
    FOR_SYMBOL1346_tree   = NULL;
    PASSWORD_SYMBOL1349_tree   = NULL;
    OPEN_PAR_SYMBOL1350_tree   = NULL;
    CLOSE_PAR_SYMBOL1352_tree   = NULL;
    OLD_PASSWORD_SYMBOL1353_tree   = NULL;
    OPEN_PAR_SYMBOL1354_tree   = NULL;
    CLOSE_PAR_SYMBOL1356_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1339: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:1340: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_SYMBOL1344 = (pANTLR3_COMMON_TOKEN) MATCHT(SET_SYMBOL, &FOLLOW_SET_SYMBOL_in_set_password7151);
            if  (HASEXCEPTION())
            {
                goto ruleset_passwordEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            SET_SYMBOL1344_tree = 
            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SET_SYMBOL1344))
            ;
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, SET_SYMBOL1344_tree, root_0));
            }

            PASSWORD_SYMBOL1345 = (pANTLR3_COMMON_TOKEN) MATCHT(PASSWORD_SYMBOL, &FOLLOW_PASSWORD_SYMBOL_in_set_password7154);
            if  (HASEXCEPTION())
            {
                goto ruleset_passwordEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            PASSWORD_SYMBOL1345_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, PASSWORD_SYMBOL1345));
            ADAPTOR->addChild(ADAPTOR, root_0, PASSWORD_SYMBOL1345_tree);
            }

            // MySQL.g:1340:30: ( FOR_SYMBOL user )?
            {
                int alt435=2;
                switch ( LA(1) )
                {
                    case FOR_SYMBOL:
                    	{
                    		alt435=1;
                    	}
                        break;
                }

                switch (alt435)
                {
            	case 1:
            	    // MySQL.g:1340:31: FOR_SYMBOL user
            	    {
            	        FOR_SYMBOL1346 = (pANTLR3_COMMON_TOKEN) MATCHT(FOR_SYMBOL, &FOLLOW_FOR_SYMBOL_in_set_password7157);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleset_passwordEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        FOR_SYMBOL1346_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, FOR_SYMBOL1346));
            	        ADAPTOR->addChild(ADAPTOR, root_0, FOR_SYMBOL1346_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_user_in_set_password7159);
            	        user1347=user(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleset_passwordEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, user1347.tree);

            	    }
            	    break;

                }
            }

            FOLLOWPUSH(FOLLOW_equal_in_set_password7163);
            equal1348=equal(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruleset_passwordEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, equal1348.tree);

            // MySQL.g:1341: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 alt436=3;
                {
                    int LA436_0 = LA(1);
                    if ( (LA436_0 == PASSWORD_SYMBOL))
                    {
                        alt436=1;
                    }
                    else if ( (LA436_0 == OLD_PASSWORD_SYMBOL))
                    {
                        alt436=2;
                    }
                    else if ( (LA436_0 == NCHAR_TEXT || LA436_0 == SINGLE_QUOTED_TEXT || LA436_0 == UNDERSCORE_CHARSET))
                    {
                        alt436=3;
                    }
                    else if ( ((!SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA436_0 == DOUBLE_QUOTED_TEXT))
                    {
                        alt436=3;
                    }
                    else
                    {
                        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 ruleset_passwordEx;

                    }
                }
                switch (alt436)
                {
            	case 1:
            	    // MySQL.g:1342:3: PASSWORD_SYMBOL OPEN_PAR_SYMBOL string_literal CLOSE_PAR_SYMBOL
            	    {
            	        PASSWORD_SYMBOL1349 = (pANTLR3_COMMON_TOKEN) MATCHT(PASSWORD_SYMBOL, &FOLLOW_PASSWORD_SYMBOL_in_set_password7170);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleset_passwordEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        PASSWORD_SYMBOL1349_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, PASSWORD_SYMBOL1349));
            	        ADAPTOR->addChild(ADAPTOR, root_0, PASSWORD_SYMBOL1349_tree);
            	        }

            	        OPEN_PAR_SYMBOL1350 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_set_password7172);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleset_passwordEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        OPEN_PAR_SYMBOL1350_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL1350));
            	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL1350_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_string_literal_in_set_password7174);
            	        string_literal1351=string_literal(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleset_passwordEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_literal1351.tree);

            	        CLOSE_PAR_SYMBOL1352 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_set_password7176);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleset_passwordEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        CLOSE_PAR_SYMBOL1352_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL1352));
            	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL1352_tree);
            	        }

            	    }
            	    break;
            	case 2:
            	    // MySQL.g:1343:5: OLD_PASSWORD_SYMBOL OPEN_PAR_SYMBOL string_literal CLOSE_PAR_SYMBOL
            	    {
            	        OLD_PASSWORD_SYMBOL1353 = (pANTLR3_COMMON_TOKEN) MATCHT(OLD_PASSWORD_SYMBOL, &FOLLOW_OLD_PASSWORD_SYMBOL_in_set_password7182);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleset_passwordEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        OLD_PASSWORD_SYMBOL1353_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OLD_PASSWORD_SYMBOL1353));
            	        ADAPTOR->addChild(ADAPTOR, root_0, OLD_PASSWORD_SYMBOL1353_tree);
            	        }

            	        OPEN_PAR_SYMBOL1354 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_set_password7184);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleset_passwordEx;
            	        }
            	        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);
            	        }

            	        FOLLOWPUSH(FOLLOW_string_literal_in_set_password7186);
            	        string_literal1355=string_literal(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleset_passwordEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_literal1355.tree);

            	        CLOSE_PAR_SYMBOL1356 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_set_password7188);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleset_passwordEx;
            	        }
            	        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 3:
            	    // MySQL.g:1344:5: string_literal
            	    {
            	        FOLLOWPUSH(FOLLOW_string_literal_in_set_password7194);
            	        string_literal1357=string_literal(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleset_passwordEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_literal1357.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:1348: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_SYMBOL1358;
    pANTLR3_COMMON_TOKEN    FUNCTION_SYMBOL1359;
    pANTLR3_COMMON_TOKEN    PROCEDURE_SYMBOL1360;

    pANTLR3_BASE_TREE TABLE_SYMBOL1358_tree;
    pANTLR3_BASE_TREE FUNCTION_SYMBOL1359_tree;
    pANTLR3_BASE_TREE PROCEDURE_SYMBOL1360_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    TABLE_SYMBOL1358       = NULL;
    FUNCTION_SYMBOL1359       = NULL;
    PROCEDURE_SYMBOL1360       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    TABLE_SYMBOL1358_tree   = NULL;
    FUNCTION_SYMBOL1359_tree   = NULL;
    PROCEDURE_SYMBOL1360_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1348:18: ( ( ( TABLE_SYMBOL )? | FUNCTION_SYMBOL | PROCEDURE_SYMBOL ) )
        // MySQL.g:1349:2: ( ( TABLE_SYMBOL )? | FUNCTION_SYMBOL | PROCEDURE_SYMBOL )
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            // MySQL.g:1349:2: ( ( TABLE_SYMBOL )? | FUNCTION_SYMBOL | PROCEDURE_SYMBOL )
            {
                int alt438=3;
                {
                    int LA438_0 = LA(1);
                    if ( (LA438_0 == BACK_TICK_QUOTED_ID || LA438_0 == IDENTIFIER || LA438_0 == MULT_OPERATOR || LA438_0 == TABLE_SYMBOL))
                    {
                        alt438=1;
                    }
                    else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA438_0 == DOUBLE_QUOTED_TEXT))
                    {
                        alt438=1;
                    }
                    else if ( (LA438_0 == FUNCTION_SYMBOL))
                    {
                        {
                            int LA438_6 = LA(2);
                            if ( (LA438_6 == DOT_SYMBOL || LA438_6 == FROM_SYMBOL || LA438_6 == TO_SYMBOL))
                            {
                                alt438=1;
                            }
                            else if ( (((LA438_6 >= ACTION_SYMBOL) && (LA438_6 <= PARTITION_SYMBOL)) || LA438_6 == BACK_TICK_QUOTED_ID || LA438_6 == DOUBLE_QUOTED_TEXT || LA438_6 == IDENTIFIER || LA438_6 == MULT_OPERATOR))
                            {
                                alt438=2;
                            }
                            else
                            {
                                if (BACKTRACKING>0)
                                {
                                    FAILEDFLAG = ANTLR3_TRUE;
                                    return retval;
                                }


                                CONSTRUCTEX();
                                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                EXCEPTION->message      = (void *)"";
                                EXCEPTION->decisionNum  = 438;
                                EXCEPTION->state        = 6;


                                goto rulegrant_object_typeEx;

                            }
                        }
                    }
                    else if ( (((LA438_0 >= ACTION_SYMBOL) && (LA438_0 <= FULL_SYMBOL)) || ((LA438_0 >= GENERAL_SYMBOL) && (LA438_0 <= PARTITION_SYMBOL))))
                    {
                        alt438=1;
                    }
                    else if ( (LA438_0 == PROCEDURE_SYMBOL))
                    {
                        alt438=3;
                    }
                    else
                    {
                        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 rulegrant_object_typeEx;

                    }
                }
                switch (alt438)
                {
            	case 1:
            	    // MySQL.g:1349:3: ( TABLE_SYMBOL )?
            	    {
            	        // MySQL.g:1349:3: ( TABLE_SYMBOL )?
            	        {
            	            int alt437=2;
            	            switch ( LA(1) )
            	            {
            	                case TABLE_SYMBOL:
            	                	{
            	                		alt437=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt437)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1349:3: TABLE_SYMBOL
            	        	    {
            	        	        TABLE_SYMBOL1358 = (pANTLR3_COMMON_TOKEN) MATCHT(TABLE_SYMBOL, &FOLLOW_TABLE_SYMBOL_in_grant_object_type7207);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulegrant_object_typeEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        TABLE_SYMBOL1358_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, TABLE_SYMBOL1358));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, TABLE_SYMBOL1358_tree);
            	        	        }

            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;
            	case 2:
            	    // MySQL.g:1349:19: FUNCTION_SYMBOL
            	    {
            	        FUNCTION_SYMBOL1359 = (pANTLR3_COMMON_TOKEN) MATCHT(FUNCTION_SYMBOL, &FOLLOW_FUNCTION_SYMBOL_in_grant_object_type7212);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulegrant_object_typeEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        FUNCTION_SYMBOL1359_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, FUNCTION_SYMBOL1359));
            	        ADAPTOR->addChild(ADAPTOR, root_0, FUNCTION_SYMBOL1359_tree);
            	        }

            	    }
            	    break;
            	case 3:
            	    // MySQL.g:1349:37: PROCEDURE_SYMBOL
            	    {
            	        PROCEDURE_SYMBOL1360 = (pANTLR3_COMMON_TOKEN) MATCHT(PROCEDURE_SYMBOL, &FOLLOW_PROCEDURE_SYMBOL_in_grant_object_type7216);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulegrant_object_typeEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        PROCEDURE_SYMBOL1360_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, PROCEDURE_SYMBOL1360));
            	        ADAPTOR->addChild(ADAPTOR, root_0, PROCEDURE_SYMBOL1360_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:1352: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_SYMBOL1361;
    pANTLR3_COMMON_TOKEN    PRIVILEGES_SYMBOL1362;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL1364;
    MySQLParser_privilege_type_return privilege_type1363;
    #undef	RETURN_TYPE_privilege_type1363
    #define	RETURN_TYPE_privilege_type1363 MySQLParser_privilege_type_return

    MySQLParser_privilege_type_return privilege_type1365;
    #undef	RETURN_TYPE_privilege_type1365
    #define	RETURN_TYPE_privilege_type1365 MySQLParser_privilege_type_return

    pANTLR3_BASE_TREE ALL_SYMBOL1361_tree;
    pANTLR3_BASE_TREE PRIVILEGES_SYMBOL1362_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL1364_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    ALL_SYMBOL1361       = NULL;
    PRIVILEGES_SYMBOL1362       = NULL;
    COMMA_SYMBOL1364       = NULL;
    privilege_type1363.tree = NULL;

    privilege_type1365.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    ALL_SYMBOL1361_tree   = NULL;
    PRIVILEGES_SYMBOL1362_tree   = NULL;
    COMMA_SYMBOL1364_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:1352:17: ( ALL_SYMBOL ( PRIVILEGES_SYMBOL )? | privilege_type ( COMMA_SYMBOL privilege_type )* )

            ANTLR3_UINT32 alt441;

            alt441=2;

            switch ( LA(1) )
            {
            case ALL_SYMBOL:
            	{
            		alt441=1;
            	}
                break;
            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 EXECUTE_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:
            	{
            		alt441=2;
            	}
                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 rulegrant_privilegesEx;

            }

            switch (alt441)
            {
        	case 1:
        	    // MySQL.g:1353:2: ALL_SYMBOL ( PRIVILEGES_SYMBOL )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        ALL_SYMBOL1361 = (pANTLR3_COMMON_TOKEN) MATCHT(ALL_SYMBOL, &FOLLOW_ALL_SYMBOL_in_grant_privileges7226);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulegrant_privilegesEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        ALL_SYMBOL1361_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ALL_SYMBOL1361));
        	        ADAPTOR->addChild(ADAPTOR, root_0, ALL_SYMBOL1361_tree);
        	        }

        	        // MySQL.g:1353:13: ( PRIVILEGES_SYMBOL )?
        	        {
        	            int alt439=2;
        	            switch ( LA(1) )
        	            {
        	                case PRIVILEGES_SYMBOL:
        	                	{
        	                		alt439=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt439)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1353:13: PRIVILEGES_SYMBOL
        	        	    {
        	        	        PRIVILEGES_SYMBOL1362 = (pANTLR3_COMMON_TOKEN) MATCHT(PRIVILEGES_SYMBOL, &FOLLOW_PRIVILEGES_SYMBOL_in_grant_privileges7228);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulegrant_privilegesEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        PRIVILEGES_SYMBOL1362_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, PRIVILEGES_SYMBOL1362));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, PRIVILEGES_SYMBOL1362_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:1354:4: privilege_type ( COMMA_SYMBOL privilege_type )*
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_privilege_type_in_grant_privileges7234);
        	        privilege_type1363=privilege_type(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulegrant_privilegesEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, privilege_type1363.tree);

        	        // MySQL.g:1354:19: ( COMMA_SYMBOL privilege_type )*

        	        for (;;)
        	        {
        	            int alt440=2;
        	            switch ( LA(1) )
        	            {
        	            case COMMA_SYMBOL:
        	            	{
        	            		alt440=1;
        	            	}
        	                break;

        	            }

        	            switch (alt440)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1354:20: COMMA_SYMBOL privilege_type
        	        	    {
        	        	        COMMA_SYMBOL1364 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_grant_privileges7237);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulegrant_privilegesEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        COMMA_SYMBOL1364_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL1364));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL1364_tree);
        	        	        }

        	        	        FOLLOWPUSH(FOLLOW_privilege_type_in_grant_privileges7239);
        	        	        privilege_type1365=privilege_type(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulegrant_privilegesEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, privilege_type1365.tree);

        	        	    }
        	        	    break;

        	        	default:
        	        	    goto loop440;	/* break out of the loop */
        	        	    break;
        	            }
        	        }
        	        loop440: ; /* 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:1357: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_SYMBOL1366;
    pANTLR3_COMMON_TOKEN    ROUTINE_SYMBOL1367;
    pANTLR3_COMMON_TOKEN    CREATE_SYMBOL1368;
    pANTLR3_COMMON_TOKEN    ROUTINE_SYMBOL1369;
    pANTLR3_COMMON_TOKEN    TABLESPACE_SYMBOL1370;
    pANTLR3_COMMON_TOKEN    TEMPORARY_SYMBOL1371;
    pANTLR3_COMMON_TOKEN    TABLES_SYMBOL1372;
    pANTLR3_COMMON_TOKEN    USER_SYMBOL1373;
    pANTLR3_COMMON_TOKEN    VIEW_SYMBOL1374;
    pANTLR3_COMMON_TOKEN    DELETE_SYMBOL1375;
    pANTLR3_COMMON_TOKEN    DROP_SYMBOL1376;
    pANTLR3_COMMON_TOKEN    EVENT_SYMBOL1377;
    pANTLR3_COMMON_TOKEN    EXECUTE_SYMBOL1378;
    pANTLR3_COMMON_TOKEN    FILE_SYMBOL1379;
    pANTLR3_COMMON_TOKEN    GRANT_SYMBOL1380;
    pANTLR3_COMMON_TOKEN    OPTION_SYMBOL1381;
    pANTLR3_COMMON_TOKEN    INDEX_SYMBOL1382;
    pANTLR3_COMMON_TOKEN    INSERT_SYMBOL1383;
    pANTLR3_COMMON_TOKEN    LOCK_SYMBOL1385;
    pANTLR3_COMMON_TOKEN    TABLES_SYMBOL1386;
    pANTLR3_COMMON_TOKEN    PROCESS_SYMBOL1387;
    pANTLR3_COMMON_TOKEN    PROXY_SYMBOL1388;
    pANTLR3_COMMON_TOKEN    REFERENCES_SYMBOL1389;
    pANTLR3_COMMON_TOKEN    RELOAD_SYMBOL1391;
    pANTLR3_COMMON_TOKEN    REPLICATION_SYMBOL1392;
    pANTLR3_COMMON_TOKEN    set1393;
    pANTLR3_COMMON_TOKEN    SELECT_SYMBOL1394;
    pANTLR3_COMMON_TOKEN    SHOW_SYMBOL1396;
    pANTLR3_COMMON_TOKEN    DATABASES_SYMBOL1397;
    pANTLR3_COMMON_TOKEN    SHOW_SYMBOL1398;
    pANTLR3_COMMON_TOKEN    VIEW_SYMBOL1399;
    pANTLR3_COMMON_TOKEN    SHUTDOWN_SYMBOL1400;
    pANTLR3_COMMON_TOKEN    SUPER_SYMBOL1401;
    pANTLR3_COMMON_TOKEN    TRIGGER_SYMBOL1402;
    pANTLR3_COMMON_TOKEN    UPDATE_SYMBOL1403;
    pANTLR3_COMMON_TOKEN    USAGE_SYMBOL1405;
    MySQLParser_identifier_list_with_parentheses_return identifier_list_with_parentheses1384;
    #undef	RETURN_TYPE_identifier_list_with_parentheses1384
    #define	RETURN_TYPE_identifier_list_with_parentheses1384 MySQLParser_identifier_list_with_parentheses_return

    MySQLParser_identifier_list_with_parentheses_return identifier_list_with_parentheses1390;
    #undef	RETURN_TYPE_identifier_list_with_parentheses1390
    #define	RETURN_TYPE_identifier_list_with_parentheses1390 MySQLParser_identifier_list_with_parentheses_return

    MySQLParser_identifier_list_with_parentheses_return identifier_list_with_parentheses1395;
    #undef	RETURN_TYPE_identifier_list_with_parentheses1395
    #define	RETURN_TYPE_identifier_list_with_parentheses1395 MySQLParser_identifier_list_with_parentheses_return

    MySQLParser_identifier_list_with_parentheses_return identifier_list_with_parentheses1404;
    #undef	RETURN_TYPE_identifier_list_with_parentheses1404
    #define	RETURN_TYPE_identifier_list_with_parentheses1404 MySQLParser_identifier_list_with_parentheses_return

    pANTLR3_BASE_TREE ALTER_SYMBOL1366_tree;
    pANTLR3_BASE_TREE ROUTINE_SYMBOL1367_tree;
    pANTLR3_BASE_TREE CREATE_SYMBOL1368_tree;
    pANTLR3_BASE_TREE ROUTINE_SYMBOL1369_tree;
    pANTLR3_BASE_TREE TABLESPACE_SYMBOL1370_tree;
    pANTLR3_BASE_TREE TEMPORARY_SYMBOL1371_tree;
    pANTLR3_BASE_TREE TABLES_SYMBOL1372_tree;
    pANTLR3_BASE_TREE USER_SYMBOL1373_tree;
    pANTLR3_BASE_TREE VIEW_SYMBOL1374_tree;
    pANTLR3_BASE_TREE DELETE_SYMBOL1375_tree;
    pANTLR3_BASE_TREE DROP_SYMBOL1376_tree;
    pANTLR3_BASE_TREE EVENT_SYMBOL1377_tree;
    pANTLR3_BASE_TREE EXECUTE_SYMBOL1378_tree;
    pANTLR3_BASE_TREE FILE_SYMBOL1379_tree;
    pANTLR3_BASE_TREE GRANT_SYMBOL1380_tree;
    pANTLR3_BASE_TREE OPTION_SYMBOL1381_tree;
    pANTLR3_BASE_TREE INDEX_SYMBOL1382_tree;
    pANTLR3_BASE_TREE INSERT_SYMBOL1383_tree;
    pANTLR3_BASE_TREE LOCK_SYMBOL1385_tree;
    pANTLR3_BASE_TREE TABLES_SYMBOL1386_tree;
    pANTLR3_BASE_TREE PROCESS_SYMBOL1387_tree;
    pANTLR3_BASE_TREE PROXY_SYMBOL1388_tree;
    pANTLR3_BASE_TREE REFERENCES_SYMBOL1389_tree;
    pANTLR3_BASE_TREE RELOAD_SYMBOL1391_tree;
    pANTLR3_BASE_TREE REPLICATION_SYMBOL1392_tree;
    pANTLR3_BASE_TREE set1393_tree;
    pANTLR3_BASE_TREE SELECT_SYMBOL1394_tree;
    pANTLR3_BASE_TREE SHOW_SYMBOL1396_tree;
    pANTLR3_BASE_TREE DATABASES_SYMBOL1397_tree;
    pANTLR3_BASE_TREE SHOW_SYMBOL1398_tree;
    pANTLR3_BASE_TREE VIEW_SYMBOL1399_tree;
    pANTLR3_BASE_TREE SHUTDOWN_SYMBOL1400_tree;
    pANTLR3_BASE_TREE SUPER_SYMBOL1401_tree;
    pANTLR3_BASE_TREE TRIGGER_SYMBOL1402_tree;
    pANTLR3_BASE_TREE UPDATE_SYMBOL1403_tree;
    pANTLR3_BASE_TREE USAGE_SYMBOL1405_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    ALTER_SYMBOL1366       = NULL;
    ROUTINE_SYMBOL1367       = NULL;
    CREATE_SYMBOL1368       = NULL;
    ROUTINE_SYMBOL1369       = NULL;
    TABLESPACE_SYMBOL1370       = NULL;
    TEMPORARY_SYMBOL1371       = NULL;
    TABLES_SYMBOL1372       = NULL;
    USER_SYMBOL1373       = NULL;
    VIEW_SYMBOL1374       = NULL;
    DELETE_SYMBOL1375       = NULL;
    DROP_SYMBOL1376       = NULL;
    EVENT_SYMBOL1377       = NULL;
    EXECUTE_SYMBOL1378       = NULL;
    FILE_SYMBOL1379       = NULL;
    GRANT_SYMBOL1380       = NULL;
    OPTION_SYMBOL1381       = NULL;
    INDEX_SYMBOL1382       = NULL;
    INSERT_SYMBOL1383       = NULL;
    LOCK_SYMBOL1385       = NULL;
    TABLES_SYMBOL1386       = NULL;
    PROCESS_SYMBOL1387       = NULL;
    PROXY_SYMBOL1388       = NULL;
    REFERENCES_SYMBOL1389       = NULL;
    RELOAD_SYMBOL1391       = NULL;
    REPLICATION_SYMBOL1392       = NULL;
    set1393       = NULL;
    SELECT_SYMBOL1394       = NULL;
    SHOW_SYMBOL1396       = NULL;
    DATABASES_SYMBOL1397       = NULL;
    SHOW_SYMBOL1398       = NULL;
    VIEW_SYMBOL1399       = NULL;
    SHUTDOWN_SYMBOL1400       = NULL;
    SUPER_SYMBOL1401       = NULL;
    TRIGGER_SYMBOL1402       = NULL;
    UPDATE_SYMBOL1403       = NULL;
    USAGE_SYMBOL1405       = NULL;
    identifier_list_with_parentheses1384.tree = NULL;

    identifier_list_with_parentheses1390.tree = NULL;

    identifier_list_with_parentheses1395.tree = NULL;

    identifier_list_with_parentheses1404.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    ALTER_SYMBOL1366_tree   = NULL;
    ROUTINE_SYMBOL1367_tree   = NULL;
    CREATE_SYMBOL1368_tree   = NULL;
    ROUTINE_SYMBOL1369_tree   = NULL;
    TABLESPACE_SYMBOL1370_tree   = NULL;
    TEMPORARY_SYMBOL1371_tree   = NULL;
    TABLES_SYMBOL1372_tree   = NULL;
    USER_SYMBOL1373_tree   = NULL;
    VIEW_SYMBOL1374_tree   = NULL;
    DELETE_SYMBOL1375_tree   = NULL;
    DROP_SYMBOL1376_tree   = NULL;
    EVENT_SYMBOL1377_tree   = NULL;
    EXECUTE_SYMBOL1378_tree   = NULL;
    FILE_SYMBOL1379_tree   = NULL;
    GRANT_SYMBOL1380_tree   = NULL;
    OPTION_SYMBOL1381_tree   = NULL;
    INDEX_SYMBOL1382_tree   = NULL;
    INSERT_SYMBOL1383_tree   = NULL;
    LOCK_SYMBOL1385_tree   = NULL;
    TABLES_SYMBOL1386_tree   = NULL;
    PROCESS_SYMBOL1387_tree   = NULL;
    PROXY_SYMBOL1388_tree   = NULL;
    REFERENCES_SYMBOL1389_tree   = NULL;
    RELOAD_SYMBOL1391_tree   = NULL;
    REPLICATION_SYMBOL1392_tree   = NULL;
    set1393_tree   = NULL;
    SELECT_SYMBOL1394_tree   = NULL;
    SHOW_SYMBOL1396_tree   = NULL;
    DATABASES_SYMBOL1397_tree   = NULL;
    SHOW_SYMBOL1398_tree   = NULL;
    VIEW_SYMBOL1399_tree   = NULL;
    SHUTDOWN_SYMBOL1400_tree   = NULL;
    SUPER_SYMBOL1401_tree   = NULL;
    TRIGGER_SYMBOL1402_tree   = NULL;
    UPDATE_SYMBOL1403_tree   = NULL;
    USAGE_SYMBOL1405_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:1357: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 alt448;

            alt448=24;

            switch ( LA(1) )
            {
            case ALTER_SYMBOL:
            	{
            		alt448=1;
            	}
                break;
            case CREATE_SYMBOL:
            	{
            		alt448=2;
            	}
                break;
            case DELETE_SYMBOL:
            	{
            		alt448=3;
            	}
                break;
            case DROP_SYMBOL:
            	{
            		alt448=4;
            	}
                break;
            case EVENT_SYMBOL:
            	{
            		alt448=5;
            	}
                break;
            case EXECUTE_SYMBOL:
            	{
            		alt448=6;
            	}
                break;
            case FILE_SYMBOL:
            	{
            		alt448=7;
            	}
                break;
            case GRANT_SYMBOL:
            	{
            		alt448=8;
            	}
                break;
            case INDEX_SYMBOL:
            	{
            		alt448=9;
            	}
                break;
            case INSERT_SYMBOL:
            	{
            		alt448=10;
            	}
                break;
            case LOCK_SYMBOL:
            	{
            		alt448=11;
            	}
                break;
            case PROCESS_SYMBOL:
            	{
            		alt448=12;
            	}
                break;
            case PROXY_SYMBOL:
            	{
            		alt448=13;
            	}
                break;
            case REFERENCES_SYMBOL:
            	{
            		alt448=14;
            	}
                break;
            case RELOAD_SYMBOL:
            	{
            		alt448=15;
            	}
                break;
            case REPLICATION_SYMBOL:
            	{
            		alt448=16;
            	}
                break;
            case SELECT_SYMBOL:
            	{
            		alt448=17;
            	}
                break;
            case SHOW_SYMBOL:
            	{
            		switch ( LA(2) )
            		{
            		case DATABASES_SYMBOL:
            			{
            				alt448=18;
            			}
            		    break;
            		case VIEW_SYMBOL:
            			{
            				alt448=19;
            			}
            		    break;

            		default:
            		    if (BACKTRACKING>0)
            		    {
            		        FAILEDFLAG = ANTLR3_TRUE;
            		        return retval;
            		    }

            		    CONSTRUCTEX();
            		    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
            		    EXCEPTION->message      = (void *)"";
            		    EXCEPTION->decisionNum  = 448;
            		    EXCEPTION->state        = 18;


            		    goto ruleprivilege_typeEx;

            		}

            	}
                break;
            case SHUTDOWN_SYMBOL:
            	{
            		alt448=20;
            	}
                break;
            case SUPER_SYMBOL:
            	{
            		alt448=21;
            	}
                break;
            case TRIGGER_SYMBOL:
            	{
            		alt448=22;
            	}
                break;
            case UPDATE_SYMBOL:
            	{
            		alt448=23;
            	}
                break;
            case USAGE_SYMBOL:
            	{
            		alt448=24;
            	}
                break;

            default:
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                EXCEPTION->message      = (void *)"";
                EXCEPTION->decisionNum  = 448;
                EXCEPTION->state        = 0;


                goto ruleprivilege_typeEx;

            }

            switch (alt448)
            {
        	case 1:
        	    // MySQL.g:1358:2: ALTER_SYMBOL ( ROUTINE_SYMBOL )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        ALTER_SYMBOL1366 = (pANTLR3_COMMON_TOKEN) MATCHT(ALTER_SYMBOL, &FOLLOW_ALTER_SYMBOL_in_privilege_type7250);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleprivilege_typeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        ALTER_SYMBOL1366_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ALTER_SYMBOL1366));
        	        ADAPTOR->addChild(ADAPTOR, root_0, ALTER_SYMBOL1366_tree);
        	        }

        	        // MySQL.g:1358:15: ( ROUTINE_SYMBOL )?
        	        {
        	            int alt442=2;
        	            switch ( LA(1) )
        	            {
        	                case ROUTINE_SYMBOL:
        	                	{
        	                		alt442=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt442)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1358:15: ROUTINE_SYMBOL
        	        	    {
        	        	        ROUTINE_SYMBOL1367 = (pANTLR3_COMMON_TOKEN) MATCHT(ROUTINE_SYMBOL, &FOLLOW_ROUTINE_SYMBOL_in_privilege_type7252);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleprivilege_typeEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        ROUTINE_SYMBOL1367_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ROUTINE_SYMBOL1367));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, ROUTINE_SYMBOL1367_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:1359:4: CREATE_SYMBOL ( ROUTINE_SYMBOL | TABLESPACE_SYMBOL | TEMPORARY_SYMBOL TABLES_SYMBOL | USER_SYMBOL | VIEW_SYMBOL )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        CREATE_SYMBOL1368 = (pANTLR3_COMMON_TOKEN) MATCHT(CREATE_SYMBOL, &FOLLOW_CREATE_SYMBOL_in_privilege_type7258);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleprivilege_typeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CREATE_SYMBOL1368_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CREATE_SYMBOL1368));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CREATE_SYMBOL1368_tree);
        	        }

        	        // MySQL.g:1359:18: ( ROUTINE_SYMBOL | TABLESPACE_SYMBOL | TEMPORARY_SYMBOL TABLES_SYMBOL | USER_SYMBOL | VIEW_SYMBOL )?
        	        {
        	            int alt443=6;
        	            switch ( LA(1) )
        	            {
        	                case ROUTINE_SYMBOL:
        	                	{
        	                		alt443=1;
        	                	}
        	                    break;
        	                case TABLESPACE_SYMBOL:
        	                	{
        	                		alt443=2;
        	                	}
        	                    break;
        	                case TEMPORARY_SYMBOL:
        	                	{
        	                		alt443=3;
        	                	}
        	                    break;
        	                case USER_SYMBOL:
        	                	{
        	                		alt443=4;
        	                	}
        	                    break;
        	                case VIEW_SYMBOL:
        	                	{
        	                		alt443=5;
        	                	}
        	                    break;
        	            }

        	            switch (alt443)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1359:19: ROUTINE_SYMBOL
        	        	    {
        	        	        ROUTINE_SYMBOL1369 = (pANTLR3_COMMON_TOKEN) MATCHT(ROUTINE_SYMBOL, &FOLLOW_ROUTINE_SYMBOL_in_privilege_type7261);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleprivilege_typeEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        ROUTINE_SYMBOL1369_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ROUTINE_SYMBOL1369));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, ROUTINE_SYMBOL1369_tree);
        	        	        }

        	        	    }
        	        	    break;
        	        	case 2:
        	        	    // MySQL.g:1359:36: TABLESPACE_SYMBOL
        	        	    {
        	        	        TABLESPACE_SYMBOL1370 = (pANTLR3_COMMON_TOKEN) MATCHT(TABLESPACE_SYMBOL, &FOLLOW_TABLESPACE_SYMBOL_in_privilege_type7265);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleprivilege_typeEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        TABLESPACE_SYMBOL1370_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, TABLESPACE_SYMBOL1370));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, TABLESPACE_SYMBOL1370_tree);
        	        	        }

        	        	    }
        	        	    break;
        	        	case 3:
        	        	    // MySQL.g:1359:56: TEMPORARY_SYMBOL TABLES_SYMBOL
        	        	    {
        	        	        TEMPORARY_SYMBOL1371 = (pANTLR3_COMMON_TOKEN) MATCHT(TEMPORARY_SYMBOL, &FOLLOW_TEMPORARY_SYMBOL_in_privilege_type7269);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleprivilege_typeEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        TEMPORARY_SYMBOL1371_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, TEMPORARY_SYMBOL1371));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, TEMPORARY_SYMBOL1371_tree);
        	        	        }

        	        	        TABLES_SYMBOL1372 = (pANTLR3_COMMON_TOKEN) MATCHT(TABLES_SYMBOL, &FOLLOW_TABLES_SYMBOL_in_privilege_type7271);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleprivilege_typeEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        TABLES_SYMBOL1372_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, TABLES_SYMBOL1372));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, TABLES_SYMBOL1372_tree);
        	        	        }

        	        	    }
        	        	    break;
        	        	case 4:
        	        	    // MySQL.g:1359:89: USER_SYMBOL
        	        	    {
        	        	        USER_SYMBOL1373 = (pANTLR3_COMMON_TOKEN) MATCHT(USER_SYMBOL, &FOLLOW_USER_SYMBOL_in_privilege_type7275);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleprivilege_typeEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        USER_SYMBOL1373_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, USER_SYMBOL1373));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, USER_SYMBOL1373_tree);
        	        	        }

        	        	    }
        	        	    break;
        	        	case 5:
        	        	    // MySQL.g:1359:103: VIEW_SYMBOL
        	        	    {
        	        	        VIEW_SYMBOL1374 = (pANTLR3_COMMON_TOKEN) MATCHT(VIEW_SYMBOL, &FOLLOW_VIEW_SYMBOL_in_privilege_type7279);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleprivilege_typeEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        VIEW_SYMBOL1374_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, VIEW_SYMBOL1374));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, VIEW_SYMBOL1374_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 3:
        	    // MySQL.g:1360:4: DELETE_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        DELETE_SYMBOL1375 = (pANTLR3_COMMON_TOKEN) MATCHT(DELETE_SYMBOL, &FOLLOW_DELETE_SYMBOL_in_privilege_type7286);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleprivilege_typeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        DELETE_SYMBOL1375_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DELETE_SYMBOL1375));
        	        ADAPTOR->addChild(ADAPTOR, root_0, DELETE_SYMBOL1375_tree);
        	        }

        	    }
        	    break;
        	case 4:
        	    // MySQL.g:1361:4: DROP_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        DROP_SYMBOL1376 = (pANTLR3_COMMON_TOKEN) MATCHT(DROP_SYMBOL, &FOLLOW_DROP_SYMBOL_in_privilege_type7291);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleprivilege_typeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        DROP_SYMBOL1376_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DROP_SYMBOL1376));
        	        ADAPTOR->addChild(ADAPTOR, root_0, DROP_SYMBOL1376_tree);
        	        }

        	    }
        	    break;
        	case 5:
        	    // MySQL.g:1362:4: EVENT_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        EVENT_SYMBOL1377 = (pANTLR3_COMMON_TOKEN) MATCHT(EVENT_SYMBOL, &FOLLOW_EVENT_SYMBOL_in_privilege_type7296);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleprivilege_typeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        EVENT_SYMBOL1377_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EVENT_SYMBOL1377));
        	        ADAPTOR->addChild(ADAPTOR, root_0, EVENT_SYMBOL1377_tree);
        	        }

        	    }
        	    break;
        	case 6:
        	    // MySQL.g:1363:4: EXECUTE_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        EXECUTE_SYMBOL1378 = (pANTLR3_COMMON_TOKEN) MATCHT(EXECUTE_SYMBOL, &FOLLOW_EXECUTE_SYMBOL_in_privilege_type7301);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleprivilege_typeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        EXECUTE_SYMBOL1378_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EXECUTE_SYMBOL1378));
        	        ADAPTOR->addChild(ADAPTOR, root_0, EXECUTE_SYMBOL1378_tree);
        	        }

        	    }
        	    break;
        	case 7:
        	    // MySQL.g:1364:4: FILE_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FILE_SYMBOL1379 = (pANTLR3_COMMON_TOKEN) MATCHT(FILE_SYMBOL, &FOLLOW_FILE_SYMBOL_in_privilege_type7306);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleprivilege_typeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        FILE_SYMBOL1379_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, FILE_SYMBOL1379));
        	        ADAPTOR->addChild(ADAPTOR, root_0, FILE_SYMBOL1379_tree);
        	        }

        	    }
        	    break;
        	case 8:
        	    // MySQL.g:1365:4: GRANT_SYMBOL OPTION_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        GRANT_SYMBOL1380 = (pANTLR3_COMMON_TOKEN) MATCHT(GRANT_SYMBOL, &FOLLOW_GRANT_SYMBOL_in_privilege_type7311);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleprivilege_typeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        GRANT_SYMBOL1380_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, GRANT_SYMBOL1380));
        	        ADAPTOR->addChild(ADAPTOR, root_0, GRANT_SYMBOL1380_tree);
        	        }

        	        OPTION_SYMBOL1381 = (pANTLR3_COMMON_TOKEN) MATCHT(OPTION_SYMBOL, &FOLLOW_OPTION_SYMBOL_in_privilege_type7313);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleprivilege_typeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPTION_SYMBOL1381_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPTION_SYMBOL1381));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPTION_SYMBOL1381_tree);
        	        }

        	    }
        	    break;
        	case 9:
        	    // MySQL.g:1366:4: INDEX_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        INDEX_SYMBOL1382 = (pANTLR3_COMMON_TOKEN) MATCHT(INDEX_SYMBOL, &FOLLOW_INDEX_SYMBOL_in_privilege_type7318);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleprivilege_typeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        INDEX_SYMBOL1382_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INDEX_SYMBOL1382));
        	        ADAPTOR->addChild(ADAPTOR, root_0, INDEX_SYMBOL1382_tree);
        	        }

        	    }
        	    break;
        	case 10:
        	    // MySQL.g:1367:4: INSERT_SYMBOL ( identifier_list_with_parentheses )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        INSERT_SYMBOL1383 = (pANTLR3_COMMON_TOKEN) MATCHT(INSERT_SYMBOL, &FOLLOW_INSERT_SYMBOL_in_privilege_type7323);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleprivilege_typeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        INSERT_SYMBOL1383_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INSERT_SYMBOL1383));
        	        ADAPTOR->addChild(ADAPTOR, root_0, INSERT_SYMBOL1383_tree);
        	        }

        	        // MySQL.g:1367:18: ( identifier_list_with_parentheses )?
        	        {
        	            int alt444=2;
        	            switch ( LA(1) )
        	            {
        	                case OPEN_PAR_SYMBOL:
        	                	{
        	                		alt444=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt444)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1367:18: identifier_list_with_parentheses
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_identifier_list_with_parentheses_in_privilege_type7325);
        	        	        identifier_list_with_parentheses1384=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_parentheses1384.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 11:
        	    // MySQL.g:1368:4: LOCK_SYMBOL TABLES_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        LOCK_SYMBOL1385 = (pANTLR3_COMMON_TOKEN) MATCHT(LOCK_SYMBOL, &FOLLOW_LOCK_SYMBOL_in_privilege_type7331);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleprivilege_typeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        LOCK_SYMBOL1385_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, LOCK_SYMBOL1385));
        	        ADAPTOR->addChild(ADAPTOR, root_0, LOCK_SYMBOL1385_tree);
        	        }

        	        TABLES_SYMBOL1386 = (pANTLR3_COMMON_TOKEN) MATCHT(TABLES_SYMBOL, &FOLLOW_TABLES_SYMBOL_in_privilege_type7333);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleprivilege_typeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        TABLES_SYMBOL1386_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, TABLES_SYMBOL1386));
        	        ADAPTOR->addChild(ADAPTOR, root_0, TABLES_SYMBOL1386_tree);
        	        }

        	    }
        	    break;
        	case 12:
        	    // MySQL.g:1369:4: PROCESS_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        PROCESS_SYMBOL1387 = (pANTLR3_COMMON_TOKEN) MATCHT(PROCESS_SYMBOL, &FOLLOW_PROCESS_SYMBOL_in_privilege_type7338);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleprivilege_typeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        PROCESS_SYMBOL1387_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, PROCESS_SYMBOL1387));
        	        ADAPTOR->addChild(ADAPTOR, root_0, PROCESS_SYMBOL1387_tree);
        	        }

        	    }
        	    break;
        	case 13:
        	    // MySQL.g:1370:4: PROXY_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        PROXY_SYMBOL1388 = (pANTLR3_COMMON_TOKEN) MATCHT(PROXY_SYMBOL, &FOLLOW_PROXY_SYMBOL_in_privilege_type7343);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleprivilege_typeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        PROXY_SYMBOL1388_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, PROXY_SYMBOL1388));
        	        ADAPTOR->addChild(ADAPTOR, root_0, PROXY_SYMBOL1388_tree);
        	        }

        	    }
        	    break;
        	case 14:
        	    // MySQL.g:1371:4: REFERENCES_SYMBOL ( identifier_list_with_parentheses )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        REFERENCES_SYMBOL1389 = (pANTLR3_COMMON_TOKEN) MATCHT(REFERENCES_SYMBOL, &FOLLOW_REFERENCES_SYMBOL_in_privilege_type7348);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleprivilege_typeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        REFERENCES_SYMBOL1389_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, REFERENCES_SYMBOL1389));
        	        ADAPTOR->addChild(ADAPTOR, root_0, REFERENCES_SYMBOL1389_tree);
        	        }

        	        // MySQL.g:1371:22: ( identifier_list_with_parentheses )?
        	        {
        	            int alt445=2;
        	            switch ( LA(1) )
        	            {
        	                case OPEN_PAR_SYMBOL:
        	                	{
        	                		alt445=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt445)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1371:22: identifier_list_with_parentheses
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_identifier_list_with_parentheses_in_privilege_type7350);
        	        	        identifier_list_with_parentheses1390=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_parentheses1390.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 15:
        	    // MySQL.g:1372:4: RELOAD_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        RELOAD_SYMBOL1391 = (pANTLR3_COMMON_TOKEN) MATCHT(RELOAD_SYMBOL, &FOLLOW_RELOAD_SYMBOL_in_privilege_type7356);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleprivilege_typeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        RELOAD_SYMBOL1391_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, RELOAD_SYMBOL1391));
        	        ADAPTOR->addChild(ADAPTOR, root_0, RELOAD_SYMBOL1391_tree);
        	        }

        	    }
        	    break;
        	case 16:
        	    // MySQL.g:1373:4: REPLICATION_SYMBOL ( CLIENT_SYMBOL | SLAVE_SYMBOL )
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        REPLICATION_SYMBOL1392 = (pANTLR3_COMMON_TOKEN) MATCHT(REPLICATION_SYMBOL, &FOLLOW_REPLICATION_SYMBOL_in_privilege_type7361);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleprivilege_typeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        REPLICATION_SYMBOL1392_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, REPLICATION_SYMBOL1392));
        	        ADAPTOR->addChild(ADAPTOR, root_0, REPLICATION_SYMBOL1392_tree);
        	        }

        	        set1393=(pANTLR3_COMMON_TOKEN)LT(1);

        	        if ( LA(1) == CLIENT_SYMBOL || LA(1) == SLAVE_SYMBOL )
        	        {
        	            CONSUME();
        	            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, 
        	            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set1393))
        	            );
        	            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:1374:4: SELECT_SYMBOL ( identifier_list_with_parentheses )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        SELECT_SYMBOL1394 = (pANTLR3_COMMON_TOKEN) MATCHT(SELECT_SYMBOL, &FOLLOW_SELECT_SYMBOL_in_privilege_type7374);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleprivilege_typeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        SELECT_SYMBOL1394_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SELECT_SYMBOL1394));
        	        ADAPTOR->addChild(ADAPTOR, root_0, SELECT_SYMBOL1394_tree);
        	        }

        	        // MySQL.g:1374:18: ( identifier_list_with_parentheses )?
        	        {
        	            int alt446=2;
        	            switch ( LA(1) )
        	            {
        	                case OPEN_PAR_SYMBOL:
        	                	{
        	                		alt446=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt446)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1374:18: identifier_list_with_parentheses
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_identifier_list_with_parentheses_in_privilege_type7376);
        	        	        identifier_list_with_parentheses1395=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_parentheses1395.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 18:
        	    // MySQL.g:1375:4: SHOW_SYMBOL DATABASES_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        SHOW_SYMBOL1396 = (pANTLR3_COMMON_TOKEN) MATCHT(SHOW_SYMBOL, &FOLLOW_SHOW_SYMBOL_in_privilege_type7382);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleprivilege_typeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        SHOW_SYMBOL1396_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SHOW_SYMBOL1396));
        	        ADAPTOR->addChild(ADAPTOR, root_0, SHOW_SYMBOL1396_tree);
        	        }

        	        DATABASES_SYMBOL1397 = (pANTLR3_COMMON_TOKEN) MATCHT(DATABASES_SYMBOL, &FOLLOW_DATABASES_SYMBOL_in_privilege_type7384);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleprivilege_typeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        DATABASES_SYMBOL1397_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DATABASES_SYMBOL1397));
        	        ADAPTOR->addChild(ADAPTOR, root_0, DATABASES_SYMBOL1397_tree);
        	        }

        	    }
        	    break;
        	case 19:
        	    // MySQL.g:1376:4: SHOW_SYMBOL VIEW_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        SHOW_SYMBOL1398 = (pANTLR3_COMMON_TOKEN) MATCHT(SHOW_SYMBOL, &FOLLOW_SHOW_SYMBOL_in_privilege_type7389);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleprivilege_typeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        SHOW_SYMBOL1398_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SHOW_SYMBOL1398));
        	        ADAPTOR->addChild(ADAPTOR, root_0, SHOW_SYMBOL1398_tree);
        	        }

        	        VIEW_SYMBOL1399 = (pANTLR3_COMMON_TOKEN) MATCHT(VIEW_SYMBOL, &FOLLOW_VIEW_SYMBOL_in_privilege_type7391);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleprivilege_typeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        VIEW_SYMBOL1399_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, VIEW_SYMBOL1399));
        	        ADAPTOR->addChild(ADAPTOR, root_0, VIEW_SYMBOL1399_tree);
        	        }

        	    }
        	    break;
        	case 20:
        	    // MySQL.g:1377:4: SHUTDOWN_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        SHUTDOWN_SYMBOL1400 = (pANTLR3_COMMON_TOKEN) MATCHT(SHUTDOWN_SYMBOL, &FOLLOW_SHUTDOWN_SYMBOL_in_privilege_type7396);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleprivilege_typeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        SHUTDOWN_SYMBOL1400_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SHUTDOWN_SYMBOL1400));
        	        ADAPTOR->addChild(ADAPTOR, root_0, SHUTDOWN_SYMBOL1400_tree);
        	        }

        	    }
        	    break;
        	case 21:
        	    // MySQL.g:1378:4: SUPER_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        SUPER_SYMBOL1401 = (pANTLR3_COMMON_TOKEN) MATCHT(SUPER_SYMBOL, &FOLLOW_SUPER_SYMBOL_in_privilege_type7401);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleprivilege_typeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        SUPER_SYMBOL1401_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SUPER_SYMBOL1401));
        	        ADAPTOR->addChild(ADAPTOR, root_0, SUPER_SYMBOL1401_tree);
        	        }

        	    }
        	    break;
        	case 22:
        	    // MySQL.g:1379:4: TRIGGER_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        TRIGGER_SYMBOL1402 = (pANTLR3_COMMON_TOKEN) MATCHT(TRIGGER_SYMBOL, &FOLLOW_TRIGGER_SYMBOL_in_privilege_type7406);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleprivilege_typeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        TRIGGER_SYMBOL1402_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, TRIGGER_SYMBOL1402));
        	        ADAPTOR->addChild(ADAPTOR, root_0, TRIGGER_SYMBOL1402_tree);
        	        }

        	    }
        	    break;
        	case 23:
        	    // MySQL.g:1380:4: UPDATE_SYMBOL ( identifier_list_with_parentheses )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        UPDATE_SYMBOL1403 = (pANTLR3_COMMON_TOKEN) MATCHT(UPDATE_SYMBOL, &FOLLOW_UPDATE_SYMBOL_in_privilege_type7411);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleprivilege_typeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        UPDATE_SYMBOL1403_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, UPDATE_SYMBOL1403));
        	        ADAPTOR->addChild(ADAPTOR, root_0, UPDATE_SYMBOL1403_tree);
        	        }

        	        // MySQL.g:1380:18: ( identifier_list_with_parentheses )?
        	        {
        	            int alt447=2;
        	            switch ( LA(1) )
        	            {
        	                case OPEN_PAR_SYMBOL:
        	                	{
        	                		alt447=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt447)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1380:18: identifier_list_with_parentheses
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_identifier_list_with_parentheses_in_privilege_type7413);
        	        	        identifier_list_with_parentheses1404=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_parentheses1404.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 24:
        	    // MySQL.g:1381:4: USAGE_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        USAGE_SYMBOL1405 = (pANTLR3_COMMON_TOKEN) MATCHT(USAGE_SYMBOL, &FOLLOW_USAGE_SYMBOL_in_privilege_type7419);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleprivilege_typeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        USAGE_SYMBOL1405_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, USAGE_SYMBOL1405));
        	        ADAPTOR->addChild(ADAPTOR, root_0, USAGE_SYMBOL1405_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:1384: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_OPERATOR1406;
    pANTLR3_COMMON_TOKEN    DOT_SYMBOL1407;
    pANTLR3_COMMON_TOKEN    MULT_OPERATOR1408;
    pANTLR3_COMMON_TOKEN    DOT_SYMBOL1410;
    pANTLR3_COMMON_TOKEN    MULT_OPERATOR1411;
    MySQLParser_identifier_return identifier1409;
    #undef	RETURN_TYPE_identifier1409
    #define	RETURN_TYPE_identifier1409 MySQLParser_identifier_return

    MySQLParser_identifier_return identifier1412;
    #undef	RETURN_TYPE_identifier1412
    #define	RETURN_TYPE_identifier1412 MySQLParser_identifier_return

    pANTLR3_BASE_TREE MULT_OPERATOR1406_tree;
    pANTLR3_BASE_TREE DOT_SYMBOL1407_tree;
    pANTLR3_BASE_TREE MULT_OPERATOR1408_tree;
    pANTLR3_BASE_TREE DOT_SYMBOL1410_tree;
    pANTLR3_BASE_TREE MULT_OPERATOR1411_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    MULT_OPERATOR1406       = NULL;
    DOT_SYMBOL1407       = NULL;
    MULT_OPERATOR1408       = NULL;
    DOT_SYMBOL1410       = NULL;
    MULT_OPERATOR1411       = NULL;
    identifier1409.tree = NULL;

    identifier1412.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    MULT_OPERATOR1406_tree   = NULL;
    DOT_SYMBOL1407_tree   = NULL;
    MULT_OPERATOR1408_tree   = NULL;
    DOT_SYMBOL1410_tree   = NULL;
    MULT_OPERATOR1411_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:1384:16: ( MULT_OPERATOR ( DOT_SYMBOL MULT_OPERATOR )? | identifier ( DOT_SYMBOL ( MULT_OPERATOR | identifier ) )? )

            ANTLR3_UINT32 alt452;

            alt452=2;

            {
                int LA452_0 = LA(1);
                if ( (LA452_0 == MULT_OPERATOR))
                {
                    alt452=1;
                }
                else if ( (LA452_0 == BACK_TICK_QUOTED_ID || LA452_0 == IDENTIFIER))
                {
                    alt452=2;
                }
                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA452_0 == DOUBLE_QUOTED_TEXT))
                {
                    alt452=2;
                }
                else if ( (((LA452_0 >= ACTION_SYMBOL) && (LA452_0 <= PARTITION_SYMBOL))))
                {
                    alt452=2;
                }
                else
                {
                    if (BACKTRACKING>0)
                    {
                        FAILEDFLAG = ANTLR3_TRUE;
                        return retval;
                    }


                    CONSTRUCTEX();
                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    EXCEPTION->message      = (void *)"";
                    EXCEPTION->decisionNum  = 452;
                    EXCEPTION->state        = 0;


                    goto ruleprivilege_levelEx;

                }
            }
            switch (alt452)
            {
        	case 1:
        	    // MySQL.g:1385:2: MULT_OPERATOR ( DOT_SYMBOL MULT_OPERATOR )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        MULT_OPERATOR1406 = (pANTLR3_COMMON_TOKEN) MATCHT(MULT_OPERATOR, &FOLLOW_MULT_OPERATOR_in_privilege_level7428);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleprivilege_levelEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        MULT_OPERATOR1406_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MULT_OPERATOR1406));
        	        ADAPTOR->addChild(ADAPTOR, root_0, MULT_OPERATOR1406_tree);
        	        }

        	        // MySQL.g:1385:16: ( DOT_SYMBOL MULT_OPERATOR )?
        	        {
        	            int alt449=2;
        	            switch ( LA(1) )
        	            {
        	                case DOT_SYMBOL:
        	                	{
        	                		alt449=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt449)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1385:17: DOT_SYMBOL MULT_OPERATOR
        	        	    {
        	        	        DOT_SYMBOL1407 = (pANTLR3_COMMON_TOKEN) MATCHT(DOT_SYMBOL, &FOLLOW_DOT_SYMBOL_in_privilege_level7431);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleprivilege_levelEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        DOT_SYMBOL1407_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DOT_SYMBOL1407));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, DOT_SYMBOL1407_tree);
        	        	        }

        	        	        MULT_OPERATOR1408 = (pANTLR3_COMMON_TOKEN) MATCHT(MULT_OPERATOR, &FOLLOW_MULT_OPERATOR_in_privilege_level7433);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleprivilege_levelEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        MULT_OPERATOR1408_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MULT_OPERATOR1408));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, MULT_OPERATOR1408_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:1386:4: identifier ( DOT_SYMBOL ( MULT_OPERATOR | identifier ) )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_identifier_in_privilege_level7440);
        	        identifier1409=identifier(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleprivilege_levelEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier1409.tree);

        	        // MySQL.g:1386:15: ( DOT_SYMBOL ( MULT_OPERATOR | identifier ) )?
        	        {
        	            int alt451=2;
        	            switch ( LA(1) )
        	            {
        	                case DOT_SYMBOL:
        	                	{
        	                		alt451=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt451)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1386:16: DOT_SYMBOL ( MULT_OPERATOR | identifier )
        	        	    {
        	        	        DOT_SYMBOL1410 = (pANTLR3_COMMON_TOKEN) MATCHT(DOT_SYMBOL, &FOLLOW_DOT_SYMBOL_in_privilege_level7443);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleprivilege_levelEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        DOT_SYMBOL1410_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DOT_SYMBOL1410));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, DOT_SYMBOL1410_tree);
        	        	        }

        	        	        // MySQL.g:1386:27: ( MULT_OPERATOR | identifier )
        	        	        {
        	        	            int alt450=2;
        	        	            {
        	        	                int LA450_0 = LA(1);
        	        	                if ( (LA450_0 == MULT_OPERATOR))
        	        	                {
        	        	                    alt450=1;
        	        	                }
        	        	                else if ( (LA450_0 == BACK_TICK_QUOTED_ID || LA450_0 == IDENTIFIER))
        	        	                {
        	        	                    alt450=2;
        	        	                }
        	        	                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA450_0 == DOUBLE_QUOTED_TEXT))
        	        	                {
        	        	                    alt450=2;
        	        	                }
        	        	                else if ( (((LA450_0 >= ACTION_SYMBOL) && (LA450_0 <= PARTITION_SYMBOL))))
        	        	                {
        	        	                    alt450=2;
        	        	                }
        	        	                else
        	        	                {
        	        	                    if (BACKTRACKING>0)
        	        	                    {
        	        	                        FAILEDFLAG = ANTLR3_TRUE;
        	        	                        return retval;
        	        	                    }


        	        	                    CONSTRUCTEX();
        	        	                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	        	                    EXCEPTION->message      = (void *)"";
        	        	                    EXCEPTION->decisionNum  = 450;
        	        	                    EXCEPTION->state        = 0;


        	        	                    goto ruleprivilege_levelEx;

        	        	                }
        	        	            }
        	        	            switch (alt450)
        	        	            {
        	        	        	case 1:
        	        	        	    // MySQL.g:1386:28: MULT_OPERATOR
        	        	        	    {
        	        	        	        MULT_OPERATOR1411 = (pANTLR3_COMMON_TOKEN) MATCHT(MULT_OPERATOR, &FOLLOW_MULT_OPERATOR_in_privilege_level7446);
        	        	        	        if  (HASEXCEPTION())
        	        	        	        {
        	        	        	            goto ruleprivilege_levelEx;
        	        	        	        }
        	        	        	        if (HASFAILED())
        	        	        	        {
        	        	        	            return retval;
        	        	        	        }

        	        	        	        if ( BACKTRACKING==0 ) {
        	        	        	        MULT_OPERATOR1411_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MULT_OPERATOR1411));
        	        	        	        ADAPTOR->addChild(ADAPTOR, root_0, MULT_OPERATOR1411_tree);
        	        	        	        }

        	        	        	    }
        	        	        	    break;
        	        	        	case 2:
        	        	        	    // MySQL.g:1386:44: identifier
        	        	        	    {
        	        	        	        FOLLOWPUSH(FOLLOW_identifier_in_privilege_level7450);
        	        	        	        identifier1412=identifier(ctx);

        	        	        	        FOLLOWPOP();
        	        	        	        if  (HASEXCEPTION())
        	        	        	        {
        	        	        	            goto ruleprivilege_levelEx;
        	        	        	        }
        	        	        	        if (HASFAILED())
        	        	        	        {
        	        	        	            return retval;
        	        	        	        }

        	        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier1412.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:1389: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_SYMBOL1413;
    pANTLR3_COMMON_TOKEN    ISSUER_SYMBOL1415;
    pANTLR3_COMMON_TOKEN    SUBJECT_SYMBOL1417;
    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_literal1416;
    #undef	RETURN_TYPE_string_literal1416
    #define	RETURN_TYPE_string_literal1416 MySQLParser_string_literal_return

    MySQLParser_string_literal_return string_literal1418;
    #undef	RETURN_TYPE_string_literal1418
    #define	RETURN_TYPE_string_literal1418 MySQLParser_string_literal_return

    pANTLR3_BASE_TREE CIPHER_SYMBOL1413_tree;
    pANTLR3_BASE_TREE ISSUER_SYMBOL1415_tree;
    pANTLR3_BASE_TREE SUBJECT_SYMBOL1417_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    CIPHER_SYMBOL1413       = NULL;
    ISSUER_SYMBOL1415       = NULL;
    SUBJECT_SYMBOL1417       = NULL;
    string_literal1414.tree = NULL;

    string_literal1416.tree = NULL;

    string_literal1418.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    CIPHER_SYMBOL1413_tree   = NULL;
    ISSUER_SYMBOL1415_tree   = NULL;
    SUBJECT_SYMBOL1417_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:1389:13: ( CIPHER_SYMBOL string_literal | ISSUER_SYMBOL string_literal | SUBJECT_SYMBOL string_literal )

            ANTLR3_UINT32 alt453;

            alt453=3;

            switch ( LA(1) )
            {
            case CIPHER_SYMBOL:
            	{
            		alt453=1;
            	}
                break;
            case ISSUER_SYMBOL:
            	{
            		alt453=2;
            	}
                break;
            case SUBJECT_SYMBOL:
            	{
            		alt453=3;
            	}
                break;

            default:
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                EXCEPTION->message      = (void *)"";
                EXCEPTION->decisionNum  = 453;
                EXCEPTION->state        = 0;


                goto rulerequire_listEx;

            }

            switch (alt453)
            {
        	case 1:
        	    // MySQL.g:1390:2: CIPHER_SYMBOL string_literal
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        CIPHER_SYMBOL1413 = (pANTLR3_COMMON_TOKEN) MATCHT(CIPHER_SYMBOL, &FOLLOW_CIPHER_SYMBOL_in_require_list7462);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulerequire_listEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CIPHER_SYMBOL1413_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CIPHER_SYMBOL1413));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CIPHER_SYMBOL1413_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_string_literal_in_require_list7464);
        	        string_literal1414=string_literal(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulerequire_listEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_literal1414.tree);

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:1391:4: ISSUER_SYMBOL string_literal
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        ISSUER_SYMBOL1415 = (pANTLR3_COMMON_TOKEN) MATCHT(ISSUER_SYMBOL, &FOLLOW_ISSUER_SYMBOL_in_require_list7469);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulerequire_listEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        ISSUER_SYMBOL1415_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ISSUER_SYMBOL1415));
        	        ADAPTOR->addChild(ADAPTOR, root_0, ISSUER_SYMBOL1415_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_string_literal_in_require_list7471);
        	        string_literal1416=string_literal(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulerequire_listEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_literal1416.tree);

        	    }
        	    break;
        	case 3:
        	    // MySQL.g:1392:4: SUBJECT_SYMBOL string_literal
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        SUBJECT_SYMBOL1417 = (pANTLR3_COMMON_TOKEN) MATCHT(SUBJECT_SYMBOL, &FOLLOW_SUBJECT_SYMBOL_in_require_list7476);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulerequire_listEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        SUBJECT_SYMBOL1417_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SUBJECT_SYMBOL1417));
        	        ADAPTOR->addChild(ADAPTOR, root_0, SUBJECT_SYMBOL1417_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_string_literal_in_require_list7478);
        	        string_literal1418=string_literal(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulerequire_listEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_literal1418.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:1395: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_SYMBOL1419;
    pANTLR3_COMMON_TOKEN    OPTION_SYMBOL1420;
    pANTLR3_COMMON_TOKEN    MAX_QUERIES_PER_HOUR_SYMBOL1421;
    pANTLR3_COMMON_TOKEN    INTEGER1422;
    pANTLR3_COMMON_TOKEN    MAX_UPDATES_PER_HOUR_SYMBOL1423;
    pANTLR3_COMMON_TOKEN    INTEGER1424;
    pANTLR3_COMMON_TOKEN    MAX_CONNECTIONS_PER_HOUR_SYMBOL1425;
    pANTLR3_COMMON_TOKEN    INTEGER1426;
    pANTLR3_COMMON_TOKEN    MAX_USER_CONNECTIONS_SYMBOL1427;
    pANTLR3_COMMON_TOKEN    INTEGER1428;

    pANTLR3_BASE_TREE GRANT_SYMBOL1419_tree;
    pANTLR3_BASE_TREE OPTION_SYMBOL1420_tree;
    pANTLR3_BASE_TREE MAX_QUERIES_PER_HOUR_SYMBOL1421_tree;
    pANTLR3_BASE_TREE INTEGER1422_tree;
    pANTLR3_BASE_TREE MAX_UPDATES_PER_HOUR_SYMBOL1423_tree;
    pANTLR3_BASE_TREE INTEGER1424_tree;
    pANTLR3_BASE_TREE MAX_CONNECTIONS_PER_HOUR_SYMBOL1425_tree;
    pANTLR3_BASE_TREE INTEGER1426_tree;
    pANTLR3_BASE_TREE MAX_USER_CONNECTIONS_SYMBOL1427_tree;
    pANTLR3_BASE_TREE INTEGER1428_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    GRANT_SYMBOL1419       = NULL;
    OPTION_SYMBOL1420       = NULL;
    MAX_QUERIES_PER_HOUR_SYMBOL1421       = NULL;
    INTEGER1422       = NULL;
    MAX_UPDATES_PER_HOUR_SYMBOL1423       = NULL;
    INTEGER1424       = NULL;
    MAX_CONNECTIONS_PER_HOUR_SYMBOL1425       = NULL;
    INTEGER1426       = NULL;
    MAX_USER_CONNECTIONS_SYMBOL1427       = NULL;
    INTEGER1428       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    GRANT_SYMBOL1419_tree   = NULL;
    OPTION_SYMBOL1420_tree   = NULL;
    MAX_QUERIES_PER_HOUR_SYMBOL1421_tree   = NULL;
    INTEGER1422_tree   = NULL;
    MAX_UPDATES_PER_HOUR_SYMBOL1423_tree   = NULL;
    INTEGER1424_tree   = NULL;
    MAX_CONNECTIONS_PER_HOUR_SYMBOL1425_tree   = NULL;
    INTEGER1426_tree   = NULL;
    MAX_USER_CONNECTIONS_SYMBOL1427_tree   = NULL;
    INTEGER1428_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:1395: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 alt454;

            alt454=5;

            switch ( LA(1) )
            {
            case GRANT_SYMBOL:
            	{
            		alt454=1;
            	}
                break;
            case MAX_QUERIES_PER_HOUR_SYMBOL:
            	{
            		alt454=2;
            	}
                break;
            case MAX_UPDATES_PER_HOUR_SYMBOL:
            	{
            		alt454=3;
            	}
                break;
            case MAX_CONNECTIONS_PER_HOUR_SYMBOL:
            	{
            		alt454=4;
            	}
                break;
            case MAX_USER_CONNECTIONS_SYMBOL:
            	{
            		alt454=5;
            	}
                break;

            default:
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                EXCEPTION->message      = (void *)"";
                EXCEPTION->decisionNum  = 454;
                EXCEPTION->state        = 0;


                goto rulegrant_optionEx;

            }

            switch (alt454)
            {
        	case 1:
        	    // MySQL.g:1396:2: GRANT_SYMBOL OPTION_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        GRANT_SYMBOL1419 = (pANTLR3_COMMON_TOKEN) MATCHT(GRANT_SYMBOL, &FOLLOW_GRANT_SYMBOL_in_grant_option7487);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulegrant_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        GRANT_SYMBOL1419_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, GRANT_SYMBOL1419));
        	        ADAPTOR->addChild(ADAPTOR, root_0, GRANT_SYMBOL1419_tree);
        	        }

        	        OPTION_SYMBOL1420 = (pANTLR3_COMMON_TOKEN) MATCHT(OPTION_SYMBOL, &FOLLOW_OPTION_SYMBOL_in_grant_option7489);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulegrant_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPTION_SYMBOL1420_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPTION_SYMBOL1420));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPTION_SYMBOL1420_tree);
        	        }

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:1397:4: MAX_QUERIES_PER_HOUR_SYMBOL INTEGER
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        MAX_QUERIES_PER_HOUR_SYMBOL1421 = (pANTLR3_COMMON_TOKEN) MATCHT(MAX_QUERIES_PER_HOUR_SYMBOL, &FOLLOW_MAX_QUERIES_PER_HOUR_SYMBOL_in_grant_option7494);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulegrant_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        MAX_QUERIES_PER_HOUR_SYMBOL1421_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MAX_QUERIES_PER_HOUR_SYMBOL1421));
        	        ADAPTOR->addChild(ADAPTOR, root_0, MAX_QUERIES_PER_HOUR_SYMBOL1421_tree);
        	        }

        	        INTEGER1422 = (pANTLR3_COMMON_TOKEN) MATCHT(INTEGER, &FOLLOW_INTEGER_in_grant_option7496);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulegrant_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        INTEGER1422_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INTEGER1422));
        	        ADAPTOR->addChild(ADAPTOR, root_0, INTEGER1422_tree);
        	        }

        	    }
        	    break;
        	case 3:
        	    // MySQL.g:1398:4: MAX_UPDATES_PER_HOUR_SYMBOL INTEGER
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        MAX_UPDATES_PER_HOUR_SYMBOL1423 = (pANTLR3_COMMON_TOKEN) MATCHT(MAX_UPDATES_PER_HOUR_SYMBOL, &FOLLOW_MAX_UPDATES_PER_HOUR_SYMBOL_in_grant_option7501);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulegrant_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        MAX_UPDATES_PER_HOUR_SYMBOL1423_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MAX_UPDATES_PER_HOUR_SYMBOL1423));
        	        ADAPTOR->addChild(ADAPTOR, root_0, MAX_UPDATES_PER_HOUR_SYMBOL1423_tree);
        	        }

        	        INTEGER1424 = (pANTLR3_COMMON_TOKEN) MATCHT(INTEGER, &FOLLOW_INTEGER_in_grant_option7503);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulegrant_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        INTEGER1424_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INTEGER1424));
        	        ADAPTOR->addChild(ADAPTOR, root_0, INTEGER1424_tree);
        	        }

        	    }
        	    break;
        	case 4:
        	    // MySQL.g:1399:4: MAX_CONNECTIONS_PER_HOUR_SYMBOL INTEGER
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        MAX_CONNECTIONS_PER_HOUR_SYMBOL1425 = (pANTLR3_COMMON_TOKEN) MATCHT(MAX_CONNECTIONS_PER_HOUR_SYMBOL, &FOLLOW_MAX_CONNECTIONS_PER_HOUR_SYMBOL_in_grant_option7508);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulegrant_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        MAX_CONNECTIONS_PER_HOUR_SYMBOL1425_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MAX_CONNECTIONS_PER_HOUR_SYMBOL1425));
        	        ADAPTOR->addChild(ADAPTOR, root_0, MAX_CONNECTIONS_PER_HOUR_SYMBOL1425_tree);
        	        }

        	        INTEGER1426 = (pANTLR3_COMMON_TOKEN) MATCHT(INTEGER, &FOLLOW_INTEGER_in_grant_option7510);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulegrant_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        INTEGER1426_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INTEGER1426));
        	        ADAPTOR->addChild(ADAPTOR, root_0, INTEGER1426_tree);
        	        }

        	    }
        	    break;
        	case 5:
        	    // MySQL.g:1400:4: MAX_USER_CONNECTIONS_SYMBOL INTEGER
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        MAX_USER_CONNECTIONS_SYMBOL1427 = (pANTLR3_COMMON_TOKEN) MATCHT(MAX_USER_CONNECTIONS_SYMBOL, &FOLLOW_MAX_USER_CONNECTIONS_SYMBOL_in_grant_option7515);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulegrant_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        MAX_USER_CONNECTIONS_SYMBOL1427_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MAX_USER_CONNECTIONS_SYMBOL1427));
        	        ADAPTOR->addChild(ADAPTOR, root_0, MAX_USER_CONNECTIONS_SYMBOL1427_tree);
        	        }

        	        INTEGER1428 = (pANTLR3_COMMON_TOKEN) MATCHT(INTEGER, &FOLLOW_INTEGER_in_grant_option7517);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulegrant_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        INTEGER1428_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INTEGER1428));
        	        ADAPTOR->addChild(ADAPTOR, root_0, INTEGER1428_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:1405: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_SYMBOL1429;
    pANTLR3_COMMON_TOKEN    TABLE_SYMBOL1431;
    pANTLR3_COMMON_TOKEN    CHECK_SYMBOL1433;
    pANTLR3_COMMON_TOKEN    TABLE_SYMBOL1434;
    pANTLR3_COMMON_TOKEN    CHECKSUM_SYMBOL1437;
    pANTLR3_COMMON_TOKEN    TABLE_SYMBOL1438;
    pANTLR3_COMMON_TOKEN    set1440;
    pANTLR3_COMMON_TOKEN    OPTIMIZE_SYMBOL1441;
    pANTLR3_COMMON_TOKEN    TABLE_SYMBOL1443;
    pANTLR3_COMMON_TOKEN    REPAIR_SYMBOL1445;
    pANTLR3_COMMON_TOKEN    TABLE_SYMBOL1447;
    pANTLR3_COMMON_TOKEN    BACKUP_SYMBOL1450;
    pANTLR3_COMMON_TOKEN    TABLE_SYMBOL1451;
    pANTLR3_COMMON_TOKEN    TO_SYMBOL1453;
    pANTLR3_COMMON_TOKEN    RESTORE_SYMBOL1455;
    pANTLR3_COMMON_TOKEN    TABLE_SYMBOL1456;
    pANTLR3_COMMON_TOKEN    FROM_SYMBOL1458;
    MySQLParser_no_write_to_bin_log_return no_write_to_bin_log1430;
    #undef	RETURN_TYPE_no_write_to_bin_log1430
    #define	RETURN_TYPE_no_write_to_bin_log1430 MySQLParser_no_write_to_bin_log_return

    MySQLParser_qualified_identifier_list_return qualified_identifier_list1432;
    #undef	RETURN_TYPE_qualified_identifier_list1432
    #define	RETURN_TYPE_qualified_identifier_list1432 MySQLParser_qualified_identifier_list_return

    MySQLParser_qualified_identifier_list_return qualified_identifier_list1435;
    #undef	RETURN_TYPE_qualified_identifier_list1435
    #define	RETURN_TYPE_qualified_identifier_list1435 MySQLParser_qualified_identifier_list_return

    MySQLParser_check_option_return check_option1436;
    #undef	RETURN_TYPE_check_option1436
    #define	RETURN_TYPE_check_option1436 MySQLParser_check_option_return

    MySQLParser_qualified_identifier_list_return qualified_identifier_list1439;
    #undef	RETURN_TYPE_qualified_identifier_list1439
    #define	RETURN_TYPE_qualified_identifier_list1439 MySQLParser_qualified_identifier_list_return

    MySQLParser_no_write_to_bin_log_return no_write_to_bin_log1442;
    #undef	RETURN_TYPE_no_write_to_bin_log1442
    #define	RETURN_TYPE_no_write_to_bin_log1442 MySQLParser_no_write_to_bin_log_return

    MySQLParser_qualified_identifier_list_return qualified_identifier_list1444;
    #undef	RETURN_TYPE_qualified_identifier_list1444
    #define	RETURN_TYPE_qualified_identifier_list1444 MySQLParser_qualified_identifier_list_return

    MySQLParser_no_write_to_bin_log_return no_write_to_bin_log1446;
    #undef	RETURN_TYPE_no_write_to_bin_log1446
    #define	RETURN_TYPE_no_write_to_bin_log1446 MySQLParser_no_write_to_bin_log_return

    MySQLParser_qualified_identifier_list_return qualified_identifier_list1448;
    #undef	RETURN_TYPE_qualified_identifier_list1448
    #define	RETURN_TYPE_qualified_identifier_list1448 MySQLParser_qualified_identifier_list_return

    MySQLParser_repair_option_return repair_option1449;
    #undef	RETURN_TYPE_repair_option1449
    #define	RETURN_TYPE_repair_option1449 MySQLParser_repair_option_return

    MySQLParser_table_identifier_list_return table_identifier_list1452;
    #undef	RETURN_TYPE_table_identifier_list1452
    #define	RETURN_TYPE_table_identifier_list1452 MySQLParser_table_identifier_list_return

    MySQLParser_string_literal_return string_literal1454;
    #undef	RETURN_TYPE_string_literal1454
    #define	RETURN_TYPE_string_literal1454 MySQLParser_string_literal_return

    MySQLParser_table_identifier_list_return table_identifier_list1457;
    #undef	RETURN_TYPE_table_identifier_list1457
    #define	RETURN_TYPE_table_identifier_list1457 MySQLParser_table_identifier_list_return

    MySQLParser_string_literal_return string_literal1459;
    #undef	RETURN_TYPE_string_literal1459
    #define	RETURN_TYPE_string_literal1459 MySQLParser_string_literal_return

    pANTLR3_BASE_TREE ANALYZE_SYMBOL1429_tree;
    pANTLR3_BASE_TREE TABLE_SYMBOL1431_tree;
    pANTLR3_BASE_TREE CHECK_SYMBOL1433_tree;
    pANTLR3_BASE_TREE TABLE_SYMBOL1434_tree;
    pANTLR3_BASE_TREE CHECKSUM_SYMBOL1437_tree;
    pANTLR3_BASE_TREE TABLE_SYMBOL1438_tree;
    pANTLR3_BASE_TREE set1440_tree;
    pANTLR3_BASE_TREE OPTIMIZE_SYMBOL1441_tree;
    pANTLR3_BASE_TREE TABLE_SYMBOL1443_tree;
    pANTLR3_BASE_TREE REPAIR_SYMBOL1445_tree;
    pANTLR3_BASE_TREE TABLE_SYMBOL1447_tree;
    pANTLR3_BASE_TREE BACKUP_SYMBOL1450_tree;
    pANTLR3_BASE_TREE TABLE_SYMBOL1451_tree;
    pANTLR3_BASE_TREE TO_SYMBOL1453_tree;
    pANTLR3_BASE_TREE RESTORE_SYMBOL1455_tree;
    pANTLR3_BASE_TREE TABLE_SYMBOL1456_tree;
    pANTLR3_BASE_TREE FROM_SYMBOL1458_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    ANALYZE_SYMBOL1429       = NULL;
    TABLE_SYMBOL1431       = NULL;
    CHECK_SYMBOL1433       = NULL;
    TABLE_SYMBOL1434       = NULL;
    CHECKSUM_SYMBOL1437       = NULL;
    TABLE_SYMBOL1438       = NULL;
    set1440       = NULL;
    OPTIMIZE_SYMBOL1441       = NULL;
    TABLE_SYMBOL1443       = NULL;
    REPAIR_SYMBOL1445       = NULL;
    TABLE_SYMBOL1447       = NULL;
    BACKUP_SYMBOL1450       = NULL;
    TABLE_SYMBOL1451       = NULL;
    TO_SYMBOL1453       = NULL;
    RESTORE_SYMBOL1455       = NULL;
    TABLE_SYMBOL1456       = NULL;
    FROM_SYMBOL1458       = NULL;
    no_write_to_bin_log1430.tree = NULL;

    qualified_identifier_list1432.tree = NULL;

    qualified_identifier_list1435.tree = NULL;

    check_option1436.tree = NULL;

    qualified_identifier_list1439.tree = NULL;

    no_write_to_bin_log1442.tree = NULL;

    qualified_identifier_list1444.tree = NULL;

    no_write_to_bin_log1446.tree = NULL;

    qualified_identifier_list1448.tree = NULL;

    repair_option1449.tree = NULL;

    table_identifier_list1452.tree = NULL;

    string_literal1454.tree = NULL;

    table_identifier_list1457.tree = NULL;

    string_literal1459.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    ANALYZE_SYMBOL1429_tree   = NULL;
    TABLE_SYMBOL1431_tree   = NULL;
    CHECK_SYMBOL1433_tree   = NULL;
    TABLE_SYMBOL1434_tree   = NULL;
    CHECKSUM_SYMBOL1437_tree   = NULL;
    TABLE_SYMBOL1438_tree   = NULL;
    set1440_tree   = NULL;
    OPTIMIZE_SYMBOL1441_tree   = NULL;
    TABLE_SYMBOL1443_tree   = NULL;
    REPAIR_SYMBOL1445_tree   = NULL;
    TABLE_SYMBOL1447_tree   = NULL;
    BACKUP_SYMBOL1450_tree   = NULL;
    TABLE_SYMBOL1451_tree   = NULL;
    TO_SYMBOL1453_tree   = NULL;
    RESTORE_SYMBOL1455_tree   = NULL;
    TABLE_SYMBOL1456_tree   = NULL;
    FROM_SYMBOL1458_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:1405: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 alt461;

            alt461=7;

            {
                int LA461_0 = LA(1);
                if ( (LA461_0 == ANALYZE_SYMBOL))
                {
                    alt461=1;
                }
                else if ( (LA461_0 == CHECK_SYMBOL))
                {
                    alt461=2;
                }
                else if ( (LA461_0 == CHECKSUM_SYMBOL))
                {
                    alt461=3;
                }
                else if ( (LA461_0 == OPTIMIZE_SYMBOL))
                {
                    alt461=4;
                }
                else if ( (LA461_0 == REPAIR_SYMBOL))
                {
                    alt461=5;
                }
                else if ( ((SERVER_VERSION < 50500)) && (LA461_0 == BACKUP_SYMBOL))
                {
                    alt461=6;
                }
                else if ( ((SERVER_VERSION < 50500)) && (LA461_0 == RESTORE_SYMBOL))
                {
                    alt461=7;
                }
                else
                {
                    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 ruletable_administration_statementEx;

                }
            }
            switch (alt461)
            {
        	case 1:
        	    // MySQL.g:1406:2: ANALYZE_SYMBOL ^ ( no_write_to_bin_log )? TABLE_SYMBOL qualified_identifier_list
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        ANALYZE_SYMBOL1429 = (pANTLR3_COMMON_TOKEN) MATCHT(ANALYZE_SYMBOL, &FOLLOW_ANALYZE_SYMBOL_in_table_administration_statement7528);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruletable_administration_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        ANALYZE_SYMBOL1429_tree = 
        	        (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ANALYZE_SYMBOL1429))
        	        ;
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, ANALYZE_SYMBOL1429_tree, root_0));
        	        }

        	        // MySQL.g:1406:18: ( no_write_to_bin_log )?
        	        {
        	            int alt455=2;
        	            {
        	                int LA455_0 = LA(1);
        	                if ( ((LA(1) == LOCAL_SYMBOL)) && (LA455_0 == LOCAL_SYMBOL))
        	                {
        	                    alt455=1;
        	                }
        	                else if ( (LA455_0 == NO_WRITE_TO_BINLOG_SYMBOL))
        	                {
        	                    alt455=1;
        	                }
        	            }
        	            switch (alt455)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1406:18: no_write_to_bin_log
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_no_write_to_bin_log_in_table_administration_statement7531);
        	        	        no_write_to_bin_log1430=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_log1430.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	        TABLE_SYMBOL1431 = (pANTLR3_COMMON_TOKEN) MATCHT(TABLE_SYMBOL, &FOLLOW_TABLE_SYMBOL_in_table_administration_statement7534);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruletable_administration_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        TABLE_SYMBOL1431_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, TABLE_SYMBOL1431));
        	        ADAPTOR->addChild(ADAPTOR, root_0, TABLE_SYMBOL1431_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_qualified_identifier_list_in_table_administration_statement7536);
        	        qualified_identifier_list1432=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_list1432.tree);

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:1407:4: CHECK_SYMBOL ^ TABLE_SYMBOL qualified_identifier_list ( check_option )*
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        CHECK_SYMBOL1433 = (pANTLR3_COMMON_TOKEN) MATCHT(CHECK_SYMBOL, &FOLLOW_CHECK_SYMBOL_in_table_administration_statement7541);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruletable_administration_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CHECK_SYMBOL1433_tree = 
        	        (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CHECK_SYMBOL1433))
        	        ;
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, CHECK_SYMBOL1433_tree, root_0));
        	        }

        	        TABLE_SYMBOL1434 = (pANTLR3_COMMON_TOKEN) MATCHT(TABLE_SYMBOL, &FOLLOW_TABLE_SYMBOL_in_table_administration_statement7544);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruletable_administration_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        TABLE_SYMBOL1434_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, TABLE_SYMBOL1434));
        	        ADAPTOR->addChild(ADAPTOR, root_0, TABLE_SYMBOL1434_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_qualified_identifier_list_in_table_administration_statement7546);
        	        qualified_identifier_list1435=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_list1435.tree);

        	        // MySQL.g:1407:57: ( check_option )*

        	        for (;;)
        	        {
        	            int alt456=2;
        	            switch ( LA(1) )
        	            {
        	            case CHANGED_SYMBOL:
        	            case EXTENDED_SYMBOL:
        	            case FAST_SYMBOL:
        	            case MEDIUM_SYMBOL:
        	            case QUICK_SYMBOL:
        	            case FOR_SYMBOL:
        	            	{
        	            		alt456=1;
        	            	}
        	                break;

        	            }

        	            switch (alt456)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1407:57: check_option
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_check_option_in_table_administration_statement7548);
        	        	        check_option1436=check_option(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruletable_administration_statementEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, check_option1436.tree);

        	        	    }
        	        	    break;

        	        	default:
        	        	    goto loop456;	/* break out of the loop */
        	        	    break;
        	            }
        	        }
        	        loop456: ; /* Jump out to here if this rule does not match */


        	    }
        	    break;
        	case 3:
        	    // MySQL.g:1408:4: CHECKSUM_SYMBOL ^ TABLE_SYMBOL qualified_identifier_list ( QUICK_SYMBOL | EXTENDED_SYMBOL )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        CHECKSUM_SYMBOL1437 = (pANTLR3_COMMON_TOKEN) MATCHT(CHECKSUM_SYMBOL, &FOLLOW_CHECKSUM_SYMBOL_in_table_administration_statement7554);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruletable_administration_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CHECKSUM_SYMBOL1437_tree = 
        	        (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CHECKSUM_SYMBOL1437))
        	        ;
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, CHECKSUM_SYMBOL1437_tree, root_0));
        	        }

        	        TABLE_SYMBOL1438 = (pANTLR3_COMMON_TOKEN) MATCHT(TABLE_SYMBOL, &FOLLOW_TABLE_SYMBOL_in_table_administration_statement7557);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruletable_administration_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        TABLE_SYMBOL1438_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, TABLE_SYMBOL1438));
        	        ADAPTOR->addChild(ADAPTOR, root_0, TABLE_SYMBOL1438_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_qualified_identifier_list_in_table_administration_statement7559);
        	        qualified_identifier_list1439=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_list1439.tree);

        	        // MySQL.g:1408:60: ( QUICK_SYMBOL | EXTENDED_SYMBOL )?
        	        {
        	            int alt457=2;
        	            switch ( LA(1) )
        	            {
        	                case EXTENDED_SYMBOL:
        	                case QUICK_SYMBOL:
        	                	{
        	                		alt457=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt457)
        	            {
        	        	case 1:
        	        	    // MySQL.g:
        	        	    {
        	        	        set1440=(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, set1440))
        	        	            );
        	        	            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:1409:4: OPTIMIZE_SYMBOL ^ ( no_write_to_bin_log )? TABLE_SYMBOL qualified_identifier_list
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        OPTIMIZE_SYMBOL1441 = (pANTLR3_COMMON_TOKEN) MATCHT(OPTIMIZE_SYMBOL, &FOLLOW_OPTIMIZE_SYMBOL_in_table_administration_statement7573);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruletable_administration_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPTIMIZE_SYMBOL1441_tree = 
        	        (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPTIMIZE_SYMBOL1441))
        	        ;
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, OPTIMIZE_SYMBOL1441_tree, root_0));
        	        }

        	        // MySQL.g:1409:21: ( no_write_to_bin_log )?
        	        {
        	            int alt458=2;
        	            {
        	                int LA458_0 = LA(1);
        	                if ( ((LA(1) == LOCAL_SYMBOL)) && (LA458_0 == LOCAL_SYMBOL))
        	                {
        	                    alt458=1;
        	                }
        	                else if ( (LA458_0 == NO_WRITE_TO_BINLOG_SYMBOL))
        	                {
        	                    alt458=1;
        	                }
        	            }
        	            switch (alt458)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1409:21: no_write_to_bin_log
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_no_write_to_bin_log_in_table_administration_statement7576);
        	        	        no_write_to_bin_log1442=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_log1442.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	        TABLE_SYMBOL1443 = (pANTLR3_COMMON_TOKEN) MATCHT(TABLE_SYMBOL, &FOLLOW_TABLE_SYMBOL_in_table_administration_statement7579);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruletable_administration_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        TABLE_SYMBOL1443_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, TABLE_SYMBOL1443));
        	        ADAPTOR->addChild(ADAPTOR, root_0, TABLE_SYMBOL1443_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_qualified_identifier_list_in_table_administration_statement7581);
        	        qualified_identifier_list1444=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_list1444.tree);

        	    }
        	    break;
        	case 5:
        	    // MySQL.g:1410:4: REPAIR_SYMBOL ^ ( no_write_to_bin_log )? TABLE_SYMBOL qualified_identifier_list ( repair_option )*
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        REPAIR_SYMBOL1445 = (pANTLR3_COMMON_TOKEN) MATCHT(REPAIR_SYMBOL, &FOLLOW_REPAIR_SYMBOL_in_table_administration_statement7586);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruletable_administration_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        REPAIR_SYMBOL1445_tree = 
        	        (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, REPAIR_SYMBOL1445))
        	        ;
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, REPAIR_SYMBOL1445_tree, root_0));
        	        }

        	        // MySQL.g:1410:19: ( no_write_to_bin_log )?
        	        {
        	            int alt459=2;
        	            {
        	                int LA459_0 = LA(1);
        	                if ( ((LA(1) == LOCAL_SYMBOL)) && (LA459_0 == LOCAL_SYMBOL))
        	                {
        	                    alt459=1;
        	                }
        	                else if ( (LA459_0 == NO_WRITE_TO_BINLOG_SYMBOL))
        	                {
        	                    alt459=1;
        	                }
        	            }
        	            switch (alt459)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1410:19: no_write_to_bin_log
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_no_write_to_bin_log_in_table_administration_statement7589);
        	        	        no_write_to_bin_log1446=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_log1446.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	        TABLE_SYMBOL1447 = (pANTLR3_COMMON_TOKEN) MATCHT(TABLE_SYMBOL, &FOLLOW_TABLE_SYMBOL_in_table_administration_statement7592);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruletable_administration_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        TABLE_SYMBOL1447_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, TABLE_SYMBOL1447));
        	        ADAPTOR->addChild(ADAPTOR, root_0, TABLE_SYMBOL1447_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_qualified_identifier_list_in_table_administration_statement7594);
        	        qualified_identifier_list1448=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_list1448.tree);

        	        // MySQL.g:1410:79: ( repair_option )*

        	        for (;;)
        	        {
        	            int alt460=2;
        	            switch ( LA(1) )
        	            {
        	            case EXTENDED_SYMBOL:
        	            case QUICK_SYMBOL:
        	            case USE_FRM_SYMBOL:
        	            	{
        	            		alt460=1;
        	            	}
        	                break;

        	            }

        	            switch (alt460)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1410:79: repair_option
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_repair_option_in_table_administration_statement7596);
        	        	        repair_option1449=repair_option(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruletable_administration_statementEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, repair_option1449.tree);

        	        	    }
        	        	    break;

        	        	default:
        	        	    goto loop460;	/* break out of the loop */
        	        	    break;
        	            }
        	        }
        	        loop460: ; /* Jump out to here if this rule does not match */


        	    }
        	    break;
        	case 6:
        	    // MySQL.g:1411: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_SYMBOL1450 = (pANTLR3_COMMON_TOKEN) MATCHT(BACKUP_SYMBOL, &FOLLOW_BACKUP_SYMBOL_in_table_administration_statement7606);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruletable_administration_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        BACKUP_SYMBOL1450_tree = 
        	        (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, BACKUP_SYMBOL1450))
        	        ;
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, BACKUP_SYMBOL1450_tree, root_0));
        	        }

        	        TABLE_SYMBOL1451 = (pANTLR3_COMMON_TOKEN) MATCHT(TABLE_SYMBOL, &FOLLOW_TABLE_SYMBOL_in_table_administration_statement7609);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruletable_administration_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        TABLE_SYMBOL1451_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, TABLE_SYMBOL1451));
        	        ADAPTOR->addChild(ADAPTOR, root_0, TABLE_SYMBOL1451_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_table_identifier_list_in_table_administration_statement7611);
        	        table_identifier_list1452=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_list1452.tree);

        	        TO_SYMBOL1453 = (pANTLR3_COMMON_TOKEN) MATCHT(TO_SYMBOL, &FOLLOW_TO_SYMBOL_in_table_administration_statement7613);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruletable_administration_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        TO_SYMBOL1453_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, TO_SYMBOL1453));
        	        ADAPTOR->addChild(ADAPTOR, root_0, TO_SYMBOL1453_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_string_literal_in_table_administration_statement7615);
        	        string_literal1454=string_literal(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruletable_administration_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_literal1454.tree);

        	    }
        	    break;
        	case 7:
        	    // MySQL.g:1412: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_SYMBOL1455 = (pANTLR3_COMMON_TOKEN) MATCHT(RESTORE_SYMBOL, &FOLLOW_RESTORE_SYMBOL_in_table_administration_statement7624);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruletable_administration_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        RESTORE_SYMBOL1455_tree = 
        	        (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, RESTORE_SYMBOL1455))
        	        ;
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, RESTORE_SYMBOL1455_tree, root_0));
        	        }

        	        TABLE_SYMBOL1456 = (pANTLR3_COMMON_TOKEN) MATCHT(TABLE_SYMBOL, &FOLLOW_TABLE_SYMBOL_in_table_administration_statement7627);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruletable_administration_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        TABLE_SYMBOL1456_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, TABLE_SYMBOL1456));
        	        ADAPTOR->addChild(ADAPTOR, root_0, TABLE_SYMBOL1456_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_table_identifier_list_in_table_administration_statement7629);
        	        table_identifier_list1457=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_list1457.tree);

        	        FROM_SYMBOL1458 = (pANTLR3_COMMON_TOKEN) MATCHT(FROM_SYMBOL, &FOLLOW_FROM_SYMBOL_in_table_administration_statement7631);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruletable_administration_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        FROM_SYMBOL1458_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, FROM_SYMBOL1458));
        	        ADAPTOR->addChild(ADAPTOR, root_0, FROM_SYMBOL1458_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_string_literal_in_table_administration_statement7633);
        	        string_literal1459=string_literal(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruletable_administration_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_literal1459.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:1415: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_SYMBOL1460;
    pANTLR3_COMMON_TOKEN    UPGRADE_SYMBOL1461;
    pANTLR3_COMMON_TOKEN    QUICK_SYMBOL1462;
    pANTLR3_COMMON_TOKEN    FAST_SYMBOL1463;
    pANTLR3_COMMON_TOKEN    MEDIUM_SYMBOL1464;
    pANTLR3_COMMON_TOKEN    EXTENDED_SYMBOL1465;
    pANTLR3_COMMON_TOKEN    CHANGED_SYMBOL1466;

    pANTLR3_BASE_TREE FOR_SYMBOL1460_tree;
    pANTLR3_BASE_TREE UPGRADE_SYMBOL1461_tree;
    pANTLR3_BASE_TREE QUICK_SYMBOL1462_tree;
    pANTLR3_BASE_TREE FAST_SYMBOL1463_tree;
    pANTLR3_BASE_TREE MEDIUM_SYMBOL1464_tree;
    pANTLR3_BASE_TREE EXTENDED_SYMBOL1465_tree;
    pANTLR3_BASE_TREE CHANGED_SYMBOL1466_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    FOR_SYMBOL1460       = NULL;
    UPGRADE_SYMBOL1461       = NULL;
    QUICK_SYMBOL1462       = NULL;
    FAST_SYMBOL1463       = NULL;
    MEDIUM_SYMBOL1464       = NULL;
    EXTENDED_SYMBOL1465       = NULL;
    CHANGED_SYMBOL1466       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    FOR_SYMBOL1460_tree   = NULL;
    UPGRADE_SYMBOL1461_tree   = NULL;
    QUICK_SYMBOL1462_tree   = NULL;
    FAST_SYMBOL1463_tree   = NULL;
    MEDIUM_SYMBOL1464_tree   = NULL;
    EXTENDED_SYMBOL1465_tree   = NULL;
    CHANGED_SYMBOL1466_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:1415:13: ( FOR_SYMBOL UPGRADE_SYMBOL | QUICK_SYMBOL | FAST_SYMBOL | MEDIUM_SYMBOL | EXTENDED_SYMBOL | CHANGED_SYMBOL )

            ANTLR3_UINT32 alt462;

            alt462=6;

            switch ( LA(1) )
            {
            case FOR_SYMBOL:
            	{
            		alt462=1;
            	}
                break;
            case QUICK_SYMBOL:
            	{
            		alt462=2;
            	}
                break;
            case FAST_SYMBOL:
            	{
            		alt462=3;
            	}
                break;
            case MEDIUM_SYMBOL:
            	{
            		alt462=4;
            	}
                break;
            case EXTENDED_SYMBOL:
            	{
            		alt462=5;
            	}
                break;
            case CHANGED_SYMBOL:
            	{
            		alt462=6;
            	}
                break;

            default:
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                EXCEPTION->message      = (void *)"";
                EXCEPTION->decisionNum  = 462;
                EXCEPTION->state        = 0;


                goto rulecheck_optionEx;

            }

            switch (alt462)
            {
        	case 1:
        	    // MySQL.g:1416:2: FOR_SYMBOL UPGRADE_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOR_SYMBOL1460 = (pANTLR3_COMMON_TOKEN) MATCHT(FOR_SYMBOL, &FOLLOW_FOR_SYMBOL_in_check_option7642);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecheck_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        FOR_SYMBOL1460_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, FOR_SYMBOL1460));
        	        ADAPTOR->addChild(ADAPTOR, root_0, FOR_SYMBOL1460_tree);
        	        }

        	        UPGRADE_SYMBOL1461 = (pANTLR3_COMMON_TOKEN) MATCHT(UPGRADE_SYMBOL, &FOLLOW_UPGRADE_SYMBOL_in_check_option7644);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecheck_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        UPGRADE_SYMBOL1461_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, UPGRADE_SYMBOL1461));
        	        ADAPTOR->addChild(ADAPTOR, root_0, UPGRADE_SYMBOL1461_tree);
        	        }

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:1416:30: QUICK_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        QUICK_SYMBOL1462 = (pANTLR3_COMMON_TOKEN) MATCHT(QUICK_SYMBOL, &FOLLOW_QUICK_SYMBOL_in_check_option7648);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecheck_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        QUICK_SYMBOL1462_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, QUICK_SYMBOL1462));
        	        ADAPTOR->addChild(ADAPTOR, root_0, QUICK_SYMBOL1462_tree);
        	        }

        	    }
        	    break;
        	case 3:
        	    // MySQL.g:1416:45: FAST_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FAST_SYMBOL1463 = (pANTLR3_COMMON_TOKEN) MATCHT(FAST_SYMBOL, &FOLLOW_FAST_SYMBOL_in_check_option7652);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecheck_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        FAST_SYMBOL1463_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, FAST_SYMBOL1463));
        	        ADAPTOR->addChild(ADAPTOR, root_0, FAST_SYMBOL1463_tree);
        	        }

        	    }
        	    break;
        	case 4:
        	    // MySQL.g:1416:59: MEDIUM_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        MEDIUM_SYMBOL1464 = (pANTLR3_COMMON_TOKEN) MATCHT(MEDIUM_SYMBOL, &FOLLOW_MEDIUM_SYMBOL_in_check_option7656);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecheck_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        MEDIUM_SYMBOL1464_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MEDIUM_SYMBOL1464));
        	        ADAPTOR->addChild(ADAPTOR, root_0, MEDIUM_SYMBOL1464_tree);
        	        }

        	    }
        	    break;
        	case 5:
        	    // MySQL.g:1416:75: EXTENDED_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        EXTENDED_SYMBOL1465 = (pANTLR3_COMMON_TOKEN) MATCHT(EXTENDED_SYMBOL, &FOLLOW_EXTENDED_SYMBOL_in_check_option7660);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecheck_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        EXTENDED_SYMBOL1465_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EXTENDED_SYMBOL1465));
        	        ADAPTOR->addChild(ADAPTOR, root_0, EXTENDED_SYMBOL1465_tree);
        	        }

        	    }
        	    break;
        	case 6:
        	    // MySQL.g:1416:93: CHANGED_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        CHANGED_SYMBOL1466 = (pANTLR3_COMMON_TOKEN) MATCHT(CHANGED_SYMBOL, &FOLLOW_CHANGED_SYMBOL_in_check_option7664);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecheck_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CHANGED_SYMBOL1466_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CHANGED_SYMBOL1466));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CHANGED_SYMBOL1466_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:1419: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    set1467;

    pANTLR3_BASE_TREE set1467_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    set1467       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    set1467_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1419:14: ( QUICK_SYMBOL | EXTENDED_SYMBOL | USE_FRM_SYMBOL )
        // MySQL.g:
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            set1467=(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, set1467))
                );
                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:1425: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_SYMBOL1468;
    pANTLR3_COMMON_TOKEN    PLUGIN_SYMBOL1469;
    pANTLR3_COMMON_TOKEN    SONAME_SYMBOL1471;
    pANTLR3_COMMON_TOKEN    UNINSTALL_SYMBOL1473;
    pANTLR3_COMMON_TOKEN    PLUGIN_SYMBOL1474;
    MySQLParser_identifier_return identifier1470;
    #undef	RETURN_TYPE_identifier1470
    #define	RETURN_TYPE_identifier1470 MySQLParser_identifier_return

    MySQLParser_string_literal_return string_literal1472;
    #undef	RETURN_TYPE_string_literal1472
    #define	RETURN_TYPE_string_literal1472 MySQLParser_string_literal_return

    MySQLParser_identifier_return identifier1475;
    #undef	RETURN_TYPE_identifier1475
    #define	RETURN_TYPE_identifier1475 MySQLParser_identifier_return

    pANTLR3_BASE_TREE INSTALL_SYMBOL1468_tree;
    pANTLR3_BASE_TREE PLUGIN_SYMBOL1469_tree;
    pANTLR3_BASE_TREE SONAME_SYMBOL1471_tree;
    pANTLR3_BASE_TREE UNINSTALL_SYMBOL1473_tree;
    pANTLR3_BASE_TREE PLUGIN_SYMBOL1474_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    INSTALL_SYMBOL1468       = NULL;
    PLUGIN_SYMBOL1469       = NULL;
    SONAME_SYMBOL1471       = NULL;
    UNINSTALL_SYMBOL1473       = NULL;
    PLUGIN_SYMBOL1474       = NULL;
    identifier1470.tree = NULL;

    string_literal1472.tree = NULL;

    identifier1475.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    INSTALL_SYMBOL1468_tree   = NULL;
    PLUGIN_SYMBOL1469_tree   = NULL;
    SONAME_SYMBOL1471_tree   = NULL;
    UNINSTALL_SYMBOL1473_tree   = NULL;
    PLUGIN_SYMBOL1474_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:1425:27: ( INSTALL_SYMBOL ^ PLUGIN_SYMBOL identifier SONAME_SYMBOL string_literal | UNINSTALL_SYMBOL ^ PLUGIN_SYMBOL identifier )

            ANTLR3_UINT32 alt463;

            alt463=2;

            switch ( LA(1) )
            {
            case INSTALL_SYMBOL:
            	{
            		alt463=1;
            	}
                break;
            case UNINSTALL_SYMBOL:
            	{
            		alt463=2;
            	}
                break;

            default:
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                EXCEPTION->message      = (void *)"";
                EXCEPTION->decisionNum  = 463;
                EXCEPTION->state        = 0;


                goto ruleinstall_uninstall_statmentEx;

            }

            switch (alt463)
            {
        	case 1:
        	    // MySQL.g:1426:2: INSTALL_SYMBOL ^ PLUGIN_SYMBOL identifier SONAME_SYMBOL string_literal
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        INSTALL_SYMBOL1468 = (pANTLR3_COMMON_TOKEN) MATCHT(INSTALL_SYMBOL, &FOLLOW_INSTALL_SYMBOL_in_install_uninstall_statment7692);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleinstall_uninstall_statmentEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        INSTALL_SYMBOL1468_tree = 
        	        (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INSTALL_SYMBOL1468))
        	        ;
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, INSTALL_SYMBOL1468_tree, root_0));
        	        }

        	        PLUGIN_SYMBOL1469 = (pANTLR3_COMMON_TOKEN) MATCHT(PLUGIN_SYMBOL, &FOLLOW_PLUGIN_SYMBOL_in_install_uninstall_statment7695);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleinstall_uninstall_statmentEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        PLUGIN_SYMBOL1469_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, PLUGIN_SYMBOL1469));
        	        ADAPTOR->addChild(ADAPTOR, root_0, PLUGIN_SYMBOL1469_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_identifier_in_install_uninstall_statment7697);
        	        identifier1470=identifier(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleinstall_uninstall_statmentEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier1470.tree);

        	        SONAME_SYMBOL1471 = (pANTLR3_COMMON_TOKEN) MATCHT(SONAME_SYMBOL, &FOLLOW_SONAME_SYMBOL_in_install_uninstall_statment7699);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleinstall_uninstall_statmentEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        SONAME_SYMBOL1471_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SONAME_SYMBOL1471));
        	        ADAPTOR->addChild(ADAPTOR, root_0, SONAME_SYMBOL1471_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_string_literal_in_install_uninstall_statment7701);
        	        string_literal1472=string_literal(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleinstall_uninstall_statmentEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_literal1472.tree);

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:1427:4: UNINSTALL_SYMBOL ^ PLUGIN_SYMBOL identifier
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        UNINSTALL_SYMBOL1473 = (pANTLR3_COMMON_TOKEN) MATCHT(UNINSTALL_SYMBOL, &FOLLOW_UNINSTALL_SYMBOL_in_install_uninstall_statment7706);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleinstall_uninstall_statmentEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        UNINSTALL_SYMBOL1473_tree = 
        	        (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, UNINSTALL_SYMBOL1473))
        	        ;
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, UNINSTALL_SYMBOL1473_tree, root_0));
        	        }

        	        PLUGIN_SYMBOL1474 = (pANTLR3_COMMON_TOKEN) MATCHT(PLUGIN_SYMBOL, &FOLLOW_PLUGIN_SYMBOL_in_install_uninstall_statment7709);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleinstall_uninstall_statmentEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        PLUGIN_SYMBOL1474_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, PLUGIN_SYMBOL1474));
        	        ADAPTOR->addChild(ADAPTOR, root_0, PLUGIN_SYMBOL1474_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_identifier_in_install_uninstall_statment7711);
        	        identifier1475=identifier(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleinstall_uninstall_statmentEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier1475.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:1432:1: set_statement : SET_SYMBOL ^ ( option_type )? ( TRANSACTION_SYMBOL set_transaction_characteristic | ( ONE_SHOT_SYMBOL )? variable_assignment ( 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_SYMBOL1476;
    pANTLR3_COMMON_TOKEN    TRANSACTION_SYMBOL1478;
    pANTLR3_COMMON_TOKEN    ONE_SHOT_SYMBOL1480;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL1482;
    MySQLParser_option_type_return option_type1477;
    #undef	RETURN_TYPE_option_type1477
    #define	RETURN_TYPE_option_type1477 MySQLParser_option_type_return

    MySQLParser_set_transaction_characteristic_return set_transaction_characteristic1479;
    #undef	RETURN_TYPE_set_transaction_characteristic1479
    #define	RETURN_TYPE_set_transaction_characteristic1479 MySQLParser_set_transaction_characteristic_return

    MySQLParser_variable_assignment_return variable_assignment1481;
    #undef	RETURN_TYPE_variable_assignment1481
    #define	RETURN_TYPE_variable_assignment1481 MySQLParser_variable_assignment_return

    MySQLParser_option_value_list_return option_value_list1483;
    #undef	RETURN_TYPE_option_value_list1483
    #define	RETURN_TYPE_option_value_list1483 MySQLParser_option_value_list_return

    pANTLR3_BASE_TREE SET_SYMBOL1476_tree;
    pANTLR3_BASE_TREE TRANSACTION_SYMBOL1478_tree;
    pANTLR3_BASE_TREE ONE_SHOT_SYMBOL1480_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL1482_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    SET_SYMBOL1476       = NULL;
    TRANSACTION_SYMBOL1478       = NULL;
    ONE_SHOT_SYMBOL1480       = NULL;
    COMMA_SYMBOL1482       = NULL;
    option_type1477.tree = NULL;

    set_transaction_characteristic1479.tree = NULL;

    variable_assignment1481.tree = NULL;

    option_value_list1483.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    SET_SYMBOL1476_tree   = NULL;
    TRANSACTION_SYMBOL1478_tree   = NULL;
    ONE_SHOT_SYMBOL1480_tree   = NULL;
    COMMA_SYMBOL1482_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1432:14: ( SET_SYMBOL ^ ( option_type )? ( TRANSACTION_SYMBOL set_transaction_characteristic | ( ONE_SHOT_SYMBOL )? variable_assignment ( COMMA_SYMBOL option_value_list )? ) )
        // MySQL.g:1433:2: SET_SYMBOL ^ ( option_type )? ( TRANSACTION_SYMBOL set_transaction_characteristic | ( ONE_SHOT_SYMBOL )? variable_assignment ( COMMA_SYMBOL option_value_list )? )
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            SET_SYMBOL1476 = (pANTLR3_COMMON_TOKEN) MATCHT(SET_SYMBOL, &FOLLOW_SET_SYMBOL_in_set_statement7722);
            if  (HASEXCEPTION())
            {
                goto ruleset_statementEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            SET_SYMBOL1476_tree = 
            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SET_SYMBOL1476))
            ;
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, SET_SYMBOL1476_tree, root_0));
            }

            // MySQL.g:1433:14: ( option_type )?
            {
                int alt464=2;
                switch ( LA(1) )
                {
                    case GLOBAL_SYMBOL:
                    case LOCAL_SYMBOL:
                    case SESSION_SYMBOL:
                    	{
                    		{
                    		    int LA464_1 = LA(2);
                    		    if ( (((LA464_1 >= ACTION_SYMBOL) && (LA464_1 <= PARTITION_SYMBOL)) || ((LA464_1 >= AT_AT_SIGN_SYMBOL) && (LA464_1 <= AT_SIGN_SYMBOL)) || LA464_1 == BACK_TICK_QUOTED_ID || LA464_1 == CHAR_SYMBOL || LA464_1 == DEFAULT_SYMBOL || LA464_1 == DOUBLE_QUOTED_TEXT || LA464_1 == IDENTIFIER))
                    		    {
                    		        alt464=1;
                    		    }
                    		}
                    	}
                        break;
                }

                switch (alt464)
                {
            	case 1:
            	    // MySQL.g:1433:14: option_type
            	    {
            	        FOLLOWPUSH(FOLLOW_option_type_in_set_statement7725);
            	        option_type1477=option_type(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleset_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, option_type1477.tree);

            	    }
            	    break;

                }
            }

            // MySQL.g:1434:3: ( TRANSACTION_SYMBOL set_transaction_characteristic | ( ONE_SHOT_SYMBOL )? variable_assignment ( COMMA_SYMBOL option_value_list )? )
            {
                int alt467=2;
                {
                    int LA467_0 = LA(1);
                    if ( (LA467_0 == TRANSACTION_SYMBOL))
                    {
                        switch ( LA(2) )
                        {
                        case ISOLATION_SYMBOL:
                        case READ_SYMBOL:
                        	{
                        		alt467=1;
                        	}
                            break;
                        case ASSIGN_OPERATOR:
                        case DOT_SYMBOL:
                        case EQUAL_OPERATOR:
                        	{
                        		alt467=2;
                        	}
                            break;

                        default:
                            if (BACKTRACKING>0)
                            {
                                FAILEDFLAG = ANTLR3_TRUE;
                                return retval;
                            }

                            CONSTRUCTEX();
                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                            EXCEPTION->message      = (void *)"";
                            EXCEPTION->decisionNum  = 467;
                            EXCEPTION->state        = 1;


                            goto ruleset_statementEx;

                        }

                    }
                    else if ( (LA467_0 == NAMES_SYMBOL || LA467_0 == ONE_SHOT_SYMBOL || LA467_0 == BACK_TICK_QUOTED_ID || LA467_0 == IDENTIFIER))
                    {
                        alt467=2;
                    }
                    else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA467_0 == DOUBLE_QUOTED_TEXT))
                    {
                        alt467=2;
                    }
                    else if ( (((LA467_0 >= ACTION_SYMBOL) && (LA467_0 <= MYSQL_ERRNO_SYMBOL)) || ((LA467_0 >= NAME_SYMBOL) && (LA467_0 <= OLD_PASSWORD_SYMBOL)) || ((LA467_0 >= ONE_SYMBOL) && (LA467_0 <= TIME_SYMBOL)) || ((LA467_0 >= TRIGGERS_SYMBOL) && (LA467_0 <= PARTITION_SYMBOL)) || ((LA467_0 >= AT_AT_SIGN_SYMBOL) && (LA467_0 <= AT_SIGN_SYMBOL)) || LA467_0 == CHAR_SYMBOL || LA467_0 == DEFAULT_SYMBOL))
                    {
                        alt467=2;
                    }
                    else
                    {
                        if (BACKTRACKING>0)
                        {
                            FAILEDFLAG = ANTLR3_TRUE;
                            return retval;
                        }


                        CONSTRUCTEX();
                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                        EXCEPTION->message      = (void *)"";
                        EXCEPTION->decisionNum  = 467;
                        EXCEPTION->state        = 0;


                        goto ruleset_statementEx;

                    }
                }
                switch (alt467)
                {
            	case 1:
            	    // MySQL.g:1435:5: TRANSACTION_SYMBOL set_transaction_characteristic
            	    {
            	        TRANSACTION_SYMBOL1478 = (pANTLR3_COMMON_TOKEN) MATCHT(TRANSACTION_SYMBOL, &FOLLOW_TRANSACTION_SYMBOL_in_set_statement7736);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleset_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        TRANSACTION_SYMBOL1478_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, TRANSACTION_SYMBOL1478));
            	        ADAPTOR->addChild(ADAPTOR, root_0, TRANSACTION_SYMBOL1478_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_set_transaction_characteristic_in_set_statement7738);
            	        set_transaction_characteristic1479=set_transaction_characteristic(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleset_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, set_transaction_characteristic1479.tree);

            	    }
            	    break;
            	case 2:
            	    // MySQL.g:1436:6: ( ONE_SHOT_SYMBOL )? variable_assignment ( COMMA_SYMBOL option_value_list )?
            	    {
            	        // MySQL.g:1436:6: ( ONE_SHOT_SYMBOL )?
            	        {
            	            int alt465=2;
            	            switch ( LA(1) )
            	            {
            	                case ONE_SHOT_SYMBOL:
            	                	{
            	                		{
            	                		    int LA465_1 = LA(2);
            	                		    if ( (((LA465_1 >= ACTION_SYMBOL) && (LA465_1 <= PARTITION_SYMBOL)) || ((LA465_1 >= AT_AT_SIGN_SYMBOL) && (LA465_1 <= AT_SIGN_SYMBOL)) || LA465_1 == BACK_TICK_QUOTED_ID || LA465_1 == CHAR_SYMBOL || LA465_1 == DEFAULT_SYMBOL || LA465_1 == DOUBLE_QUOTED_TEXT || LA465_1 == IDENTIFIER))
            	                		    {
            	                		        alt465=1;
            	                		    }
            	                		}
            	                	}
            	                    break;
            	            }

            	            switch (alt465)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1436:6: ONE_SHOT_SYMBOL
            	        	    {
            	        	        ONE_SHOT_SYMBOL1480 = (pANTLR3_COMMON_TOKEN) MATCHT(ONE_SHOT_SYMBOL, &FOLLOW_ONE_SHOT_SYMBOL_in_set_statement7745);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleset_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        ONE_SHOT_SYMBOL1480_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ONE_SHOT_SYMBOL1480));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, ONE_SHOT_SYMBOL1480_tree);
            	        	        }

            	        	    }
            	        	    break;

            	            }
            	        }

            	        FOLLOWPUSH(FOLLOW_variable_assignment_in_set_statement7748);
            	        variable_assignment1481=variable_assignment(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleset_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, variable_assignment1481.tree);

            	        // MySQL.g:1436:43: ( COMMA_SYMBOL option_value_list )?
            	        {
            	            int alt466=2;
            	            switch ( LA(1) )
            	            {
            	                case COMMA_SYMBOL:
            	                	{
            	                		alt466=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt466)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1436:44: COMMA_SYMBOL option_value_list
            	        	    {
            	        	        COMMA_SYMBOL1482 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_set_statement7751);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleset_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        COMMA_SYMBOL1482_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL1482));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL1482_tree);
            	        	        }

            	        	        FOLLOWPUSH(FOLLOW_option_value_list_in_set_statement7753);
            	        	        option_value_list1483=option_value_list(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleset_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, option_value_list1483.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 variable_assignment
 * MySQL.g:1441:1: variable_assignment : ({...}? 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_variable_assignment_return
variable_assignment(pMySQLParser ctx)
{
    MySQLParser_variable_assignment_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    NAMES_SYMBOL1484;
    pANTLR3_COMMON_TOKEN    COLLATE_SYMBOL1488;
    MySQLParser_equal_return equal1485;
    #undef	RETURN_TYPE_equal1485
    #define	RETURN_TYPE_equal1485 MySQLParser_equal_return

    MySQLParser_expression_return expression1486;
    #undef	RETURN_TYPE_expression1486
    #define	RETURN_TYPE_expression1486 MySQLParser_expression_return

    MySQLParser_charset_name_or_default_return charset_name_or_default1487;
    #undef	RETURN_TYPE_charset_name_or_default1487
    #define	RETURN_TYPE_charset_name_or_default1487 MySQLParser_charset_name_or_default_return

    MySQLParser_collation_name_or_default_return collation_name_or_default1489;
    #undef	RETURN_TYPE_collation_name_or_default1489
    #define	RETURN_TYPE_collation_name_or_default1489 MySQLParser_collation_name_or_default_return

    MySQLParser_variable_name_return variable_name1490;
    #undef	RETURN_TYPE_variable_name1490
    #define	RETURN_TYPE_variable_name1490 MySQLParser_variable_name_return

    MySQLParser_equal_return equal1491;
    #undef	RETURN_TYPE_equal1491
    #define	RETURN_TYPE_equal1491 MySQLParser_equal_return

    MySQLParser_set_expression_or_default_return set_expression_or_default1492;
    #undef	RETURN_TYPE_set_expression_or_default1492
    #define	RETURN_TYPE_set_expression_or_default1492 MySQLParser_set_expression_or_default_return

    MySQLParser_user_variable_return user_variable1493;
    #undef	RETURN_TYPE_user_variable1493
    #define	RETURN_TYPE_user_variable1493 MySQLParser_user_variable_return

    MySQLParser_equal_return equal1494;
    #undef	RETURN_TYPE_equal1494
    #define	RETURN_TYPE_equal1494 MySQLParser_equal_return

    MySQLParser_expression_return expression1495;
    #undef	RETURN_TYPE_expression1495
    #define	RETURN_TYPE_expression1495 MySQLParser_expression_return

    MySQLParser_system_variable_return system_variable1496;
    #undef	RETURN_TYPE_system_variable1496
    #define	RETURN_TYPE_system_variable1496 MySQLParser_system_variable_return

    MySQLParser_equal_return equal1497;
    #undef	RETURN_TYPE_equal1497
    #define	RETURN_TYPE_equal1497 MySQLParser_equal_return

    MySQLParser_set_expression_or_default_return set_expression_or_default1498;
    #undef	RETURN_TYPE_set_expression_or_default1498
    #define	RETURN_TYPE_set_expression_or_default1498 MySQLParser_set_expression_or_default_return

    MySQLParser_charset_clause_return charset_clause1499;
    #undef	RETURN_TYPE_charset_clause1499
    #define	RETURN_TYPE_charset_clause1499 MySQLParser_charset_clause_return

    pANTLR3_BASE_TREE NAMES_SYMBOL1484_tree;
    pANTLR3_BASE_TREE COLLATE_SYMBOL1488_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    NAMES_SYMBOL1484       = NULL;
    COLLATE_SYMBOL1488       = NULL;
    equal1485.tree = NULL;

    expression1486.tree = NULL;

    charset_name_or_default1487.tree = NULL;

    collation_name_or_default1489.tree = NULL;

    variable_name1490.tree = NULL;

    equal1491.tree = NULL;

    set_expression_or_default1492.tree = NULL;

    user_variable1493.tree = NULL;

    equal1494.tree = NULL;

    expression1495.tree = NULL;

    system_variable1496.tree = NULL;

    equal1497.tree = NULL;

    set_expression_or_default1498.tree = NULL;

    charset_clause1499.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    NAMES_SYMBOL1484_tree   = NULL;
    COLLATE_SYMBOL1488_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:1441:20: ({...}? 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 alt470;

            alt470=5;

            {
                int LA470_0 = LA(1);
                if ( (LA470_0 == NAMES_SYMBOL))
                {
                    {
                        int LA470_1 = LA(2);
                        if ( (LA470_1 == ASSIGN_OPERATOR || LA470_1 == EQUAL_OPERATOR))
                        {
                            {
                                int LA470_13 = LA(3);
                                if ( ((LA(1) == NAMES_SYMBOL)))
                                {
                                    alt470=1;
                                }
                                else if ( (ANTLR3_TRUE))
                                {
                                    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        = 13;


                                    goto rulevariable_assignmentEx;

                                }
                            }
                        }
                        else if ( (((LA470_1 >= ACTION_SYMBOL) && (LA470_1 <= PARTITION_SYMBOL)) || LA470_1 == BACK_TICK_QUOTED_ID || LA470_1 == BINARY_SYMBOL || LA470_1 == DEFAULT_SYMBOL || LA470_1 == DOUBLE_QUOTED_TEXT || LA470_1 == IDENTIFIER || LA470_1 == NCHAR_TEXT || LA470_1 == SINGLE_QUOTED_TEXT || LA470_1 == UNDERSCORE_CHARSET))
                        {
                            alt470=1;
                        }
                        else if ( (LA470_1 == DOT_SYMBOL))
                        {
                            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        = 1;


                            goto rulevariable_assignmentEx;

                        }
                    }
                }
                else if ( (LA470_0 == BACK_TICK_QUOTED_ID || LA470_0 == IDENTIFIER))
                {
                    alt470=2;
                }
                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA470_0 == DOUBLE_QUOTED_TEXT))
                {
                    alt470=2;
                }
                else if ( (((LA470_0 >= ACTION_SYMBOL) && (LA470_0 <= MYSQL_ERRNO_SYMBOL)) || ((LA470_0 >= NAME_SYMBOL) && (LA470_0 <= CACHE_SYMBOL)) || ((LA470_0 >= CHECKSUM_SYMBOL) && (LA470_0 <= PARTITION_SYMBOL)) || LA470_0 == DEFAULT_SYMBOL))
                {
                    alt470=2;
                }
                else if ( (LA470_0 == CHARSET_SYMBOL))
                {
                    {
                        int LA470_7 = LA(2);
                        if ( (LA470_7 == ASSIGN_OPERATOR || LA470_7 == DOT_SYMBOL || LA470_7 == EQUAL_OPERATOR))
                        {
                            alt470=2;
                        }
                        else if ( (((LA470_7 >= ACTION_SYMBOL) && (LA470_7 <= PARTITION_SYMBOL)) || LA470_7 == BACK_TICK_QUOTED_ID || LA470_7 == BINARY_SYMBOL || LA470_7 == DEFAULT_SYMBOL || LA470_7 == DOUBLE_QUOTED_TEXT || LA470_7 == IDENTIFIER || LA470_7 == NCHAR_TEXT || LA470_7 == SINGLE_QUOTED_TEXT || LA470_7 == UNDERSCORE_CHARSET))
                        {
                            alt470=5;
                        }
                        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        = 7;


                            goto rulevariable_assignmentEx;

                        }
                    }
                }
                else if ( (LA470_0 == AT_SIGN_SYMBOL))
                {
                    alt470=3;
                }
                else if ( (LA470_0 == AT_AT_SIGN_SYMBOL))
                {
                    alt470=4;
                }
                else if ( (LA470_0 == CHAR_SYMBOL))
                {
                    alt470=5;
                }
                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 rulevariable_assignmentEx;

                }
            }
            switch (alt470)
            {
        	case 1:
        	    // MySQL.g:1442: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 *)"variable_assignment";


        	        }

        	        NAMES_SYMBOL1484 = (pANTLR3_COMMON_TOKEN) MATCHT(NAMES_SYMBOL, &FOLLOW_NAMES_SYMBOL_in_variable_assignment7774);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulevariable_assignmentEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        NAMES_SYMBOL1484_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, NAMES_SYMBOL1484));
        	        ADAPTOR->addChild(ADAPTOR, root_0, NAMES_SYMBOL1484_tree);
        	        }

        	        // MySQL.g:1443:3: ( equal expression | charset_name_or_default ( COLLATE_SYMBOL collation_name_or_default )? )
        	        {
        	            int alt469=2;
        	            {
        	                int LA469_0 = LA(1);
        	                if ( (LA469_0 == ASSIGN_OPERATOR || LA469_0 == EQUAL_OPERATOR))
        	                {
        	                    alt469=1;
        	                }
        	                else if ( (LA469_0 == NCHAR_TEXT || LA469_0 == SINGLE_QUOTED_TEXT || LA469_0 == UNDERSCORE_CHARSET))
        	                {
        	                    alt469=2;
        	                }
        	                else if ( ((((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES)))||((!SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))))) && (LA469_0 == DOUBLE_QUOTED_TEXT))
        	                {
        	                    alt469=2;
        	                }
        	                else if ( (((LA469_0 >= ACTION_SYMBOL) && (LA469_0 <= PARTITION_SYMBOL)) || LA469_0 == BACK_TICK_QUOTED_ID || LA469_0 == BINARY_SYMBOL || LA469_0 == DEFAULT_SYMBOL || LA469_0 == IDENTIFIER))
        	                {
        	                    alt469=2;
        	                }
        	                else
        	                {
        	                    if (BACKTRACKING>0)
        	                    {
        	                        FAILEDFLAG = ANTLR3_TRUE;
        	                        return retval;
        	                    }


        	                    CONSTRUCTEX();
        	                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                    EXCEPTION->message      = (void *)"";
        	                    EXCEPTION->decisionNum  = 469;
        	                    EXCEPTION->state        = 0;


        	                    goto rulevariable_assignmentEx;

        	                }
        	            }
        	            switch (alt469)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1444:4: equal expression
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_equal_in_variable_assignment7783);
        	        	        equal1485=equal(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulevariable_assignmentEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, equal1485.tree);

        	        	        FOLLOWPUSH(FOLLOW_expression_in_variable_assignment7785);
        	        	        expression1486=expression(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulevariable_assignmentEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression1486.tree);

        	        	    }
        	        	    break;
        	        	case 2:
        	        	    // MySQL.g:1445:6: charset_name_or_default ( COLLATE_SYMBOL collation_name_or_default )?
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_charset_name_or_default_in_variable_assignment7792);
        	        	        charset_name_or_default1487=charset_name_or_default(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulevariable_assignmentEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, charset_name_or_default1487.tree);

        	        	        // MySQL.g:1445:30: ( COLLATE_SYMBOL collation_name_or_default )?
        	        	        {
        	        	            int alt468=2;
        	        	            switch ( LA(1) )
        	        	            {
        	        	                case COLLATE_SYMBOL:
        	        	                	{
        	        	                		alt468=1;
        	        	                	}
        	        	                    break;
        	        	            }

        	        	            switch (alt468)
        	        	            {
        	        	        	case 1:
        	        	        	    // MySQL.g:1445:31: COLLATE_SYMBOL collation_name_or_default
        	        	        	    {
        	        	        	        COLLATE_SYMBOL1488 = (pANTLR3_COMMON_TOKEN) MATCHT(COLLATE_SYMBOL, &FOLLOW_COLLATE_SYMBOL_in_variable_assignment7795);
        	        	        	        if  (HASEXCEPTION())
        	        	        	        {
        	        	        	            goto rulevariable_assignmentEx;
        	        	        	        }
        	        	        	        if (HASFAILED())
        	        	        	        {
        	        	        	            return retval;
        	        	        	        }

        	        	        	        if ( BACKTRACKING==0 ) {
        	        	        	        COLLATE_SYMBOL1488_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COLLATE_SYMBOL1488));
        	        	        	        ADAPTOR->addChild(ADAPTOR, root_0, COLLATE_SYMBOL1488_tree);
        	        	        	        }

        	        	        	        FOLLOWPUSH(FOLLOW_collation_name_or_default_in_variable_assignment7797);
        	        	        	        collation_name_or_default1489=collation_name_or_default(ctx);

        	        	        	        FOLLOWPOP();
        	        	        	        if  (HASEXCEPTION())
        	        	        	        {
        	        	        	            goto rulevariable_assignmentEx;
        	        	        	        }
        	        	        	        if (HASFAILED())
        	        	        	        {
        	        	        	            return retval;
        	        	        	        }

        	        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, collation_name_or_default1489.tree);

        	        	        	    }
        	        	        	    break;

        	        	            }
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:1447:4: variable_name equal set_expression_or_default
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_variable_name_in_variable_assignment7808);
        	        variable_name1490=variable_name(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulevariable_assignmentEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, variable_name1490.tree);

        	        FOLLOWPUSH(FOLLOW_equal_in_variable_assignment7810);
        	        equal1491=equal(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulevariable_assignmentEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, equal1491.tree);

        	        FOLLOWPUSH(FOLLOW_set_expression_or_default_in_variable_assignment7812);
        	        set_expression_or_default1492=set_expression_or_default(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulevariable_assignmentEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, set_expression_or_default1492.tree);

        	    }
        	    break;
        	case 3:
        	    // MySQL.g:1448:4: user_variable equal expression
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_user_variable_in_variable_assignment7817);
        	        user_variable1493=user_variable(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulevariable_assignmentEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, user_variable1493.tree);

        	        FOLLOWPUSH(FOLLOW_equal_in_variable_assignment7819);
        	        equal1494=equal(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulevariable_assignmentEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, equal1494.tree);

        	        FOLLOWPUSH(FOLLOW_expression_in_variable_assignment7821);
        	        expression1495=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulevariable_assignmentEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression1495.tree);

        	    }
        	    break;
        	case 4:
        	    // MySQL.g:1449:4: system_variable equal set_expression_or_default
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_system_variable_in_variable_assignment7826);
        	        system_variable1496=system_variable(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulevariable_assignmentEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, system_variable1496.tree);

        	        FOLLOWPUSH(FOLLOW_equal_in_variable_assignment7828);
        	        equal1497=equal(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulevariable_assignmentEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, equal1497.tree);

        	        FOLLOWPUSH(FOLLOW_set_expression_or_default_in_variable_assignment7830);
        	        set_expression_or_default1498=set_expression_or_default(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulevariable_assignmentEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, set_expression_or_default1498.tree);

        	    }
        	    break;
        	case 5:
        	    // MySQL.g:1450:4: charset_clause
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_charset_clause_in_variable_assignment7835);
        	        charset_clause1499=charset_clause(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulevariable_assignmentEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, charset_clause1499.tree);

        	    }
        	    break;

            }
        }
    }

    // This is where rules clean up and exit
    //
    goto rulevariable_assignmentEx; /* Prevent compiler warnings */
    rulevariable_assignmentEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, 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_assignment */

/**
 * $ANTLR start set_expression_or_default
 * MySQL.g:1453: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_SYMBOL1501;
    pANTLR3_COMMON_TOKEN    ON_SYMBOL1502;
    pANTLR3_COMMON_TOKEN    ALL_SYMBOL1503;
    pANTLR3_COMMON_TOKEN    BINARY_SYMBOL1504;
    MySQLParser_expression_return expression1500;
    #undef	RETURN_TYPE_expression1500
    #define	RETURN_TYPE_expression1500 MySQLParser_expression_return

    pANTLR3_BASE_TREE DEFAULT_SYMBOL1501_tree;
    pANTLR3_BASE_TREE ON_SYMBOL1502_tree;
    pANTLR3_BASE_TREE ALL_SYMBOL1503_tree;
    pANTLR3_BASE_TREE BINARY_SYMBOL1504_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    DEFAULT_SYMBOL1501       = NULL;
    ON_SYMBOL1502       = NULL;
    ALL_SYMBOL1503       = NULL;
    BINARY_SYMBOL1504       = NULL;
    expression1500.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    DEFAULT_SYMBOL1501_tree   = NULL;
    ON_SYMBOL1502_tree   = NULL;
    ALL_SYMBOL1503_tree   = NULL;
    BINARY_SYMBOL1504_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:1453:26: ( expression | DEFAULT_SYMBOL | ON_SYMBOL | ALL_SYMBOL | BINARY_SYMBOL )

            ANTLR3_UINT32 alt471;

            alt471=5;

            {
                int LA471_0 = LA(1);
                if ( (LA471_0 == BITWISE_NOT_OPERATOR || LA471_0 == INTERVAL_SYMBOL || LA471_0 == LOGICAL_NOT_OPERATOR || LA471_0 == MINUS_OPERATOR || LA471_0 == NCHAR_TEXT || LA471_0 == NOT2_SYMBOL || LA471_0 == NOT_SYMBOL || LA471_0 == PLUS_OPERATOR || LA471_0 == SINGLE_QUOTED_TEXT || LA471_0 == UNDERSCORE_CHARSET))
                {
                    alt471=1;
                }
                else if ( ((((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES)))||((!SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))))) && (LA471_0 == DOUBLE_QUOTED_TEXT))
                {
                    alt471=1;
                }
                else if ( (LA471_0 == FALSE_SYMBOL || LA471_0 == FLOAT || ((LA471_0 >= HEXNUMBER) && (LA471_0 <= HEXSTRING)) || LA471_0 == INTEGER || LA471_0 == TRUE_SYMBOL))
                {
                    alt471=1;
                }
                else if ( ((SERVER_VERSION >= 50003)) && (((LA471_0 >= BITNUMBER) && (LA471_0 <= BITSTRING))))
                {
                    alt471=1;
                }
                else if ( (((LA471_0 >= ACTION_SYMBOL) && (LA471_0 <= PARTITION_SYMBOL)) || ((LA471_0 >= AT_AT_SIGN_SYMBOL) && (LA471_0 <= AT_SIGN_SYMBOL)) || LA471_0 == BACK_TICK_QUOTED_ID || ((LA471_0 >= BIT_AND_SYMBOL) && (LA471_0 <= BIT_XOR_SYMBOL)) || ((LA471_0 >= CASE_SYMBOL) && (LA471_0 <= CAST_SYMBOL)) || LA471_0 == CHAR_SYMBOL || ((LA471_0 >= CONVERT_SYMBOL) && (LA471_0 <= COUNT_SYMBOL)) || LA471_0 == CURDATE_SYMBOL || LA471_0 == CURRENT_USER_SYMBOL || LA471_0 == CURTIME_SYMBOL || LA471_0 == DATABASE_SYMBOL || LA471_0 == DATE_ADD_SYMBOL || LA471_0 == DATE_SUB_SYMBOL || LA471_0 == DOT_SYMBOL || LA471_0 == EXISTS_SYMBOL || LA471_0 == EXTRACT_SYMBOL || LA471_0 == GROUP_CONCAT_SYMBOL || ((LA471_0 >= IDENTIFIER) && (LA471_0 <= IF_SYMBOL)) || LA471_0 == INSERT_SYMBOL || LA471_0 == LEFT_SYMBOL || LA471_0 == MATCH_SYMBOL || LA471_0 == MAX_SYMBOL || LA471_0 == MIN_SYMBOL || LA471_0 == MOD_SYMBOL || LA471_0 == NOW_SYMBOL || LA471_0 == NULL2_SYMBOL || LA471_0 == NULL_SYMBOL || ((LA471_0 >= OPEN_CURLY_SYMBOL) && (LA471_0 <= OPEN_PAR_SYMBOL)) || LA471_0 == PARAM_MARKER || LA471_0 == POSITION_SYMBOL || ((LA471_0 >= REPEAT_SYMBOL) && (LA471_0 <= REPLACE_SYMBOL)) || LA471_0 == RIGHT_SYMBOL || LA471_0 == STDDEV_SAMP_SYMBOL || LA471_0 == STD_SYMBOL || LA471_0 == SUBSTRING_SYMBOL || ((LA471_0 >= SUM_SYMBOL) && (LA471_0 <= SYSDATE_SYMBOL)) || LA471_0 == TRIM_SYMBOL || ((LA471_0 >= UTC_DATE_SYMBOL) && (LA471_0 <= VALUES_SYMBOL)) || LA471_0 == VARIANCE_SYMBOL || LA471_0 == VAR_SAMP_SYMBOL))
                {
                    alt471=1;
                }
                else if ( (LA471_0 == BINARY_SYMBOL))
                {
                    {
                        int LA471_100 = LA(2);
                        if ( (((LA471_100 >= ACTION_SYMBOL) && (LA471_100 <= PARTITION_SYMBOL)) || ((LA471_100 >= AT_AT_SIGN_SYMBOL) && (LA471_100 <= AT_SIGN_SYMBOL)) || LA471_100 == BACK_TICK_QUOTED_ID || LA471_100 == BINARY_SYMBOL || ((LA471_100 >= BITNUMBER) && (LA471_100 <= BITSTRING)) || ((LA471_100 >= BIT_AND_SYMBOL) && (LA471_100 <= BIT_XOR_SYMBOL)) || ((LA471_100 >= CASE_SYMBOL) && (LA471_100 <= CAST_SYMBOL)) || LA471_100 == CHAR_SYMBOL || ((LA471_100 >= CONVERT_SYMBOL) && (LA471_100 <= COUNT_SYMBOL)) || LA471_100 == CURDATE_SYMBOL || LA471_100 == CURRENT_USER_SYMBOL || LA471_100 == CURTIME_SYMBOL || LA471_100 == DATABASE_SYMBOL || LA471_100 == DATE_ADD_SYMBOL || LA471_100 == DATE_SUB_SYMBOL || LA471_100 == DOT_SYMBOL || LA471_100 == DOUBLE_QUOTED_TEXT || LA471_100 == EXISTS_SYMBOL || ((LA471_100 >= EXTRACT_SYMBOL) && (LA471_100 <= FALSE_SYMBOL)) || LA471_100 == FLOAT || LA471_100 == GROUP_CONCAT_SYMBOL || ((LA471_100 >= HEXNUMBER) && (LA471_100 <= HEXSTRING)) || ((LA471_100 >= IDENTIFIER) && (LA471_100 <= IF_SYMBOL)) || LA471_100 == INSERT_SYMBOL || LA471_100 == INTEGER || LA471_100 == LEFT_SYMBOL || LA471_100 == MATCH_SYMBOL || LA471_100 == MAX_SYMBOL || LA471_100 == MIN_SYMBOL || LA471_100 == MOD_SYMBOL || LA471_100 == NCHAR_TEXT || LA471_100 == NOW_SYMBOL || LA471_100 == NULL2_SYMBOL || LA471_100 == NULL_SYMBOL || ((LA471_100 >= OPEN_CURLY_SYMBOL) && (LA471_100 <= OPEN_PAR_SYMBOL)) || LA471_100 == PARAM_MARKER || LA471_100 == POSITION_SYMBOL || ((LA471_100 >= REPEAT_SYMBOL) && (LA471_100 <= REPLACE_SYMBOL)) || LA471_100 == RIGHT_SYMBOL || LA471_100 == SINGLE_QUOTED_TEXT || LA471_100 == STDDEV_SAMP_SYMBOL || LA471_100 == STD_SYMBOL || LA471_100 == SUBSTRING_SYMBOL || ((LA471_100 >= SUM_SYMBOL) && (LA471_100 <= SYSDATE_SYMBOL)) || ((LA471_100 >= TRIM_SYMBOL) && (LA471_100 <= TRUE_SYMBOL)) || LA471_100 == UNDERSCORE_CHARSET || ((LA471_100 >= UTC_DATE_SYMBOL) && (LA471_100 <= VALUES_SYMBOL)) || LA471_100 == VARIANCE_SYMBOL || LA471_100 == VAR_SAMP_SYMBOL))
                        {
                            alt471=1;
                        }
                        else if ( (LA471_100 == EOF || LA471_100 == COMMA_SYMBOL || LA471_100 == SEMICOLON_SYMBOL))
                        {
                            alt471=5;
                        }
                        else
                        {
                            if (BACKTRACKING>0)
                            {
                                FAILEDFLAG = ANTLR3_TRUE;
                                return retval;
                            }


                            CONSTRUCTEX();
                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                            EXCEPTION->message      = (void *)"";
                            EXCEPTION->decisionNum  = 471;
                            EXCEPTION->state        = 100;


                            goto ruleset_expression_or_defaultEx;

                        }
                    }
                }
                else if ( (LA471_0 == DEFAULT_SYMBOL))
                {
                    alt471=2;
                }
                else if ( (LA471_0 == ON_SYMBOL))
                {
                    alt471=3;
                }
                else if ( (LA471_0 == ALL_SYMBOL))
                {
                    alt471=4;
                }
                else
                {
                    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 ruleset_expression_or_defaultEx;

                }
            }
            switch (alt471)
            {
        	case 1:
        	    // MySQL.g:1454:2: expression
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_expression_in_set_expression_or_default7844);
        	        expression1500=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleset_expression_or_defaultEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression1500.tree);

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:1455:4: DEFAULT_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        DEFAULT_SYMBOL1501 = (pANTLR3_COMMON_TOKEN) MATCHT(DEFAULT_SYMBOL, &FOLLOW_DEFAULT_SYMBOL_in_set_expression_or_default7849);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleset_expression_or_defaultEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        DEFAULT_SYMBOL1501_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DEFAULT_SYMBOL1501));
        	        ADAPTOR->addChild(ADAPTOR, root_0, DEFAULT_SYMBOL1501_tree);
        	        }

        	    }
        	    break;
        	case 3:
        	    // MySQL.g:1456:4: ON_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        ON_SYMBOL1502 = (pANTLR3_COMMON_TOKEN) MATCHT(ON_SYMBOL, &FOLLOW_ON_SYMBOL_in_set_expression_or_default7854);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleset_expression_or_defaultEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        ON_SYMBOL1502_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ON_SYMBOL1502));
        	        ADAPTOR->addChild(ADAPTOR, root_0, ON_SYMBOL1502_tree);
        	        }

        	    }
        	    break;
        	case 4:
        	    // MySQL.g:1457:4: ALL_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        ALL_SYMBOL1503 = (pANTLR3_COMMON_TOKEN) MATCHT(ALL_SYMBOL, &FOLLOW_ALL_SYMBOL_in_set_expression_or_default7859);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleset_expression_or_defaultEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        ALL_SYMBOL1503_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ALL_SYMBOL1503));
        	        ADAPTOR->addChild(ADAPTOR, root_0, ALL_SYMBOL1503_tree);
        	        }

        	    }
        	    break;
        	case 5:
        	    // MySQL.g:1458:4: BINARY_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        BINARY_SYMBOL1504 = (pANTLR3_COMMON_TOKEN) MATCHT(BINARY_SYMBOL, &FOLLOW_BINARY_SYMBOL_in_set_expression_or_default7864);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleset_expression_or_defaultEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        BINARY_SYMBOL1504_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, BINARY_SYMBOL1504));
        	        ADAPTOR->addChild(ADAPTOR, root_0, BINARY_SYMBOL1504_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:1461: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_SYMBOL1506;
    MySQLParser_option_value_return option_value1505;
    #undef	RETURN_TYPE_option_value1505
    #define	RETURN_TYPE_option_value1505 MySQLParser_option_value_return

    MySQLParser_option_value_return option_value1507;
    #undef	RETURN_TYPE_option_value1507
    #define	RETURN_TYPE_option_value1507 MySQLParser_option_value_return

    pANTLR3_BASE_TREE COMMA_SYMBOL1506_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    COMMA_SYMBOL1506       = NULL;
    option_value1505.tree = NULL;

    option_value1507.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    COMMA_SYMBOL1506_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1461:18: ( option_value ( COMMA_SYMBOL option_value )* )
        // MySQL.g:1462:2: option_value ( COMMA_SYMBOL option_value )*
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            FOLLOWPUSH(FOLLOW_option_value_in_option_value_list7873);
            option_value1505=option_value(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruleoption_value_listEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, option_value1505.tree);

            // MySQL.g:1462:15: ( COMMA_SYMBOL option_value )*

            for (;;)
            {
                int alt472=2;
                switch ( LA(1) )
                {
                case COMMA_SYMBOL:
                	{
                		alt472=1;
                	}
                    break;

                }

                switch (alt472)
                {
            	case 1:
            	    // MySQL.g:1462:16: COMMA_SYMBOL option_value
            	    {
            	        COMMA_SYMBOL1506 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_option_value_list7876);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleoption_value_listEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        COMMA_SYMBOL1506_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL1506));
            	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL1506_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_option_value_in_option_value_list7878);
            	        option_value1507=option_value(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleoption_value_listEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, option_value1507.tree);

            	    }
            	    break;

            	default:
            	    goto loop472;	/* break out of the loop */
            	    break;
                }
            }
            loop472: ; /* 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:1465:1: option_value : ( option_type variable_name equal set_expression_or_default | variable_assignment );
 */
static MySQLParser_option_value_return
option_value(pMySQLParser ctx)
{
    MySQLParser_option_value_return retval;


    pANTLR3_BASE_TREE root_0;

    MySQLParser_option_type_return option_type1508;
    #undef	RETURN_TYPE_option_type1508
    #define	RETURN_TYPE_option_type1508 MySQLParser_option_type_return

    MySQLParser_variable_name_return variable_name1509;
    #undef	RETURN_TYPE_variable_name1509
    #define	RETURN_TYPE_variable_name1509 MySQLParser_variable_name_return

    MySQLParser_equal_return equal1510;
    #undef	RETURN_TYPE_equal1510
    #define	RETURN_TYPE_equal1510 MySQLParser_equal_return

    MySQLParser_set_expression_or_default_return set_expression_or_default1511;
    #undef	RETURN_TYPE_set_expression_or_default1511
    #define	RETURN_TYPE_set_expression_or_default1511 MySQLParser_set_expression_or_default_return

    MySQLParser_variable_assignment_return variable_assignment1512;
    #undef	RETURN_TYPE_variable_assignment1512
    #define	RETURN_TYPE_variable_assignment1512 MySQLParser_variable_assignment_return


    /* Initialize rule variables
     */

    root_0 = NULL;

    option_type1508.tree = NULL;

    variable_name1509.tree = NULL;

    equal1510.tree = NULL;

    set_expression_or_default1511.tree = NULL;

    variable_assignment1512.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;




    retval.tree  = NULL;

    {
        {
            //  MySQL.g:1465:13: ( option_type variable_name equal set_expression_or_default | variable_assignment )

            ANTLR3_UINT32 alt473;

            alt473=2;

            {
                int LA473_0 = LA(1);
                if ( (LA473_0 == GLOBAL_SYMBOL || LA473_0 == LOCAL_SYMBOL || LA473_0 == SESSION_SYMBOL))
                {
                    {
                        int LA473_1 = LA(2);
                        if ( (((LA473_1 >= ACTION_SYMBOL) && (LA473_1 <= PARTITION_SYMBOL)) || LA473_1 == BACK_TICK_QUOTED_ID || LA473_1 == DEFAULT_SYMBOL || LA473_1 == DOUBLE_QUOTED_TEXT || LA473_1 == IDENTIFIER))
                        {
                            alt473=1;
                        }
                        else if ( (LA473_1 == ASSIGN_OPERATOR || LA473_1 == DOT_SYMBOL || LA473_1 == EQUAL_OPERATOR))
                        {
                            alt473=2;
                        }
                        else
                        {
                            if (BACKTRACKING>0)
                            {
                                FAILEDFLAG = ANTLR3_TRUE;
                                return retval;
                            }


                            CONSTRUCTEX();
                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                            EXCEPTION->message      = (void *)"";
                            EXCEPTION->decisionNum  = 473;
                            EXCEPTION->state        = 1;


                            goto ruleoption_valueEx;

                        }
                    }
                }
                else if ( (LA473_0 == NAMES_SYMBOL || LA473_0 == BACK_TICK_QUOTED_ID || LA473_0 == IDENTIFIER))
                {
                    alt473=2;
                }
                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA473_0 == DOUBLE_QUOTED_TEXT))
                {
                    alt473=2;
                }
                else if ( (((LA473_0 >= ACTION_SYMBOL) && (LA473_0 <= GET_FORMAT_SYMBOL)) || ((LA473_0 >= GRANTS_SYMBOL) && (LA473_0 <= LIST_SYMBOL)) || ((LA473_0 >= LOCKS_SYMBOL) && (LA473_0 <= MYSQL_ERRNO_SYMBOL)) || ((LA473_0 >= NAME_SYMBOL) && (LA473_0 <= SERIAL_SYMBOL)) || ((LA473_0 >= SHARE_SYMBOL) && (LA473_0 <= PARTITION_SYMBOL)) || ((LA473_0 >= AT_AT_SIGN_SYMBOL) && (LA473_0 <= AT_SIGN_SYMBOL)) || LA473_0 == CHAR_SYMBOL || LA473_0 == DEFAULT_SYMBOL))
                {
                    alt473=2;
                }
                else
                {
                    if (BACKTRACKING>0)
                    {
                        FAILEDFLAG = ANTLR3_TRUE;
                        return retval;
                    }


                    CONSTRUCTEX();
                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    EXCEPTION->message      = (void *)"";
                    EXCEPTION->decisionNum  = 473;
                    EXCEPTION->state        = 0;


                    goto ruleoption_valueEx;

                }
            }
            switch (alt473)
            {
        	case 1:
        	    // MySQL.g:1466:2: option_type variable_name equal set_expression_or_default
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_option_type_in_option_value7889);
        	        option_type1508=option_type(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleoption_valueEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, option_type1508.tree);

        	        FOLLOWPUSH(FOLLOW_variable_name_in_option_value7891);
        	        variable_name1509=variable_name(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleoption_valueEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, variable_name1509.tree);

        	        FOLLOWPUSH(FOLLOW_equal_in_option_value7893);
        	        equal1510=equal(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleoption_valueEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, equal1510.tree);

        	        FOLLOWPUSH(FOLLOW_set_expression_or_default_in_option_value7895);
        	        set_expression_or_default1511=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_default1511.tree);

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:1467:4: variable_assignment
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_variable_assignment_in_option_value7900);
        	        variable_assignment1512=variable_assignment(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleoption_valueEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, variable_assignment1512.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:1472: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 )? | ( CHAR_SYMBOL SET_SYMBOL | CHARSET_SYMBOL ) ( like_or_where )? | COLLATION_SYMBOL ( like_or_where )? | ( FULL_SYMBOL )? COLUMNS_SYMBOL ( FROM_SYMBOL | IN_SYMBOL ) table_identifier ( 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 | EVENT_SYMBOL | FUNCTION_SYMBOL | PROCEDURE_SYMBOL | TABLE_SYMBOL | TRIGGER_SYMBOL | VIEW_SYMBOL ) qualified_identifier | DATABASES_SYMBOL ( like_clause )? | ENGINE_SYMBOL text_or_identifier ( STATUS_SYMBOL | MUTEX_SYMBOL ) | ( STORAGE_SYMBOL )? ENGINES_SYMBOL | ERRORS_SYMBOL ( limit_clause )? | EVENTS_SYMBOL | FUNCTION_SYMBOL CODE_SYMBOL qualified_identifier | FUNCTION_SYMBOL STATUS_SYMBOL ( like_or_where )? | GRANTS_SYMBOL FOR_SYMBOL user | ( INDEX_SYMBOL | INDEXES_SYMBOL | KEYS_SYMBOL ) from_or_in table_identifier ( 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 qualified_identifier | 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 ) | ( 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_SYMBOL1513;
    pANTLR3_COMMON_TOKEN    AUTHORS_SYMBOL1514;
    pANTLR3_COMMON_TOKEN    BINARY_SYMBOL1515;
    pANTLR3_COMMON_TOKEN    LOGS_SYMBOL1516;
    pANTLR3_COMMON_TOKEN    set1517;
    pANTLR3_COMMON_TOKEN    EVENTS_SYMBOL1518;
    pANTLR3_COMMON_TOKEN    IN_SYMBOL1519;
    pANTLR3_COMMON_TOKEN    FROM_SYMBOL1521;
    pANTLR3_COMMON_TOKEN    INTEGER1522;
    pANTLR3_COMMON_TOKEN    CHAR_SYMBOL1524;
    pANTLR3_COMMON_TOKEN    SET_SYMBOL1525;
    pANTLR3_COMMON_TOKEN    CHARSET_SYMBOL1526;
    pANTLR3_COMMON_TOKEN    COLLATION_SYMBOL1528;
    pANTLR3_COMMON_TOKEN    FULL_SYMBOL1530;
    pANTLR3_COMMON_TOKEN    COLUMNS_SYMBOL1531;
    pANTLR3_COMMON_TOKEN    set1532;
    pANTLR3_COMMON_TOKEN    CONTRIBUTORS_SYMBOL1536;
    pANTLR3_COMMON_TOKEN    COUNT_SYMBOL1537;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL1538;
    pANTLR3_COMMON_TOKEN    MULT_OPERATOR1539;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL1540;
    pANTLR3_COMMON_TOKEN    set1541;
    pANTLR3_COMMON_TOKEN    CREATE_SYMBOL1542;
    pANTLR3_COMMON_TOKEN    set1543;
    pANTLR3_COMMON_TOKEN    DATABASES_SYMBOL1545;
    pANTLR3_COMMON_TOKEN    ENGINE_SYMBOL1547;
    pANTLR3_COMMON_TOKEN    set1549;
    pANTLR3_COMMON_TOKEN    STORAGE_SYMBOL1550;
    pANTLR3_COMMON_TOKEN    ENGINES_SYMBOL1551;
    pANTLR3_COMMON_TOKEN    ERRORS_SYMBOL1552;
    pANTLR3_COMMON_TOKEN    EVENTS_SYMBOL1554;
    pANTLR3_COMMON_TOKEN    FUNCTION_SYMBOL1555;
    pANTLR3_COMMON_TOKEN    CODE_SYMBOL1556;
    pANTLR3_COMMON_TOKEN    FUNCTION_SYMBOL1558;
    pANTLR3_COMMON_TOKEN    STATUS_SYMBOL1559;
    pANTLR3_COMMON_TOKEN    GRANTS_SYMBOL1561;
    pANTLR3_COMMON_TOKEN    FOR_SYMBOL1562;
    pANTLR3_COMMON_TOKEN    set1564;
    pANTLR3_COMMON_TOKEN    INNODB_SYMBOL1569;
    pANTLR3_COMMON_TOKEN    STATUS_SYMBOL1570;
    pANTLR3_COMMON_TOKEN    MASTER_SYMBOL1571;
    pANTLR3_COMMON_TOKEN    STATUS_SYMBOL1572;
    pANTLR3_COMMON_TOKEN    OPEN_SYMBOL1573;
    pANTLR3_COMMON_TOKEN    TABLES_SYMBOL1574;
    pANTLR3_COMMON_TOKEN    PLUGIN_SYMBOL1577;
    pANTLR3_COMMON_TOKEN    PLUGINS_SYMBOL1578;
    pANTLR3_COMMON_TOKEN    PROCEDURE_SYMBOL1579;
    pANTLR3_COMMON_TOKEN    STATUS_SYMBOL1580;
    pANTLR3_COMMON_TOKEN    PROCEDURE_SYMBOL1582;
    pANTLR3_COMMON_TOKEN    CODE_SYMBOL1583;
    pANTLR3_COMMON_TOKEN    PRIVILEGES_SYMBOL1585;
    pANTLR3_COMMON_TOKEN    FULL_SYMBOL1586;
    pANTLR3_COMMON_TOKEN    PROCESSLIST_SYMBOL1587;
    pANTLR3_COMMON_TOKEN    PROFILE_SYMBOL1588;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL1590;
    pANTLR3_COMMON_TOKEN    FOR_SYMBOL1592;
    pANTLR3_COMMON_TOKEN    QUERY_SYMBOL1593;
    pANTLR3_COMMON_TOKEN    INTEGER1594;
    pANTLR3_COMMON_TOKEN    PROFILES_SYMBOL1596;
    pANTLR3_COMMON_TOKEN    SLAVE_SYMBOL1597;
    pANTLR3_COMMON_TOKEN    set1598;
    pANTLR3_COMMON_TOKEN    set1600;
    pANTLR3_COMMON_TOKEN    TABLE_SYMBOL1602;
    pANTLR3_COMMON_TOKEN    STATUS_SYMBOL1603;
    pANTLR3_COMMON_TOKEN    FULL_SYMBOL1606;
    pANTLR3_COMMON_TOKEN    TABLES_SYMBOL1607;
    pANTLR3_COMMON_TOKEN    FULL_SYMBOL1610;
    pANTLR3_COMMON_TOKEN    TRIGGERS_SYMBOL1611;
    pANTLR3_COMMON_TOKEN    WARNINGS_SYMBOL1614;
    MySQLParser_string_literal_return string_literal1520;
    #undef	RETURN_TYPE_string_literal1520
    #define	RETURN_TYPE_string_literal1520 MySQLParser_string_literal_return

    MySQLParser_limit_clause_return limit_clause1523;
    #undef	RETURN_TYPE_limit_clause1523
    #define	RETURN_TYPE_limit_clause1523 MySQLParser_limit_clause_return

    MySQLParser_like_or_where_return like_or_where1527;
    #undef	RETURN_TYPE_like_or_where1527
    #define	RETURN_TYPE_like_or_where1527 MySQLParser_like_or_where_return

    MySQLParser_like_or_where_return like_or_where1529;
    #undef	RETURN_TYPE_like_or_where1529
    #define	RETURN_TYPE_like_or_where1529 MySQLParser_like_or_where_return

    MySQLParser_table_identifier_return table_identifier1533;
    #undef	RETURN_TYPE_table_identifier1533
    #define	RETURN_TYPE_table_identifier1533 MySQLParser_table_identifier_return

    MySQLParser_in_db_return in_db1534;
    #undef	RETURN_TYPE_in_db1534
    #define	RETURN_TYPE_in_db1534 MySQLParser_in_db_return

    MySQLParser_like_or_where_return like_or_where1535;
    #undef	RETURN_TYPE_like_or_where1535
    #define	RETURN_TYPE_like_or_where1535 MySQLParser_like_or_where_return

    MySQLParser_qualified_identifier_return qualified_identifier1544;
    #undef	RETURN_TYPE_qualified_identifier1544
    #define	RETURN_TYPE_qualified_identifier1544 MySQLParser_qualified_identifier_return

    MySQLParser_like_clause_return like_clause1546;
    #undef	RETURN_TYPE_like_clause1546
    #define	RETURN_TYPE_like_clause1546 MySQLParser_like_clause_return

    MySQLParser_text_or_identifier_return text_or_identifier1548;
    #undef	RETURN_TYPE_text_or_identifier1548
    #define	RETURN_TYPE_text_or_identifier1548 MySQLParser_text_or_identifier_return

    MySQLParser_limit_clause_return limit_clause1553;
    #undef	RETURN_TYPE_limit_clause1553
    #define	RETURN_TYPE_limit_clause1553 MySQLParser_limit_clause_return

    MySQLParser_qualified_identifier_return qualified_identifier1557;
    #undef	RETURN_TYPE_qualified_identifier1557
    #define	RETURN_TYPE_qualified_identifier1557 MySQLParser_qualified_identifier_return

    MySQLParser_like_or_where_return like_or_where1560;
    #undef	RETURN_TYPE_like_or_where1560
    #define	RETURN_TYPE_like_or_where1560 MySQLParser_like_or_where_return

    MySQLParser_user_return user1563;
    #undef	RETURN_TYPE_user1563
    #define	RETURN_TYPE_user1563 MySQLParser_user_return

    MySQLParser_from_or_in_return from_or_in1565;
    #undef	RETURN_TYPE_from_or_in1565
    #define	RETURN_TYPE_from_or_in1565 MySQLParser_from_or_in_return

    MySQLParser_table_identifier_return table_identifier1566;
    #undef	RETURN_TYPE_table_identifier1566
    #define	RETURN_TYPE_table_identifier1566 MySQLParser_table_identifier_return

    MySQLParser_in_db_return in_db1567;
    #undef	RETURN_TYPE_in_db1567
    #define	RETURN_TYPE_in_db1567 MySQLParser_in_db_return

    MySQLParser_where_clause_return where_clause1568;
    #undef	RETURN_TYPE_where_clause1568
    #define	RETURN_TYPE_where_clause1568 MySQLParser_where_clause_return

    MySQLParser_in_db_return in_db1575;
    #undef	RETURN_TYPE_in_db1575
    #define	RETURN_TYPE_in_db1575 MySQLParser_in_db_return

    MySQLParser_like_or_where_return like_or_where1576;
    #undef	RETURN_TYPE_like_or_where1576
    #define	RETURN_TYPE_like_or_where1576 MySQLParser_like_or_where_return

    MySQLParser_like_or_where_return like_or_where1581;
    #undef	RETURN_TYPE_like_or_where1581
    #define	RETURN_TYPE_like_or_where1581 MySQLParser_like_or_where_return

    MySQLParser_qualified_identifier_return qualified_identifier1584;
    #undef	RETURN_TYPE_qualified_identifier1584
    #define	RETURN_TYPE_qualified_identifier1584 MySQLParser_qualified_identifier_return

    MySQLParser_profile_type_return profile_type1589;
    #undef	RETURN_TYPE_profile_type1589
    #define	RETURN_TYPE_profile_type1589 MySQLParser_profile_type_return

    MySQLParser_profile_type_return profile_type1591;
    #undef	RETURN_TYPE_profile_type1591
    #define	RETURN_TYPE_profile_type1591 MySQLParser_profile_type_return

    MySQLParser_limit_clause_return limit_clause1595;
    #undef	RETURN_TYPE_limit_clause1595
    #define	RETURN_TYPE_limit_clause1595 MySQLParser_limit_clause_return

    MySQLParser_option_type_return option_type1599;
    #undef	RETURN_TYPE_option_type1599
    #define	RETURN_TYPE_option_type1599 MySQLParser_option_type_return

    MySQLParser_like_or_where_return like_or_where1601;
    #undef	RETURN_TYPE_like_or_where1601
    #define	RETURN_TYPE_like_or_where1601 MySQLParser_like_or_where_return

    MySQLParser_in_db_return in_db1604;
    #undef	RETURN_TYPE_in_db1604
    #define	RETURN_TYPE_in_db1604 MySQLParser_in_db_return

    MySQLParser_like_or_where_return like_or_where1605;
    #undef	RETURN_TYPE_like_or_where1605
    #define	RETURN_TYPE_like_or_where1605 MySQLParser_like_or_where_return

    MySQLParser_in_db_return in_db1608;
    #undef	RETURN_TYPE_in_db1608
    #define	RETURN_TYPE_in_db1608 MySQLParser_in_db_return

    MySQLParser_like_or_where_return like_or_where1609;
    #undef	RETURN_TYPE_like_or_where1609
    #define	RETURN_TYPE_like_or_where1609 MySQLParser_like_or_where_return

    MySQLParser_in_db_return in_db1612;
    #undef	RETURN_TYPE_in_db1612
    #define	RETURN_TYPE_in_db1612 MySQLParser_in_db_return

    MySQLParser_like_or_where_return like_or_where1613;
    #undef	RETURN_TYPE_like_or_where1613
    #define	RETURN_TYPE_like_or_where1613 MySQLParser_like_or_where_return

    MySQLParser_limit_clause_return limit_clause1615;
    #undef	RETURN_TYPE_limit_clause1615
    #define	RETURN_TYPE_limit_clause1615 MySQLParser_limit_clause_return

    pANTLR3_BASE_TREE SHOW_SYMBOL1513_tree;
    pANTLR3_BASE_TREE AUTHORS_SYMBOL1514_tree;
    pANTLR3_BASE_TREE BINARY_SYMBOL1515_tree;
    pANTLR3_BASE_TREE LOGS_SYMBOL1516_tree;
    pANTLR3_BASE_TREE set1517_tree;
    pANTLR3_BASE_TREE EVENTS_SYMBOL1518_tree;
    pANTLR3_BASE_TREE IN_SYMBOL1519_tree;
    pANTLR3_BASE_TREE FROM_SYMBOL1521_tree;
    pANTLR3_BASE_TREE INTEGER1522_tree;
    pANTLR3_BASE_TREE CHAR_SYMBOL1524_tree;
    pANTLR3_BASE_TREE SET_SYMBOL1525_tree;
    pANTLR3_BASE_TREE CHARSET_SYMBOL1526_tree;
    pANTLR3_BASE_TREE COLLATION_SYMBOL1528_tree;
    pANTLR3_BASE_TREE FULL_SYMBOL1530_tree;
    pANTLR3_BASE_TREE COLUMNS_SYMBOL1531_tree;
    pANTLR3_BASE_TREE set1532_tree;
    pANTLR3_BASE_TREE CONTRIBUTORS_SYMBOL1536_tree;
    pANTLR3_BASE_TREE COUNT_SYMBOL1537_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL1538_tree;
    pANTLR3_BASE_TREE MULT_OPERATOR1539_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL1540_tree;
    pANTLR3_BASE_TREE set1541_tree;
    pANTLR3_BASE_TREE CREATE_SYMBOL1542_tree;
    pANTLR3_BASE_TREE set1543_tree;
    pANTLR3_BASE_TREE DATABASES_SYMBOL1545_tree;
    pANTLR3_BASE_TREE ENGINE_SYMBOL1547_tree;
    pANTLR3_BASE_TREE set1549_tree;
    pANTLR3_BASE_TREE STORAGE_SYMBOL1550_tree;
    pANTLR3_BASE_TREE ENGINES_SYMBOL1551_tree;
    pANTLR3_BASE_TREE ERRORS_SYMBOL1552_tree;
    pANTLR3_BASE_TREE EVENTS_SYMBOL1554_tree;
    pANTLR3_BASE_TREE FUNCTION_SYMBOL1555_tree;
    pANTLR3_BASE_TREE CODE_SYMBOL1556_tree;
    pANTLR3_BASE_TREE FUNCTION_SYMBOL1558_tree;
    pANTLR3_BASE_TREE STATUS_SYMBOL1559_tree;
    pANTLR3_BASE_TREE GRANTS_SYMBOL1561_tree;
    pANTLR3_BASE_TREE FOR_SYMBOL1562_tree;
    pANTLR3_BASE_TREE set1564_tree;
    pANTLR3_BASE_TREE INNODB_SYMBOL1569_tree;
    pANTLR3_BASE_TREE STATUS_SYMBOL1570_tree;
    pANTLR3_BASE_TREE MASTER_SYMBOL1571_tree;
    pANTLR3_BASE_TREE STATUS_SYMBOL1572_tree;
    pANTLR3_BASE_TREE OPEN_SYMBOL1573_tree;
    pANTLR3_BASE_TREE TABLES_SYMBOL1574_tree;
    pANTLR3_BASE_TREE PLUGIN_SYMBOL1577_tree;
    pANTLR3_BASE_TREE PLUGINS_SYMBOL1578_tree;
    pANTLR3_BASE_TREE PROCEDURE_SYMBOL1579_tree;
    pANTLR3_BASE_TREE STATUS_SYMBOL1580_tree;
    pANTLR3_BASE_TREE PROCEDURE_SYMBOL1582_tree;
    pANTLR3_BASE_TREE CODE_SYMBOL1583_tree;
    pANTLR3_BASE_TREE PRIVILEGES_SYMBOL1585_tree;
    pANTLR3_BASE_TREE FULL_SYMBOL1586_tree;
    pANTLR3_BASE_TREE PROCESSLIST_SYMBOL1587_tree;
    pANTLR3_BASE_TREE PROFILE_SYMBOL1588_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL1590_tree;
    pANTLR3_BASE_TREE FOR_SYMBOL1592_tree;
    pANTLR3_BASE_TREE QUERY_SYMBOL1593_tree;
    pANTLR3_BASE_TREE INTEGER1594_tree;
    pANTLR3_BASE_TREE PROFILES_SYMBOL1596_tree;
    pANTLR3_BASE_TREE SLAVE_SYMBOL1597_tree;
    pANTLR3_BASE_TREE set1598_tree;
    pANTLR3_BASE_TREE set1600_tree;
    pANTLR3_BASE_TREE TABLE_SYMBOL1602_tree;
    pANTLR3_BASE_TREE STATUS_SYMBOL1603_tree;
    pANTLR3_BASE_TREE FULL_SYMBOL1606_tree;
    pANTLR3_BASE_TREE TABLES_SYMBOL1607_tree;
    pANTLR3_BASE_TREE FULL_SYMBOL1610_tree;
    pANTLR3_BASE_TREE TRIGGERS_SYMBOL1611_tree;
    pANTLR3_BASE_TREE WARNINGS_SYMBOL1614_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    SHOW_SYMBOL1513       = NULL;
    AUTHORS_SYMBOL1514       = NULL;
    BINARY_SYMBOL1515       = NULL;
    LOGS_SYMBOL1516       = NULL;
    set1517       = NULL;
    EVENTS_SYMBOL1518       = NULL;
    IN_SYMBOL1519       = NULL;
    FROM_SYMBOL1521       = NULL;
    INTEGER1522       = NULL;
    CHAR_SYMBOL1524       = NULL;
    SET_SYMBOL1525       = NULL;
    CHARSET_SYMBOL1526       = NULL;
    COLLATION_SYMBOL1528       = NULL;
    FULL_SYMBOL1530       = NULL;
    COLUMNS_SYMBOL1531       = NULL;
    set1532       = NULL;
    CONTRIBUTORS_SYMBOL1536       = NULL;
    COUNT_SYMBOL1537       = NULL;
    OPEN_PAR_SYMBOL1538       = NULL;
    MULT_OPERATOR1539       = NULL;
    CLOSE_PAR_SYMBOL1540       = NULL;
    set1541       = NULL;
    CREATE_SYMBOL1542       = NULL;
    set1543       = NULL;
    DATABASES_SYMBOL1545       = NULL;
    ENGINE_SYMBOL1547       = NULL;
    set1549       = NULL;
    STORAGE_SYMBOL1550       = NULL;
    ENGINES_SYMBOL1551       = NULL;
    ERRORS_SYMBOL1552       = NULL;
    EVENTS_SYMBOL1554       = NULL;
    FUNCTION_SYMBOL1555       = NULL;
    CODE_SYMBOL1556       = NULL;
    FUNCTION_SYMBOL1558       = NULL;
    STATUS_SYMBOL1559       = NULL;
    GRANTS_SYMBOL1561       = NULL;
    FOR_SYMBOL1562       = NULL;
    set1564       = NULL;
    INNODB_SYMBOL1569       = NULL;
    STATUS_SYMBOL1570       = NULL;
    MASTER_SYMBOL1571       = NULL;
    STATUS_SYMBOL1572       = NULL;
    OPEN_SYMBOL1573       = NULL;
    TABLES_SYMBOL1574       = NULL;
    PLUGIN_SYMBOL1577       = NULL;
    PLUGINS_SYMBOL1578       = NULL;
    PROCEDURE_SYMBOL1579       = NULL;
    STATUS_SYMBOL1580       = NULL;
    PROCEDURE_SYMBOL1582       = NULL;
    CODE_SYMBOL1583       = NULL;
    PRIVILEGES_SYMBOL1585       = NULL;
    FULL_SYMBOL1586       = NULL;
    PROCESSLIST_SYMBOL1587       = NULL;
    PROFILE_SYMBOL1588       = NULL;
    COMMA_SYMBOL1590       = NULL;
    FOR_SYMBOL1592       = NULL;
    QUERY_SYMBOL1593       = NULL;
    INTEGER1594       = NULL;
    PROFILES_SYMBOL1596       = NULL;
    SLAVE_SYMBOL1597       = NULL;
    set1598       = NULL;
    set1600       = NULL;
    TABLE_SYMBOL1602       = NULL;
    STATUS_SYMBOL1603       = NULL;
    FULL_SYMBOL1606       = NULL;
    TABLES_SYMBOL1607       = NULL;
    FULL_SYMBOL1610       = NULL;
    TRIGGERS_SYMBOL1611       = NULL;
    WARNINGS_SYMBOL1614       = NULL;
    string_literal1520.tree = NULL;

    limit_clause1523.tree = NULL;

    like_or_where1527.tree = NULL;

    like_or_where1529.tree = NULL;

    table_identifier1533.tree = NULL;

    in_db1534.tree = NULL;

    like_or_where1535.tree = NULL;

    qualified_identifier1544.tree = NULL;

    like_clause1546.tree = NULL;

    text_or_identifier1548.tree = NULL;

    limit_clause1553.tree = NULL;

    qualified_identifier1557.tree = NULL;

    like_or_where1560.tree = NULL;

    user1563.tree = NULL;

    from_or_in1565.tree = NULL;

    table_identifier1566.tree = NULL;

    in_db1567.tree = NULL;

    where_clause1568.tree = NULL;

    in_db1575.tree = NULL;

    like_or_where1576.tree = NULL;

    like_or_where1581.tree = NULL;

    qualified_identifier1584.tree = NULL;

    profile_type1589.tree = NULL;

    profile_type1591.tree = NULL;

    limit_clause1595.tree = NULL;

    option_type1599.tree = NULL;

    like_or_where1601.tree = NULL;

    in_db1604.tree = NULL;

    like_or_where1605.tree = NULL;

    in_db1608.tree = NULL;

    like_or_where1609.tree = NULL;

    in_db1612.tree = NULL;

    like_or_where1613.tree = NULL;

    limit_clause1615.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    SHOW_SYMBOL1513_tree   = NULL;
    AUTHORS_SYMBOL1514_tree   = NULL;
    BINARY_SYMBOL1515_tree   = NULL;
    LOGS_SYMBOL1516_tree   = NULL;
    set1517_tree   = NULL;
    EVENTS_SYMBOL1518_tree   = NULL;
    IN_SYMBOL1519_tree   = NULL;
    FROM_SYMBOL1521_tree   = NULL;
    INTEGER1522_tree   = NULL;
    CHAR_SYMBOL1524_tree   = NULL;
    SET_SYMBOL1525_tree   = NULL;
    CHARSET_SYMBOL1526_tree   = NULL;
    COLLATION_SYMBOL1528_tree   = NULL;
    FULL_SYMBOL1530_tree   = NULL;
    COLUMNS_SYMBOL1531_tree   = NULL;
    set1532_tree   = NULL;
    CONTRIBUTORS_SYMBOL1536_tree   = NULL;
    COUNT_SYMBOL1537_tree   = NULL;
    OPEN_PAR_SYMBOL1538_tree   = NULL;
    MULT_OPERATOR1539_tree   = NULL;
    CLOSE_PAR_SYMBOL1540_tree   = NULL;
    set1541_tree   = NULL;
    CREATE_SYMBOL1542_tree   = NULL;
    set1543_tree   = NULL;
    DATABASES_SYMBOL1545_tree   = NULL;
    ENGINE_SYMBOL1547_tree   = NULL;
    set1549_tree   = NULL;
    STORAGE_SYMBOL1550_tree   = NULL;
    ENGINES_SYMBOL1551_tree   = NULL;
    ERRORS_SYMBOL1552_tree   = NULL;
    EVENTS_SYMBOL1554_tree   = NULL;
    FUNCTION_SYMBOL1555_tree   = NULL;
    CODE_SYMBOL1556_tree   = NULL;
    FUNCTION_SYMBOL1558_tree   = NULL;
    STATUS_SYMBOL1559_tree   = NULL;
    GRANTS_SYMBOL1561_tree   = NULL;
    FOR_SYMBOL1562_tree   = NULL;
    set1564_tree   = NULL;
    INNODB_SYMBOL1569_tree   = NULL;
    STATUS_SYMBOL1570_tree   = NULL;
    MASTER_SYMBOL1571_tree   = NULL;
    STATUS_SYMBOL1572_tree   = NULL;
    OPEN_SYMBOL1573_tree   = NULL;
    TABLES_SYMBOL1574_tree   = NULL;
    PLUGIN_SYMBOL1577_tree   = NULL;
    PLUGINS_SYMBOL1578_tree   = NULL;
    PROCEDURE_SYMBOL1579_tree   = NULL;
    STATUS_SYMBOL1580_tree   = NULL;
    PROCEDURE_SYMBOL1582_tree   = NULL;
    CODE_SYMBOL1583_tree   = NULL;
    PRIVILEGES_SYMBOL1585_tree   = NULL;
    FULL_SYMBOL1586_tree   = NULL;
    PROCESSLIST_SYMBOL1587_tree   = NULL;
    PROFILE_SYMBOL1588_tree   = NULL;
    COMMA_SYMBOL1590_tree   = NULL;
    FOR_SYMBOL1592_tree   = NULL;
    QUERY_SYMBOL1593_tree   = NULL;
    INTEGER1594_tree   = NULL;
    PROFILES_SYMBOL1596_tree   = NULL;
    SLAVE_SYMBOL1597_tree   = NULL;
    set1598_tree   = NULL;
    set1600_tree   = NULL;
    TABLE_SYMBOL1602_tree   = NULL;
    STATUS_SYMBOL1603_tree   = NULL;
    FULL_SYMBOL1606_tree   = NULL;
    TABLES_SYMBOL1607_tree   = NULL;
    FULL_SYMBOL1610_tree   = NULL;
    TRIGGERS_SYMBOL1611_tree   = NULL;
    WARNINGS_SYMBOL1614_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1472:15: ( SHOW_SYMBOL ^ ( AUTHORS_SYMBOL | BINARY_SYMBOL LOGS_SYMBOL | ( BINLOG_SYMBOL | RELAYLOG_SYMBOL ) EVENTS_SYMBOL ( IN_SYMBOL string_literal )? ( FROM_SYMBOL INTEGER )? ( limit_clause )? | ( CHAR_SYMBOL SET_SYMBOL | CHARSET_SYMBOL ) ( like_or_where )? | COLLATION_SYMBOL ( like_or_where )? | ( FULL_SYMBOL )? COLUMNS_SYMBOL ( FROM_SYMBOL | IN_SYMBOL ) table_identifier ( 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 | EVENT_SYMBOL | FUNCTION_SYMBOL | PROCEDURE_SYMBOL | TABLE_SYMBOL | TRIGGER_SYMBOL | VIEW_SYMBOL ) qualified_identifier | DATABASES_SYMBOL ( like_clause )? | ENGINE_SYMBOL text_or_identifier ( STATUS_SYMBOL | MUTEX_SYMBOL ) | ( STORAGE_SYMBOL )? ENGINES_SYMBOL | ERRORS_SYMBOL ( limit_clause )? | EVENTS_SYMBOL | FUNCTION_SYMBOL CODE_SYMBOL qualified_identifier | FUNCTION_SYMBOL STATUS_SYMBOL ( like_or_where )? | GRANTS_SYMBOL FOR_SYMBOL user | ( INDEX_SYMBOL | INDEXES_SYMBOL | KEYS_SYMBOL ) from_or_in table_identifier ( 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 qualified_identifier | 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 ) | ( 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:1473:2: SHOW_SYMBOL ^ ( AUTHORS_SYMBOL | BINARY_SYMBOL LOGS_SYMBOL | ( BINLOG_SYMBOL | RELAYLOG_SYMBOL ) EVENTS_SYMBOL ( IN_SYMBOL string_literal )? ( FROM_SYMBOL INTEGER )? ( limit_clause )? | ( CHAR_SYMBOL SET_SYMBOL | CHARSET_SYMBOL ) ( like_or_where )? | COLLATION_SYMBOL ( like_or_where )? | ( FULL_SYMBOL )? COLUMNS_SYMBOL ( FROM_SYMBOL | IN_SYMBOL ) table_identifier ( 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 | EVENT_SYMBOL | FUNCTION_SYMBOL | PROCEDURE_SYMBOL | TABLE_SYMBOL | TRIGGER_SYMBOL | VIEW_SYMBOL ) qualified_identifier | DATABASES_SYMBOL ( like_clause )? | ENGINE_SYMBOL text_or_identifier ( STATUS_SYMBOL | MUTEX_SYMBOL ) | ( STORAGE_SYMBOL )? ENGINES_SYMBOL | ERRORS_SYMBOL ( limit_clause )? | EVENTS_SYMBOL | FUNCTION_SYMBOL CODE_SYMBOL qualified_identifier | FUNCTION_SYMBOL STATUS_SYMBOL ( like_or_where )? | GRANTS_SYMBOL FOR_SYMBOL user | ( INDEX_SYMBOL | INDEXES_SYMBOL | KEYS_SYMBOL ) from_or_in table_identifier ( 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 qualified_identifier | 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 ) | ( 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_SYMBOL1513 = (pANTLR3_COMMON_TOKEN) MATCHT(SHOW_SYMBOL, &FOLLOW_SHOW_SYMBOL_in_show_statement7911);
            if  (HASEXCEPTION())
            {
                goto ruleshow_statementEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            SHOW_SYMBOL1513_tree = 
            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SHOW_SYMBOL1513))
            ;
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, SHOW_SYMBOL1513_tree, root_0));
            }

            // MySQL.g:1474:2: ( AUTHORS_SYMBOL | BINARY_SYMBOL LOGS_SYMBOL | ( BINLOG_SYMBOL | RELAYLOG_SYMBOL ) EVENTS_SYMBOL ( IN_SYMBOL string_literal )? ( FROM_SYMBOL INTEGER )? ( limit_clause )? | ( CHAR_SYMBOL SET_SYMBOL | CHARSET_SYMBOL ) ( like_or_where )? | COLLATION_SYMBOL ( like_or_where )? | ( FULL_SYMBOL )? COLUMNS_SYMBOL ( FROM_SYMBOL | IN_SYMBOL ) table_identifier ( 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 | EVENT_SYMBOL | FUNCTION_SYMBOL | PROCEDURE_SYMBOL | TABLE_SYMBOL | TRIGGER_SYMBOL | VIEW_SYMBOL ) qualified_identifier | DATABASES_SYMBOL ( like_clause )? | ENGINE_SYMBOL text_or_identifier ( STATUS_SYMBOL | MUTEX_SYMBOL ) | ( STORAGE_SYMBOL )? ENGINES_SYMBOL | ERRORS_SYMBOL ( limit_clause )? | EVENTS_SYMBOL | FUNCTION_SYMBOL CODE_SYMBOL qualified_identifier | FUNCTION_SYMBOL STATUS_SYMBOL ( like_or_where )? | GRANTS_SYMBOL FOR_SYMBOL user | ( INDEX_SYMBOL | INDEXES_SYMBOL | KEYS_SYMBOL ) from_or_in table_identifier ( 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 qualified_identifier | 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 ) | ( 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 alt508=35;
                {
                    int LA508_0 = LA(1);
                    if ( (LA508_0 == AUTHORS_SYMBOL))
                    {
                        alt508=1;
                    }
                    else if ( (LA508_0 == BINARY_SYMBOL))
                    {
                        alt508=2;
                    }
                    else if ( (LA508_0 == BINLOG_SYMBOL || LA508_0 == RELAYLOG_SYMBOL))
                    {
                        alt508=3;
                    }
                    else if ( (LA508_0 == CHARSET_SYMBOL || LA508_0 == CHAR_SYMBOL))
                    {
                        alt508=4;
                    }
                    else if ( (LA508_0 == COLLATION_SYMBOL))
                    {
                        alt508=5;
                    }
                    else if ( (LA508_0 == FULL_SYMBOL))
                    {
                        switch ( LA(2) )
                        {
                        case COLUMNS_SYMBOL:
                        	{
                        		alt508=6;
                        	}
                            break;
                        case PROCESSLIST_SYMBOL:
                        	{
                        		alt508=27;
                        	}
                            break;
                        case TABLES_SYMBOL:
                        	{
                        		alt508=33;
                        	}
                            break;
                        case TRIGGERS_SYMBOL:
                        	{
                        		alt508=34;
                        	}
                            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        = 7;


                            goto ruleshow_statementEx;

                        }

                    }
                    else if ( (LA508_0 == COLUMNS_SYMBOL))
                    {
                        alt508=6;
                    }
                    else if ( (LA508_0 == CONTRIBUTORS_SYMBOL))
                    {
                        alt508=7;
                    }
                    else if ( (LA508_0 == COUNT_SYMBOL))
                    {
                        alt508=8;
                    }
                    else if ( (LA508_0 == CREATE_SYMBOL))
                    {
                        alt508=9;
                    }
                    else if ( (LA508_0 == DATABASES_SYMBOL))
                    {
                        alt508=10;
                    }
                    else if ( (LA508_0 == ENGINE_SYMBOL))
                    {
                        alt508=11;
                    }
                    else if ( (LA508_0 == ENGINES_SYMBOL || LA508_0 == STORAGE_SYMBOL))
                    {
                        alt508=12;
                    }
                    else if ( (LA508_0 == ERRORS_SYMBOL))
                    {
                        alt508=13;
                    }
                    else if ( (LA508_0 == EVENTS_SYMBOL))
                    {
                        alt508=14;
                    }
                    else if ( (LA508_0 == FUNCTION_SYMBOL))
                    {
                        switch ( LA(2) )
                        {
                        case CODE_SYMBOL:
                        	{
                        		alt508=15;
                        	}
                            break;
                        case STATUS_SYMBOL:
                        	{
                        		alt508=16;
                        	}
                            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        = 18;


                            goto ruleshow_statementEx;

                        }

                    }
                    else if ( (LA508_0 == GRANTS_SYMBOL))
                    {
                        alt508=17;
                    }
                    else if ( (LA508_0 == INDEXES_SYMBOL || LA508_0 == INDEX_SYMBOL || LA508_0 == KEYS_SYMBOL))
                    {
                        alt508=18;
                    }
                    else if ( ((SERVER_VERSION < 50500)) && (LA508_0 == INNODB_SYMBOL))
                    {
                        alt508=19;
                    }
                    else if ( (LA508_0 == MASTER_SYMBOL))
                    {
                        alt508=20;
                    }
                    else if ( (LA508_0 == OPEN_SYMBOL))
                    {
                        alt508=21;
                    }
                    else if ( (((SERVER_VERSION >= 50105) && (SERVER_VERSION < 50500))) && (LA508_0 == PLUGIN_SYMBOL))
                    {
                        alt508=22;
                    }
                    else if ( ((SERVER_VERSION >= 50500)) && (LA508_0 == PLUGINS_SYMBOL))
                    {
                        alt508=23;
                    }
                    else if ( (LA508_0 == PROCEDURE_SYMBOL))
                    {
                        switch ( LA(2) )
                        {
                        case STATUS_SYMBOL:
                        	{
                        		alt508=24;
                        	}
                            break;
                        case CODE_SYMBOL:
                        	{
                        		alt508=25;
                        	}
                            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        = 26;


                            goto ruleshow_statementEx;

                        }

                    }
                    else if ( (LA508_0 == PRIVILEGES_SYMBOL))
                    {
                        alt508=26;
                    }
                    else if ( (LA508_0 == PROCESSLIST_SYMBOL))
                    {
                        alt508=27;
                    }
                    else if ( (LA508_0 == PROFILE_SYMBOL))
                    {
                        alt508=28;
                    }
                    else if ( (LA508_0 == PROFILES_SYMBOL))
                    {
                        alt508=29;
                    }
                    else if ( (LA508_0 == SLAVE_SYMBOL))
                    {
                        alt508=30;
                    }
                    else if ( (LA508_0 == GLOBAL_SYMBOL || LA508_0 == LOCAL_SYMBOL || LA508_0 == SESSION_SYMBOL || LA508_0 == STATUS_SYMBOL || LA508_0 == VARIABLES_SYMBOL))
                    {
                        alt508=31;
                    }
                    else if ( (LA508_0 == TABLE_SYMBOL))
                    {
                        alt508=32;
                    }
                    else if ( (LA508_0 == TABLES_SYMBOL))
                    {
                        alt508=33;
                    }
                    else if ( (LA508_0 == TRIGGERS_SYMBOL))
                    {
                        alt508=34;
                    }
                    else if ( (LA508_0 == WARNINGS_SYMBOL))
                    {
                        alt508=35;
                    }
                    else
                    {
                        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 ruleshow_statementEx;

                    }
                }
                switch (alt508)
                {
            	case 1:
            	    // MySQL.g:1475:3: AUTHORS_SYMBOL
            	    {
            	        AUTHORS_SYMBOL1514 = (pANTLR3_COMMON_TOKEN) MATCHT(AUTHORS_SYMBOL, &FOLLOW_AUTHORS_SYMBOL_in_show_statement7919);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleshow_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        AUTHORS_SYMBOL1514_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, AUTHORS_SYMBOL1514));
            	        ADAPTOR->addChild(ADAPTOR, root_0, AUTHORS_SYMBOL1514_tree);
            	        }

            	    }
            	    break;
            	case 2:
            	    // MySQL.g:1476:5: BINARY_SYMBOL LOGS_SYMBOL
            	    {
            	        BINARY_SYMBOL1515 = (pANTLR3_COMMON_TOKEN) MATCHT(BINARY_SYMBOL, &FOLLOW_BINARY_SYMBOL_in_show_statement7925);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleshow_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        BINARY_SYMBOL1515_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, BINARY_SYMBOL1515));
            	        ADAPTOR->addChild(ADAPTOR, root_0, BINARY_SYMBOL1515_tree);
            	        }

            	        LOGS_SYMBOL1516 = (pANTLR3_COMMON_TOKEN) MATCHT(LOGS_SYMBOL, &FOLLOW_LOGS_SYMBOL_in_show_statement7927);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleshow_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        LOGS_SYMBOL1516_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, LOGS_SYMBOL1516));
            	        ADAPTOR->addChild(ADAPTOR, root_0, LOGS_SYMBOL1516_tree);
            	        }

            	    }
            	    break;
            	case 3:
            	    // MySQL.g:1477:5: ( BINLOG_SYMBOL | RELAYLOG_SYMBOL ) EVENTS_SYMBOL ( IN_SYMBOL string_literal )? ( FROM_SYMBOL INTEGER )? ( limit_clause )?
            	    {
            	        set1517=(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, set1517))
            	            );
            	            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_SYMBOL1518 = (pANTLR3_COMMON_TOKEN) MATCHT(EVENTS_SYMBOL, &FOLLOW_EVENTS_SYMBOL_in_show_statement7941);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleshow_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        EVENTS_SYMBOL1518_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EVENTS_SYMBOL1518));
            	        ADAPTOR->addChild(ADAPTOR, root_0, EVENTS_SYMBOL1518_tree);
            	        }

            	        // MySQL.g:1477:53: ( IN_SYMBOL string_literal )?
            	        {
            	            int alt474=2;
            	            switch ( LA(1) )
            	            {
            	                case IN_SYMBOL:
            	                	{
            	                		alt474=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt474)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1477:54: IN_SYMBOL string_literal
            	        	    {
            	        	        IN_SYMBOL1519 = (pANTLR3_COMMON_TOKEN) MATCHT(IN_SYMBOL, &FOLLOW_IN_SYMBOL_in_show_statement7944);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleshow_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        IN_SYMBOL1519_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, IN_SYMBOL1519));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, IN_SYMBOL1519_tree);
            	        	        }

            	        	        FOLLOWPUSH(FOLLOW_string_literal_in_show_statement7946);
            	        	        string_literal1520=string_literal(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleshow_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_literal1520.tree);

            	        	    }
            	        	    break;

            	            }
            	        }

            	        // MySQL.g:1477:81: ( FROM_SYMBOL INTEGER )?
            	        {
            	            int alt475=2;
            	            switch ( LA(1) )
            	            {
            	                case FROM_SYMBOL:
            	                	{
            	                		alt475=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt475)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1477:82: FROM_SYMBOL INTEGER
            	        	    {
            	        	        FROM_SYMBOL1521 = (pANTLR3_COMMON_TOKEN) MATCHT(FROM_SYMBOL, &FOLLOW_FROM_SYMBOL_in_show_statement7951);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleshow_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        FROM_SYMBOL1521_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, FROM_SYMBOL1521));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, FROM_SYMBOL1521_tree);
            	        	        }

            	        	        INTEGER1522 = (pANTLR3_COMMON_TOKEN) MATCHT(INTEGER, &FOLLOW_INTEGER_in_show_statement7953);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleshow_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        INTEGER1522_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INTEGER1522));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, INTEGER1522_tree);
            	        	        }

            	        	    }
            	        	    break;

            	            }
            	        }

            	        // MySQL.g:1477:104: ( limit_clause )?
            	        {
            	            int alt476=2;
            	            switch ( LA(1) )
            	            {
            	                case LIMIT_SYMBOL:
            	                	{
            	                		alt476=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt476)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1477:104: limit_clause
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_limit_clause_in_show_statement7957);
            	        	        limit_clause1523=limit_clause(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleshow_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, limit_clause1523.tree);

            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;
            	case 4:
            	    // MySQL.g:1478:5: ( CHAR_SYMBOL SET_SYMBOL | CHARSET_SYMBOL ) ( like_or_where )?
            	    {
            	        // MySQL.g:1478:5: ( CHAR_SYMBOL SET_SYMBOL | CHARSET_SYMBOL )
            	        {
            	            int alt477=2;
            	            switch ( LA(1) )
            	            {
            	            case CHAR_SYMBOL:
            	            	{
            	            		alt477=1;
            	            	}
            	                break;
            	            case CHARSET_SYMBOL:
            	            	{
            	            		alt477=2;
            	            	}
            	                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 ruleshow_statementEx;

            	            }

            	            switch (alt477)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1478:6: CHAR_SYMBOL SET_SYMBOL
            	        	    {
            	        	        CHAR_SYMBOL1524 = (pANTLR3_COMMON_TOKEN) MATCHT(CHAR_SYMBOL, &FOLLOW_CHAR_SYMBOL_in_show_statement7965);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleshow_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        CHAR_SYMBOL1524_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CHAR_SYMBOL1524));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, CHAR_SYMBOL1524_tree);
            	        	        }

            	        	        SET_SYMBOL1525 = (pANTLR3_COMMON_TOKEN) MATCHT(SET_SYMBOL, &FOLLOW_SET_SYMBOL_in_show_statement7967);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleshow_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        SET_SYMBOL1525_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SET_SYMBOL1525));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, SET_SYMBOL1525_tree);
            	        	        }

            	        	    }
            	        	    break;
            	        	case 2:
            	        	    // MySQL.g:1478:31: CHARSET_SYMBOL
            	        	    {
            	        	        CHARSET_SYMBOL1526 = (pANTLR3_COMMON_TOKEN) MATCHT(CHARSET_SYMBOL, &FOLLOW_CHARSET_SYMBOL_in_show_statement7971);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleshow_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        CHARSET_SYMBOL1526_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CHARSET_SYMBOL1526));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, CHARSET_SYMBOL1526_tree);
            	        	        }

            	        	    }
            	        	    break;

            	            }
            	        }

            	        // MySQL.g:1478:47: ( like_or_where )?
            	        {
            	            int alt478=2;
            	            switch ( LA(1) )
            	            {
            	                case LIKE_SYMBOL:
            	                case WHERE_SYMBOL:
            	                	{
            	                		alt478=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt478)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1478:47: like_or_where
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_like_or_where_in_show_statement7974);
            	        	        like_or_where1527=like_or_where(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleshow_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, like_or_where1527.tree);

            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;
            	case 5:
            	    // MySQL.g:1479:5: COLLATION_SYMBOL ( like_or_where )?
            	    {
            	        COLLATION_SYMBOL1528 = (pANTLR3_COMMON_TOKEN) MATCHT(COLLATION_SYMBOL, &FOLLOW_COLLATION_SYMBOL_in_show_statement7981);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleshow_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        COLLATION_SYMBOL1528_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COLLATION_SYMBOL1528));
            	        ADAPTOR->addChild(ADAPTOR, root_0, COLLATION_SYMBOL1528_tree);
            	        }

            	        // MySQL.g:1479:22: ( like_or_where )?
            	        {
            	            int alt479=2;
            	            switch ( LA(1) )
            	            {
            	                case LIKE_SYMBOL:
            	                case WHERE_SYMBOL:
            	                	{
            	                		alt479=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt479)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1479:22: like_or_where
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_like_or_where_in_show_statement7983);
            	        	        like_or_where1529=like_or_where(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleshow_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, like_or_where1529.tree);

            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;
            	case 6:
            	    // MySQL.g:1480:5: ( FULL_SYMBOL )? COLUMNS_SYMBOL ( FROM_SYMBOL | IN_SYMBOL ) table_identifier ( in_db )? ( like_or_where )?
            	    {
            	        // MySQL.g:1480:5: ( FULL_SYMBOL )?
            	        {
            	            int alt480=2;
            	            switch ( LA(1) )
            	            {
            	                case FULL_SYMBOL:
            	                	{
            	                		alt480=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt480)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1480:5: FULL_SYMBOL
            	        	    {
            	        	        FULL_SYMBOL1530 = (pANTLR3_COMMON_TOKEN) MATCHT(FULL_SYMBOL, &FOLLOW_FULL_SYMBOL_in_show_statement7990);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleshow_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        FULL_SYMBOL1530_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, FULL_SYMBOL1530));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, FULL_SYMBOL1530_tree);
            	        	        }

            	        	    }
            	        	    break;

            	            }
            	        }

            	        COLUMNS_SYMBOL1531 = (pANTLR3_COMMON_TOKEN) MATCHT(COLUMNS_SYMBOL, &FOLLOW_COLUMNS_SYMBOL_in_show_statement7993);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleshow_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        COLUMNS_SYMBOL1531_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COLUMNS_SYMBOL1531));
            	        ADAPTOR->addChild(ADAPTOR, root_0, COLUMNS_SYMBOL1531_tree);
            	        }

            	        set1532=(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, set1532))
            	            );
            	            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_identifier_in_show_statement8003);
            	        table_identifier1533=table_identifier(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleshow_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, table_identifier1533.tree);

            	        // MySQL.g:1480:76: ( in_db )?
            	        {
            	            int alt481=2;
            	            switch ( LA(1) )
            	            {
            	                case FROM_SYMBOL:
            	                case IN_SYMBOL:
            	                	{
            	                		alt481=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt481)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1480:76: in_db
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_in_db_in_show_statement8005);
            	        	        in_db1534=in_db(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleshow_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, in_db1534.tree);

            	        	    }
            	        	    break;

            	            }
            	        }

            	        // MySQL.g:1480:83: ( like_or_where )?
            	        {
            	            int alt482=2;
            	            switch ( LA(1) )
            	            {
            	                case LIKE_SYMBOL:
            	                case WHERE_SYMBOL:
            	                	{
            	                		alt482=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt482)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1480:83: like_or_where
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_like_or_where_in_show_statement8008);
            	        	        like_or_where1535=like_or_where(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleshow_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, like_or_where1535.tree);

            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;
            	case 7:
            	    // MySQL.g:1481:5: CONTRIBUTORS_SYMBOL
            	    {
            	        CONTRIBUTORS_SYMBOL1536 = (pANTLR3_COMMON_TOKEN) MATCHT(CONTRIBUTORS_SYMBOL, &FOLLOW_CONTRIBUTORS_SYMBOL_in_show_statement8015);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleshow_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        CONTRIBUTORS_SYMBOL1536_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CONTRIBUTORS_SYMBOL1536));
            	        ADAPTOR->addChild(ADAPTOR, root_0, CONTRIBUTORS_SYMBOL1536_tree);
            	        }

            	    }
            	    break;
            	case 8:
            	    // MySQL.g:1482:5: COUNT_SYMBOL OPEN_PAR_SYMBOL MULT_OPERATOR CLOSE_PAR_SYMBOL ( WARNINGS_SYMBOL | ERRORS_SYMBOL )
            	    {
            	        COUNT_SYMBOL1537 = (pANTLR3_COMMON_TOKEN) MATCHT(COUNT_SYMBOL, &FOLLOW_COUNT_SYMBOL_in_show_statement8021);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleshow_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        COUNT_SYMBOL1537_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COUNT_SYMBOL1537));
            	        ADAPTOR->addChild(ADAPTOR, root_0, COUNT_SYMBOL1537_tree);
            	        }

            	        OPEN_PAR_SYMBOL1538 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_show_statement8023);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleshow_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        OPEN_PAR_SYMBOL1538_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL1538));
            	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL1538_tree);
            	        }

            	        MULT_OPERATOR1539 = (pANTLR3_COMMON_TOKEN) MATCHT(MULT_OPERATOR, &FOLLOW_MULT_OPERATOR_in_show_statement8025);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleshow_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        MULT_OPERATOR1539_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MULT_OPERATOR1539));
            	        ADAPTOR->addChild(ADAPTOR, root_0, MULT_OPERATOR1539_tree);
            	        }

            	        CLOSE_PAR_SYMBOL1540 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_show_statement8027);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleshow_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        CLOSE_PAR_SYMBOL1540_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL1540));
            	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL1540_tree);
            	        }

            	        set1541=(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, set1541))
            	            );
            	            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:1483:5: CREATE_SYMBOL ( DATABASE_SYMBOL | EVENT_SYMBOL | FUNCTION_SYMBOL | PROCEDURE_SYMBOL | TABLE_SYMBOL | TRIGGER_SYMBOL | VIEW_SYMBOL ) qualified_identifier
            	    {
            	        CREATE_SYMBOL1542 = (pANTLR3_COMMON_TOKEN) MATCHT(CREATE_SYMBOL, &FOLLOW_CREATE_SYMBOL_in_show_statement8041);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleshow_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        CREATE_SYMBOL1542_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CREATE_SYMBOL1542));
            	        ADAPTOR->addChild(ADAPTOR, root_0, CREATE_SYMBOL1542_tree);
            	        }

            	        set1543=(pANTLR3_COMMON_TOKEN)LT(1);

            	        if ( LA(1) == EVENT_SYMBOL || LA(1) == FUNCTION_SYMBOL || LA(1) == VIEW_SYMBOL || LA(1) == DATABASE_SYMBOL || LA(1) == PROCEDURE_SYMBOL || LA(1) == TABLE_SYMBOL || LA(1) == TRIGGER_SYMBOL )
            	        {
            	            CONSUME();
            	            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, 
            	            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set1543))
            	            );
            	            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_qualified_identifier_in_show_statement8071);
            	        qualified_identifier1544=qualified_identifier(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleshow_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, qualified_identifier1544.tree);

            	    }
            	    break;
            	case 10:
            	    // MySQL.g:1484:5: DATABASES_SYMBOL ( like_clause )?
            	    {
            	        DATABASES_SYMBOL1545 = (pANTLR3_COMMON_TOKEN) MATCHT(DATABASES_SYMBOL, &FOLLOW_DATABASES_SYMBOL_in_show_statement8077);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleshow_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        DATABASES_SYMBOL1545_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DATABASES_SYMBOL1545));
            	        ADAPTOR->addChild(ADAPTOR, root_0, DATABASES_SYMBOL1545_tree);
            	        }

            	        // MySQL.g:1484:22: ( like_clause )?
            	        {
            	            int alt483=2;
            	            switch ( LA(1) )
            	            {
            	                case LIKE_SYMBOL:
            	                	{
            	                		alt483=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt483)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1484:22: like_clause
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_like_clause_in_show_statement8079);
            	        	        like_clause1546=like_clause(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleshow_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, like_clause1546.tree);

            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;
            	case 11:
            	    // MySQL.g:1485:5: ENGINE_SYMBOL text_or_identifier ( STATUS_SYMBOL | MUTEX_SYMBOL )
            	    {
            	        ENGINE_SYMBOL1547 = (pANTLR3_COMMON_TOKEN) MATCHT(ENGINE_SYMBOL, &FOLLOW_ENGINE_SYMBOL_in_show_statement8086);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleshow_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        ENGINE_SYMBOL1547_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ENGINE_SYMBOL1547));
            	        ADAPTOR->addChild(ADAPTOR, root_0, ENGINE_SYMBOL1547_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_text_or_identifier_in_show_statement8088);
            	        text_or_identifier1548=text_or_identifier(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleshow_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, text_or_identifier1548.tree);

            	        set1549=(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, set1549))
            	            );
            	            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:1486:5: ( STORAGE_SYMBOL )? ENGINES_SYMBOL
            	    {
            	        // MySQL.g:1486:5: ( STORAGE_SYMBOL )?
            	        {
            	            int alt484=2;
            	            switch ( LA(1) )
            	            {
            	                case STORAGE_SYMBOL:
            	                	{
            	                		alt484=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt484)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1486:5: STORAGE_SYMBOL
            	        	    {
            	        	        STORAGE_SYMBOL1550 = (pANTLR3_COMMON_TOKEN) MATCHT(STORAGE_SYMBOL, &FOLLOW_STORAGE_SYMBOL_in_show_statement8102);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleshow_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        STORAGE_SYMBOL1550_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, STORAGE_SYMBOL1550));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, STORAGE_SYMBOL1550_tree);
            	        	        }

            	        	    }
            	        	    break;

            	            }
            	        }

            	        ENGINES_SYMBOL1551 = (pANTLR3_COMMON_TOKEN) MATCHT(ENGINES_SYMBOL, &FOLLOW_ENGINES_SYMBOL_in_show_statement8105);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleshow_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        ENGINES_SYMBOL1551_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ENGINES_SYMBOL1551));
            	        ADAPTOR->addChild(ADAPTOR, root_0, ENGINES_SYMBOL1551_tree);
            	        }

            	    }
            	    break;
            	case 13:
            	    // MySQL.g:1487:5: ERRORS_SYMBOL ( limit_clause )?
            	    {
            	        ERRORS_SYMBOL1552 = (pANTLR3_COMMON_TOKEN) MATCHT(ERRORS_SYMBOL, &FOLLOW_ERRORS_SYMBOL_in_show_statement8111);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleshow_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        ERRORS_SYMBOL1552_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ERRORS_SYMBOL1552));
            	        ADAPTOR->addChild(ADAPTOR, root_0, ERRORS_SYMBOL1552_tree);
            	        }

            	        // MySQL.g:1487:19: ( limit_clause )?
            	        {
            	            int alt485=2;
            	            switch ( LA(1) )
            	            {
            	                case LIMIT_SYMBOL:
            	                	{
            	                		alt485=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt485)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1487:19: limit_clause
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_limit_clause_in_show_statement8113);
            	        	        limit_clause1553=limit_clause(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleshow_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, limit_clause1553.tree);

            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;
            	case 14:
            	    // MySQL.g:1488:5: EVENTS_SYMBOL
            	    {
            	        EVENTS_SYMBOL1554 = (pANTLR3_COMMON_TOKEN) MATCHT(EVENTS_SYMBOL, &FOLLOW_EVENTS_SYMBOL_in_show_statement8120);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleshow_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        EVENTS_SYMBOL1554_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EVENTS_SYMBOL1554));
            	        ADAPTOR->addChild(ADAPTOR, root_0, EVENTS_SYMBOL1554_tree);
            	        }

            	    }
            	    break;
            	case 15:
            	    // MySQL.g:1489:5: FUNCTION_SYMBOL CODE_SYMBOL qualified_identifier
            	    {
            	        FUNCTION_SYMBOL1555 = (pANTLR3_COMMON_TOKEN) MATCHT(FUNCTION_SYMBOL, &FOLLOW_FUNCTION_SYMBOL_in_show_statement8126);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleshow_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        FUNCTION_SYMBOL1555_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, FUNCTION_SYMBOL1555));
            	        ADAPTOR->addChild(ADAPTOR, root_0, FUNCTION_SYMBOL1555_tree);
            	        }

            	        CODE_SYMBOL1556 = (pANTLR3_COMMON_TOKEN) MATCHT(CODE_SYMBOL, &FOLLOW_CODE_SYMBOL_in_show_statement8128);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleshow_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        CODE_SYMBOL1556_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CODE_SYMBOL1556));
            	        ADAPTOR->addChild(ADAPTOR, root_0, CODE_SYMBOL1556_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_qualified_identifier_in_show_statement8130);
            	        qualified_identifier1557=qualified_identifier(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleshow_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, qualified_identifier1557.tree);

            	    }
            	    break;
            	case 16:
            	    // MySQL.g:1490:5: FUNCTION_SYMBOL STATUS_SYMBOL ( like_or_where )?
            	    {
            	        FUNCTION_SYMBOL1558 = (pANTLR3_COMMON_TOKEN) MATCHT(FUNCTION_SYMBOL, &FOLLOW_FUNCTION_SYMBOL_in_show_statement8136);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleshow_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        FUNCTION_SYMBOL1558_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, FUNCTION_SYMBOL1558));
            	        ADAPTOR->addChild(ADAPTOR, root_0, FUNCTION_SYMBOL1558_tree);
            	        }

            	        STATUS_SYMBOL1559 = (pANTLR3_COMMON_TOKEN) MATCHT(STATUS_SYMBOL, &FOLLOW_STATUS_SYMBOL_in_show_statement8138);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleshow_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        STATUS_SYMBOL1559_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, STATUS_SYMBOL1559));
            	        ADAPTOR->addChild(ADAPTOR, root_0, STATUS_SYMBOL1559_tree);
            	        }

            	        // MySQL.g:1490:35: ( like_or_where )?
            	        {
            	            int alt486=2;
            	            switch ( LA(1) )
            	            {
            	                case LIKE_SYMBOL:
            	                case WHERE_SYMBOL:
            	                	{
            	                		alt486=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt486)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1490:35: like_or_where
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_like_or_where_in_show_statement8140);
            	        	        like_or_where1560=like_or_where(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleshow_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, like_or_where1560.tree);

            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;
            	case 17:
            	    // MySQL.g:1491:5: GRANTS_SYMBOL FOR_SYMBOL user
            	    {
            	        GRANTS_SYMBOL1561 = (pANTLR3_COMMON_TOKEN) MATCHT(GRANTS_SYMBOL, &FOLLOW_GRANTS_SYMBOL_in_show_statement8147);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleshow_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        GRANTS_SYMBOL1561_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, GRANTS_SYMBOL1561));
            	        ADAPTOR->addChild(ADAPTOR, root_0, GRANTS_SYMBOL1561_tree);
            	        }

            	        FOR_SYMBOL1562 = (pANTLR3_COMMON_TOKEN) MATCHT(FOR_SYMBOL, &FOLLOW_FOR_SYMBOL_in_show_statement8149);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleshow_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        FOR_SYMBOL1562_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, FOR_SYMBOL1562));
            	        ADAPTOR->addChild(ADAPTOR, root_0, FOR_SYMBOL1562_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_user_in_show_statement8151);
            	        user1563=user(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleshow_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, user1563.tree);

            	    }
            	    break;
            	case 18:
            	    // MySQL.g:1492:5: ( INDEX_SYMBOL | INDEXES_SYMBOL | KEYS_SYMBOL ) from_or_in table_identifier ( in_db )? ( where_clause )?
            	    {
            	        set1564=(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, set1564))
            	            );
            	            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_statement8169);
            	        from_or_in1565=from_or_in(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleshow_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, from_or_in1565.tree);

            	        FOLLOWPUSH(FOLLOW_table_identifier_in_show_statement8171);
            	        table_identifier1566=table_identifier(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleshow_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, table_identifier1566.tree);

            	        // MySQL.g:1492:79: ( in_db )?
            	        {
            	            int alt487=2;
            	            switch ( LA(1) )
            	            {
            	                case FROM_SYMBOL:
            	                case IN_SYMBOL:
            	                	{
            	                		alt487=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt487)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1492:79: in_db
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_in_db_in_show_statement8173);
            	        	        in_db1567=in_db(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleshow_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, in_db1567.tree);

            	        	    }
            	        	    break;

            	            }
            	        }

            	        // MySQL.g:1492:86: ( where_clause )?
            	        {
            	            int alt488=2;
            	            switch ( LA(1) )
            	            {
            	                case WHERE_SYMBOL:
            	                	{
            	                		alt488=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt488)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1492:86: where_clause
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_where_clause_in_show_statement8176);
            	        	        where_clause1568=where_clause(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleshow_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, where_clause1568.tree);

            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;
            	case 19:
            	    // MySQL.g:1493: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_SYMBOL1569 = (pANTLR3_COMMON_TOKEN) MATCHT(INNODB_SYMBOL, &FOLLOW_INNODB_SYMBOL_in_show_statement8187);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleshow_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        INNODB_SYMBOL1569_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INNODB_SYMBOL1569));
            	        ADAPTOR->addChild(ADAPTOR, root_0, INNODB_SYMBOL1569_tree);
            	        }

            	        STATUS_SYMBOL1570 = (pANTLR3_COMMON_TOKEN) MATCHT(STATUS_SYMBOL, &FOLLOW_STATUS_SYMBOL_in_show_statement8189);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleshow_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        STATUS_SYMBOL1570_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, STATUS_SYMBOL1570));
            	        ADAPTOR->addChild(ADAPTOR, root_0, STATUS_SYMBOL1570_tree);
            	        }

            	    }
            	    break;
            	case 20:
            	    // MySQL.g:1494:5: MASTER_SYMBOL STATUS_SYMBOL
            	    {
            	        MASTER_SYMBOL1571 = (pANTLR3_COMMON_TOKEN) MATCHT(MASTER_SYMBOL, &FOLLOW_MASTER_SYMBOL_in_show_statement8196);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleshow_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        MASTER_SYMBOL1571_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MASTER_SYMBOL1571));
            	        ADAPTOR->addChild(ADAPTOR, root_0, MASTER_SYMBOL1571_tree);
            	        }

            	        STATUS_SYMBOL1572 = (pANTLR3_COMMON_TOKEN) MATCHT(STATUS_SYMBOL, &FOLLOW_STATUS_SYMBOL_in_show_statement8198);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleshow_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        STATUS_SYMBOL1572_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, STATUS_SYMBOL1572));
            	        ADAPTOR->addChild(ADAPTOR, root_0, STATUS_SYMBOL1572_tree);
            	        }

            	    }
            	    break;
            	case 21:
            	    // MySQL.g:1495:5: OPEN_SYMBOL TABLES_SYMBOL ( in_db )? ( like_or_where )?
            	    {
            	        OPEN_SYMBOL1573 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_SYMBOL, &FOLLOW_OPEN_SYMBOL_in_show_statement8204);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleshow_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        OPEN_SYMBOL1573_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_SYMBOL1573));
            	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_SYMBOL1573_tree);
            	        }

            	        TABLES_SYMBOL1574 = (pANTLR3_COMMON_TOKEN) MATCHT(TABLES_SYMBOL, &FOLLOW_TABLES_SYMBOL_in_show_statement8206);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleshow_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        TABLES_SYMBOL1574_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, TABLES_SYMBOL1574));
            	        ADAPTOR->addChild(ADAPTOR, root_0, TABLES_SYMBOL1574_tree);
            	        }

            	        // MySQL.g:1495:31: ( in_db )?
            	        {
            	            int alt489=2;
            	            switch ( LA(1) )
            	            {
            	                case FROM_SYMBOL:
            	                case IN_SYMBOL:
            	                	{
            	                		alt489=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt489)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1495:31: in_db
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_in_db_in_show_statement8208);
            	        	        in_db1575=in_db(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleshow_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, in_db1575.tree);

            	        	    }
            	        	    break;

            	            }
            	        }

            	        // MySQL.g:1495:38: ( like_or_where )?
            	        {
            	            int alt490=2;
            	            switch ( LA(1) )
            	            {
            	                case LIKE_SYMBOL:
            	                case WHERE_SYMBOL:
            	                	{
            	                		alt490=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt490)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1495:38: like_or_where
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_like_or_where_in_show_statement8211);
            	        	        like_or_where1576=like_or_where(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleshow_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, like_or_where1576.tree);

            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;
            	case 22:
            	    // MySQL.g:1496: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_SYMBOL1577 = (pANTLR3_COMMON_TOKEN) MATCHT(PLUGIN_SYMBOL, &FOLLOW_PLUGIN_SYMBOL_in_show_statement8222);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleshow_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        PLUGIN_SYMBOL1577_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, PLUGIN_SYMBOL1577));
            	        ADAPTOR->addChild(ADAPTOR, root_0, PLUGIN_SYMBOL1577_tree);
            	        }

            	    }
            	    break;
            	case 23:
            	    // MySQL.g:1497: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_SYMBOL1578 = (pANTLR3_COMMON_TOKEN) MATCHT(PLUGINS_SYMBOL, &FOLLOW_PLUGINS_SYMBOL_in_show_statement8233);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleshow_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        PLUGINS_SYMBOL1578_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, PLUGINS_SYMBOL1578));
            	        ADAPTOR->addChild(ADAPTOR, root_0, PLUGINS_SYMBOL1578_tree);
            	        }

            	    }
            	    break;
            	case 24:
            	    // MySQL.g:1498:5: PROCEDURE_SYMBOL STATUS_SYMBOL ( like_or_where )?
            	    {
            	        PROCEDURE_SYMBOL1579 = (pANTLR3_COMMON_TOKEN) MATCHT(PROCEDURE_SYMBOL, &FOLLOW_PROCEDURE_SYMBOL_in_show_statement8239);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleshow_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        PROCEDURE_SYMBOL1579_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, PROCEDURE_SYMBOL1579));
            	        ADAPTOR->addChild(ADAPTOR, root_0, PROCEDURE_SYMBOL1579_tree);
            	        }

            	        STATUS_SYMBOL1580 = (pANTLR3_COMMON_TOKEN) MATCHT(STATUS_SYMBOL, &FOLLOW_STATUS_SYMBOL_in_show_statement8241);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleshow_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        STATUS_SYMBOL1580_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, STATUS_SYMBOL1580));
            	        ADAPTOR->addChild(ADAPTOR, root_0, STATUS_SYMBOL1580_tree);
            	        }

            	        // MySQL.g:1498:36: ( like_or_where )?
            	        {
            	            int alt491=2;
            	            switch ( LA(1) )
            	            {
            	                case LIKE_SYMBOL:
            	                case WHERE_SYMBOL:
            	                	{
            	                		alt491=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt491)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1498:36: like_or_where
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_like_or_where_in_show_statement8243);
            	        	        like_or_where1581=like_or_where(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleshow_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, like_or_where1581.tree);

            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;
            	case 25:
            	    // MySQL.g:1499:5: PROCEDURE_SYMBOL CODE_SYMBOL qualified_identifier
            	    {
            	        PROCEDURE_SYMBOL1582 = (pANTLR3_COMMON_TOKEN) MATCHT(PROCEDURE_SYMBOL, &FOLLOW_PROCEDURE_SYMBOL_in_show_statement8250);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleshow_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        PROCEDURE_SYMBOL1582_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, PROCEDURE_SYMBOL1582));
            	        ADAPTOR->addChild(ADAPTOR, root_0, PROCEDURE_SYMBOL1582_tree);
            	        }

            	        CODE_SYMBOL1583 = (pANTLR3_COMMON_TOKEN) MATCHT(CODE_SYMBOL, &FOLLOW_CODE_SYMBOL_in_show_statement8252);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleshow_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        CODE_SYMBOL1583_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CODE_SYMBOL1583));
            	        ADAPTOR->addChild(ADAPTOR, root_0, CODE_SYMBOL1583_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_qualified_identifier_in_show_statement8254);
            	        qualified_identifier1584=qualified_identifier(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleshow_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, qualified_identifier1584.tree);

            	    }
            	    break;
            	case 26:
            	    // MySQL.g:1500:5: PRIVILEGES_SYMBOL
            	    {
            	        PRIVILEGES_SYMBOL1585 = (pANTLR3_COMMON_TOKEN) MATCHT(PRIVILEGES_SYMBOL, &FOLLOW_PRIVILEGES_SYMBOL_in_show_statement8260);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleshow_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        PRIVILEGES_SYMBOL1585_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, PRIVILEGES_SYMBOL1585));
            	        ADAPTOR->addChild(ADAPTOR, root_0, PRIVILEGES_SYMBOL1585_tree);
            	        }

            	    }
            	    break;
            	case 27:
            	    // MySQL.g:1501:5: ( FULL_SYMBOL )? PROCESSLIST_SYMBOL
            	    {
            	        // MySQL.g:1501:5: ( FULL_SYMBOL )?
            	        {
            	            int alt492=2;
            	            switch ( LA(1) )
            	            {
            	                case FULL_SYMBOL:
            	                	{
            	                		alt492=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt492)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1501:5: FULL_SYMBOL
            	        	    {
            	        	        FULL_SYMBOL1586 = (pANTLR3_COMMON_TOKEN) MATCHT(FULL_SYMBOL, &FOLLOW_FULL_SYMBOL_in_show_statement8266);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleshow_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        FULL_SYMBOL1586_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, FULL_SYMBOL1586));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, FULL_SYMBOL1586_tree);
            	        	        }

            	        	    }
            	        	    break;

            	            }
            	        }

            	        PROCESSLIST_SYMBOL1587 = (pANTLR3_COMMON_TOKEN) MATCHT(PROCESSLIST_SYMBOL, &FOLLOW_PROCESSLIST_SYMBOL_in_show_statement8269);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleshow_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        PROCESSLIST_SYMBOL1587_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, PROCESSLIST_SYMBOL1587));
            	        ADAPTOR->addChild(ADAPTOR, root_0, PROCESSLIST_SYMBOL1587_tree);
            	        }

            	    }
            	    break;
            	case 28:
            	    // MySQL.g:1502:5: PROFILE_SYMBOL ( profile_type ( COMMA_SYMBOL profile_type )* )? ( FOR_SYMBOL QUERY_SYMBOL INTEGER )? ( limit_clause )?
            	    {
            	        PROFILE_SYMBOL1588 = (pANTLR3_COMMON_TOKEN) MATCHT(PROFILE_SYMBOL, &FOLLOW_PROFILE_SYMBOL_in_show_statement8275);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleshow_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        PROFILE_SYMBOL1588_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, PROFILE_SYMBOL1588));
            	        ADAPTOR->addChild(ADAPTOR, root_0, PROFILE_SYMBOL1588_tree);
            	        }

            	        // MySQL.g:1502:20: ( profile_type ( COMMA_SYMBOL profile_type )* )?
            	        {
            	            int alt494=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:
            	                	{
            	                		alt494=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt494)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1502:21: profile_type ( COMMA_SYMBOL profile_type )*
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_profile_type_in_show_statement8278);
            	        	        profile_type1589=profile_type(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleshow_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, profile_type1589.tree);

            	        	        // MySQL.g:1502:34: ( COMMA_SYMBOL profile_type )*

            	        	        for (;;)
            	        	        {
            	        	            int alt493=2;
            	        	            switch ( LA(1) )
            	        	            {
            	        	            case COMMA_SYMBOL:
            	        	            	{
            	        	            		alt493=1;
            	        	            	}
            	        	                break;

            	        	            }

            	        	            switch (alt493)
            	        	            {
            	        	        	case 1:
            	        	        	    // MySQL.g:1502:35: COMMA_SYMBOL profile_type
            	        	        	    {
            	        	        	        COMMA_SYMBOL1590 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_show_statement8281);
            	        	        	        if  (HASEXCEPTION())
            	        	        	        {
            	        	        	            goto ruleshow_statementEx;
            	        	        	        }
            	        	        	        if (HASFAILED())
            	        	        	        {
            	        	        	            return retval;
            	        	        	        }

            	        	        	        if ( BACKTRACKING==0 ) {
            	        	        	        COMMA_SYMBOL1590_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL1590));
            	        	        	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL1590_tree);
            	        	        	        }

            	        	        	        FOLLOWPUSH(FOLLOW_profile_type_in_show_statement8283);
            	        	        	        profile_type1591=profile_type(ctx);

            	        	        	        FOLLOWPOP();
            	        	        	        if  (HASEXCEPTION())
            	        	        	        {
            	        	        	            goto ruleshow_statementEx;
            	        	        	        }
            	        	        	        if (HASFAILED())
            	        	        	        {
            	        	        	            return retval;
            	        	        	        }

            	        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, profile_type1591.tree);

            	        	        	    }
            	        	        	    break;

            	        	        	default:
            	        	        	    goto loop493;	/* break out of the loop */
            	        	        	    break;
            	        	            }
            	        	        }
            	        	        loop493: ; /* Jump out to here if this rule does not match */


            	        	    }
            	        	    break;

            	            }
            	        }

            	        // MySQL.g:1502:65: ( FOR_SYMBOL QUERY_SYMBOL INTEGER )?
            	        {
            	            int alt495=2;
            	            switch ( LA(1) )
            	            {
            	                case FOR_SYMBOL:
            	                	{
            	                		alt495=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt495)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1502:66: FOR_SYMBOL QUERY_SYMBOL INTEGER
            	        	    {
            	        	        FOR_SYMBOL1592 = (pANTLR3_COMMON_TOKEN) MATCHT(FOR_SYMBOL, &FOLLOW_FOR_SYMBOL_in_show_statement8290);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleshow_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        FOR_SYMBOL1592_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, FOR_SYMBOL1592));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, FOR_SYMBOL1592_tree);
            	        	        }

            	        	        QUERY_SYMBOL1593 = (pANTLR3_COMMON_TOKEN) MATCHT(QUERY_SYMBOL, &FOLLOW_QUERY_SYMBOL_in_show_statement8292);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleshow_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        QUERY_SYMBOL1593_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, QUERY_SYMBOL1593));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, QUERY_SYMBOL1593_tree);
            	        	        }

            	        	        INTEGER1594 = (pANTLR3_COMMON_TOKEN) MATCHT(INTEGER, &FOLLOW_INTEGER_in_show_statement8294);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleshow_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        INTEGER1594_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INTEGER1594));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, INTEGER1594_tree);
            	        	        }

            	        	    }
            	        	    break;

            	            }
            	        }

            	        // MySQL.g:1502:100: ( limit_clause )?
            	        {
            	            int alt496=2;
            	            switch ( LA(1) )
            	            {
            	                case LIMIT_SYMBOL:
            	                	{
            	                		alt496=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt496)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1502:100: limit_clause
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_limit_clause_in_show_statement8298);
            	        	        limit_clause1595=limit_clause(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleshow_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, limit_clause1595.tree);

            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;
            	case 29:
            	    // MySQL.g:1503:5: PROFILES_SYMBOL
            	    {
            	        PROFILES_SYMBOL1596 = (pANTLR3_COMMON_TOKEN) MATCHT(PROFILES_SYMBOL, &FOLLOW_PROFILES_SYMBOL_in_show_statement8305);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleshow_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        PROFILES_SYMBOL1596_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, PROFILES_SYMBOL1596));
            	        ADAPTOR->addChild(ADAPTOR, root_0, PROFILES_SYMBOL1596_tree);
            	        }

            	    }
            	    break;
            	case 30:
            	    // MySQL.g:1504:5: SLAVE_SYMBOL ( HOSTS_SYMBOL | STATUS_SYMBOL )
            	    {
            	        SLAVE_SYMBOL1597 = (pANTLR3_COMMON_TOKEN) MATCHT(SLAVE_SYMBOL, &FOLLOW_SLAVE_SYMBOL_in_show_statement8311);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleshow_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        SLAVE_SYMBOL1597_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SLAVE_SYMBOL1597));
            	        ADAPTOR->addChild(ADAPTOR, root_0, SLAVE_SYMBOL1597_tree);
            	        }

            	        set1598=(pANTLR3_COMMON_TOKEN)LT(1);

            	        if ( LA(1) == HOSTS_SYMBOL || LA(1) == STATUS_SYMBOL )
            	        {
            	            CONSUME();
            	            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, 
            	            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set1598))
            	            );
            	            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 31:
            	    // MySQL.g:1505:5: ( option_type )? ( STATUS_SYMBOL | VARIABLES_SYMBOL ) ( like_or_where )?
            	    {
            	        // MySQL.g:1505:5: ( option_type )?
            	        {
            	            int alt497=2;
            	            switch ( LA(1) )
            	            {
            	                case GLOBAL_SYMBOL:
            	                case LOCAL_SYMBOL:
            	                case SESSION_SYMBOL:
            	                	{
            	                		alt497=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt497)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1505:5: option_type
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_option_type_in_show_statement8325);
            	        	        option_type1599=option_type(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleshow_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, option_type1599.tree);

            	        	    }
            	        	    break;

            	            }
            	        }

            	        set1600=(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, set1600))
            	            );
            	            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:1505:53: ( like_or_where )?
            	        {
            	            int alt498=2;
            	            switch ( LA(1) )
            	            {
            	                case LIKE_SYMBOL:
            	                case WHERE_SYMBOL:
            	                	{
            	                		alt498=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt498)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1505:53: like_or_where
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_like_or_where_in_show_statement8336);
            	        	        like_or_where1601=like_or_where(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleshow_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, like_or_where1601.tree);

            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;
            	case 32:
            	    // MySQL.g:1506:5: TABLE_SYMBOL STATUS_SYMBOL ( in_db )? ( like_or_where )?
            	    {
            	        TABLE_SYMBOL1602 = (pANTLR3_COMMON_TOKEN) MATCHT(TABLE_SYMBOL, &FOLLOW_TABLE_SYMBOL_in_show_statement8343);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleshow_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        TABLE_SYMBOL1602_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, TABLE_SYMBOL1602));
            	        ADAPTOR->addChild(ADAPTOR, root_0, TABLE_SYMBOL1602_tree);
            	        }

            	        STATUS_SYMBOL1603 = (pANTLR3_COMMON_TOKEN) MATCHT(STATUS_SYMBOL, &FOLLOW_STATUS_SYMBOL_in_show_statement8345);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleshow_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        STATUS_SYMBOL1603_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, STATUS_SYMBOL1603));
            	        ADAPTOR->addChild(ADAPTOR, root_0, STATUS_SYMBOL1603_tree);
            	        }

            	        // MySQL.g:1506:32: ( in_db )?
            	        {
            	            int alt499=2;
            	            switch ( LA(1) )
            	            {
            	                case FROM_SYMBOL:
            	                case IN_SYMBOL:
            	                	{
            	                		alt499=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt499)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1506:32: in_db
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_in_db_in_show_statement8347);
            	        	        in_db1604=in_db(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleshow_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, in_db1604.tree);

            	        	    }
            	        	    break;

            	            }
            	        }

            	        // MySQL.g:1506:39: ( like_or_where )?
            	        {
            	            int alt500=2;
            	            switch ( LA(1) )
            	            {
            	                case LIKE_SYMBOL:
            	                case WHERE_SYMBOL:
            	                	{
            	                		alt500=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt500)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1506:39: like_or_where
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_like_or_where_in_show_statement8350);
            	        	        like_or_where1605=like_or_where(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleshow_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, like_or_where1605.tree);

            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;
            	case 33:
            	    // MySQL.g:1507:5: ( FULL_SYMBOL )? TABLES_SYMBOL ( in_db )? ( like_or_where )?
            	    {
            	        // MySQL.g:1507:5: ( FULL_SYMBOL )?
            	        {
            	            int alt501=2;
            	            switch ( LA(1) )
            	            {
            	                case FULL_SYMBOL:
            	                	{
            	                		alt501=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt501)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1507:5: FULL_SYMBOL
            	        	    {
            	        	        FULL_SYMBOL1606 = (pANTLR3_COMMON_TOKEN) MATCHT(FULL_SYMBOL, &FOLLOW_FULL_SYMBOL_in_show_statement8357);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleshow_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        FULL_SYMBOL1606_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, FULL_SYMBOL1606));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, FULL_SYMBOL1606_tree);
            	        	        }

            	        	    }
            	        	    break;

            	            }
            	        }

            	        TABLES_SYMBOL1607 = (pANTLR3_COMMON_TOKEN) MATCHT(TABLES_SYMBOL, &FOLLOW_TABLES_SYMBOL_in_show_statement8360);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleshow_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        TABLES_SYMBOL1607_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, TABLES_SYMBOL1607));
            	        ADAPTOR->addChild(ADAPTOR, root_0, TABLES_SYMBOL1607_tree);
            	        }

            	        // MySQL.g:1507:32: ( in_db )?
            	        {
            	            int alt502=2;
            	            switch ( LA(1) )
            	            {
            	                case FROM_SYMBOL:
            	                case IN_SYMBOL:
            	                	{
            	                		alt502=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt502)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1507:32: in_db
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_in_db_in_show_statement8362);
            	        	        in_db1608=in_db(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleshow_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, in_db1608.tree);

            	        	    }
            	        	    break;

            	            }
            	        }

            	        // MySQL.g:1507:39: ( like_or_where )?
            	        {
            	            int alt503=2;
            	            switch ( LA(1) )
            	            {
            	                case LIKE_SYMBOL:
            	                case WHERE_SYMBOL:
            	                	{
            	                		alt503=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt503)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1507:39: like_or_where
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_like_or_where_in_show_statement8365);
            	        	        like_or_where1609=like_or_where(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleshow_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, like_or_where1609.tree);

            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;
            	case 34:
            	    // MySQL.g:1508:5: ( FULL_SYMBOL )? TRIGGERS_SYMBOL ( in_db )? ( like_or_where )?
            	    {
            	        // MySQL.g:1508:5: ( FULL_SYMBOL )?
            	        {
            	            int alt504=2;
            	            switch ( LA(1) )
            	            {
            	                case FULL_SYMBOL:
            	                	{
            	                		alt504=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt504)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1508:5: FULL_SYMBOL
            	        	    {
            	        	        FULL_SYMBOL1610 = (pANTLR3_COMMON_TOKEN) MATCHT(FULL_SYMBOL, &FOLLOW_FULL_SYMBOL_in_show_statement8372);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleshow_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        FULL_SYMBOL1610_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, FULL_SYMBOL1610));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, FULL_SYMBOL1610_tree);
            	        	        }

            	        	    }
            	        	    break;

            	            }
            	        }

            	        TRIGGERS_SYMBOL1611 = (pANTLR3_COMMON_TOKEN) MATCHT(TRIGGERS_SYMBOL, &FOLLOW_TRIGGERS_SYMBOL_in_show_statement8375);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleshow_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        TRIGGERS_SYMBOL1611_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, TRIGGERS_SYMBOL1611));
            	        ADAPTOR->addChild(ADAPTOR, root_0, TRIGGERS_SYMBOL1611_tree);
            	        }

            	        // MySQL.g:1508:34: ( in_db )?
            	        {
            	            int alt505=2;
            	            switch ( LA(1) )
            	            {
            	                case FROM_SYMBOL:
            	                case IN_SYMBOL:
            	                	{
            	                		alt505=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt505)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1508:34: in_db
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_in_db_in_show_statement8377);
            	        	        in_db1612=in_db(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleshow_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, in_db1612.tree);

            	        	    }
            	        	    break;

            	            }
            	        }

            	        // MySQL.g:1508:41: ( like_or_where )?
            	        {
            	            int alt506=2;
            	            switch ( LA(1) )
            	            {
            	                case LIKE_SYMBOL:
            	                case WHERE_SYMBOL:
            	                	{
            	                		alt506=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt506)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1508:41: like_or_where
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_like_or_where_in_show_statement8380);
            	        	        like_or_where1613=like_or_where(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleshow_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, like_or_where1613.tree);

            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;
            	case 35:
            	    // MySQL.g:1509:5: WARNINGS_SYMBOL ( limit_clause )?
            	    {
            	        WARNINGS_SYMBOL1614 = (pANTLR3_COMMON_TOKEN) MATCHT(WARNINGS_SYMBOL, &FOLLOW_WARNINGS_SYMBOL_in_show_statement8387);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleshow_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        WARNINGS_SYMBOL1614_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, WARNINGS_SYMBOL1614));
            	        ADAPTOR->addChild(ADAPTOR, root_0, WARNINGS_SYMBOL1614_tree);
            	        }

            	        // MySQL.g:1509:21: ( limit_clause )?
            	        {
            	            int alt507=2;
            	            switch ( LA(1) )
            	            {
            	                case LIMIT_SYMBOL:
            	                	{
            	                		alt507=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt507)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1509:21: limit_clause
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_limit_clause_in_show_statement8389);
            	        	        limit_clause1615=limit_clause(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleshow_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, limit_clause1615.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 from_or_in
 * MySQL.g:1513: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    set1616;

    pANTLR3_BASE_TREE set1616_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    set1616       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    set1616_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1513:11: ( FROM_SYMBOL | IN_SYMBOL )
        // MySQL.g:
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            set1616=(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, set1616))
                );
                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:1517: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_in1617;
    #undef	RETURN_TYPE_from_or_in1617
    #define	RETURN_TYPE_from_or_in1617 MySQLParser_from_or_in_return

    MySQLParser_identifier_return identifier1618;
    #undef	RETURN_TYPE_identifier1618
    #define	RETURN_TYPE_identifier1618 MySQLParser_identifier_return


    /* Initialize rule variables
     */

    root_0 = NULL;

    from_or_in1617.tree = NULL;

    identifier1618.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;




    retval.tree  = NULL;

    {
        // MySQL.g:1517:6: ( from_or_in identifier )
        // MySQL.g:1518:2: from_or_in identifier
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            FOLLOWPUSH(FOLLOW_from_or_in_in_in_db8415);
            from_or_in1617=from_or_in(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulein_dbEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, from_or_in1617.tree);

            FOLLOWPUSH(FOLLOW_identifier_in_in_db8417);
            identifier1618=identifier(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulein_dbEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier1618.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:1521: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_SYMBOL1619;
    pANTLR3_COMMON_TOKEN    BLOCK_SYMBOL1620;
    pANTLR3_COMMON_TOKEN    IO_SYMBOL1621;
    pANTLR3_COMMON_TOKEN    CONTEXT_SYMBOL1622;
    pANTLR3_COMMON_TOKEN    SWITCHES_SYMBOL1623;
    pANTLR3_COMMON_TOKEN    CPU_SYMBOL1624;
    pANTLR3_COMMON_TOKEN    IPC_SYMBOL1625;
    pANTLR3_COMMON_TOKEN    MEMORY_SYMBOL1626;
    pANTLR3_COMMON_TOKEN    PAGE_SYMBOL1627;
    pANTLR3_COMMON_TOKEN    FAULTS_SYMBOL1628;
    pANTLR3_COMMON_TOKEN    SOURCE_SYMBOL1629;
    pANTLR3_COMMON_TOKEN    SWAPS_SYMBOL1630;

    pANTLR3_BASE_TREE ALL_SYMBOL1619_tree;
    pANTLR3_BASE_TREE BLOCK_SYMBOL1620_tree;
    pANTLR3_BASE_TREE IO_SYMBOL1621_tree;
    pANTLR3_BASE_TREE CONTEXT_SYMBOL1622_tree;
    pANTLR3_BASE_TREE SWITCHES_SYMBOL1623_tree;
    pANTLR3_BASE_TREE CPU_SYMBOL1624_tree;
    pANTLR3_BASE_TREE IPC_SYMBOL1625_tree;
    pANTLR3_BASE_TREE MEMORY_SYMBOL1626_tree;
    pANTLR3_BASE_TREE PAGE_SYMBOL1627_tree;
    pANTLR3_BASE_TREE FAULTS_SYMBOL1628_tree;
    pANTLR3_BASE_TREE SOURCE_SYMBOL1629_tree;
    pANTLR3_BASE_TREE SWAPS_SYMBOL1630_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    ALL_SYMBOL1619       = NULL;
    BLOCK_SYMBOL1620       = NULL;
    IO_SYMBOL1621       = NULL;
    CONTEXT_SYMBOL1622       = NULL;
    SWITCHES_SYMBOL1623       = NULL;
    CPU_SYMBOL1624       = NULL;
    IPC_SYMBOL1625       = NULL;
    MEMORY_SYMBOL1626       = NULL;
    PAGE_SYMBOL1627       = NULL;
    FAULTS_SYMBOL1628       = NULL;
    SOURCE_SYMBOL1629       = NULL;
    SWAPS_SYMBOL1630       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    ALL_SYMBOL1619_tree   = NULL;
    BLOCK_SYMBOL1620_tree   = NULL;
    IO_SYMBOL1621_tree   = NULL;
    CONTEXT_SYMBOL1622_tree   = NULL;
    SWITCHES_SYMBOL1623_tree   = NULL;
    CPU_SYMBOL1624_tree   = NULL;
    IPC_SYMBOL1625_tree   = NULL;
    MEMORY_SYMBOL1626_tree   = NULL;
    PAGE_SYMBOL1627_tree   = NULL;
    FAULTS_SYMBOL1628_tree   = NULL;
    SOURCE_SYMBOL1629_tree   = NULL;
    SWAPS_SYMBOL1630_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:1521: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 alt509;

            alt509=9;

            switch ( LA(1) )
            {
            case ALL_SYMBOL:
            	{
            		alt509=1;
            	}
                break;
            case BLOCK_SYMBOL:
            	{
            		alt509=2;
            	}
                break;
            case CONTEXT_SYMBOL:
            	{
            		alt509=3;
            	}
                break;
            case CPU_SYMBOL:
            	{
            		alt509=4;
            	}
                break;
            case IPC_SYMBOL:
            	{
            		alt509=5;
            	}
                break;
            case MEMORY_SYMBOL:
            	{
            		alt509=6;
            	}
                break;
            case PAGE_SYMBOL:
            	{
            		alt509=7;
            	}
                break;
            case SOURCE_SYMBOL:
            	{
            		alt509=8;
            	}
                break;
            case SWAPS_SYMBOL:
            	{
            		alt509=9;
            	}
                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 ruleprofile_typeEx;

            }

            switch (alt509)
            {
        	case 1:
        	    // MySQL.g:1522:2: ALL_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        ALL_SYMBOL1619 = (pANTLR3_COMMON_TOKEN) MATCHT(ALL_SYMBOL, &FOLLOW_ALL_SYMBOL_in_profile_type8426);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleprofile_typeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        ALL_SYMBOL1619_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ALL_SYMBOL1619));
        	        ADAPTOR->addChild(ADAPTOR, root_0, ALL_SYMBOL1619_tree);
        	        }

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:1523:4: BLOCK_SYMBOL IO_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        BLOCK_SYMBOL1620 = (pANTLR3_COMMON_TOKEN) MATCHT(BLOCK_SYMBOL, &FOLLOW_BLOCK_SYMBOL_in_profile_type8431);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleprofile_typeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        BLOCK_SYMBOL1620_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, BLOCK_SYMBOL1620));
        	        ADAPTOR->addChild(ADAPTOR, root_0, BLOCK_SYMBOL1620_tree);
        	        }

        	        IO_SYMBOL1621 = (pANTLR3_COMMON_TOKEN) MATCHT(IO_SYMBOL, &FOLLOW_IO_SYMBOL_in_profile_type8433);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleprofile_typeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        IO_SYMBOL1621_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, IO_SYMBOL1621));
        	        ADAPTOR->addChild(ADAPTOR, root_0, IO_SYMBOL1621_tree);
        	        }

        	    }
        	    break;
        	case 3:
        	    // MySQL.g:1524:4: CONTEXT_SYMBOL SWITCHES_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        CONTEXT_SYMBOL1622 = (pANTLR3_COMMON_TOKEN) MATCHT(CONTEXT_SYMBOL, &FOLLOW_CONTEXT_SYMBOL_in_profile_type8438);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleprofile_typeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CONTEXT_SYMBOL1622_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CONTEXT_SYMBOL1622));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CONTEXT_SYMBOL1622_tree);
        	        }

        	        SWITCHES_SYMBOL1623 = (pANTLR3_COMMON_TOKEN) MATCHT(SWITCHES_SYMBOL, &FOLLOW_SWITCHES_SYMBOL_in_profile_type8440);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleprofile_typeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        SWITCHES_SYMBOL1623_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SWITCHES_SYMBOL1623));
        	        ADAPTOR->addChild(ADAPTOR, root_0, SWITCHES_SYMBOL1623_tree);
        	        }

        	    }
        	    break;
        	case 4:
        	    // MySQL.g:1525:4: CPU_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        CPU_SYMBOL1624 = (pANTLR3_COMMON_TOKEN) MATCHT(CPU_SYMBOL, &FOLLOW_CPU_SYMBOL_in_profile_type8445);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleprofile_typeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CPU_SYMBOL1624_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CPU_SYMBOL1624));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CPU_SYMBOL1624_tree);
        	        }

        	    }
        	    break;
        	case 5:
        	    // MySQL.g:1526:4: IPC_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        IPC_SYMBOL1625 = (pANTLR3_COMMON_TOKEN) MATCHT(IPC_SYMBOL, &FOLLOW_IPC_SYMBOL_in_profile_type8450);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleprofile_typeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        IPC_SYMBOL1625_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, IPC_SYMBOL1625));
        	        ADAPTOR->addChild(ADAPTOR, root_0, IPC_SYMBOL1625_tree);
        	        }

        	    }
        	    break;
        	case 6:
        	    // MySQL.g:1527:4: MEMORY_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        MEMORY_SYMBOL1626 = (pANTLR3_COMMON_TOKEN) MATCHT(MEMORY_SYMBOL, &FOLLOW_MEMORY_SYMBOL_in_profile_type8455);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleprofile_typeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        MEMORY_SYMBOL1626_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MEMORY_SYMBOL1626));
        	        ADAPTOR->addChild(ADAPTOR, root_0, MEMORY_SYMBOL1626_tree);
        	        }

        	    }
        	    break;
        	case 7:
        	    // MySQL.g:1528:4: PAGE_SYMBOL FAULTS_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        PAGE_SYMBOL1627 = (pANTLR3_COMMON_TOKEN) MATCHT(PAGE_SYMBOL, &FOLLOW_PAGE_SYMBOL_in_profile_type8460);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleprofile_typeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        PAGE_SYMBOL1627_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, PAGE_SYMBOL1627));
        	        ADAPTOR->addChild(ADAPTOR, root_0, PAGE_SYMBOL1627_tree);
        	        }

        	        FAULTS_SYMBOL1628 = (pANTLR3_COMMON_TOKEN) MATCHT(FAULTS_SYMBOL, &FOLLOW_FAULTS_SYMBOL_in_profile_type8462);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleprofile_typeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        FAULTS_SYMBOL1628_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, FAULTS_SYMBOL1628));
        	        ADAPTOR->addChild(ADAPTOR, root_0, FAULTS_SYMBOL1628_tree);
        	        }

        	    }
        	    break;
        	case 8:
        	    // MySQL.g:1529:4: SOURCE_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        SOURCE_SYMBOL1629 = (pANTLR3_COMMON_TOKEN) MATCHT(SOURCE_SYMBOL, &FOLLOW_SOURCE_SYMBOL_in_profile_type8467);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleprofile_typeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        SOURCE_SYMBOL1629_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SOURCE_SYMBOL1629));
        	        ADAPTOR->addChild(ADAPTOR, root_0, SOURCE_SYMBOL1629_tree);
        	        }

        	    }
        	    break;
        	case 9:
        	    // MySQL.g:1530:4: SWAPS_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        SWAPS_SYMBOL1630 = (pANTLR3_COMMON_TOKEN) MATCHT(SWAPS_SYMBOL, &FOLLOW_SWAPS_SYMBOL_in_profile_type8472);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleprofile_typeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        SWAPS_SYMBOL1630_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SWAPS_SYMBOL1630));
        	        ADAPTOR->addChild(ADAPTOR, root_0, SWAPS_SYMBOL1630_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:1535: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_SYMBOL1631;
    pANTLR3_COMMON_TOKEN    CACHE_SYMBOL1633;
    pANTLR3_COMMON_TOKEN    INDEX_SYMBOL1634;
    pANTLR3_COMMON_TOKEN    IN_SYMBOL1636;
    pANTLR3_COMMON_TOKEN    DEFAULT_SYMBOL1638;
    pANTLR3_COMMON_TOKEN    FLUSH_SYMBOL1639;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL1642;
    pANTLR3_COMMON_TOKEN    KILL_SYMBOL1644;
    pANTLR3_COMMON_TOKEN    set1645;
    pANTLR3_COMMON_TOKEN    INTEGER1646;
    pANTLR3_COMMON_TOKEN    LOAD_SYMBOL1647;
    pANTLR3_COMMON_TOKEN    INDEX_SYMBOL1648;
    pANTLR3_COMMON_TOKEN    INTO_SYMBOL1649;
    pANTLR3_COMMON_TOKEN    CACHE_SYMBOL1650;
    pANTLR3_COMMON_TOKEN    RESET_SYMBOL1652;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL1654;
    MySQLParser_string_literal_return string_literal1632;
    #undef	RETURN_TYPE_string_literal1632
    #define	RETURN_TYPE_string_literal1632 MySQLParser_string_literal_return

    MySQLParser_key_cache_list_or_parts_return key_cache_list_or_parts1635;
    #undef	RETURN_TYPE_key_cache_list_or_parts1635
    #define	RETURN_TYPE_key_cache_list_or_parts1635 MySQLParser_key_cache_list_or_parts_return

    MySQLParser_identifier_return identifier1637;
    #undef	RETURN_TYPE_identifier1637
    #define	RETURN_TYPE_identifier1637 MySQLParser_identifier_return

    MySQLParser_no_write_to_bin_log_return no_write_to_bin_log1640;
    #undef	RETURN_TYPE_no_write_to_bin_log1640
    #define	RETURN_TYPE_no_write_to_bin_log1640 MySQLParser_no_write_to_bin_log_return

    MySQLParser_flush_option_return flush_option1641;
    #undef	RETURN_TYPE_flush_option1641
    #define	RETURN_TYPE_flush_option1641 MySQLParser_flush_option_return

    MySQLParser_flush_option_return flush_option1643;
    #undef	RETURN_TYPE_flush_option1643
    #define	RETURN_TYPE_flush_option1643 MySQLParser_flush_option_return

    MySQLParser_load_table_index_list_return load_table_index_list1651;
    #undef	RETURN_TYPE_load_table_index_list1651
    #define	RETURN_TYPE_load_table_index_list1651 MySQLParser_load_table_index_list_return

    MySQLParser_reset_option_return reset_option1653;
    #undef	RETURN_TYPE_reset_option1653
    #define	RETURN_TYPE_reset_option1653 MySQLParser_reset_option_return

    MySQLParser_reset_option_return reset_option1655;
    #undef	RETURN_TYPE_reset_option1655
    #define	RETURN_TYPE_reset_option1655 MySQLParser_reset_option_return

    pANTLR3_BASE_TREE BINLOG_SYMBOL1631_tree;
    pANTLR3_BASE_TREE CACHE_SYMBOL1633_tree;
    pANTLR3_BASE_TREE INDEX_SYMBOL1634_tree;
    pANTLR3_BASE_TREE IN_SYMBOL1636_tree;
    pANTLR3_BASE_TREE DEFAULT_SYMBOL1638_tree;
    pANTLR3_BASE_TREE FLUSH_SYMBOL1639_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL1642_tree;
    pANTLR3_BASE_TREE KILL_SYMBOL1644_tree;
    pANTLR3_BASE_TREE set1645_tree;
    pANTLR3_BASE_TREE INTEGER1646_tree;
    pANTLR3_BASE_TREE LOAD_SYMBOL1647_tree;
    pANTLR3_BASE_TREE INDEX_SYMBOL1648_tree;
    pANTLR3_BASE_TREE INTO_SYMBOL1649_tree;
    pANTLR3_BASE_TREE CACHE_SYMBOL1650_tree;
    pANTLR3_BASE_TREE RESET_SYMBOL1652_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL1654_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    BINLOG_SYMBOL1631       = NULL;
    CACHE_SYMBOL1633       = NULL;
    INDEX_SYMBOL1634       = NULL;
    IN_SYMBOL1636       = NULL;
    DEFAULT_SYMBOL1638       = NULL;
    FLUSH_SYMBOL1639       = NULL;
    COMMA_SYMBOL1642       = NULL;
    KILL_SYMBOL1644       = NULL;
    set1645       = NULL;
    INTEGER1646       = NULL;
    LOAD_SYMBOL1647       = NULL;
    INDEX_SYMBOL1648       = NULL;
    INTO_SYMBOL1649       = NULL;
    CACHE_SYMBOL1650       = NULL;
    RESET_SYMBOL1652       = NULL;
    COMMA_SYMBOL1654       = NULL;
    string_literal1632.tree = NULL;

    key_cache_list_or_parts1635.tree = NULL;

    identifier1637.tree = NULL;

    no_write_to_bin_log1640.tree = NULL;

    flush_option1641.tree = NULL;

    flush_option1643.tree = NULL;

    load_table_index_list1651.tree = NULL;

    reset_option1653.tree = NULL;

    reset_option1655.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    BINLOG_SYMBOL1631_tree   = NULL;
    CACHE_SYMBOL1633_tree   = NULL;
    INDEX_SYMBOL1634_tree   = NULL;
    IN_SYMBOL1636_tree   = NULL;
    DEFAULT_SYMBOL1638_tree   = NULL;
    FLUSH_SYMBOL1639_tree   = NULL;
    COMMA_SYMBOL1642_tree   = NULL;
    KILL_SYMBOL1644_tree   = NULL;
    set1645_tree   = NULL;
    INTEGER1646_tree   = NULL;
    LOAD_SYMBOL1647_tree   = NULL;
    INDEX_SYMBOL1648_tree   = NULL;
    INTO_SYMBOL1649_tree   = NULL;
    CACHE_SYMBOL1650_tree   = NULL;
    RESET_SYMBOL1652_tree   = NULL;
    COMMA_SYMBOL1654_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:1535: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 alt515;

            alt515=6;

            switch ( LA(1) )
            {
            case BINLOG_SYMBOL:
            	{
            		alt515=1;
            	}
                break;
            case CACHE_SYMBOL:
            	{
            		alt515=2;
            	}
                break;
            case FLUSH_SYMBOL:
            	{
            		alt515=3;
            	}
                break;
            case KILL_SYMBOL:
            	{
            		alt515=4;
            	}
                break;
            case LOAD_SYMBOL:
            	{
            		alt515=5;
            	}
                break;
            case RESET_SYMBOL:
            	{
            		alt515=6;
            	}
                break;

            default:
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                EXCEPTION->message      = (void *)"";
                EXCEPTION->decisionNum  = 515;
                EXCEPTION->state        = 0;


                goto rulemiscellaneous_statementEx;

            }

            switch (alt515)
            {
        	case 1:
        	    // MySQL.g:1536:2: BINLOG_SYMBOL ^ string_literal
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        BINLOG_SYMBOL1631 = (pANTLR3_COMMON_TOKEN) MATCHT(BINLOG_SYMBOL, &FOLLOW_BINLOG_SYMBOL_in_miscellaneous_statement8483);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemiscellaneous_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        BINLOG_SYMBOL1631_tree = 
        	        (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, BINLOG_SYMBOL1631))
        	        ;
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, BINLOG_SYMBOL1631_tree, root_0));
        	        }

        	        FOLLOWPUSH(FOLLOW_string_literal_in_miscellaneous_statement8486);
        	        string_literal1632=string_literal(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemiscellaneous_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_literal1632.tree);

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:1537:4: CACHE_SYMBOL ^ INDEX_SYMBOL key_cache_list_or_parts IN_SYMBOL ( identifier | DEFAULT_SYMBOL )
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        CACHE_SYMBOL1633 = (pANTLR3_COMMON_TOKEN) MATCHT(CACHE_SYMBOL, &FOLLOW_CACHE_SYMBOL_in_miscellaneous_statement8491);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemiscellaneous_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CACHE_SYMBOL1633_tree = 
        	        (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CACHE_SYMBOL1633))
        	        ;
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, CACHE_SYMBOL1633_tree, root_0));
        	        }

        	        INDEX_SYMBOL1634 = (pANTLR3_COMMON_TOKEN) MATCHT(INDEX_SYMBOL, &FOLLOW_INDEX_SYMBOL_in_miscellaneous_statement8494);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemiscellaneous_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        INDEX_SYMBOL1634_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INDEX_SYMBOL1634));
        	        ADAPTOR->addChild(ADAPTOR, root_0, INDEX_SYMBOL1634_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_key_cache_list_or_parts_in_miscellaneous_statement8496);
        	        key_cache_list_or_parts1635=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_parts1635.tree);

        	        IN_SYMBOL1636 = (pANTLR3_COMMON_TOKEN) MATCHT(IN_SYMBOL, &FOLLOW_IN_SYMBOL_in_miscellaneous_statement8498);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemiscellaneous_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        IN_SYMBOL1636_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, IN_SYMBOL1636));
        	        ADAPTOR->addChild(ADAPTOR, root_0, IN_SYMBOL1636_tree);
        	        }

        	        // MySQL.g:1537:65: ( identifier | DEFAULT_SYMBOL )
        	        {
        	            int alt510=2;
        	            {
        	                int LA510_0 = LA(1);
        	                if ( (LA510_0 == BACK_TICK_QUOTED_ID || LA510_0 == IDENTIFIER))
        	                {
        	                    alt510=1;
        	                }
        	                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA510_0 == DOUBLE_QUOTED_TEXT))
        	                {
        	                    alt510=1;
        	                }
        	                else if ( (((LA510_0 >= ACTION_SYMBOL) && (LA510_0 <= PARTITION_SYMBOL))))
        	                {
        	                    alt510=1;
        	                }
        	                else if ( (LA510_0 == DEFAULT_SYMBOL))
        	                {
        	                    alt510=2;
        	                }
        	                else
        	                {
        	                    if (BACKTRACKING>0)
        	                    {
        	                        FAILEDFLAG = ANTLR3_TRUE;
        	                        return retval;
        	                    }


        	                    CONSTRUCTEX();
        	                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                    EXCEPTION->message      = (void *)"";
        	                    EXCEPTION->decisionNum  = 510;
        	                    EXCEPTION->state        = 0;


        	                    goto rulemiscellaneous_statementEx;

        	                }
        	            }
        	            switch (alt510)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1537:66: identifier
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_identifier_in_miscellaneous_statement8501);
        	        	        identifier1637=identifier(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulemiscellaneous_statementEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier1637.tree);

        	        	    }
        	        	    break;
        	        	case 2:
        	        	    // MySQL.g:1537:79: DEFAULT_SYMBOL
        	        	    {
        	        	        DEFAULT_SYMBOL1638 = (pANTLR3_COMMON_TOKEN) MATCHT(DEFAULT_SYMBOL, &FOLLOW_DEFAULT_SYMBOL_in_miscellaneous_statement8505);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulemiscellaneous_statementEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        DEFAULT_SYMBOL1638_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DEFAULT_SYMBOL1638));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, DEFAULT_SYMBOL1638_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 3:
        	    // MySQL.g:1538:4: FLUSH_SYMBOL ^ ( no_write_to_bin_log )? flush_option ( COMMA_SYMBOL flush_option )*
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FLUSH_SYMBOL1639 = (pANTLR3_COMMON_TOKEN) MATCHT(FLUSH_SYMBOL, &FOLLOW_FLUSH_SYMBOL_in_miscellaneous_statement8511);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemiscellaneous_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        FLUSH_SYMBOL1639_tree = 
        	        (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, FLUSH_SYMBOL1639))
        	        ;
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, FLUSH_SYMBOL1639_tree, root_0));
        	        }

        	        // MySQL.g:1538:18: ( no_write_to_bin_log )?
        	        {
        	            int alt511=2;
        	            {
        	                int LA511_0 = LA(1);
        	                if ( ((LA(1) == LOCAL_SYMBOL)) && (LA511_0 == LOCAL_SYMBOL))
        	                {
        	                    alt511=1;
        	                }
        	                else if ( (LA511_0 == NO_WRITE_TO_BINLOG_SYMBOL))
        	                {
        	                    alt511=1;
        	                }
        	            }
        	            switch (alt511)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1538:18: no_write_to_bin_log
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_no_write_to_bin_log_in_miscellaneous_statement8514);
        	        	        no_write_to_bin_log1640=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_log1640.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	        FOLLOWPUSH(FOLLOW_flush_option_in_miscellaneous_statement8517);
        	        flush_option1641=flush_option(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemiscellaneous_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, flush_option1641.tree);

        	        // MySQL.g:1538:52: ( COMMA_SYMBOL flush_option )*

        	        for (;;)
        	        {
        	            int alt512=2;
        	            switch ( LA(1) )
        	            {
        	            case COMMA_SYMBOL:
        	            	{
        	            		alt512=1;
        	            	}
        	                break;

        	            }

        	            switch (alt512)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1538:53: COMMA_SYMBOL flush_option
        	        	    {
        	        	        COMMA_SYMBOL1642 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_miscellaneous_statement8520);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulemiscellaneous_statementEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        COMMA_SYMBOL1642_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL1642));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL1642_tree);
        	        	        }

        	        	        FOLLOWPUSH(FOLLOW_flush_option_in_miscellaneous_statement8522);
        	        	        flush_option1643=flush_option(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulemiscellaneous_statementEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, flush_option1643.tree);

        	        	    }
        	        	    break;

        	        	default:
        	        	    goto loop512;	/* break out of the loop */
        	        	    break;
        	            }
        	        }
        	        loop512: ; /* Jump out to here if this rule does not match */


        	    }
        	    break;
        	case 4:
        	    // MySQL.g:1539:4: KILL_SYMBOL ^ ( CONNECTION_SYMBOL | QUERY_SYMBOL )? INTEGER
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        KILL_SYMBOL1644 = (pANTLR3_COMMON_TOKEN) MATCHT(KILL_SYMBOL, &FOLLOW_KILL_SYMBOL_in_miscellaneous_statement8529);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemiscellaneous_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        KILL_SYMBOL1644_tree = 
        	        (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, KILL_SYMBOL1644))
        	        ;
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, KILL_SYMBOL1644_tree, root_0));
        	        }

        	        // MySQL.g:1539:17: ( CONNECTION_SYMBOL | QUERY_SYMBOL )?
        	        {
        	            int alt513=2;
        	            switch ( LA(1) )
        	            {
        	                case CONNECTION_SYMBOL:
        	                case QUERY_SYMBOL:
        	                	{
        	                		alt513=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt513)
        	            {
        	        	case 1:
        	        	    // MySQL.g:
        	        	    {
        	        	        set1645=(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, set1645))
        	        	            );
        	        	            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;

        	            }
        	        }

        	        INTEGER1646 = (pANTLR3_COMMON_TOKEN) MATCHT(INTEGER, &FOLLOW_INTEGER_in_miscellaneous_statement8541);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemiscellaneous_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        INTEGER1646_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INTEGER1646));
        	        ADAPTOR->addChild(ADAPTOR, root_0, INTEGER1646_tree);
        	        }

        	    }
        	    break;
        	case 5:
        	    // MySQL.g:1540:4: LOAD_SYMBOL ^ INDEX_SYMBOL INTO_SYMBOL CACHE_SYMBOL load_table_index_list
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        LOAD_SYMBOL1647 = (pANTLR3_COMMON_TOKEN) MATCHT(LOAD_SYMBOL, &FOLLOW_LOAD_SYMBOL_in_miscellaneous_statement8546);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemiscellaneous_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        LOAD_SYMBOL1647_tree = 
        	        (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, LOAD_SYMBOL1647))
        	        ;
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, LOAD_SYMBOL1647_tree, root_0));
        	        }

        	        INDEX_SYMBOL1648 = (pANTLR3_COMMON_TOKEN) MATCHT(INDEX_SYMBOL, &FOLLOW_INDEX_SYMBOL_in_miscellaneous_statement8549);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemiscellaneous_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        INDEX_SYMBOL1648_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INDEX_SYMBOL1648));
        	        ADAPTOR->addChild(ADAPTOR, root_0, INDEX_SYMBOL1648_tree);
        	        }

        	        INTO_SYMBOL1649 = (pANTLR3_COMMON_TOKEN) MATCHT(INTO_SYMBOL, &FOLLOW_INTO_SYMBOL_in_miscellaneous_statement8551);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemiscellaneous_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        INTO_SYMBOL1649_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INTO_SYMBOL1649));
        	        ADAPTOR->addChild(ADAPTOR, root_0, INTO_SYMBOL1649_tree);
        	        }

        	        CACHE_SYMBOL1650 = (pANTLR3_COMMON_TOKEN) MATCHT(CACHE_SYMBOL, &FOLLOW_CACHE_SYMBOL_in_miscellaneous_statement8553);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemiscellaneous_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CACHE_SYMBOL1650_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CACHE_SYMBOL1650));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CACHE_SYMBOL1650_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_load_table_index_list_in_miscellaneous_statement8555);
        	        load_table_index_list1651=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_list1651.tree);

        	    }
        	    break;
        	case 6:
        	    // MySQL.g:1541:4: RESET_SYMBOL ^ reset_option ( COMMA_SYMBOL reset_option )*
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        RESET_SYMBOL1652 = (pANTLR3_COMMON_TOKEN) MATCHT(RESET_SYMBOL, &FOLLOW_RESET_SYMBOL_in_miscellaneous_statement8560);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemiscellaneous_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        RESET_SYMBOL1652_tree = 
        	        (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, RESET_SYMBOL1652))
        	        ;
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, RESET_SYMBOL1652_tree, root_0));
        	        }

        	        FOLLOWPUSH(FOLLOW_reset_option_in_miscellaneous_statement8563);
        	        reset_option1653=reset_option(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemiscellaneous_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, reset_option1653.tree);

        	        // MySQL.g:1541:31: ( COMMA_SYMBOL reset_option )*

        	        for (;;)
        	        {
        	            int alt514=2;
        	            switch ( LA(1) )
        	            {
        	            case COMMA_SYMBOL:
        	            	{
        	            		alt514=1;
        	            	}
        	                break;

        	            }

        	            switch (alt514)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1541:32: COMMA_SYMBOL reset_option
        	        	    {
        	        	        COMMA_SYMBOL1654 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_miscellaneous_statement8566);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulemiscellaneous_statementEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        COMMA_SYMBOL1654_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL1654));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL1654_tree);
        	        	        }

        	        	        FOLLOWPUSH(FOLLOW_reset_option_in_miscellaneous_statement8568);
        	        	        reset_option1655=reset_option(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulemiscellaneous_statementEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, reset_option1655.tree);

        	        	    }
        	        	    break;

        	        	default:
        	        	    goto loop514;	/* break out of the loop */
        	        	    break;
        	            }
        	        }
        	        loop514: ; /* 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:1544:1: key_cache_list_or_parts options {k=4; } : ( key_cache_list -> ^( KEY_CACHE_LIST key_cache_list ) | assign_to_keycache_partition -> ^( KEY_CACHE_PARTITION 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_list1656;
    #undef	RETURN_TYPE_key_cache_list1656
    #define	RETURN_TYPE_key_cache_list1656 MySQLParser_key_cache_list_return

    MySQLParser_assign_to_keycache_partition_return assign_to_keycache_partition1657;
    #undef	RETURN_TYPE_assign_to_keycache_partition1657
    #define	RETURN_TYPE_assign_to_keycache_partition1657 MySQLParser_assign_to_keycache_partition_return

    pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_key_cache_list;
    pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_assign_to_keycache_partition;
    /* Initialize rule variables
     */

    root_0 = NULL;

    key_cache_list1656.tree = NULL;

    assign_to_keycache_partition1657.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;



    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"); }
    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"); }

    retval.tree  = NULL;

    {
        {
            //  MySQL.g:1544:43: ( key_cache_list -> ^( KEY_CACHE_LIST key_cache_list ) | assign_to_keycache_partition -> ^( KEY_CACHE_PARTITION assign_to_keycache_partition ) )

            ANTLR3_UINT32 alt516;

            alt516=2;

            {
                int LA516_0 = LA(1);
                if ( (LA516_0 == IDENTIFIER))
                {
                    switch ( LA(2) )
                    {
                    case DOT_SYMBOL:
                    	{
                    		{
                    		    int LA516_8 = LA(3);
                    		    if ( (LA516_8 == IDENTIFIER))
                    		    {
                    		        switch ( LA(4) )
                    		        {
                    		        case COMMA_SYMBOL:
                    		        case INDEX_SYMBOL:
                    		        case IN_SYMBOL:
                    		        case KEY_SYMBOL:
                    		        	{
                    		        		alt516=1;
                    		        	}
                    		            break;
                    		        case PARTITION_SYMBOL:
                    		        	{
                    		        		alt516=2;
                    		        	}
                    		            break;

                    		        default:
                    		            if (BACKTRACKING>0)
                    		            {
                    		                FAILEDFLAG = ANTLR3_TRUE;
                    		                return retval;
                    		            }

                    		            CONSTRUCTEX();
                    		            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    		            EXCEPTION->message      = (void *)"";
                    		            EXCEPTION->decisionNum  = 516;
                    		            EXCEPTION->state        = 44;


                    		            goto rulekey_cache_list_or_partsEx;

                    		        }

                    		    }
                    		    else if ( (LA516_8 == BACK_TICK_QUOTED_ID))
                    		    {
                    		        switch ( LA(4) )
                    		        {
                    		        case COMMA_SYMBOL:
                    		        case INDEX_SYMBOL:
                    		        case IN_SYMBOL:
                    		        case KEY_SYMBOL:
                    		        	{
                    		        		alt516=1;
                    		        	}
                    		            break;
                    		        case PARTITION_SYMBOL:
                    		        	{
                    		        		alt516=2;
                    		        	}
                    		            break;

                    		        default:
                    		            if (BACKTRACKING>0)
                    		            {
                    		                FAILEDFLAG = ANTLR3_TRUE;
                    		                return retval;
                    		            }

                    		            CONSTRUCTEX();
                    		            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    		            EXCEPTION->message      = (void *)"";
                    		            EXCEPTION->decisionNum  = 516;
                    		            EXCEPTION->state        = 45;


                    		            goto rulekey_cache_list_or_partsEx;

                    		        }

                    		    }
                    		    else if ( (LA516_8 == DOUBLE_QUOTED_TEXT))
                    		    {
                    		        switch ( LA(4) )
                    		        {
                    		        case COMMA_SYMBOL:
                    		        case INDEX_SYMBOL:
                    		        case IN_SYMBOL:
                    		        case KEY_SYMBOL:
                    		        	{
                    		        		alt516=1;
                    		        	}
                    		            break;
                    		        case PARTITION_SYMBOL:
                    		        	{
                    		        		alt516=2;
                    		        	}
                    		            break;

                    		        default:
                    		            if (BACKTRACKING>0)
                    		            {
                    		                FAILEDFLAG = ANTLR3_TRUE;
                    		                return retval;
                    		            }

                    		            CONSTRUCTEX();
                    		            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    		            EXCEPTION->message      = (void *)"";
                    		            EXCEPTION->decisionNum  = 516;
                    		            EXCEPTION->state        = 46;


                    		            goto rulekey_cache_list_or_partsEx;

                    		        }

                    		    }
                    		    else if ( (((LA516_8 >= ACTION_SYMBOL) && (LA516_8 <= YEAR_SYMBOL))))
                    		    {
                    		        switch ( LA(4) )
                    		        {
                    		        case COMMA_SYMBOL:
                    		        case INDEX_SYMBOL:
                    		        case IN_SYMBOL:
                    		        case KEY_SYMBOL:
                    		        	{
                    		        		alt516=1;
                    		        	}
                    		            break;
                    		        case PARTITION_SYMBOL:
                    		        	{
                    		        		alt516=2;
                    		        	}
                    		            break;

                    		        default:
                    		            if (BACKTRACKING>0)
                    		            {
                    		                FAILEDFLAG = ANTLR3_TRUE;
                    		                return retval;
                    		            }

                    		            CONSTRUCTEX();
                    		            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    		            EXCEPTION->message      = (void *)"";
                    		            EXCEPTION->decisionNum  = 516;
                    		            EXCEPTION->state        = 47;


                    		            goto rulekey_cache_list_or_partsEx;

                    		        }

                    		    }
                    		    else if ( (LA516_8 == PARTITION_SYMBOL))
                    		    {
                    		        switch ( LA(4) )
                    		        {
                    		        case COMMA_SYMBOL:
                    		        case INDEX_SYMBOL:
                    		        case IN_SYMBOL:
                    		        case KEY_SYMBOL:
                    		        	{
                    		        		alt516=1;
                    		        	}
                    		            break;
                    		        case PARTITION_SYMBOL:
                    		        	{
                    		        		alt516=2;
                    		        	}
                    		            break;

                    		        default:
                    		            if (BACKTRACKING>0)
                    		            {
                    		                FAILEDFLAG = ANTLR3_TRUE;
                    		                return retval;
                    		            }

                    		            CONSTRUCTEX();
                    		            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    		            EXCEPTION->message      = (void *)"";
                    		            EXCEPTION->decisionNum  = 516;
                    		            EXCEPTION->state        = 48;


                    		            goto rulekey_cache_list_or_partsEx;

                    		        }

                    		    }
                    		    else if ( (((LA516_8 >= ASCII_SYMBOL) && (LA516_8 <= XA_SYMBOL))))
                    		    {
                    		        switch ( LA(4) )
                    		        {
                    		        case COMMA_SYMBOL:
                    		        case INDEX_SYMBOL:
                    		        case IN_SYMBOL:
                    		        case KEY_SYMBOL:
                    		        	{
                    		        		alt516=1;
                    		        	}
                    		            break;
                    		        case PARTITION_SYMBOL:
                    		        	{
                    		        		alt516=2;
                    		        	}
                    		            break;

                    		        default:
                    		            if (BACKTRACKING>0)
                    		            {
                    		                FAILEDFLAG = ANTLR3_TRUE;
                    		                return retval;
                    		            }

                    		            CONSTRUCTEX();
                    		            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    		            EXCEPTION->message      = (void *)"";
                    		            EXCEPTION->decisionNum  = 516;
                    		            EXCEPTION->state        = 49;


                    		            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  = 516;
                    		        EXCEPTION->state        = 8;


                    		        goto rulekey_cache_list_or_partsEx;

                    		    }
                    		}
                    	}
                        break;
                    case COMMA_SYMBOL:
                    case INDEX_SYMBOL:
                    case IN_SYMBOL:
                    case KEY_SYMBOL:
                    	{
                    		alt516=1;
                    	}
                        break;
                    case PARTITION_SYMBOL:
                    	{
                    		alt516=2;
                    	}
                        break;

                    default:
                        if (BACKTRACKING>0)
                        {
                            FAILEDFLAG = ANTLR3_TRUE;
                            return retval;
                        }

                        CONSTRUCTEX();
                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                        EXCEPTION->message      = (void *)"";
                        EXCEPTION->decisionNum  = 516;
                        EXCEPTION->state        = 1;


                        goto rulekey_cache_list_or_partsEx;

                    }

                }
                else if ( (LA516_0 == BACK_TICK_QUOTED_ID))
                {
                    switch ( LA(2) )
                    {
                    case DOT_SYMBOL:
                    	{
                    		{
                    		    int LA516_13 = LA(3);
                    		    if ( (LA516_13 == IDENTIFIER))
                    		    {
                    		        switch ( LA(4) )
                    		        {
                    		        case COMMA_SYMBOL:
                    		        case INDEX_SYMBOL:
                    		        case IN_SYMBOL:
                    		        case KEY_SYMBOL:
                    		        	{
                    		        		alt516=1;
                    		        	}
                    		            break;
                    		        case PARTITION_SYMBOL:
                    		        	{
                    		        		alt516=2;
                    		        	}
                    		            break;

                    		        default:
                    		            if (BACKTRACKING>0)
                    		            {
                    		                FAILEDFLAG = ANTLR3_TRUE;
                    		                return retval;
                    		            }

                    		            CONSTRUCTEX();
                    		            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    		            EXCEPTION->message      = (void *)"";
                    		            EXCEPTION->decisionNum  = 516;
                    		            EXCEPTION->state        = 50;


                    		            goto rulekey_cache_list_or_partsEx;

                    		        }

                    		    }
                    		    else if ( (LA516_13 == BACK_TICK_QUOTED_ID))
                    		    {
                    		        switch ( LA(4) )
                    		        {
                    		        case COMMA_SYMBOL:
                    		        case INDEX_SYMBOL:
                    		        case IN_SYMBOL:
                    		        case KEY_SYMBOL:
                    		        	{
                    		        		alt516=1;
                    		        	}
                    		            break;
                    		        case PARTITION_SYMBOL:
                    		        	{
                    		        		alt516=2;
                    		        	}
                    		            break;

                    		        default:
                    		            if (BACKTRACKING>0)
                    		            {
                    		                FAILEDFLAG = ANTLR3_TRUE;
                    		                return retval;
                    		            }

                    		            CONSTRUCTEX();
                    		            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    		            EXCEPTION->message      = (void *)"";
                    		            EXCEPTION->decisionNum  = 516;
                    		            EXCEPTION->state        = 51;


                    		            goto rulekey_cache_list_or_partsEx;

                    		        }

                    		    }
                    		    else if ( (LA516_13 == DOUBLE_QUOTED_TEXT))
                    		    {
                    		        switch ( LA(4) )
                    		        {
                    		        case COMMA_SYMBOL:
                    		        case INDEX_SYMBOL:
                    		        case IN_SYMBOL:
                    		        case KEY_SYMBOL:
                    		        	{
                    		        		alt516=1;
                    		        	}
                    		            break;
                    		        case PARTITION_SYMBOL:
                    		        	{
                    		        		alt516=2;
                    		        	}
                    		            break;

                    		        default:
                    		            if (BACKTRACKING>0)
                    		            {
                    		                FAILEDFLAG = ANTLR3_TRUE;
                    		                return retval;
                    		            }

                    		            CONSTRUCTEX();
                    		            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    		            EXCEPTION->message      = (void *)"";
                    		            EXCEPTION->decisionNum  = 516;
                    		            EXCEPTION->state        = 52;


                    		            goto rulekey_cache_list_or_partsEx;

                    		        }

                    		    }
                    		    else if ( (((LA516_13 >= ACTION_SYMBOL) && (LA516_13 <= YEAR_SYMBOL))))
                    		    {
                    		        switch ( LA(4) )
                    		        {
                    		        case COMMA_SYMBOL:
                    		        case INDEX_SYMBOL:
                    		        case IN_SYMBOL:
                    		        case KEY_SYMBOL:
                    		        	{
                    		        		alt516=1;
                    		        	}
                    		            break;
                    		        case PARTITION_SYMBOL:
                    		        	{
                    		        		alt516=2;
                    		        	}
                    		            break;

                    		        default:
                    		            if (BACKTRACKING>0)
                    		            {
                    		                FAILEDFLAG = ANTLR3_TRUE;
                    		                return retval;
                    		            }

                    		            CONSTRUCTEX();
                    		            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    		            EXCEPTION->message      = (void *)"";
                    		            EXCEPTION->decisionNum  = 516;
                    		            EXCEPTION->state        = 53;


                    		            goto rulekey_cache_list_or_partsEx;

                    		        }

                    		    }
                    		    else if ( (LA516_13 == PARTITION_SYMBOL))
                    		    {
                    		        switch ( LA(4) )
                    		        {
                    		        case COMMA_SYMBOL:
                    		        case INDEX_SYMBOL:
                    		        case IN_SYMBOL:
                    		        case KEY_SYMBOL:
                    		        	{
                    		        		alt516=1;
                    		        	}
                    		            break;
                    		        case PARTITION_SYMBOL:
                    		        	{
                    		        		alt516=2;
                    		        	}
                    		            break;

                    		        default:
                    		            if (BACKTRACKING>0)
                    		            {
                    		                FAILEDFLAG = ANTLR3_TRUE;
                    		                return retval;
                    		            }

                    		            CONSTRUCTEX();
                    		            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    		            EXCEPTION->message      = (void *)"";
                    		            EXCEPTION->decisionNum  = 516;
                    		            EXCEPTION->state        = 54;


                    		            goto rulekey_cache_list_or_partsEx;

                    		        }

                    		    }
                    		    else if ( (((LA516_13 >= ASCII_SYMBOL) && (LA516_13 <= XA_SYMBOL))))
                    		    {
                    		        switch ( LA(4) )
                    		        {
                    		        case COMMA_SYMBOL:
                    		        case INDEX_SYMBOL:
                    		        case IN_SYMBOL:
                    		        case KEY_SYMBOL:
                    		        	{
                    		        		alt516=1;
                    		        	}
                    		            break;
                    		        case PARTITION_SYMBOL:
                    		        	{
                    		        		alt516=2;
                    		        	}
                    		            break;

                    		        default:
                    		            if (BACKTRACKING>0)
                    		            {
                    		                FAILEDFLAG = ANTLR3_TRUE;
                    		                return retval;
                    		            }

                    		            CONSTRUCTEX();
                    		            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    		            EXCEPTION->message      = (void *)"";
                    		            EXCEPTION->decisionNum  = 516;
                    		            EXCEPTION->state        = 55;


                    		            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  = 516;
                    		        EXCEPTION->state        = 13;


                    		        goto rulekey_cache_list_or_partsEx;

                    		    }
                    		}
                    	}
                        break;
                    case COMMA_SYMBOL:
                    case INDEX_SYMBOL:
                    case IN_SYMBOL:
                    case KEY_SYMBOL:
                    	{
                    		alt516=1;
                    	}
                        break;
                    case PARTITION_SYMBOL:
                    	{
                    		alt516=2;
                    	}
                        break;

                    default:
                        if (BACKTRACKING>0)
                        {
                            FAILEDFLAG = ANTLR3_TRUE;
                            return retval;
                        }

                        CONSTRUCTEX();
                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                        EXCEPTION->message      = (void *)"";
                        EXCEPTION->decisionNum  = 516;
                        EXCEPTION->state        = 2;


                        goto rulekey_cache_list_or_partsEx;

                    }

                }
                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA516_0 == DOUBLE_QUOTED_TEXT))
                {
                    {
                        int LA516_3 = LA(2);
                        if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA516_3 == DOT_SYMBOL))
                        {
                            {
                                int LA516_18 = LA(3);
                                if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA516_18 == IDENTIFIER))
                                {
                                    {
                                        int LA516_56 = LA(4);
                                        if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA516_56 == COMMA_SYMBOL || LA516_56 == INDEX_SYMBOL || LA516_56 == IN_SYMBOL || LA516_56 == KEY_SYMBOL))
                                        {
                                            alt516=1;
                                        }
                                        else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA516_56 == PARTITION_SYMBOL))
                                        {
                                            alt516=2;
                                        }
                                        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        = 56;


                                            goto rulekey_cache_list_or_partsEx;

                                        }
                                    }
                                }
                                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA516_18 == BACK_TICK_QUOTED_ID))
                                {
                                    {
                                        int LA516_57 = LA(4);
                                        if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA516_57 == COMMA_SYMBOL || LA516_57 == INDEX_SYMBOL || LA516_57 == IN_SYMBOL || LA516_57 == KEY_SYMBOL))
                                        {
                                            alt516=1;
                                        }
                                        else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA516_57 == PARTITION_SYMBOL))
                                        {
                                            alt516=2;
                                        }
                                        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        = 57;


                                            goto rulekey_cache_list_or_partsEx;

                                        }
                                    }
                                }
                                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA516_18 == DOUBLE_QUOTED_TEXT))
                                {
                                    {
                                        int LA516_58 = LA(4);
                                        if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA516_58 == COMMA_SYMBOL || LA516_58 == INDEX_SYMBOL || LA516_58 == IN_SYMBOL || LA516_58 == KEY_SYMBOL))
                                        {
                                            alt516=1;
                                        }
                                        else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA516_58 == PARTITION_SYMBOL))
                                        {
                                            alt516=2;
                                        }
                                        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        = 58;


                                            goto rulekey_cache_list_or_partsEx;

                                        }
                                    }
                                }
                                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (((LA516_18 >= ACTION_SYMBOL) && (LA516_18 <= YEAR_SYMBOL))))
                                {
                                    {
                                        int LA516_59 = LA(4);
                                        if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA516_59 == COMMA_SYMBOL || LA516_59 == INDEX_SYMBOL || LA516_59 == IN_SYMBOL || LA516_59 == KEY_SYMBOL))
                                        {
                                            alt516=1;
                                        }
                                        else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA516_59 == PARTITION_SYMBOL))
                                        {
                                            alt516=2;
                                        }
                                        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        = 59;


                                            goto rulekey_cache_list_or_partsEx;

                                        }
                                    }
                                }
                                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA516_18 == PARTITION_SYMBOL))
                                {
                                    {
                                        int LA516_60 = LA(4);
                                        if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA516_60 == COMMA_SYMBOL || LA516_60 == INDEX_SYMBOL || LA516_60 == IN_SYMBOL || LA516_60 == KEY_SYMBOL))
                                        {
                                            alt516=1;
                                        }
                                        else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA516_60 == PARTITION_SYMBOL))
                                        {
                                            alt516=2;
                                        }
                                        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        = 60;


                                            goto rulekey_cache_list_or_partsEx;

                                        }
                                    }
                                }
                                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (((LA516_18 >= ASCII_SYMBOL) && (LA516_18 <= XA_SYMBOL))))
                                {
                                    {
                                        int LA516_61 = LA(4);
                                        if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA516_61 == COMMA_SYMBOL || LA516_61 == INDEX_SYMBOL || LA516_61 == IN_SYMBOL || LA516_61 == KEY_SYMBOL))
                                        {
                                            alt516=1;
                                        }
                                        else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA516_61 == PARTITION_SYMBOL))
                                        {
                                            alt516=2;
                                        }
                                        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        = 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  = 516;
                                    EXCEPTION->state        = 18;


                                    goto rulekey_cache_list_or_partsEx;

                                }
                            }
                        }
                        else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA516_3 == COMMA_SYMBOL || LA516_3 == INDEX_SYMBOL || LA516_3 == IN_SYMBOL || LA516_3 == KEY_SYMBOL))
                        {
                            alt516=1;
                        }
                        else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA516_3 == PARTITION_SYMBOL))
                        {
                            alt516=2;
                        }
                        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        = 3;


                            goto rulekey_cache_list_or_partsEx;

                        }
                    }
                }
                else if ( (((LA516_0 >= ACTION_SYMBOL) && (LA516_0 <= YEAR_SYMBOL))))
                {
                    switch ( LA(2) )
                    {
                    case DOT_SYMBOL:
                    	{
                    		{
                    		    int LA516_23 = LA(3);
                    		    if ( (LA516_23 == IDENTIFIER))
                    		    {
                    		        switch ( LA(4) )
                    		        {
                    		        case COMMA_SYMBOL:
                    		        case INDEX_SYMBOL:
                    		        case IN_SYMBOL:
                    		        case KEY_SYMBOL:
                    		        	{
                    		        		alt516=1;
                    		        	}
                    		            break;
                    		        case PARTITION_SYMBOL:
                    		        	{
                    		        		alt516=2;
                    		        	}
                    		            break;

                    		        default:
                    		            if (BACKTRACKING>0)
                    		            {
                    		                FAILEDFLAG = ANTLR3_TRUE;
                    		                return retval;
                    		            }

                    		            CONSTRUCTEX();
                    		            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    		            EXCEPTION->message      = (void *)"";
                    		            EXCEPTION->decisionNum  = 516;
                    		            EXCEPTION->state        = 62;


                    		            goto rulekey_cache_list_or_partsEx;

                    		        }

                    		    }
                    		    else if ( (LA516_23 == BACK_TICK_QUOTED_ID))
                    		    {
                    		        switch ( LA(4) )
                    		        {
                    		        case COMMA_SYMBOL:
                    		        case INDEX_SYMBOL:
                    		        case IN_SYMBOL:
                    		        case KEY_SYMBOL:
                    		        	{
                    		        		alt516=1;
                    		        	}
                    		            break;
                    		        case PARTITION_SYMBOL:
                    		        	{
                    		        		alt516=2;
                    		        	}
                    		            break;

                    		        default:
                    		            if (BACKTRACKING>0)
                    		            {
                    		                FAILEDFLAG = ANTLR3_TRUE;
                    		                return retval;
                    		            }

                    		            CONSTRUCTEX();
                    		            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    		            EXCEPTION->message      = (void *)"";
                    		            EXCEPTION->decisionNum  = 516;
                    		            EXCEPTION->state        = 63;


                    		            goto rulekey_cache_list_or_partsEx;

                    		        }

                    		    }
                    		    else if ( (LA516_23 == DOUBLE_QUOTED_TEXT))
                    		    {
                    		        switch ( LA(4) )
                    		        {
                    		        case COMMA_SYMBOL:
                    		        case INDEX_SYMBOL:
                    		        case IN_SYMBOL:
                    		        case KEY_SYMBOL:
                    		        	{
                    		        		alt516=1;
                    		        	}
                    		            break;
                    		        case PARTITION_SYMBOL:
                    		        	{
                    		        		alt516=2;
                    		        	}
                    		            break;

                    		        default:
                    		            if (BACKTRACKING>0)
                    		            {
                    		                FAILEDFLAG = ANTLR3_TRUE;
                    		                return retval;
                    		            }

                    		            CONSTRUCTEX();
                    		            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    		            EXCEPTION->message      = (void *)"";
                    		            EXCEPTION->decisionNum  = 516;
                    		            EXCEPTION->state        = 64;


                    		            goto rulekey_cache_list_or_partsEx;

                    		        }

                    		    }
                    		    else if ( (((LA516_23 >= ACTION_SYMBOL) && (LA516_23 <= YEAR_SYMBOL))))
                    		    {
                    		        switch ( LA(4) )
                    		        {
                    		        case COMMA_SYMBOL:
                    		        case INDEX_SYMBOL:
                    		        case IN_SYMBOL:
                    		        case KEY_SYMBOL:
                    		        	{
                    		        		alt516=1;
                    		        	}
                    		            break;
                    		        case PARTITION_SYMBOL:
                    		        	{
                    		        		alt516=2;
                    		        	}
                    		            break;

                    		        default:
                    		            if (BACKTRACKING>0)
                    		            {
                    		                FAILEDFLAG = ANTLR3_TRUE;
                    		                return retval;
                    		            }

                    		            CONSTRUCTEX();
                    		            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    		            EXCEPTION->message      = (void *)"";
                    		            EXCEPTION->decisionNum  = 516;
                    		            EXCEPTION->state        = 65;


                    		            goto rulekey_cache_list_or_partsEx;

                    		        }

                    		    }
                    		    else if ( (LA516_23 == PARTITION_SYMBOL))
                    		    {
                    		        switch ( LA(4) )
                    		        {
                    		        case COMMA_SYMBOL:
                    		        case INDEX_SYMBOL:
                    		        case IN_SYMBOL:
                    		        case KEY_SYMBOL:
                    		        	{
                    		        		alt516=1;
                    		        	}
                    		            break;
                    		        case PARTITION_SYMBOL:
                    		        	{
                    		        		alt516=2;
                    		        	}
                    		            break;

                    		        default:
                    		            if (BACKTRACKING>0)
                    		            {
                    		                FAILEDFLAG = ANTLR3_TRUE;
                    		                return retval;
                    		            }

                    		            CONSTRUCTEX();
                    		            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    		            EXCEPTION->message      = (void *)"";
                    		            EXCEPTION->decisionNum  = 516;
                    		            EXCEPTION->state        = 66;


                    		            goto rulekey_cache_list_or_partsEx;

                    		        }

                    		    }
                    		    else if ( (((LA516_23 >= ASCII_SYMBOL) && (LA516_23 <= XA_SYMBOL))))
                    		    {
                    		        switch ( LA(4) )
                    		        {
                    		        case COMMA_SYMBOL:
                    		        case INDEX_SYMBOL:
                    		        case IN_SYMBOL:
                    		        case KEY_SYMBOL:
                    		        	{
                    		        		alt516=1;
                    		        	}
                    		            break;
                    		        case PARTITION_SYMBOL:
                    		        	{
                    		        		alt516=2;
                    		        	}
                    		            break;

                    		        default:
                    		            if (BACKTRACKING>0)
                    		            {
                    		                FAILEDFLAG = ANTLR3_TRUE;
                    		                return retval;
                    		            }

                    		            CONSTRUCTEX();
                    		            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    		            EXCEPTION->message      = (void *)"";
                    		            EXCEPTION->decisionNum  = 516;
                    		            EXCEPTION->state        = 67;


                    		            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  = 516;
                    		        EXCEPTION->state        = 23;


                    		        goto rulekey_cache_list_or_partsEx;

                    		    }
                    		}
                    	}
                        break;
                    case COMMA_SYMBOL:
                    case INDEX_SYMBOL:
                    case IN_SYMBOL:
                    case KEY_SYMBOL:
                    	{
                    		alt516=1;
                    	}
                        break;
                    case PARTITION_SYMBOL:
                    	{
                    		alt516=2;
                    	}
                        break;

                    default:
                        if (BACKTRACKING>0)
                        {
                            FAILEDFLAG = ANTLR3_TRUE;
                            return retval;
                        }

                        CONSTRUCTEX();
                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                        EXCEPTION->message      = (void *)"";
                        EXCEPTION->decisionNum  = 516;
                        EXCEPTION->state        = 4;


                        goto rulekey_cache_list_or_partsEx;

                    }

                }
                else if ( (LA516_0 == PARTITION_SYMBOL))
                {
                    switch ( LA(2) )
                    {
                    case DOT_SYMBOL:
                    	{
                    		{
                    		    int LA516_28 = LA(3);
                    		    if ( (LA516_28 == IDENTIFIER))
                    		    {
                    		        switch ( LA(4) )
                    		        {
                    		        case COMMA_SYMBOL:
                    		        case INDEX_SYMBOL:
                    		        case IN_SYMBOL:
                    		        case KEY_SYMBOL:
                    		        	{
                    		        		alt516=1;
                    		        	}
                    		            break;
                    		        case PARTITION_SYMBOL:
                    		        	{
                    		        		alt516=2;
                    		        	}
                    		            break;

                    		        default:
                    		            if (BACKTRACKING>0)
                    		            {
                    		                FAILEDFLAG = ANTLR3_TRUE;
                    		                return retval;
                    		            }

                    		            CONSTRUCTEX();
                    		            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    		            EXCEPTION->message      = (void *)"";
                    		            EXCEPTION->decisionNum  = 516;
                    		            EXCEPTION->state        = 68;


                    		            goto rulekey_cache_list_or_partsEx;

                    		        }

                    		    }
                    		    else if ( (LA516_28 == BACK_TICK_QUOTED_ID))
                    		    {
                    		        switch ( LA(4) )
                    		        {
                    		        case COMMA_SYMBOL:
                    		        case INDEX_SYMBOL:
                    		        case IN_SYMBOL:
                    		        case KEY_SYMBOL:
                    		        	{
                    		        		alt516=1;
                    		        	}
                    		            break;
                    		        case PARTITION_SYMBOL:
                    		        	{
                    		        		alt516=2;
                    		        	}
                    		            break;

                    		        default:
                    		            if (BACKTRACKING>0)
                    		            {
                    		                FAILEDFLAG = ANTLR3_TRUE;
                    		                return retval;
                    		            }

                    		            CONSTRUCTEX();
                    		            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    		            EXCEPTION->message      = (void *)"";
                    		            EXCEPTION->decisionNum  = 516;
                    		            EXCEPTION->state        = 69;


                    		            goto rulekey_cache_list_or_partsEx;

                    		        }

                    		    }
                    		    else if ( (LA516_28 == DOUBLE_QUOTED_TEXT))
                    		    {
                    		        switch ( LA(4) )
                    		        {
                    		        case COMMA_SYMBOL:
                    		        case INDEX_SYMBOL:
                    		        case IN_SYMBOL:
                    		        case KEY_SYMBOL:
                    		        	{
                    		        		alt516=1;
                    		        	}
                    		            break;
                    		        case PARTITION_SYMBOL:
                    		        	{
                    		        		alt516=2;
                    		        	}
                    		            break;

                    		        default:
                    		            if (BACKTRACKING>0)
                    		            {
                    		                FAILEDFLAG = ANTLR3_TRUE;
                    		                return retval;
                    		            }

                    		            CONSTRUCTEX();
                    		            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    		            EXCEPTION->message      = (void *)"";
                    		            EXCEPTION->decisionNum  = 516;
                    		            EXCEPTION->state        = 70;


                    		            goto rulekey_cache_list_or_partsEx;

                    		        }

                    		    }
                    		    else if ( (((LA516_28 >= ACTION_SYMBOL) && (LA516_28 <= YEAR_SYMBOL))))
                    		    {
                    		        switch ( LA(4) )
                    		        {
                    		        case COMMA_SYMBOL:
                    		        case INDEX_SYMBOL:
                    		        case IN_SYMBOL:
                    		        case KEY_SYMBOL:
                    		        	{
                    		        		alt516=1;
                    		        	}
                    		            break;
                    		        case PARTITION_SYMBOL:
                    		        	{
                    		        		alt516=2;
                    		        	}
                    		            break;

                    		        default:
                    		            if (BACKTRACKING>0)
                    		            {
                    		                FAILEDFLAG = ANTLR3_TRUE;
                    		                return retval;
                    		            }

                    		            CONSTRUCTEX();
                    		            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    		            EXCEPTION->message      = (void *)"";
                    		            EXCEPTION->decisionNum  = 516;
                    		            EXCEPTION->state        = 71;


                    		            goto rulekey_cache_list_or_partsEx;

                    		        }

                    		    }
                    		    else if ( (LA516_28 == PARTITION_SYMBOL))
                    		    {
                    		        switch ( LA(4) )
                    		        {
                    		        case COMMA_SYMBOL:
                    		        case INDEX_SYMBOL:
                    		        case IN_SYMBOL:
                    		        case KEY_SYMBOL:
                    		        	{
                    		        		alt516=1;
                    		        	}
                    		            break;
                    		        case PARTITION_SYMBOL:
                    		        	{
                    		        		alt516=2;
                    		        	}
                    		            break;

                    		        default:
                    		            if (BACKTRACKING>0)
                    		            {
                    		                FAILEDFLAG = ANTLR3_TRUE;
                    		                return retval;
                    		            }

                    		            CONSTRUCTEX();
                    		            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    		            EXCEPTION->message      = (void *)"";
                    		            EXCEPTION->decisionNum  = 516;
                    		            EXCEPTION->state        = 72;


                    		            goto rulekey_cache_list_or_partsEx;

                    		        }

                    		    }
                    		    else if ( (((LA516_28 >= ASCII_SYMBOL) && (LA516_28 <= XA_SYMBOL))))
                    		    {
                    		        switch ( LA(4) )
                    		        {
                    		        case COMMA_SYMBOL:
                    		        case INDEX_SYMBOL:
                    		        case IN_SYMBOL:
                    		        case KEY_SYMBOL:
                    		        	{
                    		        		alt516=1;
                    		        	}
                    		            break;
                    		        case PARTITION_SYMBOL:
                    		        	{
                    		        		alt516=2;
                    		        	}
                    		            break;

                    		        default:
                    		            if (BACKTRACKING>0)
                    		            {
                    		                FAILEDFLAG = ANTLR3_TRUE;
                    		                return retval;
                    		            }

                    		            CONSTRUCTEX();
                    		            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    		            EXCEPTION->message      = (void *)"";
                    		            EXCEPTION->decisionNum  = 516;
                    		            EXCEPTION->state        = 73;


                    		            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  = 516;
                    		        EXCEPTION->state        = 28;


                    		        goto rulekey_cache_list_or_partsEx;

                    		    }
                    		}
                    	}
                        break;
                    case COMMA_SYMBOL:
                    case INDEX_SYMBOL:
                    case IN_SYMBOL:
                    case KEY_SYMBOL:
                    	{
                    		alt516=1;
                    	}
                        break;
                    case PARTITION_SYMBOL:
                    	{
                    		alt516=2;
                    	}
                        break;

                    default:
                        if (BACKTRACKING>0)
                        {
                            FAILEDFLAG = ANTLR3_TRUE;
                            return retval;
                        }

                        CONSTRUCTEX();
                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                        EXCEPTION->message      = (void *)"";
                        EXCEPTION->decisionNum  = 516;
                        EXCEPTION->state        = 5;


                        goto rulekey_cache_list_or_partsEx;

                    }

                }
                else if ( (((LA516_0 >= ASCII_SYMBOL) && (LA516_0 <= XA_SYMBOL))))
                {
                    switch ( LA(2) )
                    {
                    case DOT_SYMBOL:
                    	{
                    		{
                    		    int LA516_33 = LA(3);
                    		    if ( (LA516_33 == IDENTIFIER))
                    		    {
                    		        switch ( LA(4) )
                    		        {
                    		        case COMMA_SYMBOL:
                    		        case INDEX_SYMBOL:
                    		        case IN_SYMBOL:
                    		        case KEY_SYMBOL:
                    		        	{
                    		        		alt516=1;
                    		        	}
                    		            break;
                    		        case PARTITION_SYMBOL:
                    		        	{
                    		        		alt516=2;
                    		        	}
                    		            break;

                    		        default:
                    		            if (BACKTRACKING>0)
                    		            {
                    		                FAILEDFLAG = ANTLR3_TRUE;
                    		                return retval;
                    		            }

                    		            CONSTRUCTEX();
                    		            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    		            EXCEPTION->message      = (void *)"";
                    		            EXCEPTION->decisionNum  = 516;
                    		            EXCEPTION->state        = 74;


                    		            goto rulekey_cache_list_or_partsEx;

                    		        }

                    		    }
                    		    else if ( (LA516_33 == BACK_TICK_QUOTED_ID))
                    		    {
                    		        switch ( LA(4) )
                    		        {
                    		        case COMMA_SYMBOL:
                    		        case INDEX_SYMBOL:
                    		        case IN_SYMBOL:
                    		        case KEY_SYMBOL:
                    		        	{
                    		        		alt516=1;
                    		        	}
                    		            break;
                    		        case PARTITION_SYMBOL:
                    		        	{
                    		        		alt516=2;
                    		        	}
                    		            break;

                    		        default:
                    		            if (BACKTRACKING>0)
                    		            {
                    		                FAILEDFLAG = ANTLR3_TRUE;
                    		                return retval;
                    		            }

                    		            CONSTRUCTEX();
                    		            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    		            EXCEPTION->message      = (void *)"";
                    		            EXCEPTION->decisionNum  = 516;
                    		            EXCEPTION->state        = 75;


                    		            goto rulekey_cache_list_or_partsEx;

                    		        }

                    		    }
                    		    else if ( (LA516_33 == DOUBLE_QUOTED_TEXT))
                    		    {
                    		        switch ( LA(4) )
                    		        {
                    		        case COMMA_SYMBOL:
                    		        case INDEX_SYMBOL:
                    		        case IN_SYMBOL:
                    		        case KEY_SYMBOL:
                    		        	{
                    		        		alt516=1;
                    		        	}
                    		            break;
                    		        case PARTITION_SYMBOL:
                    		        	{
                    		        		alt516=2;
                    		        	}
                    		            break;

                    		        default:
                    		            if (BACKTRACKING>0)
                    		            {
                    		                FAILEDFLAG = ANTLR3_TRUE;
                    		                return retval;
                    		            }

                    		            CONSTRUCTEX();
                    		            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    		            EXCEPTION->message      = (void *)"";
                    		            EXCEPTION->decisionNum  = 516;
                    		            EXCEPTION->state        = 76;


                    		            goto rulekey_cache_list_or_partsEx;

                    		        }

                    		    }
                    		    else if ( (((LA516_33 >= ACTION_SYMBOL) && (LA516_33 <= YEAR_SYMBOL))))
                    		    {
                    		        switch ( LA(4) )
                    		        {
                    		        case COMMA_SYMBOL:
                    		        case INDEX_SYMBOL:
                    		        case IN_SYMBOL:
                    		        case KEY_SYMBOL:
                    		        	{
                    		        		alt516=1;
                    		        	}
                    		            break;
                    		        case PARTITION_SYMBOL:
                    		        	{
                    		        		alt516=2;
                    		        	}
                    		            break;

                    		        default:
                    		            if (BACKTRACKING>0)
                    		            {
                    		                FAILEDFLAG = ANTLR3_TRUE;
                    		                return retval;
                    		            }

                    		            CONSTRUCTEX();
                    		            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    		            EXCEPTION->message      = (void *)"";
                    		            EXCEPTION->decisionNum  = 516;
                    		            EXCEPTION->state        = 77;


                    		            goto rulekey_cache_list_or_partsEx;

                    		        }

                    		    }
                    		    else if ( (LA516_33 == PARTITION_SYMBOL))
                    		    {
                    		        switch ( LA(4) )
                    		        {
                    		        case COMMA_SYMBOL:
                    		        case INDEX_SYMBOL:
                    		        case IN_SYMBOL:
                    		        case KEY_SYMBOL:
                    		        	{
                    		        		alt516=1;
                    		        	}
                    		            break;
                    		        case PARTITION_SYMBOL:
                    		        	{
                    		        		alt516=2;
                    		        	}
                    		            break;

                    		        default:
                    		            if (BACKTRACKING>0)
                    		            {
                    		                FAILEDFLAG = ANTLR3_TRUE;
                    		                return retval;
                    		            }

                    		            CONSTRUCTEX();
                    		            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    		            EXCEPTION->message      = (void *)"";
                    		            EXCEPTION->decisionNum  = 516;
                    		            EXCEPTION->state        = 78;


                    		            goto rulekey_cache_list_or_partsEx;

                    		        }

                    		    }
                    		    else if ( (((LA516_33 >= ASCII_SYMBOL) && (LA516_33 <= XA_SYMBOL))))
                    		    {
                    		        switch ( LA(4) )
                    		        {
                    		        case COMMA_SYMBOL:
                    		        case INDEX_SYMBOL:
                    		        case IN_SYMBOL:
                    		        case KEY_SYMBOL:
                    		        	{
                    		        		alt516=1;
                    		        	}
                    		            break;
                    		        case PARTITION_SYMBOL:
                    		        	{
                    		        		alt516=2;
                    		        	}
                    		            break;

                    		        default:
                    		            if (BACKTRACKING>0)
                    		            {
                    		                FAILEDFLAG = ANTLR3_TRUE;
                    		                return retval;
                    		            }

                    		            CONSTRUCTEX();
                    		            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    		            EXCEPTION->message      = (void *)"";
                    		            EXCEPTION->decisionNum  = 516;
                    		            EXCEPTION->state        = 79;


                    		            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  = 516;
                    		        EXCEPTION->state        = 33;


                    		        goto rulekey_cache_list_or_partsEx;

                    		    }
                    		}
                    	}
                        break;
                    case COMMA_SYMBOL:
                    case INDEX_SYMBOL:
                    case IN_SYMBOL:
                    case KEY_SYMBOL:
                    	{
                    		alt516=1;
                    	}
                        break;
                    case PARTITION_SYMBOL:
                    	{
                    		alt516=2;
                    	}
                        break;

                    default:
                        if (BACKTRACKING>0)
                        {
                            FAILEDFLAG = ANTLR3_TRUE;
                            return retval;
                        }

                        CONSTRUCTEX();
                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                        EXCEPTION->message      = (void *)"";
                        EXCEPTION->decisionNum  = 516;
                        EXCEPTION->state        = 6;


                        goto rulekey_cache_list_or_partsEx;

                    }

                }
                else if ( (LA516_0 == DOT_SYMBOL))
                {
                    {
                        int LA516_7 = LA(2);
                        if ( (LA516_7 == IDENTIFIER))
                        {
                            switch ( LA(3) )
                            {
                            case COMMA_SYMBOL:
                            case INDEX_SYMBOL:
                            case IN_SYMBOL:
                            case KEY_SYMBOL:
                            	{
                            		alt516=1;
                            	}
                                break;
                            case PARTITION_SYMBOL:
                            	{
                            		alt516=2;
                            	}
                                break;

                            default:
                                if (BACKTRACKING>0)
                                {
                                    FAILEDFLAG = ANTLR3_TRUE;
                                    return retval;
                                }

                                CONSTRUCTEX();
                                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                EXCEPTION->message      = (void *)"";
                                EXCEPTION->decisionNum  = 516;
                                EXCEPTION->state        = 38;


                                goto rulekey_cache_list_or_partsEx;

                            }

                        }
                        else if ( (LA516_7 == BACK_TICK_QUOTED_ID))
                        {
                            switch ( LA(3) )
                            {
                            case COMMA_SYMBOL:
                            case INDEX_SYMBOL:
                            case IN_SYMBOL:
                            case KEY_SYMBOL:
                            	{
                            		alt516=1;
                            	}
                                break;
                            case PARTITION_SYMBOL:
                            	{
                            		alt516=2;
                            	}
                                break;

                            default:
                                if (BACKTRACKING>0)
                                {
                                    FAILEDFLAG = ANTLR3_TRUE;
                                    return retval;
                                }

                                CONSTRUCTEX();
                                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                EXCEPTION->message      = (void *)"";
                                EXCEPTION->decisionNum  = 516;
                                EXCEPTION->state        = 39;


                                goto rulekey_cache_list_or_partsEx;

                            }

                        }
                        else if ( (LA516_7 == DOUBLE_QUOTED_TEXT))
                        {
                            switch ( LA(3) )
                            {
                            case COMMA_SYMBOL:
                            case INDEX_SYMBOL:
                            case IN_SYMBOL:
                            case KEY_SYMBOL:
                            	{
                            		alt516=1;
                            	}
                                break;
                            case PARTITION_SYMBOL:
                            	{
                            		alt516=2;
                            	}
                                break;

                            default:
                                if (BACKTRACKING>0)
                                {
                                    FAILEDFLAG = ANTLR3_TRUE;
                                    return retval;
                                }

                                CONSTRUCTEX();
                                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                EXCEPTION->message      = (void *)"";
                                EXCEPTION->decisionNum  = 516;
                                EXCEPTION->state        = 40;


                                goto rulekey_cache_list_or_partsEx;

                            }

                        }
                        else if ( (((LA516_7 >= ACTION_SYMBOL) && (LA516_7 <= YEAR_SYMBOL))))
                        {
                            switch ( LA(3) )
                            {
                            case COMMA_SYMBOL:
                            case INDEX_SYMBOL:
                            case IN_SYMBOL:
                            case KEY_SYMBOL:
                            	{
                            		alt516=1;
                            	}
                                break;
                            case PARTITION_SYMBOL:
                            	{
                            		alt516=2;
                            	}
                                break;

                            default:
                                if (BACKTRACKING>0)
                                {
                                    FAILEDFLAG = ANTLR3_TRUE;
                                    return retval;
                                }

                                CONSTRUCTEX();
                                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                EXCEPTION->message      = (void *)"";
                                EXCEPTION->decisionNum  = 516;
                                EXCEPTION->state        = 41;


                                goto rulekey_cache_list_or_partsEx;

                            }

                        }
                        else if ( (LA516_7 == PARTITION_SYMBOL))
                        {
                            switch ( LA(3) )
                            {
                            case COMMA_SYMBOL:
                            case INDEX_SYMBOL:
                            case IN_SYMBOL:
                            case KEY_SYMBOL:
                            	{
                            		alt516=1;
                            	}
                                break;
                            case PARTITION_SYMBOL:
                            	{
                            		alt516=2;
                            	}
                                break;

                            default:
                                if (BACKTRACKING>0)
                                {
                                    FAILEDFLAG = ANTLR3_TRUE;
                                    return retval;
                                }

                                CONSTRUCTEX();
                                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                EXCEPTION->message      = (void *)"";
                                EXCEPTION->decisionNum  = 516;
                                EXCEPTION->state        = 42;


                                goto rulekey_cache_list_or_partsEx;

                            }

                        }
                        else if ( (((LA516_7 >= ASCII_SYMBOL) && (LA516_7 <= XA_SYMBOL))))
                        {
                            switch ( LA(3) )
                            {
                            case COMMA_SYMBOL:
                            case INDEX_SYMBOL:
                            case IN_SYMBOL:
                            case KEY_SYMBOL:
                            	{
                            		alt516=1;
                            	}
                                break;
                            case PARTITION_SYMBOL:
                            	{
                            		alt516=2;
                            	}
                                break;

                            default:
                                if (BACKTRACKING>0)
                                {
                                    FAILEDFLAG = ANTLR3_TRUE;
                                    return retval;
                                }

                                CONSTRUCTEX();
                                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                EXCEPTION->message      = (void *)"";
                                EXCEPTION->decisionNum  = 516;
                                EXCEPTION->state        = 43;


                                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  = 516;
                            EXCEPTION->state        = 7;


                            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  = 516;
                    EXCEPTION->state        = 0;


                    goto rulekey_cache_list_or_partsEx;

                }
            }
            switch (alt516)
            {
        	case 1:
        	    // MySQL.g:1545:2: key_cache_list
        	    {
        	        FOLLOWPUSH(FOLLOW_key_cache_list_in_key_cache_list_or_parts8590);
        	        key_cache_list1656=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_list1656.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;
        	        	// 1545:17: -> ^( KEY_CACHE_LIST key_cache_list )
        	        	{
        	        	    // MySQL.g:1545:20: ^( KEY_CACHE_LIST 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, (pANTLR3_UINT8)"KEY_CACHE_LIST")
        	        	        , 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:1546:4: assign_to_keycache_partition
        	    {
        	        FOLLOWPUSH(FOLLOW_assign_to_keycache_partition_in_key_cache_list_or_parts8603);
        	        assign_to_keycache_partition1657=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_partition1657.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;
        	        	// 1546:33: -> ^( KEY_CACHE_PARTITION assign_to_keycache_partition )
        	        	{
        	        	    // MySQL.g:1546:36: ^( KEY_CACHE_PARTITION 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, (pANTLR3_UINT8)"KEY_CACHE_PARTITION")
        	        	        , 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_key_cache_list != NULL) stream_key_cache_list->free(stream_key_cache_list);
        if (stream_assign_to_keycache_partition != NULL) stream_assign_to_keycache_partition->free(stream_assign_to_keycache_partition);
    }


            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:1549: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_SYMBOL1659;
    MySQLParser_assign_to_keycache_return assign_to_keycache1658;
    #undef	RETURN_TYPE_assign_to_keycache1658
    #define	RETURN_TYPE_assign_to_keycache1658 MySQLParser_assign_to_keycache_return

    MySQLParser_assign_to_keycache_return assign_to_keycache1660;
    #undef	RETURN_TYPE_assign_to_keycache1660
    #define	RETURN_TYPE_assign_to_keycache1660 MySQLParser_assign_to_keycache_return

    pANTLR3_BASE_TREE COMMA_SYMBOL1659_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    COMMA_SYMBOL1659       = NULL;
    assign_to_keycache1658.tree = NULL;

    assign_to_keycache1660.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    COMMA_SYMBOL1659_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1549:15: ( assign_to_keycache ( COMMA_SYMBOL assign_to_keycache )* )
        // MySQL.g:1550: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_list8620);
            assign_to_keycache1658=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_keycache1658.tree);

            // MySQL.g:1550:21: ( COMMA_SYMBOL assign_to_keycache )*

            for (;;)
            {
                int alt517=2;
                switch ( LA(1) )
                {
                case COMMA_SYMBOL:
                	{
                		alt517=1;
                	}
                    break;

                }

                switch (alt517)
                {
            	case 1:
            	    // MySQL.g:1550:22: COMMA_SYMBOL assign_to_keycache
            	    {
            	        COMMA_SYMBOL1659 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_key_cache_list8623);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulekey_cache_listEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        COMMA_SYMBOL1659_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL1659));
            	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL1659_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_assign_to_keycache_in_key_cache_list8625);
            	        assign_to_keycache1660=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_keycache1660.tree);

            	    }
            	    break;

            	default:
            	    goto loop517;	/* break out of the loop */
            	    break;
                }
            }
            loop517: ; /* 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:1553:1: assign_to_keycache : table_identifier ( 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_identifier_return table_identifier1661;
    #undef	RETURN_TYPE_table_identifier1661
    #define	RETURN_TYPE_table_identifier1661 MySQLParser_table_identifier_return

    MySQLParser_cache_keys_spec_return cache_keys_spec1662;
    #undef	RETURN_TYPE_cache_keys_spec1662
    #define	RETURN_TYPE_cache_keys_spec1662 MySQLParser_cache_keys_spec_return


    /* Initialize rule variables
     */

    root_0 = NULL;

    table_identifier1661.tree = NULL;

    cache_keys_spec1662.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;




    retval.tree  = NULL;

    {
        // MySQL.g:1553:19: ( table_identifier ( cache_keys_spec )? )
        // MySQL.g:1554:2: table_identifier ( cache_keys_spec )?
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            FOLLOWPUSH(FOLLOW_table_identifier_in_assign_to_keycache8636);
            table_identifier1661=table_identifier(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruleassign_to_keycacheEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, table_identifier1661.tree);

            // MySQL.g:1554:19: ( cache_keys_spec )?
            {
                int alt518=2;
                switch ( LA(1) )
                {
                    case INDEX_SYMBOL:
                    case KEY_SYMBOL:
                    	{
                    		alt518=1;
                    	}
                        break;
                }

                switch (alt518)
                {
            	case 1:
            	    // MySQL.g:1554:19: cache_keys_spec
            	    {
            	        FOLLOWPUSH(FOLLOW_cache_keys_spec_in_assign_to_keycache8638);
            	        cache_keys_spec1662=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_spec1662.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:1557:1: assign_to_keycache_partition : table_identifier 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_SYMBOL1664;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL1665;
    pANTLR3_COMMON_TOKEN    ALL_SYMBOL1666;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL1668;
    MySQLParser_table_identifier_return table_identifier1663;
    #undef	RETURN_TYPE_table_identifier1663
    #define	RETURN_TYPE_table_identifier1663 MySQLParser_table_identifier_return

    MySQLParser_identifier_list_return identifier_list1667;
    #undef	RETURN_TYPE_identifier_list1667
    #define	RETURN_TYPE_identifier_list1667 MySQLParser_identifier_list_return

    MySQLParser_cache_keys_spec_return cache_keys_spec1669;
    #undef	RETURN_TYPE_cache_keys_spec1669
    #define	RETURN_TYPE_cache_keys_spec1669 MySQLParser_cache_keys_spec_return

    pANTLR3_BASE_TREE PARTITION_SYMBOL1664_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL1665_tree;
    pANTLR3_BASE_TREE ALL_SYMBOL1666_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL1668_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    PARTITION_SYMBOL1664       = NULL;
    OPEN_PAR_SYMBOL1665       = NULL;
    ALL_SYMBOL1666       = NULL;
    CLOSE_PAR_SYMBOL1668       = NULL;
    table_identifier1663.tree = NULL;

    identifier_list1667.tree = NULL;

    cache_keys_spec1669.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    PARTITION_SYMBOL1664_tree   = NULL;
    OPEN_PAR_SYMBOL1665_tree   = NULL;
    ALL_SYMBOL1666_tree   = NULL;
    CLOSE_PAR_SYMBOL1668_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1557:29: ( table_identifier PARTITION_SYMBOL OPEN_PAR_SYMBOL ( ALL_SYMBOL | identifier_list ) CLOSE_PAR_SYMBOL ( cache_keys_spec )? )
        // MySQL.g:1558:2: table_identifier 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_identifier_in_assign_to_keycache_partition8648);
            table_identifier1663=table_identifier(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruleassign_to_keycache_partitionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, table_identifier1663.tree);

            PARTITION_SYMBOL1664 = (pANTLR3_COMMON_TOKEN) MATCHT(PARTITION_SYMBOL, &FOLLOW_PARTITION_SYMBOL_in_assign_to_keycache_partition8650);
            if  (HASEXCEPTION())
            {
                goto ruleassign_to_keycache_partitionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            PARTITION_SYMBOL1664_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, PARTITION_SYMBOL1664));
            ADAPTOR->addChild(ADAPTOR, root_0, PARTITION_SYMBOL1664_tree);
            }

            OPEN_PAR_SYMBOL1665 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_assign_to_keycache_partition8652);
            if  (HASEXCEPTION())
            {
                goto ruleassign_to_keycache_partitionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            OPEN_PAR_SYMBOL1665_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL1665));
            ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL1665_tree);
            }

            // MySQL.g:1558:52: ( ALL_SYMBOL | identifier_list )
            {
                int alt519=2;
                {
                    int LA519_0 = LA(1);
                    if ( (LA519_0 == ALL_SYMBOL))
                    {
                        alt519=1;
                    }
                    else if ( (LA519_0 == BACK_TICK_QUOTED_ID || LA519_0 == IDENTIFIER))
                    {
                        alt519=2;
                    }
                    else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA519_0 == DOUBLE_QUOTED_TEXT))
                    {
                        alt519=2;
                    }
                    else if ( (((LA519_0 >= ACTION_SYMBOL) && (LA519_0 <= PARTITION_SYMBOL))))
                    {
                        alt519=2;
                    }
                    else
                    {
                        if (BACKTRACKING>0)
                        {
                            FAILEDFLAG = ANTLR3_TRUE;
                            return retval;
                        }


                        CONSTRUCTEX();
                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                        EXCEPTION->message      = (void *)"";
                        EXCEPTION->decisionNum  = 519;
                        EXCEPTION->state        = 0;


                        goto ruleassign_to_keycache_partitionEx;

                    }
                }
                switch (alt519)
                {
            	case 1:
            	    // MySQL.g:1558:53: ALL_SYMBOL
            	    {
            	        ALL_SYMBOL1666 = (pANTLR3_COMMON_TOKEN) MATCHT(ALL_SYMBOL, &FOLLOW_ALL_SYMBOL_in_assign_to_keycache_partition8655);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleassign_to_keycache_partitionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        ALL_SYMBOL1666_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ALL_SYMBOL1666));
            	        ADAPTOR->addChild(ADAPTOR, root_0, ALL_SYMBOL1666_tree);
            	        }

            	    }
            	    break;
            	case 2:
            	    // MySQL.g:1558:66: identifier_list
            	    {
            	        FOLLOWPUSH(FOLLOW_identifier_list_in_assign_to_keycache_partition8659);
            	        identifier_list1667=identifier_list(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleassign_to_keycache_partitionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier_list1667.tree);

            	    }
            	    break;

                }
            }

            CLOSE_PAR_SYMBOL1668 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_assign_to_keycache_partition8662);
            if  (HASEXCEPTION())
            {
                goto ruleassign_to_keycache_partitionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            CLOSE_PAR_SYMBOL1668_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL1668));
            ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL1668_tree);
            }

            // MySQL.g:1558:100: ( cache_keys_spec )?
            {
                int alt520=2;
                switch ( LA(1) )
                {
                    case INDEX_SYMBOL:
                    case KEY_SYMBOL:
                    	{
                    		alt520=1;
                    	}
                        break;
                }

                switch (alt520)
                {
            	case 1:
            	    // MySQL.g:1558:100: cache_keys_spec
            	    {
            	        FOLLOWPUSH(FOLLOW_cache_keys_spec_in_assign_to_keycache_partition8664);
            	        cache_keys_spec1669=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_spec1669.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:1561: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    set1670;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL1671;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL1673;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL1675;
    MySQLParser_key_usage_element_return key_usage_element1672;
    #undef	RETURN_TYPE_key_usage_element1672
    #define	RETURN_TYPE_key_usage_element1672 MySQLParser_key_usage_element_return

    MySQLParser_key_usage_element_return key_usage_element1674;
    #undef	RETURN_TYPE_key_usage_element1674
    #define	RETURN_TYPE_key_usage_element1674 MySQLParser_key_usage_element_return

    pANTLR3_BASE_TREE set1670_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL1671_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL1673_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL1675_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    set1670       = NULL;
    OPEN_PAR_SYMBOL1671       = NULL;
    COMMA_SYMBOL1673       = NULL;
    CLOSE_PAR_SYMBOL1675       = NULL;
    key_usage_element1672.tree = NULL;

    key_usage_element1674.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    set1670_tree   = NULL;
    OPEN_PAR_SYMBOL1671_tree   = NULL;
    COMMA_SYMBOL1673_tree   = NULL;
    CLOSE_PAR_SYMBOL1675_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1561:16: ( ( KEY_SYMBOL | INDEX_SYMBOL ) OPEN_PAR_SYMBOL ( key_usage_element ( COMMA_SYMBOL key_usage_element )* )? CLOSE_PAR_SYMBOL )
        // MySQL.g:1562: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));


            set1670=(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, set1670))
                );
                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_SYMBOL1671 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_cache_keys_spec8682);
            if  (HASEXCEPTION())
            {
                goto rulecache_keys_specEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            OPEN_PAR_SYMBOL1671_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL1671));
            ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL1671_tree);
            }

            // MySQL.g:1562:46: ( key_usage_element ( COMMA_SYMBOL key_usage_element )* )?
            {
                int alt522=2;
                {
                    int LA522_0 = LA(1);
                    if ( (LA522_0 == BACK_TICK_QUOTED_ID || LA522_0 == IDENTIFIER))
                    {
                        alt522=1;
                    }
                    else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA522_0 == DOUBLE_QUOTED_TEXT))
                    {
                        alt522=1;
                    }
                    else if ( (((LA522_0 >= ACTION_SYMBOL) && (LA522_0 <= PARTITION_SYMBOL)) || LA522_0 == PRIMARY_SYMBOL))
                    {
                        alt522=1;
                    }
                }
                switch (alt522)
                {
            	case 1:
            	    // MySQL.g:1562:47: key_usage_element ( COMMA_SYMBOL key_usage_element )*
            	    {
            	        FOLLOWPUSH(FOLLOW_key_usage_element_in_cache_keys_spec8685);
            	        key_usage_element1672=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_element1672.tree);

            	        // MySQL.g:1562:65: ( COMMA_SYMBOL key_usage_element )*

            	        for (;;)
            	        {
            	            int alt521=2;
            	            switch ( LA(1) )
            	            {
            	            case COMMA_SYMBOL:
            	            	{
            	            		alt521=1;
            	            	}
            	                break;

            	            }

            	            switch (alt521)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1562:66: COMMA_SYMBOL key_usage_element
            	        	    {
            	        	        COMMA_SYMBOL1673 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_cache_keys_spec8688);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulecache_keys_specEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        COMMA_SYMBOL1673_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL1673));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL1673_tree);
            	        	        }

            	        	        FOLLOWPUSH(FOLLOW_key_usage_element_in_cache_keys_spec8690);
            	        	        key_usage_element1674=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_element1674.tree);

            	        	    }
            	        	    break;

            	        	default:
            	        	    goto loop521;	/* break out of the loop */
            	        	    break;
            	            }
            	        }
            	        loop521: ; /* Jump out to here if this rule does not match */


            	    }
            	    break;

                }
            }

            CLOSE_PAR_SYMBOL1675 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_cache_keys_spec8696);
            if  (HASEXCEPTION())
            {
                goto rulecache_keys_specEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            CLOSE_PAR_SYMBOL1675_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL1675));
            ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL1675_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:1565: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_SYMBOL1677;
    MySQLParser_identifier_return identifier1676;
    #undef	RETURN_TYPE_identifier1676
    #define	RETURN_TYPE_identifier1676 MySQLParser_identifier_return

    pANTLR3_BASE_TREE PRIMARY_SYMBOL1677_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    PRIMARY_SYMBOL1677       = NULL;
    identifier1676.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    PRIMARY_SYMBOL1677_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:1565:18: ( identifier | PRIMARY_SYMBOL )

            ANTLR3_UINT32 alt523;

            alt523=2;

            {
                int LA523_0 = LA(1);
                if ( (LA523_0 == BACK_TICK_QUOTED_ID || LA523_0 == IDENTIFIER))
                {
                    alt523=1;
                }
                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA523_0 == DOUBLE_QUOTED_TEXT))
                {
                    alt523=1;
                }
                else if ( (((LA523_0 >= ACTION_SYMBOL) && (LA523_0 <= PARTITION_SYMBOL))))
                {
                    alt523=1;
                }
                else if ( (LA523_0 == PRIMARY_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 rulekey_usage_elementEx;

                }
            }
            switch (alt523)
            {
        	case 1:
        	    // MySQL.g:1566:2: identifier
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_identifier_in_key_usage_element8705);
        	        identifier1676=identifier(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulekey_usage_elementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier1676.tree);

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:1567:4: PRIMARY_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        PRIMARY_SYMBOL1677 = (pANTLR3_COMMON_TOKEN) MATCHT(PRIMARY_SYMBOL, &FOLLOW_PRIMARY_SYMBOL_in_key_usage_element8710);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulekey_usage_elementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        PRIMARY_SYMBOL1677_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, PRIMARY_SYMBOL1677));
        	        ADAPTOR->addChild(ADAPTOR, root_0, PRIMARY_SYMBOL1677_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:1570:1: flush_option : ( DES_KEY_FILE_SYMBOL | HOSTS_SYMBOL | ( log_type )? LOGS_SYMBOL | PRIVILEGES_SYMBOL | QUERY_SYMBOL CACHE_SYMBOL | STATUS_SYMBOL | flush_tables | USER_RESOURCES_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_SYMBOL1678;
    pANTLR3_COMMON_TOKEN    HOSTS_SYMBOL1679;
    pANTLR3_COMMON_TOKEN    LOGS_SYMBOL1681;
    pANTLR3_COMMON_TOKEN    PRIVILEGES_SYMBOL1682;
    pANTLR3_COMMON_TOKEN    QUERY_SYMBOL1683;
    pANTLR3_COMMON_TOKEN    CACHE_SYMBOL1684;
    pANTLR3_COMMON_TOKEN    STATUS_SYMBOL1685;
    pANTLR3_COMMON_TOKEN    USER_RESOURCES_SYMBOL1687;
    MySQLParser_log_type_return log_type1680;
    #undef	RETURN_TYPE_log_type1680
    #define	RETURN_TYPE_log_type1680 MySQLParser_log_type_return

    MySQLParser_flush_tables_return flush_tables1686;
    #undef	RETURN_TYPE_flush_tables1686
    #define	RETURN_TYPE_flush_tables1686 MySQLParser_flush_tables_return

    pANTLR3_BASE_TREE DES_KEY_FILE_SYMBOL1678_tree;
    pANTLR3_BASE_TREE HOSTS_SYMBOL1679_tree;
    pANTLR3_BASE_TREE LOGS_SYMBOL1681_tree;
    pANTLR3_BASE_TREE PRIVILEGES_SYMBOL1682_tree;
    pANTLR3_BASE_TREE QUERY_SYMBOL1683_tree;
    pANTLR3_BASE_TREE CACHE_SYMBOL1684_tree;
    pANTLR3_BASE_TREE STATUS_SYMBOL1685_tree;
    pANTLR3_BASE_TREE USER_RESOURCES_SYMBOL1687_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    DES_KEY_FILE_SYMBOL1678       = NULL;
    HOSTS_SYMBOL1679       = NULL;
    LOGS_SYMBOL1681       = NULL;
    PRIVILEGES_SYMBOL1682       = NULL;
    QUERY_SYMBOL1683       = NULL;
    CACHE_SYMBOL1684       = NULL;
    STATUS_SYMBOL1685       = NULL;
    USER_RESOURCES_SYMBOL1687       = NULL;
    log_type1680.tree = NULL;

    flush_tables1686.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    DES_KEY_FILE_SYMBOL1678_tree   = NULL;
    HOSTS_SYMBOL1679_tree   = NULL;
    LOGS_SYMBOL1681_tree   = NULL;
    PRIVILEGES_SYMBOL1682_tree   = NULL;
    QUERY_SYMBOL1683_tree   = NULL;
    CACHE_SYMBOL1684_tree   = NULL;
    STATUS_SYMBOL1685_tree   = NULL;
    USER_RESOURCES_SYMBOL1687_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:1570:13: ( DES_KEY_FILE_SYMBOL | HOSTS_SYMBOL | ( log_type )? LOGS_SYMBOL | PRIVILEGES_SYMBOL | QUERY_SYMBOL CACHE_SYMBOL | STATUS_SYMBOL | flush_tables | USER_RESOURCES_SYMBOL )

            ANTLR3_UINT32 alt525;

            alt525=8;

            switch ( LA(1) )
            {
            case DES_KEY_FILE_SYMBOL:
            	{
            		alt525=1;
            	}
                break;
            case HOSTS_SYMBOL:
            	{
            		alt525=2;
            	}
                break;
            case ENGINE_SYMBOL:
            case ERROR_SYMBOL:
            case GENERAL_SYMBOL:
            case LOGS_SYMBOL:
            case RELAY_SYMBOL:
            case SLOW_SYMBOL:
            case BINARY_SYMBOL:
            	{
            		alt525=3;
            	}
                break;
            case PRIVILEGES_SYMBOL:
            	{
            		alt525=4;
            	}
                break;
            case QUERY_SYMBOL:
            	{
            		alt525=5;
            	}
                break;
            case STATUS_SYMBOL:
            	{
            		alt525=6;
            	}
                break;
            case TABLES_SYMBOL:
            case TABLE_SYMBOL:
            	{
            		alt525=7;
            	}
                break;
            case USER_RESOURCES_SYMBOL:
            	{
            		alt525=8;
            	}
                break;

            default:
                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 ruleflush_optionEx;

            }

            switch (alt525)
            {
        	case 1:
        	    // MySQL.g:1571:2: DES_KEY_FILE_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        DES_KEY_FILE_SYMBOL1678 = (pANTLR3_COMMON_TOKEN) MATCHT(DES_KEY_FILE_SYMBOL, &FOLLOW_DES_KEY_FILE_SYMBOL_in_flush_option8719);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleflush_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        DES_KEY_FILE_SYMBOL1678_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DES_KEY_FILE_SYMBOL1678));
        	        ADAPTOR->addChild(ADAPTOR, root_0, DES_KEY_FILE_SYMBOL1678_tree);
        	        }

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:1572:4: HOSTS_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        HOSTS_SYMBOL1679 = (pANTLR3_COMMON_TOKEN) MATCHT(HOSTS_SYMBOL, &FOLLOW_HOSTS_SYMBOL_in_flush_option8724);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleflush_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        HOSTS_SYMBOL1679_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, HOSTS_SYMBOL1679));
        	        ADAPTOR->addChild(ADAPTOR, root_0, HOSTS_SYMBOL1679_tree);
        	        }

        	    }
        	    break;
        	case 3:
        	    // MySQL.g:1573:4: ( log_type )? LOGS_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        // MySQL.g:1573:4: ( log_type )?
        	        {
        	            int alt524=2;
        	            switch ( LA(1) )
        	            {
        	                case ENGINE_SYMBOL:
        	                case ERROR_SYMBOL:
        	                case GENERAL_SYMBOL:
        	                case RELAY_SYMBOL:
        	                case SLOW_SYMBOL:
        	                case BINARY_SYMBOL:
        	                	{
        	                		alt524=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt524)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1573:4: log_type
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_log_type_in_flush_option8729);
        	        	        log_type1680=log_type(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleflush_optionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, log_type1680.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	        LOGS_SYMBOL1681 = (pANTLR3_COMMON_TOKEN) MATCHT(LOGS_SYMBOL, &FOLLOW_LOGS_SYMBOL_in_flush_option8732);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleflush_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        LOGS_SYMBOL1681_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, LOGS_SYMBOL1681));
        	        ADAPTOR->addChild(ADAPTOR, root_0, LOGS_SYMBOL1681_tree);
        	        }

        	    }
        	    break;
        	case 4:
        	    // MySQL.g:1574:4: PRIVILEGES_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        PRIVILEGES_SYMBOL1682 = (pANTLR3_COMMON_TOKEN) MATCHT(PRIVILEGES_SYMBOL, &FOLLOW_PRIVILEGES_SYMBOL_in_flush_option8737);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleflush_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        PRIVILEGES_SYMBOL1682_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, PRIVILEGES_SYMBOL1682));
        	        ADAPTOR->addChild(ADAPTOR, root_0, PRIVILEGES_SYMBOL1682_tree);
        	        }

        	    }
        	    break;
        	case 5:
        	    // MySQL.g:1575:4: QUERY_SYMBOL CACHE_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        QUERY_SYMBOL1683 = (pANTLR3_COMMON_TOKEN) MATCHT(QUERY_SYMBOL, &FOLLOW_QUERY_SYMBOL_in_flush_option8742);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleflush_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        QUERY_SYMBOL1683_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, QUERY_SYMBOL1683));
        	        ADAPTOR->addChild(ADAPTOR, root_0, QUERY_SYMBOL1683_tree);
        	        }

        	        CACHE_SYMBOL1684 = (pANTLR3_COMMON_TOKEN) MATCHT(CACHE_SYMBOL, &FOLLOW_CACHE_SYMBOL_in_flush_option8744);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleflush_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CACHE_SYMBOL1684_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CACHE_SYMBOL1684));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CACHE_SYMBOL1684_tree);
        	        }

        	    }
        	    break;
        	case 6:
        	    // MySQL.g:1576:4: STATUS_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        STATUS_SYMBOL1685 = (pANTLR3_COMMON_TOKEN) MATCHT(STATUS_SYMBOL, &FOLLOW_STATUS_SYMBOL_in_flush_option8749);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleflush_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        STATUS_SYMBOL1685_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, STATUS_SYMBOL1685));
        	        ADAPTOR->addChild(ADAPTOR, root_0, STATUS_SYMBOL1685_tree);
        	        }

        	    }
        	    break;
        	case 7:
        	    // MySQL.g:1577:4: flush_tables
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_flush_tables_in_flush_option8754);
        	        flush_tables1686=flush_tables(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleflush_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, flush_tables1686.tree);

        	    }
        	    break;
        	case 8:
        	    // MySQL.g:1578:4: USER_RESOURCES_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        USER_RESOURCES_SYMBOL1687 = (pANTLR3_COMMON_TOKEN) MATCHT(USER_RESOURCES_SYMBOL, &FOLLOW_USER_RESOURCES_SYMBOL_in_flush_option8759);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleflush_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        USER_RESOURCES_SYMBOL1687_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, USER_RESOURCES_SYMBOL1687));
        	        ADAPTOR->addChild(ADAPTOR, root_0, USER_RESOURCES_SYMBOL1687_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:1581:1: log_type : ( BINARY_SYMBOL | ENGINE_SYMBOL | ERROR_SYMBOL | GENERAL_SYMBOL | RELAY_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    set1688;

    pANTLR3_BASE_TREE set1688_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    set1688       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    set1688_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1581:9: ( BINARY_SYMBOL | ENGINE_SYMBOL | ERROR_SYMBOL | GENERAL_SYMBOL | RELAY_SYMBOL | SLOW_SYMBOL )
        // MySQL.g:
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            set1688=(pANTLR3_COMMON_TOKEN)LT(1);

            if ( LA(1) == ENGINE_SYMBOL || LA(1) == ERROR_SYMBOL || LA(1) == GENERAL_SYMBOL || LA(1) == RELAY_SYMBOL || LA(1) == SLOW_SYMBOL || LA(1) == BINARY_SYMBOL )
            {
                CONSUME();
                if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, 
                (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set1688))
                );
                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:1590: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    set1689;
    pANTLR3_COMMON_TOKEN    WITH_SYMBOL1690;
    pANTLR3_COMMON_TOKEN    READ_SYMBOL1691;
    pANTLR3_COMMON_TOKEN    LOCK_SYMBOL1692;
    MySQLParser_identifier_list_return identifier_list1693;
    #undef	RETURN_TYPE_identifier_list1693
    #define	RETURN_TYPE_identifier_list1693 MySQLParser_identifier_list_return

    MySQLParser_flush_tables_options_return flush_tables_options1694;
    #undef	RETURN_TYPE_flush_tables_options1694
    #define	RETURN_TYPE_flush_tables_options1694 MySQLParser_flush_tables_options_return

    pANTLR3_BASE_TREE set1689_tree;
    pANTLR3_BASE_TREE WITH_SYMBOL1690_tree;
    pANTLR3_BASE_TREE READ_SYMBOL1691_tree;
    pANTLR3_BASE_TREE LOCK_SYMBOL1692_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    set1689       = NULL;
    WITH_SYMBOL1690       = NULL;
    READ_SYMBOL1691       = NULL;
    LOCK_SYMBOL1692       = NULL;
    identifier_list1693.tree = NULL;

    flush_tables_options1694.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    set1689_tree   = NULL;
    WITH_SYMBOL1690_tree   = NULL;
    READ_SYMBOL1691_tree   = NULL;
    LOCK_SYMBOL1692_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1590:13: ( ( TABLES_SYMBOL | TABLE_SYMBOL ) ( WITH_SYMBOL READ_SYMBOL LOCK_SYMBOL | identifier_list ( flush_tables_options )? )? )
        // MySQL.g:1591:2: ( TABLES_SYMBOL | TABLE_SYMBOL ) ( WITH_SYMBOL READ_SYMBOL LOCK_SYMBOL | identifier_list ( flush_tables_options )? )?
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            set1689=(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, set1689))
                );
                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:1592:2: ( WITH_SYMBOL READ_SYMBOL LOCK_SYMBOL | identifier_list ( flush_tables_options )? )?
            {
                int alt527=3;
                {
                    int LA527_0 = LA(1);
                    if ( (LA527_0 == WITH_SYMBOL))
                    {
                        alt527=1;
                    }
                    else if ( (LA527_0 == BACK_TICK_QUOTED_ID || LA527_0 == IDENTIFIER))
                    {
                        alt527=2;
                    }
                    else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA527_0 == DOUBLE_QUOTED_TEXT))
                    {
                        alt527=2;
                    }
                    else if ( (((LA527_0 >= ACTION_SYMBOL) && (LA527_0 <= PARTITION_SYMBOL))))
                    {
                        alt527=2;
                    }
                }
                switch (alt527)
                {
            	case 1:
            	    // MySQL.g:1593:3: WITH_SYMBOL READ_SYMBOL LOCK_SYMBOL
            	    {
            	        WITH_SYMBOL1690 = (pANTLR3_COMMON_TOKEN) MATCHT(WITH_SYMBOL, &FOLLOW_WITH_SYMBOL_in_flush_tables8815);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleflush_tablesEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        WITH_SYMBOL1690_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, WITH_SYMBOL1690));
            	        ADAPTOR->addChild(ADAPTOR, root_0, WITH_SYMBOL1690_tree);
            	        }

            	        READ_SYMBOL1691 = (pANTLR3_COMMON_TOKEN) MATCHT(READ_SYMBOL, &FOLLOW_READ_SYMBOL_in_flush_tables8817);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleflush_tablesEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        READ_SYMBOL1691_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, READ_SYMBOL1691));
            	        ADAPTOR->addChild(ADAPTOR, root_0, READ_SYMBOL1691_tree);
            	        }

            	        LOCK_SYMBOL1692 = (pANTLR3_COMMON_TOKEN) MATCHT(LOCK_SYMBOL, &FOLLOW_LOCK_SYMBOL_in_flush_tables8819);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleflush_tablesEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        LOCK_SYMBOL1692_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, LOCK_SYMBOL1692));
            	        ADAPTOR->addChild(ADAPTOR, root_0, LOCK_SYMBOL1692_tree);
            	        }

            	    }
            	    break;
            	case 2:
            	    // MySQL.g:1594:5: identifier_list ( flush_tables_options )?
            	    {
            	        FOLLOWPUSH(FOLLOW_identifier_list_in_flush_tables8825);
            	        identifier_list1693=identifier_list(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleflush_tablesEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier_list1693.tree);

            	        // MySQL.g:1594:21: ( flush_tables_options )?
            	        {
            	            int alt526=2;
            	            {
            	                int LA526_0 = LA(1);
            	                if ( ((SERVER_VERSION >= 50606)) && (LA526_0 == FOR_SYMBOL))
            	                {
            	                    alt526=1;
            	                }
            	                else if ( (LA526_0 == WITH_SYMBOL))
            	                {
            	                    alt526=1;
            	                }
            	            }
            	            switch (alt526)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1594:21: flush_tables_options
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_flush_tables_options_in_flush_tables8827);
            	        	        flush_tables_options1694=flush_tables_options(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleflush_tablesEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, flush_tables_options1694.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:1598: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_SYMBOL1695;
    pANTLR3_COMMON_TOKEN    EXPORT_SYMBOL1696;
    pANTLR3_COMMON_TOKEN    WITH_SYMBOL1697;
    pANTLR3_COMMON_TOKEN    READ_SYMBOL1698;
    pANTLR3_COMMON_TOKEN    LOCK_SYMBOL1699;

    pANTLR3_BASE_TREE FOR_SYMBOL1695_tree;
    pANTLR3_BASE_TREE EXPORT_SYMBOL1696_tree;
    pANTLR3_BASE_TREE WITH_SYMBOL1697_tree;
    pANTLR3_BASE_TREE READ_SYMBOL1698_tree;
    pANTLR3_BASE_TREE LOCK_SYMBOL1699_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    FOR_SYMBOL1695       = NULL;
    EXPORT_SYMBOL1696       = NULL;
    WITH_SYMBOL1697       = NULL;
    READ_SYMBOL1698       = NULL;
    LOCK_SYMBOL1699       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    FOR_SYMBOL1695_tree   = NULL;
    EXPORT_SYMBOL1696_tree   = NULL;
    WITH_SYMBOL1697_tree   = NULL;
    READ_SYMBOL1698_tree   = NULL;
    LOCK_SYMBOL1699_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:1598:21: ({...}? => FOR_SYMBOL EXPORT_SYMBOL | WITH_SYMBOL READ_SYMBOL LOCK_SYMBOL )

            ANTLR3_UINT32 alt528;

            alt528=2;

            {
                int LA528_0 = LA(1);
                if ( ((SERVER_VERSION >= 50606)) && (LA528_0 == FOR_SYMBOL))
                {
                    alt528=1;
                }
                else if ( (LA528_0 == WITH_SYMBOL))
                {
                    alt528=2;
                }
                else
                {
                    if (BACKTRACKING>0)
                    {
                        FAILEDFLAG = ANTLR3_TRUE;
                        return retval;
                    }


                    CONSTRUCTEX();
                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    EXCEPTION->message      = (void *)"";
                    EXCEPTION->decisionNum  = 528;
                    EXCEPTION->state        = 0;


                    goto ruleflush_tables_optionsEx;

                }
            }
            switch (alt528)
            {
        	case 1:
        	    // MySQL.g:1599: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_SYMBOL1695 = (pANTLR3_COMMON_TOKEN) MATCHT(FOR_SYMBOL, &FOLLOW_FOR_SYMBOL_in_flush_tables_options8845);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleflush_tables_optionsEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        FOR_SYMBOL1695_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, FOR_SYMBOL1695));
        	        ADAPTOR->addChild(ADAPTOR, root_0, FOR_SYMBOL1695_tree);
        	        }

        	        EXPORT_SYMBOL1696 = (pANTLR3_COMMON_TOKEN) MATCHT(EXPORT_SYMBOL, &FOLLOW_EXPORT_SYMBOL_in_flush_tables_options8847);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleflush_tables_optionsEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        EXPORT_SYMBOL1696_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EXPORT_SYMBOL1696));
        	        ADAPTOR->addChild(ADAPTOR, root_0, EXPORT_SYMBOL1696_tree);
        	        }

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:1600:4: WITH_SYMBOL READ_SYMBOL LOCK_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        WITH_SYMBOL1697 = (pANTLR3_COMMON_TOKEN) MATCHT(WITH_SYMBOL, &FOLLOW_WITH_SYMBOL_in_flush_tables_options8852);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleflush_tables_optionsEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        WITH_SYMBOL1697_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, WITH_SYMBOL1697));
        	        ADAPTOR->addChild(ADAPTOR, root_0, WITH_SYMBOL1697_tree);
        	        }

        	        READ_SYMBOL1698 = (pANTLR3_COMMON_TOKEN) MATCHT(READ_SYMBOL, &FOLLOW_READ_SYMBOL_in_flush_tables_options8854);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleflush_tables_optionsEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        READ_SYMBOL1698_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, READ_SYMBOL1698));
        	        ADAPTOR->addChild(ADAPTOR, root_0, READ_SYMBOL1698_tree);
        	        }

        	        LOCK_SYMBOL1699 = (pANTLR3_COMMON_TOKEN) MATCHT(LOCK_SYMBOL, &FOLLOW_LOCK_SYMBOL_in_flush_tables_options8856);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleflush_tables_optionsEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        LOCK_SYMBOL1699_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, LOCK_SYMBOL1699));
        	        ADAPTOR->addChild(ADAPTOR, root_0, LOCK_SYMBOL1699_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:1603:1: load_table_index_list : table_identifier ( 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    set1702;
    pANTLR3_COMMON_TOKEN    IGNORE_SYMBOL1704;
    pANTLR3_COMMON_TOKEN    LEAVES_SYMBOL1705;
    MySQLParser_table_identifier_return table_identifier1700;
    #undef	RETURN_TYPE_table_identifier1700
    #define	RETURN_TYPE_table_identifier1700 MySQLParser_table_identifier_return

    MySQLParser_load_table_index_partion_return load_table_index_partion1701;
    #undef	RETURN_TYPE_load_table_index_partion1701
    #define	RETURN_TYPE_load_table_index_partion1701 MySQLParser_load_table_index_partion_return

    MySQLParser_identifier_list_with_parentheses_return identifier_list_with_parentheses1703;
    #undef	RETURN_TYPE_identifier_list_with_parentheses1703
    #define	RETURN_TYPE_identifier_list_with_parentheses1703 MySQLParser_identifier_list_with_parentheses_return

    pANTLR3_BASE_TREE set1702_tree;
    pANTLR3_BASE_TREE IGNORE_SYMBOL1704_tree;
    pANTLR3_BASE_TREE LEAVES_SYMBOL1705_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    set1702       = NULL;
    IGNORE_SYMBOL1704       = NULL;
    LEAVES_SYMBOL1705       = NULL;
    table_identifier1700.tree = NULL;

    load_table_index_partion1701.tree = NULL;

    identifier_list_with_parentheses1703.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    set1702_tree   = NULL;
    IGNORE_SYMBOL1704_tree   = NULL;
    LEAVES_SYMBOL1705_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1603:22: ( table_identifier ( load_table_index_partion )? ( ( INDEX_SYMBOL | KEY_SYMBOL )? identifier_list_with_parentheses )? ( IGNORE_SYMBOL LEAVES_SYMBOL )? )
        // MySQL.g:1604:2: table_identifier ( 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_identifier_in_load_table_index_list8865);
            table_identifier1700=table_identifier(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruleload_table_index_listEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, table_identifier1700.tree);

            // MySQL.g:1604:19: ( load_table_index_partion )?
            {
                int alt529=2;
                {
                    int LA529_0 = LA(1);
                    if ( ((SERVER_VERSION >= 50500)) && (LA529_0 == PARTITION_SYMBOL))
                    {
                        alt529=1;
                    }
                }
                switch (alt529)
                {
            	case 1:
            	    // MySQL.g:1604:19: load_table_index_partion
            	    {
            	        FOLLOWPUSH(FOLLOW_load_table_index_partion_in_load_table_index_list8867);
            	        load_table_index_partion1701=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_partion1701.tree);

            	    }
            	    break;

                }
            }

            // MySQL.g:1605:3: ( ( INDEX_SYMBOL | KEY_SYMBOL )? identifier_list_with_parentheses )?
            {
                int alt531=2;
                switch ( LA(1) )
                {
                    case INDEX_SYMBOL:
                    case KEY_SYMBOL:
                    case OPEN_PAR_SYMBOL:
                    	{
                    		alt531=1;
                    	}
                        break;
                }

                switch (alt531)
                {
            	case 1:
            	    // MySQL.g:1605:4: ( INDEX_SYMBOL | KEY_SYMBOL )? identifier_list_with_parentheses
            	    {
            	        // MySQL.g:1605:4: ( INDEX_SYMBOL | KEY_SYMBOL )?
            	        {
            	            int alt530=2;
            	            switch ( LA(1) )
            	            {
            	                case INDEX_SYMBOL:
            	                case KEY_SYMBOL:
            	                	{
            	                		alt530=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt530)
            	            {
            	        	case 1:
            	        	    // MySQL.g:
            	        	    {
            	        	        set1702=(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, set1702))
            	        	            );
            	        	            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_list8882);
            	        identifier_list_with_parentheses1703=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_parentheses1703.tree);

            	    }
            	    break;

                }
            }

            // MySQL.g:1605:68: ( IGNORE_SYMBOL LEAVES_SYMBOL )?
            {
                int alt532=2;
                switch ( LA(1) )
                {
                    case IGNORE_SYMBOL:
                    	{
                    		alt532=1;
                    	}
                        break;
                }

                switch (alt532)
                {
            	case 1:
            	    // MySQL.g:1605:69: IGNORE_SYMBOL LEAVES_SYMBOL
            	    {
            	        IGNORE_SYMBOL1704 = (pANTLR3_COMMON_TOKEN) MATCHT(IGNORE_SYMBOL, &FOLLOW_IGNORE_SYMBOL_in_load_table_index_list8887);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleload_table_index_listEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        IGNORE_SYMBOL1704_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, IGNORE_SYMBOL1704));
            	        ADAPTOR->addChild(ADAPTOR, root_0, IGNORE_SYMBOL1704_tree);
            	        }

            	        LEAVES_SYMBOL1705 = (pANTLR3_COMMON_TOKEN) MATCHT(LEAVES_SYMBOL, &FOLLOW_LEAVES_SYMBOL_in_load_table_index_list8889);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleload_table_index_listEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        LEAVES_SYMBOL1705_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, LEAVES_SYMBOL1705));
            	        ADAPTOR->addChild(ADAPTOR, root_0, LEAVES_SYMBOL1705_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:1608: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_SYMBOL1706;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL1707;
    pANTLR3_COMMON_TOKEN    ALL_SYMBOL1709;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL1710;
    MySQLParser_identifier_list_return identifier_list1708;
    #undef	RETURN_TYPE_identifier_list1708
    #define	RETURN_TYPE_identifier_list1708 MySQLParser_identifier_list_return

    pANTLR3_BASE_TREE PARTITION_SYMBOL1706_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL1707_tree;
    pANTLR3_BASE_TREE ALL_SYMBOL1709_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL1710_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    PARTITION_SYMBOL1706       = NULL;
    OPEN_PAR_SYMBOL1707       = NULL;
    ALL_SYMBOL1709       = NULL;
    CLOSE_PAR_SYMBOL1710       = NULL;
    identifier_list1708.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    PARTITION_SYMBOL1706_tree   = NULL;
    OPEN_PAR_SYMBOL1707_tree   = NULL;
    ALL_SYMBOL1709_tree   = NULL;
    CLOSE_PAR_SYMBOL1710_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1608:25: ({...}? => ( PARTITION_SYMBOL OPEN_PAR_SYMBOL ( identifier_list | ALL_SYMBOL ) CLOSE_PAR_SYMBOL ) )
        // MySQL.g:1609: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:1609:32: ( PARTITION_SYMBOL OPEN_PAR_SYMBOL ( identifier_list | ALL_SYMBOL ) CLOSE_PAR_SYMBOL )
            // MySQL.g:1609:33: PARTITION_SYMBOL OPEN_PAR_SYMBOL ( identifier_list | ALL_SYMBOL ) CLOSE_PAR_SYMBOL
            {
                PARTITION_SYMBOL1706 = (pANTLR3_COMMON_TOKEN) MATCHT(PARTITION_SYMBOL, &FOLLOW_PARTITION_SYMBOL_in_load_table_index_partion8905);
                if  (HASEXCEPTION())
                {
                    goto ruleload_table_index_partionEx;
                }
                if (HASFAILED())
                {
                    return retval;
                }

                if ( BACKTRACKING==0 ) {
                PARTITION_SYMBOL1706_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, PARTITION_SYMBOL1706));
                ADAPTOR->addChild(ADAPTOR, root_0, PARTITION_SYMBOL1706_tree);
                }

                OPEN_PAR_SYMBOL1707 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_load_table_index_partion8907);
                if  (HASEXCEPTION())
                {
                    goto ruleload_table_index_partionEx;
                }
                if (HASFAILED())
                {
                    return retval;
                }

                if ( BACKTRACKING==0 ) {
                OPEN_PAR_SYMBOL1707_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL1707));
                ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL1707_tree);
                }

                // MySQL.g:1609:66: ( identifier_list | ALL_SYMBOL )
                {
                    int alt533=2;
                    {
                        int LA533_0 = LA(1);
                        if ( (LA533_0 == BACK_TICK_QUOTED_ID || LA533_0 == IDENTIFIER))
                        {
                            alt533=1;
                        }
                        else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA533_0 == DOUBLE_QUOTED_TEXT))
                        {
                            alt533=1;
                        }
                        else if ( (((LA533_0 >= ACTION_SYMBOL) && (LA533_0 <= PARTITION_SYMBOL))))
                        {
                            alt533=1;
                        }
                        else if ( (LA533_0 == ALL_SYMBOL))
                        {
                            alt533=2;
                        }
                        else
                        {
                            if (BACKTRACKING>0)
                            {
                                FAILEDFLAG = ANTLR3_TRUE;
                                return retval;
                            }


                            CONSTRUCTEX();
                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                            EXCEPTION->message      = (void *)"";
                            EXCEPTION->decisionNum  = 533;
                            EXCEPTION->state        = 0;


                            goto ruleload_table_index_partionEx;

                        }
                    }
                    switch (alt533)
                    {
                	case 1:
                	    // MySQL.g:1609:67: identifier_list
                	    {
                	        FOLLOWPUSH(FOLLOW_identifier_list_in_load_table_index_partion8910);
                	        identifier_list1708=identifier_list(ctx);

                	        FOLLOWPOP();
                	        if  (HASEXCEPTION())
                	        {
                	            goto ruleload_table_index_partionEx;
                	        }
                	        if (HASFAILED())
                	        {
                	            return retval;
                	        }

                	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier_list1708.tree);

                	    }
                	    break;
                	case 2:
                	    // MySQL.g:1609:85: ALL_SYMBOL
                	    {
                	        ALL_SYMBOL1709 = (pANTLR3_COMMON_TOKEN) MATCHT(ALL_SYMBOL, &FOLLOW_ALL_SYMBOL_in_load_table_index_partion8914);
                	        if  (HASEXCEPTION())
                	        {
                	            goto ruleload_table_index_partionEx;
                	        }
                	        if (HASFAILED())
                	        {
                	            return retval;
                	        }

                	        if ( BACKTRACKING==0 ) {
                	        ALL_SYMBOL1709_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ALL_SYMBOL1709));
                	        ADAPTOR->addChild(ADAPTOR, root_0, ALL_SYMBOL1709_tree);
                	        }

                	    }
                	    break;

                    }
                }

                CLOSE_PAR_SYMBOL1710 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_load_table_index_partion8917);
                if  (HASEXCEPTION())
                {
                    goto ruleload_table_index_partionEx;
                }
                if (HASFAILED())
                {
                    return retval;
                }

                if ( BACKTRACKING==0 ) {
                CLOSE_PAR_SYMBOL1710_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL1710));
                ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL1710_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:1612:1: reset_option : ( MASTER_SYMBOL | QUERY_SYMBOL CACHE_SYMBOL | SLAVE_SYMBOL );
 */
static MySQLParser_reset_option_return
reset_option(pMySQLParser ctx)
{
    MySQLParser_reset_option_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    MASTER_SYMBOL1711;
    pANTLR3_COMMON_TOKEN    QUERY_SYMBOL1712;
    pANTLR3_COMMON_TOKEN    CACHE_SYMBOL1713;
    pANTLR3_COMMON_TOKEN    SLAVE_SYMBOL1714;

    pANTLR3_BASE_TREE MASTER_SYMBOL1711_tree;
    pANTLR3_BASE_TREE QUERY_SYMBOL1712_tree;
    pANTLR3_BASE_TREE CACHE_SYMBOL1713_tree;
    pANTLR3_BASE_TREE SLAVE_SYMBOL1714_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    MASTER_SYMBOL1711       = NULL;
    QUERY_SYMBOL1712       = NULL;
    CACHE_SYMBOL1713       = NULL;
    SLAVE_SYMBOL1714       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    MASTER_SYMBOL1711_tree   = NULL;
    QUERY_SYMBOL1712_tree   = NULL;
    CACHE_SYMBOL1713_tree   = NULL;
    SLAVE_SYMBOL1714_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:1612:13: ( MASTER_SYMBOL | QUERY_SYMBOL CACHE_SYMBOL | SLAVE_SYMBOL )

            ANTLR3_UINT32 alt534;

            alt534=3;

            switch ( LA(1) )
            {
            case MASTER_SYMBOL:
            	{
            		alt534=1;
            	}
                break;
            case QUERY_SYMBOL:
            	{
            		alt534=2;
            	}
                break;
            case SLAVE_SYMBOL:
            	{
            		alt534=3;
            	}
                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 rulereset_optionEx;

            }

            switch (alt534)
            {
        	case 1:
        	    // MySQL.g:1613:2: MASTER_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        MASTER_SYMBOL1711 = (pANTLR3_COMMON_TOKEN) MATCHT(MASTER_SYMBOL, &FOLLOW_MASTER_SYMBOL_in_reset_option8927);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulereset_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        MASTER_SYMBOL1711_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MASTER_SYMBOL1711));
        	        ADAPTOR->addChild(ADAPTOR, root_0, MASTER_SYMBOL1711_tree);
        	        }

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:1613:18: QUERY_SYMBOL CACHE_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        QUERY_SYMBOL1712 = (pANTLR3_COMMON_TOKEN) MATCHT(QUERY_SYMBOL, &FOLLOW_QUERY_SYMBOL_in_reset_option8931);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulereset_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        QUERY_SYMBOL1712_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, QUERY_SYMBOL1712));
        	        ADAPTOR->addChild(ADAPTOR, root_0, QUERY_SYMBOL1712_tree);
        	        }

        	        CACHE_SYMBOL1713 = (pANTLR3_COMMON_TOKEN) MATCHT(CACHE_SYMBOL, &FOLLOW_CACHE_SYMBOL_in_reset_option8933);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulereset_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CACHE_SYMBOL1713_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CACHE_SYMBOL1713));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CACHE_SYMBOL1713_tree);
        	        }

        	    }
        	    break;
        	case 3:
        	    // MySQL.g:1613:46: SLAVE_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        SLAVE_SYMBOL1714 = (pANTLR3_COMMON_TOKEN) MATCHT(SLAVE_SYMBOL, &FOLLOW_SLAVE_SYMBOL_in_reset_option8937);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulereset_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        SLAVE_SYMBOL1714_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SLAVE_SYMBOL1714));
        	        ADAPTOR->addChild(ADAPTOR, root_0, SLAVE_SYMBOL1714_tree);
        	        }

        	    }
        	    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:1618:1: utility_statement : ( describe_command ( table_identifier ( text_or_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_SYMBOL1718;
    pANTLR3_COMMON_TOKEN    PARTITIONS_SYMBOL1719;
    pANTLR3_COMMON_TOKEN    FORMAT_SYMBOL1720;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR1721;
    pANTLR3_COMMON_TOKEN    HELP_SYMBOL1724;
    pANTLR3_COMMON_TOKEN    USE_SYMBOL1726;
    MySQLParser_describe_command_return describe_command1715;
    #undef	RETURN_TYPE_describe_command1715
    #define	RETURN_TYPE_describe_command1715 MySQLParser_describe_command_return

    MySQLParser_table_identifier_return table_identifier1716;
    #undef	RETURN_TYPE_table_identifier1716
    #define	RETURN_TYPE_table_identifier1716 MySQLParser_table_identifier_return

    MySQLParser_text_or_identifier_return text_or_identifier1717;
    #undef	RETURN_TYPE_text_or_identifier1717
    #define	RETURN_TYPE_text_or_identifier1717 MySQLParser_text_or_identifier_return

    MySQLParser_text_or_identifier_return text_or_identifier1722;
    #undef	RETURN_TYPE_text_or_identifier1722
    #define	RETURN_TYPE_text_or_identifier1722 MySQLParser_text_or_identifier_return

    MySQLParser_explainable_statement_return explainable_statement1723;
    #undef	RETURN_TYPE_explainable_statement1723
    #define	RETURN_TYPE_explainable_statement1723 MySQLParser_explainable_statement_return

    MySQLParser_text_or_identifier_return text_or_identifier1725;
    #undef	RETURN_TYPE_text_or_identifier1725
    #define	RETURN_TYPE_text_or_identifier1725 MySQLParser_text_or_identifier_return

    MySQLParser_identifier_return identifier1727;
    #undef	RETURN_TYPE_identifier1727
    #define	RETURN_TYPE_identifier1727 MySQLParser_identifier_return

    pANTLR3_BASE_TREE EXTENDED_SYMBOL1718_tree;
    pANTLR3_BASE_TREE PARTITIONS_SYMBOL1719_tree;
    pANTLR3_BASE_TREE FORMAT_SYMBOL1720_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR1721_tree;
    pANTLR3_BASE_TREE HELP_SYMBOL1724_tree;
    pANTLR3_BASE_TREE USE_SYMBOL1726_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    EXTENDED_SYMBOL1718       = NULL;
    PARTITIONS_SYMBOL1719       = NULL;
    FORMAT_SYMBOL1720       = NULL;
    EQUAL_OPERATOR1721       = NULL;
    HELP_SYMBOL1724       = NULL;
    USE_SYMBOL1726       = NULL;
    describe_command1715.tree = NULL;

    table_identifier1716.tree = NULL;

    text_or_identifier1717.tree = NULL;

    text_or_identifier1722.tree = NULL;

    explainable_statement1723.tree = NULL;

    text_or_identifier1725.tree = NULL;

    identifier1727.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    EXTENDED_SYMBOL1718_tree   = NULL;
    PARTITIONS_SYMBOL1719_tree   = NULL;
    FORMAT_SYMBOL1720_tree   = NULL;
    EQUAL_OPERATOR1721_tree   = NULL;
    HELP_SYMBOL1724_tree   = NULL;
    USE_SYMBOL1726_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:1618:18: ( describe_command ( table_identifier ( text_or_identifier )? | ( EXTENDED_SYMBOL |{...}? => PARTITIONS_SYMBOL |{...}? => FORMAT_SYMBOL EQUAL_OPERATOR text_or_identifier )? explainable_statement ) | HELP_SYMBOL ^ text_or_identifier | USE_SYMBOL ^ identifier )

            ANTLR3_UINT32 alt538;

            alt538=3;

            switch ( LA(1) )
            {
            case DESCRIBE_SYMBOL:
            case DESC_SYMBOL:
            	{
            		alt538=1;
            	}
                break;
            case HELP_SYMBOL:
            	{
            		alt538=2;
            	}
                break;
            case USE_SYMBOL:
            	{
            		alt538=3;
            	}
                break;

            default:
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                EXCEPTION->message      = (void *)"";
                EXCEPTION->decisionNum  = 538;
                EXCEPTION->state        = 0;


                goto ruleutility_statementEx;

            }

            switch (alt538)
            {
        	case 1:
        	    // MySQL.g:1619:2: describe_command ( table_identifier ( text_or_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_statement8948);
        	        describe_command1715=describe_command(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleutility_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, describe_command1715.tree);

        	        // MySQL.g:1620:3: ( table_identifier ( text_or_identifier )? | ( EXTENDED_SYMBOL |{...}? => PARTITIONS_SYMBOL |{...}? => FORMAT_SYMBOL EQUAL_OPERATOR text_or_identifier )? explainable_statement )
        	        {
        	            int alt537=2;
        	            {
        	                int LA537_0 = LA(1);
        	                if ( (LA537_0 == BACK_TICK_QUOTED_ID || LA537_0 == IDENTIFIER))
        	                {
        	                    alt537=1;
        	                }
        	                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA537_0 == DOUBLE_QUOTED_TEXT))
        	                {
        	                    alt537=1;
        	                }
        	                else if ( (LA537_0 == EXTENDED_SYMBOL))
        	                {
        	                    {
        	                        int LA537_4 = LA(2);
        	                        if ( (LA537_4 == EOF || ((LA537_4 >= ACTION_SYMBOL) && (LA537_4 <= PARTITION_SYMBOL)) || LA537_4 == BACK_TICK_QUOTED_ID || LA537_4 == DOT_SYMBOL || LA537_4 == DOUBLE_QUOTED_TEXT || LA537_4 == IDENTIFIER || LA537_4 == NCHAR_TEXT || LA537_4 == SEMICOLON_SYMBOL || LA537_4 == SINGLE_QUOTED_TEXT || LA537_4 == UNDERSCORE_CHARSET))
        	                        {
        	                            alt537=1;
        	                        }
        	                        else if ( (LA537_4 == DELETE_SYMBOL || LA537_4 == INSERT_SYMBOL || LA537_4 == OPEN_PAR_SYMBOL || LA537_4 == REPLACE_SYMBOL || LA537_4 == SELECT_SYMBOL || LA537_4 == UPDATE_SYMBOL))
        	                        {
        	                            alt537=2;
        	                        }
        	                        else
        	                        {
        	                            if (BACKTRACKING>0)
        	                            {
        	                                FAILEDFLAG = ANTLR3_TRUE;
        	                                return retval;
        	                            }


        	                            CONSTRUCTEX();
        	                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                            EXCEPTION->message      = (void *)"";
        	                            EXCEPTION->decisionNum  = 537;
        	                            EXCEPTION->state        = 4;


        	                            goto ruleutility_statementEx;

        	                        }
        	                    }
        	                }
        	                else if ( (((LA537_0 >= ACTION_SYMBOL) && (LA537_0 <= EXPORT_SYMBOL)) || ((LA537_0 >= EXTENT_SIZE_SYMBOL) && (LA537_0 <= PARTITIONING_SYMBOL)) || ((LA537_0 >= PASSWORD_SYMBOL) && (LA537_0 <= FLUSH_SYMBOL)) || ((LA537_0 >= HANDLER_SYMBOL) && (LA537_0 <= PARTITION_SYMBOL)) || LA537_0 == DOT_SYMBOL))
        	                {
        	                    alt537=1;
        	                }
        	                else if ( (LA537_0 == FORMAT_SYMBOL))
        	                {
        	                    {
        	                        int LA537_6 = LA(2);
        	                        if ( ((SERVER_VERSION >= 50605)) && (LA537_6 == EQUAL_OPERATOR))
        	                        {
        	                            alt537=2;
        	                        }
        	                        else if ( (LA537_6 == EOF || ((LA537_6 >= ACTION_SYMBOL) && (LA537_6 <= PARTITION_SYMBOL)) || LA537_6 == BACK_TICK_QUOTED_ID || LA537_6 == DOT_SYMBOL || LA537_6 == DOUBLE_QUOTED_TEXT || LA537_6 == IDENTIFIER || LA537_6 == NCHAR_TEXT || LA537_6 == SEMICOLON_SYMBOL || LA537_6 == SINGLE_QUOTED_TEXT || LA537_6 == UNDERSCORE_CHARSET))
        	                        {
        	                            alt537=1;
        	                        }
        	                        else
        	                        {
        	                            if (BACKTRACKING>0)
        	                            {
        	                                FAILEDFLAG = ANTLR3_TRUE;
        	                                return retval;
        	                            }


        	                            CONSTRUCTEX();
        	                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                            EXCEPTION->message      = (void *)"";
        	                            EXCEPTION->decisionNum  = 537;
        	                            EXCEPTION->state        = 6;


        	                            goto ruleutility_statementEx;

        	                        }
        	                    }
        	                }
        	                else if ( (LA537_0 == PARTITIONS_SYMBOL))
        	                {
        	                    {
        	                        int LA537_8 = LA(2);
        	                        if ( (LA537_8 == EOF || ((LA537_8 >= ACTION_SYMBOL) && (LA537_8 <= PARTITION_SYMBOL)) || LA537_8 == BACK_TICK_QUOTED_ID || LA537_8 == DOT_SYMBOL || LA537_8 == DOUBLE_QUOTED_TEXT || LA537_8 == IDENTIFIER || LA537_8 == NCHAR_TEXT || LA537_8 == SEMICOLON_SYMBOL || LA537_8 == SINGLE_QUOTED_TEXT || LA537_8 == UNDERSCORE_CHARSET))
        	                        {
        	                            alt537=1;
        	                        }
        	                        else if ( ((SERVER_VERSION >= 50105)) && (LA537_8 == DELETE_SYMBOL || LA537_8 == INSERT_SYMBOL || LA537_8 == OPEN_PAR_SYMBOL || LA537_8 == REPLACE_SYMBOL || LA537_8 == SELECT_SYMBOL || LA537_8 == UPDATE_SYMBOL))
        	                        {
        	                            alt537=2;
        	                        }
        	                        else
        	                        {
        	                            if (BACKTRACKING>0)
        	                            {
        	                                FAILEDFLAG = ANTLR3_TRUE;
        	                                return retval;
        	                            }


        	                            CONSTRUCTEX();
        	                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                            EXCEPTION->message      = (void *)"";
        	                            EXCEPTION->decisionNum  = 537;
        	                            EXCEPTION->state        = 8;


        	                            goto ruleutility_statementEx;

        	                        }
        	                    }
        	                }
        	                else if ( ((SERVER_VERSION >= 50603)) && (LA537_0 == DELETE_SYMBOL || LA537_0 == INSERT_SYMBOL || LA537_0 == REPLACE_SYMBOL || LA537_0 == UPDATE_SYMBOL))
        	                {
        	                    alt537=2;
        	                }
        	                else if ( (LA537_0 == OPEN_PAR_SYMBOL || LA537_0 == SELECT_SYMBOL))
        	                {
        	                    alt537=2;
        	                }
        	                else
        	                {
        	                    if (BACKTRACKING>0)
        	                    {
        	                        FAILEDFLAG = ANTLR3_TRUE;
        	                        return retval;
        	                    }


        	                    CONSTRUCTEX();
        	                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                    EXCEPTION->message      = (void *)"";
        	                    EXCEPTION->decisionNum  = 537;
        	                    EXCEPTION->state        = 0;


        	                    goto ruleutility_statementEx;

        	                }
        	            }
        	            switch (alt537)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1621:4: table_identifier ( text_or_identifier )?
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_table_identifier_in_utility_statement8957);
        	        	        table_identifier1716=table_identifier(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleutility_statementEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, table_identifier1716.tree);

        	        	        // MySQL.g:1621:21: ( text_or_identifier )?
        	        	        {
        	        	            int alt535=2;
        	        	            {
        	        	                int LA535_0 = LA(1);
        	        	                if ( (LA535_0 == NCHAR_TEXT || LA535_0 == SINGLE_QUOTED_TEXT || LA535_0 == UNDERSCORE_CHARSET))
        	        	                {
        	        	                    alt535=1;
        	        	                }
        	        	                else if ( ((((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES)))||((!SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))))) && (LA535_0 == DOUBLE_QUOTED_TEXT))
        	        	                {
        	        	                    alt535=1;
        	        	                }
        	        	                else if ( (((LA535_0 >= ACTION_SYMBOL) && (LA535_0 <= PARTITION_SYMBOL)) || LA535_0 == BACK_TICK_QUOTED_ID || LA535_0 == IDENTIFIER))
        	        	                {
        	        	                    alt535=1;
        	        	                }
        	        	            }
        	        	            switch (alt535)
        	        	            {
        	        	        	case 1:
        	        	        	    // MySQL.g:1621:21: text_or_identifier
        	        	        	    {
        	        	        	        FOLLOWPUSH(FOLLOW_text_or_identifier_in_utility_statement8959);
        	        	        	        text_or_identifier1717=text_or_identifier(ctx);

        	        	        	        FOLLOWPOP();
        	        	        	        if  (HASEXCEPTION())
        	        	        	        {
        	        	        	            goto ruleutility_statementEx;
        	        	        	        }
        	        	        	        if (HASFAILED())
        	        	        	        {
        	        	        	            return retval;
        	        	        	        }

        	        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, text_or_identifier1717.tree);

        	        	        	    }
        	        	        	    break;

        	        	            }
        	        	        }

        	        	    }
        	        	    break;
        	        	case 2:
        	        	    // MySQL.g:1623:5: ( EXTENDED_SYMBOL |{...}? => PARTITIONS_SYMBOL |{...}? => FORMAT_SYMBOL EQUAL_OPERATOR text_or_identifier )? explainable_statement
        	        	    {
        	        	        // MySQL.g:1623:5: ( EXTENDED_SYMBOL |{...}? => PARTITIONS_SYMBOL |{...}? => FORMAT_SYMBOL EQUAL_OPERATOR text_or_identifier )?
        	        	        {
        	        	            int alt536=4;
        	        	            {
        	        	                int LA536_0 = LA(1);
        	        	                if ( (LA536_0 == EXTENDED_SYMBOL))
        	        	                {
        	        	                    alt536=1;
        	        	                }
        	        	                else if ( ((SERVER_VERSION >= 50105)) && (LA536_0 == PARTITIONS_SYMBOL))
        	        	                {
        	        	                    alt536=2;
        	        	                }
        	        	                else if ( ((SERVER_VERSION >= 50605)) && (LA536_0 == FORMAT_SYMBOL))
        	        	                {
        	        	                    alt536=3;
        	        	                }
        	        	            }
        	        	            switch (alt536)
        	        	            {
        	        	        	case 1:
        	        	        	    // MySQL.g:1626:6: EXTENDED_SYMBOL
        	        	        	    {
        	        	        	        EXTENDED_SYMBOL1718 = (pANTLR3_COMMON_TOKEN) MATCHT(EXTENDED_SYMBOL, &FOLLOW_EXTENDED_SYMBOL_in_utility_statement8990);
        	        	        	        if  (HASEXCEPTION())
        	        	        	        {
        	        	        	            goto ruleutility_statementEx;
        	        	        	        }
        	        	        	        if (HASFAILED())
        	        	        	        {
        	        	        	            return retval;
        	        	        	        }

        	        	        	        if ( BACKTRACKING==0 ) {
        	        	        	        EXTENDED_SYMBOL1718_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EXTENDED_SYMBOL1718));
        	        	        	        ADAPTOR->addChild(ADAPTOR, root_0, EXTENDED_SYMBOL1718_tree);
        	        	        	        }

        	        	        	    }
        	        	        	    break;
        	        	        	case 2:
        	        	        	    // MySQL.g:1627: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_SYMBOL1719 = (pANTLR3_COMMON_TOKEN) MATCHT(PARTITIONS_SYMBOL, &FOLLOW_PARTITIONS_SYMBOL_in_utility_statement9003);
        	        	        	        if  (HASEXCEPTION())
        	        	        	        {
        	        	        	            goto ruleutility_statementEx;
        	        	        	        }
        	        	        	        if (HASFAILED())
        	        	        	        {
        	        	        	            return retval;
        	        	        	        }

        	        	        	        if ( BACKTRACKING==0 ) {
        	        	        	        PARTITIONS_SYMBOL1719_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, PARTITIONS_SYMBOL1719));
        	        	        	        ADAPTOR->addChild(ADAPTOR, root_0, PARTITIONS_SYMBOL1719_tree);
        	        	        	        }

        	        	        	    }
        	        	        	    break;
        	        	        	case 3:
        	        	        	    // MySQL.g:1628: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_SYMBOL1720 = (pANTLR3_COMMON_TOKEN) MATCHT(FORMAT_SYMBOL, &FOLLOW_FORMAT_SYMBOL_in_utility_statement9016);
        	        	        	        if  (HASEXCEPTION())
        	        	        	        {
        	        	        	            goto ruleutility_statementEx;
        	        	        	        }
        	        	        	        if (HASFAILED())
        	        	        	        {
        	        	        	            return retval;
        	        	        	        }

        	        	        	        if ( BACKTRACKING==0 ) {
        	        	        	        FORMAT_SYMBOL1720_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, FORMAT_SYMBOL1720));
        	        	        	        ADAPTOR->addChild(ADAPTOR, root_0, FORMAT_SYMBOL1720_tree);
        	        	        	        }

        	        	        	        EQUAL_OPERATOR1721 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_utility_statement9018);
        	        	        	        if  (HASEXCEPTION())
        	        	        	        {
        	        	        	            goto ruleutility_statementEx;
        	        	        	        }
        	        	        	        if (HASFAILED())
        	        	        	        {
        	        	        	            return retval;
        	        	        	        }

        	        	        	        if ( BACKTRACKING==0 ) {
        	        	        	        EQUAL_OPERATOR1721_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR1721));
        	        	        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR1721_tree);
        	        	        	        }

        	        	        	        FOLLOWPUSH(FOLLOW_text_or_identifier_in_utility_statement9020);
        	        	        	        text_or_identifier1722=text_or_identifier(ctx);

        	        	        	        FOLLOWPOP();
        	        	        	        if  (HASEXCEPTION())
        	        	        	        {
        	        	        	            goto ruleutility_statementEx;
        	        	        	        }
        	        	        	        if (HASFAILED())
        	        	        	        {
        	        	        	            return retval;
        	        	        	        }

        	        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, text_or_identifier1722.tree);

        	        	        	    }
        	        	        	    break;

        	        	            }
        	        	        }

        	        	        FOLLOWPUSH(FOLLOW_explainable_statement_in_utility_statement9029);
        	        	        explainable_statement1723=explainable_statement(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleutility_statementEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, explainable_statement1723.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:1631:4: HELP_SYMBOL ^ text_or_identifier
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        HELP_SYMBOL1724 = (pANTLR3_COMMON_TOKEN) MATCHT(HELP_SYMBOL, &FOLLOW_HELP_SYMBOL_in_utility_statement9038);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleutility_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        HELP_SYMBOL1724_tree = 
        	        (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, HELP_SYMBOL1724))
        	        ;
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, HELP_SYMBOL1724_tree, root_0));
        	        }

        	        FOLLOWPUSH(FOLLOW_text_or_identifier_in_utility_statement9041);
        	        text_or_identifier1725=text_or_identifier(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleutility_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, text_or_identifier1725.tree);

        	    }
        	    break;
        	case 3:
        	    // MySQL.g:1632:4: USE_SYMBOL ^ identifier
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        USE_SYMBOL1726 = (pANTLR3_COMMON_TOKEN) MATCHT(USE_SYMBOL, &FOLLOW_USE_SYMBOL_in_utility_statement9046);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleutility_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        USE_SYMBOL1726_tree = 
        	        (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, USE_SYMBOL1726))
        	        ;
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, USE_SYMBOL1726_tree, root_0));
        	        }

        	        FOLLOWPUSH(FOLLOW_identifier_in_utility_statement9049);
        	        identifier1727=identifier(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleutility_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier1727.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:1635: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_SYMBOL1728;
    pANTLR3_COMMON_TOKEN    DESC_SYMBOL1729;

    pANTLR3_BASE_TREE DESCRIBE_SYMBOL1728_tree;
    pANTLR3_BASE_TREE DESC_SYMBOL1729_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    DESCRIBE_SYMBOL1728       = NULL;
    DESC_SYMBOL1729       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    DESCRIBE_SYMBOL1728_tree   = NULL;
    DESC_SYMBOL1729_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:1635:17: ( DESCRIBE_SYMBOL ^| DESC_SYMBOL ^)

            ANTLR3_UINT32 alt539;

            alt539=2;

            switch ( LA(1) )
            {
            case DESCRIBE_SYMBOL:
            	{
            		alt539=1;
            	}
                break;
            case DESC_SYMBOL:
            	{
            		alt539=2;
            	}
                break;

            default:
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                EXCEPTION->message      = (void *)"";
                EXCEPTION->decisionNum  = 539;
                EXCEPTION->state        = 0;


                goto ruledescribe_commandEx;

            }

            switch (alt539)
            {
        	case 1:
        	    // MySQL.g:1636:2: DESCRIBE_SYMBOL ^
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        DESCRIBE_SYMBOL1728 = (pANTLR3_COMMON_TOKEN) MATCHT(DESCRIBE_SYMBOL, &FOLLOW_DESCRIBE_SYMBOL_in_describe_command9058);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruledescribe_commandEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        DESCRIBE_SYMBOL1728_tree = 
        	        (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DESCRIBE_SYMBOL1728))
        	        ;
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, DESCRIBE_SYMBOL1728_tree, root_0));
        	        }

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:1636:21: DESC_SYMBOL ^
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        DESC_SYMBOL1729 = (pANTLR3_COMMON_TOKEN) MATCHT(DESC_SYMBOL, &FOLLOW_DESC_SYMBOL_in_describe_command9063);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruledescribe_commandEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        DESC_SYMBOL1729_tree = 
        	        (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DESC_SYMBOL1729))
        	        ;
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, DESC_SYMBOL1729_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:1640:1: explainable_statement : ({...}? => ( delete_statement | insert_statement | replace_statement | update_statement ) | select_statement );
 */
static MySQLParser_explainable_statement_return
explainable_statement(pMySQLParser ctx)
{
    MySQLParser_explainable_statement_return retval;


    pANTLR3_BASE_TREE root_0;

    MySQLParser_delete_statement_return delete_statement1730;
    #undef	RETURN_TYPE_delete_statement1730
    #define	RETURN_TYPE_delete_statement1730 MySQLParser_delete_statement_return

    MySQLParser_insert_statement_return insert_statement1731;
    #undef	RETURN_TYPE_insert_statement1731
    #define	RETURN_TYPE_insert_statement1731 MySQLParser_insert_statement_return

    MySQLParser_replace_statement_return replace_statement1732;
    #undef	RETURN_TYPE_replace_statement1732
    #define	RETURN_TYPE_replace_statement1732 MySQLParser_replace_statement_return

    MySQLParser_update_statement_return update_statement1733;
    #undef	RETURN_TYPE_update_statement1733
    #define	RETURN_TYPE_update_statement1733 MySQLParser_update_statement_return

    MySQLParser_select_statement_return select_statement1734;
    #undef	RETURN_TYPE_select_statement1734
    #define	RETURN_TYPE_select_statement1734 MySQLParser_select_statement_return


    /* Initialize rule variables
     */

    root_0 = NULL;

    delete_statement1730.tree = NULL;

    insert_statement1731.tree = NULL;

    replace_statement1732.tree = NULL;

    update_statement1733.tree = NULL;

    select_statement1734.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;




    retval.tree  = NULL;

    {
        {
            //  MySQL.g:1640:22: ({...}? => ( delete_statement | insert_statement | replace_statement | update_statement ) | select_statement )

            ANTLR3_UINT32 alt541;

            alt541=2;

            {
                int LA541_0 = LA(1);
                if ( ((SERVER_VERSION >= 50603)) && (LA541_0 == DELETE_SYMBOL || LA541_0 == INSERT_SYMBOL || LA541_0 == REPLACE_SYMBOL || LA541_0 == UPDATE_SYMBOL))
                {
                    alt541=1;
                }
                else if ( (LA541_0 == OPEN_PAR_SYMBOL || LA541_0 == SELECT_SYMBOL))
                {
                    alt541=2;
                }
                else
                {
                    if (BACKTRACKING>0)
                    {
                        FAILEDFLAG = ANTLR3_TRUE;
                        return retval;
                    }


                    CONSTRUCTEX();
                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    EXCEPTION->message      = (void *)"";
                    EXCEPTION->decisionNum  = 541;
                    EXCEPTION->state        = 0;


                    goto ruleexplainable_statementEx;

                }
            }
            switch (alt541)
            {
        	case 1:
        	    // MySQL.g:1641:2: {...}? => ( 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:1642:3: ( delete_statement | insert_statement | replace_statement | update_statement )
        	        {
        	            int alt540=4;
        	            switch ( LA(1) )
        	            {
        	            case DELETE_SYMBOL:
        	            	{
        	            		alt540=1;
        	            	}
        	                break;
        	            case INSERT_SYMBOL:
        	            	{
        	            		alt540=2;
        	            	}
        	                break;
        	            case REPLACE_SYMBOL:
        	            	{
        	            		alt540=3;
        	            	}
        	                break;
        	            case UPDATE_SYMBOL:
        	            	{
        	            		alt540=4;
        	            	}
        	                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 ruleexplainable_statementEx;

        	            }

        	            switch (alt540)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1643:4: delete_statement
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_delete_statement_in_explainable_statement9085);
        	        	        delete_statement1730=delete_statement(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleexplainable_statementEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, delete_statement1730.tree);

        	        	    }
        	        	    break;
        	        	case 2:
        	        	    // MySQL.g:1644:6: insert_statement
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_insert_statement_in_explainable_statement9092);
        	        	        insert_statement1731=insert_statement(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleexplainable_statementEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, insert_statement1731.tree);

        	        	    }
        	        	    break;
        	        	case 3:
        	        	    // MySQL.g:1645:6: replace_statement
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_replace_statement_in_explainable_statement9099);
        	        	        replace_statement1732=replace_statement(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleexplainable_statementEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, replace_statement1732.tree);

        	        	    }
        	        	    break;
        	        	case 4:
        	        	    // MySQL.g:1646:6: update_statement
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_update_statement_in_explainable_statement9106);
        	        	        update_statement1733=update_statement(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleexplainable_statementEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, update_statement1733.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:1648:4: select_statement
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_select_statement_in_explainable_statement9115);
        	        select_statement1734=select_statement(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleexplainable_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, select_statement1734.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:1656:1: expression : 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_expression1735;
    #undef	RETURN_TYPE_logical_or_expression1735
    #define	RETURN_TYPE_logical_or_expression1735 MySQLParser_logical_or_expression_return


    /* Initialize rule variables
     */

    root_0 = NULL;

    logical_or_expression1735.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;




    retval.tree  = NULL;

    {
        // MySQL.g:1656:11: ( logical_or_expression )
        // MySQL.g:1657:2: logical_or_expression
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            FOLLOWPUSH(FOLLOW_logical_or_expression_in_expression9129);
            logical_or_expression1735=logical_or_expression(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruleexpressionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, logical_or_expression1735.tree);

        }

    }

    // 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 (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:1660: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    set1737;
    MySQLParser_logical_xor_expression_return logical_xor_expression1736;
    #undef	RETURN_TYPE_logical_xor_expression1736
    #define	RETURN_TYPE_logical_xor_expression1736 MySQLParser_logical_xor_expression_return

    MySQLParser_logical_xor_expression_return logical_xor_expression1738;
    #undef	RETURN_TYPE_logical_xor_expression1738
    #define	RETURN_TYPE_logical_xor_expression1738 MySQLParser_logical_xor_expression_return

    pANTLR3_BASE_TREE set1737_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    set1737       = NULL;
    logical_xor_expression1736.tree = NULL;

    logical_xor_expression1738.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    set1737_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1660:22: ( logical_xor_expression ( options {greedy=true; } : ( LOGICAL_OR_OPERATOR | OR_SYMBOL ) ^ logical_xor_expression )* )
        // MySQL.g:1661: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_expression9138);
            logical_xor_expression1736=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_expression1736.tree);

            // MySQL.g:1661:25: ( options {greedy=true; } : ( LOGICAL_OR_OPERATOR | OR_SYMBOL ) ^ logical_xor_expression )*

            for (;;)
            {
                int alt542=2;
                switch ( LA(1) )
                {
                case LOGICAL_OR_OPERATOR:
                case OR_SYMBOL:
                	{
                		alt542=1;
                	}
                    break;

                }

                switch (alt542)
                {
            	case 1:
            	    // MySQL.g:1661:55: ( LOGICAL_OR_OPERATOR | OR_SYMBOL ) ^ logical_xor_expression
            	    {
            	        set1737=(pANTLR3_COMMON_TOKEN)LT(1);

            	        set1737=(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, set1737))
            	            , 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_expression9163);
            	        logical_xor_expression1738=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_expression1738.tree);

            	    }
            	    break;

            	default:
            	    goto loop542;	/* break out of the loop */
            	    break;
                }
            }
            loop542: ; /* 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:1664: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_SYMBOL1740;
    MySQLParser_logical_and_expression_return logical_and_expression1739;
    #undef	RETURN_TYPE_logical_and_expression1739
    #define	RETURN_TYPE_logical_and_expression1739 MySQLParser_logical_and_expression_return

    MySQLParser_logical_and_expression_return logical_and_expression1741;
    #undef	RETURN_TYPE_logical_and_expression1741
    #define	RETURN_TYPE_logical_and_expression1741 MySQLParser_logical_and_expression_return

    pANTLR3_BASE_TREE XOR_SYMBOL1740_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    XOR_SYMBOL1740       = NULL;
    logical_and_expression1739.tree = NULL;

    logical_and_expression1741.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    XOR_SYMBOL1740_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1664:23: ( logical_and_expression ( options {greedy=true; } : XOR_SYMBOL ^ logical_and_expression )* )
        // MySQL.g:1665: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_expression9174);
            logical_and_expression1739=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_expression1739.tree);

            // MySQL.g:1665:25: ( options {greedy=true; } : XOR_SYMBOL ^ logical_and_expression )*

            for (;;)
            {
                int alt543=2;
                switch ( LA(1) )
                {
                case XOR_SYMBOL:
                	{
                		alt543=1;
                	}
                    break;

                }

                switch (alt543)
                {
            	case 1:
            	    // MySQL.g:1665:55: XOR_SYMBOL ^ logical_and_expression
            	    {
            	        XOR_SYMBOL1740 = (pANTLR3_COMMON_TOKEN) MATCHT(XOR_SYMBOL, &FOLLOW_XOR_SYMBOL_in_logical_xor_expression9190);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulelogical_xor_expressionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        XOR_SYMBOL1740_tree = 
            	        (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, XOR_SYMBOL1740))
            	        ;
            	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, XOR_SYMBOL1740_tree, root_0));
            	        }

            	        FOLLOWPUSH(FOLLOW_logical_and_expression_in_logical_xor_expression9193);
            	        logical_and_expression1741=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_expression1741.tree);

            	    }
            	    break;

            	default:
            	    goto loop543;	/* break out of the loop */
            	    break;
                }
            }
            loop543: ; /* 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:1668: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    set1743;
    MySQLParser_logical_not_expression_return logical_not_expression1742;
    #undef	RETURN_TYPE_logical_not_expression1742
    #define	RETURN_TYPE_logical_not_expression1742 MySQLParser_logical_not_expression_return

    MySQLParser_logical_not_expression_return logical_not_expression1744;
    #undef	RETURN_TYPE_logical_not_expression1744
    #define	RETURN_TYPE_logical_not_expression1744 MySQLParser_logical_not_expression_return

    pANTLR3_BASE_TREE set1743_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    set1743       = NULL;
    logical_not_expression1742.tree = NULL;

    logical_not_expression1744.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    set1743_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1668:23: ( logical_not_expression ( options {greedy=true; } : ( LOGICAL_AND_OPERATOR | AND_SYMBOL ) ^ logical_not_expression )* )
        // MySQL.g:1669: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_expression9204);
            logical_not_expression1742=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_expression1742.tree);

            // MySQL.g:1669:25: ( options {greedy=true; } : ( LOGICAL_AND_OPERATOR | AND_SYMBOL ) ^ logical_not_expression )*

            for (;;)
            {
                int alt544=2;
                switch ( LA(1) )
                {
                case AND_SYMBOL:
                	{
                		alt544=1;
                	}
                    break;
                case LOGICAL_AND_OPERATOR:
                	{
                		alt544=1;
                	}
                    break;

                }

                switch (alt544)
                {
            	case 1:
            	    // MySQL.g:1669:55: ( LOGICAL_AND_OPERATOR | AND_SYMBOL ) ^ logical_not_expression
            	    {
            	        set1743=(pANTLR3_COMMON_TOKEN)LT(1);

            	        set1743=(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, set1743))
            	            , 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_expression9229);
            	        logical_not_expression1744=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_expression1744.tree);

            	    }
            	    break;

            	default:
            	    goto loop544;	/* break out of the loop */
            	    break;
                }
            }
            loop544: ; /* 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:1672: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_SYMBOL1745;
    MySQLParser_logical_not_expression_return logical_not_expression1746;
    #undef	RETURN_TYPE_logical_not_expression1746
    #define	RETURN_TYPE_logical_not_expression1746 MySQLParser_logical_not_expression_return

    MySQLParser_boolean_primary_expression_return boolean_primary_expression1747;
    #undef	RETURN_TYPE_boolean_primary_expression1747
    #define	RETURN_TYPE_boolean_primary_expression1747 MySQLParser_boolean_primary_expression_return

    pANTLR3_BASE_TREE NOT_SYMBOL1745_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    NOT_SYMBOL1745       = NULL;
    logical_not_expression1746.tree = NULL;

    boolean_primary_expression1747.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    NOT_SYMBOL1745_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:1672:23: ( NOT_SYMBOL ^ logical_not_expression | boolean_primary_expression )

            ANTLR3_UINT32 alt545;

            alt545=2;

            {
                int LA545_0 = LA(1);
                if ( (LA545_0 == NOT_SYMBOL))
                {
                    alt545=1;
                }
                else if ( (LA545_0 == BITWISE_NOT_OPERATOR || LA545_0 == INTERVAL_SYMBOL || LA545_0 == LOGICAL_NOT_OPERATOR || LA545_0 == MINUS_OPERATOR || LA545_0 == NCHAR_TEXT || LA545_0 == NOT2_SYMBOL || LA545_0 == PLUS_OPERATOR || LA545_0 == SINGLE_QUOTED_TEXT || LA545_0 == UNDERSCORE_CHARSET))
                {
                    alt545=2;
                }
                else if ( ((((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES)))||((!SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))))) && (LA545_0 == DOUBLE_QUOTED_TEXT))
                {
                    alt545=2;
                }
                else if ( (LA545_0 == FALSE_SYMBOL || LA545_0 == FLOAT || ((LA545_0 >= HEXNUMBER) && (LA545_0 <= HEXSTRING)) || LA545_0 == INTEGER || LA545_0 == TRUE_SYMBOL))
                {
                    alt545=2;
                }
                else if ( ((SERVER_VERSION >= 50003)) && (((LA545_0 >= BITNUMBER) && (LA545_0 <= BITSTRING))))
                {
                    alt545=2;
                }
                else if ( (((LA545_0 >= ACTION_SYMBOL) && (LA545_0 <= PARTITION_SYMBOL)) || ((LA545_0 >= AT_AT_SIGN_SYMBOL) && (LA545_0 <= AT_SIGN_SYMBOL)) || LA545_0 == BACK_TICK_QUOTED_ID || LA545_0 == BINARY_SYMBOL || ((LA545_0 >= BIT_AND_SYMBOL) && (LA545_0 <= BIT_XOR_SYMBOL)) || ((LA545_0 >= CASE_SYMBOL) && (LA545_0 <= CAST_SYMBOL)) || LA545_0 == CHAR_SYMBOL || ((LA545_0 >= CONVERT_SYMBOL) && (LA545_0 <= COUNT_SYMBOL)) || LA545_0 == CURDATE_SYMBOL || LA545_0 == CURRENT_USER_SYMBOL || LA545_0 == CURTIME_SYMBOL || LA545_0 == DATABASE_SYMBOL || LA545_0 == DATE_ADD_SYMBOL || LA545_0 == DATE_SUB_SYMBOL || LA545_0 == DOT_SYMBOL || LA545_0 == EXISTS_SYMBOL || LA545_0 == EXTRACT_SYMBOL || LA545_0 == GROUP_CONCAT_SYMBOL || ((LA545_0 >= IDENTIFIER) && (LA545_0 <= IF_SYMBOL)) || LA545_0 == INSERT_SYMBOL || LA545_0 == LEFT_SYMBOL || LA545_0 == MATCH_SYMBOL || LA545_0 == MAX_SYMBOL || LA545_0 == MIN_SYMBOL || LA545_0 == MOD_SYMBOL || LA545_0 == NOW_SYMBOL || LA545_0 == NULL2_SYMBOL || LA545_0 == NULL_SYMBOL || ((LA545_0 >= OPEN_CURLY_SYMBOL) && (LA545_0 <= OPEN_PAR_SYMBOL)) || LA545_0 == PARAM_MARKER || LA545_0 == POSITION_SYMBOL || ((LA545_0 >= REPEAT_SYMBOL) && (LA545_0 <= REPLACE_SYMBOL)) || LA545_0 == RIGHT_SYMBOL || LA545_0 == STDDEV_SAMP_SYMBOL || LA545_0 == STD_SYMBOL || LA545_0 == SUBSTRING_SYMBOL || ((LA545_0 >= SUM_SYMBOL) && (LA545_0 <= SYSDATE_SYMBOL)) || LA545_0 == TRIM_SYMBOL || ((LA545_0 >= UTC_DATE_SYMBOL) && (LA545_0 <= VALUES_SYMBOL)) || LA545_0 == VARIANCE_SYMBOL || LA545_0 == VAR_SAMP_SYMBOL))
                {
                    alt545=2;
                }
                else
                {
                    if (BACKTRACKING>0)
                    {
                        FAILEDFLAG = ANTLR3_TRUE;
                        return retval;
                    }


                    CONSTRUCTEX();
                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    EXCEPTION->message      = (void *)"";
                    EXCEPTION->decisionNum  = 545;
                    EXCEPTION->state        = 0;


                    goto rulelogical_not_expressionEx;

                }
            }
            switch (alt545)
            {
        	case 1:
        	    // MySQL.g:1673:2: NOT_SYMBOL ^ logical_not_expression
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        NOT_SYMBOL1745 = (pANTLR3_COMMON_TOKEN) MATCHT(NOT_SYMBOL, &FOLLOW_NOT_SYMBOL_in_logical_not_expression9240);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulelogical_not_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        NOT_SYMBOL1745_tree = 
        	        (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, NOT_SYMBOL1745))
        	        ;
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, NOT_SYMBOL1745_tree, root_0));
        	        }

        	        FOLLOWPUSH(FOLLOW_logical_not_expression_in_logical_not_expression9243);
        	        logical_not_expression1746=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_expression1746.tree);

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:1674:4: boolean_primary_expression
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_boolean_primary_expression_in_logical_not_expression9248);
        	        boolean_primary_expression1747=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_expression1747.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:1677: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    set1750;
    pANTLR3_COMMON_TOKEN    IS_SYMBOL1753;
    pANTLR3_COMMON_TOKEN    NOT_SYMBOL1754;
    pANTLR3_COMMON_TOKEN    FALSE_SYMBOL1756;
    pANTLR3_COMMON_TOKEN    TRUE_SYMBOL1757;
    pANTLR3_COMMON_TOKEN    UNKNOWN_SYMBOL1758;
    MySQLParser_predicate_return predicate1748;
    #undef	RETURN_TYPE_predicate1748
    #define	RETURN_TYPE_predicate1748 MySQLParser_predicate_return

    MySQLParser_comparison_operator_return comparison_operator1749;
    #undef	RETURN_TYPE_comparison_operator1749
    #define	RETURN_TYPE_comparison_operator1749 MySQLParser_comparison_operator_return

    MySQLParser_subquery_return subquery1751;
    #undef	RETURN_TYPE_subquery1751
    #define	RETURN_TYPE_subquery1751 MySQLParser_subquery_return

    MySQLParser_predicate_return predicate1752;
    #undef	RETURN_TYPE_predicate1752
    #define	RETURN_TYPE_predicate1752 MySQLParser_predicate_return

    MySQLParser_null_literal_return null_literal1755;
    #undef	RETURN_TYPE_null_literal1755
    #define	RETURN_TYPE_null_literal1755 MySQLParser_null_literal_return

    pANTLR3_BASE_TREE set1750_tree;
    pANTLR3_BASE_TREE IS_SYMBOL1753_tree;
    pANTLR3_BASE_TREE NOT_SYMBOL1754_tree;
    pANTLR3_BASE_TREE FALSE_SYMBOL1756_tree;
    pANTLR3_BASE_TREE TRUE_SYMBOL1757_tree;
    pANTLR3_BASE_TREE UNKNOWN_SYMBOL1758_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    set1750       = NULL;
    IS_SYMBOL1753       = NULL;
    NOT_SYMBOL1754       = NULL;
    FALSE_SYMBOL1756       = NULL;
    TRUE_SYMBOL1757       = NULL;
    UNKNOWN_SYMBOL1758       = NULL;
    predicate1748.tree = NULL;

    comparison_operator1749.tree = NULL;

    subquery1751.tree = NULL;

    predicate1752.tree = NULL;

    null_literal1755.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    set1750_tree   = NULL;
    IS_SYMBOL1753_tree   = NULL;
    NOT_SYMBOL1754_tree   = NULL;
    FALSE_SYMBOL1756_tree   = NULL;
    TRUE_SYMBOL1757_tree   = NULL;
    UNKNOWN_SYMBOL1758_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1677: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:1678: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_expression9257);
            predicate1748=predicate(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruleboolean_primary_expressionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, predicate1748.tree);

            // MySQL.g:1679: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 alt550=3;
                switch ( LA(1) )
                {
                case EQUAL_OPERATOR:
                	{
                		alt550=1;
                	}
                    break;
                case IS_SYMBOL:
                	{
                		alt550=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:
                	{
                		alt550=1;
                	}
                    break;

                }

                switch (alt550)
                {
            	case 1:
            	    // MySQL.g:1680:4: comparison_operator ^ ({...}? ( ALL_SYMBOL | ANY_SYMBOL ) subquery | predicate )
            	    {
            	        FOLLOWPUSH(FOLLOW_comparison_operator_in_boolean_primary_expression9279);
            	        comparison_operator1749=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_operator1749.tree, root_0));

            	        // MySQL.g:1681:4: ({...}? ( ALL_SYMBOL | ANY_SYMBOL ) subquery | predicate )
            	        {
            	            int alt546=2;
            	            {
            	                int LA546_0 = LA(1);
            	                if ( (LA546_0 == ANY_SYMBOL))
            	                {
            	                    {
            	                        int LA546_1 = LA(2);
            	                        if ( (LA546_1 == OPEN_PAR_SYMBOL))
            	                        {
            	                            {
            	                                int LA546_104 = LA(3);
            	                                if ( ((LA(1) == ALL_SYMBOL || LA(1) == ANY_SYMBOL)))
            	                                {
            	                                    alt546=1;
            	                                }
            	                                else if ( (ANTLR3_TRUE))
            	                                {
            	                                    alt546=2;
            	                                }
            	                                else
            	                                {
            	                                    if (BACKTRACKING>0)
            	                                    {
            	                                        FAILEDFLAG = ANTLR3_TRUE;
            	                                        return retval;
            	                                    }


            	                                    CONSTRUCTEX();
            	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
            	                                    EXCEPTION->message      = (void *)"";
            	                                    EXCEPTION->decisionNum  = 546;
            	                                    EXCEPTION->state        = 104;


            	                                    goto ruleboolean_primary_expressionEx;

            	                                }
            	                            }
            	                        }
            	                        else if ( (LA546_1 == EOF || ((LA546_1 >= ACTION_SYMBOL) && (LA546_1 <= PARTITION_SYMBOL)) || ((LA546_1 >= AND_SYMBOL) && (LA546_1 <= ASC_SYMBOL)) || LA546_1 == AS_SYMBOL || LA546_1 == BACK_TICK_QUOTED_ID || LA546_1 == BETWEEN_SYMBOL || LA546_1 == BITWISE_AND_OPERATOR || ((LA546_1 >= BITWISE_OR_OPERATOR) && (LA546_1 <= BITWISE_XOR_OPERATOR)) || ((LA546_1 >= CLOSE_CURLY_SYMBOL) && (LA546_1 <= COLLATE_SYMBOL)) || LA546_1 == COMMA_SYMBOL || LA546_1 == CONCAT_PIPES_SYMBOL || LA546_1 == CROSS_SYMBOL || ((LA546_1 >= DAY_HOUR_SYMBOL) && (LA546_1 <= DAY_SECOND_SYMBOL)) || LA546_1 == DESC_SYMBOL || ((LA546_1 >= DIV_OPERATOR) && (LA546_1 <= DOT_SYMBOL)) || LA546_1 == DOUBLE_QUOTED_TEXT || LA546_1 == ELSE_SYMBOL || LA546_1 == EQUAL_OPERATOR || ((LA546_1 >= FOR_SYMBOL) && (LA546_1 <= FROM_SYMBOL)) || ((LA546_1 >= GREATER_OR_EQUAL_OPERATOR) && (LA546_1 <= GREATER_THAN_OPERATOR)) || ((LA546_1 >= GROUP_SYMBOL) && (LA546_1 <= HAVING_SYMBOL)) || ((LA546_1 >= HOUR_MICROSECOND_SYMBOL) && (LA546_1 <= IDENTIFIER)) || LA546_1 == INNER_SYMBOL || LA546_1 == INTO_SYMBOL || LA546_1 == IN_SYMBOL || LA546_1 == IS_SYMBOL || LA546_1 == JOIN_SYMBOL || ((LA546_1 >= LEFT_SYMBOL) && (LA546_1 <= LESS_THAN_OPERATOR)) || ((LA546_1 >= LIKE_SYMBOL) && (LA546_1 <= LIMIT_SYMBOL)) || LA546_1 == LOCK_SYMBOL || LA546_1 == LOGICAL_AND_OPERATOR || LA546_1 == LOGICAL_OR_OPERATOR || ((LA546_1 >= MINUS_OPERATOR) && (LA546_1 <= MINUTE_SECOND_SYMBOL)) || ((LA546_1 >= MOD_OPERATOR) && (LA546_1 <= MOD_SYMBOL)) || ((LA546_1 >= MULT_OPERATOR) && (LA546_1 <= NATURAL_SYMBOL)) || LA546_1 == NCHAR_TEXT || ((LA546_1 >= NOT_EQUAL2_OPERATOR) && (LA546_1 <= NOT_SYMBOL)) || LA546_1 == NULL_SAFE_EQUAL_OPERATOR || LA546_1 == ON_SYMBOL || ((LA546_1 >= ORDER_SYMBOL) && (LA546_1 <= OR_SYMBOL)) || LA546_1 == PLUS_OPERATOR || LA546_1 == PROCEDURE_SYMBOL || LA546_1 == REGEXP_SYMBOL || LA546_1 == RENAME_SYMBOL || LA546_1 == RIGHT_SYMBOL || LA546_1 == SECOND_MICROSECOND_SYMBOL || LA546_1 == SEMICOLON_SYMBOL || LA546_1 == SEPARATOR_SYMBOL || LA546_1 == SET_SYMBOL || ((LA546_1 >= SHIFT_LEFT_OPERATOR) && (LA546_1 <= SHIFT_RIGHT_OPERATOR)) || LA546_1 == SINGLE_QUOTED_TEXT || LA546_1 == STRAIGHT_JOIN_SYMBOL || LA546_1 == THEN_SYMBOL || LA546_1 == UNDERSCORE_CHARSET || LA546_1 == UNION_SYMBOL || LA546_1 == USING_SYMBOL || ((LA546_1 >= WHEN_SYMBOL) && (LA546_1 <= WHERE_SYMBOL)) || LA546_1 == WITH_SYMBOL || ((LA546_1 >= XOR_SYMBOL) && (LA546_1 <= YEAR_MONTH_SYMBOL))))
            	                        {
            	                            alt546=2;
            	                        }
            	                        else
            	                        {
            	                            if (BACKTRACKING>0)
            	                            {
            	                                FAILEDFLAG = ANTLR3_TRUE;
            	                                return retval;
            	                            }


            	                            CONSTRUCTEX();
            	                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
            	                            EXCEPTION->message      = (void *)"";
            	                            EXCEPTION->decisionNum  = 546;
            	                            EXCEPTION->state        = 1;


            	                            goto ruleboolean_primary_expressionEx;

            	                        }
            	                    }
            	                }
            	                else if ( (LA546_0 == BITWISE_NOT_OPERATOR || LA546_0 == INTERVAL_SYMBOL || LA546_0 == LOGICAL_NOT_OPERATOR || LA546_0 == MINUS_OPERATOR || LA546_0 == NCHAR_TEXT || LA546_0 == NOT2_SYMBOL || LA546_0 == PLUS_OPERATOR || LA546_0 == SINGLE_QUOTED_TEXT || LA546_0 == UNDERSCORE_CHARSET))
            	                {
            	                    alt546=2;
            	                }
            	                else if ( ((((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES)))||((!SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))))) && (LA546_0 == DOUBLE_QUOTED_TEXT))
            	                {
            	                    alt546=2;
            	                }
            	                else if ( (LA546_0 == FALSE_SYMBOL || LA546_0 == FLOAT || ((LA546_0 >= HEXNUMBER) && (LA546_0 <= HEXSTRING)) || LA546_0 == INTEGER || LA546_0 == TRUE_SYMBOL))
            	                {
            	                    alt546=2;
            	                }
            	                else if ( ((SERVER_VERSION >= 50003)) && (((LA546_0 >= BITNUMBER) && (LA546_0 <= BITSTRING))))
            	                {
            	                    alt546=2;
            	                }
            	                else if ( (((LA546_0 >= ACTION_SYMBOL) && (LA546_0 <= ANALYZE_SYMBOL)) || ((LA546_0 >= AT_SYMBOL) && (LA546_0 <= PARTITION_SYMBOL)) || ((LA546_0 >= AT_AT_SIGN_SYMBOL) && (LA546_0 <= AT_SIGN_SYMBOL)) || LA546_0 == BACK_TICK_QUOTED_ID || LA546_0 == BINARY_SYMBOL || ((LA546_0 >= BIT_AND_SYMBOL) && (LA546_0 <= BIT_XOR_SYMBOL)) || ((LA546_0 >= CASE_SYMBOL) && (LA546_0 <= CAST_SYMBOL)) || LA546_0 == CHAR_SYMBOL || ((LA546_0 >= CONVERT_SYMBOL) && (LA546_0 <= COUNT_SYMBOL)) || LA546_0 == CURDATE_SYMBOL || LA546_0 == CURRENT_USER_SYMBOL || LA546_0 == CURTIME_SYMBOL || LA546_0 == DATABASE_SYMBOL || LA546_0 == DATE_ADD_SYMBOL || LA546_0 == DATE_SUB_SYMBOL || LA546_0 == DOT_SYMBOL || LA546_0 == EXISTS_SYMBOL || LA546_0 == EXTRACT_SYMBOL || LA546_0 == GROUP_CONCAT_SYMBOL || ((LA546_0 >= IDENTIFIER) && (LA546_0 <= IF_SYMBOL)) || LA546_0 == INSERT_SYMBOL || LA546_0 == LEFT_SYMBOL || LA546_0 == MATCH_SYMBOL || LA546_0 == MAX_SYMBOL || LA546_0 == MIN_SYMBOL || LA546_0 == MOD_SYMBOL || LA546_0 == NOW_SYMBOL || LA546_0 == NULL2_SYMBOL || LA546_0 == NULL_SYMBOL || ((LA546_0 >= OPEN_CURLY_SYMBOL) && (LA546_0 <= OPEN_PAR_SYMBOL)) || LA546_0 == PARAM_MARKER || LA546_0 == POSITION_SYMBOL || ((LA546_0 >= REPEAT_SYMBOL) && (LA546_0 <= REPLACE_SYMBOL)) || LA546_0 == RIGHT_SYMBOL || LA546_0 == STDDEV_SAMP_SYMBOL || LA546_0 == STD_SYMBOL || LA546_0 == SUBSTRING_SYMBOL || ((LA546_0 >= SUM_SYMBOL) && (LA546_0 <= SYSDATE_SYMBOL)) || LA546_0 == TRIM_SYMBOL || ((LA546_0 >= UTC_DATE_SYMBOL) && (LA546_0 <= VALUES_SYMBOL)) || LA546_0 == VARIANCE_SYMBOL || LA546_0 == VAR_SAMP_SYMBOL))
            	                {
            	                    alt546=2;
            	                }
            	                else if ( (LA546_0 == ALL_SYMBOL))
            	                {
            	                    alt546=1;
            	                }
            	                else
            	                {
            	                    if (BACKTRACKING>0)
            	                    {
            	                        FAILEDFLAG = ANTLR3_TRUE;
            	                        return retval;
            	                    }


            	                    CONSTRUCTEX();
            	                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
            	                    EXCEPTION->message      = (void *)"";
            	                    EXCEPTION->decisionNum  = 546;
            	                    EXCEPTION->state        = 0;


            	                    goto ruleboolean_primary_expressionEx;

            	                }
            	            }
            	            switch (alt546)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1682: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";


            	        	        }

            	        	        set1750=(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, set1750))
            	        	            );
            	        	            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_expression9301);
            	        	        subquery1751=subquery(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleboolean_primary_expressionEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, subquery1751.tree);

            	        	    }
            	        	    break;
            	        	case 2:
            	        	    // MySQL.g:1683:7: predicate
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_predicate_in_boolean_primary_expression9309);
            	        	        predicate1752=predicate(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleboolean_primary_expressionEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, predicate1752.tree);

            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;
            	case 2:
            	    // MySQL.g:1685:9: ( options {greedy=true; } : IS_SYMBOL ^ ( NOT_SYMBOL )? ( null_literal | FALSE_SYMBOL | TRUE_SYMBOL | UNKNOWN_SYMBOL ) )+
            	    {
            	        // MySQL.g:1685:9: ( options {greedy=true; } : IS_SYMBOL ^ ( NOT_SYMBOL )? ( null_literal | FALSE_SYMBOL | TRUE_SYMBOL | UNKNOWN_SYMBOL ) )+
            	        {
            	            int cnt549=0;

            	            for (;;)
            	            {
            	                int alt549=2;
            	        	switch ( LA(1) )
            	        	{
            	        	case IS_SYMBOL:
            	        		{
            	        			alt549=1;
            	        		}
            	        	    break;

            	        	}

            	        	switch (alt549)
            	        	{
            	        	    case 1:
            	        	        // MySQL.g:1685:39: IS_SYMBOL ^ ( NOT_SYMBOL )? ( null_literal | FALSE_SYMBOL | TRUE_SYMBOL | UNKNOWN_SYMBOL )
            	        	        {
            	        	            IS_SYMBOL1753 = (pANTLR3_COMMON_TOKEN) MATCHT(IS_SYMBOL, &FOLLOW_IS_SYMBOL_in_boolean_primary_expression9338);
            	        	            if  (HASEXCEPTION())
            	        	            {
            	        	                goto ruleboolean_primary_expressionEx;
            	        	            }
            	        	            if (HASFAILED())
            	        	            {
            	        	                return retval;
            	        	            }

            	        	            if ( BACKTRACKING==0 ) {
            	        	            IS_SYMBOL1753_tree = 
            	        	            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, IS_SYMBOL1753))
            	        	            ;
            	        	            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, IS_SYMBOL1753_tree, root_0));
            	        	            }

            	        	            // MySQL.g:1685:50: ( NOT_SYMBOL )?
            	        	            {
            	        	                int alt547=2;
            	        	                switch ( LA(1) )
            	        	                {
            	        	                    case NOT_SYMBOL:
            	        	                    	{
            	        	                    		alt547=1;
            	        	                    	}
            	        	                        break;
            	        	                }

            	        	                switch (alt547)
            	        	                {
            	        	            	case 1:
            	        	            	    // MySQL.g:1685:50: NOT_SYMBOL
            	        	            	    {
            	        	            	        NOT_SYMBOL1754 = (pANTLR3_COMMON_TOKEN) MATCHT(NOT_SYMBOL, &FOLLOW_NOT_SYMBOL_in_boolean_primary_expression9341);
            	        	            	        if  (HASEXCEPTION())
            	        	            	        {
            	        	            	            goto ruleboolean_primary_expressionEx;
            	        	            	        }
            	        	            	        if (HASFAILED())
            	        	            	        {
            	        	            	            return retval;
            	        	            	        }

            	        	            	        if ( BACKTRACKING==0 ) {
            	        	            	        NOT_SYMBOL1754_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, NOT_SYMBOL1754));
            	        	            	        ADAPTOR->addChild(ADAPTOR, root_0, NOT_SYMBOL1754_tree);
            	        	            	        }

            	        	            	    }
            	        	            	    break;

            	        	                }
            	        	            }

            	        	            // MySQL.g:1685:62: ( null_literal | FALSE_SYMBOL | TRUE_SYMBOL | UNKNOWN_SYMBOL )
            	        	            {
            	        	                int alt548=4;
            	        	                switch ( LA(1) )
            	        	                {
            	        	                case NULL2_SYMBOL:
            	        	                case NULL_SYMBOL:
            	        	                	{
            	        	                		alt548=1;
            	        	                	}
            	        	                    break;
            	        	                case FALSE_SYMBOL:
            	        	                	{
            	        	                		alt548=2;
            	        	                	}
            	        	                    break;
            	        	                case TRUE_SYMBOL:
            	        	                	{
            	        	                		alt548=3;
            	        	                	}
            	        	                    break;
            	        	                case UNKNOWN_SYMBOL:
            	        	                	{
            	        	                		alt548=4;
            	        	                	}
            	        	                    break;

            	        	                default:
            	        	                    if (BACKTRACKING>0)
            	        	                    {
            	        	                        FAILEDFLAG = ANTLR3_TRUE;
            	        	                        return retval;
            	        	                    }

            	        	                    CONSTRUCTEX();
            	        	                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
            	        	                    EXCEPTION->message      = (void *)"";
            	        	                    EXCEPTION->decisionNum  = 548;
            	        	                    EXCEPTION->state        = 0;


            	        	                    goto ruleboolean_primary_expressionEx;

            	        	                }

            	        	                switch (alt548)
            	        	                {
            	        	            	case 1:
            	        	            	    // MySQL.g:1685:64: null_literal
            	        	            	    {
            	        	            	        FOLLOWPUSH(FOLLOW_null_literal_in_boolean_primary_expression9346);
            	        	            	        null_literal1755=null_literal(ctx);

            	        	            	        FOLLOWPOP();
            	        	            	        if  (HASEXCEPTION())
            	        	            	        {
            	        	            	            goto ruleboolean_primary_expressionEx;
            	        	            	        }
            	        	            	        if (HASFAILED())
            	        	            	        {
            	        	            	            return retval;
            	        	            	        }

            	        	            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, null_literal1755.tree);

            	        	            	    }
            	        	            	    break;
            	        	            	case 2:
            	        	            	    // MySQL.g:1685:79: FALSE_SYMBOL
            	        	            	    {
            	        	            	        FALSE_SYMBOL1756 = (pANTLR3_COMMON_TOKEN) MATCHT(FALSE_SYMBOL, &FOLLOW_FALSE_SYMBOL_in_boolean_primary_expression9350);
            	        	            	        if  (HASEXCEPTION())
            	        	            	        {
            	        	            	            goto ruleboolean_primary_expressionEx;
            	        	            	        }
            	        	            	        if (HASFAILED())
            	        	            	        {
            	        	            	            return retval;
            	        	            	        }

            	        	            	        if ( BACKTRACKING==0 ) {
            	        	            	        FALSE_SYMBOL1756_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, FALSE_SYMBOL1756));
            	        	            	        ADAPTOR->addChild(ADAPTOR, root_0, FALSE_SYMBOL1756_tree);
            	        	            	        }

            	        	            	    }
            	        	            	    break;
            	        	            	case 3:
            	        	            	    // MySQL.g:1685:94: TRUE_SYMBOL
            	        	            	    {
            	        	            	        TRUE_SYMBOL1757 = (pANTLR3_COMMON_TOKEN) MATCHT(TRUE_SYMBOL, &FOLLOW_TRUE_SYMBOL_in_boolean_primary_expression9354);
            	        	            	        if  (HASEXCEPTION())
            	        	            	        {
            	        	            	            goto ruleboolean_primary_expressionEx;
            	        	            	        }
            	        	            	        if (HASFAILED())
            	        	            	        {
            	        	            	            return retval;
            	        	            	        }

            	        	            	        if ( BACKTRACKING==0 ) {
            	        	            	        TRUE_SYMBOL1757_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, TRUE_SYMBOL1757));
            	        	            	        ADAPTOR->addChild(ADAPTOR, root_0, TRUE_SYMBOL1757_tree);
            	        	            	        }

            	        	            	    }
            	        	            	    break;
            	        	            	case 4:
            	        	            	    // MySQL.g:1685:108: UNKNOWN_SYMBOL
            	        	            	    {
            	        	            	        UNKNOWN_SYMBOL1758 = (pANTLR3_COMMON_TOKEN) MATCHT(UNKNOWN_SYMBOL, &FOLLOW_UNKNOWN_SYMBOL_in_boolean_primary_expression9358);
            	        	            	        if  (HASEXCEPTION())
            	        	            	        {
            	        	            	            goto ruleboolean_primary_expressionEx;
            	        	            	        }
            	        	            	        if (HASFAILED())
            	        	            	        {
            	        	            	            return retval;
            	        	            	        }

            	        	            	        if ( BACKTRACKING==0 ) {
            	        	            	        UNKNOWN_SYMBOL1758_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, UNKNOWN_SYMBOL1758));
            	        	            	        ADAPTOR->addChild(ADAPTOR, root_0, UNKNOWN_SYMBOL1758_tree);
            	        	            	        }

            	        	            	    }
            	        	            	    break;

            	        	                }
            	        	            }

            	        	        }
            	        	        break;

            	        	    default:

            	        		if ( cnt549 >= 1 )
            	        		{
            	        		    goto loop549;
            	        		}
            	        		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;
            	        	}
            	        	cnt549++;
            	            }
            	            loop549: ;	/* Jump to here if this rule does not match */
            	        }

            	    }
            	    break;

            	default:
            	    goto loop550;	/* break out of the loop */
            	    break;
                }
            }
            loop550: ; /* 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:1689: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 ^ ( subquery | expression_list_with_parentheses ) ) | 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_SYMBOL1760;
    pANTLR3_COMMON_TOKEN    BETWEEN_SYMBOL1761;
    pANTLR3_COMMON_TOKEN    AND_SYMBOL1763;
    pANTLR3_COMMON_TOKEN    LIKE_SYMBOL1765;
    pANTLR3_COMMON_TOKEN    ESCAPE_SYMBOL1767;
    pANTLR3_COMMON_TOKEN    REGEXP_SYMBOL1769;
    pANTLR3_COMMON_TOKEN    IN_SYMBOL1771;
    pANTLR3_COMMON_TOKEN    SOUNDS_SYMBOL1774;
    pANTLR3_COMMON_TOKEN    LIKE_SYMBOL1775;
    MySQLParser_bitwise_or_expression_return bitwise_or_expression1759;
    #undef	RETURN_TYPE_bitwise_or_expression1759
    #define	RETURN_TYPE_bitwise_or_expression1759 MySQLParser_bitwise_or_expression_return

    MySQLParser_bitwise_or_expression_return bitwise_or_expression1762;
    #undef	RETURN_TYPE_bitwise_or_expression1762
    #define	RETURN_TYPE_bitwise_or_expression1762 MySQLParser_bitwise_or_expression_return

    MySQLParser_predicate_return predicate1764;
    #undef	RETURN_TYPE_predicate1764
    #define	RETURN_TYPE_predicate1764 MySQLParser_predicate_return

    MySQLParser_unary_expression_return unary_expression1766;
    #undef	RETURN_TYPE_unary_expression1766
    #define	RETURN_TYPE_unary_expression1766 MySQLParser_unary_expression_return

    MySQLParser_primary_return primary1768;
    #undef	RETURN_TYPE_primary1768
    #define	RETURN_TYPE_primary1768 MySQLParser_primary_return

    MySQLParser_bitwise_or_expression_return bitwise_or_expression1770;
    #undef	RETURN_TYPE_bitwise_or_expression1770
    #define	RETURN_TYPE_bitwise_or_expression1770 MySQLParser_bitwise_or_expression_return

    MySQLParser_subquery_return subquery1772;
    #undef	RETURN_TYPE_subquery1772
    #define	RETURN_TYPE_subquery1772 MySQLParser_subquery_return

    MySQLParser_expression_list_with_parentheses_return expression_list_with_parentheses1773;
    #undef	RETURN_TYPE_expression_list_with_parentheses1773
    #define	RETURN_TYPE_expression_list_with_parentheses1773 MySQLParser_expression_list_with_parentheses_return

    MySQLParser_bitwise_or_expression_return bitwise_or_expression1776;
    #undef	RETURN_TYPE_bitwise_or_expression1776
    #define	RETURN_TYPE_bitwise_or_expression1776 MySQLParser_bitwise_or_expression_return

    pANTLR3_BASE_TREE NOT_SYMBOL1760_tree;
    pANTLR3_BASE_TREE BETWEEN_SYMBOL1761_tree;
    pANTLR3_BASE_TREE AND_SYMBOL1763_tree;
    pANTLR3_BASE_TREE LIKE_SYMBOL1765_tree;
    pANTLR3_BASE_TREE ESCAPE_SYMBOL1767_tree;
    pANTLR3_BASE_TREE REGEXP_SYMBOL1769_tree;
    pANTLR3_BASE_TREE IN_SYMBOL1771_tree;
    pANTLR3_BASE_TREE SOUNDS_SYMBOL1774_tree;
    pANTLR3_BASE_TREE LIKE_SYMBOL1775_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    NOT_SYMBOL1760       = NULL;
    BETWEEN_SYMBOL1761       = NULL;
    AND_SYMBOL1763       = NULL;
    LIKE_SYMBOL1765       = NULL;
    ESCAPE_SYMBOL1767       = NULL;
    REGEXP_SYMBOL1769       = NULL;
    IN_SYMBOL1771       = NULL;
    SOUNDS_SYMBOL1774       = NULL;
    LIKE_SYMBOL1775       = NULL;
    bitwise_or_expression1759.tree = NULL;

    bitwise_or_expression1762.tree = NULL;

    predicate1764.tree = NULL;

    unary_expression1766.tree = NULL;

    primary1768.tree = NULL;

    bitwise_or_expression1770.tree = NULL;

    subquery1772.tree = NULL;

    expression_list_with_parentheses1773.tree = NULL;

    bitwise_or_expression1776.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    NOT_SYMBOL1760_tree   = NULL;
    BETWEEN_SYMBOL1761_tree   = NULL;
    AND_SYMBOL1763_tree   = NULL;
    LIKE_SYMBOL1765_tree   = NULL;
    ESCAPE_SYMBOL1767_tree   = NULL;
    REGEXP_SYMBOL1769_tree   = NULL;
    IN_SYMBOL1771_tree   = NULL;
    SOUNDS_SYMBOL1774_tree   = NULL;
    LIKE_SYMBOL1775_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1689: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 ^ ( subquery | expression_list_with_parentheses ) ) | SOUNDS_SYMBOL ^ LIKE_SYMBOL bitwise_or_expression )? )
        // MySQL.g:1690: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 ^ ( subquery | expression_list_with_parentheses ) ) | SOUNDS_SYMBOL ^ LIKE_SYMBOL bitwise_or_expression )?
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            FOLLOWPUSH(FOLLOW_bitwise_or_expression_in_predicate9375);
            bitwise_or_expression1759=bitwise_or_expression(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulepredicateEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, bitwise_or_expression1759.tree);

            // MySQL.g:1691: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 ^ ( subquery | expression_list_with_parentheses ) ) | SOUNDS_SYMBOL ^ LIKE_SYMBOL bitwise_or_expression )?
            {
                int alt555=3;
                switch ( LA(1) )
                {
                    case NOT_SYMBOL:
                    	{
                    		alt555=1;
                    	}
                        break;
                    case BETWEEN_SYMBOL:
                    	{
                    		alt555=1;
                    	}
                        break;
                    case LIKE_SYMBOL:
                    	{
                    		alt555=1;
                    	}
                        break;
                    case REGEXP_SYMBOL:
                    	{
                    		alt555=1;
                    	}
                        break;
                    case IN_SYMBOL:
                    	{
                    		alt555=1;
                    	}
                        break;
                    case SOUNDS_SYMBOL:
                    	{
                    		alt555=2;
                    	}
                        break;
                }

                switch (alt555)
                {
            	case 1:
            	    // MySQL.g:1692: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 ^ ( subquery | expression_list_with_parentheses ) )
            	    {
            	        // MySQL.g:1692:4: ( NOT_SYMBOL )?
            	        {
            	            int alt551=2;
            	            switch ( LA(1) )
            	            {
            	                case NOT_SYMBOL:
            	                	{
            	                		alt551=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt551)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1692:4: NOT_SYMBOL
            	        	    {
            	        	        NOT_SYMBOL1760 = (pANTLR3_COMMON_TOKEN) MATCHT(NOT_SYMBOL, &FOLLOW_NOT_SYMBOL_in_predicate9396);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulepredicateEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        NOT_SYMBOL1760_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, NOT_SYMBOL1760));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, NOT_SYMBOL1760_tree);
            	        	        }

            	        	    }
            	        	    break;

            	            }
            	        }

            	        // MySQL.g:1693: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 ^ ( subquery | expression_list_with_parentheses ) )
            	        {
            	            int alt554=4;
            	            switch ( LA(1) )
            	            {
            	            case BETWEEN_SYMBOL:
            	            	{
            	            		alt554=1;
            	            	}
            	                break;
            	            case LIKE_SYMBOL:
            	            	{
            	            		alt554=2;
            	            	}
            	                break;
            	            case REGEXP_SYMBOL:
            	            	{
            	            		alt554=3;
            	            	}
            	                break;
            	            case IN_SYMBOL:
            	            	{
            	            		alt554=4;
            	            	}
            	                break;

            	            default:
            	                if (BACKTRACKING>0)
            	                {
            	                    FAILEDFLAG = ANTLR3_TRUE;
            	                    return retval;
            	                }

            	                CONSTRUCTEX();
            	                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
            	                EXCEPTION->message      = (void *)"";
            	                EXCEPTION->decisionNum  = 554;
            	                EXCEPTION->state        = 0;


            	                goto rulepredicateEx;

            	            }

            	            switch (alt554)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1694:6: BETWEEN_SYMBOL ^ bitwise_or_expression AND_SYMBOL predicate
            	        	    {
            	        	        BETWEEN_SYMBOL1761 = (pANTLR3_COMMON_TOKEN) MATCHT(BETWEEN_SYMBOL, &FOLLOW_BETWEEN_SYMBOL_in_predicate9410);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulepredicateEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        BETWEEN_SYMBOL1761_tree = 
            	        	        (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, BETWEEN_SYMBOL1761))
            	        	        ;
            	        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, BETWEEN_SYMBOL1761_tree, root_0));
            	        	        }

            	        	        FOLLOWPUSH(FOLLOW_bitwise_or_expression_in_predicate9413);
            	        	        bitwise_or_expression1762=bitwise_or_expression(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulepredicateEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, bitwise_or_expression1762.tree);

            	        	        AND_SYMBOL1763 = (pANTLR3_COMMON_TOKEN) MATCHT(AND_SYMBOL, &FOLLOW_AND_SYMBOL_in_predicate9415);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulepredicateEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        AND_SYMBOL1763_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, AND_SYMBOL1763));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, AND_SYMBOL1763_tree);
            	        	        }

            	        	        FOLLOWPUSH(FOLLOW_predicate_in_predicate9417);
            	        	        predicate1764=predicate(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulepredicateEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, predicate1764.tree);

            	        	    }
            	        	    break;
            	        	case 2:
            	        	    // MySQL.g:1695:8: LIKE_SYMBOL ^ unary_expression ( options {greedy=true; } : ESCAPE_SYMBOL primary )?
            	        	    {
            	        	        LIKE_SYMBOL1765 = (pANTLR3_COMMON_TOKEN) MATCHT(LIKE_SYMBOL, &FOLLOW_LIKE_SYMBOL_in_predicate9426);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulepredicateEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        LIKE_SYMBOL1765_tree = 
            	        	        (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, LIKE_SYMBOL1765))
            	        	        ;
            	        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, LIKE_SYMBOL1765_tree, root_0));
            	        	        }

            	        	        FOLLOWPUSH(FOLLOW_unary_expression_in_predicate9429);
            	        	        unary_expression1766=unary_expression(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulepredicateEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, unary_expression1766.tree);

            	        	        // MySQL.g:1695:38: ( options {greedy=true; } : ESCAPE_SYMBOL primary )?
            	        	        {
            	        	            int alt552=2;
            	        	            switch ( LA(1) )
            	        	            {
            	        	                case ESCAPE_SYMBOL:
            	        	                	{
            	        	                		alt552=1;
            	        	                	}
            	        	                    break;
            	        	            }

            	        	            switch (alt552)
            	        	            {
            	        	        	case 1:
            	        	        	    // MySQL.g:1695:68: ESCAPE_SYMBOL primary
            	        	        	    {
            	        	        	        ESCAPE_SYMBOL1767 = (pANTLR3_COMMON_TOKEN) MATCHT(ESCAPE_SYMBOL, &FOLLOW_ESCAPE_SYMBOL_in_predicate9445);
            	        	        	        if  (HASEXCEPTION())
            	        	        	        {
            	        	        	            goto rulepredicateEx;
            	        	        	        }
            	        	        	        if (HASFAILED())
            	        	        	        {
            	        	        	            return retval;
            	        	        	        }

            	        	        	        if ( BACKTRACKING==0 ) {
            	        	        	        ESCAPE_SYMBOL1767_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ESCAPE_SYMBOL1767));
            	        	        	        ADAPTOR->addChild(ADAPTOR, root_0, ESCAPE_SYMBOL1767_tree);
            	        	        	        }

            	        	        	        FOLLOWPUSH(FOLLOW_primary_in_predicate9447);
            	        	        	        primary1768=primary(ctx);

            	        	        	        FOLLOWPOP();
            	        	        	        if  (HASEXCEPTION())
            	        	        	        {
            	        	        	            goto rulepredicateEx;
            	        	        	        }
            	        	        	        if (HASFAILED())
            	        	        	        {
            	        	        	            return retval;
            	        	        	        }

            	        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, primary1768.tree);

            	        	        	    }
            	        	        	    break;

            	        	            }
            	        	        }

            	        	    }
            	        	    break;
            	        	case 3:
            	        	    // MySQL.g:1696:8: REGEXP_SYMBOL ^ bitwise_or_expression
            	        	    {
            	        	        REGEXP_SYMBOL1769 = (pANTLR3_COMMON_TOKEN) MATCHT(REGEXP_SYMBOL, &FOLLOW_REGEXP_SYMBOL_in_predicate9458);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulepredicateEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        REGEXP_SYMBOL1769_tree = 
            	        	        (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, REGEXP_SYMBOL1769))
            	        	        ;
            	        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, REGEXP_SYMBOL1769_tree, root_0));
            	        	        }

            	        	        FOLLOWPUSH(FOLLOW_bitwise_or_expression_in_predicate9461);
            	        	        bitwise_or_expression1770=bitwise_or_expression(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulepredicateEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, bitwise_or_expression1770.tree);

            	        	    }
            	        	    break;
            	        	case 4:
            	        	    // MySQL.g:1697:8: IN_SYMBOL ^ ( subquery | expression_list_with_parentheses )
            	        	    {
            	        	        IN_SYMBOL1771 = (pANTLR3_COMMON_TOKEN) MATCHT(IN_SYMBOL, &FOLLOW_IN_SYMBOL_in_predicate9470);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulepredicateEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        IN_SYMBOL1771_tree = 
            	        	        (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, IN_SYMBOL1771))
            	        	        ;
            	        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, IN_SYMBOL1771_tree, root_0));
            	        	        }

            	        	        // MySQL.g:1697:19: ( subquery | expression_list_with_parentheses )
            	        	        {
            	        	            int alt553=2;
            	        	            switch ( LA(1) )
            	        	            {
            	        	            case OPEN_PAR_SYMBOL:
            	        	            	{
            	        	            		{
            	        	            		    int LA553_1 = LA(2);
            	        	            		    if ( (LA553_1 == SELECT_SYMBOL))
            	        	            		    {
            	        	            		        alt553=1;
            	        	            		    }
            	        	            		    else if ( (((LA553_1 >= ACTION_SYMBOL) && (LA553_1 <= PARTITION_SYMBOL)) || ((LA553_1 >= AT_AT_SIGN_SYMBOL) && (LA553_1 <= AT_SIGN_SYMBOL)) || LA553_1 == BACK_TICK_QUOTED_ID || LA553_1 == BINARY_SYMBOL || ((LA553_1 >= BITNUMBER) && (LA553_1 <= BITSTRING)) || LA553_1 == BITWISE_NOT_OPERATOR || ((LA553_1 >= BIT_AND_SYMBOL) && (LA553_1 <= BIT_XOR_SYMBOL)) || ((LA553_1 >= CASE_SYMBOL) && (LA553_1 <= CAST_SYMBOL)) || LA553_1 == CHAR_SYMBOL || ((LA553_1 >= CONVERT_SYMBOL) && (LA553_1 <= COUNT_SYMBOL)) || LA553_1 == CURDATE_SYMBOL || LA553_1 == CURRENT_USER_SYMBOL || LA553_1 == CURTIME_SYMBOL || LA553_1 == DATABASE_SYMBOL || LA553_1 == DATE_ADD_SYMBOL || LA553_1 == DATE_SUB_SYMBOL || LA553_1 == DOT_SYMBOL || LA553_1 == DOUBLE_QUOTED_TEXT || LA553_1 == EXISTS_SYMBOL || ((LA553_1 >= EXTRACT_SYMBOL) && (LA553_1 <= FALSE_SYMBOL)) || LA553_1 == FLOAT || LA553_1 == GROUP_CONCAT_SYMBOL || ((LA553_1 >= HEXNUMBER) && (LA553_1 <= HEXSTRING)) || ((LA553_1 >= IDENTIFIER) && (LA553_1 <= IF_SYMBOL)) || LA553_1 == INSERT_SYMBOL || LA553_1 == INTEGER || LA553_1 == INTERVAL_SYMBOL || LA553_1 == LEFT_SYMBOL || LA553_1 == LOGICAL_NOT_OPERATOR || LA553_1 == MATCH_SYMBOL || LA553_1 == MAX_SYMBOL || LA553_1 == MINUS_OPERATOR || LA553_1 == MIN_SYMBOL || LA553_1 == MOD_SYMBOL || LA553_1 == NCHAR_TEXT || LA553_1 == NOT2_SYMBOL || ((LA553_1 >= NOT_SYMBOL) && (LA553_1 <= NOW_SYMBOL)) || LA553_1 == NULL2_SYMBOL || LA553_1 == NULL_SYMBOL || ((LA553_1 >= OPEN_CURLY_SYMBOL) && (LA553_1 <= OPEN_PAR_SYMBOL)) || LA553_1 == PARAM_MARKER || ((LA553_1 >= PLUS_OPERATOR) && (LA553_1 <= POSITION_SYMBOL)) || ((LA553_1 >= REPEAT_SYMBOL) && (LA553_1 <= REPLACE_SYMBOL)) || LA553_1 == RIGHT_SYMBOL || LA553_1 == SINGLE_QUOTED_TEXT || LA553_1 == STDDEV_SAMP_SYMBOL || LA553_1 == STD_SYMBOL || LA553_1 == SUBSTRING_SYMBOL || ((LA553_1 >= SUM_SYMBOL) && (LA553_1 <= SYSDATE_SYMBOL)) || ((LA553_1 >= TRIM_SYMBOL) && (LA553_1 <= TRUE_SYMBOL)) || LA553_1 == UNDERSCORE_CHARSET || ((LA553_1 >= UTC_DATE_SYMBOL) && (LA553_1 <= VALUES_SYMBOL)) || LA553_1 == VARIANCE_SYMBOL || LA553_1 == VAR_SAMP_SYMBOL))
            	        	            		    {
            	        	            		        alt553=2;
            	        	            		    }
            	        	            		    else
            	        	            		    {
            	        	            		        if (BACKTRACKING>0)
            	        	            		        {
            	        	            		            FAILEDFLAG = ANTLR3_TRUE;
            	        	            		            return retval;
            	        	            		        }


            	        	            		        CONSTRUCTEX();
            	        	            		        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
            	        	            		        EXCEPTION->message      = (void *)"";
            	        	            		        EXCEPTION->decisionNum  = 553;
            	        	            		        EXCEPTION->state        = 1;


            	        	            		        goto rulepredicateEx;

            	        	            		    }
            	        	            		}
            	        	            	}
            	        	                break;

            	        	            default:
            	        	                if (BACKTRACKING>0)
            	        	                {
            	        	                    FAILEDFLAG = ANTLR3_TRUE;
            	        	                    return retval;
            	        	                }

            	        	                CONSTRUCTEX();
            	        	                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
            	        	                EXCEPTION->message      = (void *)"";
            	        	                EXCEPTION->decisionNum  = 553;
            	        	                EXCEPTION->state        = 0;


            	        	                goto rulepredicateEx;

            	        	            }

            	        	            switch (alt553)
            	        	            {
            	        	        	case 1:
            	        	        	    // MySQL.g:1697:21: subquery
            	        	        	    {
            	        	        	        FOLLOWPUSH(FOLLOW_subquery_in_predicate9475);
            	        	        	        subquery1772=subquery(ctx);

            	        	        	        FOLLOWPOP();
            	        	        	        if  (HASEXCEPTION())
            	        	        	        {
            	        	        	            goto rulepredicateEx;
            	        	        	        }
            	        	        	        if (HASFAILED())
            	        	        	        {
            	        	        	            return retval;
            	        	        	        }

            	        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, subquery1772.tree);

            	        	        	    }
            	        	        	    break;
            	        	        	case 2:
            	        	        	    // MySQL.g:1697:32: expression_list_with_parentheses
            	        	        	    {
            	        	        	        FOLLOWPUSH(FOLLOW_expression_list_with_parentheses_in_predicate9479);
            	        	        	        expression_list_with_parentheses1773=expression_list_with_parentheses(ctx);

            	        	        	        FOLLOWPOP();
            	        	        	        if  (HASEXCEPTION())
            	        	        	        {
            	        	        	            goto rulepredicateEx;
            	        	        	        }
            	        	        	        if (HASFAILED())
            	        	        	        {
            	        	        	            return retval;
            	        	        	        }

            	        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression_list_with_parentheses1773.tree);

            	        	        	    }
            	        	        	    break;

            	        	            }
            	        	        }

            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;
            	case 2:
            	    // MySQL.g:1699:9: SOUNDS_SYMBOL ^ LIKE_SYMBOL bitwise_or_expression
            	    {
            	        SOUNDS_SYMBOL1774 = (pANTLR3_COMMON_TOKEN) MATCHT(SOUNDS_SYMBOL, &FOLLOW_SOUNDS_SYMBOL_in_predicate9499);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulepredicateEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        SOUNDS_SYMBOL1774_tree = 
            	        (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SOUNDS_SYMBOL1774))
            	        ;
            	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, SOUNDS_SYMBOL1774_tree, root_0));
            	        }

            	        LIKE_SYMBOL1775 = (pANTLR3_COMMON_TOKEN) MATCHT(LIKE_SYMBOL, &FOLLOW_LIKE_SYMBOL_in_predicate9502);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulepredicateEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        LIKE_SYMBOL1775_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, LIKE_SYMBOL1775));
            	        ADAPTOR->addChild(ADAPTOR, root_0, LIKE_SYMBOL1775_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_bitwise_or_expression_in_predicate9504);
            	        bitwise_or_expression1776=bitwise_or_expression(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulepredicateEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, bitwise_or_expression1776.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 bitwise_or_expression
 * MySQL.g:1703: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_OPERATOR1778;
    MySQLParser_bitwise_and_expression_return bitwise_and_expression1777;
    #undef	RETURN_TYPE_bitwise_and_expression1777
    #define	RETURN_TYPE_bitwise_and_expression1777 MySQLParser_bitwise_and_expression_return

    MySQLParser_bitwise_and_expression_return bitwise_and_expression1779;
    #undef	RETURN_TYPE_bitwise_and_expression1779
    #define	RETURN_TYPE_bitwise_and_expression1779 MySQLParser_bitwise_and_expression_return

    pANTLR3_BASE_TREE BITWISE_OR_OPERATOR1778_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    BITWISE_OR_OPERATOR1778       = NULL;
    bitwise_and_expression1777.tree = NULL;

    bitwise_and_expression1779.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    BITWISE_OR_OPERATOR1778_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1703:22: ( bitwise_and_expression ( options {greedy=true; } : BITWISE_OR_OPERATOR ^ bitwise_and_expression )* )
        // MySQL.g:1704: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_expression9518);
            bitwise_and_expression1777=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_expression1777.tree);

            // MySQL.g:1704:25: ( options {greedy=true; } : BITWISE_OR_OPERATOR ^ bitwise_and_expression )*

            for (;;)
            {
                int alt556=2;
                switch ( LA(1) )
                {
                case BITWISE_OR_OPERATOR:
                	{
                		alt556=1;
                	}
                    break;

                }

                switch (alt556)
                {
            	case 1:
            	    // MySQL.g:1704:55: BITWISE_OR_OPERATOR ^ bitwise_and_expression
            	    {
            	        BITWISE_OR_OPERATOR1778 = (pANTLR3_COMMON_TOKEN) MATCHT(BITWISE_OR_OPERATOR, &FOLLOW_BITWISE_OR_OPERATOR_in_bitwise_or_expression9534);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulebitwise_or_expressionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        BITWISE_OR_OPERATOR1778_tree = 
            	        (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, BITWISE_OR_OPERATOR1778))
            	        ;
            	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, BITWISE_OR_OPERATOR1778_tree, root_0));
            	        }

            	        FOLLOWPUSH(FOLLOW_bitwise_and_expression_in_bitwise_or_expression9537);
            	        bitwise_and_expression1779=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_expression1779.tree);

            	    }
            	    break;

            	default:
            	    goto loop556;	/* break out of the loop */
            	    break;
                }
            }
            loop556: ; /* 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:1707: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_OPERATOR1781;
    MySQLParser_shift_expression_return shift_expression1780;
    #undef	RETURN_TYPE_shift_expression1780
    #define	RETURN_TYPE_shift_expression1780 MySQLParser_shift_expression_return

    MySQLParser_shift_expression_return shift_expression1782;
    #undef	RETURN_TYPE_shift_expression1782
    #define	RETURN_TYPE_shift_expression1782 MySQLParser_shift_expression_return

    pANTLR3_BASE_TREE BITWISE_AND_OPERATOR1781_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    BITWISE_AND_OPERATOR1781       = NULL;
    shift_expression1780.tree = NULL;

    shift_expression1782.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    BITWISE_AND_OPERATOR1781_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1707:23: ( shift_expression ( options {greedy=true; } : BITWISE_AND_OPERATOR ^ shift_expression )* )
        // MySQL.g:1708: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_expression9548);
            shift_expression1780=shift_expression(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulebitwise_and_expressionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, shift_expression1780.tree);

            // MySQL.g:1708:19: ( options {greedy=true; } : BITWISE_AND_OPERATOR ^ shift_expression )*

            for (;;)
            {
                int alt557=2;
                switch ( LA(1) )
                {
                case BITWISE_AND_OPERATOR:
                	{
                		alt557=1;
                	}
                    break;

                }

                switch (alt557)
                {
            	case 1:
            	    // MySQL.g:1708:49: BITWISE_AND_OPERATOR ^ shift_expression
            	    {
            	        BITWISE_AND_OPERATOR1781 = (pANTLR3_COMMON_TOKEN) MATCHT(BITWISE_AND_OPERATOR, &FOLLOW_BITWISE_AND_OPERATOR_in_bitwise_and_expression9564);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulebitwise_and_expressionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        BITWISE_AND_OPERATOR1781_tree = 
            	        (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, BITWISE_AND_OPERATOR1781))
            	        ;
            	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, BITWISE_AND_OPERATOR1781_tree, root_0));
            	        }

            	        FOLLOWPUSH(FOLLOW_shift_expression_in_bitwise_and_expression9567);
            	        shift_expression1782=shift_expression(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulebitwise_and_expressionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, shift_expression1782.tree);

            	    }
            	    break;

            	default:
            	    goto loop557;	/* break out of the loop */
            	    break;
                }
            }
            loop557: ; /* 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:1711: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    set1784;
    MySQLParser_additive_expression_return additive_expression1783;
    #undef	RETURN_TYPE_additive_expression1783
    #define	RETURN_TYPE_additive_expression1783 MySQLParser_additive_expression_return

    MySQLParser_additive_expression_return additive_expression1785;
    #undef	RETURN_TYPE_additive_expression1785
    #define	RETURN_TYPE_additive_expression1785 MySQLParser_additive_expression_return

    pANTLR3_BASE_TREE set1784_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    set1784       = NULL;
    additive_expression1783.tree = NULL;

    additive_expression1785.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    set1784_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1711:17: ( additive_expression ( options {greedy=true; } : ( SHIFT_LEFT_OPERATOR | SHIFT_RIGHT_OPERATOR ) ^ additive_expression )* )
        // MySQL.g:1712: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_expression9578);
            additive_expression1783=additive_expression(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruleshift_expressionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, additive_expression1783.tree);

            // MySQL.g:1712:22: ( options {greedy=true; } : ( SHIFT_LEFT_OPERATOR | SHIFT_RIGHT_OPERATOR ) ^ additive_expression )*

            for (;;)
            {
                int alt558=2;
                switch ( LA(1) )
                {
                case SHIFT_LEFT_OPERATOR:
                case SHIFT_RIGHT_OPERATOR:
                	{
                		alt558=1;
                	}
                    break;

                }

                switch (alt558)
                {
            	case 1:
            	    // MySQL.g:1712:52: ( SHIFT_LEFT_OPERATOR | SHIFT_RIGHT_OPERATOR ) ^ additive_expression
            	    {
            	        set1784=(pANTLR3_COMMON_TOKEN)LT(1);

            	        set1784=(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, set1784))
            	            , 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_expression9603);
            	        additive_expression1785=additive_expression(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleshift_expressionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, additive_expression1785.tree);

            	    }
            	    break;

            	default:
            	    goto loop558;	/* break out of the loop */
            	    break;
                }
            }
            loop558: ; /* 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:1715: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    set1787;
    MySQLParser_multiplicative_expression_return multiplicative_expression1786;
    #undef	RETURN_TYPE_multiplicative_expression1786
    #define	RETURN_TYPE_multiplicative_expression1786 MySQLParser_multiplicative_expression_return

    MySQLParser_multiplicative_expression_return multiplicative_expression1788;
    #undef	RETURN_TYPE_multiplicative_expression1788
    #define	RETURN_TYPE_multiplicative_expression1788 MySQLParser_multiplicative_expression_return

    pANTLR3_BASE_TREE set1787_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    set1787       = NULL;
    multiplicative_expression1786.tree = NULL;

    multiplicative_expression1788.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    set1787_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1715:20: ( multiplicative_expression ( options {greedy=true; } : ( PLUS_OPERATOR | MINUS_OPERATOR ) ^ multiplicative_expression )* )
        // MySQL.g:1716: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_expression9614);
            multiplicative_expression1786=multiplicative_expression(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruleadditive_expressionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, multiplicative_expression1786.tree);

            // MySQL.g:1716:28: ( options {greedy=true; } : ( PLUS_OPERATOR | MINUS_OPERATOR ) ^ multiplicative_expression )*

            for (;;)
            {
                int alt559=2;
                switch ( LA(1) )
                {
                case MINUS_OPERATOR:
                case PLUS_OPERATOR:
                	{
                		alt559=1;
                	}
                    break;

                }

                switch (alt559)
                {
            	case 1:
            	    // MySQL.g:1716:57: ( PLUS_OPERATOR | MINUS_OPERATOR ) ^ multiplicative_expression
            	    {
            	        set1787=(pANTLR3_COMMON_TOKEN)LT(1);

            	        set1787=(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, set1787))
            	            , 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_expression9639);
            	        multiplicative_expression1788=multiplicative_expression(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleadditive_expressionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, multiplicative_expression1788.tree);

            	    }
            	    break;

            	default:
            	    goto loop559;	/* break out of the loop */
            	    break;
                }
            }
            loop559: ; /* 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:1719: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_expression1789;
    #undef	RETURN_TYPE_bitwise_xor_expression1789
    #define	RETURN_TYPE_bitwise_xor_expression1789 MySQLParser_bitwise_xor_expression_return

    MySQLParser_multiplication_operator_return multiplication_operator1790;
    #undef	RETURN_TYPE_multiplication_operator1790
    #define	RETURN_TYPE_multiplication_operator1790 MySQLParser_multiplication_operator_return

    MySQLParser_bitwise_xor_expression_return bitwise_xor_expression1791;
    #undef	RETURN_TYPE_bitwise_xor_expression1791
    #define	RETURN_TYPE_bitwise_xor_expression1791 MySQLParser_bitwise_xor_expression_return


    /* Initialize rule variables
     */

    root_0 = NULL;

    bitwise_xor_expression1789.tree = NULL;

    multiplication_operator1790.tree = NULL;

    bitwise_xor_expression1791.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;




    retval.tree  = NULL;

    {
        // MySQL.g:1719:26: ( bitwise_xor_expression ( options {greedy=true; } : multiplication_operator ^ bitwise_xor_expression )* )
        // MySQL.g:1720: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_expression9650);
            bitwise_xor_expression1789=bitwise_xor_expression(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulemultiplicative_expressionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, bitwise_xor_expression1789.tree);

            // MySQL.g:1720:25: ( options {greedy=true; } : multiplication_operator ^ bitwise_xor_expression )*

            for (;;)
            {
                int alt560=2;
                switch ( LA(1) )
                {
                case DIV_OPERATOR:
                case DIV_SYMBOL:
                case MOD_OPERATOR:
                case MOD_SYMBOL:
                case MULT_OPERATOR:
                	{
                		alt560=1;
                	}
                    break;

                }

                switch (alt560)
                {
            	case 1:
            	    // MySQL.g:1720:55: multiplication_operator ^ bitwise_xor_expression
            	    {
            	        FOLLOWPUSH(FOLLOW_multiplication_operator_in_multiplicative_expression9666);
            	        multiplication_operator1790=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_operator1790.tree, root_0));

            	        FOLLOWPUSH(FOLLOW_bitwise_xor_expression_in_multiplicative_expression9669);
            	        bitwise_xor_expression1791=bitwise_xor_expression(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulemultiplicative_expressionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, bitwise_xor_expression1791.tree);

            	    }
            	    break;

            	default:
            	    goto loop560;	/* break out of the loop */
            	    break;
                }
            }
            loop560: ; /* 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:1723: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_OPERATOR1793;
    MySQLParser_concat_expression_return concat_expression1792;
    #undef	RETURN_TYPE_concat_expression1792
    #define	RETURN_TYPE_concat_expression1792 MySQLParser_concat_expression_return

    MySQLParser_concat_expression_return concat_expression1794;
    #undef	RETURN_TYPE_concat_expression1794
    #define	RETURN_TYPE_concat_expression1794 MySQLParser_concat_expression_return

    pANTLR3_BASE_TREE BITWISE_XOR_OPERATOR1793_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    BITWISE_XOR_OPERATOR1793       = NULL;
    concat_expression1792.tree = NULL;

    concat_expression1794.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    BITWISE_XOR_OPERATOR1793_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1723:23: ( concat_expression ( options {greedy=true; } : BITWISE_XOR_OPERATOR ^ concat_expression )* )
        // MySQL.g:1724: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_expression9680);
            concat_expression1792=concat_expression(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulebitwise_xor_expressionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, concat_expression1792.tree);

            // MySQL.g:1724:20: ( options {greedy=true; } : BITWISE_XOR_OPERATOR ^ concat_expression )*

            for (;;)
            {
                int alt561=2;
                switch ( LA(1) )
                {
                case BITWISE_XOR_OPERATOR:
                	{
                		alt561=1;
                	}
                    break;

                }

                switch (alt561)
                {
            	case 1:
            	    // MySQL.g:1724:50: BITWISE_XOR_OPERATOR ^ concat_expression
            	    {
            	        BITWISE_XOR_OPERATOR1793 = (pANTLR3_COMMON_TOKEN) MATCHT(BITWISE_XOR_OPERATOR, &FOLLOW_BITWISE_XOR_OPERATOR_in_bitwise_xor_expression9696);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulebitwise_xor_expressionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        BITWISE_XOR_OPERATOR1793_tree = 
            	        (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, BITWISE_XOR_OPERATOR1793))
            	        ;
            	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, BITWISE_XOR_OPERATOR1793_tree, root_0));
            	        }

            	        FOLLOWPUSH(FOLLOW_concat_expression_in_bitwise_xor_expression9699);
            	        concat_expression1794=concat_expression(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulebitwise_xor_expressionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, concat_expression1794.tree);

            	    }
            	    break;

            	default:
            	    goto loop561;	/* break out of the loop */
            	    break;
                }
            }
            loop561: ; /* 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:1728: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_SYMBOL1796;
    MySQLParser_unary_expression_return unary_expression1795;
    #undef	RETURN_TYPE_unary_expression1795
    #define	RETURN_TYPE_unary_expression1795 MySQLParser_unary_expression_return

    MySQLParser_unary_expression_return unary_expression1797;
    #undef	RETURN_TYPE_unary_expression1797
    #define	RETURN_TYPE_unary_expression1797 MySQLParser_unary_expression_return

    pANTLR3_BASE_TREE CONCAT_PIPES_SYMBOL1796_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    CONCAT_PIPES_SYMBOL1796       = NULL;
    unary_expression1795.tree = NULL;

    unary_expression1797.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    CONCAT_PIPES_SYMBOL1796_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1728:18: ( unary_expression ( options {greedy=true; } : CONCAT_PIPES_SYMBOL ^ unary_expression )* )
        // MySQL.g:1729: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_expression9711);
            unary_expression1795=unary_expression(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruleconcat_expressionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, unary_expression1795.tree);

            // MySQL.g:1729:19: ( options {greedy=true; } : CONCAT_PIPES_SYMBOL ^ unary_expression )*

            for (;;)
            {
                int alt562=2;
                switch ( LA(1) )
                {
                case CONCAT_PIPES_SYMBOL:
                	{
                		alt562=1;
                	}
                    break;

                }

                switch (alt562)
                {
            	case 1:
            	    // MySQL.g:1729:49: CONCAT_PIPES_SYMBOL ^ unary_expression
            	    {
            	        CONCAT_PIPES_SYMBOL1796 = (pANTLR3_COMMON_TOKEN) MATCHT(CONCAT_PIPES_SYMBOL, &FOLLOW_CONCAT_PIPES_SYMBOL_in_concat_expression9727);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleconcat_expressionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        CONCAT_PIPES_SYMBOL1796_tree = 
            	        (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CONCAT_PIPES_SYMBOL1796))
            	        ;
            	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, CONCAT_PIPES_SYMBOL1796_tree, root_0));
            	        }

            	        FOLLOWPUSH(FOLLOW_unary_expression_in_concat_expression9730);
            	        unary_expression1797=unary_expression(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleconcat_expressionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, unary_expression1797.tree);

            	    }
            	    break;

            	default:
            	    goto loop562;	/* break out of the loop */
            	    break;
                }
            }
            loop562: ; /* 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:1732: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    set1798;
    MySQLParser_unary_expression_return unary_expression1799;
    #undef	RETURN_TYPE_unary_expression1799
    #define	RETURN_TYPE_unary_expression1799 MySQLParser_unary_expression_return

    MySQLParser_not_expression_return not_expression1800;
    #undef	RETURN_TYPE_not_expression1800
    #define	RETURN_TYPE_not_expression1800 MySQLParser_not_expression_return

    pANTLR3_BASE_TREE set1798_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    set1798       = NULL;
    unary_expression1799.tree = NULL;

    not_expression1800.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    set1798_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:1732:17: ( ( PLUS_OPERATOR | MINUS_OPERATOR | BITWISE_NOT_OPERATOR ) unary_expression | not_expression )

            ANTLR3_UINT32 alt563;

            alt563=2;

            {
                int LA563_0 = LA(1);
                if ( (LA563_0 == BITWISE_NOT_OPERATOR || LA563_0 == MINUS_OPERATOR || LA563_0 == PLUS_OPERATOR))
                {
                    alt563=1;
                }
                else if ( (LA563_0 == INTERVAL_SYMBOL || LA563_0 == LOGICAL_NOT_OPERATOR || LA563_0 == NCHAR_TEXT || LA563_0 == NOT2_SYMBOL || LA563_0 == SINGLE_QUOTED_TEXT || LA563_0 == UNDERSCORE_CHARSET))
                {
                    alt563=2;
                }
                else if ( ((((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES)))||((!SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))))) && (LA563_0 == DOUBLE_QUOTED_TEXT))
                {
                    alt563=2;
                }
                else if ( (LA563_0 == FALSE_SYMBOL || LA563_0 == FLOAT || ((LA563_0 >= HEXNUMBER) && (LA563_0 <= HEXSTRING)) || LA563_0 == INTEGER || LA563_0 == TRUE_SYMBOL))
                {
                    alt563=2;
                }
                else if ( ((SERVER_VERSION >= 50003)) && (((LA563_0 >= BITNUMBER) && (LA563_0 <= BITSTRING))))
                {
                    alt563=2;
                }
                else if ( (((LA563_0 >= ACTION_SYMBOL) && (LA563_0 <= PARTITION_SYMBOL)) || ((LA563_0 >= AT_AT_SIGN_SYMBOL) && (LA563_0 <= AT_SIGN_SYMBOL)) || LA563_0 == BACK_TICK_QUOTED_ID || LA563_0 == BINARY_SYMBOL || ((LA563_0 >= BIT_AND_SYMBOL) && (LA563_0 <= BIT_XOR_SYMBOL)) || ((LA563_0 >= CASE_SYMBOL) && (LA563_0 <= CAST_SYMBOL)) || LA563_0 == CHAR_SYMBOL || ((LA563_0 >= CONVERT_SYMBOL) && (LA563_0 <= COUNT_SYMBOL)) || LA563_0 == CURDATE_SYMBOL || LA563_0 == CURRENT_USER_SYMBOL || LA563_0 == CURTIME_SYMBOL || LA563_0 == DATABASE_SYMBOL || LA563_0 == DATE_ADD_SYMBOL || LA563_0 == DATE_SUB_SYMBOL || LA563_0 == DOT_SYMBOL || LA563_0 == EXISTS_SYMBOL || LA563_0 == EXTRACT_SYMBOL || LA563_0 == GROUP_CONCAT_SYMBOL || ((LA563_0 >= IDENTIFIER) && (LA563_0 <= IF_SYMBOL)) || LA563_0 == INSERT_SYMBOL || LA563_0 == LEFT_SYMBOL || LA563_0 == MATCH_SYMBOL || LA563_0 == MAX_SYMBOL || LA563_0 == MIN_SYMBOL || LA563_0 == MOD_SYMBOL || LA563_0 == NOW_SYMBOL || LA563_0 == NULL2_SYMBOL || LA563_0 == NULL_SYMBOL || ((LA563_0 >= OPEN_CURLY_SYMBOL) && (LA563_0 <= OPEN_PAR_SYMBOL)) || LA563_0 == PARAM_MARKER || LA563_0 == POSITION_SYMBOL || ((LA563_0 >= REPEAT_SYMBOL) && (LA563_0 <= REPLACE_SYMBOL)) || LA563_0 == RIGHT_SYMBOL || LA563_0 == STDDEV_SAMP_SYMBOL || LA563_0 == STD_SYMBOL || LA563_0 == SUBSTRING_SYMBOL || ((LA563_0 >= SUM_SYMBOL) && (LA563_0 <= SYSDATE_SYMBOL)) || LA563_0 == TRIM_SYMBOL || ((LA563_0 >= UTC_DATE_SYMBOL) && (LA563_0 <= VALUES_SYMBOL)) || LA563_0 == VARIANCE_SYMBOL || LA563_0 == VAR_SAMP_SYMBOL))
                {
                    alt563=2;
                }
                else
                {
                    if (BACKTRACKING>0)
                    {
                        FAILEDFLAG = ANTLR3_TRUE;
                        return retval;
                    }


                    CONSTRUCTEX();
                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    EXCEPTION->message      = (void *)"";
                    EXCEPTION->decisionNum  = 563;
                    EXCEPTION->state        = 0;


                    goto ruleunary_expressionEx;

                }
            }
            switch (alt563)
            {
        	case 1:
        	    // MySQL.g:1733:2: ( PLUS_OPERATOR | MINUS_OPERATOR | BITWISE_NOT_OPERATOR ) unary_expression
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        set1798=(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, set1798))
        	            );
        	            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_expression9753);
        	        unary_expression1799=unary_expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleunary_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, unary_expression1799.tree);

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:1734:4: not_expression
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_not_expression_in_unary_expression9758);
        	        not_expression1800=not_expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleunary_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, not_expression1800.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:1737: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_rule1801;
    #undef	RETURN_TYPE_not2_rule1801
    #define	RETURN_TYPE_not2_rule1801 MySQLParser_not2_rule_return

    MySQLParser_interval_expression_return interval_expression1802;
    #undef	RETURN_TYPE_interval_expression1802
    #define	RETURN_TYPE_interval_expression1802 MySQLParser_interval_expression_return


    /* Initialize rule variables
     */

    root_0 = NULL;

    not2_rule1801.tree = NULL;

    interval_expression1802.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;




    retval.tree  = NULL;

    {
        // MySQL.g:1737:15: ( ( not2_rule )? interval_expression )
        // MySQL.g:1738:2: ( not2_rule )? interval_expression
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            // MySQL.g:1738:2: ( not2_rule )?
            {
                int alt564=2;
                switch ( LA(1) )
                {
                    case LOGICAL_NOT_OPERATOR:
                    case NOT2_SYMBOL:
                    	{
                    		alt564=1;
                    	}
                        break;
                }

                switch (alt564)
                {
            	case 1:
            	    // MySQL.g:1738:2: not2_rule
            	    {
            	        FOLLOWPUSH(FOLLOW_not2_rule_in_not_expression9767);
            	        not2_rule1801=not2_rule(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulenot_expressionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, not2_rule1801.tree);

            	    }
            	    break;

                }
            }

            FOLLOWPUSH(FOLLOW_interval_expression_in_not_expression9770);
            interval_expression1802=interval_expression(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulenot_expressionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, interval_expression1802.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:1741: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_SYMBOL1803;
    MySQLParser_interval_function_return interval_function1804;
    #undef	RETURN_TYPE_interval_function1804
    #define	RETURN_TYPE_interval_function1804 MySQLParser_interval_function_return

    MySQLParser_interval_time_span_return interval_time_span1805;
    #undef	RETURN_TYPE_interval_time_span1805
    #define	RETURN_TYPE_interval_time_span1805 MySQLParser_interval_time_span_return

    MySQLParser_primary_return primary1806;
    #undef	RETURN_TYPE_primary1806
    #define	RETURN_TYPE_primary1806 MySQLParser_primary_return

    pANTLR3_BASE_TREE INTERVAL_SYMBOL1803_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    INTERVAL_SYMBOL1803       = NULL;
    interval_function1804.tree = NULL;

    interval_time_span1805.tree = NULL;

    primary1806.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    INTERVAL_SYMBOL1803_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:1741:20: ( INTERVAL_SYMBOL ! ( ( OPEN_PAR_SYMBOL expression COMMA_SYMBOL )=> interval_function | interval_time_span ) | primary )

            ANTLR3_UINT32 alt566;

            alt566=2;

            {
                int LA566_0 = LA(1);
                if ( (LA566_0 == INTERVAL_SYMBOL))
                {
                    alt566=1;
                }
                else if ( (LA566_0 == NCHAR_TEXT || LA566_0 == SINGLE_QUOTED_TEXT || LA566_0 == UNDERSCORE_CHARSET))
                {
                    alt566=2;
                }
                else if ( ((((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES)))||((!SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))))) && (LA566_0 == DOUBLE_QUOTED_TEXT))
                {
                    alt566=2;
                }
                else if ( (LA566_0 == FALSE_SYMBOL || LA566_0 == FLOAT || ((LA566_0 >= HEXNUMBER) && (LA566_0 <= HEXSTRING)) || LA566_0 == INTEGER || LA566_0 == TRUE_SYMBOL))
                {
                    alt566=2;
                }
                else if ( ((SERVER_VERSION >= 50003)) && (((LA566_0 >= BITNUMBER) && (LA566_0 <= BITSTRING))))
                {
                    alt566=2;
                }
                else if ( (((LA566_0 >= ACTION_SYMBOL) && (LA566_0 <= PARTITION_SYMBOL)) || ((LA566_0 >= AT_AT_SIGN_SYMBOL) && (LA566_0 <= AT_SIGN_SYMBOL)) || LA566_0 == BACK_TICK_QUOTED_ID || LA566_0 == BINARY_SYMBOL || ((LA566_0 >= BIT_AND_SYMBOL) && (LA566_0 <= BIT_XOR_SYMBOL)) || ((LA566_0 >= CASE_SYMBOL) && (LA566_0 <= CAST_SYMBOL)) || LA566_0 == CHAR_SYMBOL || ((LA566_0 >= CONVERT_SYMBOL) && (LA566_0 <= COUNT_SYMBOL)) || LA566_0 == CURDATE_SYMBOL || LA566_0 == CURRENT_USER_SYMBOL || LA566_0 == CURTIME_SYMBOL || LA566_0 == DATABASE_SYMBOL || LA566_0 == DATE_ADD_SYMBOL || LA566_0 == DATE_SUB_SYMBOL || LA566_0 == DOT_SYMBOL || LA566_0 == EXISTS_SYMBOL || LA566_0 == EXTRACT_SYMBOL || LA566_0 == GROUP_CONCAT_SYMBOL || ((LA566_0 >= IDENTIFIER) && (LA566_0 <= IF_SYMBOL)) || LA566_0 == INSERT_SYMBOL || LA566_0 == LEFT_SYMBOL || LA566_0 == MATCH_SYMBOL || LA566_0 == MAX_SYMBOL || LA566_0 == MIN_SYMBOL || LA566_0 == MOD_SYMBOL || LA566_0 == NOW_SYMBOL || LA566_0 == NULL2_SYMBOL || LA566_0 == NULL_SYMBOL || ((LA566_0 >= OPEN_CURLY_SYMBOL) && (LA566_0 <= OPEN_PAR_SYMBOL)) || LA566_0 == PARAM_MARKER || LA566_0 == POSITION_SYMBOL || ((LA566_0 >= REPEAT_SYMBOL) && (LA566_0 <= REPLACE_SYMBOL)) || LA566_0 == RIGHT_SYMBOL || LA566_0 == STDDEV_SAMP_SYMBOL || LA566_0 == STD_SYMBOL || LA566_0 == SUBSTRING_SYMBOL || ((LA566_0 >= SUM_SYMBOL) && (LA566_0 <= SYSDATE_SYMBOL)) || LA566_0 == TRIM_SYMBOL || ((LA566_0 >= UTC_DATE_SYMBOL) && (LA566_0 <= VALUES_SYMBOL)) || LA566_0 == VARIANCE_SYMBOL || LA566_0 == VAR_SAMP_SYMBOL))
                {
                    alt566=2;
                }
                else
                {
                    if (BACKTRACKING>0)
                    {
                        FAILEDFLAG = ANTLR3_TRUE;
                        return retval;
                    }


                    CONSTRUCTEX();
                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    EXCEPTION->message      = (void *)"";
                    EXCEPTION->decisionNum  = 566;
                    EXCEPTION->state        = 0;


                    goto ruleinterval_expressionEx;

                }
            }
            switch (alt566)
            {
        	case 1:
        	    // MySQL.g:1742:2: INTERVAL_SYMBOL ! ( ( OPEN_PAR_SYMBOL expression COMMA_SYMBOL )=> interval_function | interval_time_span )
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        INTERVAL_SYMBOL1803 = (pANTLR3_COMMON_TOKEN) MATCHT(INTERVAL_SYMBOL, &FOLLOW_INTERVAL_SYMBOL_in_interval_expression9779);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleinterval_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }


        	        // MySQL.g:1743:3: ( ( OPEN_PAR_SYMBOL expression COMMA_SYMBOL )=> interval_function | interval_time_span )
        	        {
        	            int alt565=2;
        	            {
        	                int LA565_0 = LA(1);
        	                if ( (LA565_0 == OPEN_PAR_SYMBOL))
        	                {
        	                    {
        	                        int LA565_1 = LA(2);
        	                        if ( (LA565_1 == SELECT_SYMBOL))
        	                        {
        	                            alt565=2;
        	                        }
        	                        else if ( (LA565_1 == NOT_SYMBOL))
        	                        {
        	                            {
        	                                int LA565_104 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt565=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt565=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 565;
        	                                    EXCEPTION->state        = 104;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA565_1 == BITWISE_NOT_OPERATOR || LA565_1 == MINUS_OPERATOR || LA565_1 == PLUS_OPERATOR))
        	                        {
        	                            {
        	                                int LA565_105 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt565=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt565=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 565;
        	                                    EXCEPTION->state        = 105;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA565_1 == LOGICAL_NOT_OPERATOR || LA565_1 == NOT2_SYMBOL))
        	                        {
        	                            {
        	                                int LA565_106 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt565=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt565=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 565;
        	                                    EXCEPTION->state        = 106;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA565_1 == INTERVAL_SYMBOL))
        	                        {
        	                            {
        	                                int LA565_107 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt565=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt565=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 565;
        	                                    EXCEPTION->state        = 107;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA565_1 == NCHAR_TEXT))
        	                        {
        	                            {
        	                                int LA565_108 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt565=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt565=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 565;
        	                                    EXCEPTION->state        = 108;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA565_1 == UNDERSCORE_CHARSET))
        	                        {
        	                            {
        	                                int LA565_109 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt565=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt565=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 565;
        	                                    EXCEPTION->state        = 109;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA565_1 == SINGLE_QUOTED_TEXT))
        	                        {
        	                            {
        	                                int LA565_110 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt565=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt565=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 565;
        	                                    EXCEPTION->state        = 110;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA565_1 == DOUBLE_QUOTED_TEXT))
        	                        {
        	                            {
        	                                int LA565_111 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt565=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt565=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 565;
        	                                    EXCEPTION->state        = 111;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA565_1 == FLOAT || LA565_1 == INTEGER))
        	                        {
        	                            {
        	                                int LA565_112 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt565=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt565=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 565;
        	                                    EXCEPTION->state        = 112;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (((LA565_1 >= HEXNUMBER) && (LA565_1 <= HEXSTRING))))
        	                        {
        	                            {
        	                                int LA565_113 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt565=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt565=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 565;
        	                                    EXCEPTION->state        = 113;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA565_1 == FALSE_SYMBOL || LA565_1 == TRUE_SYMBOL))
        	                        {
        	                            {
        	                                int LA565_114 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt565=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt565=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 565;
        	                                    EXCEPTION->state        = 114;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (((LA565_1 >= BITNUMBER) && (LA565_1 <= BITSTRING))))
        	                        {
        	                            {
        	                                int LA565_115 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt565=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt565=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 565;
        	                                    EXCEPTION->state        = 115;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA565_1 == NULL2_SYMBOL || LA565_1 == NULL_SYMBOL))
        	                        {
        	                            {
        	                                int LA565_116 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt565=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt565=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 565;
        	                                    EXCEPTION->state        = 116;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA565_1 == DATE_SYMBOL))
        	                        {
        	                            {
        	                                int LA565_117 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt565=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt565=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 565;
        	                                    EXCEPTION->state        = 117;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA565_1 == TIME_SYMBOL))
        	                        {
        	                            {
        	                                int LA565_118 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt565=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt565=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 565;
        	                                    EXCEPTION->state        = 118;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA565_1 == TIMESTAMP_SYMBOL))
        	                        {
        	                            {
        	                                int LA565_119 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt565=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt565=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 565;
        	                                    EXCEPTION->state        = 119;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA565_1 == IDENTIFIER))
        	                        {
        	                            {
        	                                int LA565_120 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt565=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt565=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 565;
        	                                    EXCEPTION->state        = 120;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA565_1 == BACK_TICK_QUOTED_ID))
        	                        {
        	                            {
        	                                int LA565_121 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt565=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt565=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 565;
        	                                    EXCEPTION->state        = 121;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA565_1 == DAY_SYMBOL))
        	                        {
        	                            {
        	                                int LA565_122 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt565=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt565=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 565;
        	                                    EXCEPTION->state        = 122;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA565_1 == PARTITION_SYMBOL))
        	                        {
        	                            {
        	                                int LA565_123 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt565=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt565=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 565;
        	                                    EXCEPTION->state        = 123;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA565_1 == ASCII_SYMBOL))
        	                        {
        	                            {
        	                                int LA565_124 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt565=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt565=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 565;
        	                                    EXCEPTION->state        = 124;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA565_1 == DOT_SYMBOL))
        	                        {
        	                            {
        	                                int LA565_125 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt565=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt565=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 565;
        	                                    EXCEPTION->state        = 125;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA565_1 == CHAR_SYMBOL))
        	                        {
        	                            {
        	                                int LA565_126 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt565=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt565=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 565;
        	                                    EXCEPTION->state        = 126;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA565_1 == CURRENT_USER_SYMBOL))
        	                        {
        	                            {
        	                                int LA565_127 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt565=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt565=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 565;
        	                                    EXCEPTION->state        = 127;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA565_1 == HOUR_SYMBOL))
        	                        {
        	                            {
        	                                int LA565_128 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt565=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt565=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 565;
        	                                    EXCEPTION->state        = 128;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA565_1 == MINUTE_SYMBOL))
        	                        {
        	                            {
        	                                int LA565_129 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt565=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt565=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 565;
        	                                    EXCEPTION->state        = 129;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA565_1 == INSERT_SYMBOL))
        	                        {
        	                            {
        	                                int LA565_130 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt565=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt565=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 565;
        	                                    EXCEPTION->state        = 130;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA565_1 == LEFT_SYMBOL))
        	                        {
        	                            {
        	                                int LA565_131 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt565=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt565=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 565;
        	                                    EXCEPTION->state        = 131;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA565_1 == MONTH_SYMBOL))
        	                        {
        	                            {
        	                                int LA565_132 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt565=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt565=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 565;
        	                                    EXCEPTION->state        = 132;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA565_1 == SECOND_SYMBOL))
        	                        {
        	                            {
        	                                int LA565_133 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt565=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt565=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 565;
        	                                    EXCEPTION->state        = 133;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA565_1 == RIGHT_SYMBOL))
        	                        {
        	                            {
        	                                int LA565_134 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt565=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt565=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 565;
        	                                    EXCEPTION->state        = 134;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA565_1 == USER_SYMBOL))
        	                        {
        	                            {
        	                                int LA565_135 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt565=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt565=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 565;
        	                                    EXCEPTION->state        = 135;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA565_1 == TRIM_SYMBOL))
        	                        {
        	                            {
        	                                int LA565_136 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt565=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt565=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 565;
        	                                    EXCEPTION->state        = 136;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA565_1 == YEAR_SYMBOL))
        	                        {
        	                            {
        	                                int LA565_137 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt565=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt565=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 565;
        	                                    EXCEPTION->state        = 137;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA565_1 == VALUES_SYMBOL))
        	                        {
        	                            {
        	                                int LA565_138 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt565=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt565=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 565;
        	                                    EXCEPTION->state        = 138;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA565_1 == ADDDATE_SYMBOL || LA565_1 == SUBDATE_SYMBOL))
        	                        {
        	                            {
        	                                int LA565_139 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt565=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt565=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 565;
        	                                    EXCEPTION->state        = 139;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA565_1 == GET_FORMAT_SYMBOL))
        	                        {
        	                            {
        	                                int LA565_140 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt565=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt565=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 565;
        	                                    EXCEPTION->state        = 140;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA565_1 == CURDATE_SYMBOL))
        	                        {
        	                            {
        	                                int LA565_141 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt565=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt565=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 565;
        	                                    EXCEPTION->state        = 141;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA565_1 == CURTIME_SYMBOL))
        	                        {
        	                            {
        	                                int LA565_142 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt565=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt565=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 565;
        	                                    EXCEPTION->state        = 142;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA565_1 == DATE_ADD_SYMBOL || LA565_1 == DATE_SUB_SYMBOL))
        	                        {
        	                            {
        	                                int LA565_143 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt565=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt565=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 565;
        	                                    EXCEPTION->state        = 143;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA565_1 == EXTRACT_SYMBOL))
        	                        {
        	                            {
        	                                int LA565_144 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt565=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt565=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 565;
        	                                    EXCEPTION->state        = 144;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (((LA565_1 >= TIMESTAMP_ADD_SYMBOL) && (LA565_1 <= TIMESTAMP_DIFF_SYMBOL))))
        	                        {
        	                            {
        	                                int LA565_145 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt565=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt565=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 565;
        	                                    EXCEPTION->state        = 145;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA565_1 == NOW_SYMBOL))
        	                        {
        	                            {
        	                                int LA565_146 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt565=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt565=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 565;
        	                                    EXCEPTION->state        = 146;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA565_1 == POSITION_SYMBOL))
        	                        {
        	                            {
        	                                int LA565_147 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt565=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt565=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 565;
        	                                    EXCEPTION->state        = 147;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA565_1 == SUBSTRING_SYMBOL))
        	                        {
        	                            {
        	                                int LA565_148 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt565=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt565=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 565;
        	                                    EXCEPTION->state        = 148;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA565_1 == SYSDATE_SYMBOL))
        	                        {
        	                            {
        	                                int LA565_149 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt565=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt565=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 565;
        	                                    EXCEPTION->state        = 149;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA565_1 == COALESCE_SYMBOL))
        	                        {
        	                            {
        	                                int LA565_150 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt565=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt565=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 565;
        	                                    EXCEPTION->state        = 150;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA565_1 == UTC_DATE_SYMBOL))
        	                        {
        	                            {
        	                                int LA565_151 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt565=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt565=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 565;
        	                                    EXCEPTION->state        = 151;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA565_1 == UTC_TIME_SYMBOL))
        	                        {
        	                            {
        	                                int LA565_152 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt565=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt565=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 565;
        	                                    EXCEPTION->state        = 152;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA565_1 == UTC_TIMESTAMP_SYMBOL))
        	                        {
        	                            {
        	                                int LA565_153 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt565=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt565=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 565;
        	                                    EXCEPTION->state        = 153;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA565_1 == CHARSET_SYMBOL))
        	                        {
        	                            {
        	                                int LA565_154 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt565=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt565=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 565;
        	                                    EXCEPTION->state        = 154;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA565_1 == FORMAT_SYMBOL))
        	                        {
        	                            {
        	                                int LA565_155 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt565=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt565=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 565;
        	                                    EXCEPTION->state        = 155;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA565_1 == COLLATION_SYMBOL))
        	                        {
        	                            {
        	                                int LA565_156 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt565=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt565=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 565;
        	                                    EXCEPTION->state        = 156;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA565_1 == MICROSECOND_SYMBOL))
        	                        {
        	                            {
        	                                int LA565_157 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt565=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt565=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 565;
        	                                    EXCEPTION->state        = 157;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA565_1 == DATABASE_SYMBOL))
        	                        {
        	                            {
        	                                int LA565_158 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt565=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt565=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 565;
        	                                    EXCEPTION->state        = 158;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA565_1 == IF_SYMBOL))
        	                        {
        	                            {
        	                                int LA565_159 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt565=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt565=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 565;
        	                                    EXCEPTION->state        = 159;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA565_1 == TRUNCATE_SYMBOL))
        	                        {
        	                            {
        	                                int LA565_160 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt565=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt565=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 565;
        	                                    EXCEPTION->state        = 160;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA565_1 == OLD_PASSWORD_SYMBOL))
        	                        {
        	                            {
        	                                int LA565_161 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt565=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt565=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 565;
        	                                    EXCEPTION->state        = 161;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA565_1 == MOD_SYMBOL))
        	                        {
        	                            {
        	                                int LA565_162 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt565=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt565=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 565;
        	                                    EXCEPTION->state        = 162;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA565_1 == PASSWORD_SYMBOL))
        	                        {
        	                            {
        	                                int LA565_163 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt565=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt565=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 565;
        	                                    EXCEPTION->state        = 163;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA565_1 == QUARTER_SYMBOL))
        	                        {
        	                            {
        	                                int LA565_164 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt565=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt565=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 565;
        	                                    EXCEPTION->state        = 164;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA565_1 == REVERSE_SYMBOL))
        	                        {
        	                            {
        	                                int LA565_165 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt565=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt565=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 565;
        	                                    EXCEPTION->state        = 165;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA565_1 == REPEAT_SYMBOL))
        	                        {
        	                            {
        	                                int LA565_166 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt565=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt565=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 565;
        	                                    EXCEPTION->state        = 166;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA565_1 == REPLACE_SYMBOL))
        	                        {
        	                            {
        	                                int LA565_167 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt565=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt565=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 565;
        	                                    EXCEPTION->state        = 167;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA565_1 == ROW_COUNT_SYMBOL))
        	                        {
        	                            {
        	                                int LA565_168 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt565=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt565=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 565;
        	                                    EXCEPTION->state        = 168;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA565_1 == WEEK_SYMBOL))
        	                        {
        	                            {
        	                                int LA565_169 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt565=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt565=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 565;
        	                                    EXCEPTION->state        = 169;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA565_1 == CONTAINS_SYMBOL))
        	                        {
        	                            {
        	                                int LA565_170 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt565=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt565=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 565;
        	                                    EXCEPTION->state        = 170;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA565_1 == WEIGHT_STRING_SYMBOL))
        	                        {
        	                            {
        	                                int LA565_171 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt565=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt565=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 565;
        	                                    EXCEPTION->state        = 171;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA565_1 == GEOMETRYCOLLECTION_SYMBOL))
        	                        {
        	                            {
        	                                int LA565_172 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt565=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt565=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 565;
        	                                    EXCEPTION->state        = 172;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (((LA565_1 >= BACKUP_SYMBOL) && (LA565_1 <= CACHE_SYMBOL)) || ((LA565_1 >= CHECKSUM_SYMBOL) && (LA565_1 <= COMMIT_SYMBOL)) || ((LA565_1 >= DEALLOCATE_SYMBOL) && (LA565_1 <= FLUSH_SYMBOL)) || ((LA565_1 >= HANDLER_SYMBOL) && (LA565_1 <= STOP_SYMBOL)) || ((LA565_1 >= UNICODE_SYMBOL) && (LA565_1 <= XA_SYMBOL))))
        	                        {
        	                            {
        	                                int LA565_173 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt565=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt565=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 565;
        	                                    EXCEPTION->state        = 173;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA565_1 == LINESTRING_SYMBOL))
        	                        {
        	                            {
        	                                int LA565_174 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt565=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt565=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 565;
        	                                    EXCEPTION->state        = 174;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA565_1 == MULTILINESTRING_SYMBOL))
        	                        {
        	                            {
        	                                int LA565_175 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt565=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt565=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 565;
        	                                    EXCEPTION->state        = 175;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA565_1 == MULTIPOINT_SYMBOL))
        	                        {
        	                            {
        	                                int LA565_176 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt565=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt565=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 565;
        	                                    EXCEPTION->state        = 176;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA565_1 == MULTIPOLYGON_SYMBOL))
        	                        {
        	                            {
        	                                int LA565_177 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt565=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt565=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 565;
        	                                    EXCEPTION->state        = 177;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA565_1 == POINT_SYMBOL))
        	                        {
        	                            {
        	                                int LA565_178 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt565=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt565=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 565;
        	                                    EXCEPTION->state        = 178;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA565_1 == POLYGON_SYMBOL))
        	                        {
        	                            {
        	                                int LA565_179 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt565=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt565=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 565;
        	                                    EXCEPTION->state        = 179;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA565_1 == AVG_SYMBOL))
        	                        {
        	                            {
        	                                int LA565_180 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt565=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt565=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 565;
        	                                    EXCEPTION->state        = 180;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA565_1 == ROW_SYMBOL))
        	                        {
        	                            {
        	                                int LA565_181 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt565=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt565=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 565;
        	                                    EXCEPTION->state        = 181;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA565_1 == BIT_AND_SYMBOL))
        	                        {
        	                            {
        	                                int LA565_182 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt565=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt565=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 565;
        	                                    EXCEPTION->state        = 182;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA565_1 == BIT_OR_SYMBOL))
        	                        {
        	                            {
        	                                int LA565_183 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt565=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt565=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 565;
        	                                    EXCEPTION->state        = 183;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA565_1 == BIT_XOR_SYMBOL))
        	                        {
        	                            {
        	                                int LA565_184 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt565=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt565=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 565;
        	                                    EXCEPTION->state        = 184;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA565_1 == COUNT_SYMBOL))
        	                        {
        	                            {
        	                                int LA565_185 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt565=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt565=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 565;
        	                                    EXCEPTION->state        = 185;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA565_1 == MIN_SYMBOL))
        	                        {
        	                            {
        	                                int LA565_186 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt565=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt565=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 565;
        	                                    EXCEPTION->state        = 186;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA565_1 == MAX_SYMBOL))
        	                        {
        	                            {
        	                                int LA565_187 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt565=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt565=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 565;
        	                                    EXCEPTION->state        = 187;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA565_1 == STD_SYMBOL))
        	                        {
        	                            {
        	                                int LA565_188 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt565=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt565=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 565;
        	                                    EXCEPTION->state        = 188;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA565_1 == VARIANCE_SYMBOL))
        	                        {
        	                            {
        	                                int LA565_189 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt565=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt565=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 565;
        	                                    EXCEPTION->state        = 189;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA565_1 == STDDEV_SAMP_SYMBOL))
        	                        {
        	                            {
        	                                int LA565_190 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt565=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt565=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 565;
        	                                    EXCEPTION->state        = 190;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA565_1 == VAR_SAMP_SYMBOL))
        	                        {
        	                            {
        	                                int LA565_191 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt565=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt565=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 565;
        	                                    EXCEPTION->state        = 191;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA565_1 == SUM_SYMBOL))
        	                        {
        	                            {
        	                                int LA565_192 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt565=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt565=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 565;
        	                                    EXCEPTION->state        = 192;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA565_1 == GROUP_CONCAT_SYMBOL))
        	                        {
        	                            {
        	                                int LA565_193 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt565=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt565=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 565;
        	                                    EXCEPTION->state        = 193;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA565_1 == PARAM_MARKER))
        	                        {
        	                            {
        	                                int LA565_194 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt565=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt565=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 565;
        	                                    EXCEPTION->state        = 194;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA565_1 == AT_SIGN_SYMBOL))
        	                        {
        	                            {
        	                                int LA565_195 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt565=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt565=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 565;
        	                                    EXCEPTION->state        = 195;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA565_1 == AT_AT_SIGN_SYMBOL))
        	                        {
        	                            {
        	                                int LA565_196 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt565=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt565=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 565;
        	                                    EXCEPTION->state        = 196;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA565_1 == OPEN_PAR_SYMBOL))
        	                        {
        	                            {
        	                                int LA565_197 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt565=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt565=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 565;
        	                                    EXCEPTION->state        = 197;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA565_1 == EXISTS_SYMBOL))
        	                        {
        	                            {
        	                                int LA565_198 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt565=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt565=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 565;
        	                                    EXCEPTION->state        = 198;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA565_1 == ACTION_SYMBOL || ((LA565_1 >= AFTER_SYMBOL) && (LA565_1 <= AVG_ROW_LENGTH_SYMBOL)) || ((LA565_1 >= BINLOG_SYMBOL) && (LA565_1 <= CLIENT_SYMBOL)) || LA565_1 == CODE_SYMBOL || ((LA565_1 >= COLUMNS_SYMBOL) && (LA565_1 <= DATETIME_SYMBOL)) || ((LA565_1 >= DEFAULT_AUTH_SYMBOL) && (LA565_1 <= GENERAL_SYMBOL)) || LA565_1 == GEOMETRY_SYMBOL || ((LA565_1 >= GLOBAL_SYMBOL) && (LA565_1 <= HOSTS_SYMBOL)) || ((LA565_1 >= IDENTIFIED_SYMBOL) && (LA565_1 <= LEVEL_SYMBOL)) || ((LA565_1 >= LIST_SYMBOL) && (LA565_1 <= MESSAGE_TEXT_SYMBOL)) || LA565_1 == MIGRATE_SYMBOL || ((LA565_1 >= MIN_ROWS_SYMBOL) && (LA565_1 <= MODIFY_SYMBOL)) || ((LA565_1 >= MUTEX_SYMBOL) && (LA565_1 <= OFFSET_SYMBOL)) || ((LA565_1 >= ONE_SHOT_SYMBOL) && (LA565_1 <= PARTITIONS_SYMBOL)) || ((LA565_1 >= PHASE_SYMBOL) && (LA565_1 <= PLUGIN_SYMBOL)) || ((LA565_1 >= PRESERVE_SYMBOL) && (LA565_1 <= PROXY_SYMBOL)) || ((LA565_1 >= QUERY_SYMBOL) && (LA565_1 <= RETURNS_SYMBOL)) || ((LA565_1 >= ROLLUP_SYMBOL) && (LA565_1 <= ROWS_SYMBOL)) || LA565_1 == ROW_FORMAT_SYMBOL || ((LA565_1 >= RTREE_SYMBOL) && (LA565_1 <= SCHEMA_NAME_SYMBOL)) || ((LA565_1 >= SERIALIZABLE_SYMBOL) && (LA565_1 <= SUBCLASS_ORIGIN_SYMBOL)) || ((LA565_1 >= SUBJECT_SYMBOL) && (LA565_1 <= THAN_SYMBOL)) || ((LA565_1 >= TRANSACTION_SYMBOL) && (LA565_1 <= USER_RESOURCES_SYMBOL)) || ((LA565_1 >= USE_FRM_SYMBOL) && (LA565_1 <= WARNINGS_SYMBOL)) || ((LA565_1 >= WORK_SYMBOL) && (LA565_1 <= XML_SYMBOL))))
        	                        {
        	                            {
        	                                int LA565_199 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt565=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt565=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 565;
        	                                    EXCEPTION->state        = 199;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA565_1 == OPEN_CURLY_SYMBOL))
        	                        {
        	                            {
        	                                int LA565_200 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt565=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt565=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 565;
        	                                    EXCEPTION->state        = 200;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA565_1 == MATCH_SYMBOL))
        	                        {
        	                            {
        	                                int LA565_201 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt565=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt565=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 565;
        	                                    EXCEPTION->state        = 201;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA565_1 == CASE_SYMBOL))
        	                        {
        	                            {
        	                                int LA565_202 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt565=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt565=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 565;
        	                                    EXCEPTION->state        = 202;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA565_1 == BINARY_SYMBOL))
        	                        {
        	                            {
        	                                int LA565_203 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt565=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt565=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 565;
        	                                    EXCEPTION->state        = 203;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA565_1 == CAST_SYMBOL))
        	                        {
        	                            {
        	                                int LA565_204 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt565=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt565=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 565;
        	                                    EXCEPTION->state        = 204;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA565_1 == CONVERT_SYMBOL))
        	                        {
        	                            {
        	                                int LA565_205 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt565=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    alt565=2;
        	                                }
        	                                else
        	                                {
        	                                    if (BACKTRACKING>0)
        	                                    {
        	                                        FAILEDFLAG = ANTLR3_TRUE;
        	                                        return retval;
        	                                    }


        	                                    CONSTRUCTEX();
        	                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                                    EXCEPTION->message      = (void *)"";
        	                                    EXCEPTION->decisionNum  = 565;
        	                                    EXCEPTION->state        = 205;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else
        	                        {
        	                            if (BACKTRACKING>0)
        	                            {
        	                                FAILEDFLAG = ANTLR3_TRUE;
        	                                return retval;
        	                            }


        	                            CONSTRUCTEX();
        	                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                            EXCEPTION->message      = (void *)"";
        	                            EXCEPTION->decisionNum  = 565;
        	                            EXCEPTION->state        = 1;


        	                            goto ruleinterval_expressionEx;

        	                        }
        	                    }
        	                }
        	                else if ( (LA565_0 == BITWISE_NOT_OPERATOR || LA565_0 == INTERVAL_SYMBOL || LA565_0 == LOGICAL_NOT_OPERATOR || LA565_0 == MINUS_OPERATOR || LA565_0 == NCHAR_TEXT || LA565_0 == NOT2_SYMBOL || LA565_0 == NOT_SYMBOL || LA565_0 == PLUS_OPERATOR || LA565_0 == SINGLE_QUOTED_TEXT || LA565_0 == UNDERSCORE_CHARSET))
        	                {
        	                    alt565=2;
        	                }
        	                else if ( ((((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES)))||((!SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))))) && (LA565_0 == DOUBLE_QUOTED_TEXT))
        	                {
        	                    alt565=2;
        	                }
        	                else if ( (LA565_0 == FALSE_SYMBOL || LA565_0 == FLOAT || ((LA565_0 >= HEXNUMBER) && (LA565_0 <= HEXSTRING)) || LA565_0 == INTEGER || LA565_0 == TRUE_SYMBOL))
        	                {
        	                    alt565=2;
        	                }
        	                else if ( ((SERVER_VERSION >= 50003)) && (((LA565_0 >= BITNUMBER) && (LA565_0 <= BITSTRING))))
        	                {
        	                    alt565=2;
        	                }
        	                else if ( (((LA565_0 >= ACTION_SYMBOL) && (LA565_0 <= PARTITION_SYMBOL)) || ((LA565_0 >= AT_AT_SIGN_SYMBOL) && (LA565_0 <= AT_SIGN_SYMBOL)) || LA565_0 == BACK_TICK_QUOTED_ID || LA565_0 == BINARY_SYMBOL || ((LA565_0 >= BIT_AND_SYMBOL) && (LA565_0 <= BIT_XOR_SYMBOL)) || ((LA565_0 >= CASE_SYMBOL) && (LA565_0 <= CAST_SYMBOL)) || LA565_0 == CHAR_SYMBOL || ((LA565_0 >= CONVERT_SYMBOL) && (LA565_0 <= COUNT_SYMBOL)) || LA565_0 == CURDATE_SYMBOL || LA565_0 == CURRENT_USER_SYMBOL || LA565_0 == CURTIME_SYMBOL || LA565_0 == DATABASE_SYMBOL || LA565_0 == DATE_ADD_SYMBOL || LA565_0 == DATE_SUB_SYMBOL || LA565_0 == DOT_SYMBOL || LA565_0 == EXISTS_SYMBOL || LA565_0 == EXTRACT_SYMBOL || LA565_0 == GROUP_CONCAT_SYMBOL || ((LA565_0 >= IDENTIFIER) && (LA565_0 <= IF_SYMBOL)) || LA565_0 == INSERT_SYMBOL || LA565_0 == LEFT_SYMBOL || LA565_0 == MATCH_SYMBOL || LA565_0 == MAX_SYMBOL || LA565_0 == MIN_SYMBOL || LA565_0 == MOD_SYMBOL || LA565_0 == NOW_SYMBOL || LA565_0 == NULL2_SYMBOL || LA565_0 == NULL_SYMBOL || LA565_0 == OPEN_CURLY_SYMBOL || LA565_0 == PARAM_MARKER || LA565_0 == POSITION_SYMBOL || ((LA565_0 >= REPEAT_SYMBOL) && (LA565_0 <= REPLACE_SYMBOL)) || LA565_0 == RIGHT_SYMBOL || LA565_0 == STDDEV_SAMP_SYMBOL || LA565_0 == STD_SYMBOL || LA565_0 == SUBSTRING_SYMBOL || ((LA565_0 >= SUM_SYMBOL) && (LA565_0 <= SYSDATE_SYMBOL)) || LA565_0 == TRIM_SYMBOL || ((LA565_0 >= UTC_DATE_SYMBOL) && (LA565_0 <= VALUES_SYMBOL)) || LA565_0 == VARIANCE_SYMBOL || LA565_0 == VAR_SAMP_SYMBOL))
        	                {
        	                    alt565=2;
        	                }
        	                else
        	                {
        	                    if (BACKTRACKING>0)
        	                    {
        	                        FAILEDFLAG = ANTLR3_TRUE;
        	                        return retval;
        	                    }


        	                    CONSTRUCTEX();
        	                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                    EXCEPTION->message      = (void *)"";
        	                    EXCEPTION->decisionNum  = 565;
        	                    EXCEPTION->state        = 0;


        	                    goto ruleinterval_expressionEx;

        	                }
        	            }
        	            switch (alt565)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1747:4: ( OPEN_PAR_SYMBOL expression COMMA_SYMBOL )=> interval_function
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_interval_function_in_interval_expression9811);
        	        	        interval_function1804=interval_function(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleinterval_expressionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, interval_function1804.tree);

        	        	    }
        	        	    break;
        	        	case 2:
        	        	    // MySQL.g:1748:6: interval_time_span
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_interval_time_span_in_interval_expression9818);
        	        	        interval_time_span1805=interval_time_span(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleinterval_expressionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, interval_time_span1805.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:1750:4: primary
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_primary_in_interval_expression9827);
        	        primary1806=primary(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleinterval_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, primary1806.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:1753:1: interval_function : OPEN_PAR_SYMBOL expression ( COMMA_SYMBOL expression )+ CLOSE_PAR_SYMBOL -> ^( FUNCTION_CALL 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_SYMBOL1807;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL1809;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL1811;
    MySQLParser_expression_return expression1808;
    #undef	RETURN_TYPE_expression1808
    #define	RETURN_TYPE_expression1808 MySQLParser_expression_return

    MySQLParser_expression_return expression1810;
    #undef	RETURN_TYPE_expression1810
    #define	RETURN_TYPE_expression1810 MySQLParser_expression_return

    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL1807_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL1809_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL1811_tree;
    pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_CLOSE_PAR_SYMBOL;
    pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_OPEN_PAR_SYMBOL;
    pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_COMMA_SYMBOL;
    pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_expression;
    /* Initialize rule variables
     */

    root_0 = NULL;

    OPEN_PAR_SYMBOL1807       = NULL;
    COMMA_SYMBOL1809       = NULL;
    CLOSE_PAR_SYMBOL1811       = NULL;
    expression1808.tree = NULL;

    expression1810.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    OPEN_PAR_SYMBOL1807_tree   = NULL;
    COMMA_SYMBOL1809_tree   = NULL;
    CLOSE_PAR_SYMBOL1811_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_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_expression   = NULL;
    #define CREATE_stream_expression  if (stream_expression == NULL) {stream_expression = antlr3RewriteRuleSubtreeStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"rule expression"); }

    retval.tree  = NULL;

    {
        // MySQL.g:1753:18: ( OPEN_PAR_SYMBOL expression ( COMMA_SYMBOL expression )+ CLOSE_PAR_SYMBOL -> ^( FUNCTION_CALL INTERVAL_SYMBOL OPEN_PAR_SYMBOL expression ( COMMA_SYMBOL expression )+ CLOSE_PAR_SYMBOL ) )
        // MySQL.g:1754:2: OPEN_PAR_SYMBOL expression ( COMMA_SYMBOL expression )+ CLOSE_PAR_SYMBOL
        {
            OPEN_PAR_SYMBOL1807 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_interval_function9836);
            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_SYMBOL1807, NULL); }


            FOLLOWPUSH(FOLLOW_expression_in_interval_function9838);
            expression1808=expression(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruleinterval_functionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) { CREATE_stream_expression; stream_expression->add(stream_expression, expression1808.tree, NULL); }

            // MySQL.g:1754:29: ( COMMA_SYMBOL expression )+
            {
                int cnt567=0;

                for (;;)
                {
                    int alt567=2;
            	switch ( LA(1) )
            	{
            	case COMMA_SYMBOL:
            		{
            			alt567=1;
            		}
            	    break;

            	}

            	switch (alt567)
            	{
            	    case 1:
            	        // MySQL.g:1754:30: COMMA_SYMBOL expression
            	        {
            	            COMMA_SYMBOL1809 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_interval_function9841);
            	            if  (HASEXCEPTION())
            	            {
            	                goto ruleinterval_functionEx;
            	            }
            	            if (HASFAILED())
            	            {
            	                return retval;
            	            }
            	             
            	            if ( BACKTRACKING==0 ) { CREATE_stream_COMMA_SYMBOL; stream_COMMA_SYMBOL->add(stream_COMMA_SYMBOL, COMMA_SYMBOL1809, NULL); }


            	            FOLLOWPUSH(FOLLOW_expression_in_interval_function9843);
            	            expression1810=expression(ctx);

            	            FOLLOWPOP();
            	            if  (HASEXCEPTION())
            	            {
            	                goto ruleinterval_functionEx;
            	            }
            	            if (HASFAILED())
            	            {
            	                return retval;
            	            }

            	            if ( BACKTRACKING==0 ) { CREATE_stream_expression; stream_expression->add(stream_expression, expression1810.tree, NULL); }

            	        }
            	        break;

            	    default:

            		if ( cnt567 >= 1 )
            		{
            		    goto loop567;
            		}
            		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;
            	}
            	cnt567++;
                }
                loop567: ;	/* Jump to here if this rule does not match */
            }

            CLOSE_PAR_SYMBOL1811 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_interval_function9847);
            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_SYMBOL1811, NULL); }


            /* AST REWRITE
             * elements          : CLOSE_PAR_SYMBOL, expression, expression, COMMA_SYMBOL, OPEN_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;
            	// 1755:3: -> ^( FUNCTION_CALL INTERVAL_SYMBOL OPEN_PAR_SYMBOL expression ( COMMA_SYMBOL expression )+ CLOSE_PAR_SYMBOL )
            	{
            	    // MySQL.g:1755:6: ^( FUNCTION_CALL 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, FUNCTION_CALL, (pANTLR3_UINT8)"FUNCTION_CALL")
            	        , 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_expression == NULL || !stream_expression->hasNext(stream_expression)) || (stream_COMMA_SYMBOL == NULL || !stream_COMMA_SYMBOL->hasNext(stream_COMMA_SYMBOL))  )
            	        {
            	            CONSTRUCTEX();
            	            EXCEPTION->type         = ANTLR3_REWRITE_EARLY_EXCEPTION;
            	            EXCEPTION->name         = (void *)ANTLR3_REWRITE_EARLY_EXCEPTION_NAME;
            	        }
            	        else
            	        {
            	        	while ( (stream_expression->hasNext(stream_expression)) || (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_expression == NULL ? NULL : stream_expression->nextTree(stream_expression));

            	        	}
            	        	stream_expression->reset(stream_expression);
            	        	stream_COMMA_SYMBOL->reset(stream_COMMA_SYMBOL);

            	        }
            	        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_OPEN_PAR_SYMBOL != NULL) stream_OPEN_PAR_SYMBOL->free(stream_OPEN_PAR_SYMBOL);
        if (stream_COMMA_SYMBOL != NULL) stream_COMMA_SYMBOL->free(stream_COMMA_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:1758: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 interval1812;
    #undef	RETURN_TYPE_interval1812
    #define	RETURN_TYPE_interval1812 MySQLParser_interval_return

    pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_interval;
    /* Initialize rule variables
     */

    root_0 = NULL;

    interval1812.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:1758:19: ( interval -> ^( INTERVAL_SYMBOL interval ) )
        // MySQL.g:1759:2: interval
        {
            FOLLOWPUSH(FOLLOW_interval_in_interval_time_span9879);
            interval1812=interval(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruleinterval_time_spanEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) { CREATE_stream_interval; stream_interval->add(stream_interval, interval1812.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;
            	// 1759:11: -> ^( INTERVAL_SYMBOL interval )
            	{
            	    // MySQL.g:1759: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:1762:1: primary : ( literal | field_name | function_call_expression | ( qualified_identifier OPEN_PAR_SYMBOL )=> generic_function_call | PARAM_MARKER | variable |{...}? subquery | EXISTS_SYMBOL subquery | ( ROW_SYMBOL )? expression_list_with_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_MARKER1817;
    pANTLR3_COMMON_TOKEN    EXISTS_SYMBOL1820;
    pANTLR3_COMMON_TOKEN    ROW_SYMBOL1822;
    pANTLR3_COMMON_TOKEN    OPEN_CURLY_SYMBOL1824;
    pANTLR3_COMMON_TOKEN    CLOSE_CURLY_SYMBOL1827;
    pANTLR3_COMMON_TOKEN    COLLATE_SYMBOL1831;
    MySQLParser_literal_return literal1813;
    #undef	RETURN_TYPE_literal1813
    #define	RETURN_TYPE_literal1813 MySQLParser_literal_return

    MySQLParser_field_name_return field_name1814;
    #undef	RETURN_TYPE_field_name1814
    #define	RETURN_TYPE_field_name1814 MySQLParser_field_name_return

    MySQLParser_function_call_expression_return function_call_expression1815;
    #undef	RETURN_TYPE_function_call_expression1815
    #define	RETURN_TYPE_function_call_expression1815 MySQLParser_function_call_expression_return

    MySQLParser_generic_function_call_return generic_function_call1816;
    #undef	RETURN_TYPE_generic_function_call1816
    #define	RETURN_TYPE_generic_function_call1816 MySQLParser_generic_function_call_return

    MySQLParser_variable_return variable1818;
    #undef	RETURN_TYPE_variable1818
    #define	RETURN_TYPE_variable1818 MySQLParser_variable_return

    MySQLParser_subquery_return subquery1819;
    #undef	RETURN_TYPE_subquery1819
    #define	RETURN_TYPE_subquery1819 MySQLParser_subquery_return

    MySQLParser_subquery_return subquery1821;
    #undef	RETURN_TYPE_subquery1821
    #define	RETURN_TYPE_subquery1821 MySQLParser_subquery_return

    MySQLParser_expression_list_with_parentheses_return expression_list_with_parentheses1823;
    #undef	RETURN_TYPE_expression_list_with_parentheses1823
    #define	RETURN_TYPE_expression_list_with_parentheses1823 MySQLParser_expression_list_with_parentheses_return

    MySQLParser_identifier_return identifier1825;
    #undef	RETURN_TYPE_identifier1825
    #define	RETURN_TYPE_identifier1825 MySQLParser_identifier_return

    MySQLParser_expression_return expression1826;
    #undef	RETURN_TYPE_expression1826
    #define	RETURN_TYPE_expression1826 MySQLParser_expression_return

    MySQLParser_match_expression_return match_expression1828;
    #undef	RETURN_TYPE_match_expression1828
    #define	RETURN_TYPE_match_expression1828 MySQLParser_match_expression_return

    MySQLParser_case_expression_return case_expression1829;
    #undef	RETURN_TYPE_case_expression1829
    #define	RETURN_TYPE_case_expression1829 MySQLParser_case_expression_return

    MySQLParser_cast_expression_return cast_expression1830;
    #undef	RETURN_TYPE_cast_expression1830
    #define	RETURN_TYPE_cast_expression1830 MySQLParser_cast_expression_return

    MySQLParser_text_or_identifier_return text_or_identifier1832;
    #undef	RETURN_TYPE_text_or_identifier1832
    #define	RETURN_TYPE_text_or_identifier1832 MySQLParser_text_or_identifier_return

    pANTLR3_BASE_TREE PARAM_MARKER1817_tree;
    pANTLR3_BASE_TREE EXISTS_SYMBOL1820_tree;
    pANTLR3_BASE_TREE ROW_SYMBOL1822_tree;
    pANTLR3_BASE_TREE OPEN_CURLY_SYMBOL1824_tree;
    pANTLR3_BASE_TREE CLOSE_CURLY_SYMBOL1827_tree;
    pANTLR3_BASE_TREE COLLATE_SYMBOL1831_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    PARAM_MARKER1817       = NULL;
    EXISTS_SYMBOL1820       = NULL;
    ROW_SYMBOL1822       = NULL;
    OPEN_CURLY_SYMBOL1824       = NULL;
    CLOSE_CURLY_SYMBOL1827       = NULL;
    COLLATE_SYMBOL1831       = NULL;
    literal1813.tree = NULL;

    field_name1814.tree = NULL;

    function_call_expression1815.tree = NULL;

    generic_function_call1816.tree = NULL;

    variable1818.tree = NULL;

    subquery1819.tree = NULL;

    subquery1821.tree = NULL;

    expression_list_with_parentheses1823.tree = NULL;

    identifier1825.tree = NULL;

    expression1826.tree = NULL;

    match_expression1828.tree = NULL;

    case_expression1829.tree = NULL;

    cast_expression1830.tree = NULL;

    text_or_identifier1832.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    PARAM_MARKER1817_tree   = NULL;
    EXISTS_SYMBOL1820_tree   = NULL;
    ROW_SYMBOL1822_tree   = NULL;
    OPEN_CURLY_SYMBOL1824_tree   = NULL;
    CLOSE_CURLY_SYMBOL1827_tree   = NULL;
    COLLATE_SYMBOL1831_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1762:8: ( ( literal | field_name | function_call_expression | ( qualified_identifier OPEN_PAR_SYMBOL )=> generic_function_call | PARAM_MARKER | variable |{...}? subquery | EXISTS_SYMBOL subquery | ( ROW_SYMBOL )? expression_list_with_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:1763:5: ( literal | field_name | function_call_expression | ( qualified_identifier OPEN_PAR_SYMBOL )=> generic_function_call | PARAM_MARKER | variable |{...}? subquery | EXISTS_SYMBOL subquery | ( ROW_SYMBOL )? expression_list_with_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:1763:5: ( literal | field_name | function_call_expression | ( qualified_identifier OPEN_PAR_SYMBOL )=> generic_function_call | PARAM_MARKER | variable |{...}? subquery | EXISTS_SYMBOL subquery | ( ROW_SYMBOL )? expression_list_with_parentheses | OPEN_CURLY_SYMBOL identifier expression CLOSE_CURLY_SYMBOL | match_expression | case_expression | cast_expression )
            {
                int alt569=13;
                {
                    int LA569_0 = LA(1);
                    if ( (LA569_0 == FALSE_SYMBOL || LA569_0 == FLOAT || ((LA569_0 >= HEXNUMBER) && (LA569_0 <= HEXSTRING)) || LA569_0 == INTEGER || LA569_0 == NCHAR_TEXT || LA569_0 == SINGLE_QUOTED_TEXT || LA569_0 == TRUE_SYMBOL || LA569_0 == UNDERSCORE_CHARSET))
                    {
                        alt569=1;
                    }
                    else if ( ((((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES)))||((!SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))))) && (LA569_0 == DOUBLE_QUOTED_TEXT))
                    {
                        {
                            int LA569_4 = LA(2);
                            if ( (( (( (synpred3_MySQL(ctx)) && (synpred3_MySQL(ctx)) )) && ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) )) && (LA569_4 == DOT_SYMBOL))
                            {
                                alt569=4;
                            }
                            else if ( (( (( (synpred3_MySQL(ctx)) && (synpred3_MySQL(ctx)) )) && ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) )) && (LA569_4 == OPEN_PAR_SYMBOL))
                            {
                                alt569=4;
                            }
                            else if ( ((!SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))))
                            {
                                alt569=1;
                            }
                            else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))))
                            {
                                alt569=2;
                            }
                            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        = 4;


                                goto ruleprimaryEx;

                            }
                        }
                    }
                    else if ( ((SERVER_VERSION >= 50003)) && (((LA569_0 >= BITNUMBER) && (LA569_0 <= BITSTRING))))
                    {
                        alt569=1;
                    }
                    else if ( (LA569_0 == NULL2_SYMBOL || LA569_0 == NULL_SYMBOL))
                    {
                        alt569=1;
                    }
                    else if ( (LA569_0 == DATE_SYMBOL))
                    {
                        {
                            int LA569_10 = LA(2);
                            if ( (LA569_10 == SINGLE_QUOTED_TEXT))
                            {
                                {
                                    int LA569_192 = LA(3);
                                    if ( ((LA(1) == DATE_SYMBOL || LA(1) == TIME_SYMBOL || LA(1) == TIMESTAMP_SYMBOL)))
                                    {
                                        alt569=1;
                                    }
                                    else if ( (ANTLR3_TRUE))
                                    {
                                        alt569=2;
                                    }
                                    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        = 192;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA569_10 == OPEN_PAR_SYMBOL))
                            {
                                {
                                    int LA569_193 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt569=3;
                                    }
                                    else if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt569=4;
                                    }
                                    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        = 193;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA569_10 == DOT_SYMBOL))
                            {
                                {
                                    int LA569_194 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt569=2;
                                    }
                                    else if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt569=4;
                                    }
                                    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        = 194;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA569_10 == EOF || ((LA569_10 >= ACTION_SYMBOL) && (LA569_10 <= PARTITION_SYMBOL)) || ((LA569_10 >= AND_SYMBOL) && (LA569_10 <= ASC_SYMBOL)) || LA569_10 == AS_SYMBOL || LA569_10 == BACK_TICK_QUOTED_ID || LA569_10 == BETWEEN_SYMBOL || LA569_10 == BITWISE_AND_OPERATOR || ((LA569_10 >= BITWISE_OR_OPERATOR) && (LA569_10 <= BITWISE_XOR_OPERATOR)) || ((LA569_10 >= CLOSE_CURLY_SYMBOL) && (LA569_10 <= COLLATE_SYMBOL)) || LA569_10 == COMMA_SYMBOL || LA569_10 == CONCAT_PIPES_SYMBOL || LA569_10 == CROSS_SYMBOL || ((LA569_10 >= DAY_HOUR_SYMBOL) && (LA569_10 <= DAY_SECOND_SYMBOL)) || LA569_10 == DESC_SYMBOL || ((LA569_10 >= DIV_OPERATOR) && (LA569_10 <= DIV_SYMBOL)) || LA569_10 == DOUBLE_QUOTED_TEXT || LA569_10 == ELSE_SYMBOL || LA569_10 == EQUAL_OPERATOR || ((LA569_10 >= FOR_SYMBOL) && (LA569_10 <= FROM_SYMBOL)) || ((LA569_10 >= GREATER_OR_EQUAL_OPERATOR) && (LA569_10 <= GREATER_THAN_OPERATOR)) || ((LA569_10 >= GROUP_SYMBOL) && (LA569_10 <= HAVING_SYMBOL)) || ((LA569_10 >= HOUR_MICROSECOND_SYMBOL) && (LA569_10 <= IDENTIFIER)) || LA569_10 == INNER_SYMBOL || LA569_10 == INTO_SYMBOL || LA569_10 == IN_SYMBOL || LA569_10 == IS_SYMBOL || LA569_10 == JOIN_SYMBOL || ((LA569_10 >= LEFT_SYMBOL) && (LA569_10 <= LESS_THAN_OPERATOR)) || ((LA569_10 >= LIKE_SYMBOL) && (LA569_10 <= LIMIT_SYMBOL)) || LA569_10 == LOCK_SYMBOL || LA569_10 == LOGICAL_AND_OPERATOR || LA569_10 == LOGICAL_OR_OPERATOR || ((LA569_10 >= MINUS_OPERATOR) && (LA569_10 <= MINUTE_SECOND_SYMBOL)) || ((LA569_10 >= MOD_OPERATOR) && (LA569_10 <= MOD_SYMBOL)) || ((LA569_10 >= MULT_OPERATOR) && (LA569_10 <= NATURAL_SYMBOL)) || LA569_10 == NCHAR_TEXT || ((LA569_10 >= NOT_EQUAL2_OPERATOR) && (LA569_10 <= NOT_SYMBOL)) || LA569_10 == NULL_SAFE_EQUAL_OPERATOR || LA569_10 == ON_SYMBOL || ((LA569_10 >= ORDER_SYMBOL) && (LA569_10 <= OR_SYMBOL)) || LA569_10 == PLUS_OPERATOR || LA569_10 == PROCEDURE_SYMBOL || LA569_10 == REGEXP_SYMBOL || LA569_10 == RENAME_SYMBOL || LA569_10 == RIGHT_SYMBOL || LA569_10 == SECOND_MICROSECOND_SYMBOL || LA569_10 == SEMICOLON_SYMBOL || LA569_10 == SEPARATOR_SYMBOL || LA569_10 == SET_SYMBOL || ((LA569_10 >= SHIFT_LEFT_OPERATOR) && (LA569_10 <= SHIFT_RIGHT_OPERATOR)) || LA569_10 == STRAIGHT_JOIN_SYMBOL || LA569_10 == THEN_SYMBOL || LA569_10 == UNDERSCORE_CHARSET || LA569_10 == UNION_SYMBOL || LA569_10 == USING_SYMBOL || ((LA569_10 >= WHEN_SYMBOL) && (LA569_10 <= WHERE_SYMBOL)) || LA569_10 == WITH_SYMBOL || ((LA569_10 >= XOR_SYMBOL) && (LA569_10 <= YEAR_MONTH_SYMBOL))))
                            {
                                alt569=2;
                            }
                            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        = 10;


                                goto ruleprimaryEx;

                            }
                        }
                    }
                    else if ( (LA569_0 == TIME_SYMBOL))
                    {
                        {
                            int LA569_11 = LA(2);
                            if ( (LA569_11 == SINGLE_QUOTED_TEXT))
                            {
                                {
                                    int LA569_285 = LA(3);
                                    if ( ((LA(1) == DATE_SYMBOL || LA(1) == TIME_SYMBOL || LA(1) == TIMESTAMP_SYMBOL)))
                                    {
                                        alt569=1;
                                    }
                                    else if ( (ANTLR3_TRUE))
                                    {
                                        alt569=2;
                                    }
                                    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        = 285;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA569_11 == OPEN_PAR_SYMBOL))
                            {
                                {
                                    int LA569_286 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt569=3;
                                    }
                                    else if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt569=4;
                                    }
                                    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        = 286;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA569_11 == DOT_SYMBOL))
                            {
                                {
                                    int LA569_287 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt569=2;
                                    }
                                    else if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt569=4;
                                    }
                                    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        = 287;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA569_11 == EOF || ((LA569_11 >= ACTION_SYMBOL) && (LA569_11 <= PARTITION_SYMBOL)) || ((LA569_11 >= AND_SYMBOL) && (LA569_11 <= ASC_SYMBOL)) || LA569_11 == AS_SYMBOL || LA569_11 == BACK_TICK_QUOTED_ID || LA569_11 == BETWEEN_SYMBOL || LA569_11 == BITWISE_AND_OPERATOR || ((LA569_11 >= BITWISE_OR_OPERATOR) && (LA569_11 <= BITWISE_XOR_OPERATOR)) || ((LA569_11 >= CLOSE_CURLY_SYMBOL) && (LA569_11 <= COLLATE_SYMBOL)) || LA569_11 == COMMA_SYMBOL || LA569_11 == CONCAT_PIPES_SYMBOL || LA569_11 == CROSS_SYMBOL || ((LA569_11 >= DAY_HOUR_SYMBOL) && (LA569_11 <= DAY_SECOND_SYMBOL)) || LA569_11 == DESC_SYMBOL || ((LA569_11 >= DIV_OPERATOR) && (LA569_11 <= DIV_SYMBOL)) || LA569_11 == DOUBLE_QUOTED_TEXT || LA569_11 == ELSE_SYMBOL || LA569_11 == EQUAL_OPERATOR || ((LA569_11 >= FOR_SYMBOL) && (LA569_11 <= FROM_SYMBOL)) || ((LA569_11 >= GREATER_OR_EQUAL_OPERATOR) && (LA569_11 <= GREATER_THAN_OPERATOR)) || ((LA569_11 >= GROUP_SYMBOL) && (LA569_11 <= HAVING_SYMBOL)) || ((LA569_11 >= HOUR_MICROSECOND_SYMBOL) && (LA569_11 <= IDENTIFIER)) || LA569_11 == INNER_SYMBOL || LA569_11 == INTO_SYMBOL || LA569_11 == IN_SYMBOL || LA569_11 == IS_SYMBOL || LA569_11 == JOIN_SYMBOL || ((LA569_11 >= LEFT_SYMBOL) && (LA569_11 <= LESS_THAN_OPERATOR)) || ((LA569_11 >= LIKE_SYMBOL) && (LA569_11 <= LIMIT_SYMBOL)) || LA569_11 == LOCK_SYMBOL || LA569_11 == LOGICAL_AND_OPERATOR || LA569_11 == LOGICAL_OR_OPERATOR || ((LA569_11 >= MINUS_OPERATOR) && (LA569_11 <= MINUTE_SECOND_SYMBOL)) || ((LA569_11 >= MOD_OPERATOR) && (LA569_11 <= MOD_SYMBOL)) || ((LA569_11 >= MULT_OPERATOR) && (LA569_11 <= NATURAL_SYMBOL)) || LA569_11 == NCHAR_TEXT || ((LA569_11 >= NOT_EQUAL2_OPERATOR) && (LA569_11 <= NOT_SYMBOL)) || LA569_11 == NULL_SAFE_EQUAL_OPERATOR || LA569_11 == ON_SYMBOL || ((LA569_11 >= ORDER_SYMBOL) && (LA569_11 <= OR_SYMBOL)) || LA569_11 == PLUS_OPERATOR || LA569_11 == PROCEDURE_SYMBOL || LA569_11 == REGEXP_SYMBOL || LA569_11 == RENAME_SYMBOL || LA569_11 == RIGHT_SYMBOL || LA569_11 == SECOND_MICROSECOND_SYMBOL || LA569_11 == SEMICOLON_SYMBOL || LA569_11 == SEPARATOR_SYMBOL || LA569_11 == SET_SYMBOL || ((LA569_11 >= SHIFT_LEFT_OPERATOR) && (LA569_11 <= SHIFT_RIGHT_OPERATOR)) || LA569_11 == STRAIGHT_JOIN_SYMBOL || LA569_11 == THEN_SYMBOL || LA569_11 == UNDERSCORE_CHARSET || LA569_11 == UNION_SYMBOL || LA569_11 == USING_SYMBOL || ((LA569_11 >= WHEN_SYMBOL) && (LA569_11 <= WHERE_SYMBOL)) || LA569_11 == WITH_SYMBOL || ((LA569_11 >= XOR_SYMBOL) && (LA569_11 <= YEAR_MONTH_SYMBOL))))
                            {
                                alt569=2;
                            }
                            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        = 11;


                                goto ruleprimaryEx;

                            }
                        }
                    }
                    else if ( (LA569_0 == TIMESTAMP_SYMBOL))
                    {
                        {
                            int LA569_12 = LA(2);
                            if ( (LA569_12 == SINGLE_QUOTED_TEXT))
                            {
                                {
                                    int LA569_378 = LA(3);
                                    if ( ((LA(1) == DATE_SYMBOL || LA(1) == TIME_SYMBOL || LA(1) == TIMESTAMP_SYMBOL)))
                                    {
                                        alt569=1;
                                    }
                                    else if ( (ANTLR3_TRUE))
                                    {
                                        alt569=2;
                                    }
                                    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        = 378;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA569_12 == OPEN_PAR_SYMBOL))
                            {
                                {
                                    int LA569_379 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt569=3;
                                    }
                                    else if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt569=4;
                                    }
                                    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        = 379;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA569_12 == DOT_SYMBOL))
                            {
                                {
                                    int LA569_380 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt569=2;
                                    }
                                    else if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt569=4;
                                    }
                                    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        = 380;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA569_12 == EOF || ((LA569_12 >= ACTION_SYMBOL) && (LA569_12 <= PARTITION_SYMBOL)) || ((LA569_12 >= AND_SYMBOL) && (LA569_12 <= ASC_SYMBOL)) || LA569_12 == AS_SYMBOL || LA569_12 == BACK_TICK_QUOTED_ID || LA569_12 == BETWEEN_SYMBOL || LA569_12 == BITWISE_AND_OPERATOR || ((LA569_12 >= BITWISE_OR_OPERATOR) && (LA569_12 <= BITWISE_XOR_OPERATOR)) || ((LA569_12 >= CLOSE_CURLY_SYMBOL) && (LA569_12 <= COLLATE_SYMBOL)) || LA569_12 == COMMA_SYMBOL || LA569_12 == CONCAT_PIPES_SYMBOL || LA569_12 == CROSS_SYMBOL || ((LA569_12 >= DAY_HOUR_SYMBOL) && (LA569_12 <= DAY_SECOND_SYMBOL)) || LA569_12 == DESC_SYMBOL || ((LA569_12 >= DIV_OPERATOR) && (LA569_12 <= DIV_SYMBOL)) || LA569_12 == DOUBLE_QUOTED_TEXT || LA569_12 == ELSE_SYMBOL || LA569_12 == EQUAL_OPERATOR || ((LA569_12 >= FOR_SYMBOL) && (LA569_12 <= FROM_SYMBOL)) || ((LA569_12 >= GREATER_OR_EQUAL_OPERATOR) && (LA569_12 <= GREATER_THAN_OPERATOR)) || ((LA569_12 >= GROUP_SYMBOL) && (LA569_12 <= HAVING_SYMBOL)) || ((LA569_12 >= HOUR_MICROSECOND_SYMBOL) && (LA569_12 <= IDENTIFIER)) || LA569_12 == INNER_SYMBOL || LA569_12 == INTO_SYMBOL || LA569_12 == IN_SYMBOL || LA569_12 == IS_SYMBOL || LA569_12 == JOIN_SYMBOL || ((LA569_12 >= LEFT_SYMBOL) && (LA569_12 <= LESS_THAN_OPERATOR)) || ((LA569_12 >= LIKE_SYMBOL) && (LA569_12 <= LIMIT_SYMBOL)) || LA569_12 == LOCK_SYMBOL || LA569_12 == LOGICAL_AND_OPERATOR || LA569_12 == LOGICAL_OR_OPERATOR || ((LA569_12 >= MINUS_OPERATOR) && (LA569_12 <= MINUTE_SECOND_SYMBOL)) || ((LA569_12 >= MOD_OPERATOR) && (LA569_12 <= MOD_SYMBOL)) || ((LA569_12 >= MULT_OPERATOR) && (LA569_12 <= NATURAL_SYMBOL)) || LA569_12 == NCHAR_TEXT || ((LA569_12 >= NOT_EQUAL2_OPERATOR) && (LA569_12 <= NOT_SYMBOL)) || LA569_12 == NULL_SAFE_EQUAL_OPERATOR || LA569_12 == ON_SYMBOL || ((LA569_12 >= ORDER_SYMBOL) && (LA569_12 <= OR_SYMBOL)) || LA569_12 == PLUS_OPERATOR || LA569_12 == PROCEDURE_SYMBOL || LA569_12 == REGEXP_SYMBOL || LA569_12 == RENAME_SYMBOL || LA569_12 == RIGHT_SYMBOL || LA569_12 == SECOND_MICROSECOND_SYMBOL || LA569_12 == SEMICOLON_SYMBOL || LA569_12 == SEPARATOR_SYMBOL || LA569_12 == SET_SYMBOL || ((LA569_12 >= SHIFT_LEFT_OPERATOR) && (LA569_12 <= SHIFT_RIGHT_OPERATOR)) || LA569_12 == STRAIGHT_JOIN_SYMBOL || LA569_12 == THEN_SYMBOL || LA569_12 == UNDERSCORE_CHARSET || LA569_12 == UNION_SYMBOL || LA569_12 == USING_SYMBOL || ((LA569_12 >= WHEN_SYMBOL) && (LA569_12 <= WHERE_SYMBOL)) || LA569_12 == WITH_SYMBOL || ((LA569_12 >= XOR_SYMBOL) && (LA569_12 <= YEAR_MONTH_SYMBOL))))
                            {
                                alt569=2;
                            }
                            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        = 12;


                                goto ruleprimaryEx;

                            }
                        }
                    }
                    else if ( (LA569_0 == IDENTIFIER))
                    {
                        {
                            int LA569_13 = LA(2);
                            if ( (LA569_13 == DOT_SYMBOL))
                            {
                                {
                                    int LA569_471 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt569=2;
                                    }
                                    else if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt569=4;
                                    }
                                    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        = 471;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA569_13 == EOF || ((LA569_13 >= ACTION_SYMBOL) && (LA569_13 <= PARTITION_SYMBOL)) || ((LA569_13 >= AND_SYMBOL) && (LA569_13 <= ASC_SYMBOL)) || LA569_13 == AS_SYMBOL || LA569_13 == BACK_TICK_QUOTED_ID || LA569_13 == BETWEEN_SYMBOL || LA569_13 == BITWISE_AND_OPERATOR || ((LA569_13 >= BITWISE_OR_OPERATOR) && (LA569_13 <= BITWISE_XOR_OPERATOR)) || ((LA569_13 >= CLOSE_CURLY_SYMBOL) && (LA569_13 <= COLLATE_SYMBOL)) || LA569_13 == COMMA_SYMBOL || LA569_13 == CONCAT_PIPES_SYMBOL || LA569_13 == CROSS_SYMBOL || ((LA569_13 >= DAY_HOUR_SYMBOL) && (LA569_13 <= DAY_SECOND_SYMBOL)) || LA569_13 == DESC_SYMBOL || ((LA569_13 >= DIV_OPERATOR) && (LA569_13 <= DIV_SYMBOL)) || LA569_13 == DOUBLE_QUOTED_TEXT || LA569_13 == ELSE_SYMBOL || LA569_13 == EQUAL_OPERATOR || ((LA569_13 >= FOR_SYMBOL) && (LA569_13 <= FROM_SYMBOL)) || ((LA569_13 >= GREATER_OR_EQUAL_OPERATOR) && (LA569_13 <= GREATER_THAN_OPERATOR)) || ((LA569_13 >= GROUP_SYMBOL) && (LA569_13 <= HAVING_SYMBOL)) || ((LA569_13 >= HOUR_MICROSECOND_SYMBOL) && (LA569_13 <= IDENTIFIER)) || LA569_13 == INNER_SYMBOL || LA569_13 == INTO_SYMBOL || LA569_13 == IN_SYMBOL || LA569_13 == IS_SYMBOL || LA569_13 == JOIN_SYMBOL || ((LA569_13 >= LEFT_SYMBOL) && (LA569_13 <= LESS_THAN_OPERATOR)) || ((LA569_13 >= LIKE_SYMBOL) && (LA569_13 <= LIMIT_SYMBOL)) || LA569_13 == LOCK_SYMBOL || LA569_13 == LOGICAL_AND_OPERATOR || LA569_13 == LOGICAL_OR_OPERATOR || ((LA569_13 >= MINUS_OPERATOR) && (LA569_13 <= MINUTE_SECOND_SYMBOL)) || ((LA569_13 >= MOD_OPERATOR) && (LA569_13 <= MOD_SYMBOL)) || ((LA569_13 >= MULT_OPERATOR) && (LA569_13 <= NATURAL_SYMBOL)) || LA569_13 == NCHAR_TEXT || ((LA569_13 >= NOT_EQUAL2_OPERATOR) && (LA569_13 <= NOT_SYMBOL)) || LA569_13 == NULL_SAFE_EQUAL_OPERATOR || LA569_13 == ON_SYMBOL || ((LA569_13 >= ORDER_SYMBOL) && (LA569_13 <= OR_SYMBOL)) || LA569_13 == PLUS_OPERATOR || LA569_13 == PROCEDURE_SYMBOL || LA569_13 == REGEXP_SYMBOL || LA569_13 == RENAME_SYMBOL || LA569_13 == RIGHT_SYMBOL || LA569_13 == SECOND_MICROSECOND_SYMBOL || LA569_13 == SEMICOLON_SYMBOL || LA569_13 == SEPARATOR_SYMBOL || LA569_13 == SET_SYMBOL || ((LA569_13 >= SHIFT_LEFT_OPERATOR) && (LA569_13 <= SHIFT_RIGHT_OPERATOR)) || LA569_13 == SINGLE_QUOTED_TEXT || LA569_13 == STRAIGHT_JOIN_SYMBOL || LA569_13 == THEN_SYMBOL || LA569_13 == UNDERSCORE_CHARSET || LA569_13 == UNION_SYMBOL || LA569_13 == USING_SYMBOL || ((LA569_13 >= WHEN_SYMBOL) && (LA569_13 <= WHERE_SYMBOL)) || LA569_13 == WITH_SYMBOL || ((LA569_13 >= XOR_SYMBOL) && (LA569_13 <= YEAR_MONTH_SYMBOL))))
                            {
                                alt569=2;
                            }
                            else if ( (synpred3_MySQL(ctx)) && (LA569_13 == OPEN_PAR_SYMBOL))
                            {
                                alt569=4;
                            }
                            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        = 13;


                                goto ruleprimaryEx;

                            }
                        }
                    }
                    else if ( (LA569_0 == BACK_TICK_QUOTED_ID))
                    {
                        {
                            int LA569_14 = LA(2);
                            if ( (LA569_14 == DOT_SYMBOL))
                            {
                                {
                                    int LA569_564 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt569=2;
                                    }
                                    else if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt569=4;
                                    }
                                    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        = 564;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA569_14 == EOF || ((LA569_14 >= ACTION_SYMBOL) && (LA569_14 <= PARTITION_SYMBOL)) || ((LA569_14 >= AND_SYMBOL) && (LA569_14 <= ASC_SYMBOL)) || LA569_14 == AS_SYMBOL || LA569_14 == BACK_TICK_QUOTED_ID || LA569_14 == BETWEEN_SYMBOL || LA569_14 == BITWISE_AND_OPERATOR || ((LA569_14 >= BITWISE_OR_OPERATOR) && (LA569_14 <= BITWISE_XOR_OPERATOR)) || ((LA569_14 >= CLOSE_CURLY_SYMBOL) && (LA569_14 <= COLLATE_SYMBOL)) || LA569_14 == COMMA_SYMBOL || LA569_14 == CONCAT_PIPES_SYMBOL || LA569_14 == CROSS_SYMBOL || ((LA569_14 >= DAY_HOUR_SYMBOL) && (LA569_14 <= DAY_SECOND_SYMBOL)) || LA569_14 == DESC_SYMBOL || ((LA569_14 >= DIV_OPERATOR) && (LA569_14 <= DIV_SYMBOL)) || LA569_14 == DOUBLE_QUOTED_TEXT || LA569_14 == ELSE_SYMBOL || LA569_14 == EQUAL_OPERATOR || ((LA569_14 >= FOR_SYMBOL) && (LA569_14 <= FROM_SYMBOL)) || ((LA569_14 >= GREATER_OR_EQUAL_OPERATOR) && (LA569_14 <= GREATER_THAN_OPERATOR)) || ((LA569_14 >= GROUP_SYMBOL) && (LA569_14 <= HAVING_SYMBOL)) || ((LA569_14 >= HOUR_MICROSECOND_SYMBOL) && (LA569_14 <= IDENTIFIER)) || LA569_14 == INNER_SYMBOL || LA569_14 == INTO_SYMBOL || LA569_14 == IN_SYMBOL || LA569_14 == IS_SYMBOL || LA569_14 == JOIN_SYMBOL || ((LA569_14 >= LEFT_SYMBOL) && (LA569_14 <= LESS_THAN_OPERATOR)) || ((LA569_14 >= LIKE_SYMBOL) && (LA569_14 <= LIMIT_SYMBOL)) || LA569_14 == LOCK_SYMBOL || LA569_14 == LOGICAL_AND_OPERATOR || LA569_14 == LOGICAL_OR_OPERATOR || ((LA569_14 >= MINUS_OPERATOR) && (LA569_14 <= MINUTE_SECOND_SYMBOL)) || ((LA569_14 >= MOD_OPERATOR) && (LA569_14 <= MOD_SYMBOL)) || ((LA569_14 >= MULT_OPERATOR) && (LA569_14 <= NATURAL_SYMBOL)) || LA569_14 == NCHAR_TEXT || ((LA569_14 >= NOT_EQUAL2_OPERATOR) && (LA569_14 <= NOT_SYMBOL)) || LA569_14 == NULL_SAFE_EQUAL_OPERATOR || LA569_14 == ON_SYMBOL || ((LA569_14 >= ORDER_SYMBOL) && (LA569_14 <= OR_SYMBOL)) || LA569_14 == PLUS_OPERATOR || LA569_14 == PROCEDURE_SYMBOL || LA569_14 == REGEXP_SYMBOL || LA569_14 == RENAME_SYMBOL || LA569_14 == RIGHT_SYMBOL || LA569_14 == SECOND_MICROSECOND_SYMBOL || LA569_14 == SEMICOLON_SYMBOL || LA569_14 == SEPARATOR_SYMBOL || LA569_14 == SET_SYMBOL || ((LA569_14 >= SHIFT_LEFT_OPERATOR) && (LA569_14 <= SHIFT_RIGHT_OPERATOR)) || LA569_14 == SINGLE_QUOTED_TEXT || LA569_14 == STRAIGHT_JOIN_SYMBOL || LA569_14 == THEN_SYMBOL || LA569_14 == UNDERSCORE_CHARSET || LA569_14 == UNION_SYMBOL || LA569_14 == USING_SYMBOL || ((LA569_14 >= WHEN_SYMBOL) && (LA569_14 <= WHERE_SYMBOL)) || LA569_14 == WITH_SYMBOL || ((LA569_14 >= XOR_SYMBOL) && (LA569_14 <= YEAR_MONTH_SYMBOL))))
                            {
                                alt569=2;
                            }
                            else if ( (synpred3_MySQL(ctx)) && (LA569_14 == OPEN_PAR_SYMBOL))
                            {
                                alt569=4;
                            }
                            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        = 14;


                                goto ruleprimaryEx;

                            }
                        }
                    }
                    else if ( (LA569_0 == DAY_SYMBOL))
                    {
                        {
                            int LA569_15 = LA(2);
                            if ( (LA569_15 == OPEN_PAR_SYMBOL))
                            {
                                {
                                    int LA569_657 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt569=3;
                                    }
                                    else if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt569=4;
                                    }
                                    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        = 657;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA569_15 == DOT_SYMBOL))
                            {
                                {
                                    int LA569_658 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt569=2;
                                    }
                                    else if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt569=4;
                                    }
                                    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        = 658;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA569_15 == EOF || ((LA569_15 >= ACTION_SYMBOL) && (LA569_15 <= PARTITION_SYMBOL)) || ((LA569_15 >= AND_SYMBOL) && (LA569_15 <= ASC_SYMBOL)) || LA569_15 == AS_SYMBOL || LA569_15 == BACK_TICK_QUOTED_ID || LA569_15 == BETWEEN_SYMBOL || LA569_15 == BITWISE_AND_OPERATOR || ((LA569_15 >= BITWISE_OR_OPERATOR) && (LA569_15 <= BITWISE_XOR_OPERATOR)) || ((LA569_15 >= CLOSE_CURLY_SYMBOL) && (LA569_15 <= COLLATE_SYMBOL)) || LA569_15 == COMMA_SYMBOL || LA569_15 == CONCAT_PIPES_SYMBOL || LA569_15 == CROSS_SYMBOL || ((LA569_15 >= DAY_HOUR_SYMBOL) && (LA569_15 <= DAY_SECOND_SYMBOL)) || LA569_15 == DESC_SYMBOL || ((LA569_15 >= DIV_OPERATOR) && (LA569_15 <= DIV_SYMBOL)) || LA569_15 == DOUBLE_QUOTED_TEXT || LA569_15 == ELSE_SYMBOL || LA569_15 == EQUAL_OPERATOR || ((LA569_15 >= FOR_SYMBOL) && (LA569_15 <= FROM_SYMBOL)) || ((LA569_15 >= GREATER_OR_EQUAL_OPERATOR) && (LA569_15 <= GREATER_THAN_OPERATOR)) || ((LA569_15 >= GROUP_SYMBOL) && (LA569_15 <= HAVING_SYMBOL)) || ((LA569_15 >= HOUR_MICROSECOND_SYMBOL) && (LA569_15 <= IDENTIFIER)) || LA569_15 == INNER_SYMBOL || LA569_15 == INTO_SYMBOL || LA569_15 == IN_SYMBOL || LA569_15 == IS_SYMBOL || LA569_15 == JOIN_SYMBOL || ((LA569_15 >= LEFT_SYMBOL) && (LA569_15 <= LESS_THAN_OPERATOR)) || ((LA569_15 >= LIKE_SYMBOL) && (LA569_15 <= LIMIT_SYMBOL)) || LA569_15 == LOCK_SYMBOL || LA569_15 == LOGICAL_AND_OPERATOR || LA569_15 == LOGICAL_OR_OPERATOR || ((LA569_15 >= MINUS_OPERATOR) && (LA569_15 <= MINUTE_SECOND_SYMBOL)) || ((LA569_15 >= MOD_OPERATOR) && (LA569_15 <= MOD_SYMBOL)) || ((LA569_15 >= MULT_OPERATOR) && (LA569_15 <= NATURAL_SYMBOL)) || LA569_15 == NCHAR_TEXT || ((LA569_15 >= NOT_EQUAL2_OPERATOR) && (LA569_15 <= NOT_SYMBOL)) || LA569_15 == NULL_SAFE_EQUAL_OPERATOR || LA569_15 == ON_SYMBOL || ((LA569_15 >= ORDER_SYMBOL) && (LA569_15 <= OR_SYMBOL)) || LA569_15 == PLUS_OPERATOR || LA569_15 == PROCEDURE_SYMBOL || LA569_15 == REGEXP_SYMBOL || LA569_15 == RENAME_SYMBOL || LA569_15 == RIGHT_SYMBOL || LA569_15 == SECOND_MICROSECOND_SYMBOL || LA569_15 == SEMICOLON_SYMBOL || LA569_15 == SEPARATOR_SYMBOL || LA569_15 == SET_SYMBOL || ((LA569_15 >= SHIFT_LEFT_OPERATOR) && (LA569_15 <= SHIFT_RIGHT_OPERATOR)) || LA569_15 == SINGLE_QUOTED_TEXT || LA569_15 == STRAIGHT_JOIN_SYMBOL || LA569_15 == THEN_SYMBOL || LA569_15 == UNDERSCORE_CHARSET || LA569_15 == UNION_SYMBOL || LA569_15 == USING_SYMBOL || ((LA569_15 >= WHEN_SYMBOL) && (LA569_15 <= WHERE_SYMBOL)) || LA569_15 == WITH_SYMBOL || ((LA569_15 >= XOR_SYMBOL) && (LA569_15 <= YEAR_MONTH_SYMBOL))))
                            {
                                alt569=2;
                            }
                            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        = 15;


                                goto ruleprimaryEx;

                            }
                        }
                    }
                    else if ( (LA569_0 == PARTITION_SYMBOL))
                    {
                        {
                            int LA569_16 = LA(2);
                            if ( (LA569_16 == DOT_SYMBOL))
                            {
                                {
                                    int LA569_750 = LA(3);
                                    if ( ((SERVER_VERSION < 50600)))
                                    {
                                        alt569=2;
                                    }
                                    else if ( (( (( (synpred3_MySQL(ctx)) && (synpred3_MySQL(ctx)) )) && ((SERVER_VERSION < 50600)) )))
                                    {
                                        alt569=4;
                                    }
                                    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        = 750;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA569_16 == EOF || ((LA569_16 >= ACTION_SYMBOL) && (LA569_16 <= PARTITION_SYMBOL)) || ((LA569_16 >= AND_SYMBOL) && (LA569_16 <= ASC_SYMBOL)) || LA569_16 == AS_SYMBOL || LA569_16 == BACK_TICK_QUOTED_ID || LA569_16 == BETWEEN_SYMBOL || LA569_16 == BITWISE_AND_OPERATOR || ((LA569_16 >= BITWISE_OR_OPERATOR) && (LA569_16 <= BITWISE_XOR_OPERATOR)) || ((LA569_16 >= CLOSE_CURLY_SYMBOL) && (LA569_16 <= COLLATE_SYMBOL)) || LA569_16 == COMMA_SYMBOL || LA569_16 == CONCAT_PIPES_SYMBOL || LA569_16 == CROSS_SYMBOL || ((LA569_16 >= DAY_HOUR_SYMBOL) && (LA569_16 <= DAY_SECOND_SYMBOL)) || LA569_16 == DESC_SYMBOL || ((LA569_16 >= DIV_OPERATOR) && (LA569_16 <= DIV_SYMBOL)) || LA569_16 == DOUBLE_QUOTED_TEXT || LA569_16 == ELSE_SYMBOL || LA569_16 == EQUAL_OPERATOR || ((LA569_16 >= FOR_SYMBOL) && (LA569_16 <= FROM_SYMBOL)) || ((LA569_16 >= GREATER_OR_EQUAL_OPERATOR) && (LA569_16 <= GREATER_THAN_OPERATOR)) || ((LA569_16 >= GROUP_SYMBOL) && (LA569_16 <= HAVING_SYMBOL)) || ((LA569_16 >= HOUR_MICROSECOND_SYMBOL) && (LA569_16 <= IDENTIFIER)) || LA569_16 == INNER_SYMBOL || LA569_16 == INTO_SYMBOL || LA569_16 == IN_SYMBOL || LA569_16 == IS_SYMBOL || LA569_16 == JOIN_SYMBOL || ((LA569_16 >= LEFT_SYMBOL) && (LA569_16 <= LESS_THAN_OPERATOR)) || ((LA569_16 >= LIKE_SYMBOL) && (LA569_16 <= LIMIT_SYMBOL)) || LA569_16 == LOCK_SYMBOL || LA569_16 == LOGICAL_AND_OPERATOR || LA569_16 == LOGICAL_OR_OPERATOR || ((LA569_16 >= MINUS_OPERATOR) && (LA569_16 <= MINUTE_SECOND_SYMBOL)) || ((LA569_16 >= MOD_OPERATOR) && (LA569_16 <= MOD_SYMBOL)) || ((LA569_16 >= MULT_OPERATOR) && (LA569_16 <= NATURAL_SYMBOL)) || LA569_16 == NCHAR_TEXT || ((LA569_16 >= NOT_EQUAL2_OPERATOR) && (LA569_16 <= NOT_SYMBOL)) || LA569_16 == NULL_SAFE_EQUAL_OPERATOR || LA569_16 == ON_SYMBOL || ((LA569_16 >= ORDER_SYMBOL) && (LA569_16 <= OR_SYMBOL)) || LA569_16 == PLUS_OPERATOR || LA569_16 == PROCEDURE_SYMBOL || LA569_16 == REGEXP_SYMBOL || LA569_16 == RENAME_SYMBOL || LA569_16 == RIGHT_SYMBOL || LA569_16 == SECOND_MICROSECOND_SYMBOL || LA569_16 == SEMICOLON_SYMBOL || LA569_16 == SEPARATOR_SYMBOL || LA569_16 == SET_SYMBOL || ((LA569_16 >= SHIFT_LEFT_OPERATOR) && (LA569_16 <= SHIFT_RIGHT_OPERATOR)) || LA569_16 == SINGLE_QUOTED_TEXT || LA569_16 == STRAIGHT_JOIN_SYMBOL || LA569_16 == THEN_SYMBOL || LA569_16 == UNDERSCORE_CHARSET || LA569_16 == UNION_SYMBOL || LA569_16 == USING_SYMBOL || ((LA569_16 >= WHEN_SYMBOL) && (LA569_16 <= WHERE_SYMBOL)) || LA569_16 == WITH_SYMBOL || ((LA569_16 >= XOR_SYMBOL) && (LA569_16 <= YEAR_MONTH_SYMBOL))))
                            {
                                alt569=2;
                            }
                            else if ( (synpred3_MySQL(ctx)) && (LA569_16 == OPEN_PAR_SYMBOL))
                            {
                                alt569=4;
                            }
                            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        = 16;


                                goto ruleprimaryEx;

                            }
                        }
                    }
                    else if ( (LA569_0 == ASCII_SYMBOL))
                    {
                        {
                            int LA569_17 = LA(2);
                            if ( (LA569_17 == OPEN_PAR_SYMBOL))
                            {
                                {
                                    int LA569_843 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt569=3;
                                    }
                                    else if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt569=4;
                                    }
                                    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        = 843;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA569_17 == DOT_SYMBOL))
                            {
                                {
                                    int LA569_844 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt569=2;
                                    }
                                    else if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt569=4;
                                    }
                                    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        = 844;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA569_17 == EOF || ((LA569_17 >= ACTION_SYMBOL) && (LA569_17 <= PARTITION_SYMBOL)) || ((LA569_17 >= AND_SYMBOL) && (LA569_17 <= ASC_SYMBOL)) || LA569_17 == AS_SYMBOL || LA569_17 == BACK_TICK_QUOTED_ID || LA569_17 == BETWEEN_SYMBOL || LA569_17 == BITWISE_AND_OPERATOR || ((LA569_17 >= BITWISE_OR_OPERATOR) && (LA569_17 <= BITWISE_XOR_OPERATOR)) || ((LA569_17 >= CLOSE_CURLY_SYMBOL) && (LA569_17 <= COLLATE_SYMBOL)) || LA569_17 == COMMA_SYMBOL || LA569_17 == CONCAT_PIPES_SYMBOL || LA569_17 == CROSS_SYMBOL || ((LA569_17 >= DAY_HOUR_SYMBOL) && (LA569_17 <= DAY_SECOND_SYMBOL)) || LA569_17 == DESC_SYMBOL || ((LA569_17 >= DIV_OPERATOR) && (LA569_17 <= DIV_SYMBOL)) || LA569_17 == DOUBLE_QUOTED_TEXT || LA569_17 == ELSE_SYMBOL || LA569_17 == EQUAL_OPERATOR || ((LA569_17 >= FOR_SYMBOL) && (LA569_17 <= FROM_SYMBOL)) || ((LA569_17 >= GREATER_OR_EQUAL_OPERATOR) && (LA569_17 <= GREATER_THAN_OPERATOR)) || ((LA569_17 >= GROUP_SYMBOL) && (LA569_17 <= HAVING_SYMBOL)) || ((LA569_17 >= HOUR_MICROSECOND_SYMBOL) && (LA569_17 <= IDENTIFIER)) || LA569_17 == INNER_SYMBOL || LA569_17 == INTO_SYMBOL || LA569_17 == IN_SYMBOL || LA569_17 == IS_SYMBOL || LA569_17 == JOIN_SYMBOL || ((LA569_17 >= LEFT_SYMBOL) && (LA569_17 <= LESS_THAN_OPERATOR)) || ((LA569_17 >= LIKE_SYMBOL) && (LA569_17 <= LIMIT_SYMBOL)) || LA569_17 == LOCK_SYMBOL || LA569_17 == LOGICAL_AND_OPERATOR || LA569_17 == LOGICAL_OR_OPERATOR || ((LA569_17 >= MINUS_OPERATOR) && (LA569_17 <= MINUTE_SECOND_SYMBOL)) || ((LA569_17 >= MOD_OPERATOR) && (LA569_17 <= MOD_SYMBOL)) || ((LA569_17 >= MULT_OPERATOR) && (LA569_17 <= NATURAL_SYMBOL)) || LA569_17 == NCHAR_TEXT || ((LA569_17 >= NOT_EQUAL2_OPERATOR) && (LA569_17 <= NOT_SYMBOL)) || LA569_17 == NULL_SAFE_EQUAL_OPERATOR || LA569_17 == ON_SYMBOL || ((LA569_17 >= ORDER_SYMBOL) && (LA569_17 <= OR_SYMBOL)) || LA569_17 == PLUS_OPERATOR || LA569_17 == PROCEDURE_SYMBOL || LA569_17 == REGEXP_SYMBOL || LA569_17 == RENAME_SYMBOL || LA569_17 == RIGHT_SYMBOL || LA569_17 == SECOND_MICROSECOND_SYMBOL || LA569_17 == SEMICOLON_SYMBOL || LA569_17 == SEPARATOR_SYMBOL || LA569_17 == SET_SYMBOL || ((LA569_17 >= SHIFT_LEFT_OPERATOR) && (LA569_17 <= SHIFT_RIGHT_OPERATOR)) || LA569_17 == SINGLE_QUOTED_TEXT || LA569_17 == STRAIGHT_JOIN_SYMBOL || LA569_17 == THEN_SYMBOL || LA569_17 == UNDERSCORE_CHARSET || LA569_17 == UNION_SYMBOL || LA569_17 == USING_SYMBOL || ((LA569_17 >= WHEN_SYMBOL) && (LA569_17 <= WHERE_SYMBOL)) || LA569_17 == WITH_SYMBOL || ((LA569_17 >= XOR_SYMBOL) && (LA569_17 <= YEAR_MONTH_SYMBOL))))
                            {
                                alt569=2;
                            }
                            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        = 17;


                                goto ruleprimaryEx;

                            }
                        }
                    }
                    else if ( (LA569_0 == DOT_SYMBOL))
                    {
                        alt569=2;
                    }
                    else if ( (((LA569_0 >= BIT_AND_SYMBOL) && (LA569_0 <= BIT_XOR_SYMBOL)) || LA569_0 == CHAR_SYMBOL || LA569_0 == COUNT_SYMBOL || LA569_0 == CURDATE_SYMBOL || LA569_0 == CURRENT_USER_SYMBOL || LA569_0 == CURTIME_SYMBOL || LA569_0 == DATABASE_SYMBOL || LA569_0 == DATE_ADD_SYMBOL || LA569_0 == DATE_SUB_SYMBOL || LA569_0 == EXTRACT_SYMBOL || LA569_0 == GROUP_CONCAT_SYMBOL || LA569_0 == IF_SYMBOL || LA569_0 == INSERT_SYMBOL || LA569_0 == LEFT_SYMBOL || LA569_0 == MAX_SYMBOL || LA569_0 == MIN_SYMBOL || LA569_0 == MOD_SYMBOL || LA569_0 == NOW_SYMBOL || LA569_0 == POSITION_SYMBOL || ((LA569_0 >= REPEAT_SYMBOL) && (LA569_0 <= REPLACE_SYMBOL)) || LA569_0 == RIGHT_SYMBOL || LA569_0 == STDDEV_SAMP_SYMBOL || LA569_0 == STD_SYMBOL || LA569_0 == SUBSTRING_SYMBOL || ((LA569_0 >= SUM_SYMBOL) && (LA569_0 <= SYSDATE_SYMBOL)) || LA569_0 == TRIM_SYMBOL || ((LA569_0 >= UTC_DATE_SYMBOL) && (LA569_0 <= VALUES_SYMBOL)) || LA569_0 == VARIANCE_SYMBOL || LA569_0 == VAR_SAMP_SYMBOL))
                    {
                        alt569=3;
                    }
                    else if ( (LA569_0 == HOUR_SYMBOL))
                    {
                        {
                            int LA569_21 = LA(2);
                            if ( (LA569_21 == OPEN_PAR_SYMBOL))
                            {
                                {
                                    int LA569_936 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt569=3;
                                    }
                                    else if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt569=4;
                                    }
                                    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        = 936;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA569_21 == DOT_SYMBOL))
                            {
                                {
                                    int LA569_937 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt569=2;
                                    }
                                    else if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt569=4;
                                    }
                                    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        = 937;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA569_21 == EOF || ((LA569_21 >= ACTION_SYMBOL) && (LA569_21 <= PARTITION_SYMBOL)) || ((LA569_21 >= AND_SYMBOL) && (LA569_21 <= ASC_SYMBOL)) || LA569_21 == AS_SYMBOL || LA569_21 == BACK_TICK_QUOTED_ID || LA569_21 == BETWEEN_SYMBOL || LA569_21 == BITWISE_AND_OPERATOR || ((LA569_21 >= BITWISE_OR_OPERATOR) && (LA569_21 <= BITWISE_XOR_OPERATOR)) || ((LA569_21 >= CLOSE_CURLY_SYMBOL) && (LA569_21 <= COLLATE_SYMBOL)) || LA569_21 == COMMA_SYMBOL || LA569_21 == CONCAT_PIPES_SYMBOL || LA569_21 == CROSS_SYMBOL || ((LA569_21 >= DAY_HOUR_SYMBOL) && (LA569_21 <= DAY_SECOND_SYMBOL)) || LA569_21 == DESC_SYMBOL || ((LA569_21 >= DIV_OPERATOR) && (LA569_21 <= DIV_SYMBOL)) || LA569_21 == DOUBLE_QUOTED_TEXT || LA569_21 == ELSE_SYMBOL || LA569_21 == EQUAL_OPERATOR || ((LA569_21 >= FOR_SYMBOL) && (LA569_21 <= FROM_SYMBOL)) || ((LA569_21 >= GREATER_OR_EQUAL_OPERATOR) && (LA569_21 <= GREATER_THAN_OPERATOR)) || ((LA569_21 >= GROUP_SYMBOL) && (LA569_21 <= HAVING_SYMBOL)) || ((LA569_21 >= HOUR_MICROSECOND_SYMBOL) && (LA569_21 <= IDENTIFIER)) || LA569_21 == INNER_SYMBOL || LA569_21 == INTO_SYMBOL || LA569_21 == IN_SYMBOL || LA569_21 == IS_SYMBOL || LA569_21 == JOIN_SYMBOL || ((LA569_21 >= LEFT_SYMBOL) && (LA569_21 <= LESS_THAN_OPERATOR)) || ((LA569_21 >= LIKE_SYMBOL) && (LA569_21 <= LIMIT_SYMBOL)) || LA569_21 == LOCK_SYMBOL || LA569_21 == LOGICAL_AND_OPERATOR || LA569_21 == LOGICAL_OR_OPERATOR || ((LA569_21 >= MINUS_OPERATOR) && (LA569_21 <= MINUTE_SECOND_SYMBOL)) || ((LA569_21 >= MOD_OPERATOR) && (LA569_21 <= MOD_SYMBOL)) || ((LA569_21 >= MULT_OPERATOR) && (LA569_21 <= NATURAL_SYMBOL)) || LA569_21 == NCHAR_TEXT || ((LA569_21 >= NOT_EQUAL2_OPERATOR) && (LA569_21 <= NOT_SYMBOL)) || LA569_21 == NULL_SAFE_EQUAL_OPERATOR || LA569_21 == ON_SYMBOL || ((LA569_21 >= ORDER_SYMBOL) && (LA569_21 <= OR_SYMBOL)) || LA569_21 == PLUS_OPERATOR || LA569_21 == PROCEDURE_SYMBOL || LA569_21 == REGEXP_SYMBOL || LA569_21 == RENAME_SYMBOL || LA569_21 == RIGHT_SYMBOL || LA569_21 == SECOND_MICROSECOND_SYMBOL || LA569_21 == SEMICOLON_SYMBOL || LA569_21 == SEPARATOR_SYMBOL || LA569_21 == SET_SYMBOL || ((LA569_21 >= SHIFT_LEFT_OPERATOR) && (LA569_21 <= SHIFT_RIGHT_OPERATOR)) || LA569_21 == SINGLE_QUOTED_TEXT || LA569_21 == STRAIGHT_JOIN_SYMBOL || LA569_21 == THEN_SYMBOL || LA569_21 == UNDERSCORE_CHARSET || LA569_21 == UNION_SYMBOL || LA569_21 == USING_SYMBOL || ((LA569_21 >= WHEN_SYMBOL) && (LA569_21 <= WHERE_SYMBOL)) || LA569_21 == WITH_SYMBOL || ((LA569_21 >= XOR_SYMBOL) && (LA569_21 <= YEAR_MONTH_SYMBOL))))
                            {
                                alt569=2;
                            }
                            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        = 21;


                                goto ruleprimaryEx;

                            }
                        }
                    }
                    else if ( (LA569_0 == MINUTE_SYMBOL))
                    {
                        {
                            int LA569_22 = LA(2);
                            if ( (LA569_22 == OPEN_PAR_SYMBOL))
                            {
                                {
                                    int LA569_1029 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt569=3;
                                    }
                                    else if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt569=4;
                                    }
                                    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        = 1029;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA569_22 == DOT_SYMBOL))
                            {
                                {
                                    int LA569_1030 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt569=2;
                                    }
                                    else if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt569=4;
                                    }
                                    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        = 1030;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA569_22 == EOF || ((LA569_22 >= ACTION_SYMBOL) && (LA569_22 <= PARTITION_SYMBOL)) || ((LA569_22 >= AND_SYMBOL) && (LA569_22 <= ASC_SYMBOL)) || LA569_22 == AS_SYMBOL || LA569_22 == BACK_TICK_QUOTED_ID || LA569_22 == BETWEEN_SYMBOL || LA569_22 == BITWISE_AND_OPERATOR || ((LA569_22 >= BITWISE_OR_OPERATOR) && (LA569_22 <= BITWISE_XOR_OPERATOR)) || ((LA569_22 >= CLOSE_CURLY_SYMBOL) && (LA569_22 <= COLLATE_SYMBOL)) || LA569_22 == COMMA_SYMBOL || LA569_22 == CONCAT_PIPES_SYMBOL || LA569_22 == CROSS_SYMBOL || ((LA569_22 >= DAY_HOUR_SYMBOL) && (LA569_22 <= DAY_SECOND_SYMBOL)) || LA569_22 == DESC_SYMBOL || ((LA569_22 >= DIV_OPERATOR) && (LA569_22 <= DIV_SYMBOL)) || LA569_22 == DOUBLE_QUOTED_TEXT || LA569_22 == ELSE_SYMBOL || LA569_22 == EQUAL_OPERATOR || ((LA569_22 >= FOR_SYMBOL) && (LA569_22 <= FROM_SYMBOL)) || ((LA569_22 >= GREATER_OR_EQUAL_OPERATOR) && (LA569_22 <= GREATER_THAN_OPERATOR)) || ((LA569_22 >= GROUP_SYMBOL) && (LA569_22 <= HAVING_SYMBOL)) || ((LA569_22 >= HOUR_MICROSECOND_SYMBOL) && (LA569_22 <= IDENTIFIER)) || LA569_22 == INNER_SYMBOL || LA569_22 == INTO_SYMBOL || LA569_22 == IN_SYMBOL || LA569_22 == IS_SYMBOL || LA569_22 == JOIN_SYMBOL || ((LA569_22 >= LEFT_SYMBOL) && (LA569_22 <= LESS_THAN_OPERATOR)) || ((LA569_22 >= LIKE_SYMBOL) && (LA569_22 <= LIMIT_SYMBOL)) || LA569_22 == LOCK_SYMBOL || LA569_22 == LOGICAL_AND_OPERATOR || LA569_22 == LOGICAL_OR_OPERATOR || ((LA569_22 >= MINUS_OPERATOR) && (LA569_22 <= MINUTE_SECOND_SYMBOL)) || ((LA569_22 >= MOD_OPERATOR) && (LA569_22 <= MOD_SYMBOL)) || ((LA569_22 >= MULT_OPERATOR) && (LA569_22 <= NATURAL_SYMBOL)) || LA569_22 == NCHAR_TEXT || ((LA569_22 >= NOT_EQUAL2_OPERATOR) && (LA569_22 <= NOT_SYMBOL)) || LA569_22 == NULL_SAFE_EQUAL_OPERATOR || LA569_22 == ON_SYMBOL || ((LA569_22 >= ORDER_SYMBOL) && (LA569_22 <= OR_SYMBOL)) || LA569_22 == PLUS_OPERATOR || LA569_22 == PROCEDURE_SYMBOL || LA569_22 == REGEXP_SYMBOL || LA569_22 == RENAME_SYMBOL || LA569_22 == RIGHT_SYMBOL || LA569_22 == SECOND_MICROSECOND_SYMBOL || LA569_22 == SEMICOLON_SYMBOL || LA569_22 == SEPARATOR_SYMBOL || LA569_22 == SET_SYMBOL || ((LA569_22 >= SHIFT_LEFT_OPERATOR) && (LA569_22 <= SHIFT_RIGHT_OPERATOR)) || LA569_22 == SINGLE_QUOTED_TEXT || LA569_22 == STRAIGHT_JOIN_SYMBOL || LA569_22 == THEN_SYMBOL || LA569_22 == UNDERSCORE_CHARSET || LA569_22 == UNION_SYMBOL || LA569_22 == USING_SYMBOL || ((LA569_22 >= WHEN_SYMBOL) && (LA569_22 <= WHERE_SYMBOL)) || LA569_22 == WITH_SYMBOL || ((LA569_22 >= XOR_SYMBOL) && (LA569_22 <= YEAR_MONTH_SYMBOL))))
                            {
                                alt569=2;
                            }
                            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        = 22;


                                goto ruleprimaryEx;

                            }
                        }
                    }
                    else if ( (LA569_0 == MONTH_SYMBOL))
                    {
                        {
                            int LA569_25 = LA(2);
                            if ( (LA569_25 == OPEN_PAR_SYMBOL))
                            {
                                {
                                    int LA569_1122 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt569=3;
                                    }
                                    else if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt569=4;
                                    }
                                    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        = 1122;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA569_25 == DOT_SYMBOL))
                            {
                                {
                                    int LA569_1123 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt569=2;
                                    }
                                    else if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt569=4;
                                    }
                                    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        = 1123;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA569_25 == EOF || ((LA569_25 >= ACTION_SYMBOL) && (LA569_25 <= PARTITION_SYMBOL)) || ((LA569_25 >= AND_SYMBOL) && (LA569_25 <= ASC_SYMBOL)) || LA569_25 == AS_SYMBOL || LA569_25 == BACK_TICK_QUOTED_ID || LA569_25 == BETWEEN_SYMBOL || LA569_25 == BITWISE_AND_OPERATOR || ((LA569_25 >= BITWISE_OR_OPERATOR) && (LA569_25 <= BITWISE_XOR_OPERATOR)) || ((LA569_25 >= CLOSE_CURLY_SYMBOL) && (LA569_25 <= COLLATE_SYMBOL)) || LA569_25 == COMMA_SYMBOL || LA569_25 == CONCAT_PIPES_SYMBOL || LA569_25 == CROSS_SYMBOL || ((LA569_25 >= DAY_HOUR_SYMBOL) && (LA569_25 <= DAY_SECOND_SYMBOL)) || LA569_25 == DESC_SYMBOL || ((LA569_25 >= DIV_OPERATOR) && (LA569_25 <= DIV_SYMBOL)) || LA569_25 == DOUBLE_QUOTED_TEXT || LA569_25 == ELSE_SYMBOL || LA569_25 == EQUAL_OPERATOR || ((LA569_25 >= FOR_SYMBOL) && (LA569_25 <= FROM_SYMBOL)) || ((LA569_25 >= GREATER_OR_EQUAL_OPERATOR) && (LA569_25 <= GREATER_THAN_OPERATOR)) || ((LA569_25 >= GROUP_SYMBOL) && (LA569_25 <= HAVING_SYMBOL)) || ((LA569_25 >= HOUR_MICROSECOND_SYMBOL) && (LA569_25 <= IDENTIFIER)) || LA569_25 == INNER_SYMBOL || LA569_25 == INTO_SYMBOL || LA569_25 == IN_SYMBOL || LA569_25 == IS_SYMBOL || LA569_25 == JOIN_SYMBOL || ((LA569_25 >= LEFT_SYMBOL) && (LA569_25 <= LESS_THAN_OPERATOR)) || ((LA569_25 >= LIKE_SYMBOL) && (LA569_25 <= LIMIT_SYMBOL)) || LA569_25 == LOCK_SYMBOL || LA569_25 == LOGICAL_AND_OPERATOR || LA569_25 == LOGICAL_OR_OPERATOR || ((LA569_25 >= MINUS_OPERATOR) && (LA569_25 <= MINUTE_SECOND_SYMBOL)) || ((LA569_25 >= MOD_OPERATOR) && (LA569_25 <= MOD_SYMBOL)) || ((LA569_25 >= MULT_OPERATOR) && (LA569_25 <= NATURAL_SYMBOL)) || LA569_25 == NCHAR_TEXT || ((LA569_25 >= NOT_EQUAL2_OPERATOR) && (LA569_25 <= NOT_SYMBOL)) || LA569_25 == NULL_SAFE_EQUAL_OPERATOR || LA569_25 == ON_SYMBOL || ((LA569_25 >= ORDER_SYMBOL) && (LA569_25 <= OR_SYMBOL)) || LA569_25 == PLUS_OPERATOR || LA569_25 == PROCEDURE_SYMBOL || LA569_25 == REGEXP_SYMBOL || LA569_25 == RENAME_SYMBOL || LA569_25 == RIGHT_SYMBOL || LA569_25 == SECOND_MICROSECOND_SYMBOL || LA569_25 == SEMICOLON_SYMBOL || LA569_25 == SEPARATOR_SYMBOL || LA569_25 == SET_SYMBOL || ((LA569_25 >= SHIFT_LEFT_OPERATOR) && (LA569_25 <= SHIFT_RIGHT_OPERATOR)) || LA569_25 == SINGLE_QUOTED_TEXT || LA569_25 == STRAIGHT_JOIN_SYMBOL || LA569_25 == THEN_SYMBOL || LA569_25 == UNDERSCORE_CHARSET || LA569_25 == UNION_SYMBOL || LA569_25 == USING_SYMBOL || ((LA569_25 >= WHEN_SYMBOL) && (LA569_25 <= WHERE_SYMBOL)) || LA569_25 == WITH_SYMBOL || ((LA569_25 >= XOR_SYMBOL) && (LA569_25 <= YEAR_MONTH_SYMBOL))))
                            {
                                alt569=2;
                            }
                            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        = 25;


                                goto ruleprimaryEx;

                            }
                        }
                    }
                    else if ( (LA569_0 == SECOND_SYMBOL))
                    {
                        {
                            int LA569_26 = LA(2);
                            if ( (LA569_26 == OPEN_PAR_SYMBOL))
                            {
                                {
                                    int LA569_1215 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt569=3;
                                    }
                                    else if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt569=4;
                                    }
                                    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        = 1215;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA569_26 == DOT_SYMBOL))
                            {
                                {
                                    int LA569_1216 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt569=2;
                                    }
                                    else if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt569=4;
                                    }
                                    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        = 1216;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA569_26 == EOF || ((LA569_26 >= ACTION_SYMBOL) && (LA569_26 <= PARTITION_SYMBOL)) || ((LA569_26 >= AND_SYMBOL) && (LA569_26 <= ASC_SYMBOL)) || LA569_26 == AS_SYMBOL || LA569_26 == BACK_TICK_QUOTED_ID || LA569_26 == BETWEEN_SYMBOL || LA569_26 == BITWISE_AND_OPERATOR || ((LA569_26 >= BITWISE_OR_OPERATOR) && (LA569_26 <= BITWISE_XOR_OPERATOR)) || ((LA569_26 >= CLOSE_CURLY_SYMBOL) && (LA569_26 <= COLLATE_SYMBOL)) || LA569_26 == COMMA_SYMBOL || LA569_26 == CONCAT_PIPES_SYMBOL || LA569_26 == CROSS_SYMBOL || ((LA569_26 >= DAY_HOUR_SYMBOL) && (LA569_26 <= DAY_SECOND_SYMBOL)) || LA569_26 == DESC_SYMBOL || ((LA569_26 >= DIV_OPERATOR) && (LA569_26 <= DIV_SYMBOL)) || LA569_26 == DOUBLE_QUOTED_TEXT || LA569_26 == ELSE_SYMBOL || LA569_26 == EQUAL_OPERATOR || ((LA569_26 >= FOR_SYMBOL) && (LA569_26 <= FROM_SYMBOL)) || ((LA569_26 >= GREATER_OR_EQUAL_OPERATOR) && (LA569_26 <= GREATER_THAN_OPERATOR)) || ((LA569_26 >= GROUP_SYMBOL) && (LA569_26 <= HAVING_SYMBOL)) || ((LA569_26 >= HOUR_MICROSECOND_SYMBOL) && (LA569_26 <= IDENTIFIER)) || LA569_26 == INNER_SYMBOL || LA569_26 == INTO_SYMBOL || LA569_26 == IN_SYMBOL || LA569_26 == IS_SYMBOL || LA569_26 == JOIN_SYMBOL || ((LA569_26 >= LEFT_SYMBOL) && (LA569_26 <= LESS_THAN_OPERATOR)) || ((LA569_26 >= LIKE_SYMBOL) && (LA569_26 <= LIMIT_SYMBOL)) || LA569_26 == LOCK_SYMBOL || LA569_26 == LOGICAL_AND_OPERATOR || LA569_26 == LOGICAL_OR_OPERATOR || ((LA569_26 >= MINUS_OPERATOR) && (LA569_26 <= MINUTE_SECOND_SYMBOL)) || ((LA569_26 >= MOD_OPERATOR) && (LA569_26 <= MOD_SYMBOL)) || ((LA569_26 >= MULT_OPERATOR) && (LA569_26 <= NATURAL_SYMBOL)) || LA569_26 == NCHAR_TEXT || ((LA569_26 >= NOT_EQUAL2_OPERATOR) && (LA569_26 <= NOT_SYMBOL)) || LA569_26 == NULL_SAFE_EQUAL_OPERATOR || LA569_26 == ON_SYMBOL || ((LA569_26 >= ORDER_SYMBOL) && (LA569_26 <= OR_SYMBOL)) || LA569_26 == PLUS_OPERATOR || LA569_26 == PROCEDURE_SYMBOL || LA569_26 == REGEXP_SYMBOL || LA569_26 == RENAME_SYMBOL || LA569_26 == RIGHT_SYMBOL || LA569_26 == SECOND_MICROSECOND_SYMBOL || LA569_26 == SEMICOLON_SYMBOL || LA569_26 == SEPARATOR_SYMBOL || LA569_26 == SET_SYMBOL || ((LA569_26 >= SHIFT_LEFT_OPERATOR) && (LA569_26 <= SHIFT_RIGHT_OPERATOR)) || LA569_26 == SINGLE_QUOTED_TEXT || LA569_26 == STRAIGHT_JOIN_SYMBOL || LA569_26 == THEN_SYMBOL || LA569_26 == UNDERSCORE_CHARSET || LA569_26 == UNION_SYMBOL || LA569_26 == USING_SYMBOL || ((LA569_26 >= WHEN_SYMBOL) && (LA569_26 <= WHERE_SYMBOL)) || LA569_26 == WITH_SYMBOL || ((LA569_26 >= XOR_SYMBOL) && (LA569_26 <= YEAR_MONTH_SYMBOL))))
                            {
                                alt569=2;
                            }
                            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        = 26;


                                goto ruleprimaryEx;

                            }
                        }
                    }
                    else if ( (LA569_0 == USER_SYMBOL))
                    {
                        {
                            int LA569_28 = LA(2);
                            if ( (LA569_28 == DOT_SYMBOL))
                            {
                                {
                                    int LA569_1308 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt569=2;
                                    }
                                    else if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt569=4;
                                    }
                                    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        = 1308;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA569_28 == EOF || ((LA569_28 >= ACTION_SYMBOL) && (LA569_28 <= PARTITION_SYMBOL)) || ((LA569_28 >= AND_SYMBOL) && (LA569_28 <= ASC_SYMBOL)) || LA569_28 == AS_SYMBOL || LA569_28 == BACK_TICK_QUOTED_ID || LA569_28 == BETWEEN_SYMBOL || LA569_28 == BITWISE_AND_OPERATOR || ((LA569_28 >= BITWISE_OR_OPERATOR) && (LA569_28 <= BITWISE_XOR_OPERATOR)) || ((LA569_28 >= CLOSE_CURLY_SYMBOL) && (LA569_28 <= COLLATE_SYMBOL)) || LA569_28 == COMMA_SYMBOL || LA569_28 == CONCAT_PIPES_SYMBOL || LA569_28 == CROSS_SYMBOL || ((LA569_28 >= DAY_HOUR_SYMBOL) && (LA569_28 <= DAY_SECOND_SYMBOL)) || LA569_28 == DESC_SYMBOL || ((LA569_28 >= DIV_OPERATOR) && (LA569_28 <= DIV_SYMBOL)) || LA569_28 == DOUBLE_QUOTED_TEXT || LA569_28 == ELSE_SYMBOL || LA569_28 == EQUAL_OPERATOR || ((LA569_28 >= FOR_SYMBOL) && (LA569_28 <= FROM_SYMBOL)) || ((LA569_28 >= GREATER_OR_EQUAL_OPERATOR) && (LA569_28 <= GREATER_THAN_OPERATOR)) || ((LA569_28 >= GROUP_SYMBOL) && (LA569_28 <= HAVING_SYMBOL)) || ((LA569_28 >= HOUR_MICROSECOND_SYMBOL) && (LA569_28 <= IDENTIFIER)) || LA569_28 == INNER_SYMBOL || LA569_28 == INTO_SYMBOL || LA569_28 == IN_SYMBOL || LA569_28 == IS_SYMBOL || LA569_28 == JOIN_SYMBOL || ((LA569_28 >= LEFT_SYMBOL) && (LA569_28 <= LESS_THAN_OPERATOR)) || ((LA569_28 >= LIKE_SYMBOL) && (LA569_28 <= LIMIT_SYMBOL)) || LA569_28 == LOCK_SYMBOL || LA569_28 == LOGICAL_AND_OPERATOR || LA569_28 == LOGICAL_OR_OPERATOR || ((LA569_28 >= MINUS_OPERATOR) && (LA569_28 <= MINUTE_SECOND_SYMBOL)) || ((LA569_28 >= MOD_OPERATOR) && (LA569_28 <= MOD_SYMBOL)) || ((LA569_28 >= MULT_OPERATOR) && (LA569_28 <= NATURAL_SYMBOL)) || LA569_28 == NCHAR_TEXT || ((LA569_28 >= NOT_EQUAL2_OPERATOR) && (LA569_28 <= NOT_SYMBOL)) || LA569_28 == NULL_SAFE_EQUAL_OPERATOR || LA569_28 == ON_SYMBOL || ((LA569_28 >= ORDER_SYMBOL) && (LA569_28 <= OR_SYMBOL)) || LA569_28 == PLUS_OPERATOR || LA569_28 == PROCEDURE_SYMBOL || LA569_28 == REGEXP_SYMBOL || LA569_28 == RENAME_SYMBOL || LA569_28 == RIGHT_SYMBOL || LA569_28 == SECOND_MICROSECOND_SYMBOL || LA569_28 == SEMICOLON_SYMBOL || LA569_28 == SEPARATOR_SYMBOL || LA569_28 == SET_SYMBOL || ((LA569_28 >= SHIFT_LEFT_OPERATOR) && (LA569_28 <= SHIFT_RIGHT_OPERATOR)) || LA569_28 == SINGLE_QUOTED_TEXT || LA569_28 == STRAIGHT_JOIN_SYMBOL || LA569_28 == THEN_SYMBOL || LA569_28 == UNDERSCORE_CHARSET || LA569_28 == UNION_SYMBOL || LA569_28 == USING_SYMBOL || ((LA569_28 >= WHEN_SYMBOL) && (LA569_28 <= WHERE_SYMBOL)) || LA569_28 == WITH_SYMBOL || ((LA569_28 >= XOR_SYMBOL) && (LA569_28 <= YEAR_MONTH_SYMBOL))))
                            {
                                alt569=2;
                            }
                            else if ( (LA569_28 == OPEN_PAR_SYMBOL))
                            {
                                {
                                    int LA569_1400 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt569=3;
                                    }
                                    else if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt569=4;
                                    }
                                    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        = 1400;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            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        = 28;


                                goto ruleprimaryEx;

                            }
                        }
                    }
                    else if ( (LA569_0 == YEAR_SYMBOL))
                    {
                        {
                            int LA569_30 = LA(2);
                            if ( (LA569_30 == OPEN_PAR_SYMBOL))
                            {
                                {
                                    int LA569_1401 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt569=3;
                                    }
                                    else if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt569=4;
                                    }
                                    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        = 1401;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA569_30 == DOT_SYMBOL))
                            {
                                {
                                    int LA569_1402 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt569=2;
                                    }
                                    else if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt569=4;
                                    }
                                    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        = 1402;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA569_30 == EOF || ((LA569_30 >= ACTION_SYMBOL) && (LA569_30 <= PARTITION_SYMBOL)) || ((LA569_30 >= AND_SYMBOL) && (LA569_30 <= ASC_SYMBOL)) || LA569_30 == AS_SYMBOL || LA569_30 == BACK_TICK_QUOTED_ID || LA569_30 == BETWEEN_SYMBOL || LA569_30 == BITWISE_AND_OPERATOR || ((LA569_30 >= BITWISE_OR_OPERATOR) && (LA569_30 <= BITWISE_XOR_OPERATOR)) || ((LA569_30 >= CLOSE_CURLY_SYMBOL) && (LA569_30 <= COLLATE_SYMBOL)) || LA569_30 == COMMA_SYMBOL || LA569_30 == CONCAT_PIPES_SYMBOL || LA569_30 == CROSS_SYMBOL || ((LA569_30 >= DAY_HOUR_SYMBOL) && (LA569_30 <= DAY_SECOND_SYMBOL)) || LA569_30 == DESC_SYMBOL || ((LA569_30 >= DIV_OPERATOR) && (LA569_30 <= DIV_SYMBOL)) || LA569_30 == DOUBLE_QUOTED_TEXT || LA569_30 == ELSE_SYMBOL || LA569_30 == EQUAL_OPERATOR || ((LA569_30 >= FOR_SYMBOL) && (LA569_30 <= FROM_SYMBOL)) || ((LA569_30 >= GREATER_OR_EQUAL_OPERATOR) && (LA569_30 <= GREATER_THAN_OPERATOR)) || ((LA569_30 >= GROUP_SYMBOL) && (LA569_30 <= HAVING_SYMBOL)) || ((LA569_30 >= HOUR_MICROSECOND_SYMBOL) && (LA569_30 <= IDENTIFIER)) || LA569_30 == INNER_SYMBOL || LA569_30 == INTO_SYMBOL || LA569_30 == IN_SYMBOL || LA569_30 == IS_SYMBOL || LA569_30 == JOIN_SYMBOL || ((LA569_30 >= LEFT_SYMBOL) && (LA569_30 <= LESS_THAN_OPERATOR)) || ((LA569_30 >= LIKE_SYMBOL) && (LA569_30 <= LIMIT_SYMBOL)) || LA569_30 == LOCK_SYMBOL || LA569_30 == LOGICAL_AND_OPERATOR || LA569_30 == LOGICAL_OR_OPERATOR || ((LA569_30 >= MINUS_OPERATOR) && (LA569_30 <= MINUTE_SECOND_SYMBOL)) || ((LA569_30 >= MOD_OPERATOR) && (LA569_30 <= MOD_SYMBOL)) || ((LA569_30 >= MULT_OPERATOR) && (LA569_30 <= NATURAL_SYMBOL)) || LA569_30 == NCHAR_TEXT || ((LA569_30 >= NOT_EQUAL2_OPERATOR) && (LA569_30 <= NOT_SYMBOL)) || LA569_30 == NULL_SAFE_EQUAL_OPERATOR || LA569_30 == ON_SYMBOL || ((LA569_30 >= ORDER_SYMBOL) && (LA569_30 <= OR_SYMBOL)) || LA569_30 == PLUS_OPERATOR || LA569_30 == PROCEDURE_SYMBOL || LA569_30 == REGEXP_SYMBOL || LA569_30 == RENAME_SYMBOL || LA569_30 == RIGHT_SYMBOL || LA569_30 == SECOND_MICROSECOND_SYMBOL || LA569_30 == SEMICOLON_SYMBOL || LA569_30 == SEPARATOR_SYMBOL || LA569_30 == SET_SYMBOL || ((LA569_30 >= SHIFT_LEFT_OPERATOR) && (LA569_30 <= SHIFT_RIGHT_OPERATOR)) || LA569_30 == SINGLE_QUOTED_TEXT || LA569_30 == STRAIGHT_JOIN_SYMBOL || LA569_30 == THEN_SYMBOL || LA569_30 == UNDERSCORE_CHARSET || LA569_30 == UNION_SYMBOL || LA569_30 == USING_SYMBOL || ((LA569_30 >= WHEN_SYMBOL) && (LA569_30 <= WHERE_SYMBOL)) || LA569_30 == WITH_SYMBOL || ((LA569_30 >= XOR_SYMBOL) && (LA569_30 <= YEAR_MONTH_SYMBOL))))
                            {
                                alt569=2;
                            }
                            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        = 30;


                                goto ruleprimaryEx;

                            }
                        }
                    }
                    else if ( (LA569_0 == ADDDATE_SYMBOL || LA569_0 == SUBDATE_SYMBOL))
                    {
                        {
                            int LA569_32 = LA(2);
                            if ( (LA569_32 == OPEN_PAR_SYMBOL))
                            {
                                {
                                    int LA569_1494 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt569=3;
                                    }
                                    else if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt569=4;
                                    }
                                    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        = 1494;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA569_32 == DOT_SYMBOL))
                            {
                                {
                                    int LA569_1495 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt569=2;
                                    }
                                    else if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt569=4;
                                    }
                                    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        = 1495;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA569_32 == EOF || ((LA569_32 >= ACTION_SYMBOL) && (LA569_32 <= PARTITION_SYMBOL)) || ((LA569_32 >= AND_SYMBOL) && (LA569_32 <= ASC_SYMBOL)) || LA569_32 == AS_SYMBOL || LA569_32 == BACK_TICK_QUOTED_ID || LA569_32 == BETWEEN_SYMBOL || LA569_32 == BITWISE_AND_OPERATOR || ((LA569_32 >= BITWISE_OR_OPERATOR) && (LA569_32 <= BITWISE_XOR_OPERATOR)) || ((LA569_32 >= CLOSE_CURLY_SYMBOL) && (LA569_32 <= COLLATE_SYMBOL)) || LA569_32 == COMMA_SYMBOL || LA569_32 == CONCAT_PIPES_SYMBOL || LA569_32 == CROSS_SYMBOL || ((LA569_32 >= DAY_HOUR_SYMBOL) && (LA569_32 <= DAY_SECOND_SYMBOL)) || LA569_32 == DESC_SYMBOL || ((LA569_32 >= DIV_OPERATOR) && (LA569_32 <= DIV_SYMBOL)) || LA569_32 == DOUBLE_QUOTED_TEXT || LA569_32 == ELSE_SYMBOL || LA569_32 == EQUAL_OPERATOR || ((LA569_32 >= FOR_SYMBOL) && (LA569_32 <= FROM_SYMBOL)) || ((LA569_32 >= GREATER_OR_EQUAL_OPERATOR) && (LA569_32 <= GREATER_THAN_OPERATOR)) || ((LA569_32 >= GROUP_SYMBOL) && (LA569_32 <= HAVING_SYMBOL)) || ((LA569_32 >= HOUR_MICROSECOND_SYMBOL) && (LA569_32 <= IDENTIFIER)) || LA569_32 == INNER_SYMBOL || LA569_32 == INTO_SYMBOL || LA569_32 == IN_SYMBOL || LA569_32 == IS_SYMBOL || LA569_32 == JOIN_SYMBOL || ((LA569_32 >= LEFT_SYMBOL) && (LA569_32 <= LESS_THAN_OPERATOR)) || ((LA569_32 >= LIKE_SYMBOL) && (LA569_32 <= LIMIT_SYMBOL)) || LA569_32 == LOCK_SYMBOL || LA569_32 == LOGICAL_AND_OPERATOR || LA569_32 == LOGICAL_OR_OPERATOR || ((LA569_32 >= MINUS_OPERATOR) && (LA569_32 <= MINUTE_SECOND_SYMBOL)) || ((LA569_32 >= MOD_OPERATOR) && (LA569_32 <= MOD_SYMBOL)) || ((LA569_32 >= MULT_OPERATOR) && (LA569_32 <= NATURAL_SYMBOL)) || LA569_32 == NCHAR_TEXT || ((LA569_32 >= NOT_EQUAL2_OPERATOR) && (LA569_32 <= NOT_SYMBOL)) || LA569_32 == NULL_SAFE_EQUAL_OPERATOR || LA569_32 == ON_SYMBOL || ((LA569_32 >= ORDER_SYMBOL) && (LA569_32 <= OR_SYMBOL)) || LA569_32 == PLUS_OPERATOR || LA569_32 == PROCEDURE_SYMBOL || LA569_32 == REGEXP_SYMBOL || LA569_32 == RENAME_SYMBOL || LA569_32 == RIGHT_SYMBOL || LA569_32 == SECOND_MICROSECOND_SYMBOL || LA569_32 == SEMICOLON_SYMBOL || LA569_32 == SEPARATOR_SYMBOL || LA569_32 == SET_SYMBOL || ((LA569_32 >= SHIFT_LEFT_OPERATOR) && (LA569_32 <= SHIFT_RIGHT_OPERATOR)) || LA569_32 == SINGLE_QUOTED_TEXT || LA569_32 == STRAIGHT_JOIN_SYMBOL || LA569_32 == THEN_SYMBOL || LA569_32 == UNDERSCORE_CHARSET || LA569_32 == UNION_SYMBOL || LA569_32 == USING_SYMBOL || ((LA569_32 >= WHEN_SYMBOL) && (LA569_32 <= WHERE_SYMBOL)) || LA569_32 == WITH_SYMBOL || ((LA569_32 >= XOR_SYMBOL) && (LA569_32 <= YEAR_MONTH_SYMBOL))))
                            {
                                alt569=2;
                            }
                            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        = 32;


                                goto ruleprimaryEx;

                            }
                        }
                    }
                    else if ( (LA569_0 == GET_FORMAT_SYMBOL))
                    {
                        {
                            int LA569_33 = LA(2);
                            if ( (LA569_33 == OPEN_PAR_SYMBOL))
                            {
                                {
                                    int LA569_1587 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt569=3;
                                    }
                                    else if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt569=4;
                                    }
                                    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        = 1587;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA569_33 == DOT_SYMBOL))
                            {
                                {
                                    int LA569_1588 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt569=2;
                                    }
                                    else if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt569=4;
                                    }
                                    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        = 1588;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA569_33 == EOF || ((LA569_33 >= ACTION_SYMBOL) && (LA569_33 <= PARTITION_SYMBOL)) || ((LA569_33 >= AND_SYMBOL) && (LA569_33 <= ASC_SYMBOL)) || LA569_33 == AS_SYMBOL || LA569_33 == BACK_TICK_QUOTED_ID || LA569_33 == BETWEEN_SYMBOL || LA569_33 == BITWISE_AND_OPERATOR || ((LA569_33 >= BITWISE_OR_OPERATOR) && (LA569_33 <= BITWISE_XOR_OPERATOR)) || ((LA569_33 >= CLOSE_CURLY_SYMBOL) && (LA569_33 <= COLLATE_SYMBOL)) || LA569_33 == COMMA_SYMBOL || LA569_33 == CONCAT_PIPES_SYMBOL || LA569_33 == CROSS_SYMBOL || ((LA569_33 >= DAY_HOUR_SYMBOL) && (LA569_33 <= DAY_SECOND_SYMBOL)) || LA569_33 == DESC_SYMBOL || ((LA569_33 >= DIV_OPERATOR) && (LA569_33 <= DIV_SYMBOL)) || LA569_33 == DOUBLE_QUOTED_TEXT || LA569_33 == ELSE_SYMBOL || LA569_33 == EQUAL_OPERATOR || ((LA569_33 >= FOR_SYMBOL) && (LA569_33 <= FROM_SYMBOL)) || ((LA569_33 >= GREATER_OR_EQUAL_OPERATOR) && (LA569_33 <= GREATER_THAN_OPERATOR)) || ((LA569_33 >= GROUP_SYMBOL) && (LA569_33 <= HAVING_SYMBOL)) || ((LA569_33 >= HOUR_MICROSECOND_SYMBOL) && (LA569_33 <= IDENTIFIER)) || LA569_33 == INNER_SYMBOL || LA569_33 == INTO_SYMBOL || LA569_33 == IN_SYMBOL || LA569_33 == IS_SYMBOL || LA569_33 == JOIN_SYMBOL || ((LA569_33 >= LEFT_SYMBOL) && (LA569_33 <= LESS_THAN_OPERATOR)) || ((LA569_33 >= LIKE_SYMBOL) && (LA569_33 <= LIMIT_SYMBOL)) || LA569_33 == LOCK_SYMBOL || LA569_33 == LOGICAL_AND_OPERATOR || LA569_33 == LOGICAL_OR_OPERATOR || ((LA569_33 >= MINUS_OPERATOR) && (LA569_33 <= MINUTE_SECOND_SYMBOL)) || ((LA569_33 >= MOD_OPERATOR) && (LA569_33 <= MOD_SYMBOL)) || ((LA569_33 >= MULT_OPERATOR) && (LA569_33 <= NATURAL_SYMBOL)) || LA569_33 == NCHAR_TEXT || ((LA569_33 >= NOT_EQUAL2_OPERATOR) && (LA569_33 <= NOT_SYMBOL)) || LA569_33 == NULL_SAFE_EQUAL_OPERATOR || LA569_33 == ON_SYMBOL || ((LA569_33 >= ORDER_SYMBOL) && (LA569_33 <= OR_SYMBOL)) || LA569_33 == PLUS_OPERATOR || LA569_33 == PROCEDURE_SYMBOL || LA569_33 == REGEXP_SYMBOL || LA569_33 == RENAME_SYMBOL || LA569_33 == RIGHT_SYMBOL || LA569_33 == SECOND_MICROSECOND_SYMBOL || LA569_33 == SEMICOLON_SYMBOL || LA569_33 == SEPARATOR_SYMBOL || LA569_33 == SET_SYMBOL || ((LA569_33 >= SHIFT_LEFT_OPERATOR) && (LA569_33 <= SHIFT_RIGHT_OPERATOR)) || LA569_33 == SINGLE_QUOTED_TEXT || LA569_33 == STRAIGHT_JOIN_SYMBOL || LA569_33 == THEN_SYMBOL || LA569_33 == UNDERSCORE_CHARSET || LA569_33 == UNION_SYMBOL || LA569_33 == USING_SYMBOL || ((LA569_33 >= WHEN_SYMBOL) && (LA569_33 <= WHERE_SYMBOL)) || LA569_33 == WITH_SYMBOL || ((LA569_33 >= XOR_SYMBOL) && (LA569_33 <= YEAR_MONTH_SYMBOL))))
                            {
                                alt569=2;
                            }
                            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        = 33;


                                goto ruleprimaryEx;

                            }
                        }
                    }
                    else if ( (((LA569_0 >= TIMESTAMP_ADD_SYMBOL) && (LA569_0 <= TIMESTAMP_DIFF_SYMBOL))))
                    {
                        {
                            int LA569_38 = LA(2);
                            if ( (LA569_38 == OPEN_PAR_SYMBOL))
                            {
                                {
                                    int LA569_1680 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt569=3;
                                    }
                                    else if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt569=4;
                                    }
                                    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        = 1680;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA569_38 == DOT_SYMBOL))
                            {
                                {
                                    int LA569_1681 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt569=2;
                                    }
                                    else if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt569=4;
                                    }
                                    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        = 1681;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA569_38 == EOF || ((LA569_38 >= ACTION_SYMBOL) && (LA569_38 <= PARTITION_SYMBOL)) || ((LA569_38 >= AND_SYMBOL) && (LA569_38 <= ASC_SYMBOL)) || LA569_38 == AS_SYMBOL || LA569_38 == BACK_TICK_QUOTED_ID || LA569_38 == BETWEEN_SYMBOL || LA569_38 == BITWISE_AND_OPERATOR || ((LA569_38 >= BITWISE_OR_OPERATOR) && (LA569_38 <= BITWISE_XOR_OPERATOR)) || ((LA569_38 >= CLOSE_CURLY_SYMBOL) && (LA569_38 <= COLLATE_SYMBOL)) || LA569_38 == COMMA_SYMBOL || LA569_38 == CONCAT_PIPES_SYMBOL || LA569_38 == CROSS_SYMBOL || ((LA569_38 >= DAY_HOUR_SYMBOL) && (LA569_38 <= DAY_SECOND_SYMBOL)) || LA569_38 == DESC_SYMBOL || ((LA569_38 >= DIV_OPERATOR) && (LA569_38 <= DIV_SYMBOL)) || LA569_38 == DOUBLE_QUOTED_TEXT || LA569_38 == ELSE_SYMBOL || LA569_38 == EQUAL_OPERATOR || ((LA569_38 >= FOR_SYMBOL) && (LA569_38 <= FROM_SYMBOL)) || ((LA569_38 >= GREATER_OR_EQUAL_OPERATOR) && (LA569_38 <= GREATER_THAN_OPERATOR)) || ((LA569_38 >= GROUP_SYMBOL) && (LA569_38 <= HAVING_SYMBOL)) || ((LA569_38 >= HOUR_MICROSECOND_SYMBOL) && (LA569_38 <= IDENTIFIER)) || LA569_38 == INNER_SYMBOL || LA569_38 == INTO_SYMBOL || LA569_38 == IN_SYMBOL || LA569_38 == IS_SYMBOL || LA569_38 == JOIN_SYMBOL || ((LA569_38 >= LEFT_SYMBOL) && (LA569_38 <= LESS_THAN_OPERATOR)) || ((LA569_38 >= LIKE_SYMBOL) && (LA569_38 <= LIMIT_SYMBOL)) || LA569_38 == LOCK_SYMBOL || LA569_38 == LOGICAL_AND_OPERATOR || LA569_38 == LOGICAL_OR_OPERATOR || ((LA569_38 >= MINUS_OPERATOR) && (LA569_38 <= MINUTE_SECOND_SYMBOL)) || ((LA569_38 >= MOD_OPERATOR) && (LA569_38 <= MOD_SYMBOL)) || ((LA569_38 >= MULT_OPERATOR) && (LA569_38 <= NATURAL_SYMBOL)) || LA569_38 == NCHAR_TEXT || ((LA569_38 >= NOT_EQUAL2_OPERATOR) && (LA569_38 <= NOT_SYMBOL)) || LA569_38 == NULL_SAFE_EQUAL_OPERATOR || LA569_38 == ON_SYMBOL || ((LA569_38 >= ORDER_SYMBOL) && (LA569_38 <= OR_SYMBOL)) || LA569_38 == PLUS_OPERATOR || LA569_38 == PROCEDURE_SYMBOL || LA569_38 == REGEXP_SYMBOL || LA569_38 == RENAME_SYMBOL || LA569_38 == RIGHT_SYMBOL || LA569_38 == SECOND_MICROSECOND_SYMBOL || LA569_38 == SEMICOLON_SYMBOL || LA569_38 == SEPARATOR_SYMBOL || LA569_38 == SET_SYMBOL || ((LA569_38 >= SHIFT_LEFT_OPERATOR) && (LA569_38 <= SHIFT_RIGHT_OPERATOR)) || LA569_38 == SINGLE_QUOTED_TEXT || LA569_38 == STRAIGHT_JOIN_SYMBOL || LA569_38 == THEN_SYMBOL || LA569_38 == UNDERSCORE_CHARSET || LA569_38 == UNION_SYMBOL || LA569_38 == USING_SYMBOL || ((LA569_38 >= WHEN_SYMBOL) && (LA569_38 <= WHERE_SYMBOL)) || LA569_38 == WITH_SYMBOL || ((LA569_38 >= XOR_SYMBOL) && (LA569_38 <= YEAR_MONTH_SYMBOL))))
                            {
                                alt569=2;
                            }
                            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        = 38;


                                goto ruleprimaryEx;

                            }
                        }
                    }
                    else if ( (LA569_0 == COALESCE_SYMBOL))
                    {
                        {
                            int LA569_43 = LA(2);
                            if ( (LA569_43 == DOT_SYMBOL))
                            {
                                {
                                    int LA569_1773 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt569=2;
                                    }
                                    else if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt569=4;
                                    }
                                    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        = 1773;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA569_43 == EOF || ((LA569_43 >= ACTION_SYMBOL) && (LA569_43 <= PARTITION_SYMBOL)) || ((LA569_43 >= AND_SYMBOL) && (LA569_43 <= ASC_SYMBOL)) || LA569_43 == AS_SYMBOL || LA569_43 == BACK_TICK_QUOTED_ID || LA569_43 == BETWEEN_SYMBOL || LA569_43 == BITWISE_AND_OPERATOR || ((LA569_43 >= BITWISE_OR_OPERATOR) && (LA569_43 <= BITWISE_XOR_OPERATOR)) || ((LA569_43 >= CLOSE_CURLY_SYMBOL) && (LA569_43 <= COLLATE_SYMBOL)) || LA569_43 == COMMA_SYMBOL || LA569_43 == CONCAT_PIPES_SYMBOL || LA569_43 == CROSS_SYMBOL || ((LA569_43 >= DAY_HOUR_SYMBOL) && (LA569_43 <= DAY_SECOND_SYMBOL)) || LA569_43 == DESC_SYMBOL || ((LA569_43 >= DIV_OPERATOR) && (LA569_43 <= DIV_SYMBOL)) || LA569_43 == DOUBLE_QUOTED_TEXT || LA569_43 == ELSE_SYMBOL || LA569_43 == EQUAL_OPERATOR || ((LA569_43 >= FOR_SYMBOL) && (LA569_43 <= FROM_SYMBOL)) || ((LA569_43 >= GREATER_OR_EQUAL_OPERATOR) && (LA569_43 <= GREATER_THAN_OPERATOR)) || ((LA569_43 >= GROUP_SYMBOL) && (LA569_43 <= HAVING_SYMBOL)) || ((LA569_43 >= HOUR_MICROSECOND_SYMBOL) && (LA569_43 <= IDENTIFIER)) || LA569_43 == INNER_SYMBOL || LA569_43 == INTO_SYMBOL || LA569_43 == IN_SYMBOL || LA569_43 == IS_SYMBOL || LA569_43 == JOIN_SYMBOL || ((LA569_43 >= LEFT_SYMBOL) && (LA569_43 <= LESS_THAN_OPERATOR)) || ((LA569_43 >= LIKE_SYMBOL) && (LA569_43 <= LIMIT_SYMBOL)) || LA569_43 == LOCK_SYMBOL || LA569_43 == LOGICAL_AND_OPERATOR || LA569_43 == LOGICAL_OR_OPERATOR || ((LA569_43 >= MINUS_OPERATOR) && (LA569_43 <= MINUTE_SECOND_SYMBOL)) || ((LA569_43 >= MOD_OPERATOR) && (LA569_43 <= MOD_SYMBOL)) || ((LA569_43 >= MULT_OPERATOR) && (LA569_43 <= NATURAL_SYMBOL)) || LA569_43 == NCHAR_TEXT || ((LA569_43 >= NOT_EQUAL2_OPERATOR) && (LA569_43 <= NOT_SYMBOL)) || LA569_43 == NULL_SAFE_EQUAL_OPERATOR || LA569_43 == ON_SYMBOL || ((LA569_43 >= ORDER_SYMBOL) && (LA569_43 <= OR_SYMBOL)) || LA569_43 == PLUS_OPERATOR || LA569_43 == PROCEDURE_SYMBOL || LA569_43 == REGEXP_SYMBOL || LA569_43 == RENAME_SYMBOL || LA569_43 == RIGHT_SYMBOL || LA569_43 == SECOND_MICROSECOND_SYMBOL || LA569_43 == SEMICOLON_SYMBOL || LA569_43 == SEPARATOR_SYMBOL || LA569_43 == SET_SYMBOL || ((LA569_43 >= SHIFT_LEFT_OPERATOR) && (LA569_43 <= SHIFT_RIGHT_OPERATOR)) || LA569_43 == SINGLE_QUOTED_TEXT || LA569_43 == STRAIGHT_JOIN_SYMBOL || LA569_43 == THEN_SYMBOL || LA569_43 == UNDERSCORE_CHARSET || LA569_43 == UNION_SYMBOL || LA569_43 == USING_SYMBOL || ((LA569_43 >= WHEN_SYMBOL) && (LA569_43 <= WHERE_SYMBOL)) || LA569_43 == WITH_SYMBOL || ((LA569_43 >= XOR_SYMBOL) && (LA569_43 <= YEAR_MONTH_SYMBOL))))
                            {
                                alt569=2;
                            }
                            else if ( (LA569_43 == OPEN_PAR_SYMBOL))
                            {
                                {
                                    int LA569_1865 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt569=3;
                                    }
                                    else if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt569=4;
                                    }
                                    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        = 1865;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            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        = 43;


                                goto ruleprimaryEx;

                            }
                        }
                    }
                    else if ( (LA569_0 == CHARSET_SYMBOL))
                    {
                        {
                            int LA569_47 = LA(2);
                            if ( (LA569_47 == OPEN_PAR_SYMBOL))
                            {
                                {
                                    int LA569_1866 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt569=3;
                                    }
                                    else if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt569=4;
                                    }
                                    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        = 1866;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA569_47 == DOT_SYMBOL))
                            {
                                {
                                    int LA569_1867 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt569=2;
                                    }
                                    else if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt569=4;
                                    }
                                    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        = 1867;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA569_47 == EOF || ((LA569_47 >= ACTION_SYMBOL) && (LA569_47 <= PARTITION_SYMBOL)) || ((LA569_47 >= AND_SYMBOL) && (LA569_47 <= ASC_SYMBOL)) || LA569_47 == AS_SYMBOL || LA569_47 == BACK_TICK_QUOTED_ID || LA569_47 == BETWEEN_SYMBOL || LA569_47 == BITWISE_AND_OPERATOR || ((LA569_47 >= BITWISE_OR_OPERATOR) && (LA569_47 <= BITWISE_XOR_OPERATOR)) || ((LA569_47 >= CLOSE_CURLY_SYMBOL) && (LA569_47 <= COLLATE_SYMBOL)) || LA569_47 == COMMA_SYMBOL || LA569_47 == CONCAT_PIPES_SYMBOL || LA569_47 == CROSS_SYMBOL || ((LA569_47 >= DAY_HOUR_SYMBOL) && (LA569_47 <= DAY_SECOND_SYMBOL)) || LA569_47 == DESC_SYMBOL || ((LA569_47 >= DIV_OPERATOR) && (LA569_47 <= DIV_SYMBOL)) || LA569_47 == DOUBLE_QUOTED_TEXT || LA569_47 == ELSE_SYMBOL || LA569_47 == EQUAL_OPERATOR || ((LA569_47 >= FOR_SYMBOL) && (LA569_47 <= FROM_SYMBOL)) || ((LA569_47 >= GREATER_OR_EQUAL_OPERATOR) && (LA569_47 <= GREATER_THAN_OPERATOR)) || ((LA569_47 >= GROUP_SYMBOL) && (LA569_47 <= HAVING_SYMBOL)) || ((LA569_47 >= HOUR_MICROSECOND_SYMBOL) && (LA569_47 <= IDENTIFIER)) || LA569_47 == INNER_SYMBOL || LA569_47 == INTO_SYMBOL || LA569_47 == IN_SYMBOL || LA569_47 == IS_SYMBOL || LA569_47 == JOIN_SYMBOL || ((LA569_47 >= LEFT_SYMBOL) && (LA569_47 <= LESS_THAN_OPERATOR)) || ((LA569_47 >= LIKE_SYMBOL) && (LA569_47 <= LIMIT_SYMBOL)) || LA569_47 == LOCK_SYMBOL || LA569_47 == LOGICAL_AND_OPERATOR || LA569_47 == LOGICAL_OR_OPERATOR || ((LA569_47 >= MINUS_OPERATOR) && (LA569_47 <= MINUTE_SECOND_SYMBOL)) || ((LA569_47 >= MOD_OPERATOR) && (LA569_47 <= MOD_SYMBOL)) || ((LA569_47 >= MULT_OPERATOR) && (LA569_47 <= NATURAL_SYMBOL)) || LA569_47 == NCHAR_TEXT || ((LA569_47 >= NOT_EQUAL2_OPERATOR) && (LA569_47 <= NOT_SYMBOL)) || LA569_47 == NULL_SAFE_EQUAL_OPERATOR || LA569_47 == ON_SYMBOL || ((LA569_47 >= ORDER_SYMBOL) && (LA569_47 <= OR_SYMBOL)) || LA569_47 == PLUS_OPERATOR || LA569_47 == PROCEDURE_SYMBOL || LA569_47 == REGEXP_SYMBOL || LA569_47 == RENAME_SYMBOL || LA569_47 == RIGHT_SYMBOL || LA569_47 == SECOND_MICROSECOND_SYMBOL || LA569_47 == SEMICOLON_SYMBOL || LA569_47 == SEPARATOR_SYMBOL || LA569_47 == SET_SYMBOL || ((LA569_47 >= SHIFT_LEFT_OPERATOR) && (LA569_47 <= SHIFT_RIGHT_OPERATOR)) || LA569_47 == SINGLE_QUOTED_TEXT || LA569_47 == STRAIGHT_JOIN_SYMBOL || LA569_47 == THEN_SYMBOL || LA569_47 == UNDERSCORE_CHARSET || LA569_47 == UNION_SYMBOL || LA569_47 == USING_SYMBOL || ((LA569_47 >= WHEN_SYMBOL) && (LA569_47 <= WHERE_SYMBOL)) || LA569_47 == WITH_SYMBOL || ((LA569_47 >= XOR_SYMBOL) && (LA569_47 <= YEAR_MONTH_SYMBOL))))
                            {
                                alt569=2;
                            }
                            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        = 47;


                                goto ruleprimaryEx;

                            }
                        }
                    }
                    else if ( (LA569_0 == FORMAT_SYMBOL))
                    {
                        {
                            int LA569_48 = LA(2);
                            if ( (LA569_48 == OPEN_PAR_SYMBOL))
                            {
                                {
                                    int LA569_1959 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt569=3;
                                    }
                                    else if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt569=4;
                                    }
                                    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        = 1959;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA569_48 == DOT_SYMBOL))
                            {
                                {
                                    int LA569_1960 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt569=2;
                                    }
                                    else if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt569=4;
                                    }
                                    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        = 1960;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA569_48 == EOF || ((LA569_48 >= ACTION_SYMBOL) && (LA569_48 <= PARTITION_SYMBOL)) || ((LA569_48 >= AND_SYMBOL) && (LA569_48 <= ASC_SYMBOL)) || LA569_48 == AS_SYMBOL || LA569_48 == BACK_TICK_QUOTED_ID || LA569_48 == BETWEEN_SYMBOL || LA569_48 == BITWISE_AND_OPERATOR || ((LA569_48 >= BITWISE_OR_OPERATOR) && (LA569_48 <= BITWISE_XOR_OPERATOR)) || ((LA569_48 >= CLOSE_CURLY_SYMBOL) && (LA569_48 <= COLLATE_SYMBOL)) || LA569_48 == COMMA_SYMBOL || LA569_48 == CONCAT_PIPES_SYMBOL || LA569_48 == CROSS_SYMBOL || ((LA569_48 >= DAY_HOUR_SYMBOL) && (LA569_48 <= DAY_SECOND_SYMBOL)) || LA569_48 == DESC_SYMBOL || ((LA569_48 >= DIV_OPERATOR) && (LA569_48 <= DIV_SYMBOL)) || LA569_48 == DOUBLE_QUOTED_TEXT || LA569_48 == ELSE_SYMBOL || LA569_48 == EQUAL_OPERATOR || ((LA569_48 >= FOR_SYMBOL) && (LA569_48 <= FROM_SYMBOL)) || ((LA569_48 >= GREATER_OR_EQUAL_OPERATOR) && (LA569_48 <= GREATER_THAN_OPERATOR)) || ((LA569_48 >= GROUP_SYMBOL) && (LA569_48 <= HAVING_SYMBOL)) || ((LA569_48 >= HOUR_MICROSECOND_SYMBOL) && (LA569_48 <= IDENTIFIER)) || LA569_48 == INNER_SYMBOL || LA569_48 == INTO_SYMBOL || LA569_48 == IN_SYMBOL || LA569_48 == IS_SYMBOL || LA569_48 == JOIN_SYMBOL || ((LA569_48 >= LEFT_SYMBOL) && (LA569_48 <= LESS_THAN_OPERATOR)) || ((LA569_48 >= LIKE_SYMBOL) && (LA569_48 <= LIMIT_SYMBOL)) || LA569_48 == LOCK_SYMBOL || LA569_48 == LOGICAL_AND_OPERATOR || LA569_48 == LOGICAL_OR_OPERATOR || ((LA569_48 >= MINUS_OPERATOR) && (LA569_48 <= MINUTE_SECOND_SYMBOL)) || ((LA569_48 >= MOD_OPERATOR) && (LA569_48 <= MOD_SYMBOL)) || ((LA569_48 >= MULT_OPERATOR) && (LA569_48 <= NATURAL_SYMBOL)) || LA569_48 == NCHAR_TEXT || ((LA569_48 >= NOT_EQUAL2_OPERATOR) && (LA569_48 <= NOT_SYMBOL)) || LA569_48 == NULL_SAFE_EQUAL_OPERATOR || LA569_48 == ON_SYMBOL || ((LA569_48 >= ORDER_SYMBOL) && (LA569_48 <= OR_SYMBOL)) || LA569_48 == PLUS_OPERATOR || LA569_48 == PROCEDURE_SYMBOL || LA569_48 == REGEXP_SYMBOL || LA569_48 == RENAME_SYMBOL || LA569_48 == RIGHT_SYMBOL || LA569_48 == SECOND_MICROSECOND_SYMBOL || LA569_48 == SEMICOLON_SYMBOL || LA569_48 == SEPARATOR_SYMBOL || LA569_48 == SET_SYMBOL || ((LA569_48 >= SHIFT_LEFT_OPERATOR) && (LA569_48 <= SHIFT_RIGHT_OPERATOR)) || LA569_48 == SINGLE_QUOTED_TEXT || LA569_48 == STRAIGHT_JOIN_SYMBOL || LA569_48 == THEN_SYMBOL || LA569_48 == UNDERSCORE_CHARSET || LA569_48 == UNION_SYMBOL || LA569_48 == USING_SYMBOL || ((LA569_48 >= WHEN_SYMBOL) && (LA569_48 <= WHERE_SYMBOL)) || LA569_48 == WITH_SYMBOL || ((LA569_48 >= XOR_SYMBOL) && (LA569_48 <= YEAR_MONTH_SYMBOL))))
                            {
                                alt569=2;
                            }
                            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        = 48;


                                goto ruleprimaryEx;

                            }
                        }
                    }
                    else if ( (LA569_0 == COLLATION_SYMBOL))
                    {
                        {
                            int LA569_49 = LA(2);
                            if ( (LA569_49 == OPEN_PAR_SYMBOL))
                            {
                                {
                                    int LA569_2052 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt569=3;
                                    }
                                    else if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt569=4;
                                    }
                                    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        = 2052;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA569_49 == DOT_SYMBOL))
                            {
                                {
                                    int LA569_2053 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt569=2;
                                    }
                                    else if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt569=4;
                                    }
                                    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        = 2053;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA569_49 == EOF || ((LA569_49 >= ACTION_SYMBOL) && (LA569_49 <= PARTITION_SYMBOL)) || ((LA569_49 >= AND_SYMBOL) && (LA569_49 <= ASC_SYMBOL)) || LA569_49 == AS_SYMBOL || LA569_49 == BACK_TICK_QUOTED_ID || LA569_49 == BETWEEN_SYMBOL || LA569_49 == BITWISE_AND_OPERATOR || ((LA569_49 >= BITWISE_OR_OPERATOR) && (LA569_49 <= BITWISE_XOR_OPERATOR)) || ((LA569_49 >= CLOSE_CURLY_SYMBOL) && (LA569_49 <= COLLATE_SYMBOL)) || LA569_49 == COMMA_SYMBOL || LA569_49 == CONCAT_PIPES_SYMBOL || LA569_49 == CROSS_SYMBOL || ((LA569_49 >= DAY_HOUR_SYMBOL) && (LA569_49 <= DAY_SECOND_SYMBOL)) || LA569_49 == DESC_SYMBOL || ((LA569_49 >= DIV_OPERATOR) && (LA569_49 <= DIV_SYMBOL)) || LA569_49 == DOUBLE_QUOTED_TEXT || LA569_49 == ELSE_SYMBOL || LA569_49 == EQUAL_OPERATOR || ((LA569_49 >= FOR_SYMBOL) && (LA569_49 <= FROM_SYMBOL)) || ((LA569_49 >= GREATER_OR_EQUAL_OPERATOR) && (LA569_49 <= GREATER_THAN_OPERATOR)) || ((LA569_49 >= GROUP_SYMBOL) && (LA569_49 <= HAVING_SYMBOL)) || ((LA569_49 >= HOUR_MICROSECOND_SYMBOL) && (LA569_49 <= IDENTIFIER)) || LA569_49 == INNER_SYMBOL || LA569_49 == INTO_SYMBOL || LA569_49 == IN_SYMBOL || LA569_49 == IS_SYMBOL || LA569_49 == JOIN_SYMBOL || ((LA569_49 >= LEFT_SYMBOL) && (LA569_49 <= LESS_THAN_OPERATOR)) || ((LA569_49 >= LIKE_SYMBOL) && (LA569_49 <= LIMIT_SYMBOL)) || LA569_49 == LOCK_SYMBOL || LA569_49 == LOGICAL_AND_OPERATOR || LA569_49 == LOGICAL_OR_OPERATOR || ((LA569_49 >= MINUS_OPERATOR) && (LA569_49 <= MINUTE_SECOND_SYMBOL)) || ((LA569_49 >= MOD_OPERATOR) && (LA569_49 <= MOD_SYMBOL)) || ((LA569_49 >= MULT_OPERATOR) && (LA569_49 <= NATURAL_SYMBOL)) || LA569_49 == NCHAR_TEXT || ((LA569_49 >= NOT_EQUAL2_OPERATOR) && (LA569_49 <= NOT_SYMBOL)) || LA569_49 == NULL_SAFE_EQUAL_OPERATOR || LA569_49 == ON_SYMBOL || ((LA569_49 >= ORDER_SYMBOL) && (LA569_49 <= OR_SYMBOL)) || LA569_49 == PLUS_OPERATOR || LA569_49 == PROCEDURE_SYMBOL || LA569_49 == REGEXP_SYMBOL || LA569_49 == RENAME_SYMBOL || LA569_49 == RIGHT_SYMBOL || LA569_49 == SECOND_MICROSECOND_SYMBOL || LA569_49 == SEMICOLON_SYMBOL || LA569_49 == SEPARATOR_SYMBOL || LA569_49 == SET_SYMBOL || ((LA569_49 >= SHIFT_LEFT_OPERATOR) && (LA569_49 <= SHIFT_RIGHT_OPERATOR)) || LA569_49 == SINGLE_QUOTED_TEXT || LA569_49 == STRAIGHT_JOIN_SYMBOL || LA569_49 == THEN_SYMBOL || LA569_49 == UNDERSCORE_CHARSET || LA569_49 == UNION_SYMBOL || LA569_49 == USING_SYMBOL || ((LA569_49 >= WHEN_SYMBOL) && (LA569_49 <= WHERE_SYMBOL)) || LA569_49 == WITH_SYMBOL || ((LA569_49 >= XOR_SYMBOL) && (LA569_49 <= YEAR_MONTH_SYMBOL))))
                            {
                                alt569=2;
                            }
                            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        = 49;


                                goto ruleprimaryEx;

                            }
                        }
                    }
                    else if ( (LA569_0 == MICROSECOND_SYMBOL))
                    {
                        {
                            int LA569_50 = LA(2);
                            if ( (LA569_50 == OPEN_PAR_SYMBOL))
                            {
                                {
                                    int LA569_2145 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt569=3;
                                    }
                                    else if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt569=4;
                                    }
                                    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        = 2145;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA569_50 == DOT_SYMBOL))
                            {
                                {
                                    int LA569_2146 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt569=2;
                                    }
                                    else if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt569=4;
                                    }
                                    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        = 2146;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA569_50 == EOF || ((LA569_50 >= ACTION_SYMBOL) && (LA569_50 <= PARTITION_SYMBOL)) || ((LA569_50 >= AND_SYMBOL) && (LA569_50 <= ASC_SYMBOL)) || LA569_50 == AS_SYMBOL || LA569_50 == BACK_TICK_QUOTED_ID || LA569_50 == BETWEEN_SYMBOL || LA569_50 == BITWISE_AND_OPERATOR || ((LA569_50 >= BITWISE_OR_OPERATOR) && (LA569_50 <= BITWISE_XOR_OPERATOR)) || ((LA569_50 >= CLOSE_CURLY_SYMBOL) && (LA569_50 <= COLLATE_SYMBOL)) || LA569_50 == COMMA_SYMBOL || LA569_50 == CONCAT_PIPES_SYMBOL || LA569_50 == CROSS_SYMBOL || ((LA569_50 >= DAY_HOUR_SYMBOL) && (LA569_50 <= DAY_SECOND_SYMBOL)) || LA569_50 == DESC_SYMBOL || ((LA569_50 >= DIV_OPERATOR) && (LA569_50 <= DIV_SYMBOL)) || LA569_50 == DOUBLE_QUOTED_TEXT || LA569_50 == ELSE_SYMBOL || LA569_50 == EQUAL_OPERATOR || ((LA569_50 >= FOR_SYMBOL) && (LA569_50 <= FROM_SYMBOL)) || ((LA569_50 >= GREATER_OR_EQUAL_OPERATOR) && (LA569_50 <= GREATER_THAN_OPERATOR)) || ((LA569_50 >= GROUP_SYMBOL) && (LA569_50 <= HAVING_SYMBOL)) || ((LA569_50 >= HOUR_MICROSECOND_SYMBOL) && (LA569_50 <= IDENTIFIER)) || LA569_50 == INNER_SYMBOL || LA569_50 == INTO_SYMBOL || LA569_50 == IN_SYMBOL || LA569_50 == IS_SYMBOL || LA569_50 == JOIN_SYMBOL || ((LA569_50 >= LEFT_SYMBOL) && (LA569_50 <= LESS_THAN_OPERATOR)) || ((LA569_50 >= LIKE_SYMBOL) && (LA569_50 <= LIMIT_SYMBOL)) || LA569_50 == LOCK_SYMBOL || LA569_50 == LOGICAL_AND_OPERATOR || LA569_50 == LOGICAL_OR_OPERATOR || ((LA569_50 >= MINUS_OPERATOR) && (LA569_50 <= MINUTE_SECOND_SYMBOL)) || ((LA569_50 >= MOD_OPERATOR) && (LA569_50 <= MOD_SYMBOL)) || ((LA569_50 >= MULT_OPERATOR) && (LA569_50 <= NATURAL_SYMBOL)) || LA569_50 == NCHAR_TEXT || ((LA569_50 >= NOT_EQUAL2_OPERATOR) && (LA569_50 <= NOT_SYMBOL)) || LA569_50 == NULL_SAFE_EQUAL_OPERATOR || LA569_50 == ON_SYMBOL || ((LA569_50 >= ORDER_SYMBOL) && (LA569_50 <= OR_SYMBOL)) || LA569_50 == PLUS_OPERATOR || LA569_50 == PROCEDURE_SYMBOL || LA569_50 == REGEXP_SYMBOL || LA569_50 == RENAME_SYMBOL || LA569_50 == RIGHT_SYMBOL || LA569_50 == SECOND_MICROSECOND_SYMBOL || LA569_50 == SEMICOLON_SYMBOL || LA569_50 == SEPARATOR_SYMBOL || LA569_50 == SET_SYMBOL || ((LA569_50 >= SHIFT_LEFT_OPERATOR) && (LA569_50 <= SHIFT_RIGHT_OPERATOR)) || LA569_50 == SINGLE_QUOTED_TEXT || LA569_50 == STRAIGHT_JOIN_SYMBOL || LA569_50 == THEN_SYMBOL || LA569_50 == UNDERSCORE_CHARSET || LA569_50 == UNION_SYMBOL || LA569_50 == USING_SYMBOL || ((LA569_50 >= WHEN_SYMBOL) && (LA569_50 <= WHERE_SYMBOL)) || LA569_50 == WITH_SYMBOL || ((LA569_50 >= XOR_SYMBOL) && (LA569_50 <= YEAR_MONTH_SYMBOL))))
                            {
                                alt569=2;
                            }
                            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        = 50;


                                goto ruleprimaryEx;

                            }
                        }
                    }
                    else if ( (LA569_0 == TRUNCATE_SYMBOL))
                    {
                        {
                            int LA569_53 = LA(2);
                            if ( (LA569_53 == OPEN_PAR_SYMBOL))
                            {
                                {
                                    int LA569_2238 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt569=3;
                                    }
                                    else if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt569=4;
                                    }
                                    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        = 2238;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA569_53 == DOT_SYMBOL))
                            {
                                {
                                    int LA569_2239 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt569=2;
                                    }
                                    else if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt569=4;
                                    }
                                    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        = 2239;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA569_53 == EOF || ((LA569_53 >= ACTION_SYMBOL) && (LA569_53 <= PARTITION_SYMBOL)) || ((LA569_53 >= AND_SYMBOL) && (LA569_53 <= ASC_SYMBOL)) || LA569_53 == AS_SYMBOL || LA569_53 == BACK_TICK_QUOTED_ID || LA569_53 == BETWEEN_SYMBOL || LA569_53 == BITWISE_AND_OPERATOR || ((LA569_53 >= BITWISE_OR_OPERATOR) && (LA569_53 <= BITWISE_XOR_OPERATOR)) || ((LA569_53 >= CLOSE_CURLY_SYMBOL) && (LA569_53 <= COLLATE_SYMBOL)) || LA569_53 == COMMA_SYMBOL || LA569_53 == CONCAT_PIPES_SYMBOL || LA569_53 == CROSS_SYMBOL || ((LA569_53 >= DAY_HOUR_SYMBOL) && (LA569_53 <= DAY_SECOND_SYMBOL)) || LA569_53 == DESC_SYMBOL || ((LA569_53 >= DIV_OPERATOR) && (LA569_53 <= DIV_SYMBOL)) || LA569_53 == DOUBLE_QUOTED_TEXT || LA569_53 == ELSE_SYMBOL || LA569_53 == EQUAL_OPERATOR || ((LA569_53 >= FOR_SYMBOL) && (LA569_53 <= FROM_SYMBOL)) || ((LA569_53 >= GREATER_OR_EQUAL_OPERATOR) && (LA569_53 <= GREATER_THAN_OPERATOR)) || ((LA569_53 >= GROUP_SYMBOL) && (LA569_53 <= HAVING_SYMBOL)) || ((LA569_53 >= HOUR_MICROSECOND_SYMBOL) && (LA569_53 <= IDENTIFIER)) || LA569_53 == INNER_SYMBOL || LA569_53 == INTO_SYMBOL || LA569_53 == IN_SYMBOL || LA569_53 == IS_SYMBOL || LA569_53 == JOIN_SYMBOL || ((LA569_53 >= LEFT_SYMBOL) && (LA569_53 <= LESS_THAN_OPERATOR)) || ((LA569_53 >= LIKE_SYMBOL) && (LA569_53 <= LIMIT_SYMBOL)) || LA569_53 == LOCK_SYMBOL || LA569_53 == LOGICAL_AND_OPERATOR || LA569_53 == LOGICAL_OR_OPERATOR || ((LA569_53 >= MINUS_OPERATOR) && (LA569_53 <= MINUTE_SECOND_SYMBOL)) || ((LA569_53 >= MOD_OPERATOR) && (LA569_53 <= MOD_SYMBOL)) || ((LA569_53 >= MULT_OPERATOR) && (LA569_53 <= NATURAL_SYMBOL)) || LA569_53 == NCHAR_TEXT || ((LA569_53 >= NOT_EQUAL2_OPERATOR) && (LA569_53 <= NOT_SYMBOL)) || LA569_53 == NULL_SAFE_EQUAL_OPERATOR || LA569_53 == ON_SYMBOL || ((LA569_53 >= ORDER_SYMBOL) && (LA569_53 <= OR_SYMBOL)) || LA569_53 == PLUS_OPERATOR || LA569_53 == PROCEDURE_SYMBOL || LA569_53 == REGEXP_SYMBOL || LA569_53 == RENAME_SYMBOL || LA569_53 == RIGHT_SYMBOL || LA569_53 == SECOND_MICROSECOND_SYMBOL || LA569_53 == SEMICOLON_SYMBOL || LA569_53 == SEPARATOR_SYMBOL || LA569_53 == SET_SYMBOL || ((LA569_53 >= SHIFT_LEFT_OPERATOR) && (LA569_53 <= SHIFT_RIGHT_OPERATOR)) || LA569_53 == SINGLE_QUOTED_TEXT || LA569_53 == STRAIGHT_JOIN_SYMBOL || LA569_53 == THEN_SYMBOL || LA569_53 == UNDERSCORE_CHARSET || LA569_53 == UNION_SYMBOL || LA569_53 == USING_SYMBOL || ((LA569_53 >= WHEN_SYMBOL) && (LA569_53 <= WHERE_SYMBOL)) || LA569_53 == WITH_SYMBOL || ((LA569_53 >= XOR_SYMBOL) && (LA569_53 <= YEAR_MONTH_SYMBOL))))
                            {
                                alt569=2;
                            }
                            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        = 53;


                                goto ruleprimaryEx;

                            }
                        }
                    }
                    else if ( (LA569_0 == OLD_PASSWORD_SYMBOL))
                    {
                        {
                            int LA569_54 = LA(2);
                            if ( (LA569_54 == OPEN_PAR_SYMBOL))
                            {
                                {
                                    int LA569_2331 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt569=3;
                                    }
                                    else if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt569=4;
                                    }
                                    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        = 2331;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA569_54 == DOT_SYMBOL))
                            {
                                {
                                    int LA569_2332 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt569=2;
                                    }
                                    else if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt569=4;
                                    }
                                    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        = 2332;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA569_54 == EOF || ((LA569_54 >= ACTION_SYMBOL) && (LA569_54 <= PARTITION_SYMBOL)) || ((LA569_54 >= AND_SYMBOL) && (LA569_54 <= ASC_SYMBOL)) || LA569_54 == AS_SYMBOL || LA569_54 == BACK_TICK_QUOTED_ID || LA569_54 == BETWEEN_SYMBOL || LA569_54 == BITWISE_AND_OPERATOR || ((LA569_54 >= BITWISE_OR_OPERATOR) && (LA569_54 <= BITWISE_XOR_OPERATOR)) || ((LA569_54 >= CLOSE_CURLY_SYMBOL) && (LA569_54 <= COLLATE_SYMBOL)) || LA569_54 == COMMA_SYMBOL || LA569_54 == CONCAT_PIPES_SYMBOL || LA569_54 == CROSS_SYMBOL || ((LA569_54 >= DAY_HOUR_SYMBOL) && (LA569_54 <= DAY_SECOND_SYMBOL)) || LA569_54 == DESC_SYMBOL || ((LA569_54 >= DIV_OPERATOR) && (LA569_54 <= DIV_SYMBOL)) || LA569_54 == DOUBLE_QUOTED_TEXT || LA569_54 == ELSE_SYMBOL || LA569_54 == EQUAL_OPERATOR || ((LA569_54 >= FOR_SYMBOL) && (LA569_54 <= FROM_SYMBOL)) || ((LA569_54 >= GREATER_OR_EQUAL_OPERATOR) && (LA569_54 <= GREATER_THAN_OPERATOR)) || ((LA569_54 >= GROUP_SYMBOL) && (LA569_54 <= HAVING_SYMBOL)) || ((LA569_54 >= HOUR_MICROSECOND_SYMBOL) && (LA569_54 <= IDENTIFIER)) || LA569_54 == INNER_SYMBOL || LA569_54 == INTO_SYMBOL || LA569_54 == IN_SYMBOL || LA569_54 == IS_SYMBOL || LA569_54 == JOIN_SYMBOL || ((LA569_54 >= LEFT_SYMBOL) && (LA569_54 <= LESS_THAN_OPERATOR)) || ((LA569_54 >= LIKE_SYMBOL) && (LA569_54 <= LIMIT_SYMBOL)) || LA569_54 == LOCK_SYMBOL || LA569_54 == LOGICAL_AND_OPERATOR || LA569_54 == LOGICAL_OR_OPERATOR || ((LA569_54 >= MINUS_OPERATOR) && (LA569_54 <= MINUTE_SECOND_SYMBOL)) || ((LA569_54 >= MOD_OPERATOR) && (LA569_54 <= MOD_SYMBOL)) || ((LA569_54 >= MULT_OPERATOR) && (LA569_54 <= NATURAL_SYMBOL)) || LA569_54 == NCHAR_TEXT || ((LA569_54 >= NOT_EQUAL2_OPERATOR) && (LA569_54 <= NOT_SYMBOL)) || LA569_54 == NULL_SAFE_EQUAL_OPERATOR || LA569_54 == ON_SYMBOL || ((LA569_54 >= ORDER_SYMBOL) && (LA569_54 <= OR_SYMBOL)) || LA569_54 == PLUS_OPERATOR || LA569_54 == PROCEDURE_SYMBOL || LA569_54 == REGEXP_SYMBOL || LA569_54 == RENAME_SYMBOL || LA569_54 == RIGHT_SYMBOL || LA569_54 == SECOND_MICROSECOND_SYMBOL || LA569_54 == SEMICOLON_SYMBOL || LA569_54 == SEPARATOR_SYMBOL || LA569_54 == SET_SYMBOL || ((LA569_54 >= SHIFT_LEFT_OPERATOR) && (LA569_54 <= SHIFT_RIGHT_OPERATOR)) || LA569_54 == SINGLE_QUOTED_TEXT || LA569_54 == STRAIGHT_JOIN_SYMBOL || LA569_54 == THEN_SYMBOL || LA569_54 == UNDERSCORE_CHARSET || LA569_54 == UNION_SYMBOL || LA569_54 == USING_SYMBOL || ((LA569_54 >= WHEN_SYMBOL) && (LA569_54 <= WHERE_SYMBOL)) || LA569_54 == WITH_SYMBOL || ((LA569_54 >= XOR_SYMBOL) && (LA569_54 <= YEAR_MONTH_SYMBOL))))
                            {
                                alt569=2;
                            }
                            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        = 54;


                                goto ruleprimaryEx;

                            }
                        }
                    }
                    else if ( (LA569_0 == PASSWORD_SYMBOL))
                    {
                        {
                            int LA569_56 = LA(2);
                            if ( (LA569_56 == OPEN_PAR_SYMBOL))
                            {
                                {
                                    int LA569_2424 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt569=3;
                                    }
                                    else if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt569=4;
                                    }
                                    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        = 2424;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA569_56 == DOT_SYMBOL))
                            {
                                {
                                    int LA569_2425 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt569=2;
                                    }
                                    else if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt569=4;
                                    }
                                    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        = 2425;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA569_56 == EOF || ((LA569_56 >= ACTION_SYMBOL) && (LA569_56 <= PARTITION_SYMBOL)) || ((LA569_56 >= AND_SYMBOL) && (LA569_56 <= ASC_SYMBOL)) || LA569_56 == AS_SYMBOL || LA569_56 == BACK_TICK_QUOTED_ID || LA569_56 == BETWEEN_SYMBOL || LA569_56 == BITWISE_AND_OPERATOR || ((LA569_56 >= BITWISE_OR_OPERATOR) && (LA569_56 <= BITWISE_XOR_OPERATOR)) || ((LA569_56 >= CLOSE_CURLY_SYMBOL) && (LA569_56 <= COLLATE_SYMBOL)) || LA569_56 == COMMA_SYMBOL || LA569_56 == CONCAT_PIPES_SYMBOL || LA569_56 == CROSS_SYMBOL || ((LA569_56 >= DAY_HOUR_SYMBOL) && (LA569_56 <= DAY_SECOND_SYMBOL)) || LA569_56 == DESC_SYMBOL || ((LA569_56 >= DIV_OPERATOR) && (LA569_56 <= DIV_SYMBOL)) || LA569_56 == DOUBLE_QUOTED_TEXT || LA569_56 == ELSE_SYMBOL || LA569_56 == EQUAL_OPERATOR || ((LA569_56 >= FOR_SYMBOL) && (LA569_56 <= FROM_SYMBOL)) || ((LA569_56 >= GREATER_OR_EQUAL_OPERATOR) && (LA569_56 <= GREATER_THAN_OPERATOR)) || ((LA569_56 >= GROUP_SYMBOL) && (LA569_56 <= HAVING_SYMBOL)) || ((LA569_56 >= HOUR_MICROSECOND_SYMBOL) && (LA569_56 <= IDENTIFIER)) || LA569_56 == INNER_SYMBOL || LA569_56 == INTO_SYMBOL || LA569_56 == IN_SYMBOL || LA569_56 == IS_SYMBOL || LA569_56 == JOIN_SYMBOL || ((LA569_56 >= LEFT_SYMBOL) && (LA569_56 <= LESS_THAN_OPERATOR)) || ((LA569_56 >= LIKE_SYMBOL) && (LA569_56 <= LIMIT_SYMBOL)) || LA569_56 == LOCK_SYMBOL || LA569_56 == LOGICAL_AND_OPERATOR || LA569_56 == LOGICAL_OR_OPERATOR || ((LA569_56 >= MINUS_OPERATOR) && (LA569_56 <= MINUTE_SECOND_SYMBOL)) || ((LA569_56 >= MOD_OPERATOR) && (LA569_56 <= MOD_SYMBOL)) || ((LA569_56 >= MULT_OPERATOR) && (LA569_56 <= NATURAL_SYMBOL)) || LA569_56 == NCHAR_TEXT || ((LA569_56 >= NOT_EQUAL2_OPERATOR) && (LA569_56 <= NOT_SYMBOL)) || LA569_56 == NULL_SAFE_EQUAL_OPERATOR || LA569_56 == ON_SYMBOL || ((LA569_56 >= ORDER_SYMBOL) && (LA569_56 <= OR_SYMBOL)) || LA569_56 == PLUS_OPERATOR || LA569_56 == PROCEDURE_SYMBOL || LA569_56 == REGEXP_SYMBOL || LA569_56 == RENAME_SYMBOL || LA569_56 == RIGHT_SYMBOL || LA569_56 == SECOND_MICROSECOND_SYMBOL || LA569_56 == SEMICOLON_SYMBOL || LA569_56 == SEPARATOR_SYMBOL || LA569_56 == SET_SYMBOL || ((LA569_56 >= SHIFT_LEFT_OPERATOR) && (LA569_56 <= SHIFT_RIGHT_OPERATOR)) || LA569_56 == SINGLE_QUOTED_TEXT || LA569_56 == STRAIGHT_JOIN_SYMBOL || LA569_56 == THEN_SYMBOL || LA569_56 == UNDERSCORE_CHARSET || LA569_56 == UNION_SYMBOL || LA569_56 == USING_SYMBOL || ((LA569_56 >= WHEN_SYMBOL) && (LA569_56 <= WHERE_SYMBOL)) || LA569_56 == WITH_SYMBOL || ((LA569_56 >= XOR_SYMBOL) && (LA569_56 <= YEAR_MONTH_SYMBOL))))
                            {
                                alt569=2;
                            }
                            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        = 56;


                                goto ruleprimaryEx;

                            }
                        }
                    }
                    else if ( (LA569_0 == QUARTER_SYMBOL))
                    {
                        {
                            int LA569_57 = LA(2);
                            if ( (LA569_57 == OPEN_PAR_SYMBOL))
                            {
                                {
                                    int LA569_2517 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt569=3;
                                    }
                                    else if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt569=4;
                                    }
                                    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        = 2517;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA569_57 == DOT_SYMBOL))
                            {
                                {
                                    int LA569_2518 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt569=2;
                                    }
                                    else if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt569=4;
                                    }
                                    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        = 2518;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA569_57 == EOF || ((LA569_57 >= ACTION_SYMBOL) && (LA569_57 <= PARTITION_SYMBOL)) || ((LA569_57 >= AND_SYMBOL) && (LA569_57 <= ASC_SYMBOL)) || LA569_57 == AS_SYMBOL || LA569_57 == BACK_TICK_QUOTED_ID || LA569_57 == BETWEEN_SYMBOL || LA569_57 == BITWISE_AND_OPERATOR || ((LA569_57 >= BITWISE_OR_OPERATOR) && (LA569_57 <= BITWISE_XOR_OPERATOR)) || ((LA569_57 >= CLOSE_CURLY_SYMBOL) && (LA569_57 <= COLLATE_SYMBOL)) || LA569_57 == COMMA_SYMBOL || LA569_57 == CONCAT_PIPES_SYMBOL || LA569_57 == CROSS_SYMBOL || ((LA569_57 >= DAY_HOUR_SYMBOL) && (LA569_57 <= DAY_SECOND_SYMBOL)) || LA569_57 == DESC_SYMBOL || ((LA569_57 >= DIV_OPERATOR) && (LA569_57 <= DIV_SYMBOL)) || LA569_57 == DOUBLE_QUOTED_TEXT || LA569_57 == ELSE_SYMBOL || LA569_57 == EQUAL_OPERATOR || ((LA569_57 >= FOR_SYMBOL) && (LA569_57 <= FROM_SYMBOL)) || ((LA569_57 >= GREATER_OR_EQUAL_OPERATOR) && (LA569_57 <= GREATER_THAN_OPERATOR)) || ((LA569_57 >= GROUP_SYMBOL) && (LA569_57 <= HAVING_SYMBOL)) || ((LA569_57 >= HOUR_MICROSECOND_SYMBOL) && (LA569_57 <= IDENTIFIER)) || LA569_57 == INNER_SYMBOL || LA569_57 == INTO_SYMBOL || LA569_57 == IN_SYMBOL || LA569_57 == IS_SYMBOL || LA569_57 == JOIN_SYMBOL || ((LA569_57 >= LEFT_SYMBOL) && (LA569_57 <= LESS_THAN_OPERATOR)) || ((LA569_57 >= LIKE_SYMBOL) && (LA569_57 <= LIMIT_SYMBOL)) || LA569_57 == LOCK_SYMBOL || LA569_57 == LOGICAL_AND_OPERATOR || LA569_57 == LOGICAL_OR_OPERATOR || ((LA569_57 >= MINUS_OPERATOR) && (LA569_57 <= MINUTE_SECOND_SYMBOL)) || ((LA569_57 >= MOD_OPERATOR) && (LA569_57 <= MOD_SYMBOL)) || ((LA569_57 >= MULT_OPERATOR) && (LA569_57 <= NATURAL_SYMBOL)) || LA569_57 == NCHAR_TEXT || ((LA569_57 >= NOT_EQUAL2_OPERATOR) && (LA569_57 <= NOT_SYMBOL)) || LA569_57 == NULL_SAFE_EQUAL_OPERATOR || LA569_57 == ON_SYMBOL || ((LA569_57 >= ORDER_SYMBOL) && (LA569_57 <= OR_SYMBOL)) || LA569_57 == PLUS_OPERATOR || LA569_57 == PROCEDURE_SYMBOL || LA569_57 == REGEXP_SYMBOL || LA569_57 == RENAME_SYMBOL || LA569_57 == RIGHT_SYMBOL || LA569_57 == SECOND_MICROSECOND_SYMBOL || LA569_57 == SEMICOLON_SYMBOL || LA569_57 == SEPARATOR_SYMBOL || LA569_57 == SET_SYMBOL || ((LA569_57 >= SHIFT_LEFT_OPERATOR) && (LA569_57 <= SHIFT_RIGHT_OPERATOR)) || LA569_57 == SINGLE_QUOTED_TEXT || LA569_57 == STRAIGHT_JOIN_SYMBOL || LA569_57 == THEN_SYMBOL || LA569_57 == UNDERSCORE_CHARSET || LA569_57 == UNION_SYMBOL || LA569_57 == USING_SYMBOL || ((LA569_57 >= WHEN_SYMBOL) && (LA569_57 <= WHERE_SYMBOL)) || LA569_57 == WITH_SYMBOL || ((LA569_57 >= XOR_SYMBOL) && (LA569_57 <= YEAR_MONTH_SYMBOL))))
                            {
                                alt569=2;
                            }
                            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        = 57;


                                goto ruleprimaryEx;

                            }
                        }
                    }
                    else if ( (LA569_0 == REVERSE_SYMBOL))
                    {
                        {
                            int LA569_58 = LA(2);
                            if ( (LA569_58 == OPEN_PAR_SYMBOL))
                            {
                                {
                                    int LA569_2610 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt569=3;
                                    }
                                    else if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt569=4;
                                    }
                                    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        = 2610;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA569_58 == DOT_SYMBOL))
                            {
                                {
                                    int LA569_2611 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt569=2;
                                    }
                                    else if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt569=4;
                                    }
                                    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        = 2611;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA569_58 == EOF || ((LA569_58 >= ACTION_SYMBOL) && (LA569_58 <= PARTITION_SYMBOL)) || ((LA569_58 >= AND_SYMBOL) && (LA569_58 <= ASC_SYMBOL)) || LA569_58 == AS_SYMBOL || LA569_58 == BACK_TICK_QUOTED_ID || LA569_58 == BETWEEN_SYMBOL || LA569_58 == BITWISE_AND_OPERATOR || ((LA569_58 >= BITWISE_OR_OPERATOR) && (LA569_58 <= BITWISE_XOR_OPERATOR)) || ((LA569_58 >= CLOSE_CURLY_SYMBOL) && (LA569_58 <= COLLATE_SYMBOL)) || LA569_58 == COMMA_SYMBOL || LA569_58 == CONCAT_PIPES_SYMBOL || LA569_58 == CROSS_SYMBOL || ((LA569_58 >= DAY_HOUR_SYMBOL) && (LA569_58 <= DAY_SECOND_SYMBOL)) || LA569_58 == DESC_SYMBOL || ((LA569_58 >= DIV_OPERATOR) && (LA569_58 <= DIV_SYMBOL)) || LA569_58 == DOUBLE_QUOTED_TEXT || LA569_58 == ELSE_SYMBOL || LA569_58 == EQUAL_OPERATOR || ((LA569_58 >= FOR_SYMBOL) && (LA569_58 <= FROM_SYMBOL)) || ((LA569_58 >= GREATER_OR_EQUAL_OPERATOR) && (LA569_58 <= GREATER_THAN_OPERATOR)) || ((LA569_58 >= GROUP_SYMBOL) && (LA569_58 <= HAVING_SYMBOL)) || ((LA569_58 >= HOUR_MICROSECOND_SYMBOL) && (LA569_58 <= IDENTIFIER)) || LA569_58 == INNER_SYMBOL || LA569_58 == INTO_SYMBOL || LA569_58 == IN_SYMBOL || LA569_58 == IS_SYMBOL || LA569_58 == JOIN_SYMBOL || ((LA569_58 >= LEFT_SYMBOL) && (LA569_58 <= LESS_THAN_OPERATOR)) || ((LA569_58 >= LIKE_SYMBOL) && (LA569_58 <= LIMIT_SYMBOL)) || LA569_58 == LOCK_SYMBOL || LA569_58 == LOGICAL_AND_OPERATOR || LA569_58 == LOGICAL_OR_OPERATOR || ((LA569_58 >= MINUS_OPERATOR) && (LA569_58 <= MINUTE_SECOND_SYMBOL)) || ((LA569_58 >= MOD_OPERATOR) && (LA569_58 <= MOD_SYMBOL)) || ((LA569_58 >= MULT_OPERATOR) && (LA569_58 <= NATURAL_SYMBOL)) || LA569_58 == NCHAR_TEXT || ((LA569_58 >= NOT_EQUAL2_OPERATOR) && (LA569_58 <= NOT_SYMBOL)) || LA569_58 == NULL_SAFE_EQUAL_OPERATOR || LA569_58 == ON_SYMBOL || ((LA569_58 >= ORDER_SYMBOL) && (LA569_58 <= OR_SYMBOL)) || LA569_58 == PLUS_OPERATOR || LA569_58 == PROCEDURE_SYMBOL || LA569_58 == REGEXP_SYMBOL || LA569_58 == RENAME_SYMBOL || LA569_58 == RIGHT_SYMBOL || LA569_58 == SECOND_MICROSECOND_SYMBOL || LA569_58 == SEMICOLON_SYMBOL || LA569_58 == SEPARATOR_SYMBOL || LA569_58 == SET_SYMBOL || ((LA569_58 >= SHIFT_LEFT_OPERATOR) && (LA569_58 <= SHIFT_RIGHT_OPERATOR)) || LA569_58 == SINGLE_QUOTED_TEXT || LA569_58 == STRAIGHT_JOIN_SYMBOL || LA569_58 == THEN_SYMBOL || LA569_58 == UNDERSCORE_CHARSET || LA569_58 == UNION_SYMBOL || LA569_58 == USING_SYMBOL || ((LA569_58 >= WHEN_SYMBOL) && (LA569_58 <= WHERE_SYMBOL)) || LA569_58 == WITH_SYMBOL || ((LA569_58 >= XOR_SYMBOL) && (LA569_58 <= YEAR_MONTH_SYMBOL))))
                            {
                                alt569=2;
                            }
                            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        = 58;


                                goto ruleprimaryEx;

                            }
                        }
                    }
                    else if ( (LA569_0 == ROW_COUNT_SYMBOL))
                    {
                        {
                            int LA569_61 = LA(2);
                            if ( (LA569_61 == DOT_SYMBOL))
                            {
                                {
                                    int LA569_2703 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt569=2;
                                    }
                                    else if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt569=4;
                                    }
                                    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        = 2703;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA569_61 == EOF || ((LA569_61 >= ACTION_SYMBOL) && (LA569_61 <= PARTITION_SYMBOL)) || ((LA569_61 >= AND_SYMBOL) && (LA569_61 <= ASC_SYMBOL)) || LA569_61 == AS_SYMBOL || LA569_61 == BACK_TICK_QUOTED_ID || LA569_61 == BETWEEN_SYMBOL || LA569_61 == BITWISE_AND_OPERATOR || ((LA569_61 >= BITWISE_OR_OPERATOR) && (LA569_61 <= BITWISE_XOR_OPERATOR)) || ((LA569_61 >= CLOSE_CURLY_SYMBOL) && (LA569_61 <= COLLATE_SYMBOL)) || LA569_61 == COMMA_SYMBOL || LA569_61 == CONCAT_PIPES_SYMBOL || LA569_61 == CROSS_SYMBOL || ((LA569_61 >= DAY_HOUR_SYMBOL) && (LA569_61 <= DAY_SECOND_SYMBOL)) || LA569_61 == DESC_SYMBOL || ((LA569_61 >= DIV_OPERATOR) && (LA569_61 <= DIV_SYMBOL)) || LA569_61 == DOUBLE_QUOTED_TEXT || LA569_61 == ELSE_SYMBOL || LA569_61 == EQUAL_OPERATOR || ((LA569_61 >= FOR_SYMBOL) && (LA569_61 <= FROM_SYMBOL)) || ((LA569_61 >= GREATER_OR_EQUAL_OPERATOR) && (LA569_61 <= GREATER_THAN_OPERATOR)) || ((LA569_61 >= GROUP_SYMBOL) && (LA569_61 <= HAVING_SYMBOL)) || ((LA569_61 >= HOUR_MICROSECOND_SYMBOL) && (LA569_61 <= IDENTIFIER)) || LA569_61 == INNER_SYMBOL || LA569_61 == INTO_SYMBOL || LA569_61 == IN_SYMBOL || LA569_61 == IS_SYMBOL || LA569_61 == JOIN_SYMBOL || ((LA569_61 >= LEFT_SYMBOL) && (LA569_61 <= LESS_THAN_OPERATOR)) || ((LA569_61 >= LIKE_SYMBOL) && (LA569_61 <= LIMIT_SYMBOL)) || LA569_61 == LOCK_SYMBOL || LA569_61 == LOGICAL_AND_OPERATOR || LA569_61 == LOGICAL_OR_OPERATOR || ((LA569_61 >= MINUS_OPERATOR) && (LA569_61 <= MINUTE_SECOND_SYMBOL)) || ((LA569_61 >= MOD_OPERATOR) && (LA569_61 <= MOD_SYMBOL)) || ((LA569_61 >= MULT_OPERATOR) && (LA569_61 <= NATURAL_SYMBOL)) || LA569_61 == NCHAR_TEXT || ((LA569_61 >= NOT_EQUAL2_OPERATOR) && (LA569_61 <= NOT_SYMBOL)) || LA569_61 == NULL_SAFE_EQUAL_OPERATOR || LA569_61 == ON_SYMBOL || ((LA569_61 >= ORDER_SYMBOL) && (LA569_61 <= OR_SYMBOL)) || LA569_61 == PLUS_OPERATOR || LA569_61 == PROCEDURE_SYMBOL || LA569_61 == REGEXP_SYMBOL || LA569_61 == RENAME_SYMBOL || LA569_61 == RIGHT_SYMBOL || LA569_61 == SECOND_MICROSECOND_SYMBOL || LA569_61 == SEMICOLON_SYMBOL || LA569_61 == SEPARATOR_SYMBOL || LA569_61 == SET_SYMBOL || ((LA569_61 >= SHIFT_LEFT_OPERATOR) && (LA569_61 <= SHIFT_RIGHT_OPERATOR)) || LA569_61 == SINGLE_QUOTED_TEXT || LA569_61 == STRAIGHT_JOIN_SYMBOL || LA569_61 == THEN_SYMBOL || LA569_61 == UNDERSCORE_CHARSET || LA569_61 == UNION_SYMBOL || LA569_61 == USING_SYMBOL || ((LA569_61 >= WHEN_SYMBOL) && (LA569_61 <= WHERE_SYMBOL)) || LA569_61 == WITH_SYMBOL || ((LA569_61 >= XOR_SYMBOL) && (LA569_61 <= YEAR_MONTH_SYMBOL))))
                            {
                                alt569=2;
                            }
                            else if ( (LA569_61 == OPEN_PAR_SYMBOL))
                            {
                                {
                                    int LA569_2795 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt569=3;
                                    }
                                    else if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt569=4;
                                    }
                                    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        = 2795;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            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        = 61;


                                goto ruleprimaryEx;

                            }
                        }
                    }
                    else if ( (LA569_0 == WEEK_SYMBOL))
                    {
                        {
                            int LA569_62 = LA(2);
                            if ( (LA569_62 == OPEN_PAR_SYMBOL))
                            {
                                {
                                    int LA569_2796 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt569=3;
                                    }
                                    else if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt569=4;
                                    }
                                    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        = 2796;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA569_62 == DOT_SYMBOL))
                            {
                                {
                                    int LA569_2797 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt569=2;
                                    }
                                    else if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt569=4;
                                    }
                                    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        = 2797;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA569_62 == EOF || ((LA569_62 >= ACTION_SYMBOL) && (LA569_62 <= PARTITION_SYMBOL)) || ((LA569_62 >= AND_SYMBOL) && (LA569_62 <= ASC_SYMBOL)) || LA569_62 == AS_SYMBOL || LA569_62 == BACK_TICK_QUOTED_ID || LA569_62 == BETWEEN_SYMBOL || LA569_62 == BITWISE_AND_OPERATOR || ((LA569_62 >= BITWISE_OR_OPERATOR) && (LA569_62 <= BITWISE_XOR_OPERATOR)) || ((LA569_62 >= CLOSE_CURLY_SYMBOL) && (LA569_62 <= COLLATE_SYMBOL)) || LA569_62 == COMMA_SYMBOL || LA569_62 == CONCAT_PIPES_SYMBOL || LA569_62 == CROSS_SYMBOL || ((LA569_62 >= DAY_HOUR_SYMBOL) && (LA569_62 <= DAY_SECOND_SYMBOL)) || LA569_62 == DESC_SYMBOL || ((LA569_62 >= DIV_OPERATOR) && (LA569_62 <= DIV_SYMBOL)) || LA569_62 == DOUBLE_QUOTED_TEXT || LA569_62 == ELSE_SYMBOL || LA569_62 == EQUAL_OPERATOR || ((LA569_62 >= FOR_SYMBOL) && (LA569_62 <= FROM_SYMBOL)) || ((LA569_62 >= GREATER_OR_EQUAL_OPERATOR) && (LA569_62 <= GREATER_THAN_OPERATOR)) || ((LA569_62 >= GROUP_SYMBOL) && (LA569_62 <= HAVING_SYMBOL)) || ((LA569_62 >= HOUR_MICROSECOND_SYMBOL) && (LA569_62 <= IDENTIFIER)) || LA569_62 == INNER_SYMBOL || LA569_62 == INTO_SYMBOL || LA569_62 == IN_SYMBOL || LA569_62 == IS_SYMBOL || LA569_62 == JOIN_SYMBOL || ((LA569_62 >= LEFT_SYMBOL) && (LA569_62 <= LESS_THAN_OPERATOR)) || ((LA569_62 >= LIKE_SYMBOL) && (LA569_62 <= LIMIT_SYMBOL)) || LA569_62 == LOCK_SYMBOL || LA569_62 == LOGICAL_AND_OPERATOR || LA569_62 == LOGICAL_OR_OPERATOR || ((LA569_62 >= MINUS_OPERATOR) && (LA569_62 <= MINUTE_SECOND_SYMBOL)) || ((LA569_62 >= MOD_OPERATOR) && (LA569_62 <= MOD_SYMBOL)) || ((LA569_62 >= MULT_OPERATOR) && (LA569_62 <= NATURAL_SYMBOL)) || LA569_62 == NCHAR_TEXT || ((LA569_62 >= NOT_EQUAL2_OPERATOR) && (LA569_62 <= NOT_SYMBOL)) || LA569_62 == NULL_SAFE_EQUAL_OPERATOR || LA569_62 == ON_SYMBOL || ((LA569_62 >= ORDER_SYMBOL) && (LA569_62 <= OR_SYMBOL)) || LA569_62 == PLUS_OPERATOR || LA569_62 == PROCEDURE_SYMBOL || LA569_62 == REGEXP_SYMBOL || LA569_62 == RENAME_SYMBOL || LA569_62 == RIGHT_SYMBOL || LA569_62 == SECOND_MICROSECOND_SYMBOL || LA569_62 == SEMICOLON_SYMBOL || LA569_62 == SEPARATOR_SYMBOL || LA569_62 == SET_SYMBOL || ((LA569_62 >= SHIFT_LEFT_OPERATOR) && (LA569_62 <= SHIFT_RIGHT_OPERATOR)) || LA569_62 == SINGLE_QUOTED_TEXT || LA569_62 == STRAIGHT_JOIN_SYMBOL || LA569_62 == THEN_SYMBOL || LA569_62 == UNDERSCORE_CHARSET || LA569_62 == UNION_SYMBOL || LA569_62 == USING_SYMBOL || ((LA569_62 >= WHEN_SYMBOL) && (LA569_62 <= WHERE_SYMBOL)) || LA569_62 == WITH_SYMBOL || ((LA569_62 >= XOR_SYMBOL) && (LA569_62 <= YEAR_MONTH_SYMBOL))))
                            {
                                alt569=2;
                            }
                            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        = 62;


                                goto ruleprimaryEx;

                            }
                        }
                    }
                    else if ( (LA569_0 == CONTAINS_SYMBOL))
                    {
                        {
                            int LA569_63 = LA(2);
                            if ( (LA569_63 == OPEN_PAR_SYMBOL))
                            {
                                {
                                    int LA569_2889 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt569=3;
                                    }
                                    else if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt569=4;
                                    }
                                    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        = 2889;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA569_63 == DOT_SYMBOL))
                            {
                                {
                                    int LA569_2890 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt569=2;
                                    }
                                    else if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt569=4;
                                    }
                                    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        = 2890;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA569_63 == EOF || ((LA569_63 >= ACTION_SYMBOL) && (LA569_63 <= PARTITION_SYMBOL)) || ((LA569_63 >= AND_SYMBOL) && (LA569_63 <= ASC_SYMBOL)) || LA569_63 == AS_SYMBOL || LA569_63 == BACK_TICK_QUOTED_ID || LA569_63 == BETWEEN_SYMBOL || LA569_63 == BITWISE_AND_OPERATOR || ((LA569_63 >= BITWISE_OR_OPERATOR) && (LA569_63 <= BITWISE_XOR_OPERATOR)) || ((LA569_63 >= CLOSE_CURLY_SYMBOL) && (LA569_63 <= COLLATE_SYMBOL)) || LA569_63 == COMMA_SYMBOL || LA569_63 == CONCAT_PIPES_SYMBOL || LA569_63 == CROSS_SYMBOL || ((LA569_63 >= DAY_HOUR_SYMBOL) && (LA569_63 <= DAY_SECOND_SYMBOL)) || LA569_63 == DESC_SYMBOL || ((LA569_63 >= DIV_OPERATOR) && (LA569_63 <= DIV_SYMBOL)) || LA569_63 == DOUBLE_QUOTED_TEXT || LA569_63 == ELSE_SYMBOL || LA569_63 == EQUAL_OPERATOR || ((LA569_63 >= FOR_SYMBOL) && (LA569_63 <= FROM_SYMBOL)) || ((LA569_63 >= GREATER_OR_EQUAL_OPERATOR) && (LA569_63 <= GREATER_THAN_OPERATOR)) || ((LA569_63 >= GROUP_SYMBOL) && (LA569_63 <= HAVING_SYMBOL)) || ((LA569_63 >= HOUR_MICROSECOND_SYMBOL) && (LA569_63 <= IDENTIFIER)) || LA569_63 == INNER_SYMBOL || LA569_63 == INTO_SYMBOL || LA569_63 == IN_SYMBOL || LA569_63 == IS_SYMBOL || LA569_63 == JOIN_SYMBOL || ((LA569_63 >= LEFT_SYMBOL) && (LA569_63 <= LESS_THAN_OPERATOR)) || ((LA569_63 >= LIKE_SYMBOL) && (LA569_63 <= LIMIT_SYMBOL)) || LA569_63 == LOCK_SYMBOL || LA569_63 == LOGICAL_AND_OPERATOR || LA569_63 == LOGICAL_OR_OPERATOR || ((LA569_63 >= MINUS_OPERATOR) && (LA569_63 <= MINUTE_SECOND_SYMBOL)) || ((LA569_63 >= MOD_OPERATOR) && (LA569_63 <= MOD_SYMBOL)) || ((LA569_63 >= MULT_OPERATOR) && (LA569_63 <= NATURAL_SYMBOL)) || LA569_63 == NCHAR_TEXT || ((LA569_63 >= NOT_EQUAL2_OPERATOR) && (LA569_63 <= NOT_SYMBOL)) || LA569_63 == NULL_SAFE_EQUAL_OPERATOR || LA569_63 == ON_SYMBOL || ((LA569_63 >= ORDER_SYMBOL) && (LA569_63 <= OR_SYMBOL)) || LA569_63 == PLUS_OPERATOR || LA569_63 == PROCEDURE_SYMBOL || LA569_63 == REGEXP_SYMBOL || LA569_63 == RENAME_SYMBOL || LA569_63 == RIGHT_SYMBOL || LA569_63 == SECOND_MICROSECOND_SYMBOL || LA569_63 == SEMICOLON_SYMBOL || LA569_63 == SEPARATOR_SYMBOL || LA569_63 == SET_SYMBOL || ((LA569_63 >= SHIFT_LEFT_OPERATOR) && (LA569_63 <= SHIFT_RIGHT_OPERATOR)) || LA569_63 == SINGLE_QUOTED_TEXT || LA569_63 == STRAIGHT_JOIN_SYMBOL || LA569_63 == THEN_SYMBOL || LA569_63 == UNDERSCORE_CHARSET || LA569_63 == UNION_SYMBOL || LA569_63 == USING_SYMBOL || ((LA569_63 >= WHEN_SYMBOL) && (LA569_63 <= WHERE_SYMBOL)) || LA569_63 == WITH_SYMBOL || ((LA569_63 >= XOR_SYMBOL) && (LA569_63 <= YEAR_MONTH_SYMBOL))))
                            {
                                alt569=2;
                            }
                            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        = 63;


                                goto ruleprimaryEx;

                            }
                        }
                    }
                    else if ( (LA569_0 == WEIGHT_STRING_SYMBOL))
                    {
                        {
                            int LA569_64 = LA(2);
                            if ( ((SERVER_VERSION >= 50600)) && (LA569_64 == OPEN_PAR_SYMBOL))
                            {
                                {
                                    int LA569_2982 = LA(3);
                                    if ( ((SERVER_VERSION >= 50600)))
                                    {
                                        alt569=3;
                                    }
                                    else if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt569=4;
                                    }
                                    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        = 2982;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA569_64 == DOT_SYMBOL))
                            {
                                {
                                    int LA569_2983 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt569=2;
                                    }
                                    else if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt569=4;
                                    }
                                    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        = 2983;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA569_64 == EOF || ((LA569_64 >= ACTION_SYMBOL) && (LA569_64 <= PARTITION_SYMBOL)) || ((LA569_64 >= AND_SYMBOL) && (LA569_64 <= ASC_SYMBOL)) || LA569_64 == AS_SYMBOL || LA569_64 == BACK_TICK_QUOTED_ID || LA569_64 == BETWEEN_SYMBOL || LA569_64 == BITWISE_AND_OPERATOR || ((LA569_64 >= BITWISE_OR_OPERATOR) && (LA569_64 <= BITWISE_XOR_OPERATOR)) || ((LA569_64 >= CLOSE_CURLY_SYMBOL) && (LA569_64 <= COLLATE_SYMBOL)) || LA569_64 == COMMA_SYMBOL || LA569_64 == CONCAT_PIPES_SYMBOL || LA569_64 == CROSS_SYMBOL || ((LA569_64 >= DAY_HOUR_SYMBOL) && (LA569_64 <= DAY_SECOND_SYMBOL)) || LA569_64 == DESC_SYMBOL || ((LA569_64 >= DIV_OPERATOR) && (LA569_64 <= DIV_SYMBOL)) || LA569_64 == DOUBLE_QUOTED_TEXT || LA569_64 == ELSE_SYMBOL || LA569_64 == EQUAL_OPERATOR || ((LA569_64 >= FOR_SYMBOL) && (LA569_64 <= FROM_SYMBOL)) || ((LA569_64 >= GREATER_OR_EQUAL_OPERATOR) && (LA569_64 <= GREATER_THAN_OPERATOR)) || ((LA569_64 >= GROUP_SYMBOL) && (LA569_64 <= HAVING_SYMBOL)) || ((LA569_64 >= HOUR_MICROSECOND_SYMBOL) && (LA569_64 <= IDENTIFIER)) || LA569_64 == INNER_SYMBOL || LA569_64 == INTO_SYMBOL || LA569_64 == IN_SYMBOL || LA569_64 == IS_SYMBOL || LA569_64 == JOIN_SYMBOL || ((LA569_64 >= LEFT_SYMBOL) && (LA569_64 <= LESS_THAN_OPERATOR)) || ((LA569_64 >= LIKE_SYMBOL) && (LA569_64 <= LIMIT_SYMBOL)) || LA569_64 == LOCK_SYMBOL || LA569_64 == LOGICAL_AND_OPERATOR || LA569_64 == LOGICAL_OR_OPERATOR || ((LA569_64 >= MINUS_OPERATOR) && (LA569_64 <= MINUTE_SECOND_SYMBOL)) || ((LA569_64 >= MOD_OPERATOR) && (LA569_64 <= MOD_SYMBOL)) || ((LA569_64 >= MULT_OPERATOR) && (LA569_64 <= NATURAL_SYMBOL)) || LA569_64 == NCHAR_TEXT || ((LA569_64 >= NOT_EQUAL2_OPERATOR) && (LA569_64 <= NOT_SYMBOL)) || LA569_64 == NULL_SAFE_EQUAL_OPERATOR || LA569_64 == ON_SYMBOL || ((LA569_64 >= ORDER_SYMBOL) && (LA569_64 <= OR_SYMBOL)) || LA569_64 == PLUS_OPERATOR || LA569_64 == PROCEDURE_SYMBOL || LA569_64 == REGEXP_SYMBOL || LA569_64 == RENAME_SYMBOL || LA569_64 == RIGHT_SYMBOL || LA569_64 == SECOND_MICROSECOND_SYMBOL || LA569_64 == SEMICOLON_SYMBOL || LA569_64 == SEPARATOR_SYMBOL || LA569_64 == SET_SYMBOL || ((LA569_64 >= SHIFT_LEFT_OPERATOR) && (LA569_64 <= SHIFT_RIGHT_OPERATOR)) || LA569_64 == SINGLE_QUOTED_TEXT || LA569_64 == STRAIGHT_JOIN_SYMBOL || LA569_64 == THEN_SYMBOL || LA569_64 == UNDERSCORE_CHARSET || LA569_64 == UNION_SYMBOL || LA569_64 == USING_SYMBOL || ((LA569_64 >= WHEN_SYMBOL) && (LA569_64 <= WHERE_SYMBOL)) || LA569_64 == WITH_SYMBOL || ((LA569_64 >= XOR_SYMBOL) && (LA569_64 <= YEAR_MONTH_SYMBOL))))
                            {
                                alt569=2;
                            }
                            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        = 64;


                                goto ruleprimaryEx;

                            }
                        }
                    }
                    else if ( (LA569_0 == GEOMETRYCOLLECTION_SYMBOL))
                    {
                        {
                            int LA569_65 = LA(2);
                            if ( (LA569_65 == DOT_SYMBOL))
                            {
                                {
                                    int LA569_3075 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt569=2;
                                    }
                                    else if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt569=4;
                                    }
                                    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        = 3075;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA569_65 == EOF || ((LA569_65 >= ACTION_SYMBOL) && (LA569_65 <= PARTITION_SYMBOL)) || ((LA569_65 >= AND_SYMBOL) && (LA569_65 <= ASC_SYMBOL)) || LA569_65 == AS_SYMBOL || LA569_65 == BACK_TICK_QUOTED_ID || LA569_65 == BETWEEN_SYMBOL || LA569_65 == BITWISE_AND_OPERATOR || ((LA569_65 >= BITWISE_OR_OPERATOR) && (LA569_65 <= BITWISE_XOR_OPERATOR)) || ((LA569_65 >= CLOSE_CURLY_SYMBOL) && (LA569_65 <= COLLATE_SYMBOL)) || LA569_65 == COMMA_SYMBOL || LA569_65 == CONCAT_PIPES_SYMBOL || LA569_65 == CROSS_SYMBOL || ((LA569_65 >= DAY_HOUR_SYMBOL) && (LA569_65 <= DAY_SECOND_SYMBOL)) || LA569_65 == DESC_SYMBOL || ((LA569_65 >= DIV_OPERATOR) && (LA569_65 <= DIV_SYMBOL)) || LA569_65 == DOUBLE_QUOTED_TEXT || LA569_65 == ELSE_SYMBOL || LA569_65 == EQUAL_OPERATOR || ((LA569_65 >= FOR_SYMBOL) && (LA569_65 <= FROM_SYMBOL)) || ((LA569_65 >= GREATER_OR_EQUAL_OPERATOR) && (LA569_65 <= GREATER_THAN_OPERATOR)) || ((LA569_65 >= GROUP_SYMBOL) && (LA569_65 <= HAVING_SYMBOL)) || ((LA569_65 >= HOUR_MICROSECOND_SYMBOL) && (LA569_65 <= IDENTIFIER)) || LA569_65 == INNER_SYMBOL || LA569_65 == INTO_SYMBOL || LA569_65 == IN_SYMBOL || LA569_65 == IS_SYMBOL || LA569_65 == JOIN_SYMBOL || ((LA569_65 >= LEFT_SYMBOL) && (LA569_65 <= LESS_THAN_OPERATOR)) || ((LA569_65 >= LIKE_SYMBOL) && (LA569_65 <= LIMIT_SYMBOL)) || LA569_65 == LOCK_SYMBOL || LA569_65 == LOGICAL_AND_OPERATOR || LA569_65 == LOGICAL_OR_OPERATOR || ((LA569_65 >= MINUS_OPERATOR) && (LA569_65 <= MINUTE_SECOND_SYMBOL)) || ((LA569_65 >= MOD_OPERATOR) && (LA569_65 <= MOD_SYMBOL)) || ((LA569_65 >= MULT_OPERATOR) && (LA569_65 <= NATURAL_SYMBOL)) || LA569_65 == NCHAR_TEXT || ((LA569_65 >= NOT_EQUAL2_OPERATOR) && (LA569_65 <= NOT_SYMBOL)) || LA569_65 == NULL_SAFE_EQUAL_OPERATOR || LA569_65 == ON_SYMBOL || ((LA569_65 >= ORDER_SYMBOL) && (LA569_65 <= OR_SYMBOL)) || LA569_65 == PLUS_OPERATOR || LA569_65 == PROCEDURE_SYMBOL || LA569_65 == REGEXP_SYMBOL || LA569_65 == RENAME_SYMBOL || LA569_65 == RIGHT_SYMBOL || LA569_65 == SECOND_MICROSECOND_SYMBOL || LA569_65 == SEMICOLON_SYMBOL || LA569_65 == SEPARATOR_SYMBOL || LA569_65 == SET_SYMBOL || ((LA569_65 >= SHIFT_LEFT_OPERATOR) && (LA569_65 <= SHIFT_RIGHT_OPERATOR)) || LA569_65 == SINGLE_QUOTED_TEXT || LA569_65 == STRAIGHT_JOIN_SYMBOL || LA569_65 == THEN_SYMBOL || LA569_65 == UNDERSCORE_CHARSET || LA569_65 == UNION_SYMBOL || LA569_65 == USING_SYMBOL || ((LA569_65 >= WHEN_SYMBOL) && (LA569_65 <= WHERE_SYMBOL)) || LA569_65 == WITH_SYMBOL || ((LA569_65 >= XOR_SYMBOL) && (LA569_65 <= YEAR_MONTH_SYMBOL))))
                            {
                                alt569=2;
                            }
                            else if ( (LA569_65 == OPEN_PAR_SYMBOL))
                            {
                                {
                                    int LA569_3167 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt569=3;
                                    }
                                    else if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt569=4;
                                    }
                                    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        = 3167;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            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        = 65;


                                goto ruleprimaryEx;

                            }
                        }
                    }
                    else if ( (((LA569_0 >= BACKUP_SYMBOL) && (LA569_0 <= CACHE_SYMBOL)) || ((LA569_0 >= CHECKSUM_SYMBOL) && (LA569_0 <= COMMIT_SYMBOL)) || ((LA569_0 >= DEALLOCATE_SYMBOL) && (LA569_0 <= FLUSH_SYMBOL)) || ((LA569_0 >= HANDLER_SYMBOL) && (LA569_0 <= STOP_SYMBOL)) || ((LA569_0 >= UNICODE_SYMBOL) && (LA569_0 <= XA_SYMBOL))))
                    {
                        {
                            int LA569_66 = LA(2);
                            if ( (LA569_66 == DOT_SYMBOL))
                            {
                                {
                                    int LA569_3168 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt569=2;
                                    }
                                    else if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt569=4;
                                    }
                                    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        = 3168;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA569_66 == EOF || ((LA569_66 >= ACTION_SYMBOL) && (LA569_66 <= PARTITION_SYMBOL)) || ((LA569_66 >= AND_SYMBOL) && (LA569_66 <= ASC_SYMBOL)) || LA569_66 == AS_SYMBOL || LA569_66 == BACK_TICK_QUOTED_ID || LA569_66 == BETWEEN_SYMBOL || LA569_66 == BITWISE_AND_OPERATOR || ((LA569_66 >= BITWISE_OR_OPERATOR) && (LA569_66 <= BITWISE_XOR_OPERATOR)) || ((LA569_66 >= CLOSE_CURLY_SYMBOL) && (LA569_66 <= COLLATE_SYMBOL)) || LA569_66 == COMMA_SYMBOL || LA569_66 == CONCAT_PIPES_SYMBOL || LA569_66 == CROSS_SYMBOL || ((LA569_66 >= DAY_HOUR_SYMBOL) && (LA569_66 <= DAY_SECOND_SYMBOL)) || LA569_66 == DESC_SYMBOL || ((LA569_66 >= DIV_OPERATOR) && (LA569_66 <= DIV_SYMBOL)) || LA569_66 == DOUBLE_QUOTED_TEXT || LA569_66 == ELSE_SYMBOL || LA569_66 == EQUAL_OPERATOR || ((LA569_66 >= FOR_SYMBOL) && (LA569_66 <= FROM_SYMBOL)) || ((LA569_66 >= GREATER_OR_EQUAL_OPERATOR) && (LA569_66 <= GREATER_THAN_OPERATOR)) || ((LA569_66 >= GROUP_SYMBOL) && (LA569_66 <= HAVING_SYMBOL)) || ((LA569_66 >= HOUR_MICROSECOND_SYMBOL) && (LA569_66 <= IDENTIFIER)) || LA569_66 == INNER_SYMBOL || LA569_66 == INTO_SYMBOL || LA569_66 == IN_SYMBOL || LA569_66 == IS_SYMBOL || LA569_66 == JOIN_SYMBOL || ((LA569_66 >= LEFT_SYMBOL) && (LA569_66 <= LESS_THAN_OPERATOR)) || ((LA569_66 >= LIKE_SYMBOL) && (LA569_66 <= LIMIT_SYMBOL)) || LA569_66 == LOCK_SYMBOL || LA569_66 == LOGICAL_AND_OPERATOR || LA569_66 == LOGICAL_OR_OPERATOR || ((LA569_66 >= MINUS_OPERATOR) && (LA569_66 <= MINUTE_SECOND_SYMBOL)) || ((LA569_66 >= MOD_OPERATOR) && (LA569_66 <= MOD_SYMBOL)) || ((LA569_66 >= MULT_OPERATOR) && (LA569_66 <= NATURAL_SYMBOL)) || LA569_66 == NCHAR_TEXT || ((LA569_66 >= NOT_EQUAL2_OPERATOR) && (LA569_66 <= NOT_SYMBOL)) || LA569_66 == NULL_SAFE_EQUAL_OPERATOR || LA569_66 == ON_SYMBOL || ((LA569_66 >= ORDER_SYMBOL) && (LA569_66 <= OR_SYMBOL)) || LA569_66 == PLUS_OPERATOR || LA569_66 == PROCEDURE_SYMBOL || LA569_66 == REGEXP_SYMBOL || LA569_66 == RENAME_SYMBOL || LA569_66 == RIGHT_SYMBOL || LA569_66 == SECOND_MICROSECOND_SYMBOL || LA569_66 == SEMICOLON_SYMBOL || LA569_66 == SEPARATOR_SYMBOL || LA569_66 == SET_SYMBOL || ((LA569_66 >= SHIFT_LEFT_OPERATOR) && (LA569_66 <= SHIFT_RIGHT_OPERATOR)) || LA569_66 == SINGLE_QUOTED_TEXT || LA569_66 == STRAIGHT_JOIN_SYMBOL || LA569_66 == THEN_SYMBOL || LA569_66 == UNDERSCORE_CHARSET || LA569_66 == UNION_SYMBOL || LA569_66 == USING_SYMBOL || ((LA569_66 >= WHEN_SYMBOL) && (LA569_66 <= WHERE_SYMBOL)) || LA569_66 == WITH_SYMBOL || ((LA569_66 >= XOR_SYMBOL) && (LA569_66 <= YEAR_MONTH_SYMBOL))))
                            {
                                alt569=2;
                            }
                            else if ( (synpred3_MySQL(ctx)) && (LA569_66 == OPEN_PAR_SYMBOL))
                            {
                                alt569=4;
                            }
                            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        = 66;


                                goto ruleprimaryEx;

                            }
                        }
                    }
                    else if ( (LA569_0 == LINESTRING_SYMBOL))
                    {
                        {
                            int LA569_67 = LA(2);
                            if ( (LA569_67 == DOT_SYMBOL))
                            {
                                {
                                    int LA569_3261 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt569=2;
                                    }
                                    else if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt569=4;
                                    }
                                    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        = 3261;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA569_67 == EOF || ((LA569_67 >= ACTION_SYMBOL) && (LA569_67 <= PARTITION_SYMBOL)) || ((LA569_67 >= AND_SYMBOL) && (LA569_67 <= ASC_SYMBOL)) || LA569_67 == AS_SYMBOL || LA569_67 == BACK_TICK_QUOTED_ID || LA569_67 == BETWEEN_SYMBOL || LA569_67 == BITWISE_AND_OPERATOR || ((LA569_67 >= BITWISE_OR_OPERATOR) && (LA569_67 <= BITWISE_XOR_OPERATOR)) || ((LA569_67 >= CLOSE_CURLY_SYMBOL) && (LA569_67 <= COLLATE_SYMBOL)) || LA569_67 == COMMA_SYMBOL || LA569_67 == CONCAT_PIPES_SYMBOL || LA569_67 == CROSS_SYMBOL || ((LA569_67 >= DAY_HOUR_SYMBOL) && (LA569_67 <= DAY_SECOND_SYMBOL)) || LA569_67 == DESC_SYMBOL || ((LA569_67 >= DIV_OPERATOR) && (LA569_67 <= DIV_SYMBOL)) || LA569_67 == DOUBLE_QUOTED_TEXT || LA569_67 == ELSE_SYMBOL || LA569_67 == EQUAL_OPERATOR || ((LA569_67 >= FOR_SYMBOL) && (LA569_67 <= FROM_SYMBOL)) || ((LA569_67 >= GREATER_OR_EQUAL_OPERATOR) && (LA569_67 <= GREATER_THAN_OPERATOR)) || ((LA569_67 >= GROUP_SYMBOL) && (LA569_67 <= HAVING_SYMBOL)) || ((LA569_67 >= HOUR_MICROSECOND_SYMBOL) && (LA569_67 <= IDENTIFIER)) || LA569_67 == INNER_SYMBOL || LA569_67 == INTO_SYMBOL || LA569_67 == IN_SYMBOL || LA569_67 == IS_SYMBOL || LA569_67 == JOIN_SYMBOL || ((LA569_67 >= LEFT_SYMBOL) && (LA569_67 <= LESS_THAN_OPERATOR)) || ((LA569_67 >= LIKE_SYMBOL) && (LA569_67 <= LIMIT_SYMBOL)) || LA569_67 == LOCK_SYMBOL || LA569_67 == LOGICAL_AND_OPERATOR || LA569_67 == LOGICAL_OR_OPERATOR || ((LA569_67 >= MINUS_OPERATOR) && (LA569_67 <= MINUTE_SECOND_SYMBOL)) || ((LA569_67 >= MOD_OPERATOR) && (LA569_67 <= MOD_SYMBOL)) || ((LA569_67 >= MULT_OPERATOR) && (LA569_67 <= NATURAL_SYMBOL)) || LA569_67 == NCHAR_TEXT || ((LA569_67 >= NOT_EQUAL2_OPERATOR) && (LA569_67 <= NOT_SYMBOL)) || LA569_67 == NULL_SAFE_EQUAL_OPERATOR || LA569_67 == ON_SYMBOL || ((LA569_67 >= ORDER_SYMBOL) && (LA569_67 <= OR_SYMBOL)) || LA569_67 == PLUS_OPERATOR || LA569_67 == PROCEDURE_SYMBOL || LA569_67 == REGEXP_SYMBOL || LA569_67 == RENAME_SYMBOL || LA569_67 == RIGHT_SYMBOL || LA569_67 == SECOND_MICROSECOND_SYMBOL || LA569_67 == SEMICOLON_SYMBOL || LA569_67 == SEPARATOR_SYMBOL || LA569_67 == SET_SYMBOL || ((LA569_67 >= SHIFT_LEFT_OPERATOR) && (LA569_67 <= SHIFT_RIGHT_OPERATOR)) || LA569_67 == SINGLE_QUOTED_TEXT || LA569_67 == STRAIGHT_JOIN_SYMBOL || LA569_67 == THEN_SYMBOL || LA569_67 == UNDERSCORE_CHARSET || LA569_67 == UNION_SYMBOL || LA569_67 == USING_SYMBOL || ((LA569_67 >= WHEN_SYMBOL) && (LA569_67 <= WHERE_SYMBOL)) || LA569_67 == WITH_SYMBOL || ((LA569_67 >= XOR_SYMBOL) && (LA569_67 <= YEAR_MONTH_SYMBOL))))
                            {
                                alt569=2;
                            }
                            else if ( (LA569_67 == OPEN_PAR_SYMBOL))
                            {
                                {
                                    int LA569_3353 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt569=3;
                                    }
                                    else if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt569=4;
                                    }
                                    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        = 3353;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            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        = 67;


                                goto ruleprimaryEx;

                            }
                        }
                    }
                    else if ( (LA569_0 == MULTILINESTRING_SYMBOL))
                    {
                        {
                            int LA569_68 = LA(2);
                            if ( (LA569_68 == DOT_SYMBOL))
                            {
                                {
                                    int LA569_3354 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt569=2;
                                    }
                                    else if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt569=4;
                                    }
                                    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        = 3354;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA569_68 == EOF || ((LA569_68 >= ACTION_SYMBOL) && (LA569_68 <= PARTITION_SYMBOL)) || ((LA569_68 >= AND_SYMBOL) && (LA569_68 <= ASC_SYMBOL)) || LA569_68 == AS_SYMBOL || LA569_68 == BACK_TICK_QUOTED_ID || LA569_68 == BETWEEN_SYMBOL || LA569_68 == BITWISE_AND_OPERATOR || ((LA569_68 >= BITWISE_OR_OPERATOR) && (LA569_68 <= BITWISE_XOR_OPERATOR)) || ((LA569_68 >= CLOSE_CURLY_SYMBOL) && (LA569_68 <= COLLATE_SYMBOL)) || LA569_68 == COMMA_SYMBOL || LA569_68 == CONCAT_PIPES_SYMBOL || LA569_68 == CROSS_SYMBOL || ((LA569_68 >= DAY_HOUR_SYMBOL) && (LA569_68 <= DAY_SECOND_SYMBOL)) || LA569_68 == DESC_SYMBOL || ((LA569_68 >= DIV_OPERATOR) && (LA569_68 <= DIV_SYMBOL)) || LA569_68 == DOUBLE_QUOTED_TEXT || LA569_68 == ELSE_SYMBOL || LA569_68 == EQUAL_OPERATOR || ((LA569_68 >= FOR_SYMBOL) && (LA569_68 <= FROM_SYMBOL)) || ((LA569_68 >= GREATER_OR_EQUAL_OPERATOR) && (LA569_68 <= GREATER_THAN_OPERATOR)) || ((LA569_68 >= GROUP_SYMBOL) && (LA569_68 <= HAVING_SYMBOL)) || ((LA569_68 >= HOUR_MICROSECOND_SYMBOL) && (LA569_68 <= IDENTIFIER)) || LA569_68 == INNER_SYMBOL || LA569_68 == INTO_SYMBOL || LA569_68 == IN_SYMBOL || LA569_68 == IS_SYMBOL || LA569_68 == JOIN_SYMBOL || ((LA569_68 >= LEFT_SYMBOL) && (LA569_68 <= LESS_THAN_OPERATOR)) || ((LA569_68 >= LIKE_SYMBOL) && (LA569_68 <= LIMIT_SYMBOL)) || LA569_68 == LOCK_SYMBOL || LA569_68 == LOGICAL_AND_OPERATOR || LA569_68 == LOGICAL_OR_OPERATOR || ((LA569_68 >= MINUS_OPERATOR) && (LA569_68 <= MINUTE_SECOND_SYMBOL)) || ((LA569_68 >= MOD_OPERATOR) && (LA569_68 <= MOD_SYMBOL)) || ((LA569_68 >= MULT_OPERATOR) && (LA569_68 <= NATURAL_SYMBOL)) || LA569_68 == NCHAR_TEXT || ((LA569_68 >= NOT_EQUAL2_OPERATOR) && (LA569_68 <= NOT_SYMBOL)) || LA569_68 == NULL_SAFE_EQUAL_OPERATOR || LA569_68 == ON_SYMBOL || ((LA569_68 >= ORDER_SYMBOL) && (LA569_68 <= OR_SYMBOL)) || LA569_68 == PLUS_OPERATOR || LA569_68 == PROCEDURE_SYMBOL || LA569_68 == REGEXP_SYMBOL || LA569_68 == RENAME_SYMBOL || LA569_68 == RIGHT_SYMBOL || LA569_68 == SECOND_MICROSECOND_SYMBOL || LA569_68 == SEMICOLON_SYMBOL || LA569_68 == SEPARATOR_SYMBOL || LA569_68 == SET_SYMBOL || ((LA569_68 >= SHIFT_LEFT_OPERATOR) && (LA569_68 <= SHIFT_RIGHT_OPERATOR)) || LA569_68 == SINGLE_QUOTED_TEXT || LA569_68 == STRAIGHT_JOIN_SYMBOL || LA569_68 == THEN_SYMBOL || LA569_68 == UNDERSCORE_CHARSET || LA569_68 == UNION_SYMBOL || LA569_68 == USING_SYMBOL || ((LA569_68 >= WHEN_SYMBOL) && (LA569_68 <= WHERE_SYMBOL)) || LA569_68 == WITH_SYMBOL || ((LA569_68 >= XOR_SYMBOL) && (LA569_68 <= YEAR_MONTH_SYMBOL))))
                            {
                                alt569=2;
                            }
                            else if ( (LA569_68 == OPEN_PAR_SYMBOL))
                            {
                                {
                                    int LA569_3446 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt569=3;
                                    }
                                    else if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt569=4;
                                    }
                                    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        = 3446;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            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        = 68;


                                goto ruleprimaryEx;

                            }
                        }
                    }
                    else if ( (LA569_0 == MULTIPOINT_SYMBOL))
                    {
                        {
                            int LA569_69 = LA(2);
                            if ( (LA569_69 == DOT_SYMBOL))
                            {
                                {
                                    int LA569_3447 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt569=2;
                                    }
                                    else if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt569=4;
                                    }
                                    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        = 3447;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA569_69 == EOF || ((LA569_69 >= ACTION_SYMBOL) && (LA569_69 <= PARTITION_SYMBOL)) || ((LA569_69 >= AND_SYMBOL) && (LA569_69 <= ASC_SYMBOL)) || LA569_69 == AS_SYMBOL || LA569_69 == BACK_TICK_QUOTED_ID || LA569_69 == BETWEEN_SYMBOL || LA569_69 == BITWISE_AND_OPERATOR || ((LA569_69 >= BITWISE_OR_OPERATOR) && (LA569_69 <= BITWISE_XOR_OPERATOR)) || ((LA569_69 >= CLOSE_CURLY_SYMBOL) && (LA569_69 <= COLLATE_SYMBOL)) || LA569_69 == COMMA_SYMBOL || LA569_69 == CONCAT_PIPES_SYMBOL || LA569_69 == CROSS_SYMBOL || ((LA569_69 >= DAY_HOUR_SYMBOL) && (LA569_69 <= DAY_SECOND_SYMBOL)) || LA569_69 == DESC_SYMBOL || ((LA569_69 >= DIV_OPERATOR) && (LA569_69 <= DIV_SYMBOL)) || LA569_69 == DOUBLE_QUOTED_TEXT || LA569_69 == ELSE_SYMBOL || LA569_69 == EQUAL_OPERATOR || ((LA569_69 >= FOR_SYMBOL) && (LA569_69 <= FROM_SYMBOL)) || ((LA569_69 >= GREATER_OR_EQUAL_OPERATOR) && (LA569_69 <= GREATER_THAN_OPERATOR)) || ((LA569_69 >= GROUP_SYMBOL) && (LA569_69 <= HAVING_SYMBOL)) || ((LA569_69 >= HOUR_MICROSECOND_SYMBOL) && (LA569_69 <= IDENTIFIER)) || LA569_69 == INNER_SYMBOL || LA569_69 == INTO_SYMBOL || LA569_69 == IN_SYMBOL || LA569_69 == IS_SYMBOL || LA569_69 == JOIN_SYMBOL || ((LA569_69 >= LEFT_SYMBOL) && (LA569_69 <= LESS_THAN_OPERATOR)) || ((LA569_69 >= LIKE_SYMBOL) && (LA569_69 <= LIMIT_SYMBOL)) || LA569_69 == LOCK_SYMBOL || LA569_69 == LOGICAL_AND_OPERATOR || LA569_69 == LOGICAL_OR_OPERATOR || ((LA569_69 >= MINUS_OPERATOR) && (LA569_69 <= MINUTE_SECOND_SYMBOL)) || ((LA569_69 >= MOD_OPERATOR) && (LA569_69 <= MOD_SYMBOL)) || ((LA569_69 >= MULT_OPERATOR) && (LA569_69 <= NATURAL_SYMBOL)) || LA569_69 == NCHAR_TEXT || ((LA569_69 >= NOT_EQUAL2_OPERATOR) && (LA569_69 <= NOT_SYMBOL)) || LA569_69 == NULL_SAFE_EQUAL_OPERATOR || LA569_69 == ON_SYMBOL || ((LA569_69 >= ORDER_SYMBOL) && (LA569_69 <= OR_SYMBOL)) || LA569_69 == PLUS_OPERATOR || LA569_69 == PROCEDURE_SYMBOL || LA569_69 == REGEXP_SYMBOL || LA569_69 == RENAME_SYMBOL || LA569_69 == RIGHT_SYMBOL || LA569_69 == SECOND_MICROSECOND_SYMBOL || LA569_69 == SEMICOLON_SYMBOL || LA569_69 == SEPARATOR_SYMBOL || LA569_69 == SET_SYMBOL || ((LA569_69 >= SHIFT_LEFT_OPERATOR) && (LA569_69 <= SHIFT_RIGHT_OPERATOR)) || LA569_69 == SINGLE_QUOTED_TEXT || LA569_69 == STRAIGHT_JOIN_SYMBOL || LA569_69 == THEN_SYMBOL || LA569_69 == UNDERSCORE_CHARSET || LA569_69 == UNION_SYMBOL || LA569_69 == USING_SYMBOL || ((LA569_69 >= WHEN_SYMBOL) && (LA569_69 <= WHERE_SYMBOL)) || LA569_69 == WITH_SYMBOL || ((LA569_69 >= XOR_SYMBOL) && (LA569_69 <= YEAR_MONTH_SYMBOL))))
                            {
                                alt569=2;
                            }
                            else if ( (LA569_69 == OPEN_PAR_SYMBOL))
                            {
                                {
                                    int LA569_3539 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt569=3;
                                    }
                                    else if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt569=4;
                                    }
                                    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        = 3539;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            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        = 69;


                                goto ruleprimaryEx;

                            }
                        }
                    }
                    else if ( (LA569_0 == MULTIPOLYGON_SYMBOL))
                    {
                        {
                            int LA569_70 = LA(2);
                            if ( (LA569_70 == DOT_SYMBOL))
                            {
                                {
                                    int LA569_3540 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt569=2;
                                    }
                                    else if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt569=4;
                                    }
                                    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        = 3540;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA569_70 == EOF || ((LA569_70 >= ACTION_SYMBOL) && (LA569_70 <= PARTITION_SYMBOL)) || ((LA569_70 >= AND_SYMBOL) && (LA569_70 <= ASC_SYMBOL)) || LA569_70 == AS_SYMBOL || LA569_70 == BACK_TICK_QUOTED_ID || LA569_70 == BETWEEN_SYMBOL || LA569_70 == BITWISE_AND_OPERATOR || ((LA569_70 >= BITWISE_OR_OPERATOR) && (LA569_70 <= BITWISE_XOR_OPERATOR)) || ((LA569_70 >= CLOSE_CURLY_SYMBOL) && (LA569_70 <= COLLATE_SYMBOL)) || LA569_70 == COMMA_SYMBOL || LA569_70 == CONCAT_PIPES_SYMBOL || LA569_70 == CROSS_SYMBOL || ((LA569_70 >= DAY_HOUR_SYMBOL) && (LA569_70 <= DAY_SECOND_SYMBOL)) || LA569_70 == DESC_SYMBOL || ((LA569_70 >= DIV_OPERATOR) && (LA569_70 <= DIV_SYMBOL)) || LA569_70 == DOUBLE_QUOTED_TEXT || LA569_70 == ELSE_SYMBOL || LA569_70 == EQUAL_OPERATOR || ((LA569_70 >= FOR_SYMBOL) && (LA569_70 <= FROM_SYMBOL)) || ((LA569_70 >= GREATER_OR_EQUAL_OPERATOR) && (LA569_70 <= GREATER_THAN_OPERATOR)) || ((LA569_70 >= GROUP_SYMBOL) && (LA569_70 <= HAVING_SYMBOL)) || ((LA569_70 >= HOUR_MICROSECOND_SYMBOL) && (LA569_70 <= IDENTIFIER)) || LA569_70 == INNER_SYMBOL || LA569_70 == INTO_SYMBOL || LA569_70 == IN_SYMBOL || LA569_70 == IS_SYMBOL || LA569_70 == JOIN_SYMBOL || ((LA569_70 >= LEFT_SYMBOL) && (LA569_70 <= LESS_THAN_OPERATOR)) || ((LA569_70 >= LIKE_SYMBOL) && (LA569_70 <= LIMIT_SYMBOL)) || LA569_70 == LOCK_SYMBOL || LA569_70 == LOGICAL_AND_OPERATOR || LA569_70 == LOGICAL_OR_OPERATOR || ((LA569_70 >= MINUS_OPERATOR) && (LA569_70 <= MINUTE_SECOND_SYMBOL)) || ((LA569_70 >= MOD_OPERATOR) && (LA569_70 <= MOD_SYMBOL)) || ((LA569_70 >= MULT_OPERATOR) && (LA569_70 <= NATURAL_SYMBOL)) || LA569_70 == NCHAR_TEXT || ((LA569_70 >= NOT_EQUAL2_OPERATOR) && (LA569_70 <= NOT_SYMBOL)) || LA569_70 == NULL_SAFE_EQUAL_OPERATOR || LA569_70 == ON_SYMBOL || ((LA569_70 >= ORDER_SYMBOL) && (LA569_70 <= OR_SYMBOL)) || LA569_70 == PLUS_OPERATOR || LA569_70 == PROCEDURE_SYMBOL || LA569_70 == REGEXP_SYMBOL || LA569_70 == RENAME_SYMBOL || LA569_70 == RIGHT_SYMBOL || LA569_70 == SECOND_MICROSECOND_SYMBOL || LA569_70 == SEMICOLON_SYMBOL || LA569_70 == SEPARATOR_SYMBOL || LA569_70 == SET_SYMBOL || ((LA569_70 >= SHIFT_LEFT_OPERATOR) && (LA569_70 <= SHIFT_RIGHT_OPERATOR)) || LA569_70 == SINGLE_QUOTED_TEXT || LA569_70 == STRAIGHT_JOIN_SYMBOL || LA569_70 == THEN_SYMBOL || LA569_70 == UNDERSCORE_CHARSET || LA569_70 == UNION_SYMBOL || LA569_70 == USING_SYMBOL || ((LA569_70 >= WHEN_SYMBOL) && (LA569_70 <= WHERE_SYMBOL)) || LA569_70 == WITH_SYMBOL || ((LA569_70 >= XOR_SYMBOL) && (LA569_70 <= YEAR_MONTH_SYMBOL))))
                            {
                                alt569=2;
                            }
                            else if ( (LA569_70 == OPEN_PAR_SYMBOL))
                            {
                                {
                                    int LA569_3632 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt569=3;
                                    }
                                    else if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt569=4;
                                    }
                                    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        = 3632;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            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        = 70;


                                goto ruleprimaryEx;

                            }
                        }
                    }
                    else if ( (LA569_0 == POINT_SYMBOL))
                    {
                        {
                            int LA569_71 = LA(2);
                            if ( (LA569_71 == OPEN_PAR_SYMBOL))
                            {
                                {
                                    int LA569_3633 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt569=3;
                                    }
                                    else if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt569=4;
                                    }
                                    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        = 3633;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA569_71 == DOT_SYMBOL))
                            {
                                {
                                    int LA569_3634 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt569=2;
                                    }
                                    else if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt569=4;
                                    }
                                    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        = 3634;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA569_71 == EOF || ((LA569_71 >= ACTION_SYMBOL) && (LA569_71 <= PARTITION_SYMBOL)) || ((LA569_71 >= AND_SYMBOL) && (LA569_71 <= ASC_SYMBOL)) || LA569_71 == AS_SYMBOL || LA569_71 == BACK_TICK_QUOTED_ID || LA569_71 == BETWEEN_SYMBOL || LA569_71 == BITWISE_AND_OPERATOR || ((LA569_71 >= BITWISE_OR_OPERATOR) && (LA569_71 <= BITWISE_XOR_OPERATOR)) || ((LA569_71 >= CLOSE_CURLY_SYMBOL) && (LA569_71 <= COLLATE_SYMBOL)) || LA569_71 == COMMA_SYMBOL || LA569_71 == CONCAT_PIPES_SYMBOL || LA569_71 == CROSS_SYMBOL || ((LA569_71 >= DAY_HOUR_SYMBOL) && (LA569_71 <= DAY_SECOND_SYMBOL)) || LA569_71 == DESC_SYMBOL || ((LA569_71 >= DIV_OPERATOR) && (LA569_71 <= DIV_SYMBOL)) || LA569_71 == DOUBLE_QUOTED_TEXT || LA569_71 == ELSE_SYMBOL || LA569_71 == EQUAL_OPERATOR || ((LA569_71 >= FOR_SYMBOL) && (LA569_71 <= FROM_SYMBOL)) || ((LA569_71 >= GREATER_OR_EQUAL_OPERATOR) && (LA569_71 <= GREATER_THAN_OPERATOR)) || ((LA569_71 >= GROUP_SYMBOL) && (LA569_71 <= HAVING_SYMBOL)) || ((LA569_71 >= HOUR_MICROSECOND_SYMBOL) && (LA569_71 <= IDENTIFIER)) || LA569_71 == INNER_SYMBOL || LA569_71 == INTO_SYMBOL || LA569_71 == IN_SYMBOL || LA569_71 == IS_SYMBOL || LA569_71 == JOIN_SYMBOL || ((LA569_71 >= LEFT_SYMBOL) && (LA569_71 <= LESS_THAN_OPERATOR)) || ((LA569_71 >= LIKE_SYMBOL) && (LA569_71 <= LIMIT_SYMBOL)) || LA569_71 == LOCK_SYMBOL || LA569_71 == LOGICAL_AND_OPERATOR || LA569_71 == LOGICAL_OR_OPERATOR || ((LA569_71 >= MINUS_OPERATOR) && (LA569_71 <= MINUTE_SECOND_SYMBOL)) || ((LA569_71 >= MOD_OPERATOR) && (LA569_71 <= MOD_SYMBOL)) || ((LA569_71 >= MULT_OPERATOR) && (LA569_71 <= NATURAL_SYMBOL)) || LA569_71 == NCHAR_TEXT || ((LA569_71 >= NOT_EQUAL2_OPERATOR) && (LA569_71 <= NOT_SYMBOL)) || LA569_71 == NULL_SAFE_EQUAL_OPERATOR || LA569_71 == ON_SYMBOL || ((LA569_71 >= ORDER_SYMBOL) && (LA569_71 <= OR_SYMBOL)) || LA569_71 == PLUS_OPERATOR || LA569_71 == PROCEDURE_SYMBOL || LA569_71 == REGEXP_SYMBOL || LA569_71 == RENAME_SYMBOL || LA569_71 == RIGHT_SYMBOL || LA569_71 == SECOND_MICROSECOND_SYMBOL || LA569_71 == SEMICOLON_SYMBOL || LA569_71 == SEPARATOR_SYMBOL || LA569_71 == SET_SYMBOL || ((LA569_71 >= SHIFT_LEFT_OPERATOR) && (LA569_71 <= SHIFT_RIGHT_OPERATOR)) || LA569_71 == SINGLE_QUOTED_TEXT || LA569_71 == STRAIGHT_JOIN_SYMBOL || LA569_71 == THEN_SYMBOL || LA569_71 == UNDERSCORE_CHARSET || LA569_71 == UNION_SYMBOL || LA569_71 == USING_SYMBOL || ((LA569_71 >= WHEN_SYMBOL) && (LA569_71 <= WHERE_SYMBOL)) || LA569_71 == WITH_SYMBOL || ((LA569_71 >= XOR_SYMBOL) && (LA569_71 <= YEAR_MONTH_SYMBOL))))
                            {
                                alt569=2;
                            }
                            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        = 71;


                                goto ruleprimaryEx;

                            }
                        }
                    }
                    else if ( (LA569_0 == POLYGON_SYMBOL))
                    {
                        {
                            int LA569_72 = LA(2);
                            if ( (LA569_72 == DOT_SYMBOL))
                            {
                                {
                                    int LA569_3726 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt569=2;
                                    }
                                    else if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt569=4;
                                    }
                                    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        = 3726;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA569_72 == EOF || ((LA569_72 >= ACTION_SYMBOL) && (LA569_72 <= PARTITION_SYMBOL)) || ((LA569_72 >= AND_SYMBOL) && (LA569_72 <= ASC_SYMBOL)) || LA569_72 == AS_SYMBOL || LA569_72 == BACK_TICK_QUOTED_ID || LA569_72 == BETWEEN_SYMBOL || LA569_72 == BITWISE_AND_OPERATOR || ((LA569_72 >= BITWISE_OR_OPERATOR) && (LA569_72 <= BITWISE_XOR_OPERATOR)) || ((LA569_72 >= CLOSE_CURLY_SYMBOL) && (LA569_72 <= COLLATE_SYMBOL)) || LA569_72 == COMMA_SYMBOL || LA569_72 == CONCAT_PIPES_SYMBOL || LA569_72 == CROSS_SYMBOL || ((LA569_72 >= DAY_HOUR_SYMBOL) && (LA569_72 <= DAY_SECOND_SYMBOL)) || LA569_72 == DESC_SYMBOL || ((LA569_72 >= DIV_OPERATOR) && (LA569_72 <= DIV_SYMBOL)) || LA569_72 == DOUBLE_QUOTED_TEXT || LA569_72 == ELSE_SYMBOL || LA569_72 == EQUAL_OPERATOR || ((LA569_72 >= FOR_SYMBOL) && (LA569_72 <= FROM_SYMBOL)) || ((LA569_72 >= GREATER_OR_EQUAL_OPERATOR) && (LA569_72 <= GREATER_THAN_OPERATOR)) || ((LA569_72 >= GROUP_SYMBOL) && (LA569_72 <= HAVING_SYMBOL)) || ((LA569_72 >= HOUR_MICROSECOND_SYMBOL) && (LA569_72 <= IDENTIFIER)) || LA569_72 == INNER_SYMBOL || LA569_72 == INTO_SYMBOL || LA569_72 == IN_SYMBOL || LA569_72 == IS_SYMBOL || LA569_72 == JOIN_SYMBOL || ((LA569_72 >= LEFT_SYMBOL) && (LA569_72 <= LESS_THAN_OPERATOR)) || ((LA569_72 >= LIKE_SYMBOL) && (LA569_72 <= LIMIT_SYMBOL)) || LA569_72 == LOCK_SYMBOL || LA569_72 == LOGICAL_AND_OPERATOR || LA569_72 == LOGICAL_OR_OPERATOR || ((LA569_72 >= MINUS_OPERATOR) && (LA569_72 <= MINUTE_SECOND_SYMBOL)) || ((LA569_72 >= MOD_OPERATOR) && (LA569_72 <= MOD_SYMBOL)) || ((LA569_72 >= MULT_OPERATOR) && (LA569_72 <= NATURAL_SYMBOL)) || LA569_72 == NCHAR_TEXT || ((LA569_72 >= NOT_EQUAL2_OPERATOR) && (LA569_72 <= NOT_SYMBOL)) || LA569_72 == NULL_SAFE_EQUAL_OPERATOR || LA569_72 == ON_SYMBOL || ((LA569_72 >= ORDER_SYMBOL) && (LA569_72 <= OR_SYMBOL)) || LA569_72 == PLUS_OPERATOR || LA569_72 == PROCEDURE_SYMBOL || LA569_72 == REGEXP_SYMBOL || LA569_72 == RENAME_SYMBOL || LA569_72 == RIGHT_SYMBOL || LA569_72 == SECOND_MICROSECOND_SYMBOL || LA569_72 == SEMICOLON_SYMBOL || LA569_72 == SEPARATOR_SYMBOL || LA569_72 == SET_SYMBOL || ((LA569_72 >= SHIFT_LEFT_OPERATOR) && (LA569_72 <= SHIFT_RIGHT_OPERATOR)) || LA569_72 == SINGLE_QUOTED_TEXT || LA569_72 == STRAIGHT_JOIN_SYMBOL || LA569_72 == THEN_SYMBOL || LA569_72 == UNDERSCORE_CHARSET || LA569_72 == UNION_SYMBOL || LA569_72 == USING_SYMBOL || ((LA569_72 >= WHEN_SYMBOL) && (LA569_72 <= WHERE_SYMBOL)) || LA569_72 == WITH_SYMBOL || ((LA569_72 >= XOR_SYMBOL) && (LA569_72 <= YEAR_MONTH_SYMBOL))))
                            {
                                alt569=2;
                            }
                            else if ( (LA569_72 == OPEN_PAR_SYMBOL))
                            {
                                {
                                    int LA569_3818 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt569=3;
                                    }
                                    else if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt569=4;
                                    }
                                    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        = 3818;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            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        = 72;


                                goto ruleprimaryEx;

                            }
                        }
                    }
                    else if ( (LA569_0 == AVG_SYMBOL))
                    {
                        {
                            int LA569_73 = LA(2);
                            if ( (LA569_73 == OPEN_PAR_SYMBOL))
                            {
                                {
                                    int LA569_3819 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt569=3;
                                    }
                                    else if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt569=4;
                                    }
                                    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        = 3819;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA569_73 == DOT_SYMBOL))
                            {
                                {
                                    int LA569_3820 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt569=2;
                                    }
                                    else if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt569=4;
                                    }
                                    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        = 3820;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA569_73 == EOF || ((LA569_73 >= ACTION_SYMBOL) && (LA569_73 <= PARTITION_SYMBOL)) || ((LA569_73 >= AND_SYMBOL) && (LA569_73 <= ASC_SYMBOL)) || LA569_73 == AS_SYMBOL || LA569_73 == BACK_TICK_QUOTED_ID || LA569_73 == BETWEEN_SYMBOL || LA569_73 == BITWISE_AND_OPERATOR || ((LA569_73 >= BITWISE_OR_OPERATOR) && (LA569_73 <= BITWISE_XOR_OPERATOR)) || ((LA569_73 >= CLOSE_CURLY_SYMBOL) && (LA569_73 <= COLLATE_SYMBOL)) || LA569_73 == COMMA_SYMBOL || LA569_73 == CONCAT_PIPES_SYMBOL || LA569_73 == CROSS_SYMBOL || ((LA569_73 >= DAY_HOUR_SYMBOL) && (LA569_73 <= DAY_SECOND_SYMBOL)) || LA569_73 == DESC_SYMBOL || ((LA569_73 >= DIV_OPERATOR) && (LA569_73 <= DIV_SYMBOL)) || LA569_73 == DOUBLE_QUOTED_TEXT || LA569_73 == ELSE_SYMBOL || LA569_73 == EQUAL_OPERATOR || ((LA569_73 >= FOR_SYMBOL) && (LA569_73 <= FROM_SYMBOL)) || ((LA569_73 >= GREATER_OR_EQUAL_OPERATOR) && (LA569_73 <= GREATER_THAN_OPERATOR)) || ((LA569_73 >= GROUP_SYMBOL) && (LA569_73 <= HAVING_SYMBOL)) || ((LA569_73 >= HOUR_MICROSECOND_SYMBOL) && (LA569_73 <= IDENTIFIER)) || LA569_73 == INNER_SYMBOL || LA569_73 == INTO_SYMBOL || LA569_73 == IN_SYMBOL || LA569_73 == IS_SYMBOL || LA569_73 == JOIN_SYMBOL || ((LA569_73 >= LEFT_SYMBOL) && (LA569_73 <= LESS_THAN_OPERATOR)) || ((LA569_73 >= LIKE_SYMBOL) && (LA569_73 <= LIMIT_SYMBOL)) || LA569_73 == LOCK_SYMBOL || LA569_73 == LOGICAL_AND_OPERATOR || LA569_73 == LOGICAL_OR_OPERATOR || ((LA569_73 >= MINUS_OPERATOR) && (LA569_73 <= MINUTE_SECOND_SYMBOL)) || ((LA569_73 >= MOD_OPERATOR) && (LA569_73 <= MOD_SYMBOL)) || ((LA569_73 >= MULT_OPERATOR) && (LA569_73 <= NATURAL_SYMBOL)) || LA569_73 == NCHAR_TEXT || ((LA569_73 >= NOT_EQUAL2_OPERATOR) && (LA569_73 <= NOT_SYMBOL)) || LA569_73 == NULL_SAFE_EQUAL_OPERATOR || LA569_73 == ON_SYMBOL || ((LA569_73 >= ORDER_SYMBOL) && (LA569_73 <= OR_SYMBOL)) || LA569_73 == PLUS_OPERATOR || LA569_73 == PROCEDURE_SYMBOL || LA569_73 == REGEXP_SYMBOL || LA569_73 == RENAME_SYMBOL || LA569_73 == RIGHT_SYMBOL || LA569_73 == SECOND_MICROSECOND_SYMBOL || LA569_73 == SEMICOLON_SYMBOL || LA569_73 == SEPARATOR_SYMBOL || LA569_73 == SET_SYMBOL || ((LA569_73 >= SHIFT_LEFT_OPERATOR) && (LA569_73 <= SHIFT_RIGHT_OPERATOR)) || LA569_73 == SINGLE_QUOTED_TEXT || LA569_73 == STRAIGHT_JOIN_SYMBOL || LA569_73 == THEN_SYMBOL || LA569_73 == UNDERSCORE_CHARSET || LA569_73 == UNION_SYMBOL || LA569_73 == USING_SYMBOL || ((LA569_73 >= WHEN_SYMBOL) && (LA569_73 <= WHERE_SYMBOL)) || LA569_73 == WITH_SYMBOL || ((LA569_73 >= XOR_SYMBOL) && (LA569_73 <= YEAR_MONTH_SYMBOL))))
                            {
                                alt569=2;
                            }
                            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        = 73;


                                goto ruleprimaryEx;

                            }
                        }
                    }
                    else if ( (LA569_0 == ROW_SYMBOL))
                    {
                        {
                            int LA569_74 = LA(2);
                            if ( (LA569_74 == DOT_SYMBOL))
                            {
                                {
                                    int LA569_3912 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt569=2;
                                    }
                                    else if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt569=4;
                                    }
                                    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        = 3912;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA569_74 == EOF || ((LA569_74 >= ACTION_SYMBOL) && (LA569_74 <= PARTITION_SYMBOL)) || ((LA569_74 >= AND_SYMBOL) && (LA569_74 <= ASC_SYMBOL)) || LA569_74 == AS_SYMBOL || LA569_74 == BACK_TICK_QUOTED_ID || LA569_74 == BETWEEN_SYMBOL || LA569_74 == BITWISE_AND_OPERATOR || ((LA569_74 >= BITWISE_OR_OPERATOR) && (LA569_74 <= BITWISE_XOR_OPERATOR)) || ((LA569_74 >= CLOSE_CURLY_SYMBOL) && (LA569_74 <= COLLATE_SYMBOL)) || LA569_74 == COMMA_SYMBOL || LA569_74 == CONCAT_PIPES_SYMBOL || LA569_74 == CROSS_SYMBOL || ((LA569_74 >= DAY_HOUR_SYMBOL) && (LA569_74 <= DAY_SECOND_SYMBOL)) || LA569_74 == DESC_SYMBOL || ((LA569_74 >= DIV_OPERATOR) && (LA569_74 <= DIV_SYMBOL)) || LA569_74 == DOUBLE_QUOTED_TEXT || LA569_74 == ELSE_SYMBOL || LA569_74 == EQUAL_OPERATOR || ((LA569_74 >= FOR_SYMBOL) && (LA569_74 <= FROM_SYMBOL)) || ((LA569_74 >= GREATER_OR_EQUAL_OPERATOR) && (LA569_74 <= GREATER_THAN_OPERATOR)) || ((LA569_74 >= GROUP_SYMBOL) && (LA569_74 <= HAVING_SYMBOL)) || ((LA569_74 >= HOUR_MICROSECOND_SYMBOL) && (LA569_74 <= IDENTIFIER)) || LA569_74 == INNER_SYMBOL || LA569_74 == INTO_SYMBOL || LA569_74 == IN_SYMBOL || LA569_74 == IS_SYMBOL || LA569_74 == JOIN_SYMBOL || ((LA569_74 >= LEFT_SYMBOL) && (LA569_74 <= LESS_THAN_OPERATOR)) || ((LA569_74 >= LIKE_SYMBOL) && (LA569_74 <= LIMIT_SYMBOL)) || LA569_74 == LOCK_SYMBOL || LA569_74 == LOGICAL_AND_OPERATOR || LA569_74 == LOGICAL_OR_OPERATOR || ((LA569_74 >= MINUS_OPERATOR) && (LA569_74 <= MINUTE_SECOND_SYMBOL)) || ((LA569_74 >= MOD_OPERATOR) && (LA569_74 <= MOD_SYMBOL)) || ((LA569_74 >= MULT_OPERATOR) && (LA569_74 <= NATURAL_SYMBOL)) || LA569_74 == NCHAR_TEXT || ((LA569_74 >= NOT_EQUAL2_OPERATOR) && (LA569_74 <= NOT_SYMBOL)) || LA569_74 == NULL_SAFE_EQUAL_OPERATOR || LA569_74 == ON_SYMBOL || ((LA569_74 >= ORDER_SYMBOL) && (LA569_74 <= OR_SYMBOL)) || LA569_74 == PLUS_OPERATOR || LA569_74 == PROCEDURE_SYMBOL || LA569_74 == REGEXP_SYMBOL || LA569_74 == RENAME_SYMBOL || LA569_74 == RIGHT_SYMBOL || LA569_74 == SECOND_MICROSECOND_SYMBOL || LA569_74 == SEMICOLON_SYMBOL || LA569_74 == SEPARATOR_SYMBOL || LA569_74 == SET_SYMBOL || ((LA569_74 >= SHIFT_LEFT_OPERATOR) && (LA569_74 <= SHIFT_RIGHT_OPERATOR)) || LA569_74 == SINGLE_QUOTED_TEXT || LA569_74 == STRAIGHT_JOIN_SYMBOL || LA569_74 == THEN_SYMBOL || LA569_74 == UNDERSCORE_CHARSET || LA569_74 == UNION_SYMBOL || LA569_74 == USING_SYMBOL || ((LA569_74 >= WHEN_SYMBOL) && (LA569_74 <= WHERE_SYMBOL)) || LA569_74 == WITH_SYMBOL || ((LA569_74 >= XOR_SYMBOL) && (LA569_74 <= YEAR_MONTH_SYMBOL))))
                            {
                                alt569=2;
                            }
                            else if ( (LA569_74 == OPEN_PAR_SYMBOL))
                            {
                                {
                                    int LA569_4004 = LA(3);
                                    if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt569=4;
                                    }
                                    else if ( (ANTLR3_TRUE))
                                    {
                                        alt569=9;
                                    }
                                    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        = 4004;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            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        = 74;


                                goto ruleprimaryEx;

                            }
                        }
                    }
                    else if ( (LA569_0 == PARAM_MARKER))
                    {
                        alt569=5;
                    }
                    else if ( (((LA569_0 >= AT_AT_SIGN_SYMBOL) && (LA569_0 <= AT_SIGN_SYMBOL))))
                    {
                        alt569=6;
                    }
                    else if ( (LA569_0 == OPEN_PAR_SYMBOL))
                    {
                        {
                            int LA569_90 = LA(2);
                            if ( (LA569_90 == SELECT_SYMBOL))
                            {
                                alt569=7;
                            }
                            else if ( (((LA569_90 >= ACTION_SYMBOL) && (LA569_90 <= PARTITION_SYMBOL)) || ((LA569_90 >= AT_AT_SIGN_SYMBOL) && (LA569_90 <= AT_SIGN_SYMBOL)) || LA569_90 == BACK_TICK_QUOTED_ID || LA569_90 == BINARY_SYMBOL || ((LA569_90 >= BITNUMBER) && (LA569_90 <= BITSTRING)) || LA569_90 == BITWISE_NOT_OPERATOR || ((LA569_90 >= BIT_AND_SYMBOL) && (LA569_90 <= BIT_XOR_SYMBOL)) || ((LA569_90 >= CASE_SYMBOL) && (LA569_90 <= CAST_SYMBOL)) || LA569_90 == CHAR_SYMBOL || ((LA569_90 >= CONVERT_SYMBOL) && (LA569_90 <= COUNT_SYMBOL)) || LA569_90 == CURDATE_SYMBOL || LA569_90 == CURRENT_USER_SYMBOL || LA569_90 == CURTIME_SYMBOL || LA569_90 == DATABASE_SYMBOL || LA569_90 == DATE_ADD_SYMBOL || LA569_90 == DATE_SUB_SYMBOL || LA569_90 == DOT_SYMBOL || LA569_90 == DOUBLE_QUOTED_TEXT || LA569_90 == EXISTS_SYMBOL || ((LA569_90 >= EXTRACT_SYMBOL) && (LA569_90 <= FALSE_SYMBOL)) || LA569_90 == FLOAT || LA569_90 == GROUP_CONCAT_SYMBOL || ((LA569_90 >= HEXNUMBER) && (LA569_90 <= HEXSTRING)) || ((LA569_90 >= IDENTIFIER) && (LA569_90 <= IF_SYMBOL)) || LA569_90 == INSERT_SYMBOL || LA569_90 == INTEGER || LA569_90 == INTERVAL_SYMBOL || LA569_90 == LEFT_SYMBOL || LA569_90 == LOGICAL_NOT_OPERATOR || LA569_90 == MATCH_SYMBOL || LA569_90 == MAX_SYMBOL || LA569_90 == MINUS_OPERATOR || LA569_90 == MIN_SYMBOL || LA569_90 == MOD_SYMBOL || LA569_90 == NCHAR_TEXT || LA569_90 == NOT2_SYMBOL || ((LA569_90 >= NOT_SYMBOL) && (LA569_90 <= NOW_SYMBOL)) || LA569_90 == NULL2_SYMBOL || LA569_90 == NULL_SYMBOL || ((LA569_90 >= OPEN_CURLY_SYMBOL) && (LA569_90 <= OPEN_PAR_SYMBOL)) || LA569_90 == PARAM_MARKER || ((LA569_90 >= PLUS_OPERATOR) && (LA569_90 <= POSITION_SYMBOL)) || ((LA569_90 >= REPEAT_SYMBOL) && (LA569_90 <= REPLACE_SYMBOL)) || LA569_90 == RIGHT_SYMBOL || LA569_90 == SINGLE_QUOTED_TEXT || LA569_90 == STDDEV_SAMP_SYMBOL || LA569_90 == STD_SYMBOL || LA569_90 == SUBSTRING_SYMBOL || ((LA569_90 >= SUM_SYMBOL) && (LA569_90 <= SYSDATE_SYMBOL)) || ((LA569_90 >= TRIM_SYMBOL) && (LA569_90 <= TRUE_SYMBOL)) || LA569_90 == UNDERSCORE_CHARSET || ((LA569_90 >= UTC_DATE_SYMBOL) && (LA569_90 <= VALUES_SYMBOL)) || LA569_90 == VARIANCE_SYMBOL || LA569_90 == VAR_SAMP_SYMBOL))
                            {
                                alt569=9;
                            }
                            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        = 90;


                                goto ruleprimaryEx;

                            }
                        }
                    }
                    else if ( (LA569_0 == EXISTS_SYMBOL))
                    {
                        alt569=8;
                    }
                    else if ( (LA569_0 == ACTION_SYMBOL || ((LA569_0 >= AFTER_SYMBOL) && (LA569_0 <= AVG_ROW_LENGTH_SYMBOL)) || ((LA569_0 >= BINLOG_SYMBOL) && (LA569_0 <= CLIENT_SYMBOL)) || LA569_0 == CODE_SYMBOL || ((LA569_0 >= COLUMNS_SYMBOL) && (LA569_0 <= DATETIME_SYMBOL)) || ((LA569_0 >= DEFAULT_AUTH_SYMBOL) && (LA569_0 <= GENERAL_SYMBOL)) || LA569_0 == GEOMETRY_SYMBOL || ((LA569_0 >= GLOBAL_SYMBOL) && (LA569_0 <= HOSTS_SYMBOL)) || ((LA569_0 >= IDENTIFIED_SYMBOL) && (LA569_0 <= LEVEL_SYMBOL)) || ((LA569_0 >= LIST_SYMBOL) && (LA569_0 <= MESSAGE_TEXT_SYMBOL)) || LA569_0 == MIGRATE_SYMBOL || ((LA569_0 >= MIN_ROWS_SYMBOL) && (LA569_0 <= MODIFY_SYMBOL)) || ((LA569_0 >= MUTEX_SYMBOL) && (LA569_0 <= OFFSET_SYMBOL)) || ((LA569_0 >= ONE_SHOT_SYMBOL) && (LA569_0 <= PARTITIONS_SYMBOL)) || ((LA569_0 >= PHASE_SYMBOL) && (LA569_0 <= PLUGIN_SYMBOL)) || ((LA569_0 >= PRESERVE_SYMBOL) && (LA569_0 <= PROXY_SYMBOL)) || ((LA569_0 >= QUERY_SYMBOL) && (LA569_0 <= RETURNS_SYMBOL)) || ((LA569_0 >= ROLLUP_SYMBOL) && (LA569_0 <= ROWS_SYMBOL)) || LA569_0 == ROW_FORMAT_SYMBOL || ((LA569_0 >= RTREE_SYMBOL) && (LA569_0 <= SCHEMA_NAME_SYMBOL)) || ((LA569_0 >= SERIALIZABLE_SYMBOL) && (LA569_0 <= SUBCLASS_ORIGIN_SYMBOL)) || ((LA569_0 >= SUBJECT_SYMBOL) && (LA569_0 <= THAN_SYMBOL)) || ((LA569_0 >= TRANSACTION_SYMBOL) && (LA569_0 <= USER_RESOURCES_SYMBOL)) || ((LA569_0 >= USE_FRM_SYMBOL) && (LA569_0 <= WARNINGS_SYMBOL)) || ((LA569_0 >= WORK_SYMBOL) && (LA569_0 <= XML_SYMBOL))))
                    {
                        {
                            int LA569_92 = LA(2);
                            if ( (LA569_92 == DOT_SYMBOL))
                            {
                                {
                                    int LA569_4108 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt569=2;
                                    }
                                    else if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt569=4;
                                    }
                                    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        = 4108;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA569_92 == EOF || ((LA569_92 >= ACTION_SYMBOL) && (LA569_92 <= PARTITION_SYMBOL)) || ((LA569_92 >= AND_SYMBOL) && (LA569_92 <= ASC_SYMBOL)) || LA569_92 == AS_SYMBOL || LA569_92 == BACK_TICK_QUOTED_ID || LA569_92 == BETWEEN_SYMBOL || LA569_92 == BITWISE_AND_OPERATOR || ((LA569_92 >= BITWISE_OR_OPERATOR) && (LA569_92 <= BITWISE_XOR_OPERATOR)) || ((LA569_92 >= CLOSE_CURLY_SYMBOL) && (LA569_92 <= COLLATE_SYMBOL)) || LA569_92 == COMMA_SYMBOL || LA569_92 == CONCAT_PIPES_SYMBOL || LA569_92 == CROSS_SYMBOL || ((LA569_92 >= DAY_HOUR_SYMBOL) && (LA569_92 <= DAY_SECOND_SYMBOL)) || LA569_92 == DESC_SYMBOL || ((LA569_92 >= DIV_OPERATOR) && (LA569_92 <= DIV_SYMBOL)) || LA569_92 == DOUBLE_QUOTED_TEXT || LA569_92 == ELSE_SYMBOL || LA569_92 == EQUAL_OPERATOR || ((LA569_92 >= FOR_SYMBOL) && (LA569_92 <= FROM_SYMBOL)) || ((LA569_92 >= GREATER_OR_EQUAL_OPERATOR) && (LA569_92 <= GREATER_THAN_OPERATOR)) || ((LA569_92 >= GROUP_SYMBOL) && (LA569_92 <= HAVING_SYMBOL)) || ((LA569_92 >= HOUR_MICROSECOND_SYMBOL) && (LA569_92 <= IDENTIFIER)) || LA569_92 == INNER_SYMBOL || LA569_92 == INTO_SYMBOL || LA569_92 == IN_SYMBOL || LA569_92 == IS_SYMBOL || LA569_92 == JOIN_SYMBOL || ((LA569_92 >= LEFT_SYMBOL) && (LA569_92 <= LESS_THAN_OPERATOR)) || ((LA569_92 >= LIKE_SYMBOL) && (LA569_92 <= LIMIT_SYMBOL)) || LA569_92 == LOCK_SYMBOL || LA569_92 == LOGICAL_AND_OPERATOR || LA569_92 == LOGICAL_OR_OPERATOR || ((LA569_92 >= MINUS_OPERATOR) && (LA569_92 <= MINUTE_SECOND_SYMBOL)) || ((LA569_92 >= MOD_OPERATOR) && (LA569_92 <= MOD_SYMBOL)) || ((LA569_92 >= MULT_OPERATOR) && (LA569_92 <= NATURAL_SYMBOL)) || LA569_92 == NCHAR_TEXT || ((LA569_92 >= NOT_EQUAL2_OPERATOR) && (LA569_92 <= NOT_SYMBOL)) || LA569_92 == NULL_SAFE_EQUAL_OPERATOR || LA569_92 == ON_SYMBOL || ((LA569_92 >= ORDER_SYMBOL) && (LA569_92 <= OR_SYMBOL)) || LA569_92 == PLUS_OPERATOR || LA569_92 == PROCEDURE_SYMBOL || LA569_92 == REGEXP_SYMBOL || LA569_92 == RENAME_SYMBOL || LA569_92 == RIGHT_SYMBOL || LA569_92 == SECOND_MICROSECOND_SYMBOL || LA569_92 == SEMICOLON_SYMBOL || LA569_92 == SEPARATOR_SYMBOL || LA569_92 == SET_SYMBOL || ((LA569_92 >= SHIFT_LEFT_OPERATOR) && (LA569_92 <= SHIFT_RIGHT_OPERATOR)) || LA569_92 == SINGLE_QUOTED_TEXT || LA569_92 == STRAIGHT_JOIN_SYMBOL || LA569_92 == THEN_SYMBOL || LA569_92 == UNDERSCORE_CHARSET || LA569_92 == UNION_SYMBOL || LA569_92 == USING_SYMBOL || ((LA569_92 >= WHEN_SYMBOL) && (LA569_92 <= WHERE_SYMBOL)) || LA569_92 == WITH_SYMBOL || ((LA569_92 >= XOR_SYMBOL) && (LA569_92 <= YEAR_MONTH_SYMBOL))))
                            {
                                alt569=2;
                            }
                            else if ( (synpred3_MySQL(ctx)) && (LA569_92 == OPEN_PAR_SYMBOL))
                            {
                                alt569=4;
                            }
                            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        = 92;


                                goto ruleprimaryEx;

                            }
                        }
                    }
                    else if ( (LA569_0 == OPEN_CURLY_SYMBOL))
                    {
                        alt569=10;
                    }
                    else if ( (LA569_0 == MATCH_SYMBOL))
                    {
                        alt569=11;
                    }
                    else if ( (LA569_0 == CASE_SYMBOL))
                    {
                        alt569=12;
                    }
                    else if ( (LA569_0 == BINARY_SYMBOL || LA569_0 == CAST_SYMBOL || LA569_0 == CONVERT_SYMBOL))
                    {
                        alt569=13;
                    }
                    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 ruleprimaryEx;

                    }
                }
                switch (alt569)
                {
            	case 1:
            	    // MySQL.g:1764:3: literal
            	    {
            	        FOLLOWPUSH(FOLLOW_literal_in_primary9903);
            	        literal1813=literal(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleprimaryEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, literal1813.tree);

            	    }
            	    break;
            	case 2:
            	    // MySQL.g:1765:5: field_name
            	    {
            	        FOLLOWPUSH(FOLLOW_field_name_in_primary9909);
            	        field_name1814=field_name(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleprimaryEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, field_name1814.tree);

            	    }
            	    break;
            	case 3:
            	    // MySQL.g:1766:5: function_call_expression
            	    {
            	        FOLLOWPUSH(FOLLOW_function_call_expression_in_primary9915);
            	        function_call_expression1815=function_call_expression(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleprimaryEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, function_call_expression1815.tree);

            	    }
            	    break;
            	case 4:
            	    // MySQL.g:1767:5: ( qualified_identifier OPEN_PAR_SYMBOL )=> generic_function_call
            	    {
            	        FOLLOWPUSH(FOLLOW_generic_function_call_in_primary9929);
            	        generic_function_call1816=generic_function_call(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleprimaryEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, generic_function_call1816.tree);

            	    }
            	    break;
            	case 5:
            	    // MySQL.g:1768:5: PARAM_MARKER
            	    {
            	        PARAM_MARKER1817 = (pANTLR3_COMMON_TOKEN) MATCHT(PARAM_MARKER, &FOLLOW_PARAM_MARKER_in_primary9935);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleprimaryEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        PARAM_MARKER1817_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, PARAM_MARKER1817));
            	        ADAPTOR->addChild(ADAPTOR, root_0, PARAM_MARKER1817_tree);
            	        }

            	    }
            	    break;
            	case 6:
            	    // MySQL.g:1769:5: variable
            	    {
            	        FOLLOWPUSH(FOLLOW_variable_in_primary9941);
            	        variable1818=variable(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleprimaryEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, variable1818.tree);

            	    }
            	    break;
            	case 7:
            	    // MySQL.g:1770:5: {...}? subquery
            	    {
            	        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 *)"primary";


            	        }

            	        FOLLOWPUSH(FOLLOW_subquery_in_primary9949);
            	        subquery1819=subquery(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleprimaryEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, subquery1819.tree);

            	    }
            	    break;
            	case 8:
            	    // MySQL.g:1771:5: EXISTS_SYMBOL subquery
            	    {
            	        EXISTS_SYMBOL1820 = (pANTLR3_COMMON_TOKEN) MATCHT(EXISTS_SYMBOL, &FOLLOW_EXISTS_SYMBOL_in_primary9955);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleprimaryEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        EXISTS_SYMBOL1820_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EXISTS_SYMBOL1820));
            	        ADAPTOR->addChild(ADAPTOR, root_0, EXISTS_SYMBOL1820_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_subquery_in_primary9957);
            	        subquery1821=subquery(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleprimaryEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, subquery1821.tree);

            	    }
            	    break;
            	case 9:
            	    // MySQL.g:1772:5: ( ROW_SYMBOL )? expression_list_with_parentheses
            	    {
            	        // MySQL.g:1772:5: ( ROW_SYMBOL )?
            	        {
            	            int alt568=2;
            	            switch ( LA(1) )
            	            {
            	                case ROW_SYMBOL:
            	                	{
            	                		alt568=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt568)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1772:5: ROW_SYMBOL
            	        	    {
            	        	        ROW_SYMBOL1822 = (pANTLR3_COMMON_TOKEN) MATCHT(ROW_SYMBOL, &FOLLOW_ROW_SYMBOL_in_primary9963);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleprimaryEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        ROW_SYMBOL1822_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ROW_SYMBOL1822));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, ROW_SYMBOL1822_tree);
            	        	        }

            	        	    }
            	        	    break;

            	            }
            	        }

            	        FOLLOWPUSH(FOLLOW_expression_list_with_parentheses_in_primary9966);
            	        expression_list_with_parentheses1823=expression_list_with_parentheses(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleprimaryEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression_list_with_parentheses1823.tree);

            	    }
            	    break;
            	case 10:
            	    // MySQL.g:1773:5: OPEN_CURLY_SYMBOL identifier expression CLOSE_CURLY_SYMBOL
            	    {
            	        OPEN_CURLY_SYMBOL1824 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_CURLY_SYMBOL, &FOLLOW_OPEN_CURLY_SYMBOL_in_primary9972);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleprimaryEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        OPEN_CURLY_SYMBOL1824_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_CURLY_SYMBOL1824));
            	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_CURLY_SYMBOL1824_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_identifier_in_primary9974);
            	        identifier1825=identifier(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleprimaryEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier1825.tree);

            	        FOLLOWPUSH(FOLLOW_expression_in_primary9976);
            	        expression1826=expression(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleprimaryEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression1826.tree);

            	        CLOSE_CURLY_SYMBOL1827 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_CURLY_SYMBOL, &FOLLOW_CLOSE_CURLY_SYMBOL_in_primary9978);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleprimaryEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        CLOSE_CURLY_SYMBOL1827_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_CURLY_SYMBOL1827));
            	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_CURLY_SYMBOL1827_tree);
            	        }

            	    }
            	    break;
            	case 11:
            	    // MySQL.g:1774:5: match_expression
            	    {
            	        FOLLOWPUSH(FOLLOW_match_expression_in_primary9984);
            	        match_expression1828=match_expression(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleprimaryEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, match_expression1828.tree);

            	    }
            	    break;
            	case 12:
            	    // MySQL.g:1775:5: case_expression
            	    {
            	        FOLLOWPUSH(FOLLOW_case_expression_in_primary9990);
            	        case_expression1829=case_expression(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleprimaryEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, case_expression1829.tree);

            	    }
            	    break;
            	case 13:
            	    // MySQL.g:1776:5: cast_expression
            	    {
            	        FOLLOWPUSH(FOLLOW_cast_expression_in_primary9996);
            	        cast_expression1830=cast_expression(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleprimaryEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, cast_expression1830.tree);

            	    }
            	    break;

                }
            }

            // MySQL.g:1779:2: ( options {greedy=true; } : COLLATE_SYMBOL text_or_identifier )*

            for (;;)
            {
                int alt570=2;
                switch ( LA(1) )
                {
                case COLLATE_SYMBOL:
                	{
                		alt570=1;
                	}
                    break;

                }

                switch (alt570)
                {
            	case 1:
            	    // MySQL.g:1779:32: COLLATE_SYMBOL text_or_identifier
            	    {
            	        COLLATE_SYMBOL1831 = (pANTLR3_COMMON_TOKEN) MATCHT(COLLATE_SYMBOL, &FOLLOW_COLLATE_SYMBOL_in_primary10018);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleprimaryEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        COLLATE_SYMBOL1831_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COLLATE_SYMBOL1831));
            	        ADAPTOR->addChild(ADAPTOR, root_0, COLLATE_SYMBOL1831_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_text_or_identifier_in_primary10020);
            	        text_or_identifier1832=text_or_identifier(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleprimaryEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, text_or_identifier1832.tree);

            	    }
            	    break;

            	default:
            	    goto loop570;	/* break out of the loop */
            	    break;
                }
            }
            loop570: ; /* 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 comparison_operator
 * MySQL.g:1782: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    set1833;

    pANTLR3_BASE_TREE set1833_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    set1833       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    set1833_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1782: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));


            set1833=(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, set1833))
                );
                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:1787: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    set1834;

    pANTLR3_BASE_TREE set1834_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    set1834       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    set1834_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1787:24: ( MULT_OPERATOR | DIV_OPERATOR | DIV_SYMBOL | MOD_OPERATOR | MOD_SYMBOL )
        // MySQL.g:
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            set1834=(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, set1834))
                );
                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 function_call_expression
 * MySQL.g:1793:1: function_call_expression : function_call -> ^( FUNCTION_CALL function_call ) ;
 */
static MySQLParser_function_call_expression_return
function_call_expression(pMySQLParser ctx)
{
    MySQLParser_function_call_expression_return retval;


    pANTLR3_BASE_TREE root_0;

    MySQLParser_function_call_return function_call1835;
    #undef	RETURN_TYPE_function_call1835
    #define	RETURN_TYPE_function_call1835 MySQLParser_function_call_return

    pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_function_call;
    /* Initialize rule variables
     */

    root_0 = NULL;

    function_call1835.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;



    stream_function_call   = NULL;
    #define CREATE_stream_function_call  if (stream_function_call == NULL) {stream_function_call = antlr3RewriteRuleSubtreeStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"rule function_call"); }

    retval.tree  = NULL;

    {
        // MySQL.g:1793:25: ( function_call -> ^( FUNCTION_CALL function_call ) )
        // MySQL.g:1794:2: function_call
        {
            FOLLOWPUSH(FOLLOW_function_call_in_function_call_expression10097);
            function_call1835=function_call(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulefunction_call_expressionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) { CREATE_stream_function_call; stream_function_call->add(stream_function_call, function_call1835.tree, NULL); }

            /* AST REWRITE
             * elements          : function_call
             * 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:16: -> ^( FUNCTION_CALL function_call )
            	{
            	    // MySQL.g:1794:19: ^( FUNCTION_CALL function_call )
            	    {
            	        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, (pANTLR3_UINT8)"FUNCTION_CALL")
            	        , root_1));

            	        ADAPTOR->addChild(ADAPTOR, root_1, stream_function_call == NULL ? NULL : stream_function_call->nextTree(stream_function_call));

            	        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_call_expressionEx; /* Prevent compiler warnings */
    rulefunction_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 (stream_function_call != NULL) stream_function_call->free(stream_function_call);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end function_call_expression */

/**
 * $ANTLR start function_call
 * MySQL.g:1797:1: function_call : ( 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 INTEGER 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 INTEGER 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 expression 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_function_call_return
function_call(pMySQLParser ctx)
{
    MySQLParser_function_call_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    CHAR_SYMBOL1836;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL1837;
    pANTLR3_COMMON_TOKEN    USING_SYMBOL1839;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL1841;
    pANTLR3_COMMON_TOKEN    CURRENT_USER_SYMBOL1842;
    pANTLR3_COMMON_TOKEN    DATE_SYMBOL1844;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL1845;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL1847;
    pANTLR3_COMMON_TOKEN    DAY_SYMBOL1848;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL1849;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL1851;
    pANTLR3_COMMON_TOKEN    HOUR_SYMBOL1852;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL1853;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL1855;
    pANTLR3_COMMON_TOKEN    INSERT_SYMBOL1856;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL1857;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL1859;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL1861;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL1863;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL1865;
    pANTLR3_COMMON_TOKEN    LEFT_SYMBOL1866;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL1867;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL1869;
    pANTLR3_COMMON_TOKEN    INTEGER1870;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL1871;
    pANTLR3_COMMON_TOKEN    MINUTE_SYMBOL1872;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL1873;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL1875;
    pANTLR3_COMMON_TOKEN    MONTH_SYMBOL1876;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL1877;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL1879;
    pANTLR3_COMMON_TOKEN    RIGHT_SYMBOL1880;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL1881;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL1883;
    pANTLR3_COMMON_TOKEN    INTEGER1884;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL1885;
    pANTLR3_COMMON_TOKEN    SECOND_SYMBOL1886;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL1887;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL1889;
    pANTLR3_COMMON_TOKEN    TIME_SYMBOL1890;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL1891;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL1893;
    pANTLR3_COMMON_TOKEN    TIMESTAMP_SYMBOL1894;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL1895;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL1897;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL1899;
    pANTLR3_COMMON_TOKEN    USER_SYMBOL1901;
    pANTLR3_COMMON_TOKEN    VALUES_SYMBOL1903;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL1904;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL1906;
    pANTLR3_COMMON_TOKEN    YEAR_SYMBOL1907;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL1908;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL1910;
    pANTLR3_COMMON_TOKEN    set1911;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL1912;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL1914;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL1916;
    pANTLR3_COMMON_TOKEN    CURDATE_SYMBOL1917;
    pANTLR3_COMMON_TOKEN    CURTIME_SYMBOL1919;
    pANTLR3_COMMON_TOKEN    set1921;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL1922;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL1924;
    pANTLR3_COMMON_TOKEN    INTERVAL_SYMBOL1925;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL1927;
    pANTLR3_COMMON_TOKEN    EXTRACT_SYMBOL1928;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL1929;
    pANTLR3_COMMON_TOKEN    FROM_SYMBOL1931;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL1933;
    pANTLR3_COMMON_TOKEN    GET_FORMAT_SYMBOL1934;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL1935;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL1937;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL1939;
    pANTLR3_COMMON_TOKEN    NOW_SYMBOL1940;
    pANTLR3_COMMON_TOKEN    POSITION_SYMBOL1942;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL1943;
    pANTLR3_COMMON_TOKEN    IN_SYMBOL1945;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL1947;
    pANTLR3_COMMON_TOKEN    SYSDATE_SYMBOL1949;
    pANTLR3_COMMON_TOKEN    set1951;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL1952;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL1954;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL1956;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL1958;
    pANTLR3_COMMON_TOKEN    UTC_DATE_SYMBOL1959;
    pANTLR3_COMMON_TOKEN    UTC_TIME_SYMBOL1961;
    pANTLR3_COMMON_TOKEN    UTC_TIMESTAMP_SYMBOL1963;
    pANTLR3_COMMON_TOKEN    ASCII_SYMBOL1965;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL1966;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL1968;
    pANTLR3_COMMON_TOKEN    CHARSET_SYMBOL1969;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL1970;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL1972;
    pANTLR3_COMMON_TOKEN    COALESCE_SYMBOL1973;
    pANTLR3_COMMON_TOKEN    COLLATION_SYMBOL1975;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL1976;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL1978;
    pANTLR3_COMMON_TOKEN    DATABASE_SYMBOL1979;
    pANTLR3_COMMON_TOKEN    IF_SYMBOL1981;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL1982;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL1984;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL1986;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL1988;
    pANTLR3_COMMON_TOKEN    FORMAT_SYMBOL1989;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL1990;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL1992;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL1994;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL1996;
    pANTLR3_COMMON_TOKEN    MICROSECOND_SYMBOL1997;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL1998;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2000;
    pANTLR3_COMMON_TOKEN    MOD_SYMBOL2001;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL2002;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL2004;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2006;
    pANTLR3_COMMON_TOKEN    OLD_PASSWORD_SYMBOL2007;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL2008;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2010;
    pANTLR3_COMMON_TOKEN    PASSWORD_SYMBOL2011;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL2012;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2014;
    pANTLR3_COMMON_TOKEN    QUARTER_SYMBOL2015;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL2016;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2018;
    pANTLR3_COMMON_TOKEN    REPEAT_SYMBOL2019;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL2020;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL2022;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2024;
    pANTLR3_COMMON_TOKEN    REPLACE_SYMBOL2025;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL2026;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL2028;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL2030;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2032;
    pANTLR3_COMMON_TOKEN    REVERSE_SYMBOL2033;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL2034;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2036;
    pANTLR3_COMMON_TOKEN    ROW_COUNT_SYMBOL2037;
    pANTLR3_COMMON_TOKEN    TRUNCATE_SYMBOL2039;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL2040;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL2042;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2044;
    pANTLR3_COMMON_TOKEN    WEEK_SYMBOL2045;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL2046;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL2048;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2050;
    pANTLR3_COMMON_TOKEN    WEIGHT_STRING_SYMBOL2051;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL2052;
    pANTLR3_COMMON_TOKEN    AS_SYMBOL2054;
    pANTLR3_COMMON_TOKEN    CHAR_SYMBOL2055;
    pANTLR3_COMMON_TOKEN    AS_SYMBOL2058;
    pANTLR3_COMMON_TOKEN    BINARY_SYMBOL2059;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL2061;
    pANTLR3_COMMON_TOKEN    INTEGER2062;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL2063;
    pANTLR3_COMMON_TOKEN    INTEGER2064;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL2065;
    pANTLR3_COMMON_TOKEN    INTEGER2066;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2067;
    MySQLParser_expression_list_return expression_list1838;
    #undef	RETURN_TYPE_expression_list1838
    #define	RETURN_TYPE_expression_list1838 MySQLParser_expression_list_return

    MySQLParser_charset_name_return charset_name1840;
    #undef	RETURN_TYPE_charset_name1840
    #define	RETURN_TYPE_charset_name1840 MySQLParser_charset_name_return

    MySQLParser_parentheses_return parentheses1843;
    #undef	RETURN_TYPE_parentheses1843
    #define	RETURN_TYPE_parentheses1843 MySQLParser_parentheses_return

    MySQLParser_expression_return expression1846;
    #undef	RETURN_TYPE_expression1846
    #define	RETURN_TYPE_expression1846 MySQLParser_expression_return

    MySQLParser_expression_return expression1850;
    #undef	RETURN_TYPE_expression1850
    #define	RETURN_TYPE_expression1850 MySQLParser_expression_return

    MySQLParser_expression_return expression1854;
    #undef	RETURN_TYPE_expression1854
    #define	RETURN_TYPE_expression1854 MySQLParser_expression_return

    MySQLParser_expression_return expression1858;
    #undef	RETURN_TYPE_expression1858
    #define	RETURN_TYPE_expression1858 MySQLParser_expression_return

    MySQLParser_expression_return expression1860;
    #undef	RETURN_TYPE_expression1860
    #define	RETURN_TYPE_expression1860 MySQLParser_expression_return

    MySQLParser_expression_return expression1862;
    #undef	RETURN_TYPE_expression1862
    #define	RETURN_TYPE_expression1862 MySQLParser_expression_return

    MySQLParser_expression_return expression1864;
    #undef	RETURN_TYPE_expression1864
    #define	RETURN_TYPE_expression1864 MySQLParser_expression_return

    MySQLParser_expression_return expression1868;
    #undef	RETURN_TYPE_expression1868
    #define	RETURN_TYPE_expression1868 MySQLParser_expression_return

    MySQLParser_expression_return expression1874;
    #undef	RETURN_TYPE_expression1874
    #define	RETURN_TYPE_expression1874 MySQLParser_expression_return

    MySQLParser_expression_return expression1878;
    #undef	RETURN_TYPE_expression1878
    #define	RETURN_TYPE_expression1878 MySQLParser_expression_return

    MySQLParser_expression_return expression1882;
    #undef	RETURN_TYPE_expression1882
    #define	RETURN_TYPE_expression1882 MySQLParser_expression_return

    MySQLParser_expression_return expression1888;
    #undef	RETURN_TYPE_expression1888
    #define	RETURN_TYPE_expression1888 MySQLParser_expression_return

    MySQLParser_expression_return expression1892;
    #undef	RETURN_TYPE_expression1892
    #define	RETURN_TYPE_expression1892 MySQLParser_expression_return

    MySQLParser_expression_return expression1896;
    #undef	RETURN_TYPE_expression1896
    #define	RETURN_TYPE_expression1896 MySQLParser_expression_return

    MySQLParser_expression_return expression1898;
    #undef	RETURN_TYPE_expression1898
    #define	RETURN_TYPE_expression1898 MySQLParser_expression_return

    MySQLParser_trim_function_return trim_function1900;
    #undef	RETURN_TYPE_trim_function1900
    #define	RETURN_TYPE_trim_function1900 MySQLParser_trim_function_return

    MySQLParser_parentheses_return parentheses1902;
    #undef	RETURN_TYPE_parentheses1902
    #define	RETURN_TYPE_parentheses1902 MySQLParser_parentheses_return

    MySQLParser_expression_return expression1905;
    #undef	RETURN_TYPE_expression1905
    #define	RETURN_TYPE_expression1905 MySQLParser_expression_return

    MySQLParser_expression_return expression1909;
    #undef	RETURN_TYPE_expression1909
    #define	RETURN_TYPE_expression1909 MySQLParser_expression_return

    MySQLParser_expression_return expression1913;
    #undef	RETURN_TYPE_expression1913
    #define	RETURN_TYPE_expression1913 MySQLParser_expression_return

    MySQLParser_expression_return expression1915;
    #undef	RETURN_TYPE_expression1915
    #define	RETURN_TYPE_expression1915 MySQLParser_expression_return

    MySQLParser_parentheses_return parentheses1918;
    #undef	RETURN_TYPE_parentheses1918
    #define	RETURN_TYPE_parentheses1918 MySQLParser_parentheses_return

    MySQLParser_time_function_parameters_return time_function_parameters1920;
    #undef	RETURN_TYPE_time_function_parameters1920
    #define	RETURN_TYPE_time_function_parameters1920 MySQLParser_time_function_parameters_return

    MySQLParser_expression_return expression1923;
    #undef	RETURN_TYPE_expression1923
    #define	RETURN_TYPE_expression1923 MySQLParser_expression_return

    MySQLParser_interval_return interval1926;
    #undef	RETURN_TYPE_interval1926
    #define	RETURN_TYPE_interval1926 MySQLParser_interval_return

    MySQLParser_interval_unit_return interval_unit1930;
    #undef	RETURN_TYPE_interval_unit1930
    #define	RETURN_TYPE_interval_unit1930 MySQLParser_interval_unit_return

    MySQLParser_expression_return expression1932;
    #undef	RETURN_TYPE_expression1932
    #define	RETURN_TYPE_expression1932 MySQLParser_expression_return

    MySQLParser_date_time_type_return date_time_type1936;
    #undef	RETURN_TYPE_date_time_type1936
    #define	RETURN_TYPE_date_time_type1936 MySQLParser_date_time_type_return

    MySQLParser_expression_return expression1938;
    #undef	RETURN_TYPE_expression1938
    #define	RETURN_TYPE_expression1938 MySQLParser_expression_return

    MySQLParser_time_function_parameters_return time_function_parameters1941;
    #undef	RETURN_TYPE_time_function_parameters1941
    #define	RETURN_TYPE_time_function_parameters1941 MySQLParser_time_function_parameters_return

    MySQLParser_bitwise_or_expression_return bitwise_or_expression1944;
    #undef	RETURN_TYPE_bitwise_or_expression1944
    #define	RETURN_TYPE_bitwise_or_expression1944 MySQLParser_bitwise_or_expression_return

    MySQLParser_expression_return expression1946;
    #undef	RETURN_TYPE_expression1946
    #define	RETURN_TYPE_expression1946 MySQLParser_expression_return

    MySQLParser_substring_function_return substring_function1948;
    #undef	RETURN_TYPE_substring_function1948
    #define	RETURN_TYPE_substring_function1948 MySQLParser_substring_function_return

    MySQLParser_time_function_parameters_return time_function_parameters1950;
    #undef	RETURN_TYPE_time_function_parameters1950
    #define	RETURN_TYPE_time_function_parameters1950 MySQLParser_time_function_parameters_return

    MySQLParser_interval_timestamp_unit_return interval_timestamp_unit1953;
    #undef	RETURN_TYPE_interval_timestamp_unit1953
    #define	RETURN_TYPE_interval_timestamp_unit1953 MySQLParser_interval_timestamp_unit_return

    MySQLParser_expression_return expression1955;
    #undef	RETURN_TYPE_expression1955
    #define	RETURN_TYPE_expression1955 MySQLParser_expression_return

    MySQLParser_expression_return expression1957;
    #undef	RETURN_TYPE_expression1957
    #define	RETURN_TYPE_expression1957 MySQLParser_expression_return

    MySQLParser_parentheses_return parentheses1960;
    #undef	RETURN_TYPE_parentheses1960
    #define	RETURN_TYPE_parentheses1960 MySQLParser_parentheses_return

    MySQLParser_time_function_parameters_return time_function_parameters1962;
    #undef	RETURN_TYPE_time_function_parameters1962
    #define	RETURN_TYPE_time_function_parameters1962 MySQLParser_time_function_parameters_return

    MySQLParser_time_function_parameters_return time_function_parameters1964;
    #undef	RETURN_TYPE_time_function_parameters1964
    #define	RETURN_TYPE_time_function_parameters1964 MySQLParser_time_function_parameters_return

    MySQLParser_expression_return expression1967;
    #undef	RETURN_TYPE_expression1967
    #define	RETURN_TYPE_expression1967 MySQLParser_expression_return

    MySQLParser_expression_return expression1971;
    #undef	RETURN_TYPE_expression1971
    #define	RETURN_TYPE_expression1971 MySQLParser_expression_return

    MySQLParser_expression_list_with_parentheses_return expression_list_with_parentheses1974;
    #undef	RETURN_TYPE_expression_list_with_parentheses1974
    #define	RETURN_TYPE_expression_list_with_parentheses1974 MySQLParser_expression_list_with_parentheses_return

    MySQLParser_expression_return expression1977;
    #undef	RETURN_TYPE_expression1977
    #define	RETURN_TYPE_expression1977 MySQLParser_expression_return

    MySQLParser_parentheses_return parentheses1980;
    #undef	RETURN_TYPE_parentheses1980
    #define	RETURN_TYPE_parentheses1980 MySQLParser_parentheses_return

    MySQLParser_expression_return expression1983;
    #undef	RETURN_TYPE_expression1983
    #define	RETURN_TYPE_expression1983 MySQLParser_expression_return

    MySQLParser_expression_return expression1985;
    #undef	RETURN_TYPE_expression1985
    #define	RETURN_TYPE_expression1985 MySQLParser_expression_return

    MySQLParser_expression_return expression1987;
    #undef	RETURN_TYPE_expression1987
    #define	RETURN_TYPE_expression1987 MySQLParser_expression_return

    MySQLParser_expression_return expression1991;
    #undef	RETURN_TYPE_expression1991
    #define	RETURN_TYPE_expression1991 MySQLParser_expression_return

    MySQLParser_expression_return expression1993;
    #undef	RETURN_TYPE_expression1993
    #define	RETURN_TYPE_expression1993 MySQLParser_expression_return

    MySQLParser_expression_return expression1995;
    #undef	RETURN_TYPE_expression1995
    #define	RETURN_TYPE_expression1995 MySQLParser_expression_return

    MySQLParser_expression_return expression1999;
    #undef	RETURN_TYPE_expression1999
    #define	RETURN_TYPE_expression1999 MySQLParser_expression_return

    MySQLParser_expression_return expression2003;
    #undef	RETURN_TYPE_expression2003
    #define	RETURN_TYPE_expression2003 MySQLParser_expression_return

    MySQLParser_expression_return expression2005;
    #undef	RETURN_TYPE_expression2005
    #define	RETURN_TYPE_expression2005 MySQLParser_expression_return

    MySQLParser_expression_return expression2009;
    #undef	RETURN_TYPE_expression2009
    #define	RETURN_TYPE_expression2009 MySQLParser_expression_return

    MySQLParser_expression_return expression2013;
    #undef	RETURN_TYPE_expression2013
    #define	RETURN_TYPE_expression2013 MySQLParser_expression_return

    MySQLParser_expression_return expression2017;
    #undef	RETURN_TYPE_expression2017
    #define	RETURN_TYPE_expression2017 MySQLParser_expression_return

    MySQLParser_expression_return expression2021;
    #undef	RETURN_TYPE_expression2021
    #define	RETURN_TYPE_expression2021 MySQLParser_expression_return

    MySQLParser_expression_return expression2023;
    #undef	RETURN_TYPE_expression2023
    #define	RETURN_TYPE_expression2023 MySQLParser_expression_return

    MySQLParser_expression_return expression2027;
    #undef	RETURN_TYPE_expression2027
    #define	RETURN_TYPE_expression2027 MySQLParser_expression_return

    MySQLParser_expression_return expression2029;
    #undef	RETURN_TYPE_expression2029
    #define	RETURN_TYPE_expression2029 MySQLParser_expression_return

    MySQLParser_expression_return expression2031;
    #undef	RETURN_TYPE_expression2031
    #define	RETURN_TYPE_expression2031 MySQLParser_expression_return

    MySQLParser_expression_return expression2035;
    #undef	RETURN_TYPE_expression2035
    #define	RETURN_TYPE_expression2035 MySQLParser_expression_return

    MySQLParser_parentheses_return parentheses2038;
    #undef	RETURN_TYPE_parentheses2038
    #define	RETURN_TYPE_parentheses2038 MySQLParser_parentheses_return

    MySQLParser_expression_return expression2041;
    #undef	RETURN_TYPE_expression2041
    #define	RETURN_TYPE_expression2041 MySQLParser_expression_return

    MySQLParser_expression_return expression2043;
    #undef	RETURN_TYPE_expression2043
    #define	RETURN_TYPE_expression2043 MySQLParser_expression_return

    MySQLParser_expression_return expression2047;
    #undef	RETURN_TYPE_expression2047
    #define	RETURN_TYPE_expression2047 MySQLParser_expression_return

    MySQLParser_expression_return expression2049;
    #undef	RETURN_TYPE_expression2049
    #define	RETURN_TYPE_expression2049 MySQLParser_expression_return

    MySQLParser_expression_return expression2053;
    #undef	RETURN_TYPE_expression2053
    #define	RETURN_TYPE_expression2053 MySQLParser_expression_return

    MySQLParser_field_length_return field_length2056;
    #undef	RETURN_TYPE_field_length2056
    #define	RETURN_TYPE_field_length2056 MySQLParser_field_length_return

    MySQLParser_weight_string_levels_return weight_string_levels2057;
    #undef	RETURN_TYPE_weight_string_levels2057
    #define	RETURN_TYPE_weight_string_levels2057 MySQLParser_weight_string_levels_return

    MySQLParser_field_length_return field_length2060;
    #undef	RETURN_TYPE_field_length2060
    #define	RETURN_TYPE_field_length2060 MySQLParser_field_length_return

    MySQLParser_geometry_function_return geometry_function2068;
    #undef	RETURN_TYPE_geometry_function2068
    #define	RETURN_TYPE_geometry_function2068 MySQLParser_geometry_function_return

    MySQLParser_aggregate_function_return aggregate_function2069;
    #undef	RETURN_TYPE_aggregate_function2069
    #define	RETURN_TYPE_aggregate_function2069 MySQLParser_aggregate_function_return

    pANTLR3_BASE_TREE CHAR_SYMBOL1836_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL1837_tree;
    pANTLR3_BASE_TREE USING_SYMBOL1839_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL1841_tree;
    pANTLR3_BASE_TREE CURRENT_USER_SYMBOL1842_tree;
    pANTLR3_BASE_TREE DATE_SYMBOL1844_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL1845_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL1847_tree;
    pANTLR3_BASE_TREE DAY_SYMBOL1848_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL1849_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL1851_tree;
    pANTLR3_BASE_TREE HOUR_SYMBOL1852_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL1853_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL1855_tree;
    pANTLR3_BASE_TREE INSERT_SYMBOL1856_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL1857_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL1859_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL1861_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL1863_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL1865_tree;
    pANTLR3_BASE_TREE LEFT_SYMBOL1866_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL1867_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL1869_tree;
    pANTLR3_BASE_TREE INTEGER1870_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL1871_tree;
    pANTLR3_BASE_TREE MINUTE_SYMBOL1872_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL1873_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL1875_tree;
    pANTLR3_BASE_TREE MONTH_SYMBOL1876_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL1877_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL1879_tree;
    pANTLR3_BASE_TREE RIGHT_SYMBOL1880_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL1881_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL1883_tree;
    pANTLR3_BASE_TREE INTEGER1884_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL1885_tree;
    pANTLR3_BASE_TREE SECOND_SYMBOL1886_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL1887_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL1889_tree;
    pANTLR3_BASE_TREE TIME_SYMBOL1890_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL1891_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL1893_tree;
    pANTLR3_BASE_TREE TIMESTAMP_SYMBOL1894_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL1895_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL1897_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL1899_tree;
    pANTLR3_BASE_TREE USER_SYMBOL1901_tree;
    pANTLR3_BASE_TREE VALUES_SYMBOL1903_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL1904_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL1906_tree;
    pANTLR3_BASE_TREE YEAR_SYMBOL1907_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL1908_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL1910_tree;
    pANTLR3_BASE_TREE set1911_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL1912_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL1914_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL1916_tree;
    pANTLR3_BASE_TREE CURDATE_SYMBOL1917_tree;
    pANTLR3_BASE_TREE CURTIME_SYMBOL1919_tree;
    pANTLR3_BASE_TREE set1921_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL1922_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL1924_tree;
    pANTLR3_BASE_TREE INTERVAL_SYMBOL1925_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL1927_tree;
    pANTLR3_BASE_TREE EXTRACT_SYMBOL1928_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL1929_tree;
    pANTLR3_BASE_TREE FROM_SYMBOL1931_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL1933_tree;
    pANTLR3_BASE_TREE GET_FORMAT_SYMBOL1934_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL1935_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL1937_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL1939_tree;
    pANTLR3_BASE_TREE NOW_SYMBOL1940_tree;
    pANTLR3_BASE_TREE POSITION_SYMBOL1942_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL1943_tree;
    pANTLR3_BASE_TREE IN_SYMBOL1945_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL1947_tree;
    pANTLR3_BASE_TREE SYSDATE_SYMBOL1949_tree;
    pANTLR3_BASE_TREE set1951_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL1952_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL1954_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL1956_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL1958_tree;
    pANTLR3_BASE_TREE UTC_DATE_SYMBOL1959_tree;
    pANTLR3_BASE_TREE UTC_TIME_SYMBOL1961_tree;
    pANTLR3_BASE_TREE UTC_TIMESTAMP_SYMBOL1963_tree;
    pANTLR3_BASE_TREE ASCII_SYMBOL1965_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL1966_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL1968_tree;
    pANTLR3_BASE_TREE CHARSET_SYMBOL1969_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL1970_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL1972_tree;
    pANTLR3_BASE_TREE COALESCE_SYMBOL1973_tree;
    pANTLR3_BASE_TREE COLLATION_SYMBOL1975_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL1976_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL1978_tree;
    pANTLR3_BASE_TREE DATABASE_SYMBOL1979_tree;
    pANTLR3_BASE_TREE IF_SYMBOL1981_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL1982_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL1984_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL1986_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL1988_tree;
    pANTLR3_BASE_TREE FORMAT_SYMBOL1989_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL1990_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL1992_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL1994_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL1996_tree;
    pANTLR3_BASE_TREE MICROSECOND_SYMBOL1997_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL1998_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2000_tree;
    pANTLR3_BASE_TREE MOD_SYMBOL2001_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2002_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL2004_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2006_tree;
    pANTLR3_BASE_TREE OLD_PASSWORD_SYMBOL2007_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2008_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2010_tree;
    pANTLR3_BASE_TREE PASSWORD_SYMBOL2011_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2012_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2014_tree;
    pANTLR3_BASE_TREE QUARTER_SYMBOL2015_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2016_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2018_tree;
    pANTLR3_BASE_TREE REPEAT_SYMBOL2019_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2020_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL2022_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2024_tree;
    pANTLR3_BASE_TREE REPLACE_SYMBOL2025_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2026_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL2028_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL2030_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2032_tree;
    pANTLR3_BASE_TREE REVERSE_SYMBOL2033_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2034_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2036_tree;
    pANTLR3_BASE_TREE ROW_COUNT_SYMBOL2037_tree;
    pANTLR3_BASE_TREE TRUNCATE_SYMBOL2039_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2040_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL2042_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2044_tree;
    pANTLR3_BASE_TREE WEEK_SYMBOL2045_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2046_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL2048_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2050_tree;
    pANTLR3_BASE_TREE WEIGHT_STRING_SYMBOL2051_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2052_tree;
    pANTLR3_BASE_TREE AS_SYMBOL2054_tree;
    pANTLR3_BASE_TREE CHAR_SYMBOL2055_tree;
    pANTLR3_BASE_TREE AS_SYMBOL2058_tree;
    pANTLR3_BASE_TREE BINARY_SYMBOL2059_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL2061_tree;
    pANTLR3_BASE_TREE INTEGER2062_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL2063_tree;
    pANTLR3_BASE_TREE INTEGER2064_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL2065_tree;
    pANTLR3_BASE_TREE INTEGER2066_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2067_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    CHAR_SYMBOL1836       = NULL;
    OPEN_PAR_SYMBOL1837       = NULL;
    USING_SYMBOL1839       = NULL;
    CLOSE_PAR_SYMBOL1841       = NULL;
    CURRENT_USER_SYMBOL1842       = NULL;
    DATE_SYMBOL1844       = NULL;
    OPEN_PAR_SYMBOL1845       = NULL;
    CLOSE_PAR_SYMBOL1847       = NULL;
    DAY_SYMBOL1848       = NULL;
    OPEN_PAR_SYMBOL1849       = NULL;
    CLOSE_PAR_SYMBOL1851       = NULL;
    HOUR_SYMBOL1852       = NULL;
    OPEN_PAR_SYMBOL1853       = NULL;
    CLOSE_PAR_SYMBOL1855       = NULL;
    INSERT_SYMBOL1856       = NULL;
    OPEN_PAR_SYMBOL1857       = NULL;
    COMMA_SYMBOL1859       = NULL;
    COMMA_SYMBOL1861       = NULL;
    COMMA_SYMBOL1863       = NULL;
    CLOSE_PAR_SYMBOL1865       = NULL;
    LEFT_SYMBOL1866       = NULL;
    OPEN_PAR_SYMBOL1867       = NULL;
    COMMA_SYMBOL1869       = NULL;
    INTEGER1870       = NULL;
    CLOSE_PAR_SYMBOL1871       = NULL;
    MINUTE_SYMBOL1872       = NULL;
    OPEN_PAR_SYMBOL1873       = NULL;
    CLOSE_PAR_SYMBOL1875       = NULL;
    MONTH_SYMBOL1876       = NULL;
    OPEN_PAR_SYMBOL1877       = NULL;
    CLOSE_PAR_SYMBOL1879       = NULL;
    RIGHT_SYMBOL1880       = NULL;
    OPEN_PAR_SYMBOL1881       = NULL;
    COMMA_SYMBOL1883       = NULL;
    INTEGER1884       = NULL;
    CLOSE_PAR_SYMBOL1885       = NULL;
    SECOND_SYMBOL1886       = NULL;
    OPEN_PAR_SYMBOL1887       = NULL;
    CLOSE_PAR_SYMBOL1889       = NULL;
    TIME_SYMBOL1890       = NULL;
    OPEN_PAR_SYMBOL1891       = NULL;
    CLOSE_PAR_SYMBOL1893       = NULL;
    TIMESTAMP_SYMBOL1894       = NULL;
    OPEN_PAR_SYMBOL1895       = NULL;
    COMMA_SYMBOL1897       = NULL;
    CLOSE_PAR_SYMBOL1899       = NULL;
    USER_SYMBOL1901       = NULL;
    VALUES_SYMBOL1903       = NULL;
    OPEN_PAR_SYMBOL1904       = NULL;
    CLOSE_PAR_SYMBOL1906       = NULL;
    YEAR_SYMBOL1907       = NULL;
    OPEN_PAR_SYMBOL1908       = NULL;
    CLOSE_PAR_SYMBOL1910       = NULL;
    set1911       = NULL;
    OPEN_PAR_SYMBOL1912       = NULL;
    COMMA_SYMBOL1914       = NULL;
    CLOSE_PAR_SYMBOL1916       = NULL;
    CURDATE_SYMBOL1917       = NULL;
    CURTIME_SYMBOL1919       = NULL;
    set1921       = NULL;
    OPEN_PAR_SYMBOL1922       = NULL;
    COMMA_SYMBOL1924       = NULL;
    INTERVAL_SYMBOL1925       = NULL;
    CLOSE_PAR_SYMBOL1927       = NULL;
    EXTRACT_SYMBOL1928       = NULL;
    OPEN_PAR_SYMBOL1929       = NULL;
    FROM_SYMBOL1931       = NULL;
    CLOSE_PAR_SYMBOL1933       = NULL;
    GET_FORMAT_SYMBOL1934       = NULL;
    OPEN_PAR_SYMBOL1935       = NULL;
    COMMA_SYMBOL1937       = NULL;
    CLOSE_PAR_SYMBOL1939       = NULL;
    NOW_SYMBOL1940       = NULL;
    POSITION_SYMBOL1942       = NULL;
    OPEN_PAR_SYMBOL1943       = NULL;
    IN_SYMBOL1945       = NULL;
    CLOSE_PAR_SYMBOL1947       = NULL;
    SYSDATE_SYMBOL1949       = NULL;
    set1951       = NULL;
    OPEN_PAR_SYMBOL1952       = NULL;
    COMMA_SYMBOL1954       = NULL;
    COMMA_SYMBOL1956       = NULL;
    CLOSE_PAR_SYMBOL1958       = NULL;
    UTC_DATE_SYMBOL1959       = NULL;
    UTC_TIME_SYMBOL1961       = NULL;
    UTC_TIMESTAMP_SYMBOL1963       = NULL;
    ASCII_SYMBOL1965       = NULL;
    OPEN_PAR_SYMBOL1966       = NULL;
    CLOSE_PAR_SYMBOL1968       = NULL;
    CHARSET_SYMBOL1969       = NULL;
    OPEN_PAR_SYMBOL1970       = NULL;
    CLOSE_PAR_SYMBOL1972       = NULL;
    COALESCE_SYMBOL1973       = NULL;
    COLLATION_SYMBOL1975       = NULL;
    OPEN_PAR_SYMBOL1976       = NULL;
    CLOSE_PAR_SYMBOL1978       = NULL;
    DATABASE_SYMBOL1979       = NULL;
    IF_SYMBOL1981       = NULL;
    OPEN_PAR_SYMBOL1982       = NULL;
    COMMA_SYMBOL1984       = NULL;
    COMMA_SYMBOL1986       = NULL;
    CLOSE_PAR_SYMBOL1988       = NULL;
    FORMAT_SYMBOL1989       = NULL;
    OPEN_PAR_SYMBOL1990       = NULL;
    COMMA_SYMBOL1992       = NULL;
    COMMA_SYMBOL1994       = NULL;
    CLOSE_PAR_SYMBOL1996       = NULL;
    MICROSECOND_SYMBOL1997       = NULL;
    OPEN_PAR_SYMBOL1998       = NULL;
    CLOSE_PAR_SYMBOL2000       = NULL;
    MOD_SYMBOL2001       = NULL;
    OPEN_PAR_SYMBOL2002       = NULL;
    COMMA_SYMBOL2004       = NULL;
    CLOSE_PAR_SYMBOL2006       = NULL;
    OLD_PASSWORD_SYMBOL2007       = NULL;
    OPEN_PAR_SYMBOL2008       = NULL;
    CLOSE_PAR_SYMBOL2010       = NULL;
    PASSWORD_SYMBOL2011       = NULL;
    OPEN_PAR_SYMBOL2012       = NULL;
    CLOSE_PAR_SYMBOL2014       = NULL;
    QUARTER_SYMBOL2015       = NULL;
    OPEN_PAR_SYMBOL2016       = NULL;
    CLOSE_PAR_SYMBOL2018       = NULL;
    REPEAT_SYMBOL2019       = NULL;
    OPEN_PAR_SYMBOL2020       = NULL;
    COMMA_SYMBOL2022       = NULL;
    CLOSE_PAR_SYMBOL2024       = NULL;
    REPLACE_SYMBOL2025       = NULL;
    OPEN_PAR_SYMBOL2026       = NULL;
    COMMA_SYMBOL2028       = NULL;
    COMMA_SYMBOL2030       = NULL;
    CLOSE_PAR_SYMBOL2032       = NULL;
    REVERSE_SYMBOL2033       = NULL;
    OPEN_PAR_SYMBOL2034       = NULL;
    CLOSE_PAR_SYMBOL2036       = NULL;
    ROW_COUNT_SYMBOL2037       = NULL;
    TRUNCATE_SYMBOL2039       = NULL;
    OPEN_PAR_SYMBOL2040       = NULL;
    COMMA_SYMBOL2042       = NULL;
    CLOSE_PAR_SYMBOL2044       = NULL;
    WEEK_SYMBOL2045       = NULL;
    OPEN_PAR_SYMBOL2046       = NULL;
    COMMA_SYMBOL2048       = NULL;
    CLOSE_PAR_SYMBOL2050       = NULL;
    WEIGHT_STRING_SYMBOL2051       = NULL;
    OPEN_PAR_SYMBOL2052       = NULL;
    AS_SYMBOL2054       = NULL;
    CHAR_SYMBOL2055       = NULL;
    AS_SYMBOL2058       = NULL;
    BINARY_SYMBOL2059       = NULL;
    COMMA_SYMBOL2061       = NULL;
    INTEGER2062       = NULL;
    COMMA_SYMBOL2063       = NULL;
    INTEGER2064       = NULL;
    COMMA_SYMBOL2065       = NULL;
    INTEGER2066       = NULL;
    CLOSE_PAR_SYMBOL2067       = NULL;
    expression_list1838.tree = NULL;

    charset_name1840.tree = NULL;

    parentheses1843.tree = NULL;

    expression1846.tree = NULL;

    expression1850.tree = NULL;

    expression1854.tree = NULL;

    expression1858.tree = NULL;

    expression1860.tree = NULL;

    expression1862.tree = NULL;

    expression1864.tree = NULL;

    expression1868.tree = NULL;

    expression1874.tree = NULL;

    expression1878.tree = NULL;

    expression1882.tree = NULL;

    expression1888.tree = NULL;

    expression1892.tree = NULL;

    expression1896.tree = NULL;

    expression1898.tree = NULL;

    trim_function1900.tree = NULL;

    parentheses1902.tree = NULL;

    expression1905.tree = NULL;

    expression1909.tree = NULL;

    expression1913.tree = NULL;

    expression1915.tree = NULL;

    parentheses1918.tree = NULL;

    time_function_parameters1920.tree = NULL;

    expression1923.tree = NULL;

    interval1926.tree = NULL;

    interval_unit1930.tree = NULL;

    expression1932.tree = NULL;

    date_time_type1936.tree = NULL;

    expression1938.tree = NULL;

    time_function_parameters1941.tree = NULL;

    bitwise_or_expression1944.tree = NULL;

    expression1946.tree = NULL;

    substring_function1948.tree = NULL;

    time_function_parameters1950.tree = NULL;

    interval_timestamp_unit1953.tree = NULL;

    expression1955.tree = NULL;

    expression1957.tree = NULL;

    parentheses1960.tree = NULL;

    time_function_parameters1962.tree = NULL;

    time_function_parameters1964.tree = NULL;

    expression1967.tree = NULL;

    expression1971.tree = NULL;

    expression_list_with_parentheses1974.tree = NULL;

    expression1977.tree = NULL;

    parentheses1980.tree = NULL;

    expression1983.tree = NULL;

    expression1985.tree = NULL;

    expression1987.tree = NULL;

    expression1991.tree = NULL;

    expression1993.tree = NULL;

    expression1995.tree = NULL;

    expression1999.tree = NULL;

    expression2003.tree = NULL;

    expression2005.tree = NULL;

    expression2009.tree = NULL;

    expression2013.tree = NULL;

    expression2017.tree = NULL;

    expression2021.tree = NULL;

    expression2023.tree = NULL;

    expression2027.tree = NULL;

    expression2029.tree = NULL;

    expression2031.tree = NULL;

    expression2035.tree = NULL;

    parentheses2038.tree = NULL;

    expression2041.tree = NULL;

    expression2043.tree = NULL;

    expression2047.tree = NULL;

    expression2049.tree = NULL;

    expression2053.tree = NULL;

    field_length2056.tree = NULL;

    weight_string_levels2057.tree = NULL;

    field_length2060.tree = NULL;

    geometry_function2068.tree = NULL;

    aggregate_function2069.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    CHAR_SYMBOL1836_tree   = NULL;
    OPEN_PAR_SYMBOL1837_tree   = NULL;
    USING_SYMBOL1839_tree   = NULL;
    CLOSE_PAR_SYMBOL1841_tree   = NULL;
    CURRENT_USER_SYMBOL1842_tree   = NULL;
    DATE_SYMBOL1844_tree   = NULL;
    OPEN_PAR_SYMBOL1845_tree   = NULL;
    CLOSE_PAR_SYMBOL1847_tree   = NULL;
    DAY_SYMBOL1848_tree   = NULL;
    OPEN_PAR_SYMBOL1849_tree   = NULL;
    CLOSE_PAR_SYMBOL1851_tree   = NULL;
    HOUR_SYMBOL1852_tree   = NULL;
    OPEN_PAR_SYMBOL1853_tree   = NULL;
    CLOSE_PAR_SYMBOL1855_tree   = NULL;
    INSERT_SYMBOL1856_tree   = NULL;
    OPEN_PAR_SYMBOL1857_tree   = NULL;
    COMMA_SYMBOL1859_tree   = NULL;
    COMMA_SYMBOL1861_tree   = NULL;
    COMMA_SYMBOL1863_tree   = NULL;
    CLOSE_PAR_SYMBOL1865_tree   = NULL;
    LEFT_SYMBOL1866_tree   = NULL;
    OPEN_PAR_SYMBOL1867_tree   = NULL;
    COMMA_SYMBOL1869_tree   = NULL;
    INTEGER1870_tree   = NULL;
    CLOSE_PAR_SYMBOL1871_tree   = NULL;
    MINUTE_SYMBOL1872_tree   = NULL;
    OPEN_PAR_SYMBOL1873_tree   = NULL;
    CLOSE_PAR_SYMBOL1875_tree   = NULL;
    MONTH_SYMBOL1876_tree   = NULL;
    OPEN_PAR_SYMBOL1877_tree   = NULL;
    CLOSE_PAR_SYMBOL1879_tree   = NULL;
    RIGHT_SYMBOL1880_tree   = NULL;
    OPEN_PAR_SYMBOL1881_tree   = NULL;
    COMMA_SYMBOL1883_tree   = NULL;
    INTEGER1884_tree   = NULL;
    CLOSE_PAR_SYMBOL1885_tree   = NULL;
    SECOND_SYMBOL1886_tree   = NULL;
    OPEN_PAR_SYMBOL1887_tree   = NULL;
    CLOSE_PAR_SYMBOL1889_tree   = NULL;
    TIME_SYMBOL1890_tree   = NULL;
    OPEN_PAR_SYMBOL1891_tree   = NULL;
    CLOSE_PAR_SYMBOL1893_tree   = NULL;
    TIMESTAMP_SYMBOL1894_tree   = NULL;
    OPEN_PAR_SYMBOL1895_tree   = NULL;
    COMMA_SYMBOL1897_tree   = NULL;
    CLOSE_PAR_SYMBOL1899_tree   = NULL;
    USER_SYMBOL1901_tree   = NULL;
    VALUES_SYMBOL1903_tree   = NULL;
    OPEN_PAR_SYMBOL1904_tree   = NULL;
    CLOSE_PAR_SYMBOL1906_tree   = NULL;
    YEAR_SYMBOL1907_tree   = NULL;
    OPEN_PAR_SYMBOL1908_tree   = NULL;
    CLOSE_PAR_SYMBOL1910_tree   = NULL;
    set1911_tree   = NULL;
    OPEN_PAR_SYMBOL1912_tree   = NULL;
    COMMA_SYMBOL1914_tree   = NULL;
    CLOSE_PAR_SYMBOL1916_tree   = NULL;
    CURDATE_SYMBOL1917_tree   = NULL;
    CURTIME_SYMBOL1919_tree   = NULL;
    set1921_tree   = NULL;
    OPEN_PAR_SYMBOL1922_tree   = NULL;
    COMMA_SYMBOL1924_tree   = NULL;
    INTERVAL_SYMBOL1925_tree   = NULL;
    CLOSE_PAR_SYMBOL1927_tree   = NULL;
    EXTRACT_SYMBOL1928_tree   = NULL;
    OPEN_PAR_SYMBOL1929_tree   = NULL;
    FROM_SYMBOL1931_tree   = NULL;
    CLOSE_PAR_SYMBOL1933_tree   = NULL;
    GET_FORMAT_SYMBOL1934_tree   = NULL;
    OPEN_PAR_SYMBOL1935_tree   = NULL;
    COMMA_SYMBOL1937_tree   = NULL;
    CLOSE_PAR_SYMBOL1939_tree   = NULL;
    NOW_SYMBOL1940_tree   = NULL;
    POSITION_SYMBOL1942_tree   = NULL;
    OPEN_PAR_SYMBOL1943_tree   = NULL;
    IN_SYMBOL1945_tree   = NULL;
    CLOSE_PAR_SYMBOL1947_tree   = NULL;
    SYSDATE_SYMBOL1949_tree   = NULL;
    set1951_tree   = NULL;
    OPEN_PAR_SYMBOL1952_tree   = NULL;
    COMMA_SYMBOL1954_tree   = NULL;
    COMMA_SYMBOL1956_tree   = NULL;
    CLOSE_PAR_SYMBOL1958_tree   = NULL;
    UTC_DATE_SYMBOL1959_tree   = NULL;
    UTC_TIME_SYMBOL1961_tree   = NULL;
    UTC_TIMESTAMP_SYMBOL1963_tree   = NULL;
    ASCII_SYMBOL1965_tree   = NULL;
    OPEN_PAR_SYMBOL1966_tree   = NULL;
    CLOSE_PAR_SYMBOL1968_tree   = NULL;
    CHARSET_SYMBOL1969_tree   = NULL;
    OPEN_PAR_SYMBOL1970_tree   = NULL;
    CLOSE_PAR_SYMBOL1972_tree   = NULL;
    COALESCE_SYMBOL1973_tree   = NULL;
    COLLATION_SYMBOL1975_tree   = NULL;
    OPEN_PAR_SYMBOL1976_tree   = NULL;
    CLOSE_PAR_SYMBOL1978_tree   = NULL;
    DATABASE_SYMBOL1979_tree   = NULL;
    IF_SYMBOL1981_tree   = NULL;
    OPEN_PAR_SYMBOL1982_tree   = NULL;
    COMMA_SYMBOL1984_tree   = NULL;
    COMMA_SYMBOL1986_tree   = NULL;
    CLOSE_PAR_SYMBOL1988_tree   = NULL;
    FORMAT_SYMBOL1989_tree   = NULL;
    OPEN_PAR_SYMBOL1990_tree   = NULL;
    COMMA_SYMBOL1992_tree   = NULL;
    COMMA_SYMBOL1994_tree   = NULL;
    CLOSE_PAR_SYMBOL1996_tree   = NULL;
    MICROSECOND_SYMBOL1997_tree   = NULL;
    OPEN_PAR_SYMBOL1998_tree   = NULL;
    CLOSE_PAR_SYMBOL2000_tree   = NULL;
    MOD_SYMBOL2001_tree   = NULL;
    OPEN_PAR_SYMBOL2002_tree   = NULL;
    COMMA_SYMBOL2004_tree   = NULL;
    CLOSE_PAR_SYMBOL2006_tree   = NULL;
    OLD_PASSWORD_SYMBOL2007_tree   = NULL;
    OPEN_PAR_SYMBOL2008_tree   = NULL;
    CLOSE_PAR_SYMBOL2010_tree   = NULL;
    PASSWORD_SYMBOL2011_tree   = NULL;
    OPEN_PAR_SYMBOL2012_tree   = NULL;
    CLOSE_PAR_SYMBOL2014_tree   = NULL;
    QUARTER_SYMBOL2015_tree   = NULL;
    OPEN_PAR_SYMBOL2016_tree   = NULL;
    CLOSE_PAR_SYMBOL2018_tree   = NULL;
    REPEAT_SYMBOL2019_tree   = NULL;
    OPEN_PAR_SYMBOL2020_tree   = NULL;
    COMMA_SYMBOL2022_tree   = NULL;
    CLOSE_PAR_SYMBOL2024_tree   = NULL;
    REPLACE_SYMBOL2025_tree   = NULL;
    OPEN_PAR_SYMBOL2026_tree   = NULL;
    COMMA_SYMBOL2028_tree   = NULL;
    COMMA_SYMBOL2030_tree   = NULL;
    CLOSE_PAR_SYMBOL2032_tree   = NULL;
    REVERSE_SYMBOL2033_tree   = NULL;
    OPEN_PAR_SYMBOL2034_tree   = NULL;
    CLOSE_PAR_SYMBOL2036_tree   = NULL;
    ROW_COUNT_SYMBOL2037_tree   = NULL;
    TRUNCATE_SYMBOL2039_tree   = NULL;
    OPEN_PAR_SYMBOL2040_tree   = NULL;
    COMMA_SYMBOL2042_tree   = NULL;
    CLOSE_PAR_SYMBOL2044_tree   = NULL;
    WEEK_SYMBOL2045_tree   = NULL;
    OPEN_PAR_SYMBOL2046_tree   = NULL;
    COMMA_SYMBOL2048_tree   = NULL;
    CLOSE_PAR_SYMBOL2050_tree   = NULL;
    WEIGHT_STRING_SYMBOL2051_tree   = NULL;
    OPEN_PAR_SYMBOL2052_tree   = NULL;
    AS_SYMBOL2054_tree   = NULL;
    CHAR_SYMBOL2055_tree   = NULL;
    AS_SYMBOL2058_tree   = NULL;
    BINARY_SYMBOL2059_tree   = NULL;
    COMMA_SYMBOL2061_tree   = NULL;
    INTEGER2062_tree   = NULL;
    COMMA_SYMBOL2063_tree   = NULL;
    INTEGER2064_tree   = NULL;
    COMMA_SYMBOL2065_tree   = NULL;
    INTEGER2066_tree   = NULL;
    CLOSE_PAR_SYMBOL2067_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:1797:14: ( 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 INTEGER 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 INTEGER 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 expression 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 alt586;

            alt586=52;

            {
                int LA586_0 = LA(1);
                if ( (LA586_0 == CHAR_SYMBOL))
                {
                    alt586=1;
                }
                else if ( (LA586_0 == CURRENT_USER_SYMBOL))
                {
                    alt586=2;
                }
                else if ( (LA586_0 == DATE_SYMBOL))
                {
                    alt586=3;
                }
                else if ( (LA586_0 == DAY_SYMBOL))
                {
                    alt586=4;
                }
                else if ( (LA586_0 == HOUR_SYMBOL))
                {
                    alt586=5;
                }
                else if ( (LA586_0 == INSERT_SYMBOL))
                {
                    alt586=6;
                }
                else if ( (LA586_0 == LEFT_SYMBOL))
                {
                    alt586=7;
                }
                else if ( (LA586_0 == MINUTE_SYMBOL))
                {
                    alt586=8;
                }
                else if ( (LA586_0 == MONTH_SYMBOL))
                {
                    alt586=9;
                }
                else if ( (LA586_0 == RIGHT_SYMBOL))
                {
                    alt586=10;
                }
                else if ( (LA586_0 == SECOND_SYMBOL))
                {
                    alt586=11;
                }
                else if ( (LA586_0 == TIME_SYMBOL))
                {
                    alt586=12;
                }
                else if ( (LA586_0 == TIMESTAMP_SYMBOL))
                {
                    alt586=13;
                }
                else if ( (LA586_0 == TRIM_SYMBOL))
                {
                    alt586=14;
                }
                else if ( (LA586_0 == USER_SYMBOL))
                {
                    alt586=15;
                }
                else if ( (LA586_0 == VALUES_SYMBOL))
                {
                    alt586=16;
                }
                else if ( (LA586_0 == YEAR_SYMBOL))
                {
                    alt586=17;
                }
                else if ( (LA586_0 == ADDDATE_SYMBOL || LA586_0 == SUBDATE_SYMBOL))
                {
                    alt586=18;
                }
                else if ( (LA586_0 == CURDATE_SYMBOL))
                {
                    alt586=19;
                }
                else if ( (LA586_0 == CURTIME_SYMBOL))
                {
                    alt586=20;
                }
                else if ( (LA586_0 == DATE_ADD_SYMBOL || LA586_0 == DATE_SUB_SYMBOL))
                {
                    alt586=21;
                }
                else if ( (LA586_0 == EXTRACT_SYMBOL))
                {
                    alt586=22;
                }
                else if ( (LA586_0 == GET_FORMAT_SYMBOL))
                {
                    alt586=23;
                }
                else if ( (LA586_0 == NOW_SYMBOL))
                {
                    alt586=24;
                }
                else if ( (LA586_0 == POSITION_SYMBOL))
                {
                    alt586=25;
                }
                else if ( (LA586_0 == SUBSTRING_SYMBOL))
                {
                    alt586=26;
                }
                else if ( (LA586_0 == SYSDATE_SYMBOL))
                {
                    alt586=27;
                }
                else if ( (((LA586_0 >= TIMESTAMP_ADD_SYMBOL) && (LA586_0 <= TIMESTAMP_DIFF_SYMBOL))))
                {
                    alt586=28;
                }
                else if ( (LA586_0 == UTC_DATE_SYMBOL))
                {
                    alt586=29;
                }
                else if ( (LA586_0 == UTC_TIME_SYMBOL))
                {
                    alt586=30;
                }
                else if ( (LA586_0 == UTC_TIMESTAMP_SYMBOL))
                {
                    alt586=31;
                }
                else if ( (LA586_0 == ASCII_SYMBOL))
                {
                    alt586=32;
                }
                else if ( (LA586_0 == CHARSET_SYMBOL))
                {
                    alt586=33;
                }
                else if ( (LA586_0 == COALESCE_SYMBOL))
                {
                    alt586=34;
                }
                else if ( (LA586_0 == COLLATION_SYMBOL))
                {
                    alt586=35;
                }
                else if ( (LA586_0 == DATABASE_SYMBOL))
                {
                    alt586=36;
                }
                else if ( (LA586_0 == IF_SYMBOL))
                {
                    alt586=37;
                }
                else if ( (LA586_0 == FORMAT_SYMBOL))
                {
                    alt586=38;
                }
                else if ( (LA586_0 == MICROSECOND_SYMBOL))
                {
                    alt586=39;
                }
                else if ( (LA586_0 == MOD_SYMBOL))
                {
                    alt586=40;
                }
                else if ( (LA586_0 == OLD_PASSWORD_SYMBOL))
                {
                    alt586=41;
                }
                else if ( (LA586_0 == PASSWORD_SYMBOL))
                {
                    alt586=42;
                }
                else if ( (LA586_0 == QUARTER_SYMBOL))
                {
                    alt586=43;
                }
                else if ( (LA586_0 == REPEAT_SYMBOL))
                {
                    alt586=44;
                }
                else if ( (LA586_0 == REPLACE_SYMBOL))
                {
                    alt586=45;
                }
                else if ( (LA586_0 == REVERSE_SYMBOL))
                {
                    alt586=46;
                }
                else if ( (LA586_0 == ROW_COUNT_SYMBOL))
                {
                    alt586=47;
                }
                else if ( (LA586_0 == TRUNCATE_SYMBOL))
                {
                    alt586=48;
                }
                else if ( (LA586_0 == WEEK_SYMBOL))
                {
                    alt586=49;
                }
                else if ( ((SERVER_VERSION >= 50600)) && (LA586_0 == WEIGHT_STRING_SYMBOL))
                {
                    alt586=50;
                }
                else if ( (LA586_0 == GEOMETRYCOLLECTION_SYMBOL || LA586_0 == LINESTRING_SYMBOL || ((LA586_0 >= MULTILINESTRING_SYMBOL) && (LA586_0 <= MULTIPOLYGON_SYMBOL)) || ((LA586_0 >= POINT_SYMBOL) && (LA586_0 <= POLYGON_SYMBOL)) || LA586_0 == CONTAINS_SYMBOL))
                {
                    alt586=51;
                }
                else if ( (LA586_0 == AVG_SYMBOL || ((LA586_0 >= BIT_AND_SYMBOL) && (LA586_0 <= BIT_XOR_SYMBOL)) || LA586_0 == COUNT_SYMBOL || LA586_0 == GROUP_CONCAT_SYMBOL || LA586_0 == MAX_SYMBOL || LA586_0 == MIN_SYMBOL || LA586_0 == STDDEV_SAMP_SYMBOL || LA586_0 == STD_SYMBOL || LA586_0 == SUM_SYMBOL || LA586_0 == VARIANCE_SYMBOL || LA586_0 == VAR_SAMP_SYMBOL))
                {
                    alt586=52;
                }
                else
                {
                    if (BACKTRACKING>0)
                    {
                        FAILEDFLAG = ANTLR3_TRUE;
                        return retval;
                    }


                    CONSTRUCTEX();
                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    EXCEPTION->message      = (void *)"";
                    EXCEPTION->decisionNum  = 586;
                    EXCEPTION->state        = 0;


                    goto rulefunction_callEx;

                }
            }
            switch (alt586)
            {
        	case 1:
        	    // MySQL.g:1799:2: CHAR_SYMBOL OPEN_PAR_SYMBOL expression_list ( USING_SYMBOL charset_name )? CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        CHAR_SYMBOL1836 = (pANTLR3_COMMON_TOKEN) MATCHT(CHAR_SYMBOL, &FOLLOW_CHAR_SYMBOL_in_function_call10116);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CHAR_SYMBOL1836_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CHAR_SYMBOL1836));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CHAR_SYMBOL1836_tree);
        	        }

        	        OPEN_PAR_SYMBOL1837 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_function_call10118);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL1837_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL1837));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL1837_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_list_in_function_call10120);
        	        expression_list1838=expression_list(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression_list1838.tree);

        	        // MySQL.g:1799:46: ( USING_SYMBOL charset_name )?
        	        {
        	            int alt571=2;
        	            switch ( LA(1) )
        	            {
        	                case USING_SYMBOL:
        	                	{
        	                		alt571=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt571)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1799:47: USING_SYMBOL charset_name
        	        	    {
        	        	        USING_SYMBOL1839 = (pANTLR3_COMMON_TOKEN) MATCHT(USING_SYMBOL, &FOLLOW_USING_SYMBOL_in_function_call10123);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulefunction_callEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        USING_SYMBOL1839_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, USING_SYMBOL1839));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, USING_SYMBOL1839_tree);
        	        	        }

        	        	        FOLLOWPUSH(FOLLOW_charset_name_in_function_call10125);
        	        	        charset_name1840=charset_name(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulefunction_callEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, charset_name1840.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	        CLOSE_PAR_SYMBOL1841 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10129);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL1841_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL1841));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL1841_tree);
        	        }

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:1800:4: CURRENT_USER_SYMBOL ( parentheses )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        CURRENT_USER_SYMBOL1842 = (pANTLR3_COMMON_TOKEN) MATCHT(CURRENT_USER_SYMBOL, &FOLLOW_CURRENT_USER_SYMBOL_in_function_call10134);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CURRENT_USER_SYMBOL1842_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CURRENT_USER_SYMBOL1842));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CURRENT_USER_SYMBOL1842_tree);
        	        }

        	        // MySQL.g:1800:24: ( parentheses )?
        	        {
        	            int alt572=2;
        	            switch ( LA(1) )
        	            {
        	                case OPEN_PAR_SYMBOL:
        	                	{
        	                		alt572=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt572)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1800:24: parentheses
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_parentheses_in_function_call10136);
        	        	        parentheses1843=parentheses(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulefunction_callEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, parentheses1843.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 3:
        	    // MySQL.g:1801:4: DATE_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        DATE_SYMBOL1844 = (pANTLR3_COMMON_TOKEN) MATCHT(DATE_SYMBOL, &FOLLOW_DATE_SYMBOL_in_function_call10142);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        DATE_SYMBOL1844_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DATE_SYMBOL1844));
        	        ADAPTOR->addChild(ADAPTOR, root_0, DATE_SYMBOL1844_tree);
        	        }

        	        OPEN_PAR_SYMBOL1845 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_function_call10144);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL1845_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL1845));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL1845_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_function_call10146);
        	        expression1846=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression1846.tree);

        	        CLOSE_PAR_SYMBOL1847 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10148);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL1847_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL1847));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL1847_tree);
        	        }

        	    }
        	    break;
        	case 4:
        	    // MySQL.g:1802:4: DAY_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        DAY_SYMBOL1848 = (pANTLR3_COMMON_TOKEN) MATCHT(DAY_SYMBOL, &FOLLOW_DAY_SYMBOL_in_function_call10153);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        DAY_SYMBOL1848_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DAY_SYMBOL1848));
        	        ADAPTOR->addChild(ADAPTOR, root_0, DAY_SYMBOL1848_tree);
        	        }

        	        OPEN_PAR_SYMBOL1849 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_function_call10155);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL1849_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL1849));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL1849_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_function_call10157);
        	        expression1850=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression1850.tree);

        	        CLOSE_PAR_SYMBOL1851 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10159);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL1851_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL1851));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL1851_tree);
        	        }

        	    }
        	    break;
        	case 5:
        	    // MySQL.g:1803:4: HOUR_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        HOUR_SYMBOL1852 = (pANTLR3_COMMON_TOKEN) MATCHT(HOUR_SYMBOL, &FOLLOW_HOUR_SYMBOL_in_function_call10164);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        HOUR_SYMBOL1852_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, HOUR_SYMBOL1852));
        	        ADAPTOR->addChild(ADAPTOR, root_0, HOUR_SYMBOL1852_tree);
        	        }

        	        OPEN_PAR_SYMBOL1853 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_function_call10166);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL1853_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL1853));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL1853_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_function_call10168);
        	        expression1854=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression1854.tree);

        	        CLOSE_PAR_SYMBOL1855 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10170);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL1855_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL1855));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL1855_tree);
        	        }

        	    }
        	    break;
        	case 6:
        	    // MySQL.g:1804: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_SYMBOL1856 = (pANTLR3_COMMON_TOKEN) MATCHT(INSERT_SYMBOL, &FOLLOW_INSERT_SYMBOL_in_function_call10175);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        INSERT_SYMBOL1856_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INSERT_SYMBOL1856));
        	        ADAPTOR->addChild(ADAPTOR, root_0, INSERT_SYMBOL1856_tree);
        	        }

        	        OPEN_PAR_SYMBOL1857 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_function_call10177);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL1857_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL1857));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL1857_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_function_call10179);
        	        expression1858=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression1858.tree);

        	        COMMA_SYMBOL1859 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_function_call10181);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        COMMA_SYMBOL1859_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL1859));
        	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL1859_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_function_call10183);
        	        expression1860=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression1860.tree);

        	        COMMA_SYMBOL1861 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_function_call10185);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        COMMA_SYMBOL1861_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL1861));
        	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL1861_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_function_call10187);
        	        expression1862=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression1862.tree);

        	        COMMA_SYMBOL1863 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_function_call10189);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        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_expression_in_function_call10191);
        	        expression1864=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression1864.tree);

        	        CLOSE_PAR_SYMBOL1865 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10193);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL1865_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL1865));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL1865_tree);
        	        }

        	    }
        	    break;
        	case 7:
        	    // MySQL.g:1806:4: LEFT_SYMBOL OPEN_PAR_SYMBOL expression COMMA_SYMBOL INTEGER CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        LEFT_SYMBOL1866 = (pANTLR3_COMMON_TOKEN) MATCHT(LEFT_SYMBOL, &FOLLOW_LEFT_SYMBOL_in_function_call10200);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        LEFT_SYMBOL1866_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, LEFT_SYMBOL1866));
        	        ADAPTOR->addChild(ADAPTOR, root_0, LEFT_SYMBOL1866_tree);
        	        }

        	        OPEN_PAR_SYMBOL1867 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_function_call10202);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL1867_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL1867));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL1867_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_function_call10204);
        	        expression1868=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression1868.tree);

        	        COMMA_SYMBOL1869 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_function_call10206);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        COMMA_SYMBOL1869_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL1869));
        	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL1869_tree);
        	        }

        	        INTEGER1870 = (pANTLR3_COMMON_TOKEN) MATCHT(INTEGER, &FOLLOW_INTEGER_in_function_call10208);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        INTEGER1870_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INTEGER1870));
        	        ADAPTOR->addChild(ADAPTOR, root_0, INTEGER1870_tree);
        	        }

        	        CLOSE_PAR_SYMBOL1871 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10210);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL1871_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL1871));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL1871_tree);
        	        }

        	    }
        	    break;
        	case 8:
        	    // MySQL.g:1807:4: MINUTE_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        MINUTE_SYMBOL1872 = (pANTLR3_COMMON_TOKEN) MATCHT(MINUTE_SYMBOL, &FOLLOW_MINUTE_SYMBOL_in_function_call10215);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        MINUTE_SYMBOL1872_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MINUTE_SYMBOL1872));
        	        ADAPTOR->addChild(ADAPTOR, root_0, MINUTE_SYMBOL1872_tree);
        	        }

        	        OPEN_PAR_SYMBOL1873 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_function_call10217);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL1873_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL1873));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL1873_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_function_call10219);
        	        expression1874=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression1874.tree);

        	        CLOSE_PAR_SYMBOL1875 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10221);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL1875_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL1875));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL1875_tree);
        	        }

        	    }
        	    break;
        	case 9:
        	    // MySQL.g:1808:4: MONTH_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        MONTH_SYMBOL1876 = (pANTLR3_COMMON_TOKEN) MATCHT(MONTH_SYMBOL, &FOLLOW_MONTH_SYMBOL_in_function_call10226);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        MONTH_SYMBOL1876_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MONTH_SYMBOL1876));
        	        ADAPTOR->addChild(ADAPTOR, root_0, MONTH_SYMBOL1876_tree);
        	        }

        	        OPEN_PAR_SYMBOL1877 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_function_call10228);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL1877_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL1877));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL1877_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_function_call10230);
        	        expression1878=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression1878.tree);

        	        CLOSE_PAR_SYMBOL1879 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10232);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL1879_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL1879));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL1879_tree);
        	        }

        	    }
        	    break;
        	case 10:
        	    // MySQL.g:1809:4: RIGHT_SYMBOL OPEN_PAR_SYMBOL expression COMMA_SYMBOL INTEGER CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        RIGHT_SYMBOL1880 = (pANTLR3_COMMON_TOKEN) MATCHT(RIGHT_SYMBOL, &FOLLOW_RIGHT_SYMBOL_in_function_call10237);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        RIGHT_SYMBOL1880_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, RIGHT_SYMBOL1880));
        	        ADAPTOR->addChild(ADAPTOR, root_0, RIGHT_SYMBOL1880_tree);
        	        }

        	        OPEN_PAR_SYMBOL1881 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_function_call10239);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL1881_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL1881));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL1881_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_function_call10241);
        	        expression1882=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression1882.tree);

        	        COMMA_SYMBOL1883 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_function_call10243);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        COMMA_SYMBOL1883_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL1883));
        	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL1883_tree);
        	        }

        	        INTEGER1884 = (pANTLR3_COMMON_TOKEN) MATCHT(INTEGER, &FOLLOW_INTEGER_in_function_call10245);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        INTEGER1884_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INTEGER1884));
        	        ADAPTOR->addChild(ADAPTOR, root_0, INTEGER1884_tree);
        	        }

        	        CLOSE_PAR_SYMBOL1885 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10247);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL1885_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL1885));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL1885_tree);
        	        }

        	    }
        	    break;
        	case 11:
        	    // MySQL.g:1810:4: SECOND_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        SECOND_SYMBOL1886 = (pANTLR3_COMMON_TOKEN) MATCHT(SECOND_SYMBOL, &FOLLOW_SECOND_SYMBOL_in_function_call10252);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        SECOND_SYMBOL1886_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SECOND_SYMBOL1886));
        	        ADAPTOR->addChild(ADAPTOR, root_0, SECOND_SYMBOL1886_tree);
        	        }

        	        OPEN_PAR_SYMBOL1887 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_function_call10254);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL1887_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL1887));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL1887_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_function_call10256);
        	        expression1888=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression1888.tree);

        	        CLOSE_PAR_SYMBOL1889 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10258);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL1889_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL1889));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL1889_tree);
        	        }

        	    }
        	    break;
        	case 12:
        	    // MySQL.g:1811:4: TIME_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        TIME_SYMBOL1890 = (pANTLR3_COMMON_TOKEN) MATCHT(TIME_SYMBOL, &FOLLOW_TIME_SYMBOL_in_function_call10263);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        TIME_SYMBOL1890_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, TIME_SYMBOL1890));
        	        ADAPTOR->addChild(ADAPTOR, root_0, TIME_SYMBOL1890_tree);
        	        }

        	        OPEN_PAR_SYMBOL1891 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_function_call10265);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL1891_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL1891));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL1891_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_function_call10267);
        	        expression1892=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression1892.tree);

        	        CLOSE_PAR_SYMBOL1893 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10269);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL1893_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL1893));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL1893_tree);
        	        }

        	    }
        	    break;
        	case 13:
        	    // MySQL.g:1812:4: TIMESTAMP_SYMBOL OPEN_PAR_SYMBOL expression ( COMMA_SYMBOL expression )? CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        TIMESTAMP_SYMBOL1894 = (pANTLR3_COMMON_TOKEN) MATCHT(TIMESTAMP_SYMBOL, &FOLLOW_TIMESTAMP_SYMBOL_in_function_call10274);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        TIMESTAMP_SYMBOL1894_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, TIMESTAMP_SYMBOL1894));
        	        ADAPTOR->addChild(ADAPTOR, root_0, TIMESTAMP_SYMBOL1894_tree);
        	        }

        	        OPEN_PAR_SYMBOL1895 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_function_call10276);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL1895_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL1895));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL1895_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_function_call10278);
        	        expression1896=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression1896.tree);

        	        // MySQL.g:1812:48: ( COMMA_SYMBOL expression )?
        	        {
        	            int alt573=2;
        	            switch ( LA(1) )
        	            {
        	                case COMMA_SYMBOL:
        	                	{
        	                		alt573=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt573)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1812:49: COMMA_SYMBOL expression
        	        	    {
        	        	        COMMA_SYMBOL1897 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_function_call10281);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulefunction_callEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        COMMA_SYMBOL1897_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL1897));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL1897_tree);
        	        	        }

        	        	        FOLLOWPUSH(FOLLOW_expression_in_function_call10283);
        	        	        expression1898=expression(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulefunction_callEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression1898.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	        CLOSE_PAR_SYMBOL1899 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10287);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL1899_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL1899));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL1899_tree);
        	        }

        	    }
        	    break;
        	case 14:
        	    // MySQL.g:1813:4: trim_function
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_trim_function_in_function_call10292);
        	        trim_function1900=trim_function(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, trim_function1900.tree);

        	    }
        	    break;
        	case 15:
        	    // MySQL.g:1814:4: USER_SYMBOL parentheses
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        USER_SYMBOL1901 = (pANTLR3_COMMON_TOKEN) MATCHT(USER_SYMBOL, &FOLLOW_USER_SYMBOL_in_function_call10297);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        USER_SYMBOL1901_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, USER_SYMBOL1901));
        	        ADAPTOR->addChild(ADAPTOR, root_0, USER_SYMBOL1901_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_parentheses_in_function_call10299);
        	        parentheses1902=parentheses(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, parentheses1902.tree);

        	    }
        	    break;
        	case 16:
        	    // MySQL.g:1815:4: VALUES_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        VALUES_SYMBOL1903 = (pANTLR3_COMMON_TOKEN) MATCHT(VALUES_SYMBOL, &FOLLOW_VALUES_SYMBOL_in_function_call10304);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        VALUES_SYMBOL1903_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, VALUES_SYMBOL1903));
        	        ADAPTOR->addChild(ADAPTOR, root_0, VALUES_SYMBOL1903_tree);
        	        }

        	        OPEN_PAR_SYMBOL1904 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_function_call10306);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL1904_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL1904));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL1904_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_function_call10308);
        	        expression1905=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression1905.tree);

        	        CLOSE_PAR_SYMBOL1906 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10310);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL1906_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL1906));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL1906_tree);
        	        }

        	    }
        	    break;
        	case 17:
        	    // MySQL.g:1816:4: YEAR_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        YEAR_SYMBOL1907 = (pANTLR3_COMMON_TOKEN) MATCHT(YEAR_SYMBOL, &FOLLOW_YEAR_SYMBOL_in_function_call10315);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        YEAR_SYMBOL1907_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, YEAR_SYMBOL1907));
        	        ADAPTOR->addChild(ADAPTOR, root_0, YEAR_SYMBOL1907_tree);
        	        }

        	        OPEN_PAR_SYMBOL1908 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_function_call10317);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL1908_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL1908));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL1908_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_function_call10319);
        	        expression1909=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression1909.tree);

        	        CLOSE_PAR_SYMBOL1910 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10321);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL1910_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL1910));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL1910_tree);
        	        }

        	    }
        	    break;
        	case 18:
        	    // MySQL.g:1819:4: ( ADDDATE_SYMBOL | SUBDATE_SYMBOL ) OPEN_PAR_SYMBOL expression COMMA_SYMBOL expression CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        set1911=(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, set1911))
        	            );
        	            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 rulefunction_callEx;
        	        }


        	        OPEN_PAR_SYMBOL1912 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_function_call10337);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL1912_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL1912));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL1912_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_function_call10339);
        	        expression1913=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression1913.tree);

        	        COMMA_SYMBOL1914 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_function_call10341);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        COMMA_SYMBOL1914_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL1914));
        	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL1914_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_function_call10343);
        	        expression1915=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression1915.tree);

        	        CLOSE_PAR_SYMBOL1916 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10345);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL1916_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL1916));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL1916_tree);
        	        }

        	    }
        	    break;
        	case 19:
        	    // MySQL.g:1820:4: CURDATE_SYMBOL ( parentheses )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        CURDATE_SYMBOL1917 = (pANTLR3_COMMON_TOKEN) MATCHT(CURDATE_SYMBOL, &FOLLOW_CURDATE_SYMBOL_in_function_call10350);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CURDATE_SYMBOL1917_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CURDATE_SYMBOL1917));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CURDATE_SYMBOL1917_tree);
        	        }

        	        // MySQL.g:1820:19: ( parentheses )?
        	        {
        	            int alt574=2;
        	            switch ( LA(1) )
        	            {
        	                case OPEN_PAR_SYMBOL:
        	                	{
        	                		alt574=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt574)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1820:19: parentheses
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_parentheses_in_function_call10352);
        	        	        parentheses1918=parentheses(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulefunction_callEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, parentheses1918.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 20:
        	    // MySQL.g:1821:4: CURTIME_SYMBOL ( time_function_parameters )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        CURTIME_SYMBOL1919 = (pANTLR3_COMMON_TOKEN) MATCHT(CURTIME_SYMBOL, &FOLLOW_CURTIME_SYMBOL_in_function_call10358);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CURTIME_SYMBOL1919_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CURTIME_SYMBOL1919));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CURTIME_SYMBOL1919_tree);
        	        }

        	        // MySQL.g:1821:19: ( time_function_parameters )?
        	        {
        	            int alt575=2;
        	            switch ( LA(1) )
        	            {
        	                case OPEN_PAR_SYMBOL:
        	                	{
        	                		alt575=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt575)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1821:19: time_function_parameters
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_time_function_parameters_in_function_call10360);
        	        	        time_function_parameters1920=time_function_parameters(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulefunction_callEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, time_function_parameters1920.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 21:
        	    // MySQL.g:1822: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));


        	        set1921=(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, set1921))
        	            );
        	            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 rulefunction_callEx;
        	        }


        	        OPEN_PAR_SYMBOL1922 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_function_call10374);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL1922_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL1922));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL1922_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_function_call10376);
        	        expression1923=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression1923.tree);

        	        COMMA_SYMBOL1924 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_function_call10378);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        COMMA_SYMBOL1924_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL1924));
        	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL1924_tree);
        	        }

        	        INTERVAL_SYMBOL1925 = (pANTLR3_COMMON_TOKEN) MATCHT(INTERVAL_SYMBOL, &FOLLOW_INTERVAL_SYMBOL_in_function_call10380);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        INTERVAL_SYMBOL1925_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INTERVAL_SYMBOL1925));
        	        ADAPTOR->addChild(ADAPTOR, root_0, INTERVAL_SYMBOL1925_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_interval_in_function_call10382);
        	        interval1926=interval(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, interval1926.tree);

        	        CLOSE_PAR_SYMBOL1927 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10384);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL1927_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL1927));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL1927_tree);
        	        }

        	    }
        	    break;
        	case 22:
        	    // MySQL.g:1823:4: EXTRACT_SYMBOL OPEN_PAR_SYMBOL interval_unit FROM_SYMBOL expression CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        EXTRACT_SYMBOL1928 = (pANTLR3_COMMON_TOKEN) MATCHT(EXTRACT_SYMBOL, &FOLLOW_EXTRACT_SYMBOL_in_function_call10389);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        EXTRACT_SYMBOL1928_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EXTRACT_SYMBOL1928));
        	        ADAPTOR->addChild(ADAPTOR, root_0, EXTRACT_SYMBOL1928_tree);
        	        }

        	        OPEN_PAR_SYMBOL1929 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_function_call10391);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL1929_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL1929));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL1929_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_interval_unit_in_function_call10393);
        	        interval_unit1930=interval_unit(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, interval_unit1930.tree);

        	        FROM_SYMBOL1931 = (pANTLR3_COMMON_TOKEN) MATCHT(FROM_SYMBOL, &FOLLOW_FROM_SYMBOL_in_function_call10395);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        FROM_SYMBOL1931_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, FROM_SYMBOL1931));
        	        ADAPTOR->addChild(ADAPTOR, root_0, FROM_SYMBOL1931_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_function_call10397);
        	        expression1932=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression1932.tree);

        	        CLOSE_PAR_SYMBOL1933 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10399);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL1933_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL1933));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL1933_tree);
        	        }

        	    }
        	    break;
        	case 23:
        	    // MySQL.g:1824: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_SYMBOL1934 = (pANTLR3_COMMON_TOKEN) MATCHT(GET_FORMAT_SYMBOL, &FOLLOW_GET_FORMAT_SYMBOL_in_function_call10404);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        GET_FORMAT_SYMBOL1934_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, GET_FORMAT_SYMBOL1934));
        	        ADAPTOR->addChild(ADAPTOR, root_0, GET_FORMAT_SYMBOL1934_tree);
        	        }

        	        OPEN_PAR_SYMBOL1935 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_function_call10406);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL1935_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL1935));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL1935_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_date_time_type_in_function_call10408);
        	        date_time_type1936=date_time_type(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, date_time_type1936.tree);

        	        COMMA_SYMBOL1937 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_function_call10411);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        COMMA_SYMBOL1937_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL1937));
        	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL1937_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_function_call10413);
        	        expression1938=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression1938.tree);

        	        CLOSE_PAR_SYMBOL1939 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10415);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL1939_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL1939));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL1939_tree);
        	        }

        	    }
        	    break;
        	case 24:
        	    // MySQL.g:1825:4: NOW_SYMBOL ( time_function_parameters )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        NOW_SYMBOL1940 = (pANTLR3_COMMON_TOKEN) MATCHT(NOW_SYMBOL, &FOLLOW_NOW_SYMBOL_in_function_call10420);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        NOW_SYMBOL1940_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, NOW_SYMBOL1940));
        	        ADAPTOR->addChild(ADAPTOR, root_0, NOW_SYMBOL1940_tree);
        	        }

        	        // MySQL.g:1825:15: ( time_function_parameters )?
        	        {
        	            int alt576=2;
        	            switch ( LA(1) )
        	            {
        	                case OPEN_PAR_SYMBOL:
        	                	{
        	                		alt576=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt576)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1825:15: time_function_parameters
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_time_function_parameters_in_function_call10422);
        	        	        time_function_parameters1941=time_function_parameters(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulefunction_callEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, time_function_parameters1941.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 25:
        	    // MySQL.g:1826:4: POSITION_SYMBOL OPEN_PAR_SYMBOL bitwise_or_expression IN_SYMBOL expression CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        POSITION_SYMBOL1942 = (pANTLR3_COMMON_TOKEN) MATCHT(POSITION_SYMBOL, &FOLLOW_POSITION_SYMBOL_in_function_call10428);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        POSITION_SYMBOL1942_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, POSITION_SYMBOL1942));
        	        ADAPTOR->addChild(ADAPTOR, root_0, POSITION_SYMBOL1942_tree);
        	        }

        	        OPEN_PAR_SYMBOL1943 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_function_call10430);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL1943_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL1943));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL1943_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_bitwise_or_expression_in_function_call10432);
        	        bitwise_or_expression1944=bitwise_or_expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, bitwise_or_expression1944.tree);

        	        IN_SYMBOL1945 = (pANTLR3_COMMON_TOKEN) MATCHT(IN_SYMBOL, &FOLLOW_IN_SYMBOL_in_function_call10434);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        IN_SYMBOL1945_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, IN_SYMBOL1945));
        	        ADAPTOR->addChild(ADAPTOR, root_0, IN_SYMBOL1945_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_function_call10436);
        	        expression1946=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression1946.tree);

        	        CLOSE_PAR_SYMBOL1947 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10438);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL1947_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL1947));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL1947_tree);
        	        }

        	    }
        	    break;
        	case 26:
        	    // MySQL.g:1827:4: substring_function
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_substring_function_in_function_call10443);
        	        substring_function1948=substring_function(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, substring_function1948.tree);

        	    }
        	    break;
        	case 27:
        	    // MySQL.g:1828:4: SYSDATE_SYMBOL ( time_function_parameters )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        SYSDATE_SYMBOL1949 = (pANTLR3_COMMON_TOKEN) MATCHT(SYSDATE_SYMBOL, &FOLLOW_SYSDATE_SYMBOL_in_function_call10448);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        SYSDATE_SYMBOL1949_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SYSDATE_SYMBOL1949));
        	        ADAPTOR->addChild(ADAPTOR, root_0, SYSDATE_SYMBOL1949_tree);
        	        }

        	        // MySQL.g:1828:19: ( time_function_parameters )?
        	        {
        	            int alt577=2;
        	            switch ( LA(1) )
        	            {
        	                case OPEN_PAR_SYMBOL:
        	                	{
        	                		alt577=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt577)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1828:19: time_function_parameters
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_time_function_parameters_in_function_call10450);
        	        	        time_function_parameters1950=time_function_parameters(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulefunction_callEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, time_function_parameters1950.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 28:
        	    // MySQL.g:1829: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));


        	        set1951=(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, set1951))
        	            );
        	            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 rulefunction_callEx;
        	        }


        	        OPEN_PAR_SYMBOL1952 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_function_call10464);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL1952_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL1952));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL1952_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_interval_timestamp_unit_in_function_call10466);
        	        interval_timestamp_unit1953=interval_timestamp_unit(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, interval_timestamp_unit1953.tree);

        	        COMMA_SYMBOL1954 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_function_call10468);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        COMMA_SYMBOL1954_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL1954));
        	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL1954_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_function_call10470);
        	        expression1955=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression1955.tree);

        	        COMMA_SYMBOL1956 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_function_call10472);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        COMMA_SYMBOL1956_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL1956));
        	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL1956_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_function_call10474);
        	        expression1957=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression1957.tree);

        	        CLOSE_PAR_SYMBOL1958 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10476);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL1958_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL1958));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL1958_tree);
        	        }

        	    }
        	    break;
        	case 29:
        	    // MySQL.g:1830:4: UTC_DATE_SYMBOL ( parentheses )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        UTC_DATE_SYMBOL1959 = (pANTLR3_COMMON_TOKEN) MATCHT(UTC_DATE_SYMBOL, &FOLLOW_UTC_DATE_SYMBOL_in_function_call10481);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        UTC_DATE_SYMBOL1959_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, UTC_DATE_SYMBOL1959));
        	        ADAPTOR->addChild(ADAPTOR, root_0, UTC_DATE_SYMBOL1959_tree);
        	        }

        	        // MySQL.g:1830:20: ( parentheses )?
        	        {
        	            int alt578=2;
        	            switch ( LA(1) )
        	            {
        	                case OPEN_PAR_SYMBOL:
        	                	{
        	                		alt578=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt578)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1830:20: parentheses
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_parentheses_in_function_call10483);
        	        	        parentheses1960=parentheses(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulefunction_callEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, parentheses1960.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 30:
        	    // MySQL.g:1831:4: UTC_TIME_SYMBOL ( time_function_parameters )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        UTC_TIME_SYMBOL1961 = (pANTLR3_COMMON_TOKEN) MATCHT(UTC_TIME_SYMBOL, &FOLLOW_UTC_TIME_SYMBOL_in_function_call10489);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        UTC_TIME_SYMBOL1961_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, UTC_TIME_SYMBOL1961));
        	        ADAPTOR->addChild(ADAPTOR, root_0, UTC_TIME_SYMBOL1961_tree);
        	        }

        	        // MySQL.g:1831:20: ( time_function_parameters )?
        	        {
        	            int alt579=2;
        	            switch ( LA(1) )
        	            {
        	                case OPEN_PAR_SYMBOL:
        	                	{
        	                		alt579=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt579)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1831:20: time_function_parameters
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_time_function_parameters_in_function_call10491);
        	        	        time_function_parameters1962=time_function_parameters(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulefunction_callEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, time_function_parameters1962.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 31:
        	    // MySQL.g:1832:4: UTC_TIMESTAMP_SYMBOL ( time_function_parameters )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        UTC_TIMESTAMP_SYMBOL1963 = (pANTLR3_COMMON_TOKEN) MATCHT(UTC_TIMESTAMP_SYMBOL, &FOLLOW_UTC_TIMESTAMP_SYMBOL_in_function_call10497);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        UTC_TIMESTAMP_SYMBOL1963_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, UTC_TIMESTAMP_SYMBOL1963));
        	        ADAPTOR->addChild(ADAPTOR, root_0, UTC_TIMESTAMP_SYMBOL1963_tree);
        	        }

        	        // MySQL.g:1832:25: ( time_function_parameters )?
        	        {
        	            int alt580=2;
        	            switch ( LA(1) )
        	            {
        	                case OPEN_PAR_SYMBOL:
        	                	{
        	                		alt580=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt580)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1832:25: time_function_parameters
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_time_function_parameters_in_function_call10499);
        	        	        time_function_parameters1964=time_function_parameters(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulefunction_callEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, time_function_parameters1964.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 32:
        	    // MySQL.g:1835:4: ASCII_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        ASCII_SYMBOL1965 = (pANTLR3_COMMON_TOKEN) MATCHT(ASCII_SYMBOL, &FOLLOW_ASCII_SYMBOL_in_function_call10508);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        ASCII_SYMBOL1965_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ASCII_SYMBOL1965));
        	        ADAPTOR->addChild(ADAPTOR, root_0, ASCII_SYMBOL1965_tree);
        	        }

        	        OPEN_PAR_SYMBOL1966 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_function_call10510);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL1966_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL1966));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL1966_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_function_call10512);
        	        expression1967=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression1967.tree);

        	        CLOSE_PAR_SYMBOL1968 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10514);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL1968_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL1968));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL1968_tree);
        	        }

        	    }
        	    break;
        	case 33:
        	    // MySQL.g:1836:4: CHARSET_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        CHARSET_SYMBOL1969 = (pANTLR3_COMMON_TOKEN) MATCHT(CHARSET_SYMBOL, &FOLLOW_CHARSET_SYMBOL_in_function_call10519);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CHARSET_SYMBOL1969_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CHARSET_SYMBOL1969));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CHARSET_SYMBOL1969_tree);
        	        }

        	        OPEN_PAR_SYMBOL1970 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_function_call10521);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL1970_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL1970));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL1970_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_function_call10523);
        	        expression1971=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression1971.tree);

        	        CLOSE_PAR_SYMBOL1972 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10525);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL1972_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL1972));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL1972_tree);
        	        }

        	    }
        	    break;
        	case 34:
        	    // MySQL.g:1837:4: COALESCE_SYMBOL expression_list_with_parentheses
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        COALESCE_SYMBOL1973 = (pANTLR3_COMMON_TOKEN) MATCHT(COALESCE_SYMBOL, &FOLLOW_COALESCE_SYMBOL_in_function_call10530);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        COALESCE_SYMBOL1973_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COALESCE_SYMBOL1973));
        	        ADAPTOR->addChild(ADAPTOR, root_0, COALESCE_SYMBOL1973_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_list_with_parentheses_in_function_call10532);
        	        expression_list_with_parentheses1974=expression_list_with_parentheses(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression_list_with_parentheses1974.tree);

        	    }
        	    break;
        	case 35:
        	    // MySQL.g:1838:4: COLLATION_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        COLLATION_SYMBOL1975 = (pANTLR3_COMMON_TOKEN) MATCHT(COLLATION_SYMBOL, &FOLLOW_COLLATION_SYMBOL_in_function_call10537);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        COLLATION_SYMBOL1975_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COLLATION_SYMBOL1975));
        	        ADAPTOR->addChild(ADAPTOR, root_0, COLLATION_SYMBOL1975_tree);
        	        }

        	        OPEN_PAR_SYMBOL1976 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_function_call10539);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL1976_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL1976));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL1976_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_function_call10541);
        	        expression1977=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression1977.tree);

        	        CLOSE_PAR_SYMBOL1978 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10543);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL1978_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL1978));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL1978_tree);
        	        }

        	    }
        	    break;
        	case 36:
        	    // MySQL.g:1839:4: DATABASE_SYMBOL parentheses
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        DATABASE_SYMBOL1979 = (pANTLR3_COMMON_TOKEN) MATCHT(DATABASE_SYMBOL, &FOLLOW_DATABASE_SYMBOL_in_function_call10548);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        DATABASE_SYMBOL1979_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DATABASE_SYMBOL1979));
        	        ADAPTOR->addChild(ADAPTOR, root_0, DATABASE_SYMBOL1979_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_parentheses_in_function_call10550);
        	        parentheses1980=parentheses(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, parentheses1980.tree);

        	    }
        	    break;
        	case 37:
        	    // MySQL.g:1840: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_SYMBOL1981 = (pANTLR3_COMMON_TOKEN) MATCHT(IF_SYMBOL, &FOLLOW_IF_SYMBOL_in_function_call10555);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        IF_SYMBOL1981_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, IF_SYMBOL1981));
        	        ADAPTOR->addChild(ADAPTOR, root_0, IF_SYMBOL1981_tree);
        	        }

        	        OPEN_PAR_SYMBOL1982 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_function_call10557);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL1982_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL1982));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL1982_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_function_call10559);
        	        expression1983=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression1983.tree);

        	        COMMA_SYMBOL1984 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_function_call10561);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        COMMA_SYMBOL1984_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL1984));
        	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL1984_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_function_call10563);
        	        expression1985=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression1985.tree);

        	        COMMA_SYMBOL1986 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_function_call10565);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        COMMA_SYMBOL1986_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL1986));
        	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL1986_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_function_call10567);
        	        expression1987=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression1987.tree);

        	        CLOSE_PAR_SYMBOL1988 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10569);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL1988_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL1988));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL1988_tree);
        	        }

        	    }
        	    break;
        	case 38:
        	    // MySQL.g:1841: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_SYMBOL1989 = (pANTLR3_COMMON_TOKEN) MATCHT(FORMAT_SYMBOL, &FOLLOW_FORMAT_SYMBOL_in_function_call10574);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        FORMAT_SYMBOL1989_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, FORMAT_SYMBOL1989));
        	        ADAPTOR->addChild(ADAPTOR, root_0, FORMAT_SYMBOL1989_tree);
        	        }

        	        OPEN_PAR_SYMBOL1990 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_function_call10576);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL1990_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL1990));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL1990_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_function_call10578);
        	        expression1991=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression1991.tree);

        	        COMMA_SYMBOL1992 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_function_call10580);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        COMMA_SYMBOL1992_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL1992));
        	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL1992_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_function_call10582);
        	        expression1993=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression1993.tree);

        	        // MySQL.g:1841:69: ( COMMA_SYMBOL expression )?
        	        {
        	            int alt581=2;
        	            switch ( LA(1) )
        	            {
        	                case COMMA_SYMBOL:
        	                	{
        	                		alt581=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt581)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1841:70: COMMA_SYMBOL expression
        	        	    {
        	        	        COMMA_SYMBOL1994 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_function_call10585);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulefunction_callEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        COMMA_SYMBOL1994_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL1994));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL1994_tree);
        	        	        }

        	        	        FOLLOWPUSH(FOLLOW_expression_in_function_call10587);
        	        	        expression1995=expression(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulefunction_callEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression1995.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	        CLOSE_PAR_SYMBOL1996 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10591);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL1996_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL1996));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL1996_tree);
        	        }

        	    }
        	    break;
        	case 39:
        	    // MySQL.g:1842:4: MICROSECOND_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        MICROSECOND_SYMBOL1997 = (pANTLR3_COMMON_TOKEN) MATCHT(MICROSECOND_SYMBOL, &FOLLOW_MICROSECOND_SYMBOL_in_function_call10596);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        MICROSECOND_SYMBOL1997_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MICROSECOND_SYMBOL1997));
        	        ADAPTOR->addChild(ADAPTOR, root_0, MICROSECOND_SYMBOL1997_tree);
        	        }

        	        OPEN_PAR_SYMBOL1998 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_function_call10598);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL1998_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL1998));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL1998_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_function_call10600);
        	        expression1999=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression1999.tree);

        	        CLOSE_PAR_SYMBOL2000 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10602);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL2000_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL2000));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL2000_tree);
        	        }

        	    }
        	    break;
        	case 40:
        	    // MySQL.g:1843:4: MOD_SYMBOL OPEN_PAR_SYMBOL expression COMMA_SYMBOL expression CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        MOD_SYMBOL2001 = (pANTLR3_COMMON_TOKEN) MATCHT(MOD_SYMBOL, &FOLLOW_MOD_SYMBOL_in_function_call10607);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        MOD_SYMBOL2001_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MOD_SYMBOL2001));
        	        ADAPTOR->addChild(ADAPTOR, root_0, MOD_SYMBOL2001_tree);
        	        }

        	        OPEN_PAR_SYMBOL2002 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_function_call10609);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL2002_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL2002));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL2002_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_function_call10611);
        	        expression2003=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2003.tree);

        	        COMMA_SYMBOL2004 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_function_call10613);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        COMMA_SYMBOL2004_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL2004));
        	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL2004_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_function_call10615);
        	        expression2005=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2005.tree);

        	        CLOSE_PAR_SYMBOL2006 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10617);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL2006_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL2006));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL2006_tree);
        	        }

        	    }
        	    break;
        	case 41:
        	    // MySQL.g:1844:4: OLD_PASSWORD_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        OLD_PASSWORD_SYMBOL2007 = (pANTLR3_COMMON_TOKEN) MATCHT(OLD_PASSWORD_SYMBOL, &FOLLOW_OLD_PASSWORD_SYMBOL_in_function_call10622);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OLD_PASSWORD_SYMBOL2007_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OLD_PASSWORD_SYMBOL2007));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OLD_PASSWORD_SYMBOL2007_tree);
        	        }

        	        OPEN_PAR_SYMBOL2008 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_function_call10624);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL2008_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL2008));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL2008_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_function_call10626);
        	        expression2009=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2009.tree);

        	        CLOSE_PAR_SYMBOL2010 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10628);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL2010_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL2010));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL2010_tree);
        	        }

        	    }
        	    break;
        	case 42:
        	    // MySQL.g:1845:4: PASSWORD_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        PASSWORD_SYMBOL2011 = (pANTLR3_COMMON_TOKEN) MATCHT(PASSWORD_SYMBOL, &FOLLOW_PASSWORD_SYMBOL_in_function_call10633);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        PASSWORD_SYMBOL2011_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, PASSWORD_SYMBOL2011));
        	        ADAPTOR->addChild(ADAPTOR, root_0, PASSWORD_SYMBOL2011_tree);
        	        }

        	        OPEN_PAR_SYMBOL2012 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_function_call10635);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL2012_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL2012));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL2012_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_function_call10637);
        	        expression2013=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2013.tree);

        	        CLOSE_PAR_SYMBOL2014 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10639);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL2014_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL2014));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL2014_tree);
        	        }

        	    }
        	    break;
        	case 43:
        	    // MySQL.g:1846:4: QUARTER_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        QUARTER_SYMBOL2015 = (pANTLR3_COMMON_TOKEN) MATCHT(QUARTER_SYMBOL, &FOLLOW_QUARTER_SYMBOL_in_function_call10644);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        QUARTER_SYMBOL2015_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, QUARTER_SYMBOL2015));
        	        ADAPTOR->addChild(ADAPTOR, root_0, QUARTER_SYMBOL2015_tree);
        	        }

        	        OPEN_PAR_SYMBOL2016 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_function_call10646);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL2016_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL2016));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL2016_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_function_call10648);
        	        expression2017=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2017.tree);

        	        CLOSE_PAR_SYMBOL2018 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10650);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL2018_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL2018));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL2018_tree);
        	        }

        	    }
        	    break;
        	case 44:
        	    // MySQL.g:1847:4: REPEAT_SYMBOL OPEN_PAR_SYMBOL expression COMMA_SYMBOL expression CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        REPEAT_SYMBOL2019 = (pANTLR3_COMMON_TOKEN) MATCHT(REPEAT_SYMBOL, &FOLLOW_REPEAT_SYMBOL_in_function_call10655);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        REPEAT_SYMBOL2019_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, REPEAT_SYMBOL2019));
        	        ADAPTOR->addChild(ADAPTOR, root_0, REPEAT_SYMBOL2019_tree);
        	        }

        	        OPEN_PAR_SYMBOL2020 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_function_call10657);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL2020_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL2020));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL2020_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_function_call10659);
        	        expression2021=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2021.tree);

        	        COMMA_SYMBOL2022 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_function_call10661);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        COMMA_SYMBOL2022_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL2022));
        	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL2022_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_function_call10663);
        	        expression2023=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2023.tree);

        	        CLOSE_PAR_SYMBOL2024 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10665);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL2024_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL2024));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL2024_tree);
        	        }

        	    }
        	    break;
        	case 45:
        	    // MySQL.g:1848: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_SYMBOL2025 = (pANTLR3_COMMON_TOKEN) MATCHT(REPLACE_SYMBOL, &FOLLOW_REPLACE_SYMBOL_in_function_call10670);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        REPLACE_SYMBOL2025_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, REPLACE_SYMBOL2025));
        	        ADAPTOR->addChild(ADAPTOR, root_0, REPLACE_SYMBOL2025_tree);
        	        }

        	        OPEN_PAR_SYMBOL2026 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_function_call10672);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL2026_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL2026));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL2026_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_function_call10674);
        	        expression2027=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2027.tree);

        	        COMMA_SYMBOL2028 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_function_call10676);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        COMMA_SYMBOL2028_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL2028));
        	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL2028_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_function_call10678);
        	        expression2029=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2029.tree);

        	        COMMA_SYMBOL2030 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_function_call10680);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        COMMA_SYMBOL2030_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL2030));
        	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL2030_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_function_call10682);
        	        expression2031=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2031.tree);

        	        CLOSE_PAR_SYMBOL2032 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10684);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL2032_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL2032));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL2032_tree);
        	        }

        	    }
        	    break;
        	case 46:
        	    // MySQL.g:1849:4: REVERSE_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        REVERSE_SYMBOL2033 = (pANTLR3_COMMON_TOKEN) MATCHT(REVERSE_SYMBOL, &FOLLOW_REVERSE_SYMBOL_in_function_call10689);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        REVERSE_SYMBOL2033_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, REVERSE_SYMBOL2033));
        	        ADAPTOR->addChild(ADAPTOR, root_0, REVERSE_SYMBOL2033_tree);
        	        }

        	        OPEN_PAR_SYMBOL2034 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_function_call10691);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL2034_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL2034));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL2034_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_function_call10693);
        	        expression2035=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2035.tree);

        	        CLOSE_PAR_SYMBOL2036 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10695);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL2036_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL2036));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL2036_tree);
        	        }

        	    }
        	    break;
        	case 47:
        	    // MySQL.g:1850:4: ROW_COUNT_SYMBOL parentheses
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        ROW_COUNT_SYMBOL2037 = (pANTLR3_COMMON_TOKEN) MATCHT(ROW_COUNT_SYMBOL, &FOLLOW_ROW_COUNT_SYMBOL_in_function_call10700);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        ROW_COUNT_SYMBOL2037_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ROW_COUNT_SYMBOL2037));
        	        ADAPTOR->addChild(ADAPTOR, root_0, ROW_COUNT_SYMBOL2037_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_parentheses_in_function_call10702);
        	        parentheses2038=parentheses(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, parentheses2038.tree);

        	    }
        	    break;
        	case 48:
        	    // MySQL.g:1851:4: TRUNCATE_SYMBOL OPEN_PAR_SYMBOL expression COMMA_SYMBOL expression CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        TRUNCATE_SYMBOL2039 = (pANTLR3_COMMON_TOKEN) MATCHT(TRUNCATE_SYMBOL, &FOLLOW_TRUNCATE_SYMBOL_in_function_call10707);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        TRUNCATE_SYMBOL2039_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, TRUNCATE_SYMBOL2039));
        	        ADAPTOR->addChild(ADAPTOR, root_0, TRUNCATE_SYMBOL2039_tree);
        	        }

        	        OPEN_PAR_SYMBOL2040 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_function_call10709);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL2040_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL2040));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL2040_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_function_call10711);
        	        expression2041=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2041.tree);

        	        COMMA_SYMBOL2042 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_function_call10713);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        COMMA_SYMBOL2042_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL2042));
        	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL2042_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_function_call10715);
        	        expression2043=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2043.tree);

        	        CLOSE_PAR_SYMBOL2044 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10717);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL2044_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL2044));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL2044_tree);
        	        }

        	    }
        	    break;
        	case 49:
        	    // MySQL.g:1852:4: WEEK_SYMBOL OPEN_PAR_SYMBOL expression ( COMMA_SYMBOL expression )? CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        WEEK_SYMBOL2045 = (pANTLR3_COMMON_TOKEN) MATCHT(WEEK_SYMBOL, &FOLLOW_WEEK_SYMBOL_in_function_call10722);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        WEEK_SYMBOL2045_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, WEEK_SYMBOL2045));
        	        ADAPTOR->addChild(ADAPTOR, root_0, WEEK_SYMBOL2045_tree);
        	        }

        	        OPEN_PAR_SYMBOL2046 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_function_call10724);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL2046_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL2046));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL2046_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_function_call10726);
        	        expression2047=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2047.tree);

        	        // MySQL.g:1852:43: ( COMMA_SYMBOL expression )?
        	        {
        	            int alt582=2;
        	            switch ( LA(1) )
        	            {
        	                case COMMA_SYMBOL:
        	                	{
        	                		alt582=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt582)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1852:44: COMMA_SYMBOL expression
        	        	    {
        	        	        COMMA_SYMBOL2048 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_function_call10729);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulefunction_callEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        COMMA_SYMBOL2048_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL2048));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL2048_tree);
        	        	        }

        	        	        FOLLOWPUSH(FOLLOW_expression_in_function_call10731);
        	        	        expression2049=expression(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulefunction_callEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2049.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	        CLOSE_PAR_SYMBOL2050 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10735);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL2050_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL2050));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL2050_tree);
        	        }

        	    }
        	    break;
        	case 50:
        	    // MySQL.g:1853: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 *)"function_call";


        	        }

        	        WEIGHT_STRING_SYMBOL2051 = (pANTLR3_COMMON_TOKEN) MATCHT(WEIGHT_STRING_SYMBOL, &FOLLOW_WEIGHT_STRING_SYMBOL_in_function_call10744);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        WEIGHT_STRING_SYMBOL2051_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, WEIGHT_STRING_SYMBOL2051));
        	        ADAPTOR->addChild(ADAPTOR, root_0, WEIGHT_STRING_SYMBOL2051_tree);
        	        }

        	        OPEN_PAR_SYMBOL2052 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_function_call10746);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL2052_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL2052));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL2052_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_function_call10748);
        	        expression2053=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2053.tree);

        	        // MySQL.g:1854: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 alt585=3;
        	            switch ( LA(1) )
        	            {
        	            case AS_SYMBOL:
        	            	{
        	            		switch ( LA(2) )
        	            		{
        	            		case CHAR_SYMBOL:
        	            			{
        	            				alt585=1;
        	            			}
        	            		    break;
        	            		case BINARY_SYMBOL:
        	            			{
        	            				alt585=2;
        	            			}
        	            		    break;

        	            		default:
        	            		    if (BACKTRACKING>0)
        	            		    {
        	            		        FAILEDFLAG = ANTLR3_TRUE;
        	            		        return retval;
        	            		    }

        	            		    CONSTRUCTEX();
        	            		    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	            		    EXCEPTION->message      = (void *)"";
        	            		    EXCEPTION->decisionNum  = 585;
        	            		    EXCEPTION->state        = 1;


        	            		    goto rulefunction_callEx;

        	            		}

        	            	}
        	                break;
        	            case LEVEL_SYMBOL:
        	            case CLOSE_PAR_SYMBOL:
        	            	{
        	            		alt585=1;
        	            	}
        	                break;
        	            case COMMA_SYMBOL:
        	            	{
        	            		alt585=3;
        	            	}
        	                break;

        	            default:
        	                if (BACKTRACKING>0)
        	                {
        	                    FAILEDFLAG = ANTLR3_TRUE;
        	                    return retval;
        	                }

        	                CONSTRUCTEX();
        	                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                EXCEPTION->message      = (void *)"";
        	                EXCEPTION->decisionNum  = 585;
        	                EXCEPTION->state        = 0;


        	                goto rulefunction_callEx;

        	            }

        	            switch (alt585)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1855:4: ( AS_SYMBOL CHAR_SYMBOL field_length )? ( weight_string_levels )?
        	        	    {
        	        	        // MySQL.g:1855:4: ( AS_SYMBOL CHAR_SYMBOL field_length )?
        	        	        {
        	        	            int alt583=2;
        	        	            switch ( LA(1) )
        	        	            {
        	        	                case AS_SYMBOL:
        	        	                	{
        	        	                		alt583=1;
        	        	                	}
        	        	                    break;
        	        	            }

        	        	            switch (alt583)
        	        	            {
        	        	        	case 1:
        	        	        	    // MySQL.g:1855:5: AS_SYMBOL CHAR_SYMBOL field_length
        	        	        	    {
        	        	        	        AS_SYMBOL2054 = (pANTLR3_COMMON_TOKEN) MATCHT(AS_SYMBOL, &FOLLOW_AS_SYMBOL_in_function_call10758);
        	        	        	        if  (HASEXCEPTION())
        	        	        	        {
        	        	        	            goto rulefunction_callEx;
        	        	        	        }
        	        	        	        if (HASFAILED())
        	        	        	        {
        	        	        	            return retval;
        	        	        	        }

        	        	        	        if ( BACKTRACKING==0 ) {
        	        	        	        AS_SYMBOL2054_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, AS_SYMBOL2054));
        	        	        	        ADAPTOR->addChild(ADAPTOR, root_0, AS_SYMBOL2054_tree);
        	        	        	        }

        	        	        	        CHAR_SYMBOL2055 = (pANTLR3_COMMON_TOKEN) MATCHT(CHAR_SYMBOL, &FOLLOW_CHAR_SYMBOL_in_function_call10760);
        	        	        	        if  (HASEXCEPTION())
        	        	        	        {
        	        	        	            goto rulefunction_callEx;
        	        	        	        }
        	        	        	        if (HASFAILED())
        	        	        	        {
        	        	        	            return retval;
        	        	        	        }

        	        	        	        if ( BACKTRACKING==0 ) {
        	        	        	        CHAR_SYMBOL2055_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CHAR_SYMBOL2055));
        	        	        	        ADAPTOR->addChild(ADAPTOR, root_0, CHAR_SYMBOL2055_tree);
        	        	        	        }

        	        	        	        FOLLOWPUSH(FOLLOW_field_length_in_function_call10762);
        	        	        	        field_length2056=field_length(ctx);

        	        	        	        FOLLOWPOP();
        	        	        	        if  (HASEXCEPTION())
        	        	        	        {
        	        	        	            goto rulefunction_callEx;
        	        	        	        }
        	        	        	        if (HASFAILED())
        	        	        	        {
        	        	        	            return retval;
        	        	        	        }

        	        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, field_length2056.tree);

        	        	        	    }
        	        	        	    break;

        	        	            }
        	        	        }

        	        	        // MySQL.g:1855:42: ( weight_string_levels )?
        	        	        {
        	        	            int alt584=2;
        	        	            switch ( LA(1) )
        	        	            {
        	        	                case LEVEL_SYMBOL:
        	        	                	{
        	        	                		alt584=1;
        	        	                	}
        	        	                    break;
        	        	            }

        	        	            switch (alt584)
        	        	            {
        	        	        	case 1:
        	        	        	    // MySQL.g:1855:42: weight_string_levels
        	        	        	    {
        	        	        	        FOLLOWPUSH(FOLLOW_weight_string_levels_in_function_call10766);
        	        	        	        weight_string_levels2057=weight_string_levels(ctx);

        	        	        	        FOLLOWPOP();
        	        	        	        if  (HASEXCEPTION())
        	        	        	        {
        	        	        	            goto rulefunction_callEx;
        	        	        	        }
        	        	        	        if (HASFAILED())
        	        	        	        {
        	        	        	            return retval;
        	        	        	        }

        	        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, weight_string_levels2057.tree);

        	        	        	    }
        	        	        	    break;

        	        	            }
        	        	        }

        	        	    }
        	        	    break;
        	        	case 2:
        	        	    // MySQL.g:1856:6: AS_SYMBOL BINARY_SYMBOL field_length
        	        	    {
        	        	        AS_SYMBOL2058 = (pANTLR3_COMMON_TOKEN) MATCHT(AS_SYMBOL, &FOLLOW_AS_SYMBOL_in_function_call10774);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulefunction_callEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        AS_SYMBOL2058_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, AS_SYMBOL2058));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, AS_SYMBOL2058_tree);
        	        	        }

        	        	        BINARY_SYMBOL2059 = (pANTLR3_COMMON_TOKEN) MATCHT(BINARY_SYMBOL, &FOLLOW_BINARY_SYMBOL_in_function_call10776);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulefunction_callEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        BINARY_SYMBOL2059_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, BINARY_SYMBOL2059));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, BINARY_SYMBOL2059_tree);
        	        	        }

        	        	        FOLLOWPUSH(FOLLOW_field_length_in_function_call10778);
        	        	        field_length2060=field_length(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulefunction_callEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, field_length2060.tree);

        	        	    }
        	        	    break;
        	        	case 3:
        	        	    // MySQL.g:1857:6: COMMA_SYMBOL INTEGER COMMA_SYMBOL INTEGER COMMA_SYMBOL INTEGER
        	        	    {
        	        	        COMMA_SYMBOL2061 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_function_call10785);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulefunction_callEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        COMMA_SYMBOL2061_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL2061));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL2061_tree);
        	        	        }

        	        	        INTEGER2062 = (pANTLR3_COMMON_TOKEN) MATCHT(INTEGER, &FOLLOW_INTEGER_in_function_call10787);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulefunction_callEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        INTEGER2062_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INTEGER2062));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, INTEGER2062_tree);
        	        	        }

        	        	        COMMA_SYMBOL2063 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_function_call10789);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulefunction_callEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        COMMA_SYMBOL2063_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL2063));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL2063_tree);
        	        	        }

        	        	        INTEGER2064 = (pANTLR3_COMMON_TOKEN) MATCHT(INTEGER, &FOLLOW_INTEGER_in_function_call10791);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulefunction_callEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        INTEGER2064_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INTEGER2064));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, INTEGER2064_tree);
        	        	        }

        	        	        COMMA_SYMBOL2065 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_function_call10793);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulefunction_callEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        COMMA_SYMBOL2065_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL2065));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL2065_tree);
        	        	        }

        	        	        INTEGER2066 = (pANTLR3_COMMON_TOKEN) MATCHT(INTEGER, &FOLLOW_INTEGER_in_function_call10795);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulefunction_callEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        INTEGER2066_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INTEGER2066));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, INTEGER2066_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	        CLOSE_PAR_SYMBOL2067 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10803);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL2067_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL2067));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL2067_tree);
        	        }

        	    }
        	    break;
        	case 51:
        	    // MySQL.g:1860:4: geometry_function
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_geometry_function_in_function_call10808);
        	        geometry_function2068=geometry_function(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, geometry_function2068.tree);

        	    }
        	    break;
        	case 52:
        	    // MySQL.g:1861:4: aggregate_function
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_aggregate_function_in_function_call10813);
        	        aggregate_function2069=aggregate_function(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, aggregate_function2069.tree);

        	    }
        	    break;

            }
        }
    }

    // This is where rules clean up and exit
    //
    goto rulefunction_callEx; /* Prevent compiler warnings */
    rulefunction_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 (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end function_call */

/**
 * $ANTLR start time_function_parameters
 * MySQL.g:1864: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_SYMBOL2070;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2072;
    MySQLParser_fractional_precision_return fractional_precision2071;
    #undef	RETURN_TYPE_fractional_precision2071
    #define	RETURN_TYPE_fractional_precision2071 MySQLParser_fractional_precision_return

    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2070_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2072_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    OPEN_PAR_SYMBOL2070       = NULL;
    CLOSE_PAR_SYMBOL2072       = NULL;
    fractional_precision2071.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    OPEN_PAR_SYMBOL2070_tree   = NULL;
    CLOSE_PAR_SYMBOL2072_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1864:25: ( OPEN_PAR_SYMBOL ( fractional_precision )? CLOSE_PAR_SYMBOL )
        // MySQL.g:1865:2: OPEN_PAR_SYMBOL ( fractional_precision )? CLOSE_PAR_SYMBOL
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            OPEN_PAR_SYMBOL2070 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_time_function_parameters10822);
            if  (HASEXCEPTION())
            {
                goto ruletime_function_parametersEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            OPEN_PAR_SYMBOL2070_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL2070));
            ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL2070_tree);
            }

            // MySQL.g:1865:18: ( fractional_precision )?
            {
                int alt587=2;
                {
                    int LA587_0 = LA(1);
                    if ( ((SERVER_VERSION >= 50604)) && (LA587_0 == INTEGER))
                    {
                        alt587=1;
                    }
                }
                switch (alt587)
                {
            	case 1:
            	    // MySQL.g:1865:18: fractional_precision
            	    {
            	        FOLLOWPUSH(FOLLOW_fractional_precision_in_time_function_parameters10824);
            	        fractional_precision2071=fractional_precision(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruletime_function_parametersEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, fractional_precision2071.tree);

            	    }
            	    break;

                }
            }

            CLOSE_PAR_SYMBOL2072 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_time_function_parameters10827);
            if  (HASEXCEPTION())
            {
                goto ruletime_function_parametersEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            CLOSE_PAR_SYMBOL2072_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL2072));
            ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL2072_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:1868: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    INTEGER2073;

    pANTLR3_BASE_TREE INTEGER2073_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    INTEGER2073       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    INTEGER2073_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1868:21: ({...}? => INTEGER )
        // MySQL.g:1869: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";


            }

            INTEGER2073 = (pANTLR3_COMMON_TOKEN) MATCHT(INTEGER, &FOLLOW_INTEGER_in_fractional_precision10840);
            if  (HASEXCEPTION())
            {
                goto rulefractional_precisionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            INTEGER2073_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INTEGER2073));
            ADAPTOR->addChild(ADAPTOR, root_0, INTEGER2073_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:1872: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_SYMBOL2074;
    pANTLR3_COMMON_TOKEN    INTEGER2075;
    pANTLR3_COMMON_TOKEN    MINUS_OPERATOR2076;
    pANTLR3_COMMON_TOKEN    INTEGER2077;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL2079;
    MySQLParser_weight_string_level_list_item_return weight_string_level_list_item2078;
    #undef	RETURN_TYPE_weight_string_level_list_item2078
    #define	RETURN_TYPE_weight_string_level_list_item2078 MySQLParser_weight_string_level_list_item_return

    MySQLParser_weight_string_level_list_item_return weight_string_level_list_item2080;
    #undef	RETURN_TYPE_weight_string_level_list_item2080
    #define	RETURN_TYPE_weight_string_level_list_item2080 MySQLParser_weight_string_level_list_item_return

    pANTLR3_BASE_TREE LEVEL_SYMBOL2074_tree;
    pANTLR3_BASE_TREE INTEGER2075_tree;
    pANTLR3_BASE_TREE MINUS_OPERATOR2076_tree;
    pANTLR3_BASE_TREE INTEGER2077_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL2079_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    LEVEL_SYMBOL2074       = NULL;
    INTEGER2075       = NULL;
    MINUS_OPERATOR2076       = NULL;
    INTEGER2077       = NULL;
    COMMA_SYMBOL2079       = NULL;
    weight_string_level_list_item2078.tree = NULL;

    weight_string_level_list_item2080.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    LEVEL_SYMBOL2074_tree   = NULL;
    INTEGER2075_tree   = NULL;
    MINUS_OPERATOR2076_tree   = NULL;
    INTEGER2077_tree   = NULL;
    COMMA_SYMBOL2079_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1872:21: ( LEVEL_SYMBOL ( INTEGER MINUS_OPERATOR INTEGER | weight_string_level_list_item ( COMMA_SYMBOL weight_string_level_list_item )* ) )
        // MySQL.g:1873: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_SYMBOL2074 = (pANTLR3_COMMON_TOKEN) MATCHT(LEVEL_SYMBOL, &FOLLOW_LEVEL_SYMBOL_in_weight_string_levels10849);
            if  (HASEXCEPTION())
            {
                goto ruleweight_string_levelsEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            LEVEL_SYMBOL2074_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, LEVEL_SYMBOL2074));
            ADAPTOR->addChild(ADAPTOR, root_0, LEVEL_SYMBOL2074_tree);
            }

            // MySQL.g:1874:3: ( INTEGER MINUS_OPERATOR INTEGER | weight_string_level_list_item ( COMMA_SYMBOL weight_string_level_list_item )* )
            {
                int alt589=2;
                switch ( LA(1) )
                {
                case INTEGER:
                	{
                		switch ( LA(2) )
                		{
                		case MINUS_OPERATOR:
                			{
                				alt589=1;
                			}
                		    break;
                		case REVERSE_SYMBOL:
                		case ASC_SYMBOL:
                		case CLOSE_PAR_SYMBOL:
                		case COMMA_SYMBOL:
                		case DESC_SYMBOL:
                			{
                				alt589=2;
                			}
                		    break;

                		default:
                		    if (BACKTRACKING>0)
                		    {
                		        FAILEDFLAG = ANTLR3_TRUE;
                		        return retval;
                		    }

                		    CONSTRUCTEX();
                		    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                		    EXCEPTION->message      = (void *)"";
                		    EXCEPTION->decisionNum  = 589;
                		    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  = 589;
                    EXCEPTION->state        = 0;


                    goto ruleweight_string_levelsEx;

                }

                switch (alt589)
                {
            	case 1:
            	    // MySQL.g:1875:4: INTEGER MINUS_OPERATOR INTEGER
            	    {
            	        INTEGER2075 = (pANTLR3_COMMON_TOKEN) MATCHT(INTEGER, &FOLLOW_INTEGER_in_weight_string_levels10858);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleweight_string_levelsEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        INTEGER2075_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INTEGER2075));
            	        ADAPTOR->addChild(ADAPTOR, root_0, INTEGER2075_tree);
            	        }

            	        MINUS_OPERATOR2076 = (pANTLR3_COMMON_TOKEN) MATCHT(MINUS_OPERATOR, &FOLLOW_MINUS_OPERATOR_in_weight_string_levels10860);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleweight_string_levelsEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        MINUS_OPERATOR2076_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MINUS_OPERATOR2076));
            	        ADAPTOR->addChild(ADAPTOR, root_0, MINUS_OPERATOR2076_tree);
            	        }

            	        INTEGER2077 = (pANTLR3_COMMON_TOKEN) MATCHT(INTEGER, &FOLLOW_INTEGER_in_weight_string_levels10862);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleweight_string_levelsEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        INTEGER2077_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INTEGER2077));
            	        ADAPTOR->addChild(ADAPTOR, root_0, INTEGER2077_tree);
            	        }

            	    }
            	    break;
            	case 2:
            	    // MySQL.g:1876:6: weight_string_level_list_item ( COMMA_SYMBOL weight_string_level_list_item )*
            	    {
            	        FOLLOWPUSH(FOLLOW_weight_string_level_list_item_in_weight_string_levels10869);
            	        weight_string_level_list_item2078=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_item2078.tree);

            	        // MySQL.g:1876:36: ( COMMA_SYMBOL weight_string_level_list_item )*

            	        for (;;)
            	        {
            	            int alt588=2;
            	            switch ( LA(1) )
            	            {
            	            case COMMA_SYMBOL:
            	            	{
            	            		alt588=1;
            	            	}
            	                break;

            	            }

            	            switch (alt588)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1876:37: COMMA_SYMBOL weight_string_level_list_item
            	        	    {
            	        	        COMMA_SYMBOL2079 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_weight_string_levels10872);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleweight_string_levelsEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        COMMA_SYMBOL2079_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL2079));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL2079_tree);
            	        	        }

            	        	        FOLLOWPUSH(FOLLOW_weight_string_level_list_item_in_weight_string_levels10874);
            	        	        weight_string_level_list_item2080=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_item2080.tree);

            	        	    }
            	        	    break;

            	        	default:
            	        	    goto loop588;	/* break out of the loop */
            	        	    break;
            	            }
            	        }
            	        loop588: ; /* 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:1880: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    INTEGER2081;
    pANTLR3_COMMON_TOKEN    set2082;
    pANTLR3_COMMON_TOKEN    REVERSE_SYMBOL2083;
    pANTLR3_COMMON_TOKEN    REVERSE_SYMBOL2084;

    pANTLR3_BASE_TREE INTEGER2081_tree;
    pANTLR3_BASE_TREE set2082_tree;
    pANTLR3_BASE_TREE REVERSE_SYMBOL2083_tree;
    pANTLR3_BASE_TREE REVERSE_SYMBOL2084_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    INTEGER2081       = NULL;
    set2082       = NULL;
    REVERSE_SYMBOL2083       = NULL;
    REVERSE_SYMBOL2084       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    INTEGER2081_tree   = NULL;
    set2082_tree   = NULL;
    REVERSE_SYMBOL2083_tree   = NULL;
    REVERSE_SYMBOL2084_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1880:30: ( INTEGER ( ( ASC_SYMBOL | DESC_SYMBOL ) ( REVERSE_SYMBOL )? | REVERSE_SYMBOL )? )
        // MySQL.g:1881:2: INTEGER ( ( ASC_SYMBOL | DESC_SYMBOL ) ( REVERSE_SYMBOL )? | REVERSE_SYMBOL )?
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            INTEGER2081 = (pANTLR3_COMMON_TOKEN) MATCHT(INTEGER, &FOLLOW_INTEGER_in_weight_string_level_list_item10889);
            if  (HASEXCEPTION())
            {
                goto ruleweight_string_level_list_itemEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            INTEGER2081_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INTEGER2081));
            ADAPTOR->addChild(ADAPTOR, root_0, INTEGER2081_tree);
            }

            // MySQL.g:1882:3: ( ( ASC_SYMBOL | DESC_SYMBOL ) ( REVERSE_SYMBOL )? | REVERSE_SYMBOL )?
            {
                int alt591=3;
                switch ( LA(1) )
                {
                    case ASC_SYMBOL:
                    case DESC_SYMBOL:
                    	{
                    		alt591=1;
                    	}
                        break;
                    case REVERSE_SYMBOL:
                    	{
                    		alt591=2;
                    	}
                        break;
                }

                switch (alt591)
                {
            	case 1:
            	    // MySQL.g:1883:4: ( ASC_SYMBOL | DESC_SYMBOL ) ( REVERSE_SYMBOL )?
            	    {
            	        set2082=(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, set2082))
            	            );
            	            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:1883:31: ( REVERSE_SYMBOL )?
            	        {
            	            int alt590=2;
            	            switch ( LA(1) )
            	            {
            	                case REVERSE_SYMBOL:
            	                	{
            	                		alt590=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt590)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1883:31: REVERSE_SYMBOL
            	        	    {
            	        	        REVERSE_SYMBOL2083 = (pANTLR3_COMMON_TOKEN) MATCHT(REVERSE_SYMBOL, &FOLLOW_REVERSE_SYMBOL_in_weight_string_level_list_item10906);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleweight_string_level_list_itemEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        REVERSE_SYMBOL2083_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, REVERSE_SYMBOL2083));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, REVERSE_SYMBOL2083_tree);
            	        	        }

            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;
            	case 2:
            	    // MySQL.g:1884:6: REVERSE_SYMBOL
            	    {
            	        REVERSE_SYMBOL2084 = (pANTLR3_COMMON_TOKEN) MATCHT(REVERSE_SYMBOL, &FOLLOW_REVERSE_SYMBOL_in_weight_string_level_list_item10914);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleweight_string_level_list_itemEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        REVERSE_SYMBOL2084_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, REVERSE_SYMBOL2084));
            	        ADAPTOR->addChild(ADAPTOR, root_0, REVERSE_SYMBOL2084_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 generic_function_call
 * MySQL.g:1888:1: generic_function_call : qualified_identifier OPEN_PAR_SYMBOL ( expression_list )? CLOSE_PAR_SYMBOL -> ^( FUNCTION_CALL qualified_identifier OPEN_PAR_SYMBOL ( expression_list )? CLOSE_PAR_SYMBOL ) ;
 */
static MySQLParser_generic_function_call_return
generic_function_call(pMySQLParser ctx)
{
    MySQLParser_generic_function_call_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL2086;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2088;
    MySQLParser_qualified_identifier_return qualified_identifier2085;
    #undef	RETURN_TYPE_qualified_identifier2085
    #define	RETURN_TYPE_qualified_identifier2085 MySQLParser_qualified_identifier_return

    MySQLParser_expression_list_return expression_list2087;
    #undef	RETURN_TYPE_expression_list2087
    #define	RETURN_TYPE_expression_list2087 MySQLParser_expression_list_return

    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2086_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2088_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;
    pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_qualified_identifier;
    /* Initialize rule variables
     */

    root_0 = NULL;

    OPEN_PAR_SYMBOL2086       = NULL;
    CLOSE_PAR_SYMBOL2088       = NULL;
    qualified_identifier2085.tree = NULL;

    expression_list2087.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    OPEN_PAR_SYMBOL2086_tree   = NULL;
    CLOSE_PAR_SYMBOL2088_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"); }
    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:1888:22: ( qualified_identifier OPEN_PAR_SYMBOL ( expression_list )? CLOSE_PAR_SYMBOL -> ^( FUNCTION_CALL qualified_identifier OPEN_PAR_SYMBOL ( expression_list )? CLOSE_PAR_SYMBOL ) )
        // MySQL.g:1889:2: qualified_identifier OPEN_PAR_SYMBOL ( expression_list )? CLOSE_PAR_SYMBOL
        {
            FOLLOWPUSH(FOLLOW_qualified_identifier_in_generic_function_call10928);
            qualified_identifier2085=qualified_identifier(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulegeneric_function_callEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) { CREATE_stream_qualified_identifier; stream_qualified_identifier->add(stream_qualified_identifier, qualified_identifier2085.tree, NULL); }

            OPEN_PAR_SYMBOL2086 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_generic_function_call10930);
            if  (HASEXCEPTION())
            {
                goto rulegeneric_function_callEx;
            }
            if (HASFAILED())
            {
                return retval;
            }
             
            if ( BACKTRACKING==0 ) { CREATE_stream_OPEN_PAR_SYMBOL; stream_OPEN_PAR_SYMBOL->add(stream_OPEN_PAR_SYMBOL, OPEN_PAR_SYMBOL2086, NULL); }


            // MySQL.g:1889:39: ( expression_list )?
            {
                int alt592=2;
                {
                    int LA592_0 = LA(1);
                    if ( (LA592_0 == BITWISE_NOT_OPERATOR || LA592_0 == INTERVAL_SYMBOL || LA592_0 == LOGICAL_NOT_OPERATOR || LA592_0 == MINUS_OPERATOR || LA592_0 == NCHAR_TEXT || LA592_0 == NOT2_SYMBOL || LA592_0 == NOT_SYMBOL || LA592_0 == PLUS_OPERATOR || LA592_0 == SINGLE_QUOTED_TEXT || LA592_0 == UNDERSCORE_CHARSET))
                    {
                        alt592=1;
                    }
                    else if ( ((((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES)))||((!SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))))) && (LA592_0 == DOUBLE_QUOTED_TEXT))
                    {
                        alt592=1;
                    }
                    else if ( (LA592_0 == FALSE_SYMBOL || LA592_0 == FLOAT || ((LA592_0 >= HEXNUMBER) && (LA592_0 <= HEXSTRING)) || LA592_0 == INTEGER || LA592_0 == TRUE_SYMBOL))
                    {
                        alt592=1;
                    }
                    else if ( ((SERVER_VERSION >= 50003)) && (((LA592_0 >= BITNUMBER) && (LA592_0 <= BITSTRING))))
                    {
                        alt592=1;
                    }
                    else if ( (((LA592_0 >= ACTION_SYMBOL) && (LA592_0 <= PARTITION_SYMBOL)) || ((LA592_0 >= AT_AT_SIGN_SYMBOL) && (LA592_0 <= AT_SIGN_SYMBOL)) || LA592_0 == BACK_TICK_QUOTED_ID || LA592_0 == BINARY_SYMBOL || ((LA592_0 >= BIT_AND_SYMBOL) && (LA592_0 <= BIT_XOR_SYMBOL)) || ((LA592_0 >= CASE_SYMBOL) && (LA592_0 <= CAST_SYMBOL)) || LA592_0 == CHAR_SYMBOL || ((LA592_0 >= CONVERT_SYMBOL) && (LA592_0 <= COUNT_SYMBOL)) || LA592_0 == CURDATE_SYMBOL || LA592_0 == CURRENT_USER_SYMBOL || LA592_0 == CURTIME_SYMBOL || LA592_0 == DATABASE_SYMBOL || LA592_0 == DATE_ADD_SYMBOL || LA592_0 == DATE_SUB_SYMBOL || LA592_0 == DOT_SYMBOL || LA592_0 == EXISTS_SYMBOL || LA592_0 == EXTRACT_SYMBOL || LA592_0 == GROUP_CONCAT_SYMBOL || ((LA592_0 >= IDENTIFIER) && (LA592_0 <= IF_SYMBOL)) || LA592_0 == INSERT_SYMBOL || LA592_0 == LEFT_SYMBOL || LA592_0 == MATCH_SYMBOL || LA592_0 == MAX_SYMBOL || LA592_0 == MIN_SYMBOL || LA592_0 == MOD_SYMBOL || LA592_0 == NOW_SYMBOL || LA592_0 == NULL2_SYMBOL || LA592_0 == NULL_SYMBOL || ((LA592_0 >= OPEN_CURLY_SYMBOL) && (LA592_0 <= OPEN_PAR_SYMBOL)) || LA592_0 == PARAM_MARKER || LA592_0 == POSITION_SYMBOL || ((LA592_0 >= REPEAT_SYMBOL) && (LA592_0 <= REPLACE_SYMBOL)) || LA592_0 == RIGHT_SYMBOL || LA592_0 == STDDEV_SAMP_SYMBOL || LA592_0 == STD_SYMBOL || LA592_0 == SUBSTRING_SYMBOL || ((LA592_0 >= SUM_SYMBOL) && (LA592_0 <= SYSDATE_SYMBOL)) || LA592_0 == TRIM_SYMBOL || ((LA592_0 >= UTC_DATE_SYMBOL) && (LA592_0 <= VALUES_SYMBOL)) || LA592_0 == VARIANCE_SYMBOL || LA592_0 == VAR_SAMP_SYMBOL))
                    {
                        alt592=1;
                    }
                }
                switch (alt592)
                {
            	case 1:
            	    // MySQL.g:1889:39: expression_list
            	    {
            	        FOLLOWPUSH(FOLLOW_expression_list_in_generic_function_call10932);
            	        expression_list2087=expression_list(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulegeneric_function_callEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) { CREATE_stream_expression_list; stream_expression_list->add(stream_expression_list, expression_list2087.tree, NULL); }

            	    }
            	    break;

                }
            }

            CLOSE_PAR_SYMBOL2088 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_generic_function_call10935);
            if  (HASEXCEPTION())
            {
                goto rulegeneric_function_callEx;
            }
            if (HASFAILED())
            {
                return retval;
            }
             
            if ( BACKTRACKING==0 ) { CREATE_stream_CLOSE_PAR_SYMBOL; stream_CLOSE_PAR_SYMBOL->add(stream_CLOSE_PAR_SYMBOL, CLOSE_PAR_SYMBOL2088, NULL); }


            /* AST REWRITE
             * elements          : qualified_identifier, OPEN_PAR_SYMBOL, expression_list, 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;
            	// 1890:4: -> ^( FUNCTION_CALL qualified_identifier OPEN_PAR_SYMBOL ( expression_list )? CLOSE_PAR_SYMBOL )
            	{
            	    // MySQL.g:1890:7: ^( FUNCTION_CALL qualified_identifier 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, FUNCTION_CALL, (pANTLR3_UINT8)"FUNCTION_CALL")
            	        , root_1));

            	        ADAPTOR->addChild(ADAPTOR, root_1, stream_qualified_identifier == NULL ? NULL : stream_qualified_identifier->nextTree(stream_qualified_identifier));

            	        ADAPTOR->addChild(ADAPTOR, root_1, 
            	        stream_OPEN_PAR_SYMBOL == NULL ? NULL : stream_OPEN_PAR_SYMBOL->nextNode(stream_OPEN_PAR_SYMBOL)
            	        );

            	        // MySQL.g:1890:60: ( expression_list )?
            	        {
            	        	if ( (stream_expression_list != NULL && stream_expression_list->hasNext(stream_expression_list))  )
            	        	{
            	        		ADAPTOR->addChild(ADAPTOR, root_1, stream_expression_list == NULL ? NULL : stream_expression_list->nextTree(stream_expression_list));

            	        	}
            	        	if ( stream_expression_list != NULL) stream_expression_list->reset(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 rulegeneric_function_callEx; /* Prevent compiler warnings */
    rulegeneric_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_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 (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 generic_function_call */

/**
 * $ANTLR start date_time_type
 * MySQL.g:1893: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    set2089;

    pANTLR3_BASE_TREE set2089_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    set2089       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    set2089_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1893:15: ( DATE_SYMBOL | TIME_SYMBOL | DATETIME_SYMBOL | TIMESTAMP_SYMBOL )
        // MySQL.g:
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            set2089=(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, set2089))
                );
                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:1900: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_SYMBOL2090;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL2091;
    pANTLR3_COMMON_TOKEN    FROM_SYMBOL2093;
    pANTLR3_COMMON_TOKEN    LEADING_SYMBOL2095;
    pANTLR3_COMMON_TOKEN    FROM_SYMBOL2097;
    pANTLR3_COMMON_TOKEN    TRAILING_SYMBOL2099;
    pANTLR3_COMMON_TOKEN    FROM_SYMBOL2101;
    pANTLR3_COMMON_TOKEN    BOTH_SYMBOL2103;
    pANTLR3_COMMON_TOKEN    FROM_SYMBOL2105;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2107;
    MySQLParser_expression_return expression2092;
    #undef	RETURN_TYPE_expression2092
    #define	RETURN_TYPE_expression2092 MySQLParser_expression_return

    MySQLParser_expression_return expression2094;
    #undef	RETURN_TYPE_expression2094
    #define	RETURN_TYPE_expression2094 MySQLParser_expression_return

    MySQLParser_expression_return expression2096;
    #undef	RETURN_TYPE_expression2096
    #define	RETURN_TYPE_expression2096 MySQLParser_expression_return

    MySQLParser_expression_return expression2098;
    #undef	RETURN_TYPE_expression2098
    #define	RETURN_TYPE_expression2098 MySQLParser_expression_return

    MySQLParser_expression_return expression2100;
    #undef	RETURN_TYPE_expression2100
    #define	RETURN_TYPE_expression2100 MySQLParser_expression_return

    MySQLParser_expression_return expression2102;
    #undef	RETURN_TYPE_expression2102
    #define	RETURN_TYPE_expression2102 MySQLParser_expression_return

    MySQLParser_expression_return expression2104;
    #undef	RETURN_TYPE_expression2104
    #define	RETURN_TYPE_expression2104 MySQLParser_expression_return

    MySQLParser_expression_return expression2106;
    #undef	RETURN_TYPE_expression2106
    #define	RETURN_TYPE_expression2106 MySQLParser_expression_return

    pANTLR3_BASE_TREE TRIM_SYMBOL2090_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2091_tree;
    pANTLR3_BASE_TREE FROM_SYMBOL2093_tree;
    pANTLR3_BASE_TREE LEADING_SYMBOL2095_tree;
    pANTLR3_BASE_TREE FROM_SYMBOL2097_tree;
    pANTLR3_BASE_TREE TRAILING_SYMBOL2099_tree;
    pANTLR3_BASE_TREE FROM_SYMBOL2101_tree;
    pANTLR3_BASE_TREE BOTH_SYMBOL2103_tree;
    pANTLR3_BASE_TREE FROM_SYMBOL2105_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2107_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    TRIM_SYMBOL2090       = NULL;
    OPEN_PAR_SYMBOL2091       = NULL;
    FROM_SYMBOL2093       = NULL;
    LEADING_SYMBOL2095       = NULL;
    FROM_SYMBOL2097       = NULL;
    TRAILING_SYMBOL2099       = NULL;
    FROM_SYMBOL2101       = NULL;
    BOTH_SYMBOL2103       = NULL;
    FROM_SYMBOL2105       = NULL;
    CLOSE_PAR_SYMBOL2107       = NULL;
    expression2092.tree = NULL;

    expression2094.tree = NULL;

    expression2096.tree = NULL;

    expression2098.tree = NULL;

    expression2100.tree = NULL;

    expression2102.tree = NULL;

    expression2104.tree = NULL;

    expression2106.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    TRIM_SYMBOL2090_tree   = NULL;
    OPEN_PAR_SYMBOL2091_tree   = NULL;
    FROM_SYMBOL2093_tree   = NULL;
    LEADING_SYMBOL2095_tree   = NULL;
    FROM_SYMBOL2097_tree   = NULL;
    TRAILING_SYMBOL2099_tree   = NULL;
    FROM_SYMBOL2101_tree   = NULL;
    BOTH_SYMBOL2103_tree   = NULL;
    FROM_SYMBOL2105_tree   = NULL;
    CLOSE_PAR_SYMBOL2107_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1900: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:1901: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_SYMBOL2090 = (pANTLR3_COMMON_TOKEN) MATCHT(TRIM_SYMBOL, &FOLLOW_TRIM_SYMBOL_in_trim_function10986);
            if  (HASEXCEPTION())
            {
                goto ruletrim_functionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            TRIM_SYMBOL2090_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, TRIM_SYMBOL2090));
            ADAPTOR->addChild(ADAPTOR, root_0, TRIM_SYMBOL2090_tree);
            }

            OPEN_PAR_SYMBOL2091 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_trim_function10988);
            if  (HASEXCEPTION())
            {
                goto ruletrim_functionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            OPEN_PAR_SYMBOL2091_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL2091));
            ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL2091_tree);
            }

            // MySQL.g:1902:2: ( expression ( FROM_SYMBOL expression )? | LEADING_SYMBOL ( expression )? FROM_SYMBOL expression | TRAILING_SYMBOL ( expression )? FROM_SYMBOL expression | BOTH_SYMBOL ( expression )? FROM_SYMBOL expression )
            {
                int alt597=4;
                {
                    int LA597_0 = LA(1);
                    if ( (LA597_0 == BITWISE_NOT_OPERATOR || LA597_0 == INTERVAL_SYMBOL || LA597_0 == LOGICAL_NOT_OPERATOR || LA597_0 == MINUS_OPERATOR || LA597_0 == NCHAR_TEXT || LA597_0 == NOT2_SYMBOL || LA597_0 == NOT_SYMBOL || LA597_0 == PLUS_OPERATOR || LA597_0 == SINGLE_QUOTED_TEXT || LA597_0 == UNDERSCORE_CHARSET))
                    {
                        alt597=1;
                    }
                    else if ( ((((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES)))||((!SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))))) && (LA597_0 == DOUBLE_QUOTED_TEXT))
                    {
                        alt597=1;
                    }
                    else if ( (LA597_0 == FALSE_SYMBOL || LA597_0 == FLOAT || ((LA597_0 >= HEXNUMBER) && (LA597_0 <= HEXSTRING)) || LA597_0 == INTEGER || LA597_0 == TRUE_SYMBOL))
                    {
                        alt597=1;
                    }
                    else if ( ((SERVER_VERSION >= 50003)) && (((LA597_0 >= BITNUMBER) && (LA597_0 <= BITSTRING))))
                    {
                        alt597=1;
                    }
                    else if ( (((LA597_0 >= ACTION_SYMBOL) && (LA597_0 <= PARTITION_SYMBOL)) || ((LA597_0 >= AT_AT_SIGN_SYMBOL) && (LA597_0 <= AT_SIGN_SYMBOL)) || LA597_0 == BACK_TICK_QUOTED_ID || LA597_0 == BINARY_SYMBOL || ((LA597_0 >= BIT_AND_SYMBOL) && (LA597_0 <= BIT_XOR_SYMBOL)) || ((LA597_0 >= CASE_SYMBOL) && (LA597_0 <= CAST_SYMBOL)) || LA597_0 == CHAR_SYMBOL || ((LA597_0 >= CONVERT_SYMBOL) && (LA597_0 <= COUNT_SYMBOL)) || LA597_0 == CURDATE_SYMBOL || LA597_0 == CURRENT_USER_SYMBOL || LA597_0 == CURTIME_SYMBOL || LA597_0 == DATABASE_SYMBOL || LA597_0 == DATE_ADD_SYMBOL || LA597_0 == DATE_SUB_SYMBOL || LA597_0 == DOT_SYMBOL || LA597_0 == EXISTS_SYMBOL || LA597_0 == EXTRACT_SYMBOL || LA597_0 == GROUP_CONCAT_SYMBOL || ((LA597_0 >= IDENTIFIER) && (LA597_0 <= IF_SYMBOL)) || LA597_0 == INSERT_SYMBOL || LA597_0 == LEFT_SYMBOL || LA597_0 == MATCH_SYMBOL || LA597_0 == MAX_SYMBOL || LA597_0 == MIN_SYMBOL || LA597_0 == MOD_SYMBOL || LA597_0 == NOW_SYMBOL || LA597_0 == NULL2_SYMBOL || LA597_0 == NULL_SYMBOL || ((LA597_0 >= OPEN_CURLY_SYMBOL) && (LA597_0 <= OPEN_PAR_SYMBOL)) || LA597_0 == PARAM_MARKER || LA597_0 == POSITION_SYMBOL || ((LA597_0 >= REPEAT_SYMBOL) && (LA597_0 <= REPLACE_SYMBOL)) || LA597_0 == RIGHT_SYMBOL || LA597_0 == STDDEV_SAMP_SYMBOL || LA597_0 == STD_SYMBOL || LA597_0 == SUBSTRING_SYMBOL || ((LA597_0 >= SUM_SYMBOL) && (LA597_0 <= SYSDATE_SYMBOL)) || LA597_0 == TRIM_SYMBOL || ((LA597_0 >= UTC_DATE_SYMBOL) && (LA597_0 <= VALUES_SYMBOL)) || LA597_0 == VARIANCE_SYMBOL || LA597_0 == VAR_SAMP_SYMBOL))
                    {
                        alt597=1;
                    }
                    else if ( (LA597_0 == LEADING_SYMBOL))
                    {
                        alt597=2;
                    }
                    else if ( (LA597_0 == TRAILING_SYMBOL))
                    {
                        alt597=3;
                    }
                    else if ( (LA597_0 == BOTH_SYMBOL))
                    {
                        alt597=4;
                    }
                    else
                    {
                        if (BACKTRACKING>0)
                        {
                            FAILEDFLAG = ANTLR3_TRUE;
                            return retval;
                        }


                        CONSTRUCTEX();
                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                        EXCEPTION->message      = (void *)"";
                        EXCEPTION->decisionNum  = 597;
                        EXCEPTION->state        = 0;


                        goto ruletrim_functionEx;

                    }
                }
                switch (alt597)
                {
            	case 1:
            	    // MySQL.g:1903:3: expression ( FROM_SYMBOL expression )?
            	    {
            	        FOLLOWPUSH(FOLLOW_expression_in_trim_function10995);
            	        expression2092=expression(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruletrim_functionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2092.tree);

            	        // MySQL.g:1903:14: ( FROM_SYMBOL expression )?
            	        {
            	            int alt593=2;
            	            switch ( LA(1) )
            	            {
            	                case FROM_SYMBOL:
            	                	{
            	                		alt593=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt593)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1903:15: FROM_SYMBOL expression
            	        	    {
            	        	        FROM_SYMBOL2093 = (pANTLR3_COMMON_TOKEN) MATCHT(FROM_SYMBOL, &FOLLOW_FROM_SYMBOL_in_trim_function10998);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruletrim_functionEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        FROM_SYMBOL2093_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, FROM_SYMBOL2093));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, FROM_SYMBOL2093_tree);
            	        	        }

            	        	        FOLLOWPUSH(FOLLOW_expression_in_trim_function11000);
            	        	        expression2094=expression(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruletrim_functionEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2094.tree);

            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;
            	case 2:
            	    // MySQL.g:1904:5: LEADING_SYMBOL ( expression )? FROM_SYMBOL expression
            	    {
            	        LEADING_SYMBOL2095 = (pANTLR3_COMMON_TOKEN) MATCHT(LEADING_SYMBOL, &FOLLOW_LEADING_SYMBOL_in_trim_function11008);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruletrim_functionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        LEADING_SYMBOL2095_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, LEADING_SYMBOL2095));
            	        ADAPTOR->addChild(ADAPTOR, root_0, LEADING_SYMBOL2095_tree);
            	        }

            	        // MySQL.g:1904:20: ( expression )?
            	        {
            	            int alt594=2;
            	            {
            	                int LA594_0 = LA(1);
            	                if ( (LA594_0 == BITWISE_NOT_OPERATOR || LA594_0 == INTERVAL_SYMBOL || LA594_0 == LOGICAL_NOT_OPERATOR || LA594_0 == MINUS_OPERATOR || LA594_0 == NCHAR_TEXT || LA594_0 == NOT2_SYMBOL || LA594_0 == NOT_SYMBOL || LA594_0 == PLUS_OPERATOR || LA594_0 == SINGLE_QUOTED_TEXT || LA594_0 == UNDERSCORE_CHARSET))
            	                {
            	                    alt594=1;
            	                }
            	                else if ( ((((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES)))||((!SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))))) && (LA594_0 == DOUBLE_QUOTED_TEXT))
            	                {
            	                    alt594=1;
            	                }
            	                else if ( (LA594_0 == FALSE_SYMBOL || LA594_0 == FLOAT || ((LA594_0 >= HEXNUMBER) && (LA594_0 <= HEXSTRING)) || LA594_0 == INTEGER || LA594_0 == TRUE_SYMBOL))
            	                {
            	                    alt594=1;
            	                }
            	                else if ( ((SERVER_VERSION >= 50003)) && (((LA594_0 >= BITNUMBER) && (LA594_0 <= BITSTRING))))
            	                {
            	                    alt594=1;
            	                }
            	                else if ( (((LA594_0 >= ACTION_SYMBOL) && (LA594_0 <= PARTITION_SYMBOL)) || ((LA594_0 >= AT_AT_SIGN_SYMBOL) && (LA594_0 <= AT_SIGN_SYMBOL)) || LA594_0 == BACK_TICK_QUOTED_ID || LA594_0 == BINARY_SYMBOL || ((LA594_0 >= BIT_AND_SYMBOL) && (LA594_0 <= BIT_XOR_SYMBOL)) || ((LA594_0 >= CASE_SYMBOL) && (LA594_0 <= CAST_SYMBOL)) || LA594_0 == CHAR_SYMBOL || ((LA594_0 >= CONVERT_SYMBOL) && (LA594_0 <= COUNT_SYMBOL)) || LA594_0 == CURDATE_SYMBOL || LA594_0 == CURRENT_USER_SYMBOL || LA594_0 == CURTIME_SYMBOL || LA594_0 == DATABASE_SYMBOL || LA594_0 == DATE_ADD_SYMBOL || LA594_0 == DATE_SUB_SYMBOL || LA594_0 == DOT_SYMBOL || LA594_0 == EXISTS_SYMBOL || LA594_0 == EXTRACT_SYMBOL || LA594_0 == GROUP_CONCAT_SYMBOL || ((LA594_0 >= IDENTIFIER) && (LA594_0 <= IF_SYMBOL)) || LA594_0 == INSERT_SYMBOL || LA594_0 == LEFT_SYMBOL || LA594_0 == MATCH_SYMBOL || LA594_0 == MAX_SYMBOL || LA594_0 == MIN_SYMBOL || LA594_0 == MOD_SYMBOL || LA594_0 == NOW_SYMBOL || LA594_0 == NULL2_SYMBOL || LA594_0 == NULL_SYMBOL || ((LA594_0 >= OPEN_CURLY_SYMBOL) && (LA594_0 <= OPEN_PAR_SYMBOL)) || LA594_0 == PARAM_MARKER || LA594_0 == POSITION_SYMBOL || ((LA594_0 >= REPEAT_SYMBOL) && (LA594_0 <= REPLACE_SYMBOL)) || LA594_0 == RIGHT_SYMBOL || LA594_0 == STDDEV_SAMP_SYMBOL || LA594_0 == STD_SYMBOL || LA594_0 == SUBSTRING_SYMBOL || ((LA594_0 >= SUM_SYMBOL) && (LA594_0 <= SYSDATE_SYMBOL)) || LA594_0 == TRIM_SYMBOL || ((LA594_0 >= UTC_DATE_SYMBOL) && (LA594_0 <= VALUES_SYMBOL)) || LA594_0 == VARIANCE_SYMBOL || LA594_0 == VAR_SAMP_SYMBOL))
            	                {
            	                    alt594=1;
            	                }
            	            }
            	            switch (alt594)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1904:20: expression
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_expression_in_trim_function11010);
            	        	        expression2096=expression(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruletrim_functionEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2096.tree);

            	        	    }
            	        	    break;

            	            }
            	        }

            	        FROM_SYMBOL2097 = (pANTLR3_COMMON_TOKEN) MATCHT(FROM_SYMBOL, &FOLLOW_FROM_SYMBOL_in_trim_function11013);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruletrim_functionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        FROM_SYMBOL2097_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, FROM_SYMBOL2097));
            	        ADAPTOR->addChild(ADAPTOR, root_0, FROM_SYMBOL2097_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_expression_in_trim_function11015);
            	        expression2098=expression(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruletrim_functionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2098.tree);

            	    }
            	    break;
            	case 3:
            	    // MySQL.g:1905:5: TRAILING_SYMBOL ( expression )? FROM_SYMBOL expression
            	    {
            	        TRAILING_SYMBOL2099 = (pANTLR3_COMMON_TOKEN) MATCHT(TRAILING_SYMBOL, &FOLLOW_TRAILING_SYMBOL_in_trim_function11021);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruletrim_functionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        TRAILING_SYMBOL2099_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, TRAILING_SYMBOL2099));
            	        ADAPTOR->addChild(ADAPTOR, root_0, TRAILING_SYMBOL2099_tree);
            	        }

            	        // MySQL.g:1905:21: ( expression )?
            	        {
            	            int alt595=2;
            	            {
            	                int LA595_0 = LA(1);
            	                if ( (LA595_0 == BITWISE_NOT_OPERATOR || LA595_0 == INTERVAL_SYMBOL || LA595_0 == LOGICAL_NOT_OPERATOR || LA595_0 == MINUS_OPERATOR || LA595_0 == NCHAR_TEXT || LA595_0 == NOT2_SYMBOL || LA595_0 == NOT_SYMBOL || LA595_0 == PLUS_OPERATOR || LA595_0 == SINGLE_QUOTED_TEXT || LA595_0 == UNDERSCORE_CHARSET))
            	                {
            	                    alt595=1;
            	                }
            	                else if ( ((((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES)))||((!SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))))) && (LA595_0 == DOUBLE_QUOTED_TEXT))
            	                {
            	                    alt595=1;
            	                }
            	                else if ( (LA595_0 == FALSE_SYMBOL || LA595_0 == FLOAT || ((LA595_0 >= HEXNUMBER) && (LA595_0 <= HEXSTRING)) || LA595_0 == INTEGER || LA595_0 == TRUE_SYMBOL))
            	                {
            	                    alt595=1;
            	                }
            	                else if ( ((SERVER_VERSION >= 50003)) && (((LA595_0 >= BITNUMBER) && (LA595_0 <= BITSTRING))))
            	                {
            	                    alt595=1;
            	                }
            	                else if ( (((LA595_0 >= ACTION_SYMBOL) && (LA595_0 <= PARTITION_SYMBOL)) || ((LA595_0 >= AT_AT_SIGN_SYMBOL) && (LA595_0 <= AT_SIGN_SYMBOL)) || LA595_0 == BACK_TICK_QUOTED_ID || LA595_0 == BINARY_SYMBOL || ((LA595_0 >= BIT_AND_SYMBOL) && (LA595_0 <= BIT_XOR_SYMBOL)) || ((LA595_0 >= CASE_SYMBOL) && (LA595_0 <= CAST_SYMBOL)) || LA595_0 == CHAR_SYMBOL || ((LA595_0 >= CONVERT_SYMBOL) && (LA595_0 <= COUNT_SYMBOL)) || LA595_0 == CURDATE_SYMBOL || LA595_0 == CURRENT_USER_SYMBOL || LA595_0 == CURTIME_SYMBOL || LA595_0 == DATABASE_SYMBOL || LA595_0 == DATE_ADD_SYMBOL || LA595_0 == DATE_SUB_SYMBOL || LA595_0 == DOT_SYMBOL || LA595_0 == EXISTS_SYMBOL || LA595_0 == EXTRACT_SYMBOL || LA595_0 == GROUP_CONCAT_SYMBOL || ((LA595_0 >= IDENTIFIER) && (LA595_0 <= IF_SYMBOL)) || LA595_0 == INSERT_SYMBOL || LA595_0 == LEFT_SYMBOL || LA595_0 == MATCH_SYMBOL || LA595_0 == MAX_SYMBOL || LA595_0 == MIN_SYMBOL || LA595_0 == MOD_SYMBOL || LA595_0 == NOW_SYMBOL || LA595_0 == NULL2_SYMBOL || LA595_0 == NULL_SYMBOL || ((LA595_0 >= OPEN_CURLY_SYMBOL) && (LA595_0 <= OPEN_PAR_SYMBOL)) || LA595_0 == PARAM_MARKER || LA595_0 == POSITION_SYMBOL || ((LA595_0 >= REPEAT_SYMBOL) && (LA595_0 <= REPLACE_SYMBOL)) || LA595_0 == RIGHT_SYMBOL || LA595_0 == STDDEV_SAMP_SYMBOL || LA595_0 == STD_SYMBOL || LA595_0 == SUBSTRING_SYMBOL || ((LA595_0 >= SUM_SYMBOL) && (LA595_0 <= SYSDATE_SYMBOL)) || LA595_0 == TRIM_SYMBOL || ((LA595_0 >= UTC_DATE_SYMBOL) && (LA595_0 <= VALUES_SYMBOL)) || LA595_0 == VARIANCE_SYMBOL || LA595_0 == VAR_SAMP_SYMBOL))
            	                {
            	                    alt595=1;
            	                }
            	            }
            	            switch (alt595)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1905:21: expression
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_expression_in_trim_function11023);
            	        	        expression2100=expression(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruletrim_functionEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2100.tree);

            	        	    }
            	        	    break;

            	            }
            	        }

            	        FROM_SYMBOL2101 = (pANTLR3_COMMON_TOKEN) MATCHT(FROM_SYMBOL, &FOLLOW_FROM_SYMBOL_in_trim_function11026);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruletrim_functionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        FROM_SYMBOL2101_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, FROM_SYMBOL2101));
            	        ADAPTOR->addChild(ADAPTOR, root_0, FROM_SYMBOL2101_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_expression_in_trim_function11028);
            	        expression2102=expression(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruletrim_functionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2102.tree);

            	    }
            	    break;
            	case 4:
            	    // MySQL.g:1906:5: BOTH_SYMBOL ( expression )? FROM_SYMBOL expression
            	    {
            	        BOTH_SYMBOL2103 = (pANTLR3_COMMON_TOKEN) MATCHT(BOTH_SYMBOL, &FOLLOW_BOTH_SYMBOL_in_trim_function11034);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruletrim_functionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        BOTH_SYMBOL2103_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, BOTH_SYMBOL2103));
            	        ADAPTOR->addChild(ADAPTOR, root_0, BOTH_SYMBOL2103_tree);
            	        }

            	        // MySQL.g:1906:17: ( expression )?
            	        {
            	            int alt596=2;
            	            {
            	                int LA596_0 = LA(1);
            	                if ( (LA596_0 == BITWISE_NOT_OPERATOR || LA596_0 == INTERVAL_SYMBOL || LA596_0 == LOGICAL_NOT_OPERATOR || LA596_0 == MINUS_OPERATOR || LA596_0 == NCHAR_TEXT || LA596_0 == NOT2_SYMBOL || LA596_0 == NOT_SYMBOL || LA596_0 == PLUS_OPERATOR || LA596_0 == SINGLE_QUOTED_TEXT || LA596_0 == UNDERSCORE_CHARSET))
            	                {
            	                    alt596=1;
            	                }
            	                else if ( ((((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES)))||((!SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))))) && (LA596_0 == DOUBLE_QUOTED_TEXT))
            	                {
            	                    alt596=1;
            	                }
            	                else if ( (LA596_0 == FALSE_SYMBOL || LA596_0 == FLOAT || ((LA596_0 >= HEXNUMBER) && (LA596_0 <= HEXSTRING)) || LA596_0 == INTEGER || LA596_0 == TRUE_SYMBOL))
            	                {
            	                    alt596=1;
            	                }
            	                else if ( ((SERVER_VERSION >= 50003)) && (((LA596_0 >= BITNUMBER) && (LA596_0 <= BITSTRING))))
            	                {
            	                    alt596=1;
            	                }
            	                else if ( (((LA596_0 >= ACTION_SYMBOL) && (LA596_0 <= PARTITION_SYMBOL)) || ((LA596_0 >= AT_AT_SIGN_SYMBOL) && (LA596_0 <= AT_SIGN_SYMBOL)) || LA596_0 == BACK_TICK_QUOTED_ID || LA596_0 == BINARY_SYMBOL || ((LA596_0 >= BIT_AND_SYMBOL) && (LA596_0 <= BIT_XOR_SYMBOL)) || ((LA596_0 >= CASE_SYMBOL) && (LA596_0 <= CAST_SYMBOL)) || LA596_0 == CHAR_SYMBOL || ((LA596_0 >= CONVERT_SYMBOL) && (LA596_0 <= COUNT_SYMBOL)) || LA596_0 == CURDATE_SYMBOL || LA596_0 == CURRENT_USER_SYMBOL || LA596_0 == CURTIME_SYMBOL || LA596_0 == DATABASE_SYMBOL || LA596_0 == DATE_ADD_SYMBOL || LA596_0 == DATE_SUB_SYMBOL || LA596_0 == DOT_SYMBOL || LA596_0 == EXISTS_SYMBOL || LA596_0 == EXTRACT_SYMBOL || LA596_0 == GROUP_CONCAT_SYMBOL || ((LA596_0 >= IDENTIFIER) && (LA596_0 <= IF_SYMBOL)) || LA596_0 == INSERT_SYMBOL || LA596_0 == LEFT_SYMBOL || LA596_0 == MATCH_SYMBOL || LA596_0 == MAX_SYMBOL || LA596_0 == MIN_SYMBOL || LA596_0 == MOD_SYMBOL || LA596_0 == NOW_SYMBOL || LA596_0 == NULL2_SYMBOL || LA596_0 == NULL_SYMBOL || ((LA596_0 >= OPEN_CURLY_SYMBOL) && (LA596_0 <= OPEN_PAR_SYMBOL)) || LA596_0 == PARAM_MARKER || LA596_0 == POSITION_SYMBOL || ((LA596_0 >= REPEAT_SYMBOL) && (LA596_0 <= REPLACE_SYMBOL)) || LA596_0 == RIGHT_SYMBOL || LA596_0 == STDDEV_SAMP_SYMBOL || LA596_0 == STD_SYMBOL || LA596_0 == SUBSTRING_SYMBOL || ((LA596_0 >= SUM_SYMBOL) && (LA596_0 <= SYSDATE_SYMBOL)) || LA596_0 == TRIM_SYMBOL || ((LA596_0 >= UTC_DATE_SYMBOL) && (LA596_0 <= VALUES_SYMBOL)) || LA596_0 == VARIANCE_SYMBOL || LA596_0 == VAR_SAMP_SYMBOL))
            	                {
            	                    alt596=1;
            	                }
            	            }
            	            switch (alt596)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1906:17: expression
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_expression_in_trim_function11036);
            	        	        expression2104=expression(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruletrim_functionEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2104.tree);

            	        	    }
            	        	    break;

            	            }
            	        }

            	        FROM_SYMBOL2105 = (pANTLR3_COMMON_TOKEN) MATCHT(FROM_SYMBOL, &FOLLOW_FROM_SYMBOL_in_trim_function11039);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruletrim_functionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        FROM_SYMBOL2105_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, FROM_SYMBOL2105));
            	        ADAPTOR->addChild(ADAPTOR, root_0, FROM_SYMBOL2105_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_expression_in_trim_function11041);
            	        expression2106=expression(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruletrim_functionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2106.tree);

            	    }
            	    break;

                }
            }

            CLOSE_PAR_SYMBOL2107 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_trim_function11047);
            if  (HASEXCEPTION())
            {
                goto ruletrim_functionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            CLOSE_PAR_SYMBOL2107_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL2107));
            ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL2107_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:1911: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_SYMBOL2108;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL2109;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL2111;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL2113;
    pANTLR3_COMMON_TOKEN    FROM_SYMBOL2115;
    pANTLR3_COMMON_TOKEN    FOR_SYMBOL2117;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2119;
    MySQLParser_expression_return expression2110;
    #undef	RETURN_TYPE_expression2110
    #define	RETURN_TYPE_expression2110 MySQLParser_expression_return

    MySQLParser_expression_return expression2112;
    #undef	RETURN_TYPE_expression2112
    #define	RETURN_TYPE_expression2112 MySQLParser_expression_return

    MySQLParser_expression_return expression2114;
    #undef	RETURN_TYPE_expression2114
    #define	RETURN_TYPE_expression2114 MySQLParser_expression_return

    MySQLParser_expression_return expression2116;
    #undef	RETURN_TYPE_expression2116
    #define	RETURN_TYPE_expression2116 MySQLParser_expression_return

    MySQLParser_expression_return expression2118;
    #undef	RETURN_TYPE_expression2118
    #define	RETURN_TYPE_expression2118 MySQLParser_expression_return

    pANTLR3_BASE_TREE SUBSTRING_SYMBOL2108_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2109_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL2111_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL2113_tree;
    pANTLR3_BASE_TREE FROM_SYMBOL2115_tree;
    pANTLR3_BASE_TREE FOR_SYMBOL2117_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2119_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    SUBSTRING_SYMBOL2108       = NULL;
    OPEN_PAR_SYMBOL2109       = NULL;
    COMMA_SYMBOL2111       = NULL;
    COMMA_SYMBOL2113       = NULL;
    FROM_SYMBOL2115       = NULL;
    FOR_SYMBOL2117       = NULL;
    CLOSE_PAR_SYMBOL2119       = NULL;
    expression2110.tree = NULL;

    expression2112.tree = NULL;

    expression2114.tree = NULL;

    expression2116.tree = NULL;

    expression2118.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    SUBSTRING_SYMBOL2108_tree   = NULL;
    OPEN_PAR_SYMBOL2109_tree   = NULL;
    COMMA_SYMBOL2111_tree   = NULL;
    COMMA_SYMBOL2113_tree   = NULL;
    FROM_SYMBOL2115_tree   = NULL;
    FOR_SYMBOL2117_tree   = NULL;
    CLOSE_PAR_SYMBOL2119_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1911:19: ( SUBSTRING_SYMBOL OPEN_PAR_SYMBOL expression ( COMMA_SYMBOL expression ( COMMA_SYMBOL expression )? | FROM_SYMBOL expression ( FOR_SYMBOL expression )? ) CLOSE_PAR_SYMBOL )
        // MySQL.g:1912: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_SYMBOL2108 = (pANTLR3_COMMON_TOKEN) MATCHT(SUBSTRING_SYMBOL, &FOLLOW_SUBSTRING_SYMBOL_in_substring_function11056);
            if  (HASEXCEPTION())
            {
                goto rulesubstring_functionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            SUBSTRING_SYMBOL2108_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SUBSTRING_SYMBOL2108));
            ADAPTOR->addChild(ADAPTOR, root_0, SUBSTRING_SYMBOL2108_tree);
            }

            OPEN_PAR_SYMBOL2109 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_substring_function11058);
            if  (HASEXCEPTION())
            {
                goto rulesubstring_functionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            OPEN_PAR_SYMBOL2109_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL2109));
            ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL2109_tree);
            }

            FOLLOWPUSH(FOLLOW_expression_in_substring_function11060);
            expression2110=expression(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulesubstring_functionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2110.tree);

            // MySQL.g:1913:2: ( COMMA_SYMBOL expression ( COMMA_SYMBOL expression )? | FROM_SYMBOL expression ( FOR_SYMBOL expression )? )
            {
                int alt600=2;
                switch ( LA(1) )
                {
                case COMMA_SYMBOL:
                	{
                		alt600=1;
                	}
                    break;
                case FROM_SYMBOL:
                	{
                		alt600=2;
                	}
                    break;

                default:
                    if (BACKTRACKING>0)
                    {
                        FAILEDFLAG = ANTLR3_TRUE;
                        return retval;
                    }

                    CONSTRUCTEX();
                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    EXCEPTION->message      = (void *)"";
                    EXCEPTION->decisionNum  = 600;
                    EXCEPTION->state        = 0;


                    goto rulesubstring_functionEx;

                }

                switch (alt600)
                {
            	case 1:
            	    // MySQL.g:1914:3: COMMA_SYMBOL expression ( COMMA_SYMBOL expression )?
            	    {
            	        COMMA_SYMBOL2111 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_substring_function11067);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulesubstring_functionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        COMMA_SYMBOL2111_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL2111));
            	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL2111_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_expression_in_substring_function11069);
            	        expression2112=expression(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulesubstring_functionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2112.tree);

            	        // MySQL.g:1914:27: ( COMMA_SYMBOL expression )?
            	        {
            	            int alt598=2;
            	            switch ( LA(1) )
            	            {
            	                case COMMA_SYMBOL:
            	                	{
            	                		alt598=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt598)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1914:28: COMMA_SYMBOL expression
            	        	    {
            	        	        COMMA_SYMBOL2113 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_substring_function11072);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulesubstring_functionEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        COMMA_SYMBOL2113_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL2113));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL2113_tree);
            	        	        }

            	        	        FOLLOWPUSH(FOLLOW_expression_in_substring_function11074);
            	        	        expression2114=expression(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulesubstring_functionEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2114.tree);

            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;
            	case 2:
            	    // MySQL.g:1915:5: FROM_SYMBOL expression ( FOR_SYMBOL expression )?
            	    {
            	        FROM_SYMBOL2115 = (pANTLR3_COMMON_TOKEN) MATCHT(FROM_SYMBOL, &FOLLOW_FROM_SYMBOL_in_substring_function11082);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulesubstring_functionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        FROM_SYMBOL2115_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, FROM_SYMBOL2115));
            	        ADAPTOR->addChild(ADAPTOR, root_0, FROM_SYMBOL2115_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_expression_in_substring_function11084);
            	        expression2116=expression(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulesubstring_functionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2116.tree);

            	        // MySQL.g:1915:28: ( FOR_SYMBOL expression )?
            	        {
            	            int alt599=2;
            	            switch ( LA(1) )
            	            {
            	                case FOR_SYMBOL:
            	                	{
            	                		alt599=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt599)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1915:29: FOR_SYMBOL expression
            	        	    {
            	        	        FOR_SYMBOL2117 = (pANTLR3_COMMON_TOKEN) MATCHT(FOR_SYMBOL, &FOLLOW_FOR_SYMBOL_in_substring_function11087);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulesubstring_functionEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        FOR_SYMBOL2117_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, FOR_SYMBOL2117));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, FOR_SYMBOL2117_tree);
            	        	        }

            	        	        FOLLOWPUSH(FOLLOW_expression_in_substring_function11089);
            	        	        expression2118=expression(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulesubstring_functionEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2118.tree);

            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;

                }
            }

            CLOSE_PAR_SYMBOL2119 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_substring_function11097);
            if  (HASEXCEPTION())
            {
                goto rulesubstring_functionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            CLOSE_PAR_SYMBOL2119_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL2119));
            ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL2119_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:1920: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_SYMBOL2120;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL2121;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL2123;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2125;
    pANTLR3_COMMON_TOKEN    GEOMETRYCOLLECTION_SYMBOL2126;
    pANTLR3_COMMON_TOKEN    LINESTRING_SYMBOL2128;
    pANTLR3_COMMON_TOKEN    MULTILINESTRING_SYMBOL2130;
    pANTLR3_COMMON_TOKEN    MULTIPOINT_SYMBOL2132;
    pANTLR3_COMMON_TOKEN    MULTIPOLYGON_SYMBOL2134;
    pANTLR3_COMMON_TOKEN    POINT_SYMBOL2136;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL2137;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL2139;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2141;
    pANTLR3_COMMON_TOKEN    POLYGON_SYMBOL2142;
    MySQLParser_expression_return expression2122;
    #undef	RETURN_TYPE_expression2122
    #define	RETURN_TYPE_expression2122 MySQLParser_expression_return

    MySQLParser_expression_return expression2124;
    #undef	RETURN_TYPE_expression2124
    #define	RETURN_TYPE_expression2124 MySQLParser_expression_return

    MySQLParser_expression_list_with_parentheses_return expression_list_with_parentheses2127;
    #undef	RETURN_TYPE_expression_list_with_parentheses2127
    #define	RETURN_TYPE_expression_list_with_parentheses2127 MySQLParser_expression_list_with_parentheses_return

    MySQLParser_expression_list_with_parentheses_return expression_list_with_parentheses2129;
    #undef	RETURN_TYPE_expression_list_with_parentheses2129
    #define	RETURN_TYPE_expression_list_with_parentheses2129 MySQLParser_expression_list_with_parentheses_return

    MySQLParser_expression_list_with_parentheses_return expression_list_with_parentheses2131;
    #undef	RETURN_TYPE_expression_list_with_parentheses2131
    #define	RETURN_TYPE_expression_list_with_parentheses2131 MySQLParser_expression_list_with_parentheses_return

    MySQLParser_expression_list_with_parentheses_return expression_list_with_parentheses2133;
    #undef	RETURN_TYPE_expression_list_with_parentheses2133
    #define	RETURN_TYPE_expression_list_with_parentheses2133 MySQLParser_expression_list_with_parentheses_return

    MySQLParser_expression_list_with_parentheses_return expression_list_with_parentheses2135;
    #undef	RETURN_TYPE_expression_list_with_parentheses2135
    #define	RETURN_TYPE_expression_list_with_parentheses2135 MySQLParser_expression_list_with_parentheses_return

    MySQLParser_expression_return expression2138;
    #undef	RETURN_TYPE_expression2138
    #define	RETURN_TYPE_expression2138 MySQLParser_expression_return

    MySQLParser_expression_return expression2140;
    #undef	RETURN_TYPE_expression2140
    #define	RETURN_TYPE_expression2140 MySQLParser_expression_return

    MySQLParser_expression_list_with_parentheses_return expression_list_with_parentheses2143;
    #undef	RETURN_TYPE_expression_list_with_parentheses2143
    #define	RETURN_TYPE_expression_list_with_parentheses2143 MySQLParser_expression_list_with_parentheses_return

    pANTLR3_BASE_TREE CONTAINS_SYMBOL2120_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2121_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL2123_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2125_tree;
    pANTLR3_BASE_TREE GEOMETRYCOLLECTION_SYMBOL2126_tree;
    pANTLR3_BASE_TREE LINESTRING_SYMBOL2128_tree;
    pANTLR3_BASE_TREE MULTILINESTRING_SYMBOL2130_tree;
    pANTLR3_BASE_TREE MULTIPOINT_SYMBOL2132_tree;
    pANTLR3_BASE_TREE MULTIPOLYGON_SYMBOL2134_tree;
    pANTLR3_BASE_TREE POINT_SYMBOL2136_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2137_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL2139_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2141_tree;
    pANTLR3_BASE_TREE POLYGON_SYMBOL2142_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    CONTAINS_SYMBOL2120       = NULL;
    OPEN_PAR_SYMBOL2121       = NULL;
    COMMA_SYMBOL2123       = NULL;
    CLOSE_PAR_SYMBOL2125       = NULL;
    GEOMETRYCOLLECTION_SYMBOL2126       = NULL;
    LINESTRING_SYMBOL2128       = NULL;
    MULTILINESTRING_SYMBOL2130       = NULL;
    MULTIPOINT_SYMBOL2132       = NULL;
    MULTIPOLYGON_SYMBOL2134       = NULL;
    POINT_SYMBOL2136       = NULL;
    OPEN_PAR_SYMBOL2137       = NULL;
    COMMA_SYMBOL2139       = NULL;
    CLOSE_PAR_SYMBOL2141       = NULL;
    POLYGON_SYMBOL2142       = NULL;
    expression2122.tree = NULL;

    expression2124.tree = NULL;

    expression_list_with_parentheses2127.tree = NULL;

    expression_list_with_parentheses2129.tree = NULL;

    expression_list_with_parentheses2131.tree = NULL;

    expression_list_with_parentheses2133.tree = NULL;

    expression_list_with_parentheses2135.tree = NULL;

    expression2138.tree = NULL;

    expression2140.tree = NULL;

    expression_list_with_parentheses2143.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    CONTAINS_SYMBOL2120_tree   = NULL;
    OPEN_PAR_SYMBOL2121_tree   = NULL;
    COMMA_SYMBOL2123_tree   = NULL;
    CLOSE_PAR_SYMBOL2125_tree   = NULL;
    GEOMETRYCOLLECTION_SYMBOL2126_tree   = NULL;
    LINESTRING_SYMBOL2128_tree   = NULL;
    MULTILINESTRING_SYMBOL2130_tree   = NULL;
    MULTIPOINT_SYMBOL2132_tree   = NULL;
    MULTIPOLYGON_SYMBOL2134_tree   = NULL;
    POINT_SYMBOL2136_tree   = NULL;
    OPEN_PAR_SYMBOL2137_tree   = NULL;
    COMMA_SYMBOL2139_tree   = NULL;
    CLOSE_PAR_SYMBOL2141_tree   = NULL;
    POLYGON_SYMBOL2142_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:1920: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 alt601;

            alt601=8;

            switch ( LA(1) )
            {
            case CONTAINS_SYMBOL:
            	{
            		alt601=1;
            	}
                break;
            case GEOMETRYCOLLECTION_SYMBOL:
            	{
            		alt601=2;
            	}
                break;
            case LINESTRING_SYMBOL:
            	{
            		alt601=3;
            	}
                break;
            case MULTILINESTRING_SYMBOL:
            	{
            		alt601=4;
            	}
                break;
            case MULTIPOINT_SYMBOL:
            	{
            		alt601=5;
            	}
                break;
            case MULTIPOLYGON_SYMBOL:
            	{
            		alt601=6;
            	}
                break;
            case POINT_SYMBOL:
            	{
            		alt601=7;
            	}
                break;
            case POLYGON_SYMBOL:
            	{
            		alt601=8;
            	}
                break;

            default:
                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 rulegeometry_functionEx;

            }

            switch (alt601)
            {
        	case 1:
        	    // MySQL.g:1921:2: CONTAINS_SYMBOL OPEN_PAR_SYMBOL expression COMMA_SYMBOL expression CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        CONTAINS_SYMBOL2120 = (pANTLR3_COMMON_TOKEN) MATCHT(CONTAINS_SYMBOL, &FOLLOW_CONTAINS_SYMBOL_in_geometry_function11107);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulegeometry_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CONTAINS_SYMBOL2120_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CONTAINS_SYMBOL2120));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CONTAINS_SYMBOL2120_tree);
        	        }

        	        OPEN_PAR_SYMBOL2121 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_geometry_function11109);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulegeometry_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL2121_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL2121));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL2121_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_geometry_function11111);
        	        expression2122=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulegeometry_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2122.tree);

        	        COMMA_SYMBOL2123 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_geometry_function11113);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulegeometry_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        COMMA_SYMBOL2123_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL2123));
        	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL2123_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_geometry_function11115);
        	        expression2124=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulegeometry_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2124.tree);

        	        CLOSE_PAR_SYMBOL2125 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_geometry_function11117);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulegeometry_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL2125_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL2125));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL2125_tree);
        	        }

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:1922:4: GEOMETRYCOLLECTION_SYMBOL expression_list_with_parentheses
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        GEOMETRYCOLLECTION_SYMBOL2126 = (pANTLR3_COMMON_TOKEN) MATCHT(GEOMETRYCOLLECTION_SYMBOL, &FOLLOW_GEOMETRYCOLLECTION_SYMBOL_in_geometry_function11122);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulegeometry_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        GEOMETRYCOLLECTION_SYMBOL2126_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, GEOMETRYCOLLECTION_SYMBOL2126));
        	        ADAPTOR->addChild(ADAPTOR, root_0, GEOMETRYCOLLECTION_SYMBOL2126_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_list_with_parentheses_in_geometry_function11124);
        	        expression_list_with_parentheses2127=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_parentheses2127.tree);

        	    }
        	    break;
        	case 3:
        	    // MySQL.g:1923:4: LINESTRING_SYMBOL expression_list_with_parentheses
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        LINESTRING_SYMBOL2128 = (pANTLR3_COMMON_TOKEN) MATCHT(LINESTRING_SYMBOL, &FOLLOW_LINESTRING_SYMBOL_in_geometry_function11129);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulegeometry_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        LINESTRING_SYMBOL2128_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, LINESTRING_SYMBOL2128));
        	        ADAPTOR->addChild(ADAPTOR, root_0, LINESTRING_SYMBOL2128_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_list_with_parentheses_in_geometry_function11131);
        	        expression_list_with_parentheses2129=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_parentheses2129.tree);

        	    }
        	    break;
        	case 4:
        	    // MySQL.g:1924:4: MULTILINESTRING_SYMBOL expression_list_with_parentheses
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        MULTILINESTRING_SYMBOL2130 = (pANTLR3_COMMON_TOKEN) MATCHT(MULTILINESTRING_SYMBOL, &FOLLOW_MULTILINESTRING_SYMBOL_in_geometry_function11136);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulegeometry_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        MULTILINESTRING_SYMBOL2130_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MULTILINESTRING_SYMBOL2130));
        	        ADAPTOR->addChild(ADAPTOR, root_0, MULTILINESTRING_SYMBOL2130_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_list_with_parentheses_in_geometry_function11138);
        	        expression_list_with_parentheses2131=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_parentheses2131.tree);

        	    }
        	    break;
        	case 5:
        	    // MySQL.g:1925:4: MULTIPOINT_SYMBOL expression_list_with_parentheses
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        MULTIPOINT_SYMBOL2132 = (pANTLR3_COMMON_TOKEN) MATCHT(MULTIPOINT_SYMBOL, &FOLLOW_MULTIPOINT_SYMBOL_in_geometry_function11143);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulegeometry_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        MULTIPOINT_SYMBOL2132_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MULTIPOINT_SYMBOL2132));
        	        ADAPTOR->addChild(ADAPTOR, root_0, MULTIPOINT_SYMBOL2132_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_list_with_parentheses_in_geometry_function11145);
        	        expression_list_with_parentheses2133=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_parentheses2133.tree);

        	    }
        	    break;
        	case 6:
        	    // MySQL.g:1926:4: MULTIPOLYGON_SYMBOL expression_list_with_parentheses
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        MULTIPOLYGON_SYMBOL2134 = (pANTLR3_COMMON_TOKEN) MATCHT(MULTIPOLYGON_SYMBOL, &FOLLOW_MULTIPOLYGON_SYMBOL_in_geometry_function11150);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulegeometry_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        MULTIPOLYGON_SYMBOL2134_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MULTIPOLYGON_SYMBOL2134));
        	        ADAPTOR->addChild(ADAPTOR, root_0, MULTIPOLYGON_SYMBOL2134_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_list_with_parentheses_in_geometry_function11152);
        	        expression_list_with_parentheses2135=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_parentheses2135.tree);

        	    }
        	    break;
        	case 7:
        	    // MySQL.g:1927:4: POINT_SYMBOL OPEN_PAR_SYMBOL expression COMMA_SYMBOL expression CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        POINT_SYMBOL2136 = (pANTLR3_COMMON_TOKEN) MATCHT(POINT_SYMBOL, &FOLLOW_POINT_SYMBOL_in_geometry_function11157);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulegeometry_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        POINT_SYMBOL2136_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, POINT_SYMBOL2136));
        	        ADAPTOR->addChild(ADAPTOR, root_0, POINT_SYMBOL2136_tree);
        	        }

        	        OPEN_PAR_SYMBOL2137 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_geometry_function11159);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulegeometry_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL2137_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL2137));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL2137_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_geometry_function11161);
        	        expression2138=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulegeometry_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2138.tree);

        	        COMMA_SYMBOL2139 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_geometry_function11163);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulegeometry_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        COMMA_SYMBOL2139_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL2139));
        	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL2139_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_geometry_function11165);
        	        expression2140=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulegeometry_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2140.tree);

        	        CLOSE_PAR_SYMBOL2141 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_geometry_function11167);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulegeometry_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL2141_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL2141));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL2141_tree);
        	        }

        	    }
        	    break;
        	case 8:
        	    // MySQL.g:1928:4: POLYGON_SYMBOL expression_list_with_parentheses
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        POLYGON_SYMBOL2142 = (pANTLR3_COMMON_TOKEN) MATCHT(POLYGON_SYMBOL, &FOLLOW_POLYGON_SYMBOL_in_geometry_function11172);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulegeometry_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        POLYGON_SYMBOL2142_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, POLYGON_SYMBOL2142));
        	        ADAPTOR->addChild(ADAPTOR, root_0, POLYGON_SYMBOL2142_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_list_with_parentheses_in_geometry_function11174);
        	        expression_list_with_parentheses2143=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_parentheses2143.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:1931:1: aggregate_function : ( AVG_SYMBOL OPEN_PAR_SYMBOL ( DISTINCT_SYMBOL )? expression CLOSE_PAR_SYMBOL | BIT_AND_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL | BIT_OR_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL | BIT_XOR_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL | count_function | MIN_SYMBOL OPEN_PAR_SYMBOL ( DISTINCT_SYMBOL )? expression CLOSE_PAR_SYMBOL | MAX_SYMBOL OPEN_PAR_SYMBOL ( DISTINCT_SYMBOL )? expression CLOSE_PAR_SYMBOL | STD_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL | VARIANCE_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL | STDDEV_SAMP_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL | VAR_SAMP_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL | SUM_SYMBOL OPEN_PAR_SYMBOL ( DISTINCT_SYMBOL )? expression CLOSE_PAR_SYMBOL | GROUP_CONCAT_SYMBOL OPEN_PAR_SYMBOL ( DISTINCT_SYMBOL )? expression_list ( order_by_clause )? ( SEPARATOR_SYMBOL string_literal )? 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_SYMBOL2144;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL2145;
    pANTLR3_COMMON_TOKEN    DISTINCT_SYMBOL2146;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2148;
    pANTLR3_COMMON_TOKEN    BIT_AND_SYMBOL2149;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL2150;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2152;
    pANTLR3_COMMON_TOKEN    BIT_OR_SYMBOL2153;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL2154;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2156;
    pANTLR3_COMMON_TOKEN    BIT_XOR_SYMBOL2157;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL2158;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2160;
    pANTLR3_COMMON_TOKEN    MIN_SYMBOL2162;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL2163;
    pANTLR3_COMMON_TOKEN    DISTINCT_SYMBOL2164;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2166;
    pANTLR3_COMMON_TOKEN    MAX_SYMBOL2167;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL2168;
    pANTLR3_COMMON_TOKEN    DISTINCT_SYMBOL2169;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2171;
    pANTLR3_COMMON_TOKEN    STD_SYMBOL2172;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL2173;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2175;
    pANTLR3_COMMON_TOKEN    VARIANCE_SYMBOL2176;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL2177;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2179;
    pANTLR3_COMMON_TOKEN    STDDEV_SAMP_SYMBOL2180;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL2181;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2183;
    pANTLR3_COMMON_TOKEN    VAR_SAMP_SYMBOL2184;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL2185;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2187;
    pANTLR3_COMMON_TOKEN    SUM_SYMBOL2188;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL2189;
    pANTLR3_COMMON_TOKEN    DISTINCT_SYMBOL2190;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2192;
    pANTLR3_COMMON_TOKEN    GROUP_CONCAT_SYMBOL2193;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL2194;
    pANTLR3_COMMON_TOKEN    DISTINCT_SYMBOL2195;
    pANTLR3_COMMON_TOKEN    SEPARATOR_SYMBOL2198;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2200;
    MySQLParser_expression_return expression2147;
    #undef	RETURN_TYPE_expression2147
    #define	RETURN_TYPE_expression2147 MySQLParser_expression_return

    MySQLParser_expression_return expression2151;
    #undef	RETURN_TYPE_expression2151
    #define	RETURN_TYPE_expression2151 MySQLParser_expression_return

    MySQLParser_expression_return expression2155;
    #undef	RETURN_TYPE_expression2155
    #define	RETURN_TYPE_expression2155 MySQLParser_expression_return

    MySQLParser_expression_return expression2159;
    #undef	RETURN_TYPE_expression2159
    #define	RETURN_TYPE_expression2159 MySQLParser_expression_return

    MySQLParser_count_function_return count_function2161;
    #undef	RETURN_TYPE_count_function2161
    #define	RETURN_TYPE_count_function2161 MySQLParser_count_function_return

    MySQLParser_expression_return expression2165;
    #undef	RETURN_TYPE_expression2165
    #define	RETURN_TYPE_expression2165 MySQLParser_expression_return

    MySQLParser_expression_return expression2170;
    #undef	RETURN_TYPE_expression2170
    #define	RETURN_TYPE_expression2170 MySQLParser_expression_return

    MySQLParser_expression_return expression2174;
    #undef	RETURN_TYPE_expression2174
    #define	RETURN_TYPE_expression2174 MySQLParser_expression_return

    MySQLParser_expression_return expression2178;
    #undef	RETURN_TYPE_expression2178
    #define	RETURN_TYPE_expression2178 MySQLParser_expression_return

    MySQLParser_expression_return expression2182;
    #undef	RETURN_TYPE_expression2182
    #define	RETURN_TYPE_expression2182 MySQLParser_expression_return

    MySQLParser_expression_return expression2186;
    #undef	RETURN_TYPE_expression2186
    #define	RETURN_TYPE_expression2186 MySQLParser_expression_return

    MySQLParser_expression_return expression2191;
    #undef	RETURN_TYPE_expression2191
    #define	RETURN_TYPE_expression2191 MySQLParser_expression_return

    MySQLParser_expression_list_return expression_list2196;
    #undef	RETURN_TYPE_expression_list2196
    #define	RETURN_TYPE_expression_list2196 MySQLParser_expression_list_return

    MySQLParser_order_by_clause_return order_by_clause2197;
    #undef	RETURN_TYPE_order_by_clause2197
    #define	RETURN_TYPE_order_by_clause2197 MySQLParser_order_by_clause_return

    MySQLParser_string_literal_return string_literal2199;
    #undef	RETURN_TYPE_string_literal2199
    #define	RETURN_TYPE_string_literal2199 MySQLParser_string_literal_return

    pANTLR3_BASE_TREE AVG_SYMBOL2144_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2145_tree;
    pANTLR3_BASE_TREE DISTINCT_SYMBOL2146_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2148_tree;
    pANTLR3_BASE_TREE BIT_AND_SYMBOL2149_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2150_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2152_tree;
    pANTLR3_BASE_TREE BIT_OR_SYMBOL2153_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2154_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2156_tree;
    pANTLR3_BASE_TREE BIT_XOR_SYMBOL2157_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2158_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2160_tree;
    pANTLR3_BASE_TREE MIN_SYMBOL2162_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2163_tree;
    pANTLR3_BASE_TREE DISTINCT_SYMBOL2164_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2166_tree;
    pANTLR3_BASE_TREE MAX_SYMBOL2167_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2168_tree;
    pANTLR3_BASE_TREE DISTINCT_SYMBOL2169_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2171_tree;
    pANTLR3_BASE_TREE STD_SYMBOL2172_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2173_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2175_tree;
    pANTLR3_BASE_TREE VARIANCE_SYMBOL2176_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2177_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2179_tree;
    pANTLR3_BASE_TREE STDDEV_SAMP_SYMBOL2180_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2181_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2183_tree;
    pANTLR3_BASE_TREE VAR_SAMP_SYMBOL2184_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2185_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2187_tree;
    pANTLR3_BASE_TREE SUM_SYMBOL2188_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2189_tree;
    pANTLR3_BASE_TREE DISTINCT_SYMBOL2190_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2192_tree;
    pANTLR3_BASE_TREE GROUP_CONCAT_SYMBOL2193_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2194_tree;
    pANTLR3_BASE_TREE DISTINCT_SYMBOL2195_tree;
    pANTLR3_BASE_TREE SEPARATOR_SYMBOL2198_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2200_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    AVG_SYMBOL2144       = NULL;
    OPEN_PAR_SYMBOL2145       = NULL;
    DISTINCT_SYMBOL2146       = NULL;
    CLOSE_PAR_SYMBOL2148       = NULL;
    BIT_AND_SYMBOL2149       = NULL;
    OPEN_PAR_SYMBOL2150       = NULL;
    CLOSE_PAR_SYMBOL2152       = NULL;
    BIT_OR_SYMBOL2153       = NULL;
    OPEN_PAR_SYMBOL2154       = NULL;
    CLOSE_PAR_SYMBOL2156       = NULL;
    BIT_XOR_SYMBOL2157       = NULL;
    OPEN_PAR_SYMBOL2158       = NULL;
    CLOSE_PAR_SYMBOL2160       = NULL;
    MIN_SYMBOL2162       = NULL;
    OPEN_PAR_SYMBOL2163       = NULL;
    DISTINCT_SYMBOL2164       = NULL;
    CLOSE_PAR_SYMBOL2166       = NULL;
    MAX_SYMBOL2167       = NULL;
    OPEN_PAR_SYMBOL2168       = NULL;
    DISTINCT_SYMBOL2169       = NULL;
    CLOSE_PAR_SYMBOL2171       = NULL;
    STD_SYMBOL2172       = NULL;
    OPEN_PAR_SYMBOL2173       = NULL;
    CLOSE_PAR_SYMBOL2175       = NULL;
    VARIANCE_SYMBOL2176       = NULL;
    OPEN_PAR_SYMBOL2177       = NULL;
    CLOSE_PAR_SYMBOL2179       = NULL;
    STDDEV_SAMP_SYMBOL2180       = NULL;
    OPEN_PAR_SYMBOL2181       = NULL;
    CLOSE_PAR_SYMBOL2183       = NULL;
    VAR_SAMP_SYMBOL2184       = NULL;
    OPEN_PAR_SYMBOL2185       = NULL;
    CLOSE_PAR_SYMBOL2187       = NULL;
    SUM_SYMBOL2188       = NULL;
    OPEN_PAR_SYMBOL2189       = NULL;
    DISTINCT_SYMBOL2190       = NULL;
    CLOSE_PAR_SYMBOL2192       = NULL;
    GROUP_CONCAT_SYMBOL2193       = NULL;
    OPEN_PAR_SYMBOL2194       = NULL;
    DISTINCT_SYMBOL2195       = NULL;
    SEPARATOR_SYMBOL2198       = NULL;
    CLOSE_PAR_SYMBOL2200       = NULL;
    expression2147.tree = NULL;

    expression2151.tree = NULL;

    expression2155.tree = NULL;

    expression2159.tree = NULL;

    count_function2161.tree = NULL;

    expression2165.tree = NULL;

    expression2170.tree = NULL;

    expression2174.tree = NULL;

    expression2178.tree = NULL;

    expression2182.tree = NULL;

    expression2186.tree = NULL;

    expression2191.tree = NULL;

    expression_list2196.tree = NULL;

    order_by_clause2197.tree = NULL;

    string_literal2199.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    AVG_SYMBOL2144_tree   = NULL;
    OPEN_PAR_SYMBOL2145_tree   = NULL;
    DISTINCT_SYMBOL2146_tree   = NULL;
    CLOSE_PAR_SYMBOL2148_tree   = NULL;
    BIT_AND_SYMBOL2149_tree   = NULL;
    OPEN_PAR_SYMBOL2150_tree   = NULL;
    CLOSE_PAR_SYMBOL2152_tree   = NULL;
    BIT_OR_SYMBOL2153_tree   = NULL;
    OPEN_PAR_SYMBOL2154_tree   = NULL;
    CLOSE_PAR_SYMBOL2156_tree   = NULL;
    BIT_XOR_SYMBOL2157_tree   = NULL;
    OPEN_PAR_SYMBOL2158_tree   = NULL;
    CLOSE_PAR_SYMBOL2160_tree   = NULL;
    MIN_SYMBOL2162_tree   = NULL;
    OPEN_PAR_SYMBOL2163_tree   = NULL;
    DISTINCT_SYMBOL2164_tree   = NULL;
    CLOSE_PAR_SYMBOL2166_tree   = NULL;
    MAX_SYMBOL2167_tree   = NULL;
    OPEN_PAR_SYMBOL2168_tree   = NULL;
    DISTINCT_SYMBOL2169_tree   = NULL;
    CLOSE_PAR_SYMBOL2171_tree   = NULL;
    STD_SYMBOL2172_tree   = NULL;
    OPEN_PAR_SYMBOL2173_tree   = NULL;
    CLOSE_PAR_SYMBOL2175_tree   = NULL;
    VARIANCE_SYMBOL2176_tree   = NULL;
    OPEN_PAR_SYMBOL2177_tree   = NULL;
    CLOSE_PAR_SYMBOL2179_tree   = NULL;
    STDDEV_SAMP_SYMBOL2180_tree   = NULL;
    OPEN_PAR_SYMBOL2181_tree   = NULL;
    CLOSE_PAR_SYMBOL2183_tree   = NULL;
    VAR_SAMP_SYMBOL2184_tree   = NULL;
    OPEN_PAR_SYMBOL2185_tree   = NULL;
    CLOSE_PAR_SYMBOL2187_tree   = NULL;
    SUM_SYMBOL2188_tree   = NULL;
    OPEN_PAR_SYMBOL2189_tree   = NULL;
    DISTINCT_SYMBOL2190_tree   = NULL;
    CLOSE_PAR_SYMBOL2192_tree   = NULL;
    GROUP_CONCAT_SYMBOL2193_tree   = NULL;
    OPEN_PAR_SYMBOL2194_tree   = NULL;
    DISTINCT_SYMBOL2195_tree   = NULL;
    SEPARATOR_SYMBOL2198_tree   = NULL;
    CLOSE_PAR_SYMBOL2200_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:1931:19: ( AVG_SYMBOL OPEN_PAR_SYMBOL ( DISTINCT_SYMBOL )? expression CLOSE_PAR_SYMBOL | BIT_AND_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL | BIT_OR_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL | BIT_XOR_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL | count_function | MIN_SYMBOL OPEN_PAR_SYMBOL ( DISTINCT_SYMBOL )? expression CLOSE_PAR_SYMBOL | MAX_SYMBOL OPEN_PAR_SYMBOL ( DISTINCT_SYMBOL )? expression CLOSE_PAR_SYMBOL | STD_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL | VARIANCE_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL | STDDEV_SAMP_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL | VAR_SAMP_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL | SUM_SYMBOL OPEN_PAR_SYMBOL ( DISTINCT_SYMBOL )? expression CLOSE_PAR_SYMBOL | GROUP_CONCAT_SYMBOL OPEN_PAR_SYMBOL ( DISTINCT_SYMBOL )? expression_list ( order_by_clause )? ( SEPARATOR_SYMBOL string_literal )? CLOSE_PAR_SYMBOL )

            ANTLR3_UINT32 alt609;

            alt609=13;

            switch ( LA(1) )
            {
            case AVG_SYMBOL:
            	{
            		alt609=1;
            	}
                break;
            case BIT_AND_SYMBOL:
            	{
            		alt609=2;
            	}
                break;
            case BIT_OR_SYMBOL:
            	{
            		alt609=3;
            	}
                break;
            case BIT_XOR_SYMBOL:
            	{
            		alt609=4;
            	}
                break;
            case COUNT_SYMBOL:
            	{
            		alt609=5;
            	}
                break;
            case MIN_SYMBOL:
            	{
            		alt609=6;
            	}
                break;
            case MAX_SYMBOL:
            	{
            		alt609=7;
            	}
                break;
            case STD_SYMBOL:
            	{
            		alt609=8;
            	}
                break;
            case VARIANCE_SYMBOL:
            	{
            		alt609=9;
            	}
                break;
            case STDDEV_SAMP_SYMBOL:
            	{
            		alt609=10;
            	}
                break;
            case VAR_SAMP_SYMBOL:
            	{
            		alt609=11;
            	}
                break;
            case SUM_SYMBOL:
            	{
            		alt609=12;
            	}
                break;
            case GROUP_CONCAT_SYMBOL:
            	{
            		alt609=13;
            	}
                break;

            default:
                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 ruleaggregate_functionEx;

            }

            switch (alt609)
            {
        	case 1:
        	    // MySQL.g:1932:2: AVG_SYMBOL OPEN_PAR_SYMBOL ( DISTINCT_SYMBOL )? expression CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        AVG_SYMBOL2144 = (pANTLR3_COMMON_TOKEN) MATCHT(AVG_SYMBOL, &FOLLOW_AVG_SYMBOL_in_aggregate_function11183);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaggregate_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        AVG_SYMBOL2144_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, AVG_SYMBOL2144));
        	        ADAPTOR->addChild(ADAPTOR, root_0, AVG_SYMBOL2144_tree);
        	        }

        	        OPEN_PAR_SYMBOL2145 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function11185);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaggregate_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL2145_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL2145));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL2145_tree);
        	        }

        	        // MySQL.g:1932:29: ( DISTINCT_SYMBOL )?
        	        {
        	            int alt602=2;
        	            switch ( LA(1) )
        	            {
        	                case DISTINCT_SYMBOL:
        	                	{
        	                		alt602=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt602)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1932:29: DISTINCT_SYMBOL
        	        	    {
        	        	        DISTINCT_SYMBOL2146 = (pANTLR3_COMMON_TOKEN) MATCHT(DISTINCT_SYMBOL, &FOLLOW_DISTINCT_SYMBOL_in_aggregate_function11187);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleaggregate_functionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        DISTINCT_SYMBOL2146_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DISTINCT_SYMBOL2146));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, DISTINCT_SYMBOL2146_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_aggregate_function11190);
        	        expression2147=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaggregate_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2147.tree);

        	        CLOSE_PAR_SYMBOL2148 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function11192);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaggregate_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL2148_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL2148));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL2148_tree);
        	        }

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:1933:4: BIT_AND_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        BIT_AND_SYMBOL2149 = (pANTLR3_COMMON_TOKEN) MATCHT(BIT_AND_SYMBOL, &FOLLOW_BIT_AND_SYMBOL_in_aggregate_function11197);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaggregate_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        BIT_AND_SYMBOL2149_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, BIT_AND_SYMBOL2149));
        	        ADAPTOR->addChild(ADAPTOR, root_0, BIT_AND_SYMBOL2149_tree);
        	        }

        	        OPEN_PAR_SYMBOL2150 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function11199);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaggregate_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL2150_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL2150));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL2150_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_aggregate_function11201);
        	        expression2151=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaggregate_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2151.tree);

        	        CLOSE_PAR_SYMBOL2152 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function11203);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaggregate_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL2152_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL2152));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL2152_tree);
        	        }

        	    }
        	    break;
        	case 3:
        	    // MySQL.g:1934:4: BIT_OR_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        BIT_OR_SYMBOL2153 = (pANTLR3_COMMON_TOKEN) MATCHT(BIT_OR_SYMBOL, &FOLLOW_BIT_OR_SYMBOL_in_aggregate_function11208);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaggregate_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        BIT_OR_SYMBOL2153_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, BIT_OR_SYMBOL2153));
        	        ADAPTOR->addChild(ADAPTOR, root_0, BIT_OR_SYMBOL2153_tree);
        	        }

        	        OPEN_PAR_SYMBOL2154 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function11210);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaggregate_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL2154_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL2154));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL2154_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_aggregate_function11212);
        	        expression2155=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaggregate_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2155.tree);

        	        CLOSE_PAR_SYMBOL2156 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function11214);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaggregate_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL2156_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL2156));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL2156_tree);
        	        }

        	    }
        	    break;
        	case 4:
        	    // MySQL.g:1935:4: BIT_XOR_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        BIT_XOR_SYMBOL2157 = (pANTLR3_COMMON_TOKEN) MATCHT(BIT_XOR_SYMBOL, &FOLLOW_BIT_XOR_SYMBOL_in_aggregate_function11219);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaggregate_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        BIT_XOR_SYMBOL2157_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, BIT_XOR_SYMBOL2157));
        	        ADAPTOR->addChild(ADAPTOR, root_0, BIT_XOR_SYMBOL2157_tree);
        	        }

        	        OPEN_PAR_SYMBOL2158 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function11221);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaggregate_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL2158_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL2158));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL2158_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_aggregate_function11223);
        	        expression2159=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaggregate_functionEx;
        	        }
        	        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_aggregate_function11225);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaggregate_functionEx;
        	        }
        	        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 5:
        	    // MySQL.g:1936:4: count_function
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_count_function_in_aggregate_function11230);
        	        count_function2161=count_function(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaggregate_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, count_function2161.tree);

        	    }
        	    break;
        	case 6:
        	    // MySQL.g:1937:4: MIN_SYMBOL OPEN_PAR_SYMBOL ( DISTINCT_SYMBOL )? expression CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        MIN_SYMBOL2162 = (pANTLR3_COMMON_TOKEN) MATCHT(MIN_SYMBOL, &FOLLOW_MIN_SYMBOL_in_aggregate_function11235);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaggregate_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        MIN_SYMBOL2162_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MIN_SYMBOL2162));
        	        ADAPTOR->addChild(ADAPTOR, root_0, MIN_SYMBOL2162_tree);
        	        }

        	        OPEN_PAR_SYMBOL2163 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function11237);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaggregate_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL2163_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL2163));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL2163_tree);
        	        }

        	        // MySQL.g:1937:31: ( DISTINCT_SYMBOL )?
        	        {
        	            int alt603=2;
        	            switch ( LA(1) )
        	            {
        	                case DISTINCT_SYMBOL:
        	                	{
        	                		alt603=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt603)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1937:31: DISTINCT_SYMBOL
        	        	    {
        	        	        DISTINCT_SYMBOL2164 = (pANTLR3_COMMON_TOKEN) MATCHT(DISTINCT_SYMBOL, &FOLLOW_DISTINCT_SYMBOL_in_aggregate_function11239);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleaggregate_functionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        DISTINCT_SYMBOL2164_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DISTINCT_SYMBOL2164));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, DISTINCT_SYMBOL2164_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_aggregate_function11242);
        	        expression2165=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaggregate_functionEx;
        	        }
        	        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_aggregate_function11244);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaggregate_functionEx;
        	        }
        	        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 7:
        	    // MySQL.g:1938:4: MAX_SYMBOL OPEN_PAR_SYMBOL ( DISTINCT_SYMBOL )? expression CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        MAX_SYMBOL2167 = (pANTLR3_COMMON_TOKEN) MATCHT(MAX_SYMBOL, &FOLLOW_MAX_SYMBOL_in_aggregate_function11249);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaggregate_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        MAX_SYMBOL2167_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MAX_SYMBOL2167));
        	        ADAPTOR->addChild(ADAPTOR, root_0, MAX_SYMBOL2167_tree);
        	        }

        	        OPEN_PAR_SYMBOL2168 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function11251);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaggregate_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL2168_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL2168));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL2168_tree);
        	        }

        	        // MySQL.g:1938:31: ( DISTINCT_SYMBOL )?
        	        {
        	            int alt604=2;
        	            switch ( LA(1) )
        	            {
        	                case DISTINCT_SYMBOL:
        	                	{
        	                		alt604=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt604)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1938:31: DISTINCT_SYMBOL
        	        	    {
        	        	        DISTINCT_SYMBOL2169 = (pANTLR3_COMMON_TOKEN) MATCHT(DISTINCT_SYMBOL, &FOLLOW_DISTINCT_SYMBOL_in_aggregate_function11253);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleaggregate_functionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        DISTINCT_SYMBOL2169_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DISTINCT_SYMBOL2169));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, DISTINCT_SYMBOL2169_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_aggregate_function11256);
        	        expression2170=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaggregate_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2170.tree);

        	        CLOSE_PAR_SYMBOL2171 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function11258);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaggregate_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL2171_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL2171));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL2171_tree);
        	        }

        	    }
        	    break;
        	case 8:
        	    // MySQL.g:1939:4: STD_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        STD_SYMBOL2172 = (pANTLR3_COMMON_TOKEN) MATCHT(STD_SYMBOL, &FOLLOW_STD_SYMBOL_in_aggregate_function11263);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaggregate_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        STD_SYMBOL2172_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, STD_SYMBOL2172));
        	        ADAPTOR->addChild(ADAPTOR, root_0, STD_SYMBOL2172_tree);
        	        }

        	        OPEN_PAR_SYMBOL2173 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function11265);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaggregate_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL2173_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL2173));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL2173_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_aggregate_function11267);
        	        expression2174=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaggregate_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2174.tree);

        	        CLOSE_PAR_SYMBOL2175 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function11269);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaggregate_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL2175_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL2175));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL2175_tree);
        	        }

        	    }
        	    break;
        	case 9:
        	    // MySQL.g:1940:4: VARIANCE_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        VARIANCE_SYMBOL2176 = (pANTLR3_COMMON_TOKEN) MATCHT(VARIANCE_SYMBOL, &FOLLOW_VARIANCE_SYMBOL_in_aggregate_function11274);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaggregate_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        VARIANCE_SYMBOL2176_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, VARIANCE_SYMBOL2176));
        	        ADAPTOR->addChild(ADAPTOR, root_0, VARIANCE_SYMBOL2176_tree);
        	        }

        	        OPEN_PAR_SYMBOL2177 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function11276);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaggregate_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL2177_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL2177));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL2177_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_aggregate_function11278);
        	        expression2178=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaggregate_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2178.tree);

        	        CLOSE_PAR_SYMBOL2179 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function11280);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaggregate_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL2179_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL2179));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL2179_tree);
        	        }

        	    }
        	    break;
        	case 10:
        	    // MySQL.g:1941:4: STDDEV_SAMP_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        STDDEV_SAMP_SYMBOL2180 = (pANTLR3_COMMON_TOKEN) MATCHT(STDDEV_SAMP_SYMBOL, &FOLLOW_STDDEV_SAMP_SYMBOL_in_aggregate_function11285);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaggregate_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        STDDEV_SAMP_SYMBOL2180_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, STDDEV_SAMP_SYMBOL2180));
        	        ADAPTOR->addChild(ADAPTOR, root_0, STDDEV_SAMP_SYMBOL2180_tree);
        	        }

        	        OPEN_PAR_SYMBOL2181 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function11287);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaggregate_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL2181_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL2181));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL2181_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_aggregate_function11289);
        	        expression2182=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaggregate_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2182.tree);

        	        CLOSE_PAR_SYMBOL2183 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function11291);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaggregate_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL2183_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL2183));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL2183_tree);
        	        }

        	    }
        	    break;
        	case 11:
        	    // MySQL.g:1942:4: VAR_SAMP_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        VAR_SAMP_SYMBOL2184 = (pANTLR3_COMMON_TOKEN) MATCHT(VAR_SAMP_SYMBOL, &FOLLOW_VAR_SAMP_SYMBOL_in_aggregate_function11296);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaggregate_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        VAR_SAMP_SYMBOL2184_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, VAR_SAMP_SYMBOL2184));
        	        ADAPTOR->addChild(ADAPTOR, root_0, VAR_SAMP_SYMBOL2184_tree);
        	        }

        	        OPEN_PAR_SYMBOL2185 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function11298);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaggregate_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL2185_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL2185));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL2185_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_aggregate_function11300);
        	        expression2186=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaggregate_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2186.tree);

        	        CLOSE_PAR_SYMBOL2187 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function11302);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaggregate_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL2187_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL2187));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL2187_tree);
        	        }

        	    }
        	    break;
        	case 12:
        	    // MySQL.g:1943:4: SUM_SYMBOL OPEN_PAR_SYMBOL ( DISTINCT_SYMBOL )? expression CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        SUM_SYMBOL2188 = (pANTLR3_COMMON_TOKEN) MATCHT(SUM_SYMBOL, &FOLLOW_SUM_SYMBOL_in_aggregate_function11307);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaggregate_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        SUM_SYMBOL2188_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SUM_SYMBOL2188));
        	        ADAPTOR->addChild(ADAPTOR, root_0, SUM_SYMBOL2188_tree);
        	        }

        	        OPEN_PAR_SYMBOL2189 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function11309);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaggregate_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL2189_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL2189));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL2189_tree);
        	        }

        	        // MySQL.g:1943:31: ( DISTINCT_SYMBOL )?
        	        {
        	            int alt605=2;
        	            switch ( LA(1) )
        	            {
        	                case DISTINCT_SYMBOL:
        	                	{
        	                		alt605=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt605)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1943:31: DISTINCT_SYMBOL
        	        	    {
        	        	        DISTINCT_SYMBOL2190 = (pANTLR3_COMMON_TOKEN) MATCHT(DISTINCT_SYMBOL, &FOLLOW_DISTINCT_SYMBOL_in_aggregate_function11311);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleaggregate_functionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        DISTINCT_SYMBOL2190_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DISTINCT_SYMBOL2190));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, DISTINCT_SYMBOL2190_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_aggregate_function11314);
        	        expression2191=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaggregate_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2191.tree);

        	        CLOSE_PAR_SYMBOL2192 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function11316);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaggregate_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL2192_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL2192));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL2192_tree);
        	        }

        	    }
        	    break;
        	case 13:
        	    // MySQL.g:1944:4: GROUP_CONCAT_SYMBOL OPEN_PAR_SYMBOL ( DISTINCT_SYMBOL )? expression_list ( order_by_clause )? ( SEPARATOR_SYMBOL string_literal )? CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        GROUP_CONCAT_SYMBOL2193 = (pANTLR3_COMMON_TOKEN) MATCHT(GROUP_CONCAT_SYMBOL, &FOLLOW_GROUP_CONCAT_SYMBOL_in_aggregate_function11321);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaggregate_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        GROUP_CONCAT_SYMBOL2193_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, GROUP_CONCAT_SYMBOL2193));
        	        ADAPTOR->addChild(ADAPTOR, root_0, GROUP_CONCAT_SYMBOL2193_tree);
        	        }

        	        OPEN_PAR_SYMBOL2194 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function11323);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaggregate_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL2194_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL2194));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL2194_tree);
        	        }

        	        // MySQL.g:1944:40: ( DISTINCT_SYMBOL )?
        	        {
        	            int alt606=2;
        	            switch ( LA(1) )
        	            {
        	                case DISTINCT_SYMBOL:
        	                	{
        	                		alt606=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt606)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1944:40: DISTINCT_SYMBOL
        	        	    {
        	        	        DISTINCT_SYMBOL2195 = (pANTLR3_COMMON_TOKEN) MATCHT(DISTINCT_SYMBOL, &FOLLOW_DISTINCT_SYMBOL_in_aggregate_function11325);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleaggregate_functionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        DISTINCT_SYMBOL2195_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DISTINCT_SYMBOL2195));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, DISTINCT_SYMBOL2195_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_list_in_aggregate_function11328);
        	        expression_list2196=expression_list(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaggregate_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression_list2196.tree);

        	        // MySQL.g:1944:73: ( order_by_clause )?
        	        {
        	            int alt607=2;
        	            switch ( LA(1) )
        	            {
        	                case ORDER_SYMBOL:
        	                	{
        	                		alt607=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt607)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1944:73: order_by_clause
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_order_by_clause_in_aggregate_function11330);
        	        	        order_by_clause2197=order_by_clause(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleaggregate_functionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, order_by_clause2197.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	        // MySQL.g:1944:90: ( SEPARATOR_SYMBOL string_literal )?
        	        {
        	            int alt608=2;
        	            switch ( LA(1) )
        	            {
        	                case SEPARATOR_SYMBOL:
        	                	{
        	                		alt608=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt608)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1944:91: SEPARATOR_SYMBOL string_literal
        	        	    {
        	        	        SEPARATOR_SYMBOL2198 = (pANTLR3_COMMON_TOKEN) MATCHT(SEPARATOR_SYMBOL, &FOLLOW_SEPARATOR_SYMBOL_in_aggregate_function11334);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleaggregate_functionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        SEPARATOR_SYMBOL2198_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SEPARATOR_SYMBOL2198));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, SEPARATOR_SYMBOL2198_tree);
        	        	        }

        	        	        FOLLOWPUSH(FOLLOW_string_literal_in_aggregate_function11336);
        	        	        string_literal2199=string_literal(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleaggregate_functionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_literal2199.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	        CLOSE_PAR_SYMBOL2200 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function11340);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaggregate_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL2200_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL2200));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL2200_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 count_function
 * MySQL.g:1947:1: count_function : COUNT_SYMBOL OPEN_PAR_SYMBOL ( ( ALL_SYMBOL )? MULT_OPERATOR CLOSE_PAR_SYMBOL | ( 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_SYMBOL2201;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL2202;
    pANTLR3_COMMON_TOKEN    ALL_SYMBOL2203;
    pANTLR3_COMMON_TOKEN    MULT_OPERATOR2204;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2205;
    pANTLR3_COMMON_TOKEN    DISTINCT_SYMBOL2206;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2208;
    MySQLParser_expression_list_return expression_list2207;
    #undef	RETURN_TYPE_expression_list2207
    #define	RETURN_TYPE_expression_list2207 MySQLParser_expression_list_return

    pANTLR3_BASE_TREE COUNT_SYMBOL2201_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2202_tree;
    pANTLR3_BASE_TREE ALL_SYMBOL2203_tree;
    pANTLR3_BASE_TREE MULT_OPERATOR2204_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2205_tree;
    pANTLR3_BASE_TREE DISTINCT_SYMBOL2206_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2208_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    COUNT_SYMBOL2201       = NULL;
    OPEN_PAR_SYMBOL2202       = NULL;
    ALL_SYMBOL2203       = NULL;
    MULT_OPERATOR2204       = NULL;
    CLOSE_PAR_SYMBOL2205       = NULL;
    DISTINCT_SYMBOL2206       = NULL;
    CLOSE_PAR_SYMBOL2208       = NULL;
    expression_list2207.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    COUNT_SYMBOL2201_tree   = NULL;
    OPEN_PAR_SYMBOL2202_tree   = NULL;
    ALL_SYMBOL2203_tree   = NULL;
    MULT_OPERATOR2204_tree   = NULL;
    CLOSE_PAR_SYMBOL2205_tree   = NULL;
    DISTINCT_SYMBOL2206_tree   = NULL;
    CLOSE_PAR_SYMBOL2208_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1947:15: ( COUNT_SYMBOL OPEN_PAR_SYMBOL ( ( ALL_SYMBOL )? MULT_OPERATOR CLOSE_PAR_SYMBOL | ( DISTINCT_SYMBOL )? expression_list CLOSE_PAR_SYMBOL ) )
        // MySQL.g:1948:2: COUNT_SYMBOL OPEN_PAR_SYMBOL ( ( ALL_SYMBOL )? MULT_OPERATOR CLOSE_PAR_SYMBOL | ( DISTINCT_SYMBOL )? expression_list CLOSE_PAR_SYMBOL )
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            COUNT_SYMBOL2201 = (pANTLR3_COMMON_TOKEN) MATCHT(COUNT_SYMBOL, &FOLLOW_COUNT_SYMBOL_in_count_function11349);
            if  (HASEXCEPTION())
            {
                goto rulecount_functionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            COUNT_SYMBOL2201_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COUNT_SYMBOL2201));
            ADAPTOR->addChild(ADAPTOR, root_0, COUNT_SYMBOL2201_tree);
            }

            OPEN_PAR_SYMBOL2202 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_count_function11351);
            if  (HASEXCEPTION())
            {
                goto rulecount_functionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            OPEN_PAR_SYMBOL2202_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL2202));
            ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL2202_tree);
            }

            // MySQL.g:1949:2: ( ( ALL_SYMBOL )? MULT_OPERATOR CLOSE_PAR_SYMBOL | ( DISTINCT_SYMBOL )? expression_list CLOSE_PAR_SYMBOL )
            {
                int alt612=2;
                {
                    int LA612_0 = LA(1);
                    if ( (LA612_0 == ALL_SYMBOL || LA612_0 == MULT_OPERATOR))
                    {
                        alt612=1;
                    }
                    else if ( (LA612_0 == BITWISE_NOT_OPERATOR || LA612_0 == DISTINCT_SYMBOL || LA612_0 == INTERVAL_SYMBOL || LA612_0 == LOGICAL_NOT_OPERATOR || LA612_0 == MINUS_OPERATOR || LA612_0 == NCHAR_TEXT || LA612_0 == NOT2_SYMBOL || LA612_0 == NOT_SYMBOL || LA612_0 == PLUS_OPERATOR || LA612_0 == SINGLE_QUOTED_TEXT || LA612_0 == UNDERSCORE_CHARSET))
                    {
                        alt612=2;
                    }
                    else if ( ((((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES)))||((!SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))))) && (LA612_0 == DOUBLE_QUOTED_TEXT))
                    {
                        alt612=2;
                    }
                    else if ( (LA612_0 == FALSE_SYMBOL || LA612_0 == FLOAT || ((LA612_0 >= HEXNUMBER) && (LA612_0 <= HEXSTRING)) || LA612_0 == INTEGER || LA612_0 == TRUE_SYMBOL))
                    {
                        alt612=2;
                    }
                    else if ( ((SERVER_VERSION >= 50003)) && (((LA612_0 >= BITNUMBER) && (LA612_0 <= BITSTRING))))
                    {
                        alt612=2;
                    }
                    else if ( (((LA612_0 >= ACTION_SYMBOL) && (LA612_0 <= PARTITION_SYMBOL)) || ((LA612_0 >= AT_AT_SIGN_SYMBOL) && (LA612_0 <= AT_SIGN_SYMBOL)) || LA612_0 == BACK_TICK_QUOTED_ID || LA612_0 == BINARY_SYMBOL || ((LA612_0 >= BIT_AND_SYMBOL) && (LA612_0 <= BIT_XOR_SYMBOL)) || ((LA612_0 >= CASE_SYMBOL) && (LA612_0 <= CAST_SYMBOL)) || LA612_0 == CHAR_SYMBOL || ((LA612_0 >= CONVERT_SYMBOL) && (LA612_0 <= COUNT_SYMBOL)) || LA612_0 == CURDATE_SYMBOL || LA612_0 == CURRENT_USER_SYMBOL || LA612_0 == CURTIME_SYMBOL || LA612_0 == DATABASE_SYMBOL || LA612_0 == DATE_ADD_SYMBOL || LA612_0 == DATE_SUB_SYMBOL || LA612_0 == DOT_SYMBOL || LA612_0 == EXISTS_SYMBOL || LA612_0 == EXTRACT_SYMBOL || LA612_0 == GROUP_CONCAT_SYMBOL || ((LA612_0 >= IDENTIFIER) && (LA612_0 <= IF_SYMBOL)) || LA612_0 == INSERT_SYMBOL || LA612_0 == LEFT_SYMBOL || LA612_0 == MATCH_SYMBOL || LA612_0 == MAX_SYMBOL || LA612_0 == MIN_SYMBOL || LA612_0 == MOD_SYMBOL || LA612_0 == NOW_SYMBOL || LA612_0 == NULL2_SYMBOL || LA612_0 == NULL_SYMBOL || ((LA612_0 >= OPEN_CURLY_SYMBOL) && (LA612_0 <= OPEN_PAR_SYMBOL)) || LA612_0 == PARAM_MARKER || LA612_0 == POSITION_SYMBOL || ((LA612_0 >= REPEAT_SYMBOL) && (LA612_0 <= REPLACE_SYMBOL)) || LA612_0 == RIGHT_SYMBOL || LA612_0 == STDDEV_SAMP_SYMBOL || LA612_0 == STD_SYMBOL || LA612_0 == SUBSTRING_SYMBOL || ((LA612_0 >= SUM_SYMBOL) && (LA612_0 <= SYSDATE_SYMBOL)) || LA612_0 == TRIM_SYMBOL || ((LA612_0 >= UTC_DATE_SYMBOL) && (LA612_0 <= VALUES_SYMBOL)) || LA612_0 == VARIANCE_SYMBOL || LA612_0 == VAR_SAMP_SYMBOL))
                    {
                        alt612=2;
                    }
                    else
                    {
                        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 rulecount_functionEx;

                    }
                }
                switch (alt612)
                {
            	case 1:
            	    // MySQL.g:1950:3: ( ALL_SYMBOL )? MULT_OPERATOR CLOSE_PAR_SYMBOL
            	    {
            	        // MySQL.g:1950:3: ( ALL_SYMBOL )?
            	        {
            	            int alt610=2;
            	            switch ( LA(1) )
            	            {
            	                case ALL_SYMBOL:
            	                	{
            	                		alt610=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt610)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1950:3: ALL_SYMBOL
            	        	    {
            	        	        ALL_SYMBOL2203 = (pANTLR3_COMMON_TOKEN) MATCHT(ALL_SYMBOL, &FOLLOW_ALL_SYMBOL_in_count_function11358);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulecount_functionEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        ALL_SYMBOL2203_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ALL_SYMBOL2203));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, ALL_SYMBOL2203_tree);
            	        	        }

            	        	    }
            	        	    break;

            	            }
            	        }

            	        MULT_OPERATOR2204 = (pANTLR3_COMMON_TOKEN) MATCHT(MULT_OPERATOR, &FOLLOW_MULT_OPERATOR_in_count_function11361);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecount_functionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        MULT_OPERATOR2204_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MULT_OPERATOR2204));
            	        ADAPTOR->addChild(ADAPTOR, root_0, MULT_OPERATOR2204_tree);
            	        }

            	        CLOSE_PAR_SYMBOL2205 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_count_function11363);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecount_functionEx;
            	        }
            	        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 2:
            	    // MySQL.g:1951:5: ( DISTINCT_SYMBOL )? expression_list CLOSE_PAR_SYMBOL
            	    {
            	        // MySQL.g:1951:5: ( DISTINCT_SYMBOL )?
            	        {
            	            int alt611=2;
            	            switch ( LA(1) )
            	            {
            	                case DISTINCT_SYMBOL:
            	                	{
            	                		alt611=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt611)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1951:5: DISTINCT_SYMBOL
            	        	    {
            	        	        DISTINCT_SYMBOL2206 = (pANTLR3_COMMON_TOKEN) MATCHT(DISTINCT_SYMBOL, &FOLLOW_DISTINCT_SYMBOL_in_count_function11369);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulecount_functionEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        DISTINCT_SYMBOL2206_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DISTINCT_SYMBOL2206));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, DISTINCT_SYMBOL2206_tree);
            	        	        }

            	        	    }
            	        	    break;

            	            }
            	        }

            	        FOLLOWPUSH(FOLLOW_expression_list_in_count_function11372);
            	        expression_list2207=expression_list(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecount_functionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression_list2207.tree);

            	        CLOSE_PAR_SYMBOL2208 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_count_function11374);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecount_functionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        CLOSE_PAR_SYMBOL2208_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL2208));
            	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL2208_tree);
            	        }

            	    }
            	    break;

                }
            }

        }

    }

    // 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 aliased_expression_list
 * MySQL.g:1955: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_SYMBOL2210;
    MySQLParser_aliased_expression_return aliased_expression2209;
    #undef	RETURN_TYPE_aliased_expression2209
    #define	RETURN_TYPE_aliased_expression2209 MySQLParser_aliased_expression_return

    MySQLParser_aliased_expression_return aliased_expression2211;
    #undef	RETURN_TYPE_aliased_expression2211
    #define	RETURN_TYPE_aliased_expression2211 MySQLParser_aliased_expression_return

    pANTLR3_BASE_TREE COMMA_SYMBOL2210_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    COMMA_SYMBOL2210       = NULL;
    aliased_expression2209.tree = NULL;

    aliased_expression2211.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    COMMA_SYMBOL2210_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1955:24: ( aliased_expression ( COMMA_SYMBOL aliased_expression )* )
        // MySQL.g:1956:2: aliased_expression ( COMMA_SYMBOL aliased_expression )*
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            FOLLOWPUSH(FOLLOW_aliased_expression_in_aliased_expression_list11386);
            aliased_expression2209=aliased_expression(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulealiased_expression_listEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, aliased_expression2209.tree);

            // MySQL.g:1956:21: ( COMMA_SYMBOL aliased_expression )*

            for (;;)
            {
                int alt613=2;
                switch ( LA(1) )
                {
                case COMMA_SYMBOL:
                	{
                		alt613=1;
                	}
                    break;

                }

                switch (alt613)
                {
            	case 1:
            	    // MySQL.g:1956:22: COMMA_SYMBOL aliased_expression
            	    {
            	        COMMA_SYMBOL2210 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_aliased_expression_list11389);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulealiased_expression_listEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        COMMA_SYMBOL2210_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL2210));
            	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL2210_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_aliased_expression_in_aliased_expression_list11391);
            	        aliased_expression2211=aliased_expression(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulealiased_expression_listEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, aliased_expression2211.tree);

            	    }
            	    break;

            	default:
            	    goto loop613;	/* break out of the loop */
            	    break;
                }
            }
            loop613: ; /* 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:1959: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 expression2212;
    #undef	RETURN_TYPE_expression2212
    #define	RETURN_TYPE_expression2212 MySQLParser_expression_return

    MySQLParser_select_alias_return select_alias2213;
    #undef	RETURN_TYPE_select_alias2213
    #define	RETURN_TYPE_select_alias2213 MySQLParser_select_alias_return


    /* Initialize rule variables
     */

    root_0 = NULL;

    expression2212.tree = NULL;

    select_alias2213.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;




    retval.tree  = NULL;

    {
        // MySQL.g:1959:19: ( expression ( select_alias )? )
        // MySQL.g:1960:2: expression ( select_alias )?
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            FOLLOWPUSH(FOLLOW_expression_in_aliased_expression11402);
            expression2212=expression(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulealiased_expressionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2212.tree);

            // MySQL.g:1960:13: ( select_alias )?
            {
                int alt614=2;
                {
                    int LA614_0 = LA(1);
                    if ( (LA614_0 == AS_SYMBOL || LA614_0 == NCHAR_TEXT || LA614_0 == SINGLE_QUOTED_TEXT || LA614_0 == UNDERSCORE_CHARSET))
                    {
                        alt614=1;
                    }
                    else if ( ((((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES)))||((!SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))))) && (LA614_0 == DOUBLE_QUOTED_TEXT))
                    {
                        alt614=1;
                    }
                    else if ( (((LA614_0 >= ACTION_SYMBOL) && (LA614_0 <= PARTITION_SYMBOL)) || LA614_0 == BACK_TICK_QUOTED_ID || LA614_0 == IDENTIFIER))
                    {
                        alt614=1;
                    }
                }
                switch (alt614)
                {
            	case 1:
            	    // MySQL.g:1960:13: select_alias
            	    {
            	        FOLLOWPUSH(FOLLOW_select_alias_in_aliased_expression11404);
            	        select_alias2213=select_alias(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulealiased_expressionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, select_alias2213.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:1963: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_OPERATOR2215;
    MySQLParser_user_variable_return user_variable2214;
    #undef	RETURN_TYPE_user_variable2214
    #define	RETURN_TYPE_user_variable2214 MySQLParser_user_variable_return

    MySQLParser_expression_return expression2216;
    #undef	RETURN_TYPE_expression2216
    #define	RETURN_TYPE_expression2216 MySQLParser_expression_return

    MySQLParser_system_variable_return system_variable2217;
    #undef	RETURN_TYPE_system_variable2217
    #define	RETURN_TYPE_system_variable2217 MySQLParser_system_variable_return

    pANTLR3_BASE_TREE ASSIGN_OPERATOR2215_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    ASSIGN_OPERATOR2215       = NULL;
    user_variable2214.tree = NULL;

    expression2216.tree = NULL;

    system_variable2217.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    ASSIGN_OPERATOR2215_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:1963:36: ( user_variable ( ASSIGN_OPERATOR ^ expression )? | system_variable )

            ANTLR3_UINT32 alt616;

            alt616=2;

            switch ( LA(1) )
            {
            case AT_SIGN_SYMBOL:
            	{
            		alt616=1;
            	}
                break;
            case AT_AT_SIGN_SYMBOL:
            	{
            		alt616=2;
            	}
                break;

            default:
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                EXCEPTION->message      = (void *)"";
                EXCEPTION->decisionNum  = 616;
                EXCEPTION->state        = 0;


                goto rulevariableEx;

            }

            switch (alt616)
            {
        	case 1:
        	    // MySQL.g:1964:2: user_variable ( ASSIGN_OPERATOR ^ expression )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_user_variable_in_variable11425);
        	        user_variable2214=user_variable(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulevariableEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, user_variable2214.tree);

        	        // MySQL.g:1964:16: ( ASSIGN_OPERATOR ^ expression )?
        	        {
        	            int alt615=2;
        	            switch ( LA(1) )
        	            {
        	                case ASSIGN_OPERATOR:
        	                	{
        	                		alt615=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt615)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1964:17: ASSIGN_OPERATOR ^ expression
        	        	    {
        	        	        ASSIGN_OPERATOR2215 = (pANTLR3_COMMON_TOKEN) MATCHT(ASSIGN_OPERATOR, &FOLLOW_ASSIGN_OPERATOR_in_variable11428);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulevariableEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        ASSIGN_OPERATOR2215_tree = 
        	        	        (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ASSIGN_OPERATOR2215))
        	        	        ;
        	        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, ASSIGN_OPERATOR2215_tree, root_0));
        	        	        }

        	        	        FOLLOWPUSH(FOLLOW_expression_in_variable11431);
        	        	        expression2216=expression(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulevariableEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2216.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:1965:4: system_variable
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_system_variable_in_variable11438);
        	        system_variable2217=system_variable(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulevariableEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, system_variable2217.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:1968:1: user_variable : AT_SIGN_SYMBOL text_or_identifier ;
 */
static MySQLParser_user_variable_return
user_variable(pMySQLParser ctx)
{
    MySQLParser_user_variable_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    AT_SIGN_SYMBOL2218;
    MySQLParser_text_or_identifier_return text_or_identifier2219;
    #undef	RETURN_TYPE_text_or_identifier2219
    #define	RETURN_TYPE_text_or_identifier2219 MySQLParser_text_or_identifier_return

    pANTLR3_BASE_TREE AT_SIGN_SYMBOL2218_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    AT_SIGN_SYMBOL2218       = NULL;
    text_or_identifier2219.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    AT_SIGN_SYMBOL2218_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1968:14: ( AT_SIGN_SYMBOL text_or_identifier )
        // MySQL.g:1969:2: AT_SIGN_SYMBOL text_or_identifier
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            AT_SIGN_SYMBOL2218 = (pANTLR3_COMMON_TOKEN) MATCHT(AT_SIGN_SYMBOL, &FOLLOW_AT_SIGN_SYMBOL_in_user_variable11447);
            if  (HASEXCEPTION())
            {
                goto ruleuser_variableEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            AT_SIGN_SYMBOL2218_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, AT_SIGN_SYMBOL2218));
            ADAPTOR->addChild(ADAPTOR, root_0, AT_SIGN_SYMBOL2218_tree);
            }

            FOLLOWPUSH(FOLLOW_text_or_identifier_in_user_variable11449);
            text_or_identifier2219=text_or_identifier(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruleuser_variableEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, text_or_identifier2219.tree);

        }

    }

    // 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 (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:1973: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_SYMBOL2220;
    pANTLR3_COMMON_TOKEN    DOT_SYMBOL2222;
    MySQLParser_option_type_return option_type2221;
    #undef	RETURN_TYPE_option_type2221
    #define	RETURN_TYPE_option_type2221 MySQLParser_option_type_return

    MySQLParser_variable_name_return variable_name2223;
    #undef	RETURN_TYPE_variable_name2223
    #define	RETURN_TYPE_variable_name2223 MySQLParser_variable_name_return

    pANTLR3_BASE_TREE AT_AT_SIGN_SYMBOL2220_tree;
    pANTLR3_BASE_TREE DOT_SYMBOL2222_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    AT_AT_SIGN_SYMBOL2220       = NULL;
    DOT_SYMBOL2222       = NULL;
    option_type2221.tree = NULL;

    variable_name2223.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    AT_AT_SIGN_SYMBOL2220_tree   = NULL;
    DOT_SYMBOL2222_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1973:16: ( AT_AT_SIGN_SYMBOL ( options {greedy=true; } : option_type DOT_SYMBOL )? variable_name )
        // MySQL.g:1974: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_SYMBOL2220 = (pANTLR3_COMMON_TOKEN) MATCHT(AT_AT_SIGN_SYMBOL, &FOLLOW_AT_AT_SIGN_SYMBOL_in_system_variable11459);
            if  (HASEXCEPTION())
            {
                goto rulesystem_variableEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            AT_AT_SIGN_SYMBOL2220_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, AT_AT_SIGN_SYMBOL2220));
            ADAPTOR->addChild(ADAPTOR, root_0, AT_AT_SIGN_SYMBOL2220_tree);
            }

            // MySQL.g:1974:20: ( options {greedy=true; } : option_type DOT_SYMBOL )?
            {
                int alt617=2;
                switch ( LA(1) )
                {
                    case GLOBAL_SYMBOL:
                    case LOCAL_SYMBOL:
                    case SESSION_SYMBOL:
                    	{
                    		switch ( LA(2) )
                    		{
                    		    case DOT_SYMBOL:
                    		    	{
                    		    		alt617=1;
                    		    	}
                    		        break;
                    		}

                    	}
                        break;
                }

                switch (alt617)
                {
            	case 1:
            	    // MySQL.g:1974:50: option_type DOT_SYMBOL
            	    {
            	        FOLLOWPUSH(FOLLOW_option_type_in_system_variable11475);
            	        option_type2221=option_type(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulesystem_variableEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, option_type2221.tree);

            	        DOT_SYMBOL2222 = (pANTLR3_COMMON_TOKEN) MATCHT(DOT_SYMBOL, &FOLLOW_DOT_SYMBOL_in_system_variable11477);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulesystem_variableEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        DOT_SYMBOL2222_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DOT_SYMBOL2222));
            	        ADAPTOR->addChild(ADAPTOR, root_0, DOT_SYMBOL2222_tree);
            	        }

            	    }
            	    break;

                }
            }

            FOLLOWPUSH(FOLLOW_variable_name_in_system_variable11481);
            variable_name2223=variable_name(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulesystem_variableEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, variable_name2223.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:1977: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_SYMBOL2225;
    pANTLR3_COMMON_TOKEN    DEFAULT_SYMBOL2227;
    pANTLR3_COMMON_TOKEN    DOT_SYMBOL2228;
    MySQLParser_identifier_return identifier2224;
    #undef	RETURN_TYPE_identifier2224
    #define	RETURN_TYPE_identifier2224 MySQLParser_identifier_return

    MySQLParser_identifier_return identifier2226;
    #undef	RETURN_TYPE_identifier2226
    #define	RETURN_TYPE_identifier2226 MySQLParser_identifier_return

    MySQLParser_identifier_return identifier2229;
    #undef	RETURN_TYPE_identifier2229
    #define	RETURN_TYPE_identifier2229 MySQLParser_identifier_return

    pANTLR3_BASE_TREE DOT_SYMBOL2225_tree;
    pANTLR3_BASE_TREE DEFAULT_SYMBOL2227_tree;
    pANTLR3_BASE_TREE DOT_SYMBOL2228_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    DOT_SYMBOL2225       = NULL;
    DEFAULT_SYMBOL2227       = NULL;
    DOT_SYMBOL2228       = NULL;
    identifier2224.tree = NULL;

    identifier2226.tree = NULL;

    identifier2229.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    DOT_SYMBOL2225_tree   = NULL;
    DEFAULT_SYMBOL2227_tree   = NULL;
    DOT_SYMBOL2228_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:1977:14: ( identifier ( DOT_SYMBOL identifier )? | DEFAULT_SYMBOL DOT_SYMBOL identifier )

            ANTLR3_UINT32 alt619;

            alt619=2;

            {
                int LA619_0 = LA(1);
                if ( (LA619_0 == BACK_TICK_QUOTED_ID || LA619_0 == IDENTIFIER))
                {
                    alt619=1;
                }
                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA619_0 == DOUBLE_QUOTED_TEXT))
                {
                    alt619=1;
                }
                else if ( (((LA619_0 >= ACTION_SYMBOL) && (LA619_0 <= PARTITION_SYMBOL))))
                {
                    alt619=1;
                }
                else if ( (LA619_0 == DEFAULT_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        = 0;


                    goto rulevariable_nameEx;

                }
            }
            switch (alt619)
            {
        	case 1:
        	    // MySQL.g:1978:2: identifier ( DOT_SYMBOL identifier )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_identifier_in_variable_name11490);
        	        identifier2224=identifier(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulevariable_nameEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier2224.tree);

        	        // MySQL.g:1978:13: ( DOT_SYMBOL identifier )?
        	        {
        	            int alt618=2;
        	            switch ( LA(1) )
        	            {
        	                case DOT_SYMBOL:
        	                	{
        	                		alt618=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt618)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1978:14: DOT_SYMBOL identifier
        	        	    {
        	        	        DOT_SYMBOL2225 = (pANTLR3_COMMON_TOKEN) MATCHT(DOT_SYMBOL, &FOLLOW_DOT_SYMBOL_in_variable_name11493);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulevariable_nameEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        DOT_SYMBOL2225_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DOT_SYMBOL2225));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, DOT_SYMBOL2225_tree);
        	        	        }

        	        	        FOLLOWPUSH(FOLLOW_identifier_in_variable_name11495);
        	        	        identifier2226=identifier(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulevariable_nameEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier2226.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:1979:4: DEFAULT_SYMBOL DOT_SYMBOL identifier
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        DEFAULT_SYMBOL2227 = (pANTLR3_COMMON_TOKEN) MATCHT(DEFAULT_SYMBOL, &FOLLOW_DEFAULT_SYMBOL_in_variable_name11506);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulevariable_nameEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        DEFAULT_SYMBOL2227_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DEFAULT_SYMBOL2227));
        	        ADAPTOR->addChild(ADAPTOR, root_0, DEFAULT_SYMBOL2227_tree);
        	        }

        	        DOT_SYMBOL2228 = (pANTLR3_COMMON_TOKEN) MATCHT(DOT_SYMBOL, &FOLLOW_DOT_SYMBOL_in_variable_name11508);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulevariable_nameEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        DOT_SYMBOL2228_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DOT_SYMBOL2228));
        	        ADAPTOR->addChild(ADAPTOR, root_0, DOT_SYMBOL2228_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_identifier_in_variable_name11510);
        	        identifier2229=identifier(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulevariable_nameEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier2229.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:1982: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_SYMBOL2230;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL2231;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2233;
    pANTLR3_COMMON_TOKEN    AGAINST_SYMBOL2234;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL2235;
    pANTLR3_COMMON_TOKEN    IN_SYMBOL2237;
    pANTLR3_COMMON_TOKEN    BOOLEAN_SYMBOL2238;
    pANTLR3_COMMON_TOKEN    MODE_SYMBOL2239;
    pANTLR3_COMMON_TOKEN    IN_SYMBOL2240;
    pANTLR3_COMMON_TOKEN    NATURAL_SYMBOL2241;
    pANTLR3_COMMON_TOKEN    LANGUAGE_SYMBOL2242;
    pANTLR3_COMMON_TOKEN    MODE_SYMBOL2243;
    pANTLR3_COMMON_TOKEN    WITH_SYMBOL2244;
    pANTLR3_COMMON_TOKEN    QUERY_SYMBOL2245;
    pANTLR3_COMMON_TOKEN    EXPANSION_SYMBOL2246;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2247;
    MySQLParser_field_name_list_return field_name_list2232;
    #undef	RETURN_TYPE_field_name_list2232
    #define	RETURN_TYPE_field_name_list2232 MySQLParser_field_name_list_return

    MySQLParser_bitwise_or_expression_return bitwise_or_expression2236;
    #undef	RETURN_TYPE_bitwise_or_expression2236
    #define	RETURN_TYPE_bitwise_or_expression2236 MySQLParser_bitwise_or_expression_return

    pANTLR3_BASE_TREE MATCH_SYMBOL2230_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2231_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2233_tree;
    pANTLR3_BASE_TREE AGAINST_SYMBOL2234_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2235_tree;
    pANTLR3_BASE_TREE IN_SYMBOL2237_tree;
    pANTLR3_BASE_TREE BOOLEAN_SYMBOL2238_tree;
    pANTLR3_BASE_TREE MODE_SYMBOL2239_tree;
    pANTLR3_BASE_TREE IN_SYMBOL2240_tree;
    pANTLR3_BASE_TREE NATURAL_SYMBOL2241_tree;
    pANTLR3_BASE_TREE LANGUAGE_SYMBOL2242_tree;
    pANTLR3_BASE_TREE MODE_SYMBOL2243_tree;
    pANTLR3_BASE_TREE WITH_SYMBOL2244_tree;
    pANTLR3_BASE_TREE QUERY_SYMBOL2245_tree;
    pANTLR3_BASE_TREE EXPANSION_SYMBOL2246_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2247_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    MATCH_SYMBOL2230       = NULL;
    OPEN_PAR_SYMBOL2231       = NULL;
    CLOSE_PAR_SYMBOL2233       = NULL;
    AGAINST_SYMBOL2234       = NULL;
    OPEN_PAR_SYMBOL2235       = NULL;
    IN_SYMBOL2237       = NULL;
    BOOLEAN_SYMBOL2238       = NULL;
    MODE_SYMBOL2239       = NULL;
    IN_SYMBOL2240       = NULL;
    NATURAL_SYMBOL2241       = NULL;
    LANGUAGE_SYMBOL2242       = NULL;
    MODE_SYMBOL2243       = NULL;
    WITH_SYMBOL2244       = NULL;
    QUERY_SYMBOL2245       = NULL;
    EXPANSION_SYMBOL2246       = NULL;
    CLOSE_PAR_SYMBOL2247       = NULL;
    field_name_list2232.tree = NULL;

    bitwise_or_expression2236.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    MATCH_SYMBOL2230_tree   = NULL;
    OPEN_PAR_SYMBOL2231_tree   = NULL;
    CLOSE_PAR_SYMBOL2233_tree   = NULL;
    AGAINST_SYMBOL2234_tree   = NULL;
    OPEN_PAR_SYMBOL2235_tree   = NULL;
    IN_SYMBOL2237_tree   = NULL;
    BOOLEAN_SYMBOL2238_tree   = NULL;
    MODE_SYMBOL2239_tree   = NULL;
    IN_SYMBOL2240_tree   = NULL;
    NATURAL_SYMBOL2241_tree   = NULL;
    LANGUAGE_SYMBOL2242_tree   = NULL;
    MODE_SYMBOL2243_tree   = NULL;
    WITH_SYMBOL2244_tree   = NULL;
    QUERY_SYMBOL2245_tree   = NULL;
    EXPANSION_SYMBOL2246_tree   = NULL;
    CLOSE_PAR_SYMBOL2247_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1982: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:1983: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_SYMBOL2230 = (pANTLR3_COMMON_TOKEN) MATCHT(MATCH_SYMBOL, &FOLLOW_MATCH_SYMBOL_in_match_expression11519);
            if  (HASEXCEPTION())
            {
                goto rulematch_expressionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            MATCH_SYMBOL2230_tree = 
            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MATCH_SYMBOL2230))
            ;
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, MATCH_SYMBOL2230_tree, root_0));
            }

            OPEN_PAR_SYMBOL2231 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_match_expression11522);
            if  (HASEXCEPTION())
            {
                goto rulematch_expressionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            OPEN_PAR_SYMBOL2231_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL2231));
            ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL2231_tree);
            }

            FOLLOWPUSH(FOLLOW_field_name_list_in_match_expression11524);
            field_name_list2232=field_name_list(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulematch_expressionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, field_name_list2232.tree);

            CLOSE_PAR_SYMBOL2233 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_match_expression11526);
            if  (HASEXCEPTION())
            {
                goto rulematch_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);
            }

            AGAINST_SYMBOL2234 = (pANTLR3_COMMON_TOKEN) MATCHT(AGAINST_SYMBOL, &FOLLOW_AGAINST_SYMBOL_in_match_expression11528);
            if  (HASEXCEPTION())
            {
                goto rulematch_expressionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            AGAINST_SYMBOL2234_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, AGAINST_SYMBOL2234));
            ADAPTOR->addChild(ADAPTOR, root_0, AGAINST_SYMBOL2234_tree);
            }

            OPEN_PAR_SYMBOL2235 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_match_expression11530);
            if  (HASEXCEPTION())
            {
                goto rulematch_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_bitwise_or_expression_in_match_expression11532);
            bitwise_or_expression2236=bitwise_or_expression(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulematch_expressionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, bitwise_or_expression2236.tree);

            // MySQL.g:1984:3: ( IN_SYMBOL BOOLEAN_SYMBOL MODE_SYMBOL | ( IN_SYMBOL NATURAL_SYMBOL LANGUAGE_SYMBOL MODE_SYMBOL )? ( WITH_SYMBOL QUERY_SYMBOL EXPANSION_SYMBOL )? )
            {
                int alt622=2;
                switch ( LA(1) )
                {
                case IN_SYMBOL:
                	{
                		switch ( LA(2) )
                		{
                		case BOOLEAN_SYMBOL:
                			{
                				alt622=1;
                			}
                		    break;
                		case NATURAL_SYMBOL:
                			{
                				alt622=2;
                			}
                		    break;

                		default:
                		    if (BACKTRACKING>0)
                		    {
                		        FAILEDFLAG = ANTLR3_TRUE;
                		        return retval;
                		    }

                		    CONSTRUCTEX();
                		    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                		    EXCEPTION->message      = (void *)"";
                		    EXCEPTION->decisionNum  = 622;
                		    EXCEPTION->state        = 1;


                		    goto rulematch_expressionEx;

                		}

                	}
                    break;
                case CLOSE_PAR_SYMBOL:
                case WITH_SYMBOL:
                	{
                		alt622=2;
                	}
                    break;

                default:
                    if (BACKTRACKING>0)
                    {
                        FAILEDFLAG = ANTLR3_TRUE;
                        return retval;
                    }

                    CONSTRUCTEX();
                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    EXCEPTION->message      = (void *)"";
                    EXCEPTION->decisionNum  = 622;
                    EXCEPTION->state        = 0;


                    goto rulematch_expressionEx;

                }

                switch (alt622)
                {
            	case 1:
            	    // MySQL.g:1985:4: IN_SYMBOL BOOLEAN_SYMBOL MODE_SYMBOL
            	    {
            	        IN_SYMBOL2237 = (pANTLR3_COMMON_TOKEN) MATCHT(IN_SYMBOL, &FOLLOW_IN_SYMBOL_in_match_expression11541);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulematch_expressionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        IN_SYMBOL2237_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, IN_SYMBOL2237));
            	        ADAPTOR->addChild(ADAPTOR, root_0, IN_SYMBOL2237_tree);
            	        }

            	        BOOLEAN_SYMBOL2238 = (pANTLR3_COMMON_TOKEN) MATCHT(BOOLEAN_SYMBOL, &FOLLOW_BOOLEAN_SYMBOL_in_match_expression11543);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulematch_expressionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        BOOLEAN_SYMBOL2238_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, BOOLEAN_SYMBOL2238));
            	        ADAPTOR->addChild(ADAPTOR, root_0, BOOLEAN_SYMBOL2238_tree);
            	        }

            	        MODE_SYMBOL2239 = (pANTLR3_COMMON_TOKEN) MATCHT(MODE_SYMBOL, &FOLLOW_MODE_SYMBOL_in_match_expression11545);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulematch_expressionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        MODE_SYMBOL2239_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MODE_SYMBOL2239));
            	        ADAPTOR->addChild(ADAPTOR, root_0, MODE_SYMBOL2239_tree);
            	        }

            	    }
            	    break;
            	case 2:
            	    // MySQL.g:1986:6: ( IN_SYMBOL NATURAL_SYMBOL LANGUAGE_SYMBOL MODE_SYMBOL )? ( WITH_SYMBOL QUERY_SYMBOL EXPANSION_SYMBOL )?
            	    {
            	        // MySQL.g:1986:6: ( IN_SYMBOL NATURAL_SYMBOL LANGUAGE_SYMBOL MODE_SYMBOL )?
            	        {
            	            int alt620=2;
            	            switch ( LA(1) )
            	            {
            	                case IN_SYMBOL:
            	                	{
            	                		alt620=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt620)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1986:7: IN_SYMBOL NATURAL_SYMBOL LANGUAGE_SYMBOL MODE_SYMBOL
            	        	    {
            	        	        IN_SYMBOL2240 = (pANTLR3_COMMON_TOKEN) MATCHT(IN_SYMBOL, &FOLLOW_IN_SYMBOL_in_match_expression11553);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulematch_expressionEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        IN_SYMBOL2240_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, IN_SYMBOL2240));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, IN_SYMBOL2240_tree);
            	        	        }

            	        	        NATURAL_SYMBOL2241 = (pANTLR3_COMMON_TOKEN) MATCHT(NATURAL_SYMBOL, &FOLLOW_NATURAL_SYMBOL_in_match_expression11555);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulematch_expressionEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        NATURAL_SYMBOL2241_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, NATURAL_SYMBOL2241));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, NATURAL_SYMBOL2241_tree);
            	        	        }

            	        	        LANGUAGE_SYMBOL2242 = (pANTLR3_COMMON_TOKEN) MATCHT(LANGUAGE_SYMBOL, &FOLLOW_LANGUAGE_SYMBOL_in_match_expression11557);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulematch_expressionEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        LANGUAGE_SYMBOL2242_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, LANGUAGE_SYMBOL2242));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, LANGUAGE_SYMBOL2242_tree);
            	        	        }

            	        	        MODE_SYMBOL2243 = (pANTLR3_COMMON_TOKEN) MATCHT(MODE_SYMBOL, &FOLLOW_MODE_SYMBOL_in_match_expression11559);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulematch_expressionEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        MODE_SYMBOL2243_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MODE_SYMBOL2243));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, MODE_SYMBOL2243_tree);
            	        	        }

            	        	    }
            	        	    break;

            	            }
            	        }

            	        // MySQL.g:1986:62: ( WITH_SYMBOL QUERY_SYMBOL EXPANSION_SYMBOL )?
            	        {
            	            int alt621=2;
            	            switch ( LA(1) )
            	            {
            	                case WITH_SYMBOL:
            	                	{
            	                		alt621=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt621)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1986:63: WITH_SYMBOL QUERY_SYMBOL EXPANSION_SYMBOL
            	        	    {
            	        	        WITH_SYMBOL2244 = (pANTLR3_COMMON_TOKEN) MATCHT(WITH_SYMBOL, &FOLLOW_WITH_SYMBOL_in_match_expression11564);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulematch_expressionEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        WITH_SYMBOL2244_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, WITH_SYMBOL2244));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, WITH_SYMBOL2244_tree);
            	        	        }

            	        	        QUERY_SYMBOL2245 = (pANTLR3_COMMON_TOKEN) MATCHT(QUERY_SYMBOL, &FOLLOW_QUERY_SYMBOL_in_match_expression11566);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulematch_expressionEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        QUERY_SYMBOL2245_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, QUERY_SYMBOL2245));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, QUERY_SYMBOL2245_tree);
            	        	        }

            	        	        EXPANSION_SYMBOL2246 = (pANTLR3_COMMON_TOKEN) MATCHT(EXPANSION_SYMBOL, &FOLLOW_EXPANSION_SYMBOL_in_match_expression11568);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulematch_expressionEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        EXPANSION_SYMBOL2246_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EXPANSION_SYMBOL2246));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, EXPANSION_SYMBOL2246_tree);
            	        	        }

            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;

                }
            }

            CLOSE_PAR_SYMBOL2247 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_match_expression11578);
            if  (HASEXCEPTION())
            {
                goto rulematch_expressionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            CLOSE_PAR_SYMBOL2247_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL2247));
            ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL2247_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:1992: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_SYMBOL2248;
    pANTLR3_COMMON_TOKEN    END_SYMBOL2253;
    MySQLParser_expression_return expression2249;
    #undef	RETURN_TYPE_expression2249
    #define	RETURN_TYPE_expression2249 MySQLParser_expression_return

    MySQLParser_when_expression_return when_expression2250;
    #undef	RETURN_TYPE_when_expression2250
    #define	RETURN_TYPE_when_expression2250 MySQLParser_when_expression_return

    MySQLParser_then_expression_return then_expression2251;
    #undef	RETURN_TYPE_then_expression2251
    #define	RETURN_TYPE_then_expression2251 MySQLParser_then_expression_return

    MySQLParser_else_expression_return else_expression2252;
    #undef	RETURN_TYPE_else_expression2252
    #define	RETURN_TYPE_else_expression2252 MySQLParser_else_expression_return

    pANTLR3_BASE_TREE CASE_SYMBOL2248_tree;
    pANTLR3_BASE_TREE END_SYMBOL2253_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    CASE_SYMBOL2248       = NULL;
    END_SYMBOL2253       = NULL;
    expression2249.tree = NULL;

    when_expression2250.tree = NULL;

    then_expression2251.tree = NULL;

    else_expression2252.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    CASE_SYMBOL2248_tree   = NULL;
    END_SYMBOL2253_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1992:16: ( CASE_SYMBOL ( expression )? ( when_expression then_expression )+ ( else_expression )? END_SYMBOL )
        // MySQL.g:1993:2: CASE_SYMBOL ( expression )? ( when_expression then_expression )+ ( else_expression )? END_SYMBOL
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            CASE_SYMBOL2248 = (pANTLR3_COMMON_TOKEN) MATCHT(CASE_SYMBOL, &FOLLOW_CASE_SYMBOL_in_case_expression11588);
            if  (HASEXCEPTION())
            {
                goto rulecase_expressionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            CASE_SYMBOL2248_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CASE_SYMBOL2248));
            ADAPTOR->addChild(ADAPTOR, root_0, CASE_SYMBOL2248_tree);
            }

            // MySQL.g:1993:14: ( expression )?
            {
                int alt623=2;
                {
                    int LA623_0 = LA(1);
                    if ( (LA623_0 == BITWISE_NOT_OPERATOR || LA623_0 == INTERVAL_SYMBOL || LA623_0 == LOGICAL_NOT_OPERATOR || LA623_0 == MINUS_OPERATOR || LA623_0 == NCHAR_TEXT || LA623_0 == NOT2_SYMBOL || LA623_0 == NOT_SYMBOL || LA623_0 == PLUS_OPERATOR || LA623_0 == SINGLE_QUOTED_TEXT || LA623_0 == UNDERSCORE_CHARSET))
                    {
                        alt623=1;
                    }
                    else if ( ((((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES)))||((!SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))))) && (LA623_0 == DOUBLE_QUOTED_TEXT))
                    {
                        alt623=1;
                    }
                    else if ( (LA623_0 == FALSE_SYMBOL || LA623_0 == FLOAT || ((LA623_0 >= HEXNUMBER) && (LA623_0 <= HEXSTRING)) || LA623_0 == INTEGER || LA623_0 == TRUE_SYMBOL))
                    {
                        alt623=1;
                    }
                    else if ( ((SERVER_VERSION >= 50003)) && (((LA623_0 >= BITNUMBER) && (LA623_0 <= BITSTRING))))
                    {
                        alt623=1;
                    }
                    else if ( (((LA623_0 >= ACTION_SYMBOL) && (LA623_0 <= PARTITION_SYMBOL)) || ((LA623_0 >= AT_AT_SIGN_SYMBOL) && (LA623_0 <= AT_SIGN_SYMBOL)) || LA623_0 == BACK_TICK_QUOTED_ID || LA623_0 == BINARY_SYMBOL || ((LA623_0 >= BIT_AND_SYMBOL) && (LA623_0 <= BIT_XOR_SYMBOL)) || ((LA623_0 >= CASE_SYMBOL) && (LA623_0 <= CAST_SYMBOL)) || LA623_0 == CHAR_SYMBOL || ((LA623_0 >= CONVERT_SYMBOL) && (LA623_0 <= COUNT_SYMBOL)) || LA623_0 == CURDATE_SYMBOL || LA623_0 == CURRENT_USER_SYMBOL || LA623_0 == CURTIME_SYMBOL || LA623_0 == DATABASE_SYMBOL || LA623_0 == DATE_ADD_SYMBOL || LA623_0 == DATE_SUB_SYMBOL || LA623_0 == DOT_SYMBOL || LA623_0 == EXISTS_SYMBOL || LA623_0 == EXTRACT_SYMBOL || LA623_0 == GROUP_CONCAT_SYMBOL || ((LA623_0 >= IDENTIFIER) && (LA623_0 <= IF_SYMBOL)) || LA623_0 == INSERT_SYMBOL || LA623_0 == LEFT_SYMBOL || LA623_0 == MATCH_SYMBOL || LA623_0 == MAX_SYMBOL || LA623_0 == MIN_SYMBOL || LA623_0 == MOD_SYMBOL || LA623_0 == NOW_SYMBOL || LA623_0 == NULL2_SYMBOL || LA623_0 == NULL_SYMBOL || ((LA623_0 >= OPEN_CURLY_SYMBOL) && (LA623_0 <= OPEN_PAR_SYMBOL)) || LA623_0 == PARAM_MARKER || LA623_0 == POSITION_SYMBOL || ((LA623_0 >= REPEAT_SYMBOL) && (LA623_0 <= REPLACE_SYMBOL)) || LA623_0 == RIGHT_SYMBOL || LA623_0 == STDDEV_SAMP_SYMBOL || LA623_0 == STD_SYMBOL || LA623_0 == SUBSTRING_SYMBOL || ((LA623_0 >= SUM_SYMBOL) && (LA623_0 <= SYSDATE_SYMBOL)) || LA623_0 == TRIM_SYMBOL || ((LA623_0 >= UTC_DATE_SYMBOL) && (LA623_0 <= VALUES_SYMBOL)) || LA623_0 == VARIANCE_SYMBOL || LA623_0 == VAR_SAMP_SYMBOL))
                    {
                        alt623=1;
                    }
                }
                switch (alt623)
                {
            	case 1:
            	    // MySQL.g:1993:14: expression
            	    {
            	        FOLLOWPUSH(FOLLOW_expression_in_case_expression11590);
            	        expression2249=expression(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecase_expressionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2249.tree);

            	    }
            	    break;

                }
            }

            // MySQL.g:1993:26: ( when_expression then_expression )+
            {
                int cnt624=0;

                for (;;)
                {
                    int alt624=2;
            	switch ( LA(1) )
            	{
            	case WHEN_SYMBOL:
            		{
            			alt624=1;
            		}
            	    break;

            	}

            	switch (alt624)
            	{
            	    case 1:
            	        // MySQL.g:1993:27: when_expression then_expression
            	        {
            	            FOLLOWPUSH(FOLLOW_when_expression_in_case_expression11594);
            	            when_expression2250=when_expression(ctx);

            	            FOLLOWPOP();
            	            if  (HASEXCEPTION())
            	            {
            	                goto rulecase_expressionEx;
            	            }
            	            if (HASFAILED())
            	            {
            	                return retval;
            	            }

            	            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, when_expression2250.tree);

            	            FOLLOWPUSH(FOLLOW_then_expression_in_case_expression11596);
            	            then_expression2251=then_expression(ctx);

            	            FOLLOWPOP();
            	            if  (HASEXCEPTION())
            	            {
            	                goto rulecase_expressionEx;
            	            }
            	            if (HASFAILED())
            	            {
            	                return retval;
            	            }

            	            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, then_expression2251.tree);

            	        }
            	        break;

            	    default:

            		if ( cnt624 >= 1 )
            		{
            		    goto loop624;
            		}
            		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;
            	}
            	cnt624++;
                }
                loop624: ;	/* Jump to here if this rule does not match */
            }

            // MySQL.g:1993:61: ( else_expression )?
            {
                int alt625=2;
                switch ( LA(1) )
                {
                    case ELSE_SYMBOL:
                    	{
                    		alt625=1;
                    	}
                        break;
                }

                switch (alt625)
                {
            	case 1:
            	    // MySQL.g:1993:61: else_expression
            	    {
            	        FOLLOWPUSH(FOLLOW_else_expression_in_case_expression11600);
            	        else_expression2252=else_expression(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecase_expressionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, else_expression2252.tree);

            	    }
            	    break;

                }
            }

            END_SYMBOL2253 = (pANTLR3_COMMON_TOKEN) MATCHT(END_SYMBOL, &FOLLOW_END_SYMBOL_in_case_expression11603);
            if  (HASEXCEPTION())
            {
                goto rulecase_expressionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            END_SYMBOL2253_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, END_SYMBOL2253));
            ADAPTOR->addChild(ADAPTOR, root_0, END_SYMBOL2253_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:1996: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_SYMBOL2254;
    MySQLParser_expression_return expression2255;
    #undef	RETURN_TYPE_expression2255
    #define	RETURN_TYPE_expression2255 MySQLParser_expression_return

    pANTLR3_BASE_TREE WHEN_SYMBOL2254_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    WHEN_SYMBOL2254       = NULL;
    expression2255.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    WHEN_SYMBOL2254_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1996:16: ( WHEN_SYMBOL ^ expression )
        // MySQL.g:1997:2: WHEN_SYMBOL ^ expression
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            WHEN_SYMBOL2254 = (pANTLR3_COMMON_TOKEN) MATCHT(WHEN_SYMBOL, &FOLLOW_WHEN_SYMBOL_in_when_expression11612);
            if  (HASEXCEPTION())
            {
                goto rulewhen_expressionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            WHEN_SYMBOL2254_tree = 
            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, WHEN_SYMBOL2254))
            ;
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, WHEN_SYMBOL2254_tree, root_0));
            }

            FOLLOWPUSH(FOLLOW_expression_in_when_expression11615);
            expression2255=expression(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulewhen_expressionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2255.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:2000: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_SYMBOL2256;
    MySQLParser_expression_return expression2257;
    #undef	RETURN_TYPE_expression2257
    #define	RETURN_TYPE_expression2257 MySQLParser_expression_return

    pANTLR3_BASE_TREE THEN_SYMBOL2256_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    THEN_SYMBOL2256       = NULL;
    expression2257.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    THEN_SYMBOL2256_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2000:16: ( THEN_SYMBOL ^ expression )
        // MySQL.g:2001:2: THEN_SYMBOL ^ expression
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            THEN_SYMBOL2256 = (pANTLR3_COMMON_TOKEN) MATCHT(THEN_SYMBOL, &FOLLOW_THEN_SYMBOL_in_then_expression11624);
            if  (HASEXCEPTION())
            {
                goto rulethen_expressionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            THEN_SYMBOL2256_tree = 
            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, THEN_SYMBOL2256))
            ;
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, THEN_SYMBOL2256_tree, root_0));
            }

            FOLLOWPUSH(FOLLOW_expression_in_then_expression11627);
            expression2257=expression(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulethen_expressionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2257.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:2004: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_SYMBOL2258;
    MySQLParser_expression_return expression2259;
    #undef	RETURN_TYPE_expression2259
    #define	RETURN_TYPE_expression2259 MySQLParser_expression_return

    pANTLR3_BASE_TREE ELSE_SYMBOL2258_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    ELSE_SYMBOL2258       = NULL;
    expression2259.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    ELSE_SYMBOL2258_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2004:16: ( ELSE_SYMBOL ^ expression )
        // MySQL.g:2005:2: ELSE_SYMBOL ^ expression
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            ELSE_SYMBOL2258 = (pANTLR3_COMMON_TOKEN) MATCHT(ELSE_SYMBOL, &FOLLOW_ELSE_SYMBOL_in_else_expression11636);
            if  (HASEXCEPTION())
            {
                goto ruleelse_expressionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            ELSE_SYMBOL2258_tree = 
            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ELSE_SYMBOL2258))
            ;
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, ELSE_SYMBOL2258_tree, root_0));
            }

            FOLLOWPUSH(FOLLOW_expression_in_else_expression11639);
            expression2259=expression(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruleelse_expressionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2259.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:2008: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_SYMBOL2260;
    pANTLR3_COMMON_TOKEN    CAST_SYMBOL2262;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL2263;
    pANTLR3_COMMON_TOKEN    AS_SYMBOL2265;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2267;
    pANTLR3_COMMON_TOKEN    CONVERT_SYMBOL2268;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL2269;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL2271;
    pANTLR3_COMMON_TOKEN    USING_SYMBOL2273;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2275;
    MySQLParser_primary_return primary2261;
    #undef	RETURN_TYPE_primary2261
    #define	RETURN_TYPE_primary2261 MySQLParser_primary_return

    MySQLParser_expression_return expression2264;
    #undef	RETURN_TYPE_expression2264
    #define	RETURN_TYPE_expression2264 MySQLParser_expression_return

    MySQLParser_cast_type_return cast_type2266;
    #undef	RETURN_TYPE_cast_type2266
    #define	RETURN_TYPE_cast_type2266 MySQLParser_cast_type_return

    MySQLParser_expression_return expression2270;
    #undef	RETURN_TYPE_expression2270
    #define	RETURN_TYPE_expression2270 MySQLParser_expression_return

    MySQLParser_cast_type_return cast_type2272;
    #undef	RETURN_TYPE_cast_type2272
    #define	RETURN_TYPE_cast_type2272 MySQLParser_cast_type_return

    MySQLParser_charset_name_return charset_name2274;
    #undef	RETURN_TYPE_charset_name2274
    #define	RETURN_TYPE_charset_name2274 MySQLParser_charset_name_return

    pANTLR3_BASE_TREE BINARY_SYMBOL2260_tree;
    pANTLR3_BASE_TREE CAST_SYMBOL2262_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2263_tree;
    pANTLR3_BASE_TREE AS_SYMBOL2265_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2267_tree;
    pANTLR3_BASE_TREE CONVERT_SYMBOL2268_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2269_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL2271_tree;
    pANTLR3_BASE_TREE USING_SYMBOL2273_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2275_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    BINARY_SYMBOL2260       = NULL;
    CAST_SYMBOL2262       = NULL;
    OPEN_PAR_SYMBOL2263       = NULL;
    AS_SYMBOL2265       = NULL;
    CLOSE_PAR_SYMBOL2267       = NULL;
    CONVERT_SYMBOL2268       = NULL;
    OPEN_PAR_SYMBOL2269       = NULL;
    COMMA_SYMBOL2271       = NULL;
    USING_SYMBOL2273       = NULL;
    CLOSE_PAR_SYMBOL2275       = NULL;
    primary2261.tree = NULL;

    expression2264.tree = NULL;

    cast_type2266.tree = NULL;

    expression2270.tree = NULL;

    cast_type2272.tree = NULL;

    charset_name2274.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    BINARY_SYMBOL2260_tree   = NULL;
    CAST_SYMBOL2262_tree   = NULL;
    OPEN_PAR_SYMBOL2263_tree   = NULL;
    AS_SYMBOL2265_tree   = NULL;
    CLOSE_PAR_SYMBOL2267_tree   = NULL;
    CONVERT_SYMBOL2268_tree   = NULL;
    OPEN_PAR_SYMBOL2269_tree   = NULL;
    COMMA_SYMBOL2271_tree   = NULL;
    USING_SYMBOL2273_tree   = NULL;
    CLOSE_PAR_SYMBOL2275_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:2008: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 alt627;

            alt627=3;

            switch ( LA(1) )
            {
            case BINARY_SYMBOL:
            	{
            		alt627=1;
            	}
                break;
            case CAST_SYMBOL:
            	{
            		alt627=2;
            	}
                break;
            case CONVERT_SYMBOL:
            	{
            		alt627=3;
            	}
                break;

            default:
                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 rulecast_expressionEx;

            }

            switch (alt627)
            {
        	case 1:
        	    // MySQL.g:2009:2: BINARY_SYMBOL primary
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        BINARY_SYMBOL2260 = (pANTLR3_COMMON_TOKEN) MATCHT(BINARY_SYMBOL, &FOLLOW_BINARY_SYMBOL_in_cast_expression11648);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecast_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        BINARY_SYMBOL2260_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, BINARY_SYMBOL2260));
        	        ADAPTOR->addChild(ADAPTOR, root_0, BINARY_SYMBOL2260_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_primary_in_cast_expression11650);
        	        primary2261=primary(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecast_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, primary2261.tree);

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:2010:4: CAST_SYMBOL OPEN_PAR_SYMBOL expression AS_SYMBOL cast_type CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        CAST_SYMBOL2262 = (pANTLR3_COMMON_TOKEN) MATCHT(CAST_SYMBOL, &FOLLOW_CAST_SYMBOL_in_cast_expression11655);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecast_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CAST_SYMBOL2262_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CAST_SYMBOL2262));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CAST_SYMBOL2262_tree);
        	        }

        	        OPEN_PAR_SYMBOL2263 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_cast_expression11657);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecast_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL2263_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL2263));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL2263_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_cast_expression11659);
        	        expression2264=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecast_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2264.tree);

        	        AS_SYMBOL2265 = (pANTLR3_COMMON_TOKEN) MATCHT(AS_SYMBOL, &FOLLOW_AS_SYMBOL_in_cast_expression11661);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecast_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        AS_SYMBOL2265_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, AS_SYMBOL2265));
        	        ADAPTOR->addChild(ADAPTOR, root_0, AS_SYMBOL2265_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_cast_type_in_cast_expression11663);
        	        cast_type2266=cast_type(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecast_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, cast_type2266.tree);

        	        CLOSE_PAR_SYMBOL2267 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_cast_expression11665);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecast_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL2267_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL2267));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL2267_tree);
        	        }

        	    }
        	    break;
        	case 3:
        	    // MySQL.g:2011: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_SYMBOL2268 = (pANTLR3_COMMON_TOKEN) MATCHT(CONVERT_SYMBOL, &FOLLOW_CONVERT_SYMBOL_in_cast_expression11670);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecast_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CONVERT_SYMBOL2268_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CONVERT_SYMBOL2268));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CONVERT_SYMBOL2268_tree);
        	        }

        	        OPEN_PAR_SYMBOL2269 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_cast_expression11672);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecast_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL2269_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL2269));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL2269_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_cast_expression11674);
        	        expression2270=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecast_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2270.tree);

        	        // MySQL.g:2011:46: ( COMMA_SYMBOL cast_type | USING_SYMBOL charset_name )
        	        {
        	            int alt626=2;
        	            switch ( LA(1) )
        	            {
        	            case COMMA_SYMBOL:
        	            	{
        	            		alt626=1;
        	            	}
        	                break;
        	            case USING_SYMBOL:
        	            	{
        	            		alt626=2;
        	            	}
        	                break;

        	            default:
        	                if (BACKTRACKING>0)
        	                {
        	                    FAILEDFLAG = ANTLR3_TRUE;
        	                    return retval;
        	                }

        	                CONSTRUCTEX();
        	                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                EXCEPTION->message      = (void *)"";
        	                EXCEPTION->decisionNum  = 626;
        	                EXCEPTION->state        = 0;


        	                goto rulecast_expressionEx;

        	            }

        	            switch (alt626)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2011:47: COMMA_SYMBOL cast_type
        	        	    {
        	        	        COMMA_SYMBOL2271 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_cast_expression11677);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulecast_expressionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        COMMA_SYMBOL2271_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL2271));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL2271_tree);
        	        	        }

        	        	        FOLLOWPUSH(FOLLOW_cast_type_in_cast_expression11679);
        	        	        cast_type2272=cast_type(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulecast_expressionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, cast_type2272.tree);

        	        	    }
        	        	    break;
        	        	case 2:
        	        	    // MySQL.g:2011:72: USING_SYMBOL charset_name
        	        	    {
        	        	        USING_SYMBOL2273 = (pANTLR3_COMMON_TOKEN) MATCHT(USING_SYMBOL, &FOLLOW_USING_SYMBOL_in_cast_expression11683);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulecast_expressionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        USING_SYMBOL2273_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, USING_SYMBOL2273));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, USING_SYMBOL2273_tree);
        	        	        }

        	        	        FOLLOWPUSH(FOLLOW_charset_name_in_cast_expression11685);
        	        	        charset_name2274=charset_name(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulecast_expressionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, charset_name2274.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	        CLOSE_PAR_SYMBOL2275 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_cast_expression11688);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecast_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL2275_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL2275));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL2275_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:2014: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_SYMBOL2276;
    pANTLR3_COMMON_TOKEN    CHAR_SYMBOL2278;
    pANTLR3_COMMON_TOKEN    NCHAR_SYMBOL2281;
    pANTLR3_COMMON_TOKEN    SIGNED_SYMBOL2283;
    pANTLR3_COMMON_TOKEN    INT_SYMBOL2284;
    pANTLR3_COMMON_TOKEN    UNSIGNED_SYMBOL2285;
    pANTLR3_COMMON_TOKEN    INT_SYMBOL2286;
    pANTLR3_COMMON_TOKEN    DATE_SYMBOL2287;
    pANTLR3_COMMON_TOKEN    TIME_SYMBOL2288;
    pANTLR3_COMMON_TOKEN    DATETIME_SYMBOL2290;
    pANTLR3_COMMON_TOKEN    DECIMAL_SYMBOL2292;
    MySQLParser_field_length_return field_length2277;
    #undef	RETURN_TYPE_field_length2277
    #define	RETURN_TYPE_field_length2277 MySQLParser_field_length_return

    MySQLParser_field_length_return field_length2279;
    #undef	RETURN_TYPE_field_length2279
    #define	RETURN_TYPE_field_length2279 MySQLParser_field_length_return

    MySQLParser_encoding_return encoding2280;
    #undef	RETURN_TYPE_encoding2280
    #define	RETURN_TYPE_encoding2280 MySQLParser_encoding_return

    MySQLParser_field_length_return field_length2282;
    #undef	RETURN_TYPE_field_length2282
    #define	RETURN_TYPE_field_length2282 MySQLParser_field_length_return

    MySQLParser_type_datetime_precision_return type_datetime_precision2289;
    #undef	RETURN_TYPE_type_datetime_precision2289
    #define	RETURN_TYPE_type_datetime_precision2289 MySQLParser_type_datetime_precision_return

    MySQLParser_type_datetime_precision_return type_datetime_precision2291;
    #undef	RETURN_TYPE_type_datetime_precision2291
    #define	RETURN_TYPE_type_datetime_precision2291 MySQLParser_type_datetime_precision_return

    MySQLParser_float_options_return float_options2293;
    #undef	RETURN_TYPE_float_options2293
    #define	RETURN_TYPE_float_options2293 MySQLParser_float_options_return

    pANTLR3_BASE_TREE BINARY_SYMBOL2276_tree;
    pANTLR3_BASE_TREE CHAR_SYMBOL2278_tree;
    pANTLR3_BASE_TREE NCHAR_SYMBOL2281_tree;
    pANTLR3_BASE_TREE SIGNED_SYMBOL2283_tree;
    pANTLR3_BASE_TREE INT_SYMBOL2284_tree;
    pANTLR3_BASE_TREE UNSIGNED_SYMBOL2285_tree;
    pANTLR3_BASE_TREE INT_SYMBOL2286_tree;
    pANTLR3_BASE_TREE DATE_SYMBOL2287_tree;
    pANTLR3_BASE_TREE TIME_SYMBOL2288_tree;
    pANTLR3_BASE_TREE DATETIME_SYMBOL2290_tree;
    pANTLR3_BASE_TREE DECIMAL_SYMBOL2292_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    BINARY_SYMBOL2276       = NULL;
    CHAR_SYMBOL2278       = NULL;
    NCHAR_SYMBOL2281       = NULL;
    SIGNED_SYMBOL2283       = NULL;
    INT_SYMBOL2284       = NULL;
    UNSIGNED_SYMBOL2285       = NULL;
    INT_SYMBOL2286       = NULL;
    DATE_SYMBOL2287       = NULL;
    TIME_SYMBOL2288       = NULL;
    DATETIME_SYMBOL2290       = NULL;
    DECIMAL_SYMBOL2292       = NULL;
    field_length2277.tree = NULL;

    field_length2279.tree = NULL;

    encoding2280.tree = NULL;

    field_length2282.tree = NULL;

    type_datetime_precision2289.tree = NULL;

    type_datetime_precision2291.tree = NULL;

    float_options2293.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    BINARY_SYMBOL2276_tree   = NULL;
    CHAR_SYMBOL2278_tree   = NULL;
    NCHAR_SYMBOL2281_tree   = NULL;
    SIGNED_SYMBOL2283_tree   = NULL;
    INT_SYMBOL2284_tree   = NULL;
    UNSIGNED_SYMBOL2285_tree   = NULL;
    INT_SYMBOL2286_tree   = NULL;
    DATE_SYMBOL2287_tree   = NULL;
    TIME_SYMBOL2288_tree   = NULL;
    DATETIME_SYMBOL2290_tree   = NULL;
    DECIMAL_SYMBOL2292_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:2014: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 alt637;

            alt637=9;

            switch ( LA(1) )
            {
            case BINARY_SYMBOL:
            	{
            		alt637=1;
            	}
                break;
            case CHAR_SYMBOL:
            	{
            		alt637=2;
            	}
                break;
            case NCHAR_SYMBOL:
            	{
            		alt637=3;
            	}
                break;
            case SIGNED_SYMBOL:
            	{
            		alt637=4;
            	}
                break;
            case UNSIGNED_SYMBOL:
            	{
            		alt637=5;
            	}
                break;
            case DATE_SYMBOL:
            	{
            		alt637=6;
            	}
                break;
            case TIME_SYMBOL:
            	{
            		alt637=7;
            	}
                break;
            case DATETIME_SYMBOL:
            	{
            		alt637=8;
            	}
                break;
            case DECIMAL_SYMBOL:
            	{
            		alt637=9;
            	}
                break;

            default:
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                EXCEPTION->message      = (void *)"";
                EXCEPTION->decisionNum  = 637;
                EXCEPTION->state        = 0;


                goto rulecast_typeEx;

            }

            switch (alt637)
            {
        	case 1:
        	    // MySQL.g:2015:2: BINARY_SYMBOL ( field_length )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        BINARY_SYMBOL2276 = (pANTLR3_COMMON_TOKEN) MATCHT(BINARY_SYMBOL, &FOLLOW_BINARY_SYMBOL_in_cast_type11697);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecast_typeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        BINARY_SYMBOL2276_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, BINARY_SYMBOL2276));
        	        ADAPTOR->addChild(ADAPTOR, root_0, BINARY_SYMBOL2276_tree);
        	        }

        	        // MySQL.g:2015:16: ( field_length )?
        	        {
        	            int alt628=2;
        	            switch ( LA(1) )
        	            {
        	                case OPEN_PAR_SYMBOL:
        	                	{
        	                		alt628=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt628)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2015:16: field_length
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_field_length_in_cast_type11699);
        	        	        field_length2277=field_length(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulecast_typeEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, field_length2277.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:2016:4: CHAR_SYMBOL ( field_length )? ( encoding )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        CHAR_SYMBOL2278 = (pANTLR3_COMMON_TOKEN) MATCHT(CHAR_SYMBOL, &FOLLOW_CHAR_SYMBOL_in_cast_type11705);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecast_typeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CHAR_SYMBOL2278_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CHAR_SYMBOL2278));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CHAR_SYMBOL2278_tree);
        	        }

        	        // MySQL.g:2016:16: ( field_length )?
        	        {
        	            int alt629=2;
        	            switch ( LA(1) )
        	            {
        	                case OPEN_PAR_SYMBOL:
        	                	{
        	                		alt629=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt629)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2016:16: field_length
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_field_length_in_cast_type11707);
        	        	        field_length2279=field_length(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulecast_typeEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, field_length2279.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	        // MySQL.g:2016:30: ( encoding )?
        	        {
        	            int alt630=2;
        	            switch ( LA(1) )
        	            {
        	                case ASCII_SYMBOL:
        	                case BYTE_SYMBOL:
        	                case CHARSET_SYMBOL:
        	                case UNICODE_SYMBOL:
        	                case BINARY_SYMBOL:
        	                case CHAR_SYMBOL:
        	                	{
        	                		alt630=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt630)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2016:30: encoding
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_encoding_in_cast_type11710);
        	        	        encoding2280=encoding(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulecast_typeEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, encoding2280.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 3:
        	    // MySQL.g:2017:4: NCHAR_SYMBOL ( field_length )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        NCHAR_SYMBOL2281 = (pANTLR3_COMMON_TOKEN) MATCHT(NCHAR_SYMBOL, &FOLLOW_NCHAR_SYMBOL_in_cast_type11716);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecast_typeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        NCHAR_SYMBOL2281_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, NCHAR_SYMBOL2281));
        	        ADAPTOR->addChild(ADAPTOR, root_0, NCHAR_SYMBOL2281_tree);
        	        }

        	        // MySQL.g:2017:17: ( field_length )?
        	        {
        	            int alt631=2;
        	            switch ( LA(1) )
        	            {
        	                case OPEN_PAR_SYMBOL:
        	                	{
        	                		alt631=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt631)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2017:17: field_length
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_field_length_in_cast_type11718);
        	        	        field_length2282=field_length(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulecast_typeEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, field_length2282.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 4:
        	    // MySQL.g:2018:4: SIGNED_SYMBOL ( INT_SYMBOL )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        SIGNED_SYMBOL2283 = (pANTLR3_COMMON_TOKEN) MATCHT(SIGNED_SYMBOL, &FOLLOW_SIGNED_SYMBOL_in_cast_type11724);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecast_typeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        SIGNED_SYMBOL2283_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SIGNED_SYMBOL2283));
        	        ADAPTOR->addChild(ADAPTOR, root_0, SIGNED_SYMBOL2283_tree);
        	        }

        	        // MySQL.g:2018:18: ( INT_SYMBOL )?
        	        {
        	            int alt632=2;
        	            switch ( LA(1) )
        	            {
        	                case INT_SYMBOL:
        	                	{
        	                		alt632=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt632)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2018:18: INT_SYMBOL
        	        	    {
        	        	        INT_SYMBOL2284 = (pANTLR3_COMMON_TOKEN) MATCHT(INT_SYMBOL, &FOLLOW_INT_SYMBOL_in_cast_type11726);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulecast_typeEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        INT_SYMBOL2284_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INT_SYMBOL2284));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, INT_SYMBOL2284_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 5:
        	    // MySQL.g:2019:4: UNSIGNED_SYMBOL ( INT_SYMBOL )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        UNSIGNED_SYMBOL2285 = (pANTLR3_COMMON_TOKEN) MATCHT(UNSIGNED_SYMBOL, &FOLLOW_UNSIGNED_SYMBOL_in_cast_type11732);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecast_typeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        UNSIGNED_SYMBOL2285_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, UNSIGNED_SYMBOL2285));
        	        ADAPTOR->addChild(ADAPTOR, root_0, UNSIGNED_SYMBOL2285_tree);
        	        }

        	        // MySQL.g:2019:20: ( INT_SYMBOL )?
        	        {
        	            int alt633=2;
        	            switch ( LA(1) )
        	            {
        	                case INT_SYMBOL:
        	                	{
        	                		alt633=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt633)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2019:20: INT_SYMBOL
        	        	    {
        	        	        INT_SYMBOL2286 = (pANTLR3_COMMON_TOKEN) MATCHT(INT_SYMBOL, &FOLLOW_INT_SYMBOL_in_cast_type11734);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulecast_typeEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        INT_SYMBOL2286_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INT_SYMBOL2286));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, INT_SYMBOL2286_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 6:
        	    // MySQL.g:2020:4: DATE_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        DATE_SYMBOL2287 = (pANTLR3_COMMON_TOKEN) MATCHT(DATE_SYMBOL, &FOLLOW_DATE_SYMBOL_in_cast_type11740);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecast_typeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        DATE_SYMBOL2287_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DATE_SYMBOL2287));
        	        ADAPTOR->addChild(ADAPTOR, root_0, DATE_SYMBOL2287_tree);
        	        }

        	    }
        	    break;
        	case 7:
        	    // MySQL.g:2021:4: TIME_SYMBOL ( type_datetime_precision )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        TIME_SYMBOL2288 = (pANTLR3_COMMON_TOKEN) MATCHT(TIME_SYMBOL, &FOLLOW_TIME_SYMBOL_in_cast_type11745);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecast_typeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        TIME_SYMBOL2288_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, TIME_SYMBOL2288));
        	        ADAPTOR->addChild(ADAPTOR, root_0, TIME_SYMBOL2288_tree);
        	        }

        	        // MySQL.g:2021:16: ( type_datetime_precision )?
        	        {
        	            int alt634=2;
        	            {
        	                int LA634_0 = LA(1);
        	                if ( ((SERVER_VERSION >= 50600)) && (LA634_0 == OPEN_PAR_SYMBOL))
        	                {
        	                    alt634=1;
        	                }
        	            }
        	            switch (alt634)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2021:16: type_datetime_precision
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_type_datetime_precision_in_cast_type11747);
        	        	        type_datetime_precision2289=type_datetime_precision(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulecast_typeEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, type_datetime_precision2289.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 8:
        	    // MySQL.g:2022:4: DATETIME_SYMBOL ( type_datetime_precision )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        DATETIME_SYMBOL2290 = (pANTLR3_COMMON_TOKEN) MATCHT(DATETIME_SYMBOL, &FOLLOW_DATETIME_SYMBOL_in_cast_type11753);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecast_typeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        DATETIME_SYMBOL2290_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DATETIME_SYMBOL2290));
        	        ADAPTOR->addChild(ADAPTOR, root_0, DATETIME_SYMBOL2290_tree);
        	        }

        	        // MySQL.g:2022:20: ( type_datetime_precision )?
        	        {
        	            int alt635=2;
        	            {
        	                int LA635_0 = LA(1);
        	                if ( ((SERVER_VERSION >= 50600)) && (LA635_0 == OPEN_PAR_SYMBOL))
        	                {
        	                    alt635=1;
        	                }
        	            }
        	            switch (alt635)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2022:20: type_datetime_precision
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_type_datetime_precision_in_cast_type11755);
        	        	        type_datetime_precision2291=type_datetime_precision(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulecast_typeEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, type_datetime_precision2291.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 9:
        	    // MySQL.g:2023:4: DECIMAL_SYMBOL ( float_options )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        DECIMAL_SYMBOL2292 = (pANTLR3_COMMON_TOKEN) MATCHT(DECIMAL_SYMBOL, &FOLLOW_DECIMAL_SYMBOL_in_cast_type11761);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecast_typeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        DECIMAL_SYMBOL2292_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DECIMAL_SYMBOL2292));
        	        ADAPTOR->addChild(ADAPTOR, root_0, DECIMAL_SYMBOL2292_tree);
        	        }

        	        // MySQL.g:2023:19: ( float_options )?
        	        {
        	            int alt636=2;
        	            switch ( LA(1) )
        	            {
        	                case OPEN_PAR_SYMBOL:
        	                	{
        	                		alt636=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt636)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2023:19: float_options
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_float_options_in_cast_type11763);
        	        	        float_options2293=float_options(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulecast_typeEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, float_options2293.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:2026: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_SYMBOL2294;
    pANTLR3_COMMON_TOKEN    BINARY_SYMBOL2295;
    pANTLR3_COMMON_TOKEN    BINARY_SYMBOL2296;
    pANTLR3_COMMON_TOKEN    ASCII_SYMBOL2297;
    pANTLR3_COMMON_TOKEN    UNICODE_SYMBOL2298;
    pANTLR3_COMMON_TOKEN    UNICODE_SYMBOL2301;
    pANTLR3_COMMON_TOKEN    BINARY_SYMBOL2302;
    pANTLR3_COMMON_TOKEN    BYTE_SYMBOL2303;
    pANTLR3_COMMON_TOKEN    BINARY_SYMBOL2306;
    MySQLParser_charset_return charset2299;
    #undef	RETURN_TYPE_charset2299
    #define	RETURN_TYPE_charset2299 MySQLParser_charset_return

    MySQLParser_charset_name_return charset_name2300;
    #undef	RETURN_TYPE_charset_name2300
    #define	RETURN_TYPE_charset_name2300 MySQLParser_charset_name_return

    MySQLParser_charset_return charset2304;
    #undef	RETURN_TYPE_charset2304
    #define	RETURN_TYPE_charset2304 MySQLParser_charset_return

    MySQLParser_charset_name_return charset_name2305;
    #undef	RETURN_TYPE_charset_name2305
    #define	RETURN_TYPE_charset_name2305 MySQLParser_charset_name_return

    pANTLR3_BASE_TREE ASCII_SYMBOL2294_tree;
    pANTLR3_BASE_TREE BINARY_SYMBOL2295_tree;
    pANTLR3_BASE_TREE BINARY_SYMBOL2296_tree;
    pANTLR3_BASE_TREE ASCII_SYMBOL2297_tree;
    pANTLR3_BASE_TREE UNICODE_SYMBOL2298_tree;
    pANTLR3_BASE_TREE UNICODE_SYMBOL2301_tree;
    pANTLR3_BASE_TREE BINARY_SYMBOL2302_tree;
    pANTLR3_BASE_TREE BYTE_SYMBOL2303_tree;
    pANTLR3_BASE_TREE BINARY_SYMBOL2306_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    ASCII_SYMBOL2294       = NULL;
    BINARY_SYMBOL2295       = NULL;
    BINARY_SYMBOL2296       = NULL;
    ASCII_SYMBOL2297       = NULL;
    UNICODE_SYMBOL2298       = NULL;
    UNICODE_SYMBOL2301       = NULL;
    BINARY_SYMBOL2302       = NULL;
    BYTE_SYMBOL2303       = NULL;
    BINARY_SYMBOL2306       = NULL;
    charset2299.tree = NULL;

    charset_name2300.tree = NULL;

    charset2304.tree = NULL;

    charset_name2305.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    ASCII_SYMBOL2294_tree   = NULL;
    BINARY_SYMBOL2295_tree   = NULL;
    BINARY_SYMBOL2296_tree   = NULL;
    ASCII_SYMBOL2297_tree   = NULL;
    UNICODE_SYMBOL2298_tree   = NULL;
    UNICODE_SYMBOL2301_tree   = NULL;
    BINARY_SYMBOL2302_tree   = NULL;
    BYTE_SYMBOL2303_tree   = NULL;
    BINARY_SYMBOL2306_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:2026: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 alt642;

            alt642=5;

            switch ( LA(1) )
            {
            case ASCII_SYMBOL:
            	{
            		alt642=1;
            	}
                break;
            case BINARY_SYMBOL:
            	{
            		alt642=2;
            	}
                break;
            case UNICODE_SYMBOL:
            	{
            		alt642=3;
            	}
                break;
            case BYTE_SYMBOL:
            	{
            		alt642=4;
            	}
                break;
            case CHARSET_SYMBOL:
            case CHAR_SYMBOL:
            	{
            		alt642=5;
            	}
                break;

            default:
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                EXCEPTION->message      = (void *)"";
                EXCEPTION->decisionNum  = 642;
                EXCEPTION->state        = 0;


                goto ruleencodingEx;

            }

            switch (alt642)
            {
        	case 1:
        	    // MySQL.g:2027:2: ASCII_SYMBOL ( BINARY_SYMBOL )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        ASCII_SYMBOL2294 = (pANTLR3_COMMON_TOKEN) MATCHT(ASCII_SYMBOL, &FOLLOW_ASCII_SYMBOL_in_encoding11773);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleencodingEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        ASCII_SYMBOL2294_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ASCII_SYMBOL2294));
        	        ADAPTOR->addChild(ADAPTOR, root_0, ASCII_SYMBOL2294_tree);
        	        }

        	        // MySQL.g:2027:15: ( BINARY_SYMBOL )?
        	        {
        	            int alt638=2;
        	            switch ( LA(1) )
        	            {
        	                case BINARY_SYMBOL:
        	                	{
        	                		alt638=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt638)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2027:15: BINARY_SYMBOL
        	        	    {
        	        	        BINARY_SYMBOL2295 = (pANTLR3_COMMON_TOKEN) MATCHT(BINARY_SYMBOL, &FOLLOW_BINARY_SYMBOL_in_encoding11775);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleencodingEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        BINARY_SYMBOL2295_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, BINARY_SYMBOL2295));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, BINARY_SYMBOL2295_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:2028:4: BINARY_SYMBOL ( ASCII_SYMBOL | UNICODE_SYMBOL | charset charset_name )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        BINARY_SYMBOL2296 = (pANTLR3_COMMON_TOKEN) MATCHT(BINARY_SYMBOL, &FOLLOW_BINARY_SYMBOL_in_encoding11781);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleencodingEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        BINARY_SYMBOL2296_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, BINARY_SYMBOL2296));
        	        ADAPTOR->addChild(ADAPTOR, root_0, BINARY_SYMBOL2296_tree);
        	        }

        	        // MySQL.g:2028:18: ( ASCII_SYMBOL | UNICODE_SYMBOL | charset charset_name )?
        	        {
        	            int alt639=4;
        	            switch ( LA(1) )
        	            {
        	                case ASCII_SYMBOL:
        	                	{
        	                		alt639=1;
        	                	}
        	                    break;
        	                case UNICODE_SYMBOL:
        	                	{
        	                		alt639=2;
        	                	}
        	                    break;
        	                case CHARSET_SYMBOL:
        	                case CHAR_SYMBOL:
        	                	{
        	                		alt639=3;
        	                	}
        	                    break;
        	            }

        	            switch (alt639)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2028:19: ASCII_SYMBOL
        	        	    {
        	        	        ASCII_SYMBOL2297 = (pANTLR3_COMMON_TOKEN) MATCHT(ASCII_SYMBOL, &FOLLOW_ASCII_SYMBOL_in_encoding11784);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleencodingEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        ASCII_SYMBOL2297_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ASCII_SYMBOL2297));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, ASCII_SYMBOL2297_tree);
        	        	        }

        	        	    }
        	        	    break;
        	        	case 2:
        	        	    // MySQL.g:2028:34: UNICODE_SYMBOL
        	        	    {
        	        	        UNICODE_SYMBOL2298 = (pANTLR3_COMMON_TOKEN) MATCHT(UNICODE_SYMBOL, &FOLLOW_UNICODE_SYMBOL_in_encoding11788);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleencodingEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        UNICODE_SYMBOL2298_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, UNICODE_SYMBOL2298));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, UNICODE_SYMBOL2298_tree);
        	        	        }

        	        	    }
        	        	    break;
        	        	case 3:
        	        	    // MySQL.g:2028:51: charset charset_name
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_charset_in_encoding11792);
        	        	        charset2299=charset(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleencodingEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, charset2299.tree);

        	        	        FOLLOWPUSH(FOLLOW_charset_name_in_encoding11794);
        	        	        charset_name2300=charset_name(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleencodingEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, charset_name2300.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 3:
        	    // MySQL.g:2029:4: UNICODE_SYMBOL ( BINARY_SYMBOL )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        UNICODE_SYMBOL2301 = (pANTLR3_COMMON_TOKEN) MATCHT(UNICODE_SYMBOL, &FOLLOW_UNICODE_SYMBOL_in_encoding11801);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleencodingEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        UNICODE_SYMBOL2301_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, UNICODE_SYMBOL2301));
        	        ADAPTOR->addChild(ADAPTOR, root_0, UNICODE_SYMBOL2301_tree);
        	        }

        	        // MySQL.g:2029:19: ( BINARY_SYMBOL )?
        	        {
        	            int alt640=2;
        	            switch ( LA(1) )
        	            {
        	                case BINARY_SYMBOL:
        	                	{
        	                		alt640=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt640)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2029:19: BINARY_SYMBOL
        	        	    {
        	        	        BINARY_SYMBOL2302 = (pANTLR3_COMMON_TOKEN) MATCHT(BINARY_SYMBOL, &FOLLOW_BINARY_SYMBOL_in_encoding11803);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleencodingEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        BINARY_SYMBOL2302_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, BINARY_SYMBOL2302));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, BINARY_SYMBOL2302_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 4:
        	    // MySQL.g:2030:4: BYTE_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        BYTE_SYMBOL2303 = (pANTLR3_COMMON_TOKEN) MATCHT(BYTE_SYMBOL, &FOLLOW_BYTE_SYMBOL_in_encoding11809);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleencodingEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        BYTE_SYMBOL2303_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, BYTE_SYMBOL2303));
        	        ADAPTOR->addChild(ADAPTOR, root_0, BYTE_SYMBOL2303_tree);
        	        }

        	    }
        	    break;
        	case 5:
        	    // MySQL.g:2031:4: charset charset_name ( BINARY_SYMBOL )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_charset_in_encoding11814);
        	        charset2304=charset(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleencodingEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, charset2304.tree);

        	        FOLLOWPUSH(FOLLOW_charset_name_in_encoding11816);
        	        charset_name2305=charset_name(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleencodingEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, charset_name2305.tree);

        	        // MySQL.g:2031:25: ( BINARY_SYMBOL )?
        	        {
        	            int alt641=2;
        	            switch ( LA(1) )
        	            {
        	                case BINARY_SYMBOL:
        	                	{
        	                		alt641=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt641)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2031:25: BINARY_SYMBOL
        	        	    {
        	        	        BINARY_SYMBOL2306 = (pANTLR3_COMMON_TOKEN) MATCHT(BINARY_SYMBOL, &FOLLOW_BINARY_SYMBOL_in_encoding11818);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleencodingEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        BINARY_SYMBOL2306_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, BINARY_SYMBOL2306));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, BINARY_SYMBOL2306_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:2034: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_SYMBOL2307;
    pANTLR3_COMMON_TOKEN    SET_SYMBOL2308;
    pANTLR3_COMMON_TOKEN    CHARSET_SYMBOL2309;

    pANTLR3_BASE_TREE CHAR_SYMBOL2307_tree;
    pANTLR3_BASE_TREE SET_SYMBOL2308_tree;
    pANTLR3_BASE_TREE CHARSET_SYMBOL2309_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    CHAR_SYMBOL2307       = NULL;
    SET_SYMBOL2308       = NULL;
    CHARSET_SYMBOL2309       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    CHAR_SYMBOL2307_tree   = NULL;
    SET_SYMBOL2308_tree   = NULL;
    CHARSET_SYMBOL2309_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:2034:8: ( CHAR_SYMBOL SET_SYMBOL | CHARSET_SYMBOL )

            ANTLR3_UINT32 alt643;

            alt643=2;

            switch ( LA(1) )
            {
            case CHAR_SYMBOL:
            	{
            		alt643=1;
            	}
                break;
            case CHARSET_SYMBOL:
            	{
            		alt643=2;
            	}
                break;

            default:
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                EXCEPTION->message      = (void *)"";
                EXCEPTION->decisionNum  = 643;
                EXCEPTION->state        = 0;


                goto rulecharsetEx;

            }

            switch (alt643)
            {
        	case 1:
        	    // MySQL.g:2035:2: CHAR_SYMBOL SET_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        CHAR_SYMBOL2307 = (pANTLR3_COMMON_TOKEN) MATCHT(CHAR_SYMBOL, &FOLLOW_CHAR_SYMBOL_in_charset11828);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecharsetEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CHAR_SYMBOL2307_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CHAR_SYMBOL2307));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CHAR_SYMBOL2307_tree);
        	        }

        	        SET_SYMBOL2308 = (pANTLR3_COMMON_TOKEN) MATCHT(SET_SYMBOL, &FOLLOW_SET_SYMBOL_in_charset11830);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecharsetEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        SET_SYMBOL2308_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SET_SYMBOL2308));
        	        ADAPTOR->addChild(ADAPTOR, root_0, SET_SYMBOL2308_tree);
        	        }

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:2035:27: CHARSET_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        CHARSET_SYMBOL2309 = (pANTLR3_COMMON_TOKEN) MATCHT(CHARSET_SYMBOL, &FOLLOW_CHARSET_SYMBOL_in_charset11834);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecharsetEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CHARSET_SYMBOL2309_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CHARSET_SYMBOL2309));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CHARSET_SYMBOL2309_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:2038: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    set2310;

    pANTLR3_BASE_TREE set2310_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    set2310       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    set2310_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2038:9: ( NOT_SYMBOL | NOT2_SYMBOL )
        // MySQL.g:
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            set2310=(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, set2310))
                );
                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:2043: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    set2311;

    pANTLR3_BASE_TREE set2311_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    set2311       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    set2311_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2043:10: ( LOGICAL_NOT_OPERATOR | NOT2_SYMBOL )
        // MySQL.g:
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            set2311=(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, set2311))
                );
                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:2048: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    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:2048:8: ( OR_SYMBOL | LOGICAL_OR_OPERATOR )
        // MySQL.g:
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            set2312=(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, 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 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:2053: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    set2313;

    pANTLR3_BASE_TREE set2313_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    set2313       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    set2313_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2053:9: ( XOR_SYMBOL | BITWISE_XOR_OPERATOR )
        // MySQL.g:
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            set2313=(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, set2313))
                );
                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:2058: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    set2314;

    pANTLR3_BASE_TREE set2314_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    set2314       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    set2314_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2058:9: ( AND_SYMBOL | LOGICAL_AND_OPERATOR )
        // MySQL.g:
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            set2314=(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, set2314))
                );
                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:2063:1: interval : expression interval_unit ;
 */
static MySQLParser_interval_return
interval(pMySQLParser ctx)
{
    MySQLParser_interval_return retval;


    pANTLR3_BASE_TREE root_0;

    MySQLParser_expression_return expression2315;
    #undef	RETURN_TYPE_expression2315
    #define	RETURN_TYPE_expression2315 MySQLParser_expression_return

    MySQLParser_interval_unit_return interval_unit2316;
    #undef	RETURN_TYPE_interval_unit2316
    #define	RETURN_TYPE_interval_unit2316 MySQLParser_interval_unit_return


    /* Initialize rule variables
     */

    root_0 = NULL;

    expression2315.tree = NULL;

    interval_unit2316.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;




    retval.tree  = NULL;

    {
        // MySQL.g:2063:9: ( expression interval_unit )
        // MySQL.g:2064:3: expression interval_unit
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            FOLLOWPUSH(FOLLOW_expression_in_interval11915);
            expression2315=expression(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruleintervalEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2315.tree);

            FOLLOWPUSH(FOLLOW_interval_unit_in_interval11917);
            interval_unit2316=interval_unit(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruleintervalEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, interval_unit2316.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:2068: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_SYMBOL2318;
    pANTLR3_COMMON_TOKEN    MINUTE_MICROSECOND_SYMBOL2319;
    pANTLR3_COMMON_TOKEN    MINUTE_SECOND_SYMBOL2320;
    pANTLR3_COMMON_TOKEN    HOUR_MICROSECOND_SYMBOL2321;
    pANTLR3_COMMON_TOKEN    HOUR_SECOND_SYMBOL2322;
    pANTLR3_COMMON_TOKEN    HOUR_MINUTE_SYMBOL2323;
    pANTLR3_COMMON_TOKEN    DAY_MICROSECOND_SYMBOL2324;
    pANTLR3_COMMON_TOKEN    DAY_SECOND_SYMBOL2325;
    pANTLR3_COMMON_TOKEN    DAY_MINUTE_SYMBOL2326;
    pANTLR3_COMMON_TOKEN    DAY_HOUR_SYMBOL2327;
    pANTLR3_COMMON_TOKEN    YEAR_MONTH_SYMBOL2328;
    MySQLParser_interval_timestamp_unit_return interval_timestamp_unit2317;
    #undef	RETURN_TYPE_interval_timestamp_unit2317
    #define	RETURN_TYPE_interval_timestamp_unit2317 MySQLParser_interval_timestamp_unit_return

    pANTLR3_BASE_TREE SECOND_MICROSECOND_SYMBOL2318_tree;
    pANTLR3_BASE_TREE MINUTE_MICROSECOND_SYMBOL2319_tree;
    pANTLR3_BASE_TREE MINUTE_SECOND_SYMBOL2320_tree;
    pANTLR3_BASE_TREE HOUR_MICROSECOND_SYMBOL2321_tree;
    pANTLR3_BASE_TREE HOUR_SECOND_SYMBOL2322_tree;
    pANTLR3_BASE_TREE HOUR_MINUTE_SYMBOL2323_tree;
    pANTLR3_BASE_TREE DAY_MICROSECOND_SYMBOL2324_tree;
    pANTLR3_BASE_TREE DAY_SECOND_SYMBOL2325_tree;
    pANTLR3_BASE_TREE DAY_MINUTE_SYMBOL2326_tree;
    pANTLR3_BASE_TREE DAY_HOUR_SYMBOL2327_tree;
    pANTLR3_BASE_TREE YEAR_MONTH_SYMBOL2328_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    SECOND_MICROSECOND_SYMBOL2318       = NULL;
    MINUTE_MICROSECOND_SYMBOL2319       = NULL;
    MINUTE_SECOND_SYMBOL2320       = NULL;
    HOUR_MICROSECOND_SYMBOL2321       = NULL;
    HOUR_SECOND_SYMBOL2322       = NULL;
    HOUR_MINUTE_SYMBOL2323       = NULL;
    DAY_MICROSECOND_SYMBOL2324       = NULL;
    DAY_SECOND_SYMBOL2325       = NULL;
    DAY_MINUTE_SYMBOL2326       = NULL;
    DAY_HOUR_SYMBOL2327       = NULL;
    YEAR_MONTH_SYMBOL2328       = NULL;
    interval_timestamp_unit2317.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    SECOND_MICROSECOND_SYMBOL2318_tree   = NULL;
    MINUTE_MICROSECOND_SYMBOL2319_tree   = NULL;
    MINUTE_SECOND_SYMBOL2320_tree   = NULL;
    HOUR_MICROSECOND_SYMBOL2321_tree   = NULL;
    HOUR_SECOND_SYMBOL2322_tree   = NULL;
    HOUR_MINUTE_SYMBOL2323_tree   = NULL;
    DAY_MICROSECOND_SYMBOL2324_tree   = NULL;
    DAY_SECOND_SYMBOL2325_tree   = NULL;
    DAY_MINUTE_SYMBOL2326_tree   = NULL;
    DAY_HOUR_SYMBOL2327_tree   = NULL;
    YEAR_MONTH_SYMBOL2328_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:2068: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 alt644;

            alt644=12;

            {
                int LA644_0 = LA(1);
                if ( (LA644_0 == MICROSECOND_SYMBOL))
                {
                    alt644=1;
                }
                else if ( ((SERVER_VERSION < 50503)) && (LA644_0 == FRAC_SECOND_SYMBOL))
                {
                    alt644=1;
                }
                else if ( (LA644_0 == DAY_SYMBOL || LA644_0 == HOUR_SYMBOL || LA644_0 == MINUTE_SYMBOL || LA644_0 == MONTH_SYMBOL || LA644_0 == QUARTER_SYMBOL || LA644_0 == SECOND_SYMBOL || LA644_0 == WEEK_SYMBOL || LA644_0 == YEAR_SYMBOL))
                {
                    alt644=1;
                }
                else if ( (LA644_0 == SECOND_MICROSECOND_SYMBOL))
                {
                    alt644=2;
                }
                else if ( (LA644_0 == MINUTE_MICROSECOND_SYMBOL))
                {
                    alt644=3;
                }
                else if ( (LA644_0 == MINUTE_SECOND_SYMBOL))
                {
                    alt644=4;
                }
                else if ( (LA644_0 == HOUR_MICROSECOND_SYMBOL))
                {
                    alt644=5;
                }
                else if ( (LA644_0 == HOUR_SECOND_SYMBOL))
                {
                    alt644=6;
                }
                else if ( (LA644_0 == HOUR_MINUTE_SYMBOL))
                {
                    alt644=7;
                }
                else if ( (LA644_0 == DAY_MICROSECOND_SYMBOL))
                {
                    alt644=8;
                }
                else if ( (LA644_0 == DAY_SECOND_SYMBOL))
                {
                    alt644=9;
                }
                else if ( (LA644_0 == DAY_MINUTE_SYMBOL))
                {
                    alt644=10;
                }
                else if ( (LA644_0 == DAY_HOUR_SYMBOL))
                {
                    alt644=11;
                }
                else if ( (LA644_0 == YEAR_MONTH_SYMBOL))
                {
                    alt644=12;
                }
                else
                {
                    if (BACKTRACKING>0)
                    {
                        FAILEDFLAG = ANTLR3_TRUE;
                        return retval;
                    }


                    CONSTRUCTEX();
                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    EXCEPTION->message      = (void *)"";
                    EXCEPTION->decisionNum  = 644;
                    EXCEPTION->state        = 0;


                    goto ruleinterval_unitEx;

                }
            }
            switch (alt644)
            {
        	case 1:
        	    // MySQL.g:2069:2: interval_timestamp_unit
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_interval_timestamp_unit_in_interval_unit11927);
        	        interval_timestamp_unit2317=interval_timestamp_unit(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleinterval_unitEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, interval_timestamp_unit2317.tree);

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:2070:4: SECOND_MICROSECOND_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        SECOND_MICROSECOND_SYMBOL2318 = (pANTLR3_COMMON_TOKEN) MATCHT(SECOND_MICROSECOND_SYMBOL, &FOLLOW_SECOND_MICROSECOND_SYMBOL_in_interval_unit11932);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleinterval_unitEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        SECOND_MICROSECOND_SYMBOL2318_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SECOND_MICROSECOND_SYMBOL2318));
        	        ADAPTOR->addChild(ADAPTOR, root_0, SECOND_MICROSECOND_SYMBOL2318_tree);
        	        }

        	    }
        	    break;
        	case 3:
        	    // MySQL.g:2071:4: MINUTE_MICROSECOND_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        MINUTE_MICROSECOND_SYMBOL2319 = (pANTLR3_COMMON_TOKEN) MATCHT(MINUTE_MICROSECOND_SYMBOL, &FOLLOW_MINUTE_MICROSECOND_SYMBOL_in_interval_unit11937);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleinterval_unitEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        MINUTE_MICROSECOND_SYMBOL2319_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MINUTE_MICROSECOND_SYMBOL2319));
        	        ADAPTOR->addChild(ADAPTOR, root_0, MINUTE_MICROSECOND_SYMBOL2319_tree);
        	        }

        	    }
        	    break;
        	case 4:
        	    // MySQL.g:2072:4: MINUTE_SECOND_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        MINUTE_SECOND_SYMBOL2320 = (pANTLR3_COMMON_TOKEN) MATCHT(MINUTE_SECOND_SYMBOL, &FOLLOW_MINUTE_SECOND_SYMBOL_in_interval_unit11942);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleinterval_unitEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        MINUTE_SECOND_SYMBOL2320_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MINUTE_SECOND_SYMBOL2320));
        	        ADAPTOR->addChild(ADAPTOR, root_0, MINUTE_SECOND_SYMBOL2320_tree);
        	        }

        	    }
        	    break;
        	case 5:
        	    // MySQL.g:2073:4: HOUR_MICROSECOND_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        HOUR_MICROSECOND_SYMBOL2321 = (pANTLR3_COMMON_TOKEN) MATCHT(HOUR_MICROSECOND_SYMBOL, &FOLLOW_HOUR_MICROSECOND_SYMBOL_in_interval_unit11947);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleinterval_unitEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        HOUR_MICROSECOND_SYMBOL2321_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, HOUR_MICROSECOND_SYMBOL2321));
        	        ADAPTOR->addChild(ADAPTOR, root_0, HOUR_MICROSECOND_SYMBOL2321_tree);
        	        }

        	    }
        	    break;
        	case 6:
        	    // MySQL.g:2074:4: HOUR_SECOND_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        HOUR_SECOND_SYMBOL2322 = (pANTLR3_COMMON_TOKEN) MATCHT(HOUR_SECOND_SYMBOL, &FOLLOW_HOUR_SECOND_SYMBOL_in_interval_unit11952);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleinterval_unitEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        HOUR_SECOND_SYMBOL2322_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, HOUR_SECOND_SYMBOL2322));
        	        ADAPTOR->addChild(ADAPTOR, root_0, HOUR_SECOND_SYMBOL2322_tree);
        	        }

        	    }
        	    break;
        	case 7:
        	    // MySQL.g:2075:4: HOUR_MINUTE_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        HOUR_MINUTE_SYMBOL2323 = (pANTLR3_COMMON_TOKEN) MATCHT(HOUR_MINUTE_SYMBOL, &FOLLOW_HOUR_MINUTE_SYMBOL_in_interval_unit11957);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleinterval_unitEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        HOUR_MINUTE_SYMBOL2323_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, HOUR_MINUTE_SYMBOL2323));
        	        ADAPTOR->addChild(ADAPTOR, root_0, HOUR_MINUTE_SYMBOL2323_tree);
        	        }

        	    }
        	    break;
        	case 8:
        	    // MySQL.g:2076:4: DAY_MICROSECOND_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        DAY_MICROSECOND_SYMBOL2324 = (pANTLR3_COMMON_TOKEN) MATCHT(DAY_MICROSECOND_SYMBOL, &FOLLOW_DAY_MICROSECOND_SYMBOL_in_interval_unit11962);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleinterval_unitEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        DAY_MICROSECOND_SYMBOL2324_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DAY_MICROSECOND_SYMBOL2324));
        	        ADAPTOR->addChild(ADAPTOR, root_0, DAY_MICROSECOND_SYMBOL2324_tree);
        	        }

        	    }
        	    break;
        	case 9:
        	    // MySQL.g:2077:4: DAY_SECOND_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        DAY_SECOND_SYMBOL2325 = (pANTLR3_COMMON_TOKEN) MATCHT(DAY_SECOND_SYMBOL, &FOLLOW_DAY_SECOND_SYMBOL_in_interval_unit11967);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleinterval_unitEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        DAY_SECOND_SYMBOL2325_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DAY_SECOND_SYMBOL2325));
        	        ADAPTOR->addChild(ADAPTOR, root_0, DAY_SECOND_SYMBOL2325_tree);
        	        }

        	    }
        	    break;
        	case 10:
        	    // MySQL.g:2078:4: DAY_MINUTE_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        DAY_MINUTE_SYMBOL2326 = (pANTLR3_COMMON_TOKEN) MATCHT(DAY_MINUTE_SYMBOL, &FOLLOW_DAY_MINUTE_SYMBOL_in_interval_unit11972);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleinterval_unitEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        DAY_MINUTE_SYMBOL2326_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DAY_MINUTE_SYMBOL2326));
        	        ADAPTOR->addChild(ADAPTOR, root_0, DAY_MINUTE_SYMBOL2326_tree);
        	        }

        	    }
        	    break;
        	case 11:
        	    // MySQL.g:2079:4: DAY_HOUR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        DAY_HOUR_SYMBOL2327 = (pANTLR3_COMMON_TOKEN) MATCHT(DAY_HOUR_SYMBOL, &FOLLOW_DAY_HOUR_SYMBOL_in_interval_unit11977);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleinterval_unitEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        DAY_HOUR_SYMBOL2327_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DAY_HOUR_SYMBOL2327));
        	        ADAPTOR->addChild(ADAPTOR, root_0, DAY_HOUR_SYMBOL2327_tree);
        	        }

        	    }
        	    break;
        	case 12:
        	    // MySQL.g:2080:4: YEAR_MONTH_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        YEAR_MONTH_SYMBOL2328 = (pANTLR3_COMMON_TOKEN) MATCHT(YEAR_MONTH_SYMBOL, &FOLLOW_YEAR_MONTH_SYMBOL_in_interval_unit11982);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleinterval_unitEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        YEAR_MONTH_SYMBOL2328_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, YEAR_MONTH_SYMBOL2328));
        	        ADAPTOR->addChild(ADAPTOR, root_0, YEAR_MONTH_SYMBOL2328_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:2084: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_SYMBOL2329;
    pANTLR3_COMMON_TOKEN    FRAC_SECOND_SYMBOL2330;
    pANTLR3_COMMON_TOKEN    SECOND_SYMBOL2331;
    pANTLR3_COMMON_TOKEN    MINUTE_SYMBOL2332;
    pANTLR3_COMMON_TOKEN    HOUR_SYMBOL2333;
    pANTLR3_COMMON_TOKEN    DAY_SYMBOL2334;
    pANTLR3_COMMON_TOKEN    WEEK_SYMBOL2335;
    pANTLR3_COMMON_TOKEN    MONTH_SYMBOL2336;
    pANTLR3_COMMON_TOKEN    QUARTER_SYMBOL2337;
    pANTLR3_COMMON_TOKEN    YEAR_SYMBOL2338;

    pANTLR3_BASE_TREE MICROSECOND_SYMBOL2329_tree;
    pANTLR3_BASE_TREE FRAC_SECOND_SYMBOL2330_tree;
    pANTLR3_BASE_TREE SECOND_SYMBOL2331_tree;
    pANTLR3_BASE_TREE MINUTE_SYMBOL2332_tree;
    pANTLR3_BASE_TREE HOUR_SYMBOL2333_tree;
    pANTLR3_BASE_TREE DAY_SYMBOL2334_tree;
    pANTLR3_BASE_TREE WEEK_SYMBOL2335_tree;
    pANTLR3_BASE_TREE MONTH_SYMBOL2336_tree;
    pANTLR3_BASE_TREE QUARTER_SYMBOL2337_tree;
    pANTLR3_BASE_TREE YEAR_SYMBOL2338_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    MICROSECOND_SYMBOL2329       = NULL;
    FRAC_SECOND_SYMBOL2330       = NULL;
    SECOND_SYMBOL2331       = NULL;
    MINUTE_SYMBOL2332       = NULL;
    HOUR_SYMBOL2333       = NULL;
    DAY_SYMBOL2334       = NULL;
    WEEK_SYMBOL2335       = NULL;
    MONTH_SYMBOL2336       = NULL;
    QUARTER_SYMBOL2337       = NULL;
    YEAR_SYMBOL2338       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    MICROSECOND_SYMBOL2329_tree   = NULL;
    FRAC_SECOND_SYMBOL2330_tree   = NULL;
    SECOND_SYMBOL2331_tree   = NULL;
    MINUTE_SYMBOL2332_tree   = NULL;
    HOUR_SYMBOL2333_tree   = NULL;
    DAY_SYMBOL2334_tree   = NULL;
    WEEK_SYMBOL2335_tree   = NULL;
    MONTH_SYMBOL2336_tree   = NULL;
    QUARTER_SYMBOL2337_tree   = NULL;
    YEAR_SYMBOL2338_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:2084:24: ( MICROSECOND_SYMBOL |{...}? => FRAC_SECOND_SYMBOL | SECOND_SYMBOL | MINUTE_SYMBOL | HOUR_SYMBOL | DAY_SYMBOL | WEEK_SYMBOL | MONTH_SYMBOL | QUARTER_SYMBOL | YEAR_SYMBOL )

            ANTLR3_UINT32 alt645;

            alt645=10;

            {
                int LA645_0 = LA(1);
                if ( (LA645_0 == MICROSECOND_SYMBOL))
                {
                    alt645=1;
                }
                else if ( ((SERVER_VERSION < 50503)) && (LA645_0 == FRAC_SECOND_SYMBOL))
                {
                    alt645=2;
                }
                else if ( (LA645_0 == SECOND_SYMBOL))
                {
                    alt645=3;
                }
                else if ( (LA645_0 == MINUTE_SYMBOL))
                {
                    alt645=4;
                }
                else if ( (LA645_0 == HOUR_SYMBOL))
                {
                    alt645=5;
                }
                else if ( (LA645_0 == DAY_SYMBOL))
                {
                    alt645=6;
                }
                else if ( (LA645_0 == WEEK_SYMBOL))
                {
                    alt645=7;
                }
                else if ( (LA645_0 == MONTH_SYMBOL))
                {
                    alt645=8;
                }
                else if ( (LA645_0 == QUARTER_SYMBOL))
                {
                    alt645=9;
                }
                else if ( (LA645_0 == YEAR_SYMBOL))
                {
                    alt645=10;
                }
                else
                {
                    if (BACKTRACKING>0)
                    {
                        FAILEDFLAG = ANTLR3_TRUE;
                        return retval;
                    }


                    CONSTRUCTEX();
                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    EXCEPTION->message      = (void *)"";
                    EXCEPTION->decisionNum  = 645;
                    EXCEPTION->state        = 0;


                    goto ruleinterval_timestamp_unitEx;

                }
            }
            switch (alt645)
            {
        	case 1:
        	    // MySQL.g:2085:2: MICROSECOND_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        MICROSECOND_SYMBOL2329 = (pANTLR3_COMMON_TOKEN) MATCHT(MICROSECOND_SYMBOL, &FOLLOW_MICROSECOND_SYMBOL_in_interval_timestamp_unit11992);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleinterval_timestamp_unitEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        MICROSECOND_SYMBOL2329_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MICROSECOND_SYMBOL2329));
        	        ADAPTOR->addChild(ADAPTOR, root_0, MICROSECOND_SYMBOL2329_tree);
        	        }

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:2086: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_SYMBOL2330 = (pANTLR3_COMMON_TOKEN) MATCHT(FRAC_SECOND_SYMBOL, &FOLLOW_FRAC_SECOND_SYMBOL_in_interval_timestamp_unit12001);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleinterval_timestamp_unitEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        FRAC_SECOND_SYMBOL2330_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, FRAC_SECOND_SYMBOL2330));
        	        ADAPTOR->addChild(ADAPTOR, root_0, FRAC_SECOND_SYMBOL2330_tree);
        	        }

        	    }
        	    break;
        	case 3:
        	    // MySQL.g:2087:4: SECOND_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        SECOND_SYMBOL2331 = (pANTLR3_COMMON_TOKEN) MATCHT(SECOND_SYMBOL, &FOLLOW_SECOND_SYMBOL_in_interval_timestamp_unit12006);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleinterval_timestamp_unitEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        SECOND_SYMBOL2331_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SECOND_SYMBOL2331));
        	        ADAPTOR->addChild(ADAPTOR, root_0, SECOND_SYMBOL2331_tree);
        	        }

        	    }
        	    break;
        	case 4:
        	    // MySQL.g:2088:4: MINUTE_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        MINUTE_SYMBOL2332 = (pANTLR3_COMMON_TOKEN) MATCHT(MINUTE_SYMBOL, &FOLLOW_MINUTE_SYMBOL_in_interval_timestamp_unit12011);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleinterval_timestamp_unitEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        MINUTE_SYMBOL2332_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MINUTE_SYMBOL2332));
        	        ADAPTOR->addChild(ADAPTOR, root_0, MINUTE_SYMBOL2332_tree);
        	        }

        	    }
        	    break;
        	case 5:
        	    // MySQL.g:2089:4: HOUR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        HOUR_SYMBOL2333 = (pANTLR3_COMMON_TOKEN) MATCHT(HOUR_SYMBOL, &FOLLOW_HOUR_SYMBOL_in_interval_timestamp_unit12016);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleinterval_timestamp_unitEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        HOUR_SYMBOL2333_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, HOUR_SYMBOL2333));
        	        ADAPTOR->addChild(ADAPTOR, root_0, HOUR_SYMBOL2333_tree);
        	        }

        	    }
        	    break;
        	case 6:
        	    // MySQL.g:2090:4: DAY_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        DAY_SYMBOL2334 = (pANTLR3_COMMON_TOKEN) MATCHT(DAY_SYMBOL, &FOLLOW_DAY_SYMBOL_in_interval_timestamp_unit12021);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleinterval_timestamp_unitEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        DAY_SYMBOL2334_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DAY_SYMBOL2334));
        	        ADAPTOR->addChild(ADAPTOR, root_0, DAY_SYMBOL2334_tree);
        	        }

        	    }
        	    break;
        	case 7:
        	    // MySQL.g:2091:4: WEEK_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        WEEK_SYMBOL2335 = (pANTLR3_COMMON_TOKEN) MATCHT(WEEK_SYMBOL, &FOLLOW_WEEK_SYMBOL_in_interval_timestamp_unit12029);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleinterval_timestamp_unitEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        WEEK_SYMBOL2335_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, WEEK_SYMBOL2335));
        	        ADAPTOR->addChild(ADAPTOR, root_0, WEEK_SYMBOL2335_tree);
        	        }

        	    }
        	    break;
        	case 8:
        	    // MySQL.g:2092:4: MONTH_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        MONTH_SYMBOL2336 = (pANTLR3_COMMON_TOKEN) MATCHT(MONTH_SYMBOL, &FOLLOW_MONTH_SYMBOL_in_interval_timestamp_unit12034);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleinterval_timestamp_unitEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        MONTH_SYMBOL2336_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MONTH_SYMBOL2336));
        	        ADAPTOR->addChild(ADAPTOR, root_0, MONTH_SYMBOL2336_tree);
        	        }

        	    }
        	    break;
        	case 9:
        	    // MySQL.g:2093:4: QUARTER_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        QUARTER_SYMBOL2337 = (pANTLR3_COMMON_TOKEN) MATCHT(QUARTER_SYMBOL, &FOLLOW_QUARTER_SYMBOL_in_interval_timestamp_unit12039);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleinterval_timestamp_unitEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        QUARTER_SYMBOL2337_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, QUARTER_SYMBOL2337));
        	        ADAPTOR->addChild(ADAPTOR, root_0, QUARTER_SYMBOL2337_tree);
        	        }

        	    }
        	    break;
        	case 10:
        	    // MySQL.g:2094:4: YEAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        YEAR_SYMBOL2338 = (pANTLR3_COMMON_TOKEN) MATCHT(YEAR_SYMBOL, &FOLLOW_YEAR_SYMBOL_in_interval_timestamp_unit12044);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleinterval_timestamp_unitEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        YEAR_SYMBOL2338_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, YEAR_SYMBOL2338));
        	        ADAPTOR->addChild(ADAPTOR, root_0, YEAR_SYMBOL2338_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:2097:1: expression_list_with_parentheses : OPEN_PAR_SYMBOL expression_list CLOSE_PAR_SYMBOL -> ^( PAR_EXPRESSION 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_SYMBOL2339;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2341;
    MySQLParser_expression_list_return expression_list2340;
    #undef	RETURN_TYPE_expression_list2340
    #define	RETURN_TYPE_expression_list2340 MySQLParser_expression_list_return

    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2339_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2341_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_SYMBOL2339       = NULL;
    CLOSE_PAR_SYMBOL2341       = NULL;
    expression_list2340.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    OPEN_PAR_SYMBOL2339_tree   = NULL;
    CLOSE_PAR_SYMBOL2341_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:2097:33: ( OPEN_PAR_SYMBOL expression_list CLOSE_PAR_SYMBOL -> ^( PAR_EXPRESSION OPEN_PAR_SYMBOL expression_list CLOSE_PAR_SYMBOL ) )
        // MySQL.g:2098:2: OPEN_PAR_SYMBOL expression_list CLOSE_PAR_SYMBOL
        {
            OPEN_PAR_SYMBOL2339 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_expression_list_with_parentheses12053);
            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_SYMBOL2339, NULL); }


            FOLLOWPUSH(FOLLOW_expression_list_in_expression_list_with_parentheses12055);
            expression_list2340=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_list2340.tree, NULL); }

            CLOSE_PAR_SYMBOL2341 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_expression_list_with_parentheses12057);
            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_SYMBOL2341, NULL); }


            /* AST REWRITE
             * elements          : CLOSE_PAR_SYMBOL, OPEN_PAR_SYMBOL, expression_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;
            	// 2098:51: -> ^( PAR_EXPRESSION OPEN_PAR_SYMBOL expression_list CLOSE_PAR_SYMBOL )
            	{
            	    // MySQL.g:2098:54: ^( PAR_EXPRESSION 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, (pANTLR3_UINT8)"PAR_EXPRESSION")
            	        , 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:2101: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_SYMBOL2343;
    MySQLParser_expression_return expression2342;
    #undef	RETURN_TYPE_expression2342
    #define	RETURN_TYPE_expression2342 MySQLParser_expression_return

    MySQLParser_expression_return expression2344;
    #undef	RETURN_TYPE_expression2344
    #define	RETURN_TYPE_expression2344 MySQLParser_expression_return

    pANTLR3_BASE_TREE COMMA_SYMBOL2343_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    COMMA_SYMBOL2343       = NULL;
    expression2342.tree = NULL;

    expression2344.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    COMMA_SYMBOL2343_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2101:16: ( expression ( COMMA_SYMBOL expression )* )
        // MySQL.g:2102:2: expression ( COMMA_SYMBOL expression )*
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            FOLLOWPUSH(FOLLOW_expression_in_expression_list12078);
            expression2342=expression(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruleexpression_listEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2342.tree);

            // MySQL.g:2102:13: ( COMMA_SYMBOL expression )*

            for (;;)
            {
                int alt646=2;
                switch ( LA(1) )
                {
                case COMMA_SYMBOL:
                	{
                		alt646=1;
                	}
                    break;

                }

                switch (alt646)
                {
            	case 1:
            	    // MySQL.g:2102:14: COMMA_SYMBOL expression
            	    {
            	        COMMA_SYMBOL2343 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_expression_list12081);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleexpression_listEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        COMMA_SYMBOL2343_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL2343));
            	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL2343_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_expression_in_expression_list12083);
            	        expression2344=expression(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleexpression_listEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2344.tree);

            	    }
            	    break;

            	default:
            	    goto loop646;	/* break out of the loop */
            	    break;
                }
            }
            loop646: ; /* 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:2105: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_SYMBOL2347;
    MySQLParser_expression_return expression2345;
    #undef	RETURN_TYPE_expression2345
    #define	RETURN_TYPE_expression2345 MySQLParser_expression_return

    MySQLParser_direction_return direction2346;
    #undef	RETURN_TYPE_direction2346
    #define	RETURN_TYPE_direction2346 MySQLParser_direction_return

    MySQLParser_expression_return expression2348;
    #undef	RETURN_TYPE_expression2348
    #define	RETURN_TYPE_expression2348 MySQLParser_expression_return

    MySQLParser_direction_return direction2349;
    #undef	RETURN_TYPE_direction2349
    #define	RETURN_TYPE_direction2349 MySQLParser_direction_return

    pANTLR3_BASE_TREE COMMA_SYMBOL2347_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    COMMA_SYMBOL2347       = NULL;
    expression2345.tree = NULL;

    direction2346.tree = NULL;

    expression2348.tree = NULL;

    direction2349.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    COMMA_SYMBOL2347_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2105:31: ( expression ( direction )? ( options {greedy=true; } : COMMA_SYMBOL expression ( direction )? )* )
        // MySQL.g:2106: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_direction12094);
            expression2345=expression(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruleexpression_list_with_directionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2345.tree);

            // MySQL.g:2106:13: ( direction )?
            {
                int alt647=2;
                switch ( LA(1) )
                {
                    case ASC_SYMBOL:
                    case DESC_SYMBOL:
                    	{
                    		alt647=1;
                    	}
                        break;
                }

                switch (alt647)
                {
            	case 1:
            	    // MySQL.g:2106:13: direction
            	    {
            	        FOLLOWPUSH(FOLLOW_direction_in_expression_list_with_direction12096);
            	        direction2346=direction(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleexpression_list_with_directionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, direction2346.tree);

            	    }
            	    break;

                }
            }

            // MySQL.g:2106:24: ( options {greedy=true; } : COMMA_SYMBOL expression ( direction )? )*

            for (;;)
            {
                int alt649=2;
                switch ( LA(1) )
                {
                case COMMA_SYMBOL:
                	{
                		{
                		   /* dfaLoopbackState(k,edges,eotPredictsAlt,description,stateNumber,semPredState)
                		    */
                		    int LA649_19 = LA(2);
                		    if ( (LA649_19 == OPEN_PAR_SYMBOL))
                		    {
                		        alt649=1;
                		    }
                		    else if ( (LA649_19 == IDENTIFIER))
                		    {
                		        alt649=1;
                		    }
                		    else if ( (LA649_19 == BACK_TICK_QUOTED_ID))
                		    {
                		        alt649=1;
                		    }
                		    else if ( (LA649_19 == DOUBLE_QUOTED_TEXT))
                		    {
                		        alt649=1;
                		    }
                		    else if ( (LA649_19 == DATE_SYMBOL))
                		    {
                		        alt649=1;
                		    }
                		    else if ( (LA649_19 == PARTITION_SYMBOL))
                		    {
                		        alt649=1;
                		    }
                		    else if ( (LA649_19 == ASCII_SYMBOL || ((LA649_19 >= BITNUMBER) && (LA649_19 <= BITSTRING)) || LA649_19 == BITWISE_NOT_OPERATOR || LA649_19 == FALSE_SYMBOL || LA649_19 == FLOAT || ((LA649_19 >= HEXNUMBER) && (LA649_19 <= HEXSTRING)) || LA649_19 == INTEGER || LA649_19 == INTERVAL_SYMBOL || LA649_19 == LOGICAL_NOT_OPERATOR || LA649_19 == MINUS_OPERATOR || LA649_19 == NCHAR_TEXT || LA649_19 == NOT2_SYMBOL || LA649_19 == NOT_SYMBOL || LA649_19 == NULL2_SYMBOL || LA649_19 == NULL_SYMBOL || LA649_19 == PLUS_OPERATOR || LA649_19 == SINGLE_QUOTED_TEXT || LA649_19 == TRUE_SYMBOL || LA649_19 == UNDERSCORE_CHARSET))
                		    {
                		        alt649=1;
                		    }
                		    else if ( (LA649_19 == DOT_SYMBOL))
                		    {
                		        alt649=1;
                		    }
                		    else if ( (LA649_19 == OPEN_CURLY_SYMBOL))
                		    {
                		        alt649=1;
                		    }
                		    else if ( (LA649_19 == TIME_SYMBOL))
                		    {
                		        alt649=1;
                		    }
                		    else if ( (LA649_19 == TIMESTAMP_SYMBOL))
                		    {
                		        alt649=1;
                		    }
                		    else if ( (LA649_19 == DAY_SYMBOL || LA649_19 == CHAR_SYMBOL || LA649_19 == CURRENT_USER_SYMBOL))
                		    {
                		        alt649=1;
                		    }
                		    else if ( (LA649_19 == HOUR_SYMBOL))
                		    {
                		        alt649=1;
                		    }
                		    else if ( (LA649_19 == MINUTE_SYMBOL || LA649_19 == INSERT_SYMBOL || LA649_19 == LEFT_SYMBOL))
                		    {
                		        alt649=1;
                		    }
                		    else if ( (LA649_19 == MONTH_SYMBOL))
                		    {
                		        alt649=1;
                		    }
                		    else if ( (LA649_19 == SECOND_SYMBOL || LA649_19 == RIGHT_SYMBOL))
                		    {
                		        alt649=1;
                		    }
                		    else if ( (LA649_19 == USER_SYMBOL || LA649_19 == TRIM_SYMBOL))
                		    {
                		        alt649=1;
                		    }
                		    else if ( (LA649_19 == YEAR_SYMBOL || LA649_19 == VALUES_SYMBOL))
                		    {
                		        alt649=1;
                		    }
                		    else if ( (LA649_19 == ADDDATE_SYMBOL || LA649_19 == SUBDATE_SYMBOL))
                		    {
                		        alt649=1;
                		    }
                		    else if ( (LA649_19 == GET_FORMAT_SYMBOL || LA649_19 == CURDATE_SYMBOL || LA649_19 == CURTIME_SYMBOL || LA649_19 == DATE_ADD_SYMBOL || LA649_19 == DATE_SUB_SYMBOL || LA649_19 == EXTRACT_SYMBOL))
                		    {
                		        alt649=1;
                		    }
                		    else if ( (((LA649_19 >= TIMESTAMP_ADD_SYMBOL) && (LA649_19 <= TIMESTAMP_DIFF_SYMBOL)) || LA649_19 == NOW_SYMBOL || LA649_19 == POSITION_SYMBOL || LA649_19 == SUBSTRING_SYMBOL || LA649_19 == SYSDATE_SYMBOL))
                		    {
                		        alt649=1;
                		    }
                		    else if ( (LA649_19 == COALESCE_SYMBOL || ((LA649_19 >= UTC_DATE_SYMBOL) && (LA649_19 <= UTC_TIME_SYMBOL))))
                		    {
                		        alt649=1;
                		    }
                		    else if ( (LA649_19 == CHARSET_SYMBOL))
                		    {
                		        alt649=1;
                		    }
                		    else if ( (LA649_19 == FORMAT_SYMBOL))
                		    {
                		        alt649=1;
                		    }
                		    else if ( (LA649_19 == COLLATION_SYMBOL))
                		    {
                		        alt649=1;
                		    }
                		    else if ( (LA649_19 == MICROSECOND_SYMBOL || LA649_19 == DATABASE_SYMBOL || LA649_19 == IF_SYMBOL))
                		    {
                		        alt649=1;
                		    }
                		    else if ( (LA649_19 == TRUNCATE_SYMBOL))
                		    {
                		        alt649=1;
                		    }
                		    else if ( (LA649_19 == OLD_PASSWORD_SYMBOL || LA649_19 == MOD_SYMBOL))
                		    {
                		        alt649=1;
                		    }
                		    else if ( (LA649_19 == PASSWORD_SYMBOL))
                		    {
                		        alt649=1;
                		    }
                		    else if ( (LA649_19 == QUARTER_SYMBOL))
                		    {
                		        alt649=1;
                		    }
                		    else if ( (LA649_19 == REVERSE_SYMBOL || ((LA649_19 >= REPEAT_SYMBOL) && (LA649_19 <= REPLACE_SYMBOL))))
                		    {
                		        alt649=1;
                		    }
                		    else if ( (LA649_19 == ROW_COUNT_SYMBOL))
                		    {
                		        alt649=1;
                		    }
                		    else if ( (LA649_19 == WEEK_SYMBOL))
                		    {
                		        alt649=1;
                		    }
                		    else if ( (LA649_19 == CONTAINS_SYMBOL))
                		    {
                		        alt649=1;
                		    }
                		    else if ( (LA649_19 == WEIGHT_STRING_SYMBOL))
                		    {
                		        alt649=1;
                		    }
                		    else if ( (LA649_19 == GEOMETRYCOLLECTION_SYMBOL))
                		    {
                		        alt649=1;
                		    }
                		    else if ( (((LA649_19 >= BACKUP_SYMBOL) && (LA649_19 <= CACHE_SYMBOL)) || ((LA649_19 >= CHECKSUM_SYMBOL) && (LA649_19 <= COMMIT_SYMBOL)) || ((LA649_19 >= DEALLOCATE_SYMBOL) && (LA649_19 <= FLUSH_SYMBOL)) || ((LA649_19 >= HANDLER_SYMBOL) && (LA649_19 <= STOP_SYMBOL)) || ((LA649_19 >= UNICODE_SYMBOL) && (LA649_19 <= XA_SYMBOL))))
                		    {
                		        alt649=1;
                		    }
                		    else if ( (LA649_19 == LINESTRING_SYMBOL))
                		    {
                		        alt649=1;
                		    }
                		    else if ( (LA649_19 == MULTILINESTRING_SYMBOL))
                		    {
                		        alt649=1;
                		    }
                		    else if ( (LA649_19 == MULTIPOINT_SYMBOL))
                		    {
                		        alt649=1;
                		    }
                		    else if ( (LA649_19 == MULTIPOLYGON_SYMBOL))
                		    {
                		        alt649=1;
                		    }
                		    else if ( (LA649_19 == POINT_SYMBOL))
                		    {
                		        alt649=1;
                		    }
                		    else if ( (LA649_19 == POLYGON_SYMBOL))
                		    {
                		        alt649=1;
                		    }
                		    else if ( (LA649_19 == AVG_SYMBOL))
                		    {
                		        alt649=1;
                		    }
                		    else if ( (LA649_19 == ROW_SYMBOL || ((LA649_19 >= AT_AT_SIGN_SYMBOL) && (LA649_19 <= AT_SIGN_SYMBOL)) || ((LA649_19 >= BIT_AND_SYMBOL) && (LA649_19 <= BIT_XOR_SYMBOL)) || LA649_19 == COUNT_SYMBOL || LA649_19 == EXISTS_SYMBOL || LA649_19 == GROUP_CONCAT_SYMBOL || LA649_19 == MAX_SYMBOL || LA649_19 == MIN_SYMBOL || LA649_19 == PARAM_MARKER || LA649_19 == STDDEV_SAMP_SYMBOL || LA649_19 == STD_SYMBOL || LA649_19 == SUM_SYMBOL || LA649_19 == VARIANCE_SYMBOL || LA649_19 == VAR_SAMP_SYMBOL))
                		    {
                		        alt649=1;
                		    }
                		    else if ( (LA649_19 == ACTION_SYMBOL || ((LA649_19 >= AFTER_SYMBOL) && (LA649_19 <= AVG_ROW_LENGTH_SYMBOL)) || ((LA649_19 >= BINLOG_SYMBOL) && (LA649_19 <= CLIENT_SYMBOL)) || LA649_19 == CODE_SYMBOL || ((LA649_19 >= COLUMNS_SYMBOL) && (LA649_19 <= DATETIME_SYMBOL)) || ((LA649_19 >= DEFAULT_AUTH_SYMBOL) && (LA649_19 <= GENERAL_SYMBOL)) || LA649_19 == GEOMETRY_SYMBOL || ((LA649_19 >= GLOBAL_SYMBOL) && (LA649_19 <= HOSTS_SYMBOL)) || ((LA649_19 >= IDENTIFIED_SYMBOL) && (LA649_19 <= LEVEL_SYMBOL)) || ((LA649_19 >= LIST_SYMBOL) && (LA649_19 <= MESSAGE_TEXT_SYMBOL)) || LA649_19 == MIGRATE_SYMBOL || ((LA649_19 >= MIN_ROWS_SYMBOL) && (LA649_19 <= MODIFY_SYMBOL)) || ((LA649_19 >= MUTEX_SYMBOL) && (LA649_19 <= OFFSET_SYMBOL)) || ((LA649_19 >= ONE_SHOT_SYMBOL) && (LA649_19 <= PARTITIONS_SYMBOL)) || ((LA649_19 >= PHASE_SYMBOL) && (LA649_19 <= PLUGIN_SYMBOL)) || ((LA649_19 >= PRESERVE_SYMBOL) && (LA649_19 <= PROXY_SYMBOL)) || ((LA649_19 >= QUERY_SYMBOL) && (LA649_19 <= RETURNS_SYMBOL)) || ((LA649_19 >= ROLLUP_SYMBOL) && (LA649_19 <= ROWS_SYMBOL)) || LA649_19 == ROW_FORMAT_SYMBOL || ((LA649_19 >= RTREE_SYMBOL) && (LA649_19 <= SCHEMA_NAME_SYMBOL)) || ((LA649_19 >= SERIALIZABLE_SYMBOL) && (LA649_19 <= SUBCLASS_ORIGIN_SYMBOL)) || ((LA649_19 >= SUBJECT_SYMBOL) && (LA649_19 <= THAN_SYMBOL)) || ((LA649_19 >= TRANSACTION_SYMBOL) && (LA649_19 <= USER_RESOURCES_SYMBOL)) || ((LA649_19 >= USE_FRM_SYMBOL) && (LA649_19 <= WARNINGS_SYMBOL)) || ((LA649_19 >= WORK_SYMBOL) && (LA649_19 <= XML_SYMBOL)) || LA649_19 == BINARY_SYMBOL || ((LA649_19 >= CASE_SYMBOL) && (LA649_19 <= CAST_SYMBOL)) || LA649_19 == CONVERT_SYMBOL || LA649_19 == MATCH_SYMBOL))
                		    {
                		        alt649=1;
                		    }

                		}
                	}
                    break;

                }

                switch (alt649)
                {
            	case 1:
            	    // MySQL.g:2106:54: COMMA_SYMBOL expression ( direction )?
            	    {
            	        COMMA_SYMBOL2347 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_expression_list_with_direction12113);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleexpression_list_with_directionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        COMMA_SYMBOL2347_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL2347));
            	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL2347_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_expression_in_expression_list_with_direction12115);
            	        expression2348=expression(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleexpression_list_with_directionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2348.tree);

            	        // MySQL.g:2106:78: ( direction )?
            	        {
            	            int alt648=2;
            	            switch ( LA(1) )
            	            {
            	                case ASC_SYMBOL:
            	                case DESC_SYMBOL:
            	                	{
            	                		alt648=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt648)
            	            {
            	        	case 1:
            	        	    // MySQL.g:2106:78: direction
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_direction_in_expression_list_with_direction12117);
            	        	        direction2349=direction(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleexpression_list_with_directionEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, direction2349.tree);

            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;

            	default:
            	    goto loop649;	/* break out of the loop */
            	    break;
                }
            }
            loop649: ; /* 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 compound_statement
 * MySQL.g:2112:1: compound_statement : ( 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 |{...}? => 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_statement_return statement2350;
    #undef	RETURN_TYPE_statement2350
    #define	RETURN_TYPE_statement2350 MySQLParser_statement_return

    MySQLParser_label_return label2351;
    #undef	RETURN_TYPE_label2351
    #define	RETURN_TYPE_label2351 MySQLParser_label_return

    MySQLParser_begin_end_block_return begin_end_block2352;
    #undef	RETURN_TYPE_begin_end_block2352
    #define	RETURN_TYPE_begin_end_block2352 MySQLParser_begin_end_block_return

    MySQLParser_loop_block_return loop_block2353;
    #undef	RETURN_TYPE_loop_block2353
    #define	RETURN_TYPE_loop_block2353 MySQLParser_loop_block_return

    MySQLParser_repeat_until_block_return repeat_until_block2354;
    #undef	RETURN_TYPE_repeat_until_block2354
    #define	RETURN_TYPE_repeat_until_block2354 MySQLParser_repeat_until_block_return

    MySQLParser_while_do_block_return while_do_block2355;
    #undef	RETURN_TYPE_while_do_block2355
    #define	RETURN_TYPE_while_do_block2355 MySQLParser_while_do_block_return

    MySQLParser_case_statement_return case_statement2356;
    #undef	RETURN_TYPE_case_statement2356
    #define	RETURN_TYPE_case_statement2356 MySQLParser_case_statement_return

    MySQLParser_if_statement_return if_statement2357;
    #undef	RETURN_TYPE_if_statement2357
    #define	RETURN_TYPE_if_statement2357 MySQLParser_if_statement_return

    MySQLParser_iterate_statement_return iterate_statement2358;
    #undef	RETURN_TYPE_iterate_statement2358
    #define	RETURN_TYPE_iterate_statement2358 MySQLParser_iterate_statement_return

    MySQLParser_leave_statement_return leave_statement2359;
    #undef	RETURN_TYPE_leave_statement2359
    #define	RETURN_TYPE_leave_statement2359 MySQLParser_leave_statement_return

    MySQLParser_return_statement_return return_statement2360;
    #undef	RETURN_TYPE_return_statement2360
    #define	RETURN_TYPE_return_statement2360 MySQLParser_return_statement_return

    MySQLParser_cursor_open_return cursor_open2361;
    #undef	RETURN_TYPE_cursor_open2361
    #define	RETURN_TYPE_cursor_open2361 MySQLParser_cursor_open_return

    MySQLParser_cursor_fetch_return cursor_fetch2362;
    #undef	RETURN_TYPE_cursor_fetch2362
    #define	RETURN_TYPE_cursor_fetch2362 MySQLParser_cursor_fetch_return

    MySQLParser_cursor_close_return cursor_close2363;
    #undef	RETURN_TYPE_cursor_close2363
    #define	RETURN_TYPE_cursor_close2363 MySQLParser_cursor_close_return

    MySQLParser_get_diagnostics_return get_diagnostics2364;
    #undef	RETURN_TYPE_get_diagnostics2364
    #define	RETURN_TYPE_get_diagnostics2364 MySQLParser_get_diagnostics_return

    MySQLParser_signal_statement_return signal_statement2365;
    #undef	RETURN_TYPE_signal_statement2365
    #define	RETURN_TYPE_signal_statement2365 MySQLParser_signal_statement_return

    MySQLParser_resignal_statement_return resignal_statement2366;
    #undef	RETURN_TYPE_resignal_statement2366
    #define	RETURN_TYPE_resignal_statement2366 MySQLParser_resignal_statement_return


    /* Initialize rule variables
     */

    root_0 = NULL;

    statement2350.tree = NULL;

    label2351.tree = NULL;

    begin_end_block2352.tree = NULL;

    loop_block2353.tree = NULL;

    repeat_until_block2354.tree = NULL;

    while_do_block2355.tree = NULL;

    case_statement2356.tree = NULL;

    if_statement2357.tree = NULL;

    iterate_statement2358.tree = NULL;

    leave_statement2359.tree = NULL;

    return_statement2360.tree = NULL;

    cursor_open2361.tree = NULL;

    cursor_fetch2362.tree = NULL;

    cursor_close2363.tree = NULL;

    get_diagnostics2364.tree = NULL;

    signal_statement2365.tree = NULL;

    resignal_statement2366.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;




    retval.tree  = NULL;

    {
        {
            //  MySQL.g:2112:19: ( 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 |{...}? => get_diagnostics |{...}? => signal_statement |{...}? => resignal_statement )

            ANTLR3_UINT32 alt652;

            alt652=13;

            {
                int LA652_0 = LA(1);
                if ( (LA652_0 == DO_SYMBOL || LA652_0 == HANDLER_SYMBOL || LA652_0 == TRUNCATE_SYMBOL || LA652_0 == ALTER_SYMBOL || LA652_0 == CALL_SYMBOL || LA652_0 == CREATE_SYMBOL || LA652_0 == DELETE_SYMBOL || LA652_0 == DROP_SYMBOL || LA652_0 == INSERT_SYMBOL || LA652_0 == LOAD_SYMBOL || LA652_0 == OPEN_PAR_SYMBOL || LA652_0 == RENAME_SYMBOL || LA652_0 == REPLACE_SYMBOL || LA652_0 == SELECT_SYMBOL || LA652_0 == UPDATE_SYMBOL))
                {
                    alt652=1;
                }
                else if ( ((SERVER_VERSION >= 50100)) && (LA652_0 == PARTITION_SYMBOL))
                {
                    alt652=1;
                }
                else if ( (LA652_0 == CHECKSUM_SYMBOL || LA652_0 == COMMIT_SYMBOL || LA652_0 == DEALLOCATE_SYMBOL || LA652_0 == EXECUTE_SYMBOL || LA652_0 == PREPARE_SYMBOL || LA652_0 == REPAIR_SYMBOL || ((LA652_0 >= ROLLBACK_SYMBOL) && (LA652_0 <= SAVEPOINT_SYMBOL)) || ((LA652_0 >= START_SYMBOL) && (LA652_0 <= STOP_SYMBOL)) || LA652_0 == XA_SYMBOL || LA652_0 == CHANGE_SYMBOL || LA652_0 == CHECK_SYMBOL || LA652_0 == GRANT_SYMBOL || LA652_0 == LOCK_SYMBOL || LA652_0 == OPTIMIZE_SYMBOL || LA652_0 == PURGE_SYMBOL || LA652_0 == RELEASE_SYMBOL || LA652_0 == REVOKE_SYMBOL || LA652_0 == SET_SYMBOL || LA652_0 == UNLOCK_SYMBOL))
                {
                    alt652=1;
                }
                else if ( (LA652_0 == BEGIN_SYMBOL))
                {
                    {
                        int LA652_18 = LA(2);
                        if ( (LA652_18 == WORK_SYMBOL))
                        {
                            {
                                int LA652_72 = LA(3);
                                if ( (!( ((LA(2) != WORK_SYMBOL)) )))
                                {
                                    alt652=1;
                                }
                                else if ( ((LA(2) != WORK_SYMBOL)))
                                {
                                    alt652=2;
                                }
                                else
                                {
                                    if (BACKTRACKING>0)
                                    {
                                        FAILEDFLAG = ANTLR3_TRUE;
                                        return retval;
                                    }


                                    CONSTRUCTEX();
                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                    EXCEPTION->message      = (void *)"";
                                    EXCEPTION->decisionNum  = 652;
                                    EXCEPTION->state        = 72;


                                    goto rulecompound_statementEx;

                                }
                            }
                        }
                        else if ( (LA652_18 == EOF || LA652_18 == SEMICOLON_SYMBOL))
                        {
                            alt652=1;
                        }
                        else if ( (((LA652_18 >= ACTION_SYMBOL) && (LA652_18 <= WEIGHT_STRING_SYMBOL)) || ((LA652_18 >= X509_SYMBOL) && (LA652_18 <= YEAR_SYMBOL)) || ((LA652_18 >= BACKUP_SYMBOL) && (LA652_18 <= BEGIN_SYMBOL)) || LA652_18 == CACHE_SYMBOL || ((LA652_18 >= CHECKSUM_SYMBOL) && (LA652_18 <= CLOSE_SYMBOL)) || LA652_18 == COMMIT_SYMBOL || ((LA652_18 >= DEALLOCATE_SYMBOL) && (LA652_18 <= FLUSH_SYMBOL)) || ((LA652_18 >= HANDLER_SYMBOL) && (LA652_18 <= HELP_SYMBOL)) || LA652_18 == INSTALL_SYMBOL || LA652_18 == OPEN_SYMBOL || LA652_18 == PREPARE_SYMBOL || ((LA652_18 >= REPAIR_SYMBOL) && (LA652_18 <= SAVEPOINT_SYMBOL)) || ((LA652_18 >= START_SYMBOL) && (LA652_18 <= TRUNCATE_SYMBOL)) || LA652_18 == UNINSTALL_SYMBOL || ((LA652_18 >= XA_SYMBOL) && (LA652_18 <= PARTITION_SYMBOL)) || LA652_18 == ALTER_SYMBOL || LA652_18 == BACK_TICK_QUOTED_ID || LA652_18 == CALL_SYMBOL || LA652_18 == CASE_SYMBOL || LA652_18 == CHANGE_SYMBOL || LA652_18 == CHECK_SYMBOL || LA652_18 == CREATE_SYMBOL || LA652_18 == DECLARE_SYMBOL || ((LA652_18 >= DELETE_SYMBOL) && (LA652_18 <= DESC_SYMBOL)) || LA652_18 == DOUBLE_QUOTED_TEXT || LA652_18 == DROP_SYMBOL || LA652_18 == FETCH_SYMBOL || ((LA652_18 >= GET_SYMBOL) && (LA652_18 <= GRANT_SYMBOL)) || ((LA652_18 >= IDENTIFIER) && (LA652_18 <= IF_SYMBOL)) || LA652_18 == INSERT_SYMBOL || LA652_18 == ITERATE_SYMBOL || LA652_18 == KILL_SYMBOL || LA652_18 == LEAVE_SYMBOL || LA652_18 == LOAD_SYMBOL || LA652_18 == LOCK_SYMBOL || LA652_18 == LOOP_SYMBOL || ((LA652_18 >= OPEN_PAR_SYMBOL) && (LA652_18 <= OPTIMIZE_SYMBOL)) || LA652_18 == PURGE_SYMBOL || ((LA652_18 >= RELEASE_SYMBOL) && (LA652_18 <= REPLACE_SYMBOL)) || LA652_18 == RESIGNAL_SYMBOL || ((LA652_18 >= RETURN_SYMBOL) && (LA652_18 <= REVOKE_SYMBOL)) || LA652_18 == SELECT_SYMBOL || LA652_18 == SET_SYMBOL || ((LA652_18 >= SHOW_SYMBOL) && (LA652_18 <= SIGNAL_SYMBOL)) || LA652_18 == UNLOCK_SYMBOL || LA652_18 == UPDATE_SYMBOL || LA652_18 == USE_SYMBOL || LA652_18 == WHILE_SYMBOL))
                        {
                            alt652=2;
                        }
                        else
                        {
                            if (BACKTRACKING>0)
                            {
                                FAILEDFLAG = ANTLR3_TRUE;
                                return retval;
                            }


                            CONSTRUCTEX();
                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                            EXCEPTION->message      = (void *)"";
                            EXCEPTION->decisionNum  = 652;
                            EXCEPTION->state        = 18;


                            goto rulecompound_statementEx;

                        }
                    }
                }
                else if ( (LA652_0 == ANALYZE_SYMBOL))
                {
                    switch ( LA(2) )
                    {
                    case LOCAL_SYMBOL:
                    case NO_WRITE_TO_BINLOG_SYMBOL:
                    case TABLE_SYMBOL:
                    	{
                    		alt652=1;
                    	}
                        break;
                    case COLON_SYMBOL:
                    	{
                    		alt652=2;
                    	}
                        break;

                    default:
                        if (BACKTRACKING>0)
                        {
                            FAILEDFLAG = ANTLR3_TRUE;
                            return retval;
                        }

                        CONSTRUCTEX();
                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                        EXCEPTION->message      = (void *)"";
                        EXCEPTION->decisionNum  = 652;
                        EXCEPTION->state        = 35;


                        goto rulecompound_statementEx;

                    }

                }
                else if ( ((SERVER_VERSION < 50500)) && (LA652_0 == BACKUP_SYMBOL || LA652_0 == RESTORE_SYMBOL))
                {
                    alt652=1;
                }
                else if ( (LA652_0 == CACHE_SYMBOL || LA652_0 == FLUSH_SYMBOL || LA652_0 == HELP_SYMBOL || LA652_0 == INSTALL_SYMBOL || LA652_0 == RESET_SYMBOL || LA652_0 == UNINSTALL_SYMBOL || ((LA652_0 >= DESCRIBE_SYMBOL) && (LA652_0 <= DESC_SYMBOL)) || LA652_0 == KILL_SYMBOL || LA652_0 == SHOW_SYMBOL || LA652_0 == USE_SYMBOL))
                {
                    alt652=1;
                }
                else if ( (LA652_0 == BINLOG_SYMBOL))
                {
                    switch ( LA(2) )
                    {
                    case DOUBLE_QUOTED_TEXT:
                    case NCHAR_TEXT:
                    case SINGLE_QUOTED_TEXT:
                    case UNDERSCORE_CHARSET:
                    	{
                    		alt652=1;
                    	}
                        break;
                    case COLON_SYMBOL:
                    	{
                    		alt652=2;
                    	}
                        break;

                    default:
                        if (BACKTRACKING>0)
                        {
                            FAILEDFLAG = ANTLR3_TRUE;
                            return retval;
                        }

                        CONSTRUCTEX();
                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                        EXCEPTION->message      = (void *)"";
                        EXCEPTION->decisionNum  = 652;
                        EXCEPTION->state        = 45;


                        goto rulecompound_statementEx;

                    }

                }
                else if ( (LA652_0 == BACK_TICK_QUOTED_ID || LA652_0 == IDENTIFIER))
                {
                    alt652=2;
                }
                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA652_0 == DOUBLE_QUOTED_TEXT))
                {
                    alt652=2;
                }
                else if ( (((LA652_0 >= ACTION_SYMBOL) && (LA652_0 <= ALGORITHM_SYMBOL)) || ((LA652_0 >= ANY_SYMBOL) && (LA652_0 <= AVG_SYMBOL)) || ((LA652_0 >= BIT_SYMBOL) && (LA652_0 <= YEAR_SYMBOL)) || LA652_0 == LOOP_SYMBOL || LA652_0 == REPEAT_SYMBOL || LA652_0 == WHILE_SYMBOL))
                {
                    alt652=2;
                }
                else if ( (LA652_0 == CASE_SYMBOL))
                {
                    alt652=3;
                }
                else if ( (LA652_0 == IF_SYMBOL))
                {
                    alt652=4;
                }
                else if ( (LA652_0 == ITERATE_SYMBOL))
                {
                    alt652=5;
                }
                else if ( (LA652_0 == LEAVE_SYMBOL))
                {
                    alt652=6;
                }
                else if ( (LA652_0 == RETURN_SYMBOL))
                {
                    alt652=7;
                }
                else if ( (LA652_0 == OPEN_SYMBOL))
                {
                    alt652=8;
                }
                else if ( (LA652_0 == FETCH_SYMBOL))
                {
                    alt652=9;
                }
                else if ( (LA652_0 == CLOSE_SYMBOL))
                {
                    alt652=10;
                }
                else if ( ((SERVER_VERSION >= 50600)) && (LA652_0 == GET_SYMBOL))
                {
                    alt652=11;
                }
                else if ( ((SERVER_VERSION >= 50500)) && (LA652_0 == SIGNAL_SYMBOL))
                {
                    alt652=12;
                }
                else if ( ((SERVER_VERSION >= 50500)) && (LA652_0 == RESIGNAL_SYMBOL))
                {
                    alt652=13;
                }
                else
                {
                    if (BACKTRACKING>0)
                    {
                        FAILEDFLAG = ANTLR3_TRUE;
                        return retval;
                    }


                    CONSTRUCTEX();
                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    EXCEPTION->message      = (void *)"";
                    EXCEPTION->decisionNum  = 652;
                    EXCEPTION->state        = 0;


                    goto rulecompound_statementEx;

                }
            }
            switch (alt652)
            {
        	case 1:
        	    // MySQL.g:2113:2: statement
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_statement_in_compound_statement12133);
        	        statement2350=statement(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecompound_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, statement2350.tree);

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:2114:4: ( label )? ({...}? begin_end_block | loop_block | repeat_until_block | while_do_block )
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        // MySQL.g:2114:4: ( label )?
        	        {
        	            int alt650=2;
        	            {
        	                int LA650_0 = LA(1);
        	                if ( (LA650_0 == BACK_TICK_QUOTED_ID || LA650_0 == IDENTIFIER))
        	                {
        	                    alt650=1;
        	                }
        	                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA650_0 == DOUBLE_QUOTED_TEXT))
        	                {
        	                    alt650=1;
        	                }
        	                else if ( (((LA650_0 >= ACTION_SYMBOL) && (LA650_0 <= YEAR_SYMBOL))))
        	                {
        	                    alt650=1;
        	                }
        	            }
        	            switch (alt650)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2114:4: label
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_label_in_compound_statement12138);
        	        	        label2351=label(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulecompound_statementEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, label2351.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	        // MySQL.g:2115:3: ({...}? begin_end_block | loop_block | repeat_until_block | while_do_block )
        	        {
        	            int alt651=4;
        	            switch ( LA(1) )
        	            {
        	            case BEGIN_SYMBOL:
        	            	{
        	            		alt651=1;
        	            	}
        	                break;
        	            case LOOP_SYMBOL:
        	            	{
        	            		alt651=2;
        	            	}
        	                break;
        	            case REPEAT_SYMBOL:
        	            	{
        	            		alt651=3;
        	            	}
        	                break;
        	            case WHILE_SYMBOL:
        	            	{
        	            		alt651=4;
        	            	}
        	                break;

        	            default:
        	                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 rulecompound_statementEx;

        	            }

        	            switch (alt651)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2116: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_statement12150);
        	        	        begin_end_block2352=begin_end_block(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulecompound_statementEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, begin_end_block2352.tree);

        	        	    }
        	        	    break;
        	        	case 2:
        	        	    // MySQL.g:2117:6: loop_block
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_loop_block_in_compound_statement12157);
        	        	        loop_block2353=loop_block(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulecompound_statementEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, loop_block2353.tree);

        	        	    }
        	        	    break;
        	        	case 3:
        	        	    // MySQL.g:2118:6: repeat_until_block
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_repeat_until_block_in_compound_statement12164);
        	        	        repeat_until_block2354=repeat_until_block(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulecompound_statementEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, repeat_until_block2354.tree);

        	        	    }
        	        	    break;
        	        	case 4:
        	        	    // MySQL.g:2119:6: while_do_block
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_while_do_block_in_compound_statement12171);
        	        	        while_do_block2355=while_do_block(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulecompound_statementEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, while_do_block2355.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 3:
        	    // MySQL.g:2121:4: case_statement
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_case_statement_in_compound_statement12180);
        	        case_statement2356=case_statement(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecompound_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, case_statement2356.tree);

        	    }
        	    break;
        	case 4:
        	    // MySQL.g:2122:4: if_statement
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_if_statement_in_compound_statement12185);
        	        if_statement2357=if_statement(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecompound_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, if_statement2357.tree);

        	    }
        	    break;
        	case 5:
        	    // MySQL.g:2123:4: iterate_statement
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_iterate_statement_in_compound_statement12190);
        	        iterate_statement2358=iterate_statement(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecompound_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, iterate_statement2358.tree);

        	    }
        	    break;
        	case 6:
        	    // MySQL.g:2124:4: leave_statement
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_leave_statement_in_compound_statement12195);
        	        leave_statement2359=leave_statement(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecompound_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, leave_statement2359.tree);

        	    }
        	    break;
        	case 7:
        	    // MySQL.g:2125:4: return_statement
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_return_statement_in_compound_statement12200);
        	        return_statement2360=return_statement(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecompound_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, return_statement2360.tree);

        	    }
        	    break;
        	case 8:
        	    // MySQL.g:2127:4: cursor_open
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_cursor_open_in_compound_statement12207);
        	        cursor_open2361=cursor_open(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecompound_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, cursor_open2361.tree);

        	    }
        	    break;
        	case 9:
        	    // MySQL.g:2128:4: cursor_fetch
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_cursor_fetch_in_compound_statement12212);
        	        cursor_fetch2362=cursor_fetch(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecompound_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, cursor_fetch2362.tree);

        	    }
        	    break;
        	case 10:
        	    // MySQL.g:2129:4: cursor_close
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_cursor_close_in_compound_statement12217);
        	        cursor_close2363=cursor_close(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecompound_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, cursor_close2363.tree);

        	    }
        	    break;
        	case 11:
        	    // MySQL.g:2131: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_statement12228);
        	        get_diagnostics2364=get_diagnostics(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecompound_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, get_diagnostics2364.tree);

        	    }
        	    break;
        	case 12:
        	    // MySQL.g:2132: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_statement12237);
        	        signal_statement2365=signal_statement(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecompound_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, signal_statement2365.tree);

        	    }
        	    break;
        	case 13:
        	    // MySQL.g:2133: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_statement12246);
        	        resignal_statement2366=resignal_statement(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecompound_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, resignal_statement2366.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:2136: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_SYMBOL2368;
    MySQLParser_compound_statement_return compound_statement2367;
    #undef	RETURN_TYPE_compound_statement2367
    #define	RETURN_TYPE_compound_statement2367 MySQLParser_compound_statement_return

    pANTLR3_BASE_TREE SEMICOLON_SYMBOL2368_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    SEMICOLON_SYMBOL2368       = NULL;
    compound_statement2367.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    SEMICOLON_SYMBOL2368_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2136:24: ( ( compound_statement SEMICOLON_SYMBOL )+ )
        // MySQL.g:2137:2: ( compound_statement SEMICOLON_SYMBOL )+
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            // MySQL.g:2137:2: ( compound_statement SEMICOLON_SYMBOL )+
            {
                int cnt653=0;

                for (;;)
                {
                    int alt653=2;
            	{
            	   /* dfaLoopbackState(k,edges,eotPredictsAlt,description,stateNumber,semPredState)
            	    */
            	    int LA653_0 = LA(1);
            	    if ( (LA653_0 == UNTIL_SYMBOL))
            	    {
            	        switch ( LA(2) )
            	        {
            	        case COLON_SYMBOL:
            	        	{
            	        		alt653=1;
            	        	}
            	            break;

            	        }

            	    }
            	    else if ( (LA653_0 == DO_SYMBOL || LA653_0 == HANDLER_SYMBOL || LA653_0 == TRUNCATE_SYMBOL || LA653_0 == ALTER_SYMBOL || LA653_0 == CALL_SYMBOL || LA653_0 == CREATE_SYMBOL || LA653_0 == DELETE_SYMBOL || LA653_0 == DROP_SYMBOL || LA653_0 == INSERT_SYMBOL || LA653_0 == LOAD_SYMBOL || LA653_0 == OPEN_PAR_SYMBOL || LA653_0 == RENAME_SYMBOL || LA653_0 == REPLACE_SYMBOL || LA653_0 == SELECT_SYMBOL || LA653_0 == UPDATE_SYMBOL))
            	    {
            	        alt653=1;
            	    }
            	    else if ( ((SERVER_VERSION >= 50100)) && (LA653_0 == PARTITION_SYMBOL))
            	    {
            	        alt653=1;
            	    }
            	    else if ( (LA653_0 == ANALYZE_SYMBOL || LA653_0 == BEGIN_SYMBOL || LA653_0 == CHECKSUM_SYMBOL || LA653_0 == COMMIT_SYMBOL || LA653_0 == DEALLOCATE_SYMBOL || LA653_0 == EXECUTE_SYMBOL || LA653_0 == PREPARE_SYMBOL || LA653_0 == REPAIR_SYMBOL || ((LA653_0 >= ROLLBACK_SYMBOL) && (LA653_0 <= SAVEPOINT_SYMBOL)) || ((LA653_0 >= START_SYMBOL) && (LA653_0 <= STOP_SYMBOL)) || LA653_0 == XA_SYMBOL || LA653_0 == CHANGE_SYMBOL || LA653_0 == CHECK_SYMBOL || LA653_0 == GRANT_SYMBOL || LA653_0 == LOCK_SYMBOL || LA653_0 == OPTIMIZE_SYMBOL || LA653_0 == PURGE_SYMBOL || LA653_0 == RELEASE_SYMBOL || LA653_0 == REVOKE_SYMBOL || LA653_0 == SET_SYMBOL || LA653_0 == UNLOCK_SYMBOL))
            	    {
            	        alt653=1;
            	    }
            	    else if ( ((SERVER_VERSION < 50500)) && (LA653_0 == BACKUP_SYMBOL || LA653_0 == RESTORE_SYMBOL))
            	    {
            	        alt653=1;
            	    }
            	    else if ( (LA653_0 == BINLOG_SYMBOL || LA653_0 == CACHE_SYMBOL || LA653_0 == FLUSH_SYMBOL || LA653_0 == HELP_SYMBOL || LA653_0 == INSTALL_SYMBOL || LA653_0 == RESET_SYMBOL || LA653_0 == UNINSTALL_SYMBOL || LA653_0 == BACK_TICK_QUOTED_ID || ((LA653_0 >= DESCRIBE_SYMBOL) && (LA653_0 <= DESC_SYMBOL)) || LA653_0 == IDENTIFIER || LA653_0 == KILL_SYMBOL || LA653_0 == SHOW_SYMBOL || LA653_0 == USE_SYMBOL))
            	    {
            	        alt653=1;
            	    }
            	    else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA653_0 == DOUBLE_QUOTED_TEXT))
            	    {
            	        alt653=1;
            	    }
            	    else if ( (((LA653_0 >= ACTION_SYMBOL) && (LA653_0 <= ALGORITHM_SYMBOL)) || ((LA653_0 >= ANY_SYMBOL) && (LA653_0 <= AVG_SYMBOL)) || ((LA653_0 >= BIT_SYMBOL) && (LA653_0 <= UNKNOWN_SYMBOL)) || ((LA653_0 >= USER_RESOURCES_SYMBOL) && (LA653_0 <= YEAR_SYMBOL)) || LA653_0 == CLOSE_SYMBOL || LA653_0 == OPEN_SYMBOL || LA653_0 == CASE_SYMBOL || LA653_0 == FETCH_SYMBOL || LA653_0 == IF_SYMBOL || LA653_0 == ITERATE_SYMBOL || LA653_0 == LEAVE_SYMBOL || LA653_0 == LOOP_SYMBOL || LA653_0 == REPEAT_SYMBOL || LA653_0 == RETURN_SYMBOL || LA653_0 == WHILE_SYMBOL))
            	    {
            	        alt653=1;
            	    }
            	    else if ( ((SERVER_VERSION >= 50600)) && (LA653_0 == GET_SYMBOL))
            	    {
            	        alt653=1;
            	    }
            	    else if ( ((SERVER_VERSION >= 50500)) && (LA653_0 == RESIGNAL_SYMBOL || LA653_0 == SIGNAL_SYMBOL))
            	    {
            	        alt653=1;
            	    }

            	}
            	switch (alt653)
            	{
            	    case 1:
            	        // MySQL.g:2137:3: compound_statement SEMICOLON_SYMBOL
            	        {
            	            FOLLOWPUSH(FOLLOW_compound_statement_in_compound_statement_list12256);
            	            compound_statement2367=compound_statement(ctx);

            	            FOLLOWPOP();
            	            if  (HASEXCEPTION())
            	            {
            	                goto rulecompound_statement_listEx;
            	            }
            	            if (HASFAILED())
            	            {
            	                return retval;
            	            }

            	            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, compound_statement2367.tree);

            	            SEMICOLON_SYMBOL2368 = (pANTLR3_COMMON_TOKEN) MATCHT(SEMICOLON_SYMBOL, &FOLLOW_SEMICOLON_SYMBOL_in_compound_statement_list12258);
            	            if  (HASEXCEPTION())
            	            {
            	                goto rulecompound_statement_listEx;
            	            }
            	            if (HASFAILED())
            	            {
            	                return retval;
            	            }

            	            if ( BACKTRACKING==0 ) {
            	            SEMICOLON_SYMBOL2368_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SEMICOLON_SYMBOL2368));
            	            ADAPTOR->addChild(ADAPTOR, root_0, SEMICOLON_SYMBOL2368_tree);
            	            }

            	        }
            	        break;

            	    default:

            		if ( cnt653 >= 1 )
            		{
            		    goto loop653;
            		}
            		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;
            	}
            	cnt653++;
                }
                loop653: ;	/* 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:2140: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_SYMBOL2370;
    MySQLParser_label_identifier_return label_identifier2369;
    #undef	RETURN_TYPE_label_identifier2369
    #define	RETURN_TYPE_label_identifier2369 MySQLParser_label_identifier_return

    pANTLR3_BASE_TREE COLON_SYMBOL2370_tree;
    pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_COLON_SYMBOL;
    pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_label_identifier;
    /* Initialize rule variables
     */

    root_0 = NULL;

    COLON_SYMBOL2370       = NULL;
    label_identifier2369.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    COLON_SYMBOL2370_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:2140:6: ( label_identifier COLON_SYMBOL -> ^( LABEL_TOKEN label_identifier COLON_SYMBOL ) )
        // MySQL.g:2142:2: label_identifier COLON_SYMBOL
        {
            FOLLOWPUSH(FOLLOW_label_identifier_in_label12271);
            label_identifier2369=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_identifier2369.tree, NULL); }

            COLON_SYMBOL2370 = (pANTLR3_COMMON_TOKEN) MATCHT(COLON_SYMBOL, &FOLLOW_COLON_SYMBOL_in_label12273);
            if  (HASEXCEPTION())
            {
                goto rulelabelEx;
            }
            if (HASFAILED())
            {
                return retval;
            }
             
            if ( BACKTRACKING==0 ) { CREATE_stream_COLON_SYMBOL; stream_COLON_SYMBOL->add(stream_COLON_SYMBOL, COLON_SYMBOL2370, 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;
            	// 2142:32: -> ^( LABEL_TOKEN label_identifier COLON_SYMBOL )
            	{
            	    // MySQL.g:2142: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:2145: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_identifier2371;
    #undef	RETURN_TYPE_pure_identifier2371
    #define	RETURN_TYPE_pure_identifier2371 MySQLParser_pure_identifier_return

    MySQLParser_keyword_sp_return keyword_sp2372;
    #undef	RETURN_TYPE_keyword_sp2372
    #define	RETURN_TYPE_keyword_sp2372 MySQLParser_keyword_sp_return


    /* Initialize rule variables
     */

    root_0 = NULL;

    pure_identifier2371.tree = NULL;

    keyword_sp2372.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;




    retval.tree  = NULL;

    {
        {
            //  MySQL.g:2145:17: ( pure_identifier | keyword_sp )

            ANTLR3_UINT32 alt654;

            alt654=2;

            {
                int LA654_0 = LA(1);
                if ( (LA654_0 == BACK_TICK_QUOTED_ID || LA654_0 == IDENTIFIER))
                {
                    alt654=1;
                }
                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA654_0 == DOUBLE_QUOTED_TEXT))
                {
                    alt654=1;
                }
                else if ( (((LA654_0 >= ACTION_SYMBOL) && (LA654_0 <= YEAR_SYMBOL))))
                {
                    alt654=2;
                }
                else
                {
                    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 rulelabel_identifierEx;

                }
            }
            switch (alt654)
            {
        	case 1:
        	    // MySQL.g:2146:2: pure_identifier
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_pure_identifier_in_label_identifier12292);
        	        pure_identifier2371=pure_identifier(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulelabel_identifierEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, pure_identifier2371.tree);

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:2146:20: keyword_sp
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_keyword_sp_in_label_identifier12296);
        	        keyword_sp2372=keyword_sp(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulelabel_identifierEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, keyword_sp2372.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:2149: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_SYMBOL2373;
    pANTLR3_COMMON_TOKEN    END_SYMBOL2376;
    MySQLParser_declarations_return declarations2374;
    #undef	RETURN_TYPE_declarations2374
    #define	RETURN_TYPE_declarations2374 MySQLParser_declarations_return

    MySQLParser_compound_statement_list_return compound_statement_list2375;
    #undef	RETURN_TYPE_compound_statement_list2375
    #define	RETURN_TYPE_compound_statement_list2375 MySQLParser_compound_statement_list_return

    MySQLParser_label_identifier_return label_identifier2377;
    #undef	RETURN_TYPE_label_identifier2377
    #define	RETURN_TYPE_label_identifier2377 MySQLParser_label_identifier_return

    pANTLR3_BASE_TREE BEGIN_SYMBOL2373_tree;
    pANTLR3_BASE_TREE END_SYMBOL2376_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    BEGIN_SYMBOL2373       = NULL;
    END_SYMBOL2376       = NULL;
    declarations2374.tree = NULL;

    compound_statement_list2375.tree = NULL;

    label_identifier2377.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    BEGIN_SYMBOL2373_tree   = NULL;
    END_SYMBOL2376_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2149:16: ( BEGIN_SYMBOL ^ declarations ( compound_statement_list )? END_SYMBOL ( label_identifier )? )
        // MySQL.g:2150:2: BEGIN_SYMBOL ^ declarations ( compound_statement_list )? END_SYMBOL ( label_identifier )?
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            BEGIN_SYMBOL2373 = (pANTLR3_COMMON_TOKEN) MATCHT(BEGIN_SYMBOL, &FOLLOW_BEGIN_SYMBOL_in_begin_end_block12306);
            if  (HASEXCEPTION())
            {
                goto rulebegin_end_blockEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            BEGIN_SYMBOL2373_tree = 
            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, BEGIN_SYMBOL2373))
            ;
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, BEGIN_SYMBOL2373_tree, root_0));
            }

            FOLLOWPUSH(FOLLOW_declarations_in_begin_end_block12309);
            declarations2374=declarations(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulebegin_end_blockEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, declarations2374.tree);

            // MySQL.g:2150:29: ( compound_statement_list )?
            {
                int alt655=2;
                {
                    int LA655_0 = LA(1);
                    if ( (LA655_0 == DO_SYMBOL || LA655_0 == HANDLER_SYMBOL || LA655_0 == TRUNCATE_SYMBOL || LA655_0 == ALTER_SYMBOL || LA655_0 == CALL_SYMBOL || LA655_0 == CREATE_SYMBOL || LA655_0 == DELETE_SYMBOL || LA655_0 == DROP_SYMBOL || LA655_0 == INSERT_SYMBOL || LA655_0 == LOAD_SYMBOL || LA655_0 == OPEN_PAR_SYMBOL || LA655_0 == RENAME_SYMBOL || LA655_0 == REPLACE_SYMBOL || LA655_0 == SELECT_SYMBOL || LA655_0 == UPDATE_SYMBOL))
                    {
                        alt655=1;
                    }
                    else if ( ((SERVER_VERSION >= 50100)) && (LA655_0 == PARTITION_SYMBOL))
                    {
                        alt655=1;
                    }
                    else if ( (LA655_0 == ANALYZE_SYMBOL || LA655_0 == BEGIN_SYMBOL || LA655_0 == CHECKSUM_SYMBOL || LA655_0 == COMMIT_SYMBOL || LA655_0 == DEALLOCATE_SYMBOL || LA655_0 == EXECUTE_SYMBOL || LA655_0 == PREPARE_SYMBOL || LA655_0 == REPAIR_SYMBOL || ((LA655_0 >= ROLLBACK_SYMBOL) && (LA655_0 <= SAVEPOINT_SYMBOL)) || ((LA655_0 >= START_SYMBOL) && (LA655_0 <= STOP_SYMBOL)) || LA655_0 == XA_SYMBOL || LA655_0 == CHANGE_SYMBOL || LA655_0 == CHECK_SYMBOL || LA655_0 == GRANT_SYMBOL || LA655_0 == LOCK_SYMBOL || LA655_0 == OPTIMIZE_SYMBOL || LA655_0 == PURGE_SYMBOL || LA655_0 == RELEASE_SYMBOL || LA655_0 == REVOKE_SYMBOL || LA655_0 == SET_SYMBOL || LA655_0 == UNLOCK_SYMBOL))
                    {
                        alt655=1;
                    }
                    else if ( ((SERVER_VERSION < 50500)) && (LA655_0 == BACKUP_SYMBOL || LA655_0 == RESTORE_SYMBOL))
                    {
                        alt655=1;
                    }
                    else if ( (LA655_0 == BINLOG_SYMBOL || LA655_0 == CACHE_SYMBOL || LA655_0 == FLUSH_SYMBOL || LA655_0 == HELP_SYMBOL || LA655_0 == INSTALL_SYMBOL || LA655_0 == RESET_SYMBOL || LA655_0 == UNINSTALL_SYMBOL || LA655_0 == BACK_TICK_QUOTED_ID || ((LA655_0 >= DESCRIBE_SYMBOL) && (LA655_0 <= DESC_SYMBOL)) || LA655_0 == IDENTIFIER || LA655_0 == KILL_SYMBOL || LA655_0 == SHOW_SYMBOL || LA655_0 == USE_SYMBOL))
                    {
                        alt655=1;
                    }
                    else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA655_0 == DOUBLE_QUOTED_TEXT))
                    {
                        alt655=1;
                    }
                    else if ( (((LA655_0 >= ACTION_SYMBOL) && (LA655_0 <= ALGORITHM_SYMBOL)) || ((LA655_0 >= ANY_SYMBOL) && (LA655_0 <= AVG_SYMBOL)) || ((LA655_0 >= BIT_SYMBOL) && (LA655_0 <= YEAR_SYMBOL)) || LA655_0 == CLOSE_SYMBOL || LA655_0 == OPEN_SYMBOL || LA655_0 == CASE_SYMBOL || LA655_0 == FETCH_SYMBOL || LA655_0 == IF_SYMBOL || LA655_0 == ITERATE_SYMBOL || LA655_0 == LEAVE_SYMBOL || LA655_0 == LOOP_SYMBOL || LA655_0 == REPEAT_SYMBOL || LA655_0 == RETURN_SYMBOL || LA655_0 == WHILE_SYMBOL))
                    {
                        alt655=1;
                    }
                    else if ( ((SERVER_VERSION >= 50600)) && (LA655_0 == GET_SYMBOL))
                    {
                        alt655=1;
                    }
                    else if ( ((SERVER_VERSION >= 50500)) && (LA655_0 == RESIGNAL_SYMBOL || LA655_0 == SIGNAL_SYMBOL))
                    {
                        alt655=1;
                    }
                }
                switch (alt655)
                {
            	case 1:
            	    // MySQL.g:2150:29: compound_statement_list
            	    {
            	        FOLLOWPUSH(FOLLOW_compound_statement_list_in_begin_end_block12311);
            	        compound_statement_list2375=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_list2375.tree);

            	    }
            	    break;

                }
            }

            END_SYMBOL2376 = (pANTLR3_COMMON_TOKEN) MATCHT(END_SYMBOL, &FOLLOW_END_SYMBOL_in_begin_end_block12314);
            if  (HASEXCEPTION())
            {
                goto rulebegin_end_blockEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            END_SYMBOL2376_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, END_SYMBOL2376));
            ADAPTOR->addChild(ADAPTOR, root_0, END_SYMBOL2376_tree);
            }

            // MySQL.g:2150:65: ( label_identifier )?
            {
                int alt656=2;
                {
                    int LA656_0 = LA(1);
                    if ( (LA656_0 == BACK_TICK_QUOTED_ID || LA656_0 == IDENTIFIER))
                    {
                        alt656=1;
                    }
                    else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA656_0 == DOUBLE_QUOTED_TEXT))
                    {
                        alt656=1;
                    }
                    else if ( (((LA656_0 >= ACTION_SYMBOL) && (LA656_0 <= YEAR_SYMBOL))))
                    {
                        alt656=1;
                    }
                }
                switch (alt656)
                {
            	case 1:
            	    // MySQL.g:2150:65: label_identifier
            	    {
            	        FOLLOWPUSH(FOLLOW_label_identifier_in_begin_end_block12316);
            	        label_identifier2377=label_identifier(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulebegin_end_blockEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, label_identifier2377.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:2153: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_SYMBOL2378;
    pANTLR3_COMMON_TOKEN    END_SYMBOL2380;
    pANTLR3_COMMON_TOKEN    LOOP_SYMBOL2381;
    MySQLParser_compound_statement_list_return compound_statement_list2379;
    #undef	RETURN_TYPE_compound_statement_list2379
    #define	RETURN_TYPE_compound_statement_list2379 MySQLParser_compound_statement_list_return

    MySQLParser_label_identifier_return label_identifier2382;
    #undef	RETURN_TYPE_label_identifier2382
    #define	RETURN_TYPE_label_identifier2382 MySQLParser_label_identifier_return

    pANTLR3_BASE_TREE LOOP_SYMBOL2378_tree;
    pANTLR3_BASE_TREE END_SYMBOL2380_tree;
    pANTLR3_BASE_TREE LOOP_SYMBOL2381_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    LOOP_SYMBOL2378       = NULL;
    END_SYMBOL2380       = NULL;
    LOOP_SYMBOL2381       = NULL;
    compound_statement_list2379.tree = NULL;

    label_identifier2382.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    LOOP_SYMBOL2378_tree   = NULL;
    END_SYMBOL2380_tree   = NULL;
    LOOP_SYMBOL2381_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2153:11: ( LOOP_SYMBOL ^ compound_statement_list END_SYMBOL LOOP_SYMBOL ( label_identifier )? )
        // MySQL.g:2154:2: LOOP_SYMBOL ^ compound_statement_list END_SYMBOL LOOP_SYMBOL ( label_identifier )?
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            LOOP_SYMBOL2378 = (pANTLR3_COMMON_TOKEN) MATCHT(LOOP_SYMBOL, &FOLLOW_LOOP_SYMBOL_in_loop_block12326);
            if  (HASEXCEPTION())
            {
                goto ruleloop_blockEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            LOOP_SYMBOL2378_tree = 
            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, LOOP_SYMBOL2378))
            ;
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, LOOP_SYMBOL2378_tree, root_0));
            }

            FOLLOWPUSH(FOLLOW_compound_statement_list_in_loop_block12329);
            compound_statement_list2379=compound_statement_list(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruleloop_blockEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, compound_statement_list2379.tree);

            END_SYMBOL2380 = (pANTLR3_COMMON_TOKEN) MATCHT(END_SYMBOL, &FOLLOW_END_SYMBOL_in_loop_block12331);
            if  (HASEXCEPTION())
            {
                goto ruleloop_blockEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            END_SYMBOL2380_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, END_SYMBOL2380));
            ADAPTOR->addChild(ADAPTOR, root_0, END_SYMBOL2380_tree);
            }

            LOOP_SYMBOL2381 = (pANTLR3_COMMON_TOKEN) MATCHT(LOOP_SYMBOL, &FOLLOW_LOOP_SYMBOL_in_loop_block12333);
            if  (HASEXCEPTION())
            {
                goto ruleloop_blockEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            LOOP_SYMBOL2381_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, LOOP_SYMBOL2381));
            ADAPTOR->addChild(ADAPTOR, root_0, LOOP_SYMBOL2381_tree);
            }

            // MySQL.g:2154:62: ( label_identifier )?
            {
                int alt657=2;
                {
                    int LA657_0 = LA(1);
                    if ( (LA657_0 == BACK_TICK_QUOTED_ID || LA657_0 == IDENTIFIER))
                    {
                        alt657=1;
                    }
                    else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA657_0 == DOUBLE_QUOTED_TEXT))
                    {
                        alt657=1;
                    }
                    else if ( (((LA657_0 >= ACTION_SYMBOL) && (LA657_0 <= YEAR_SYMBOL))))
                    {
                        alt657=1;
                    }
                }
                switch (alt657)
                {
            	case 1:
            	    // MySQL.g:2154:62: label_identifier
            	    {
            	        FOLLOWPUSH(FOLLOW_label_identifier_in_loop_block12335);
            	        label_identifier2382=label_identifier(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleloop_blockEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, label_identifier2382.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:2157: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_SYMBOL2383;
    pANTLR3_COMMON_TOKEN    UNTIL_SYMBOL2385;
    pANTLR3_COMMON_TOKEN    END_SYMBOL2387;
    pANTLR3_COMMON_TOKEN    REPEAT_SYMBOL2388;
    MySQLParser_compound_statement_list_return compound_statement_list2384;
    #undef	RETURN_TYPE_compound_statement_list2384
    #define	RETURN_TYPE_compound_statement_list2384 MySQLParser_compound_statement_list_return

    MySQLParser_expression_return expression2386;
    #undef	RETURN_TYPE_expression2386
    #define	RETURN_TYPE_expression2386 MySQLParser_expression_return

    MySQLParser_label_identifier_return label_identifier2389;
    #undef	RETURN_TYPE_label_identifier2389
    #define	RETURN_TYPE_label_identifier2389 MySQLParser_label_identifier_return

    pANTLR3_BASE_TREE REPEAT_SYMBOL2383_tree;
    pANTLR3_BASE_TREE UNTIL_SYMBOL2385_tree;
    pANTLR3_BASE_TREE END_SYMBOL2387_tree;
    pANTLR3_BASE_TREE REPEAT_SYMBOL2388_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    REPEAT_SYMBOL2383       = NULL;
    UNTIL_SYMBOL2385       = NULL;
    END_SYMBOL2387       = NULL;
    REPEAT_SYMBOL2388       = NULL;
    compound_statement_list2384.tree = NULL;

    expression2386.tree = NULL;

    label_identifier2389.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    REPEAT_SYMBOL2383_tree   = NULL;
    UNTIL_SYMBOL2385_tree   = NULL;
    END_SYMBOL2387_tree   = NULL;
    REPEAT_SYMBOL2388_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2157:19: ( REPEAT_SYMBOL ^ compound_statement_list UNTIL_SYMBOL expression END_SYMBOL REPEAT_SYMBOL ( label_identifier )? )
        // MySQL.g:2158:2: REPEAT_SYMBOL ^ compound_statement_list UNTIL_SYMBOL expression END_SYMBOL REPEAT_SYMBOL ( label_identifier )?
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            REPEAT_SYMBOL2383 = (pANTLR3_COMMON_TOKEN) MATCHT(REPEAT_SYMBOL, &FOLLOW_REPEAT_SYMBOL_in_repeat_until_block12345);
            if  (HASEXCEPTION())
            {
                goto rulerepeat_until_blockEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            REPEAT_SYMBOL2383_tree = 
            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, REPEAT_SYMBOL2383))
            ;
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, REPEAT_SYMBOL2383_tree, root_0));
            }

            FOLLOWPUSH(FOLLOW_compound_statement_list_in_repeat_until_block12348);
            compound_statement_list2384=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_list2384.tree);

            UNTIL_SYMBOL2385 = (pANTLR3_COMMON_TOKEN) MATCHT(UNTIL_SYMBOL, &FOLLOW_UNTIL_SYMBOL_in_repeat_until_block12350);
            if  (HASEXCEPTION())
            {
                goto rulerepeat_until_blockEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            UNTIL_SYMBOL2385_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, UNTIL_SYMBOL2385));
            ADAPTOR->addChild(ADAPTOR, root_0, UNTIL_SYMBOL2385_tree);
            }

            FOLLOWPUSH(FOLLOW_expression_in_repeat_until_block12352);
            expression2386=expression(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulerepeat_until_blockEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2386.tree);

            END_SYMBOL2387 = (pANTLR3_COMMON_TOKEN) MATCHT(END_SYMBOL, &FOLLOW_END_SYMBOL_in_repeat_until_block12354);
            if  (HASEXCEPTION())
            {
                goto rulerepeat_until_blockEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            END_SYMBOL2387_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, END_SYMBOL2387));
            ADAPTOR->addChild(ADAPTOR, root_0, END_SYMBOL2387_tree);
            }

            REPEAT_SYMBOL2388 = (pANTLR3_COMMON_TOKEN) MATCHT(REPEAT_SYMBOL, &FOLLOW_REPEAT_SYMBOL_in_repeat_until_block12356);
            if  (HASEXCEPTION())
            {
                goto rulerepeat_until_blockEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            REPEAT_SYMBOL2388_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, REPEAT_SYMBOL2388));
            ADAPTOR->addChild(ADAPTOR, root_0, REPEAT_SYMBOL2388_tree);
            }

            // MySQL.g:2158:90: ( label_identifier )?
            {
                int alt658=2;
                {
                    int LA658_0 = LA(1);
                    if ( (LA658_0 == BACK_TICK_QUOTED_ID || LA658_0 == IDENTIFIER))
                    {
                        alt658=1;
                    }
                    else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA658_0 == DOUBLE_QUOTED_TEXT))
                    {
                        alt658=1;
                    }
                    else if ( (((LA658_0 >= ACTION_SYMBOL) && (LA658_0 <= YEAR_SYMBOL))))
                    {
                        alt658=1;
                    }
                }
                switch (alt658)
                {
            	case 1:
            	    // MySQL.g:2158:90: label_identifier
            	    {
            	        FOLLOWPUSH(FOLLOW_label_identifier_in_repeat_until_block12358);
            	        label_identifier2389=label_identifier(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulerepeat_until_blockEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, label_identifier2389.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:2161: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_SYMBOL2390;
    pANTLR3_COMMON_TOKEN    DO_SYMBOL2392;
    pANTLR3_COMMON_TOKEN    END_SYMBOL2394;
    pANTLR3_COMMON_TOKEN    WHILE_SYMBOL2395;
    MySQLParser_expression_return expression2391;
    #undef	RETURN_TYPE_expression2391
    #define	RETURN_TYPE_expression2391 MySQLParser_expression_return

    MySQLParser_compound_statement_list_return compound_statement_list2393;
    #undef	RETURN_TYPE_compound_statement_list2393
    #define	RETURN_TYPE_compound_statement_list2393 MySQLParser_compound_statement_list_return

    MySQLParser_label_identifier_return label_identifier2396;
    #undef	RETURN_TYPE_label_identifier2396
    #define	RETURN_TYPE_label_identifier2396 MySQLParser_label_identifier_return

    pANTLR3_BASE_TREE WHILE_SYMBOL2390_tree;
    pANTLR3_BASE_TREE DO_SYMBOL2392_tree;
    pANTLR3_BASE_TREE END_SYMBOL2394_tree;
    pANTLR3_BASE_TREE WHILE_SYMBOL2395_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    WHILE_SYMBOL2390       = NULL;
    DO_SYMBOL2392       = NULL;
    END_SYMBOL2394       = NULL;
    WHILE_SYMBOL2395       = NULL;
    expression2391.tree = NULL;

    compound_statement_list2393.tree = NULL;

    label_identifier2396.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    WHILE_SYMBOL2390_tree   = NULL;
    DO_SYMBOL2392_tree   = NULL;
    END_SYMBOL2394_tree   = NULL;
    WHILE_SYMBOL2395_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2161:15: ( WHILE_SYMBOL ^ expression DO_SYMBOL compound_statement_list END_SYMBOL WHILE_SYMBOL ( label_identifier )? )
        // MySQL.g:2162:2: WHILE_SYMBOL ^ expression DO_SYMBOL compound_statement_list END_SYMBOL WHILE_SYMBOL ( label_identifier )?
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            WHILE_SYMBOL2390 = (pANTLR3_COMMON_TOKEN) MATCHT(WHILE_SYMBOL, &FOLLOW_WHILE_SYMBOL_in_while_do_block12368);
            if  (HASEXCEPTION())
            {
                goto rulewhile_do_blockEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            WHILE_SYMBOL2390_tree = 
            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, WHILE_SYMBOL2390))
            ;
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, WHILE_SYMBOL2390_tree, root_0));
            }

            FOLLOWPUSH(FOLLOW_expression_in_while_do_block12371);
            expression2391=expression(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulewhile_do_blockEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2391.tree);

            DO_SYMBOL2392 = (pANTLR3_COMMON_TOKEN) MATCHT(DO_SYMBOL, &FOLLOW_DO_SYMBOL_in_while_do_block12373);
            if  (HASEXCEPTION())
            {
                goto rulewhile_do_blockEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            DO_SYMBOL2392_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DO_SYMBOL2392));
            ADAPTOR->addChild(ADAPTOR, root_0, DO_SYMBOL2392_tree);
            }

            FOLLOWPUSH(FOLLOW_compound_statement_list_in_while_do_block12375);
            compound_statement_list2393=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_list2393.tree);

            END_SYMBOL2394 = (pANTLR3_COMMON_TOKEN) MATCHT(END_SYMBOL, &FOLLOW_END_SYMBOL_in_while_do_block12377);
            if  (HASEXCEPTION())
            {
                goto rulewhile_do_blockEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            END_SYMBOL2394_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, END_SYMBOL2394));
            ADAPTOR->addChild(ADAPTOR, root_0, END_SYMBOL2394_tree);
            }

            WHILE_SYMBOL2395 = (pANTLR3_COMMON_TOKEN) MATCHT(WHILE_SYMBOL, &FOLLOW_WHILE_SYMBOL_in_while_do_block12379);
            if  (HASEXCEPTION())
            {
                goto rulewhile_do_blockEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            WHILE_SYMBOL2395_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, WHILE_SYMBOL2395));
            ADAPTOR->addChild(ADAPTOR, root_0, WHILE_SYMBOL2395_tree);
            }

            // MySQL.g:2162:85: ( label_identifier )?
            {
                int alt659=2;
                {
                    int LA659_0 = LA(1);
                    if ( (LA659_0 == BACK_TICK_QUOTED_ID || LA659_0 == IDENTIFIER))
                    {
                        alt659=1;
                    }
                    else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA659_0 == DOUBLE_QUOTED_TEXT))
                    {
                        alt659=1;
                    }
                    else if ( (((LA659_0 >= ACTION_SYMBOL) && (LA659_0 <= YEAR_SYMBOL))))
                    {
                        alt659=1;
                    }
                }
                switch (alt659)
                {
            	case 1:
            	    // MySQL.g:2162:85: label_identifier
            	    {
            	        FOLLOWPUSH(FOLLOW_label_identifier_in_while_do_block12381);
            	        label_identifier2396=label_identifier(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulewhile_do_blockEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, label_identifier2396.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:2165:1: declarations : ( options {greedy=true; } : 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_SYMBOL2397;
    MySQLParser_identifier_return identifier2398;
    #undef	RETURN_TYPE_identifier2398
    #define	RETURN_TYPE_identifier2398 MySQLParser_identifier_return

    MySQLParser_variable_declaration_return variable_declaration2399;
    #undef	RETURN_TYPE_variable_declaration2399
    #define	RETURN_TYPE_variable_declaration2399 MySQLParser_variable_declaration_return

    MySQLParser_condition_declaration_return condition_declaration2400;
    #undef	RETURN_TYPE_condition_declaration2400
    #define	RETURN_TYPE_condition_declaration2400 MySQLParser_condition_declaration_return

    MySQLParser_cursor_declaration_return cursor_declaration2401;
    #undef	RETURN_TYPE_cursor_declaration2401
    #define	RETURN_TYPE_cursor_declaration2401 MySQLParser_cursor_declaration_return

    MySQLParser_handler_declaration_return handler_declaration2402;
    #undef	RETURN_TYPE_handler_declaration2402
    #define	RETURN_TYPE_handler_declaration2402 MySQLParser_handler_declaration_return

    pANTLR3_BASE_TREE DECLARE_SYMBOL2397_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    DECLARE_SYMBOL2397       = NULL;
    identifier2398.tree = NULL;

    variable_declaration2399.tree = NULL;

    condition_declaration2400.tree = NULL;

    cursor_declaration2401.tree = NULL;

    handler_declaration2402.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    DECLARE_SYMBOL2397_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2165:13: ( ( options {greedy=true; } : DECLARE_SYMBOL identifier ( variable_declaration | condition_declaration ) )* ( cursor_declaration )* ( handler_declaration )* )
        // MySQL.g:2166:2: ( options {greedy=true; } : DECLARE_SYMBOL identifier ( variable_declaration | condition_declaration ) )* ( cursor_declaration )* ( handler_declaration )*
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            // MySQL.g:2166:2: ( options {greedy=true; } : DECLARE_SYMBOL identifier ( variable_declaration | condition_declaration ) )*

            for (;;)
            {
                int alt661=2;
                switch ( LA(1) )
                {
                case DECLARE_SYMBOL:
                	{
                		{
                		   /* dfaLoopbackState(k,edges,eotPredictsAlt,description,stateNumber,semPredState)
                		    */
                		    int LA661_1 = LA(2);
                		    if ( (LA661_1 == IDENTIFIER))
                		    {
                		        alt661=1;
                		    }
                		    else if ( (LA661_1 == BACK_TICK_QUOTED_ID))
                		    {
                		        alt661=1;
                		    }
                		    else if ( (LA661_1 == DOUBLE_QUOTED_TEXT))
                		    {
                		        alt661=1;
                		    }
                		    else if ( (((LA661_1 >= ACTION_SYMBOL) && (LA661_1 <= YEAR_SYMBOL))))
                		    {
                		        alt661=1;
                		    }
                		    else if ( (LA661_1 == PARTITION_SYMBOL))
                		    {
                		        alt661=1;
                		    }
                		    else if ( (((LA661_1 >= ASCII_SYMBOL) && (LA661_1 <= XA_SYMBOL))))
                		    {
                		        alt661=1;
                		    }

                		}
                	}
                    break;

                }

                switch (alt661)
                {
            	case 1:
            	    // MySQL.g:2166:32: DECLARE_SYMBOL identifier ( variable_declaration | condition_declaration )
            	    {
            	        DECLARE_SYMBOL2397 = (pANTLR3_COMMON_TOKEN) MATCHT(DECLARE_SYMBOL, &FOLLOW_DECLARE_SYMBOL_in_declarations12406);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruledeclarationsEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        DECLARE_SYMBOL2397_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DECLARE_SYMBOL2397));
            	        ADAPTOR->addChild(ADAPTOR, root_0, DECLARE_SYMBOL2397_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_identifier_in_declarations12408);
            	        identifier2398=identifier(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruledeclarationsEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier2398.tree);

            	        // MySQL.g:2166:58: ( variable_declaration | condition_declaration )
            	        {
            	            int alt660=2;
            	            {
            	                int LA660_0 = LA(1);
            	                if ( (LA660_0 == BIT_SYMBOL || ((LA660_0 >= BOOLEAN_SYMBOL) && (LA660_0 <= BOOL_SYMBOL)) || ((LA660_0 >= DATETIME_SYMBOL) && (LA660_0 <= DATE_SYMBOL)) || LA660_0 == ENUM_SYMBOL || LA660_0 == FIXED_SYMBOL || ((LA660_0 >= GEOMETRYCOLLECTION_SYMBOL) && (LA660_0 <= GEOMETRY_SYMBOL)) || LA660_0 == LINESTRING_SYMBOL || ((LA660_0 >= MULTILINESTRING_SYMBOL) && (LA660_0 <= MULTIPOLYGON_SYMBOL)) || ((LA660_0 >= NATIONAL_SYMBOL) && (LA660_0 <= NCHAR_SYMBOL)) || LA660_0 == NVARCHAR_SYMBOL || ((LA660_0 >= POINT_SYMBOL) && (LA660_0 <= POLYGON_SYMBOL)) || LA660_0 == SERIAL_SYMBOL || LA660_0 == TEXT_SYMBOL || ((LA660_0 >= TIMESTAMP_SYMBOL) && (LA660_0 <= TIME_SYMBOL)) || LA660_0 == YEAR_SYMBOL || ((LA660_0 >= BIGINT_SYMBOL) && (LA660_0 <= BINARY_SYMBOL)) || LA660_0 == BLOB_SYMBOL || LA660_0 == CHAR_SYMBOL || LA660_0 == COMMA_SYMBOL || LA660_0 == DECIMAL_SYMBOL || LA660_0 == DOUBLE_SYMBOL || LA660_0 == FLOAT_SYMBOL || LA660_0 == INTEGER_SYMBOL || LA660_0 == INT_SYMBOL || ((LA660_0 >= LONGBLOB_SYMBOL) && (LA660_0 <= LONGTEXT_SYMBOL)) || LA660_0 == LONG_SYMBOL || ((LA660_0 >= MEDIUMBLOB_SYMBOL) && (LA660_0 <= MEDIUMTEXT_SYMBOL)) || LA660_0 == NUMERIC_SYMBOL || LA660_0 == REAL_SYMBOL || LA660_0 == SET_SYMBOL || LA660_0 == SMALLINT_SYMBOL || ((LA660_0 >= TINYBLOB_SYMBOL) && (LA660_0 <= TINYTEXT_SYMBOL)) || LA660_0 == VARBINARY_SYMBOL || LA660_0 == VARCHAR_SYMBOL))
            	                {
            	                    alt660=1;
            	                }
            	                else if ( (LA660_0 == CONDITION_SYMBOL))
            	                {
            	                    alt660=2;
            	                }
            	                else
            	                {
            	                    if (BACKTRACKING>0)
            	                    {
            	                        FAILEDFLAG = ANTLR3_TRUE;
            	                        return retval;
            	                    }


            	                    CONSTRUCTEX();
            	                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
            	                    EXCEPTION->message      = (void *)"";
            	                    EXCEPTION->decisionNum  = 660;
            	                    EXCEPTION->state        = 0;


            	                    goto ruledeclarationsEx;

            	                }
            	            }
            	            switch (alt660)
            	            {
            	        	case 1:
            	        	    // MySQL.g:2166:59: variable_declaration
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_variable_declaration_in_declarations12411);
            	        	        variable_declaration2399=variable_declaration(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruledeclarationsEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, variable_declaration2399.tree);

            	        	    }
            	        	    break;
            	        	case 2:
            	        	    // MySQL.g:2166:82: condition_declaration
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_condition_declaration_in_declarations12415);
            	        	        condition_declaration2400=condition_declaration(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruledeclarationsEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, condition_declaration2400.tree);

            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;

            	default:
            	    goto loop661;	/* break out of the loop */
            	    break;
                }
            }
            loop661: ; /* Jump out to here if this rule does not match */


            // MySQL.g:2167:3: ( cursor_declaration )*

            for (;;)
            {
                int alt662=2;
                switch ( LA(1) )
                {
                case DECLARE_SYMBOL:
                	{
                		{
                		   /* dfaLoopbackState(k,edges,eotPredictsAlt,description,stateNumber,semPredState)
                		    */
                		    int LA662_1 = LA(2);
                		    if ( (((LA662_1 >= ACTION_SYMBOL) && (LA662_1 <= PARTITION_SYMBOL)) || LA662_1 == BACK_TICK_QUOTED_ID || LA662_1 == DOUBLE_QUOTED_TEXT || LA662_1 == IDENTIFIER))
                		    {
                		        alt662=1;
                		    }

                		}
                	}
                    break;

                }

                switch (alt662)
                {
            	case 1:
            	    // MySQL.g:2167:3: cursor_declaration
            	    {
            	        FOLLOWPUSH(FOLLOW_cursor_declaration_in_declarations12422);
            	        cursor_declaration2401=cursor_declaration(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruledeclarationsEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, cursor_declaration2401.tree);

            	    }
            	    break;

            	default:
            	    goto loop662;	/* break out of the loop */
            	    break;
                }
            }
            loop662: ; /* Jump out to here if this rule does not match */


            // MySQL.g:2167:23: ( handler_declaration )*

            for (;;)
            {
                int alt663=2;
                switch ( LA(1) )
                {
                case DECLARE_SYMBOL:
                	{
                		alt663=1;
                	}
                    break;

                }

                switch (alt663)
                {
            	case 1:
            	    // MySQL.g:2167:23: handler_declaration
            	    {
            	        FOLLOWPUSH(FOLLOW_handler_declaration_in_declarations12425);
            	        handler_declaration2402=handler_declaration(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruledeclarationsEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, handler_declaration2402.tree);

            	    }
            	    break;

            	default:
            	    goto loop663;	/* break out of the loop */
            	    break;
                }
            }
            loop663: ; /* 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:2170: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_SYMBOL2403;
    pANTLR3_COMMON_TOKEN    DEFAULT_SYMBOL2406;
    pANTLR3_COMMON_TOKEN    SEMICOLON_SYMBOL2408;
    MySQLParser_identifier_return identifier2404;
    #undef	RETURN_TYPE_identifier2404
    #define	RETURN_TYPE_identifier2404 MySQLParser_identifier_return

    MySQLParser_data_type_return data_type2405;
    #undef	RETURN_TYPE_data_type2405
    #define	RETURN_TYPE_data_type2405 MySQLParser_data_type_return

    MySQLParser_expression_return expression2407;
    #undef	RETURN_TYPE_expression2407
    #define	RETURN_TYPE_expression2407 MySQLParser_expression_return

    pANTLR3_BASE_TREE COMMA_SYMBOL2403_tree;
    pANTLR3_BASE_TREE DEFAULT_SYMBOL2406_tree;
    pANTLR3_BASE_TREE SEMICOLON_SYMBOL2408_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    COMMA_SYMBOL2403       = NULL;
    DEFAULT_SYMBOL2406       = NULL;
    SEMICOLON_SYMBOL2408       = NULL;
    identifier2404.tree = NULL;

    data_type2405.tree = NULL;

    expression2407.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    COMMA_SYMBOL2403_tree   = NULL;
    DEFAULT_SYMBOL2406_tree   = NULL;
    SEMICOLON_SYMBOL2408_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2170:21: ( ( COMMA_SYMBOL identifier )* data_type ( DEFAULT_SYMBOL expression )? SEMICOLON_SYMBOL )
        // MySQL.g:2171:2: ( COMMA_SYMBOL identifier )* data_type ( DEFAULT_SYMBOL expression )? SEMICOLON_SYMBOL
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            // MySQL.g:2171:2: ( COMMA_SYMBOL identifier )*

            for (;;)
            {
                int alt664=2;
                switch ( LA(1) )
                {
                case COMMA_SYMBOL:
                	{
                		alt664=1;
                	}
                    break;

                }

                switch (alt664)
                {
            	case 1:
            	    // MySQL.g:2171:3: COMMA_SYMBOL identifier
            	    {
            	        COMMA_SYMBOL2403 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_variable_declaration12436);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulevariable_declarationEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        COMMA_SYMBOL2403_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL2403));
            	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL2403_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_identifier_in_variable_declaration12438);
            	        identifier2404=identifier(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulevariable_declarationEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier2404.tree);

            	    }
            	    break;

            	default:
            	    goto loop664;	/* break out of the loop */
            	    break;
                }
            }
            loop664: ; /* Jump out to here if this rule does not match */


            FOLLOWPUSH(FOLLOW_data_type_in_variable_declaration12442);
            data_type2405=data_type(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulevariable_declarationEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, data_type2405.tree);

            // MySQL.g:2171:39: ( DEFAULT_SYMBOL expression )?
            {
                int alt665=2;
                switch ( LA(1) )
                {
                    case DEFAULT_SYMBOL:
                    	{
                    		alt665=1;
                    	}
                        break;
                }

                switch (alt665)
                {
            	case 1:
            	    // MySQL.g:2171:40: DEFAULT_SYMBOL expression
            	    {
            	        DEFAULT_SYMBOL2406 = (pANTLR3_COMMON_TOKEN) MATCHT(DEFAULT_SYMBOL, &FOLLOW_DEFAULT_SYMBOL_in_variable_declaration12445);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulevariable_declarationEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        DEFAULT_SYMBOL2406_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DEFAULT_SYMBOL2406));
            	        ADAPTOR->addChild(ADAPTOR, root_0, DEFAULT_SYMBOL2406_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_expression_in_variable_declaration12447);
            	        expression2407=expression(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulevariable_declarationEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2407.tree);

            	    }
            	    break;

                }
            }

            SEMICOLON_SYMBOL2408 = (pANTLR3_COMMON_TOKEN) MATCHT(SEMICOLON_SYMBOL, &FOLLOW_SEMICOLON_SYMBOL_in_variable_declaration12451);
            if  (HASEXCEPTION())
            {
                goto rulevariable_declarationEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            SEMICOLON_SYMBOL2408_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SEMICOLON_SYMBOL2408));
            ADAPTOR->addChild(ADAPTOR, root_0, SEMICOLON_SYMBOL2408_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:2174: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_SYMBOL2409;
    pANTLR3_COMMON_TOKEN    FOR_SYMBOL2410;
    pANTLR3_COMMON_TOKEN    INTEGER2411;
    pANTLR3_COMMON_TOKEN    SQLSTATE_SYMBOL2412;
    pANTLR3_COMMON_TOKEN    VALUE_SYMBOL2413;
    pANTLR3_COMMON_TOKEN    SEMICOLON_SYMBOL2415;
    MySQLParser_string_literal_return string_literal2414;
    #undef	RETURN_TYPE_string_literal2414
    #define	RETURN_TYPE_string_literal2414 MySQLParser_string_literal_return

    pANTLR3_BASE_TREE CONDITION_SYMBOL2409_tree;
    pANTLR3_BASE_TREE FOR_SYMBOL2410_tree;
    pANTLR3_BASE_TREE INTEGER2411_tree;
    pANTLR3_BASE_TREE SQLSTATE_SYMBOL2412_tree;
    pANTLR3_BASE_TREE VALUE_SYMBOL2413_tree;
    pANTLR3_BASE_TREE SEMICOLON_SYMBOL2415_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    CONDITION_SYMBOL2409       = NULL;
    FOR_SYMBOL2410       = NULL;
    INTEGER2411       = NULL;
    SQLSTATE_SYMBOL2412       = NULL;
    VALUE_SYMBOL2413       = NULL;
    SEMICOLON_SYMBOL2415       = NULL;
    string_literal2414.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    CONDITION_SYMBOL2409_tree   = NULL;
    FOR_SYMBOL2410_tree   = NULL;
    INTEGER2411_tree   = NULL;
    SQLSTATE_SYMBOL2412_tree   = NULL;
    VALUE_SYMBOL2413_tree   = NULL;
    SEMICOLON_SYMBOL2415_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2174:22: ( CONDITION_SYMBOL FOR_SYMBOL ( INTEGER | SQLSTATE_SYMBOL ( VALUE_SYMBOL )? string_literal ) SEMICOLON_SYMBOL )
        // MySQL.g:2175:2: CONDITION_SYMBOL FOR_SYMBOL ( INTEGER | SQLSTATE_SYMBOL ( VALUE_SYMBOL )? string_literal ) SEMICOLON_SYMBOL
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            CONDITION_SYMBOL2409 = (pANTLR3_COMMON_TOKEN) MATCHT(CONDITION_SYMBOL, &FOLLOW_CONDITION_SYMBOL_in_condition_declaration12460);
            if  (HASEXCEPTION())
            {
                goto rulecondition_declarationEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            CONDITION_SYMBOL2409_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CONDITION_SYMBOL2409));
            ADAPTOR->addChild(ADAPTOR, root_0, CONDITION_SYMBOL2409_tree);
            }

            FOR_SYMBOL2410 = (pANTLR3_COMMON_TOKEN) MATCHT(FOR_SYMBOL, &FOLLOW_FOR_SYMBOL_in_condition_declaration12462);
            if  (HASEXCEPTION())
            {
                goto rulecondition_declarationEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            FOR_SYMBOL2410_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, FOR_SYMBOL2410));
            ADAPTOR->addChild(ADAPTOR, root_0, FOR_SYMBOL2410_tree);
            }

            // MySQL.g:2175:30: ( INTEGER | SQLSTATE_SYMBOL ( VALUE_SYMBOL )? string_literal )
            {
                int alt667=2;
                switch ( LA(1) )
                {
                case INTEGER:
                	{
                		alt667=1;
                	}
                    break;
                case SQLSTATE_SYMBOL:
                	{
                		alt667=2;
                	}
                    break;

                default:
                    if (BACKTRACKING>0)
                    {
                        FAILEDFLAG = ANTLR3_TRUE;
                        return retval;
                    }

                    CONSTRUCTEX();
                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    EXCEPTION->message      = (void *)"";
                    EXCEPTION->decisionNum  = 667;
                    EXCEPTION->state        = 0;


                    goto rulecondition_declarationEx;

                }

                switch (alt667)
                {
            	case 1:
            	    // MySQL.g:2175:31: INTEGER
            	    {
            	        INTEGER2411 = (pANTLR3_COMMON_TOKEN) MATCHT(INTEGER, &FOLLOW_INTEGER_in_condition_declaration12465);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecondition_declarationEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        INTEGER2411_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INTEGER2411));
            	        ADAPTOR->addChild(ADAPTOR, root_0, INTEGER2411_tree);
            	        }

            	    }
            	    break;
            	case 2:
            	    // MySQL.g:2175:41: SQLSTATE_SYMBOL ( VALUE_SYMBOL )? string_literal
            	    {
            	        SQLSTATE_SYMBOL2412 = (pANTLR3_COMMON_TOKEN) MATCHT(SQLSTATE_SYMBOL, &FOLLOW_SQLSTATE_SYMBOL_in_condition_declaration12469);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecondition_declarationEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        SQLSTATE_SYMBOL2412_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SQLSTATE_SYMBOL2412));
            	        ADAPTOR->addChild(ADAPTOR, root_0, SQLSTATE_SYMBOL2412_tree);
            	        }

            	        // MySQL.g:2175:57: ( VALUE_SYMBOL )?
            	        {
            	            int alt666=2;
            	            switch ( LA(1) )
            	            {
            	                case VALUE_SYMBOL:
            	                	{
            	                		alt666=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt666)
            	            {
            	        	case 1:
            	        	    // MySQL.g:2175:57: VALUE_SYMBOL
            	        	    {
            	        	        VALUE_SYMBOL2413 = (pANTLR3_COMMON_TOKEN) MATCHT(VALUE_SYMBOL, &FOLLOW_VALUE_SYMBOL_in_condition_declaration12471);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulecondition_declarationEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        VALUE_SYMBOL2413_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, VALUE_SYMBOL2413));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, VALUE_SYMBOL2413_tree);
            	        	        }

            	        	    }
            	        	    break;

            	            }
            	        }

            	        FOLLOWPUSH(FOLLOW_string_literal_in_condition_declaration12474);
            	        string_literal2414=string_literal(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecondition_declarationEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_literal2414.tree);

            	    }
            	    break;

                }
            }

            SEMICOLON_SYMBOL2415 = (pANTLR3_COMMON_TOKEN) MATCHT(SEMICOLON_SYMBOL, &FOLLOW_SEMICOLON_SYMBOL_in_condition_declaration12477);
            if  (HASEXCEPTION())
            {
                goto rulecondition_declarationEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            SEMICOLON_SYMBOL2415_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SEMICOLON_SYMBOL2415));
            ADAPTOR->addChild(ADAPTOR, root_0, SEMICOLON_SYMBOL2415_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:2178:1: cursor_declaration : DECLARE_SYMBOL identifier CURSOR_SYMBOL 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_SYMBOL2416;
    pANTLR3_COMMON_TOKEN    CURSOR_SYMBOL2418;
    pANTLR3_COMMON_TOKEN    SEMICOLON_SYMBOL2419;
    MySQLParser_identifier_return identifier2417;
    #undef	RETURN_TYPE_identifier2417
    #define	RETURN_TYPE_identifier2417 MySQLParser_identifier_return

    pANTLR3_BASE_TREE DECLARE_SYMBOL2416_tree;
    pANTLR3_BASE_TREE CURSOR_SYMBOL2418_tree;
    pANTLR3_BASE_TREE SEMICOLON_SYMBOL2419_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    DECLARE_SYMBOL2416       = NULL;
    CURSOR_SYMBOL2418       = NULL;
    SEMICOLON_SYMBOL2419       = NULL;
    identifier2417.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    DECLARE_SYMBOL2416_tree   = NULL;
    CURSOR_SYMBOL2418_tree   = NULL;
    SEMICOLON_SYMBOL2419_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2178:19: ( DECLARE_SYMBOL identifier CURSOR_SYMBOL SEMICOLON_SYMBOL )
        // MySQL.g:2179:2: DECLARE_SYMBOL identifier CURSOR_SYMBOL SEMICOLON_SYMBOL
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            DECLARE_SYMBOL2416 = (pANTLR3_COMMON_TOKEN) MATCHT(DECLARE_SYMBOL, &FOLLOW_DECLARE_SYMBOL_in_cursor_declaration12486);
            if  (HASEXCEPTION())
            {
                goto rulecursor_declarationEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            DECLARE_SYMBOL2416_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DECLARE_SYMBOL2416));
            ADAPTOR->addChild(ADAPTOR, root_0, DECLARE_SYMBOL2416_tree);
            }

            FOLLOWPUSH(FOLLOW_identifier_in_cursor_declaration12488);
            identifier2417=identifier(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulecursor_declarationEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier2417.tree);

            CURSOR_SYMBOL2418 = (pANTLR3_COMMON_TOKEN) MATCHT(CURSOR_SYMBOL, &FOLLOW_CURSOR_SYMBOL_in_cursor_declaration12490);
            if  (HASEXCEPTION())
            {
                goto rulecursor_declarationEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            CURSOR_SYMBOL2418_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CURSOR_SYMBOL2418));
            ADAPTOR->addChild(ADAPTOR, root_0, CURSOR_SYMBOL2418_tree);
            }

            SEMICOLON_SYMBOL2419 = (pANTLR3_COMMON_TOKEN) MATCHT(SEMICOLON_SYMBOL, &FOLLOW_SEMICOLON_SYMBOL_in_cursor_declaration12492);
            if  (HASEXCEPTION())
            {
                goto rulecursor_declarationEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            SEMICOLON_SYMBOL2419_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SEMICOLON_SYMBOL2419));
            ADAPTOR->addChild(ADAPTOR, root_0, SEMICOLON_SYMBOL2419_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:2182: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_SYMBOL2420;
    pANTLR3_COMMON_TOKEN    set2421;
    pANTLR3_COMMON_TOKEN    HANDLER_SYMBOL2422;
    pANTLR3_COMMON_TOKEN    FOR_SYMBOL2423;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL2425;
    pANTLR3_COMMON_TOKEN    SEMICOLON_SYMBOL2428;
    MySQLParser_handler_condition_return handler_condition2424;
    #undef	RETURN_TYPE_handler_condition2424
    #define	RETURN_TYPE_handler_condition2424 MySQLParser_handler_condition_return

    MySQLParser_handler_condition_return handler_condition2426;
    #undef	RETURN_TYPE_handler_condition2426
    #define	RETURN_TYPE_handler_condition2426 MySQLParser_handler_condition_return

    MySQLParser_compound_statement_return compound_statement2427;
    #undef	RETURN_TYPE_compound_statement2427
    #define	RETURN_TYPE_compound_statement2427 MySQLParser_compound_statement_return

    pANTLR3_BASE_TREE DECLARE_SYMBOL2420_tree;
    pANTLR3_BASE_TREE set2421_tree;
    pANTLR3_BASE_TREE HANDLER_SYMBOL2422_tree;
    pANTLR3_BASE_TREE FOR_SYMBOL2423_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL2425_tree;
    pANTLR3_BASE_TREE SEMICOLON_SYMBOL2428_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    DECLARE_SYMBOL2420       = NULL;
    set2421       = NULL;
    HANDLER_SYMBOL2422       = NULL;
    FOR_SYMBOL2423       = NULL;
    COMMA_SYMBOL2425       = NULL;
    SEMICOLON_SYMBOL2428       = NULL;
    handler_condition2424.tree = NULL;

    handler_condition2426.tree = NULL;

    compound_statement2427.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    DECLARE_SYMBOL2420_tree   = NULL;
    set2421_tree   = NULL;
    HANDLER_SYMBOL2422_tree   = NULL;
    FOR_SYMBOL2423_tree   = NULL;
    COMMA_SYMBOL2425_tree   = NULL;
    SEMICOLON_SYMBOL2428_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2182: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:2183: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_SYMBOL2420 = (pANTLR3_COMMON_TOKEN) MATCHT(DECLARE_SYMBOL, &FOLLOW_DECLARE_SYMBOL_in_handler_declaration12501);
            if  (HASEXCEPTION())
            {
                goto rulehandler_declarationEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            DECLARE_SYMBOL2420_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DECLARE_SYMBOL2420));
            ADAPTOR->addChild(ADAPTOR, root_0, DECLARE_SYMBOL2420_tree);
            }

            set2421=(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, set2421))
                );
                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_SYMBOL2422 = (pANTLR3_COMMON_TOKEN) MATCHT(HANDLER_SYMBOL, &FOLLOW_HANDLER_SYMBOL_in_handler_declaration12515);
            if  (HASEXCEPTION())
            {
                goto rulehandler_declarationEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            HANDLER_SYMBOL2422_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, HANDLER_SYMBOL2422));
            ADAPTOR->addChild(ADAPTOR, root_0, HANDLER_SYMBOL2422_tree);
            }

            FOR_SYMBOL2423 = (pANTLR3_COMMON_TOKEN) MATCHT(FOR_SYMBOL, &FOLLOW_FOR_SYMBOL_in_handler_declaration12519);
            if  (HASEXCEPTION())
            {
                goto rulehandler_declarationEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            FOR_SYMBOL2423_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, FOR_SYMBOL2423));
            ADAPTOR->addChild(ADAPTOR, root_0, FOR_SYMBOL2423_tree);
            }

            FOLLOWPUSH(FOLLOW_handler_condition_in_handler_declaration12521);
            handler_condition2424=handler_condition(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulehandler_declarationEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, handler_condition2424.tree);

            // MySQL.g:2184:32: ( COMMA_SYMBOL handler_condition )*

            for (;;)
            {
                int alt668=2;
                switch ( LA(1) )
                {
                case COMMA_SYMBOL:
                	{
                		alt668=1;
                	}
                    break;

                }

                switch (alt668)
                {
            	case 1:
            	    // MySQL.g:2184:33: COMMA_SYMBOL handler_condition
            	    {
            	        COMMA_SYMBOL2425 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_handler_declaration12524);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulehandler_declarationEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        COMMA_SYMBOL2425_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL2425));
            	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL2425_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_handler_condition_in_handler_declaration12526);
            	        handler_condition2426=handler_condition(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulehandler_declarationEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, handler_condition2426.tree);

            	    }
            	    break;

            	default:
            	    goto loop668;	/* break out of the loop */
            	    break;
                }
            }
            loop668: ; /* Jump out to here if this rule does not match */


            FOLLOWPUSH(FOLLOW_compound_statement_in_handler_declaration12530);
            compound_statement2427=compound_statement(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulehandler_declarationEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, compound_statement2427.tree);

            SEMICOLON_SYMBOL2428 = (pANTLR3_COMMON_TOKEN) MATCHT(SEMICOLON_SYMBOL, &FOLLOW_SEMICOLON_SYMBOL_in_handler_declaration12532);
            if  (HASEXCEPTION())
            {
                goto rulehandler_declarationEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            SEMICOLON_SYMBOL2428_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SEMICOLON_SYMBOL2428));
            ADAPTOR->addChild(ADAPTOR, root_0, SEMICOLON_SYMBOL2428_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:2187: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    INTEGER2429;
    pANTLR3_COMMON_TOKEN    SQLSTATE_SYMBOL2430;
    pANTLR3_COMMON_TOKEN    VALUE_SYMBOL2431;
    pANTLR3_COMMON_TOKEN    SQLWARNING_SYMBOL2434;
    pANTLR3_COMMON_TOKEN    NOT_SYMBOL2435;
    pANTLR3_COMMON_TOKEN    FOUND_SYMBOL2436;
    pANTLR3_COMMON_TOKEN    SQLEXCEPTION_SYMBOL2437;
    MySQLParser_string_literal_return string_literal2432;
    #undef	RETURN_TYPE_string_literal2432
    #define	RETURN_TYPE_string_literal2432 MySQLParser_string_literal_return

    MySQLParser_identifier_return identifier2433;
    #undef	RETURN_TYPE_identifier2433
    #define	RETURN_TYPE_identifier2433 MySQLParser_identifier_return

    pANTLR3_BASE_TREE INTEGER2429_tree;
    pANTLR3_BASE_TREE SQLSTATE_SYMBOL2430_tree;
    pANTLR3_BASE_TREE VALUE_SYMBOL2431_tree;
    pANTLR3_BASE_TREE SQLWARNING_SYMBOL2434_tree;
    pANTLR3_BASE_TREE NOT_SYMBOL2435_tree;
    pANTLR3_BASE_TREE FOUND_SYMBOL2436_tree;
    pANTLR3_BASE_TREE SQLEXCEPTION_SYMBOL2437_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    INTEGER2429       = NULL;
    SQLSTATE_SYMBOL2430       = NULL;
    VALUE_SYMBOL2431       = NULL;
    SQLWARNING_SYMBOL2434       = NULL;
    NOT_SYMBOL2435       = NULL;
    FOUND_SYMBOL2436       = NULL;
    SQLEXCEPTION_SYMBOL2437       = NULL;
    string_literal2432.tree = NULL;

    identifier2433.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    INTEGER2429_tree   = NULL;
    SQLSTATE_SYMBOL2430_tree   = NULL;
    VALUE_SYMBOL2431_tree   = NULL;
    SQLWARNING_SYMBOL2434_tree   = NULL;
    NOT_SYMBOL2435_tree   = NULL;
    FOUND_SYMBOL2436_tree   = NULL;
    SQLEXCEPTION_SYMBOL2437_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:2187:18: ( INTEGER | SQLSTATE_SYMBOL ( VALUE_SYMBOL )? string_literal | identifier | SQLWARNING_SYMBOL | NOT_SYMBOL FOUND_SYMBOL | SQLEXCEPTION_SYMBOL )

            ANTLR3_UINT32 alt670;

            alt670=6;

            {
                int LA670_0 = LA(1);
                if ( (LA670_0 == INTEGER))
                {
                    alt670=1;
                }
                else if ( (LA670_0 == SQLSTATE_SYMBOL))
                {
                    alt670=2;
                }
                else if ( (LA670_0 == BACK_TICK_QUOTED_ID || LA670_0 == IDENTIFIER))
                {
                    alt670=3;
                }
                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA670_0 == DOUBLE_QUOTED_TEXT))
                {
                    alt670=3;
                }
                else if ( (((LA670_0 >= ACTION_SYMBOL) && (LA670_0 <= PARTITION_SYMBOL))))
                {
                    alt670=3;
                }
                else if ( (LA670_0 == SQLWARNING_SYMBOL))
                {
                    alt670=4;
                }
                else if ( (LA670_0 == NOT_SYMBOL))
                {
                    alt670=5;
                }
                else if ( (LA670_0 == SQLEXCEPTION_SYMBOL))
                {
                    alt670=6;
                }
                else
                {
                    if (BACKTRACKING>0)
                    {
                        FAILEDFLAG = ANTLR3_TRUE;
                        return retval;
                    }


                    CONSTRUCTEX();
                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    EXCEPTION->message      = (void *)"";
                    EXCEPTION->decisionNum  = 670;
                    EXCEPTION->state        = 0;


                    goto rulehandler_conditionEx;

                }
            }
            switch (alt670)
            {
        	case 1:
        	    // MySQL.g:2188:2: INTEGER
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        INTEGER2429 = (pANTLR3_COMMON_TOKEN) MATCHT(INTEGER, &FOLLOW_INTEGER_in_handler_condition12541);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulehandler_conditionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        INTEGER2429_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INTEGER2429));
        	        ADAPTOR->addChild(ADAPTOR, root_0, INTEGER2429_tree);
        	        }

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:2189:4: SQLSTATE_SYMBOL ( VALUE_SYMBOL )? string_literal
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        SQLSTATE_SYMBOL2430 = (pANTLR3_COMMON_TOKEN) MATCHT(SQLSTATE_SYMBOL, &FOLLOW_SQLSTATE_SYMBOL_in_handler_condition12546);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulehandler_conditionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        SQLSTATE_SYMBOL2430_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SQLSTATE_SYMBOL2430));
        	        ADAPTOR->addChild(ADAPTOR, root_0, SQLSTATE_SYMBOL2430_tree);
        	        }

        	        // MySQL.g:2189:20: ( VALUE_SYMBOL )?
        	        {
        	            int alt669=2;
        	            switch ( LA(1) )
        	            {
        	                case VALUE_SYMBOL:
        	                	{
        	                		alt669=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt669)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2189:20: VALUE_SYMBOL
        	        	    {
        	        	        VALUE_SYMBOL2431 = (pANTLR3_COMMON_TOKEN) MATCHT(VALUE_SYMBOL, &FOLLOW_VALUE_SYMBOL_in_handler_condition12548);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulehandler_conditionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        VALUE_SYMBOL2431_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, VALUE_SYMBOL2431));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, VALUE_SYMBOL2431_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	        FOLLOWPUSH(FOLLOW_string_literal_in_handler_condition12551);
        	        string_literal2432=string_literal(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulehandler_conditionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_literal2432.tree);

        	    }
        	    break;
        	case 3:
        	    // MySQL.g:2190:4: identifier
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_identifier_in_handler_condition12556);
        	        identifier2433=identifier(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulehandler_conditionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier2433.tree);

        	    }
        	    break;
        	case 4:
        	    // MySQL.g:2191:4: SQLWARNING_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        SQLWARNING_SYMBOL2434 = (pANTLR3_COMMON_TOKEN) MATCHT(SQLWARNING_SYMBOL, &FOLLOW_SQLWARNING_SYMBOL_in_handler_condition12561);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulehandler_conditionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        SQLWARNING_SYMBOL2434_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SQLWARNING_SYMBOL2434));
        	        ADAPTOR->addChild(ADAPTOR, root_0, SQLWARNING_SYMBOL2434_tree);
        	        }

        	    }
        	    break;
        	case 5:
        	    // MySQL.g:2192:4: NOT_SYMBOL FOUND_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        NOT_SYMBOL2435 = (pANTLR3_COMMON_TOKEN) MATCHT(NOT_SYMBOL, &FOLLOW_NOT_SYMBOL_in_handler_condition12566);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulehandler_conditionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        NOT_SYMBOL2435_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, NOT_SYMBOL2435));
        	        ADAPTOR->addChild(ADAPTOR, root_0, NOT_SYMBOL2435_tree);
        	        }

        	        FOUND_SYMBOL2436 = (pANTLR3_COMMON_TOKEN) MATCHT(FOUND_SYMBOL, &FOLLOW_FOUND_SYMBOL_in_handler_condition12568);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulehandler_conditionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        FOUND_SYMBOL2436_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, FOUND_SYMBOL2436));
        	        ADAPTOR->addChild(ADAPTOR, root_0, FOUND_SYMBOL2436_tree);
        	        }

        	    }
        	    break;
        	case 6:
        	    // MySQL.g:2193:4: SQLEXCEPTION_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        SQLEXCEPTION_SYMBOL2437 = (pANTLR3_COMMON_TOKEN) MATCHT(SQLEXCEPTION_SYMBOL, &FOLLOW_SQLEXCEPTION_SYMBOL_in_handler_condition12573);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulehandler_conditionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        SQLEXCEPTION_SYMBOL2437_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SQLEXCEPTION_SYMBOL2437));
        	        ADAPTOR->addChild(ADAPTOR, root_0, SQLEXCEPTION_SYMBOL2437_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:2197: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_SYMBOL2438;
    pANTLR3_COMMON_TOKEN    END_SYMBOL2443;
    pANTLR3_COMMON_TOKEN    CASE_SYMBOL2444;
    MySQLParser_expression_return expression2439;
    #undef	RETURN_TYPE_expression2439
    #define	RETURN_TYPE_expression2439 MySQLParser_expression_return

    MySQLParser_when_expression_return when_expression2440;
    #undef	RETURN_TYPE_when_expression2440
    #define	RETURN_TYPE_when_expression2440 MySQLParser_when_expression_return

    MySQLParser_then_statement_return then_statement2441;
    #undef	RETURN_TYPE_then_statement2441
    #define	RETURN_TYPE_then_statement2441 MySQLParser_then_statement_return

    MySQLParser_else_statement_return else_statement2442;
    #undef	RETURN_TYPE_else_statement2442
    #define	RETURN_TYPE_else_statement2442 MySQLParser_else_statement_return

    pANTLR3_BASE_TREE CASE_SYMBOL2438_tree;
    pANTLR3_BASE_TREE END_SYMBOL2443_tree;
    pANTLR3_BASE_TREE CASE_SYMBOL2444_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    CASE_SYMBOL2438       = NULL;
    END_SYMBOL2443       = NULL;
    CASE_SYMBOL2444       = NULL;
    expression2439.tree = NULL;

    when_expression2440.tree = NULL;

    then_statement2441.tree = NULL;

    else_statement2442.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    CASE_SYMBOL2438_tree   = NULL;
    END_SYMBOL2443_tree   = NULL;
    CASE_SYMBOL2444_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2197:15: ( CASE_SYMBOL ^ ( expression )? ( when_expression then_statement )+ ( else_statement )? END_SYMBOL CASE_SYMBOL )
        // MySQL.g:2198:2: CASE_SYMBOL ^ ( expression )? ( when_expression then_statement )+ ( else_statement )? END_SYMBOL CASE_SYMBOL
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            CASE_SYMBOL2438 = (pANTLR3_COMMON_TOKEN) MATCHT(CASE_SYMBOL, &FOLLOW_CASE_SYMBOL_in_case_statement12583);
            if  (HASEXCEPTION())
            {
                goto rulecase_statementEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            CASE_SYMBOL2438_tree = 
            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CASE_SYMBOL2438))
            ;
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, CASE_SYMBOL2438_tree, root_0));
            }

            // MySQL.g:2198:15: ( expression )?
            {
                int alt671=2;
                {
                    int LA671_0 = LA(1);
                    if ( (LA671_0 == BITWISE_NOT_OPERATOR || LA671_0 == INTERVAL_SYMBOL || LA671_0 == LOGICAL_NOT_OPERATOR || LA671_0 == MINUS_OPERATOR || LA671_0 == NCHAR_TEXT || LA671_0 == NOT2_SYMBOL || LA671_0 == NOT_SYMBOL || LA671_0 == PLUS_OPERATOR || LA671_0 == SINGLE_QUOTED_TEXT || LA671_0 == UNDERSCORE_CHARSET))
                    {
                        alt671=1;
                    }
                    else if ( ((((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES)))||((!SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))))) && (LA671_0 == DOUBLE_QUOTED_TEXT))
                    {
                        alt671=1;
                    }
                    else if ( (LA671_0 == FALSE_SYMBOL || LA671_0 == FLOAT || ((LA671_0 >= HEXNUMBER) && (LA671_0 <= HEXSTRING)) || LA671_0 == INTEGER || LA671_0 == TRUE_SYMBOL))
                    {
                        alt671=1;
                    }
                    else if ( ((SERVER_VERSION >= 50003)) && (((LA671_0 >= BITNUMBER) && (LA671_0 <= BITSTRING))))
                    {
                        alt671=1;
                    }
                    else if ( (((LA671_0 >= ACTION_SYMBOL) && (LA671_0 <= PARTITION_SYMBOL)) || ((LA671_0 >= AT_AT_SIGN_SYMBOL) && (LA671_0 <= AT_SIGN_SYMBOL)) || LA671_0 == BACK_TICK_QUOTED_ID || LA671_0 == BINARY_SYMBOL || ((LA671_0 >= BIT_AND_SYMBOL) && (LA671_0 <= BIT_XOR_SYMBOL)) || ((LA671_0 >= CASE_SYMBOL) && (LA671_0 <= CAST_SYMBOL)) || LA671_0 == CHAR_SYMBOL || ((LA671_0 >= CONVERT_SYMBOL) && (LA671_0 <= COUNT_SYMBOL)) || LA671_0 == CURDATE_SYMBOL || LA671_0 == CURRENT_USER_SYMBOL || LA671_0 == CURTIME_SYMBOL || LA671_0 == DATABASE_SYMBOL || LA671_0 == DATE_ADD_SYMBOL || LA671_0 == DATE_SUB_SYMBOL || LA671_0 == DOT_SYMBOL || LA671_0 == EXISTS_SYMBOL || LA671_0 == EXTRACT_SYMBOL || LA671_0 == GROUP_CONCAT_SYMBOL || ((LA671_0 >= IDENTIFIER) && (LA671_0 <= IF_SYMBOL)) || LA671_0 == INSERT_SYMBOL || LA671_0 == LEFT_SYMBOL || LA671_0 == MATCH_SYMBOL || LA671_0 == MAX_SYMBOL || LA671_0 == MIN_SYMBOL || LA671_0 == MOD_SYMBOL || LA671_0 == NOW_SYMBOL || LA671_0 == NULL2_SYMBOL || LA671_0 == NULL_SYMBOL || ((LA671_0 >= OPEN_CURLY_SYMBOL) && (LA671_0 <= OPEN_PAR_SYMBOL)) || LA671_0 == PARAM_MARKER || LA671_0 == POSITION_SYMBOL || ((LA671_0 >= REPEAT_SYMBOL) && (LA671_0 <= REPLACE_SYMBOL)) || LA671_0 == RIGHT_SYMBOL || LA671_0 == STDDEV_SAMP_SYMBOL || LA671_0 == STD_SYMBOL || LA671_0 == SUBSTRING_SYMBOL || ((LA671_0 >= SUM_SYMBOL) && (LA671_0 <= SYSDATE_SYMBOL)) || LA671_0 == TRIM_SYMBOL || ((LA671_0 >= UTC_DATE_SYMBOL) && (LA671_0 <= VALUES_SYMBOL)) || LA671_0 == VARIANCE_SYMBOL || LA671_0 == VAR_SAMP_SYMBOL))
                    {
                        alt671=1;
                    }
                }
                switch (alt671)
                {
            	case 1:
            	    // MySQL.g:2198:15: expression
            	    {
            	        FOLLOWPUSH(FOLLOW_expression_in_case_statement12586);
            	        expression2439=expression(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecase_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2439.tree);

            	    }
            	    break;

                }
            }

            // MySQL.g:2198:27: ( when_expression then_statement )+
            {
                int cnt672=0;

                for (;;)
                {
                    int alt672=2;
            	switch ( LA(1) )
            	{
            	case WHEN_SYMBOL:
            		{
            			alt672=1;
            		}
            	    break;

            	}

            	switch (alt672)
            	{
            	    case 1:
            	        // MySQL.g:2198:28: when_expression then_statement
            	        {
            	            FOLLOWPUSH(FOLLOW_when_expression_in_case_statement12590);
            	            when_expression2440=when_expression(ctx);

            	            FOLLOWPOP();
            	            if  (HASEXCEPTION())
            	            {
            	                goto rulecase_statementEx;
            	            }
            	            if (HASFAILED())
            	            {
            	                return retval;
            	            }

            	            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, when_expression2440.tree);

            	            FOLLOWPUSH(FOLLOW_then_statement_in_case_statement12592);
            	            then_statement2441=then_statement(ctx);

            	            FOLLOWPOP();
            	            if  (HASEXCEPTION())
            	            {
            	                goto rulecase_statementEx;
            	            }
            	            if (HASFAILED())
            	            {
            	                return retval;
            	            }

            	            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, then_statement2441.tree);

            	        }
            	        break;

            	    default:

            		if ( cnt672 >= 1 )
            		{
            		    goto loop672;
            		}
            		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;
            	}
            	cnt672++;
                }
                loop672: ;	/* Jump to here if this rule does not match */
            }

            // MySQL.g:2198:61: ( else_statement )?
            {
                int alt673=2;
                switch ( LA(1) )
                {
                    case ELSE_SYMBOL:
                    	{
                    		alt673=1;
                    	}
                        break;
                }

                switch (alt673)
                {
            	case 1:
            	    // MySQL.g:2198:61: else_statement
            	    {
            	        FOLLOWPUSH(FOLLOW_else_statement_in_case_statement12596);
            	        else_statement2442=else_statement(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecase_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, else_statement2442.tree);

            	    }
            	    break;

                }
            }

            END_SYMBOL2443 = (pANTLR3_COMMON_TOKEN) MATCHT(END_SYMBOL, &FOLLOW_END_SYMBOL_in_case_statement12599);
            if  (HASEXCEPTION())
            {
                goto rulecase_statementEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            END_SYMBOL2443_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, END_SYMBOL2443));
            ADAPTOR->addChild(ADAPTOR, root_0, END_SYMBOL2443_tree);
            }

            CASE_SYMBOL2444 = (pANTLR3_COMMON_TOKEN) MATCHT(CASE_SYMBOL, &FOLLOW_CASE_SYMBOL_in_case_statement12601);
            if  (HASEXCEPTION())
            {
                goto rulecase_statementEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            CASE_SYMBOL2444_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CASE_SYMBOL2444));
            ADAPTOR->addChild(ADAPTOR, root_0, CASE_SYMBOL2444_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:2201: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_SYMBOL2445;
    MySQLParser_compound_statement_list_return compound_statement_list2446;
    #undef	RETURN_TYPE_compound_statement_list2446
    #define	RETURN_TYPE_compound_statement_list2446 MySQLParser_compound_statement_list_return

    pANTLR3_BASE_TREE THEN_SYMBOL2445_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    THEN_SYMBOL2445       = NULL;
    compound_statement_list2446.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    THEN_SYMBOL2445_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2201:15: ( THEN_SYMBOL ^ compound_statement_list )
        // MySQL.g:2202:2: THEN_SYMBOL ^ compound_statement_list
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            THEN_SYMBOL2445 = (pANTLR3_COMMON_TOKEN) MATCHT(THEN_SYMBOL, &FOLLOW_THEN_SYMBOL_in_then_statement12610);
            if  (HASEXCEPTION())
            {
                goto rulethen_statementEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            THEN_SYMBOL2445_tree = 
            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, THEN_SYMBOL2445))
            ;
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, THEN_SYMBOL2445_tree, root_0));
            }

            FOLLOWPUSH(FOLLOW_compound_statement_list_in_then_statement12613);
            compound_statement_list2446=compound_statement_list(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulethen_statementEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, compound_statement_list2446.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:2205: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_SYMBOL2447;
    MySQLParser_compound_statement_list_return compound_statement_list2448;
    #undef	RETURN_TYPE_compound_statement_list2448
    #define	RETURN_TYPE_compound_statement_list2448 MySQLParser_compound_statement_list_return

    pANTLR3_BASE_TREE ELSE_SYMBOL2447_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    ELSE_SYMBOL2447       = NULL;
    compound_statement_list2448.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    ELSE_SYMBOL2447_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2205:15: ( ELSE_SYMBOL ^ compound_statement_list )
        // MySQL.g:2206:2: ELSE_SYMBOL ^ compound_statement_list
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            ELSE_SYMBOL2447 = (pANTLR3_COMMON_TOKEN) MATCHT(ELSE_SYMBOL, &FOLLOW_ELSE_SYMBOL_in_else_statement12622);
            if  (HASEXCEPTION())
            {
                goto ruleelse_statementEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            ELSE_SYMBOL2447_tree = 
            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ELSE_SYMBOL2447))
            ;
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, ELSE_SYMBOL2447_tree, root_0));
            }

            FOLLOWPUSH(FOLLOW_compound_statement_list_in_else_statement12625);
            compound_statement_list2448=compound_statement_list(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruleelse_statementEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, compound_statement_list2448.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:2209: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_SYMBOL2449;
    pANTLR3_COMMON_TOKEN    END_SYMBOL2451;
    pANTLR3_COMMON_TOKEN    IF_SYMBOL2452;
    MySQLParser_if_body_return if_body2450;
    #undef	RETURN_TYPE_if_body2450
    #define	RETURN_TYPE_if_body2450 MySQLParser_if_body_return

    pANTLR3_BASE_TREE IF_SYMBOL2449_tree;
    pANTLR3_BASE_TREE END_SYMBOL2451_tree;
    pANTLR3_BASE_TREE IF_SYMBOL2452_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    IF_SYMBOL2449       = NULL;
    END_SYMBOL2451       = NULL;
    IF_SYMBOL2452       = NULL;
    if_body2450.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    IF_SYMBOL2449_tree   = NULL;
    END_SYMBOL2451_tree   = NULL;
    IF_SYMBOL2452_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2209:13: ( IF_SYMBOL ^ if_body END_SYMBOL IF_SYMBOL )
        // MySQL.g:2210:2: IF_SYMBOL ^ if_body END_SYMBOL IF_SYMBOL
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            IF_SYMBOL2449 = (pANTLR3_COMMON_TOKEN) MATCHT(IF_SYMBOL, &FOLLOW_IF_SYMBOL_in_if_statement12634);
            if  (HASEXCEPTION())
            {
                goto ruleif_statementEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            IF_SYMBOL2449_tree = 
            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, IF_SYMBOL2449))
            ;
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, IF_SYMBOL2449_tree, root_0));
            }

            FOLLOWPUSH(FOLLOW_if_body_in_if_statement12637);
            if_body2450=if_body(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruleif_statementEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, if_body2450.tree);

            END_SYMBOL2451 = (pANTLR3_COMMON_TOKEN) MATCHT(END_SYMBOL, &FOLLOW_END_SYMBOL_in_if_statement12639);
            if  (HASEXCEPTION())
            {
                goto ruleif_statementEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            END_SYMBOL2451_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, END_SYMBOL2451));
            ADAPTOR->addChild(ADAPTOR, root_0, END_SYMBOL2451_tree);
            }

            IF_SYMBOL2452 = (pANTLR3_COMMON_TOKEN) MATCHT(IF_SYMBOL, &FOLLOW_IF_SYMBOL_in_if_statement12641);
            if  (HASEXCEPTION())
            {
                goto ruleif_statementEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            IF_SYMBOL2452_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, IF_SYMBOL2452));
            ADAPTOR->addChild(ADAPTOR, root_0, IF_SYMBOL2452_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:2213: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_SYMBOL2455;
    pANTLR3_COMMON_TOKEN    ELSE_SYMBOL2457;
    MySQLParser_expression_return expression2453;
    #undef	RETURN_TYPE_expression2453
    #define	RETURN_TYPE_expression2453 MySQLParser_expression_return

    MySQLParser_then_statement_return then_statement2454;
    #undef	RETURN_TYPE_then_statement2454
    #define	RETURN_TYPE_then_statement2454 MySQLParser_then_statement_return

    MySQLParser_if_body_return if_body2456;
    #undef	RETURN_TYPE_if_body2456
    #define	RETURN_TYPE_if_body2456 MySQLParser_if_body_return

    MySQLParser_compound_statement_list_return compound_statement_list2458;
    #undef	RETURN_TYPE_compound_statement_list2458
    #define	RETURN_TYPE_compound_statement_list2458 MySQLParser_compound_statement_list_return

    pANTLR3_BASE_TREE ELSEIF_SYMBOL2455_tree;
    pANTLR3_BASE_TREE ELSE_SYMBOL2457_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    ELSEIF_SYMBOL2455       = NULL;
    ELSE_SYMBOL2457       = NULL;
    expression2453.tree = NULL;

    then_statement2454.tree = NULL;

    if_body2456.tree = NULL;

    compound_statement_list2458.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    ELSEIF_SYMBOL2455_tree   = NULL;
    ELSE_SYMBOL2457_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2213:8: ( expression then_statement ( ELSEIF_SYMBOL if_body | ELSE_SYMBOL compound_statement_list )? )
        // MySQL.g:2214: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_body12650);
            expression2453=expression(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruleif_bodyEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2453.tree);

            FOLLOWPUSH(FOLLOW_then_statement_in_if_body12652);
            then_statement2454=then_statement(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruleif_bodyEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, then_statement2454.tree);

            // MySQL.g:2214:28: ( ELSEIF_SYMBOL if_body | ELSE_SYMBOL compound_statement_list )?
            {
                int alt674=3;
                switch ( LA(1) )
                {
                    case ELSEIF_SYMBOL:
                    	{
                    		alt674=1;
                    	}
                        break;
                    case ELSE_SYMBOL:
                    	{
                    		alt674=2;
                    	}
                        break;
                }

                switch (alt674)
                {
            	case 1:
            	    // MySQL.g:2214:29: ELSEIF_SYMBOL if_body
            	    {
            	        ELSEIF_SYMBOL2455 = (pANTLR3_COMMON_TOKEN) MATCHT(ELSEIF_SYMBOL, &FOLLOW_ELSEIF_SYMBOL_in_if_body12655);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleif_bodyEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        ELSEIF_SYMBOL2455_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ELSEIF_SYMBOL2455));
            	        ADAPTOR->addChild(ADAPTOR, root_0, ELSEIF_SYMBOL2455_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_if_body_in_if_body12657);
            	        if_body2456=if_body(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleif_bodyEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, if_body2456.tree);

            	    }
            	    break;
            	case 2:
            	    // MySQL.g:2214:53: ELSE_SYMBOL compound_statement_list
            	    {
            	        ELSE_SYMBOL2457 = (pANTLR3_COMMON_TOKEN) MATCHT(ELSE_SYMBOL, &FOLLOW_ELSE_SYMBOL_in_if_body12661);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleif_bodyEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        ELSE_SYMBOL2457_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ELSE_SYMBOL2457));
            	        ADAPTOR->addChild(ADAPTOR, root_0, ELSE_SYMBOL2457_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_compound_statement_list_in_if_body12663);
            	        compound_statement_list2458=compound_statement_list(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleif_bodyEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, compound_statement_list2458.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:2217: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_SYMBOL2459;
    MySQLParser_label_identifier_return label_identifier2460;
    #undef	RETURN_TYPE_label_identifier2460
    #define	RETURN_TYPE_label_identifier2460 MySQLParser_label_identifier_return

    pANTLR3_BASE_TREE ITERATE_SYMBOL2459_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    ITERATE_SYMBOL2459       = NULL;
    label_identifier2460.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    ITERATE_SYMBOL2459_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2217:18: ( ITERATE_SYMBOL label_identifier )
        // MySQL.g:2218:2: ITERATE_SYMBOL label_identifier
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            ITERATE_SYMBOL2459 = (pANTLR3_COMMON_TOKEN) MATCHT(ITERATE_SYMBOL, &FOLLOW_ITERATE_SYMBOL_in_iterate_statement12674);
            if  (HASEXCEPTION())
            {
                goto ruleiterate_statementEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            ITERATE_SYMBOL2459_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ITERATE_SYMBOL2459));
            ADAPTOR->addChild(ADAPTOR, root_0, ITERATE_SYMBOL2459_tree);
            }

            FOLLOWPUSH(FOLLOW_label_identifier_in_iterate_statement12676);
            label_identifier2460=label_identifier(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruleiterate_statementEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, label_identifier2460.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:2221: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_SYMBOL2461;
    MySQLParser_label_identifier_return label_identifier2462;
    #undef	RETURN_TYPE_label_identifier2462
    #define	RETURN_TYPE_label_identifier2462 MySQLParser_label_identifier_return

    pANTLR3_BASE_TREE LEAVE_SYMBOL2461_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    LEAVE_SYMBOL2461       = NULL;
    label_identifier2462.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    LEAVE_SYMBOL2461_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2221:16: ( LEAVE_SYMBOL label_identifier )
        // MySQL.g:2222:2: LEAVE_SYMBOL label_identifier
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            LEAVE_SYMBOL2461 = (pANTLR3_COMMON_TOKEN) MATCHT(LEAVE_SYMBOL, &FOLLOW_LEAVE_SYMBOL_in_leave_statement12685);
            if  (HASEXCEPTION())
            {
                goto ruleleave_statementEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            LEAVE_SYMBOL2461_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, LEAVE_SYMBOL2461));
            ADAPTOR->addChild(ADAPTOR, root_0, LEAVE_SYMBOL2461_tree);
            }

            FOLLOWPUSH(FOLLOW_label_identifier_in_leave_statement12687);
            label_identifier2462=label_identifier(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruleleave_statementEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, label_identifier2462.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:2225: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_SYMBOL2463;
    MySQLParser_expression_return expression2464;
    #undef	RETURN_TYPE_expression2464
    #define	RETURN_TYPE_expression2464 MySQLParser_expression_return

    pANTLR3_BASE_TREE RETURN_SYMBOL2463_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    RETURN_SYMBOL2463       = NULL;
    expression2464.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    RETURN_SYMBOL2463_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2225:17: ( RETURN_SYMBOL expression )
        // MySQL.g:2226:2: RETURN_SYMBOL expression
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            RETURN_SYMBOL2463 = (pANTLR3_COMMON_TOKEN) MATCHT(RETURN_SYMBOL, &FOLLOW_RETURN_SYMBOL_in_return_statement12696);
            if  (HASEXCEPTION())
            {
                goto rulereturn_statementEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            RETURN_SYMBOL2463_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, RETURN_SYMBOL2463));
            ADAPTOR->addChild(ADAPTOR, root_0, RETURN_SYMBOL2463_tree);
            }

            FOLLOWPUSH(FOLLOW_expression_in_return_statement12698);
            expression2464=expression(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulereturn_statementEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2464.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:2229:1: get_diagnostics : GET_SYMBOL ( CURRENT_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_SYMBOL2465;
    pANTLR3_COMMON_TOKEN    CURRENT_SYMBOL2466;
    pANTLR3_COMMON_TOKEN    DIAGNOSTICS_SYMBOL2467;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL2469;
    pANTLR3_COMMON_TOKEN    CONDITION_SYMBOL2471;
    pANTLR3_COMMON_TOKEN    INTEGER2472;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL2474;
    MySQLParser_statement_information_item_return statement_information_item2468;
    #undef	RETURN_TYPE_statement_information_item2468
    #define	RETURN_TYPE_statement_information_item2468 MySQLParser_statement_information_item_return

    MySQLParser_statement_information_item_return statement_information_item2470;
    #undef	RETURN_TYPE_statement_information_item2470
    #define	RETURN_TYPE_statement_information_item2470 MySQLParser_statement_information_item_return

    MySQLParser_condition_information_item_return condition_information_item2473;
    #undef	RETURN_TYPE_condition_information_item2473
    #define	RETURN_TYPE_condition_information_item2473 MySQLParser_condition_information_item_return

    MySQLParser_condition_information_item_return condition_information_item2475;
    #undef	RETURN_TYPE_condition_information_item2475
    #define	RETURN_TYPE_condition_information_item2475 MySQLParser_condition_information_item_return

    pANTLR3_BASE_TREE GET_SYMBOL2465_tree;
    pANTLR3_BASE_TREE CURRENT_SYMBOL2466_tree;
    pANTLR3_BASE_TREE DIAGNOSTICS_SYMBOL2467_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL2469_tree;
    pANTLR3_BASE_TREE CONDITION_SYMBOL2471_tree;
    pANTLR3_BASE_TREE INTEGER2472_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL2474_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    GET_SYMBOL2465       = NULL;
    CURRENT_SYMBOL2466       = NULL;
    DIAGNOSTICS_SYMBOL2467       = NULL;
    COMMA_SYMBOL2469       = NULL;
    CONDITION_SYMBOL2471       = NULL;
    INTEGER2472       = NULL;
    COMMA_SYMBOL2474       = NULL;
    statement_information_item2468.tree = NULL;

    statement_information_item2470.tree = NULL;

    condition_information_item2473.tree = NULL;

    condition_information_item2475.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    GET_SYMBOL2465_tree   = NULL;
    CURRENT_SYMBOL2466_tree   = NULL;
    DIAGNOSTICS_SYMBOL2467_tree   = NULL;
    COMMA_SYMBOL2469_tree   = NULL;
    CONDITION_SYMBOL2471_tree   = NULL;
    INTEGER2472_tree   = NULL;
    COMMA_SYMBOL2474_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2229:16: ( GET_SYMBOL ( CURRENT_SYMBOL )? DIAGNOSTICS_SYMBOL ( statement_information_item ( COMMA_SYMBOL statement_information_item )* | CONDITION_SYMBOL INTEGER condition_information_item ( COMMA_SYMBOL condition_information_item )* ) )
        // MySQL.g:2230:2: GET_SYMBOL ( CURRENT_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_SYMBOL2465 = (pANTLR3_COMMON_TOKEN) MATCHT(GET_SYMBOL, &FOLLOW_GET_SYMBOL_in_get_diagnostics12707);
            if  (HASEXCEPTION())
            {
                goto ruleget_diagnosticsEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            GET_SYMBOL2465_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, GET_SYMBOL2465));
            ADAPTOR->addChild(ADAPTOR, root_0, GET_SYMBOL2465_tree);
            }

            // MySQL.g:2230:13: ( CURRENT_SYMBOL )?
            {
                int alt675=2;
                switch ( LA(1) )
                {
                    case CURRENT_SYMBOL:
                    	{
                    		alt675=1;
                    	}
                        break;
                }

                switch (alt675)
                {
            	case 1:
            	    // MySQL.g:2230:13: CURRENT_SYMBOL
            	    {
            	        CURRENT_SYMBOL2466 = (pANTLR3_COMMON_TOKEN) MATCHT(CURRENT_SYMBOL, &FOLLOW_CURRENT_SYMBOL_in_get_diagnostics12709);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleget_diagnosticsEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        CURRENT_SYMBOL2466_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CURRENT_SYMBOL2466));
            	        ADAPTOR->addChild(ADAPTOR, root_0, CURRENT_SYMBOL2466_tree);
            	        }

            	    }
            	    break;

                }
            }

            DIAGNOSTICS_SYMBOL2467 = (pANTLR3_COMMON_TOKEN) MATCHT(DIAGNOSTICS_SYMBOL, &FOLLOW_DIAGNOSTICS_SYMBOL_in_get_diagnostics12712);
            if  (HASEXCEPTION())
            {
                goto ruleget_diagnosticsEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            DIAGNOSTICS_SYMBOL2467_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DIAGNOSTICS_SYMBOL2467));
            ADAPTOR->addChild(ADAPTOR, root_0, DIAGNOSTICS_SYMBOL2467_tree);
            }

            // MySQL.g:2231:2: ( statement_information_item ( COMMA_SYMBOL statement_information_item )* | CONDITION_SYMBOL INTEGER condition_information_item ( COMMA_SYMBOL condition_information_item )* )
            {
                int alt678=2;
                {
                    int LA678_0 = LA(1);
                    if ( (((LA678_0 >= AT_AT_SIGN_SYMBOL) && (LA678_0 <= AT_SIGN_SYMBOL)) || LA678_0 == BACK_TICK_QUOTED_ID || LA678_0 == IDENTIFIER))
                    {
                        alt678=1;
                    }
                    else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA678_0 == DOUBLE_QUOTED_TEXT))
                    {
                        alt678=1;
                    }
                    else if ( (((LA678_0 >= ACTION_SYMBOL) && (LA678_0 <= PARTITION_SYMBOL))))
                    {
                        alt678=1;
                    }
                    else if ( (LA678_0 == CONDITION_SYMBOL))
                    {
                        alt678=2;
                    }
                    else
                    {
                        if (BACKTRACKING>0)
                        {
                            FAILEDFLAG = ANTLR3_TRUE;
                            return retval;
                        }


                        CONSTRUCTEX();
                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                        EXCEPTION->message      = (void *)"";
                        EXCEPTION->decisionNum  = 678;
                        EXCEPTION->state        = 0;


                        goto ruleget_diagnosticsEx;

                    }
                }
                switch (alt678)
                {
            	case 1:
            	    // MySQL.g:2232:3: statement_information_item ( COMMA_SYMBOL statement_information_item )*
            	    {
            	        FOLLOWPUSH(FOLLOW_statement_information_item_in_get_diagnostics12719);
            	        statement_information_item2468=statement_information_item(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleget_diagnosticsEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, statement_information_item2468.tree);

            	        // MySQL.g:2232:30: ( COMMA_SYMBOL statement_information_item )*

            	        for (;;)
            	        {
            	            int alt676=2;
            	            switch ( LA(1) )
            	            {
            	            case COMMA_SYMBOL:
            	            	{
            	            		alt676=1;
            	            	}
            	                break;

            	            }

            	            switch (alt676)
            	            {
            	        	case 1:
            	        	    // MySQL.g:2232:31: COMMA_SYMBOL statement_information_item
            	        	    {
            	        	        COMMA_SYMBOL2469 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_get_diagnostics12722);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleget_diagnosticsEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        COMMA_SYMBOL2469_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL2469));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL2469_tree);
            	        	        }

            	        	        FOLLOWPUSH(FOLLOW_statement_information_item_in_get_diagnostics12724);
            	        	        statement_information_item2470=statement_information_item(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleget_diagnosticsEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, statement_information_item2470.tree);

            	        	    }
            	        	    break;

            	        	default:
            	        	    goto loop676;	/* break out of the loop */
            	        	    break;
            	            }
            	        }
            	        loop676: ; /* Jump out to here if this rule does not match */


            	    }
            	    break;
            	case 2:
            	    // MySQL.g:2233:5: CONDITION_SYMBOL INTEGER condition_information_item ( COMMA_SYMBOL condition_information_item )*
            	    {
            	        CONDITION_SYMBOL2471 = (pANTLR3_COMMON_TOKEN) MATCHT(CONDITION_SYMBOL, &FOLLOW_CONDITION_SYMBOL_in_get_diagnostics12732);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleget_diagnosticsEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        CONDITION_SYMBOL2471_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CONDITION_SYMBOL2471));
            	        ADAPTOR->addChild(ADAPTOR, root_0, CONDITION_SYMBOL2471_tree);
            	        }

            	        INTEGER2472 = (pANTLR3_COMMON_TOKEN) MATCHT(INTEGER, &FOLLOW_INTEGER_in_get_diagnostics12734);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleget_diagnosticsEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        INTEGER2472_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INTEGER2472));
            	        ADAPTOR->addChild(ADAPTOR, root_0, INTEGER2472_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_condition_information_item_in_get_diagnostics12736);
            	        condition_information_item2473=condition_information_item(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleget_diagnosticsEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, condition_information_item2473.tree);

            	        // MySQL.g:2233:57: ( COMMA_SYMBOL condition_information_item )*

            	        for (;;)
            	        {
            	            int alt677=2;
            	            switch ( LA(1) )
            	            {
            	            case COMMA_SYMBOL:
            	            	{
            	            		alt677=1;
            	            	}
            	                break;

            	            }

            	            switch (alt677)
            	            {
            	        	case 1:
            	        	    // MySQL.g:2233:58: COMMA_SYMBOL condition_information_item
            	        	    {
            	        	        COMMA_SYMBOL2474 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_get_diagnostics12739);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleget_diagnosticsEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        COMMA_SYMBOL2474_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL2474));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL2474_tree);
            	        	        }

            	        	        FOLLOWPUSH(FOLLOW_condition_information_item_in_get_diagnostics12741);
            	        	        condition_information_item2475=condition_information_item(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleget_diagnosticsEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, condition_information_item2475.tree);

            	        	    }
            	        	    break;

            	        	default:
            	        	    goto loop677;	/* break out of the loop */
            	        	    break;
            	            }
            	        }
            	        loop677: ; /* 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:2237: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_OPERATOR2478;
    pANTLR3_COMMON_TOKEN    set2479;
    MySQLParser_variable_return variable2476;
    #undef	RETURN_TYPE_variable2476
    #define	RETURN_TYPE_variable2476 MySQLParser_variable_return

    MySQLParser_identifier_return identifier2477;
    #undef	RETURN_TYPE_identifier2477
    #define	RETURN_TYPE_identifier2477 MySQLParser_identifier_return

    pANTLR3_BASE_TREE EQUAL_OPERATOR2478_tree;
    pANTLR3_BASE_TREE set2479_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    EQUAL_OPERATOR2478       = NULL;
    set2479       = NULL;
    variable2476.tree = NULL;

    identifier2477.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    EQUAL_OPERATOR2478_tree   = NULL;
    set2479_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2237:27: ( ( variable | identifier ) EQUAL_OPERATOR ( NUMBER_SYMBOL | ROW_COUNT_SYMBOL ) )
        // MySQL.g:2238:2: ( variable | identifier ) EQUAL_OPERATOR ( NUMBER_SYMBOL | ROW_COUNT_SYMBOL )
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            // MySQL.g:2238:2: ( variable | identifier )
            {
                int alt679=2;
                {
                    int LA679_0 = LA(1);
                    if ( (((LA679_0 >= AT_AT_SIGN_SYMBOL) && (LA679_0 <= AT_SIGN_SYMBOL))))
                    {
                        alt679=1;
                    }
                    else if ( (LA679_0 == BACK_TICK_QUOTED_ID || LA679_0 == IDENTIFIER))
                    {
                        alt679=2;
                    }
                    else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA679_0 == DOUBLE_QUOTED_TEXT))
                    {
                        alt679=2;
                    }
                    else if ( (((LA679_0 >= ACTION_SYMBOL) && (LA679_0 <= PARTITION_SYMBOL))))
                    {
                        alt679=2;
                    }
                    else
                    {
                        if (BACKTRACKING>0)
                        {
                            FAILEDFLAG = ANTLR3_TRUE;
                            return retval;
                        }


                        CONSTRUCTEX();
                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                        EXCEPTION->message      = (void *)"";
                        EXCEPTION->decisionNum  = 679;
                        EXCEPTION->state        = 0;


                        goto rulestatement_information_itemEx;

                    }
                }
                switch (alt679)
                {
            	case 1:
            	    // MySQL.g:2238:3: variable
            	    {
            	        FOLLOWPUSH(FOLLOW_variable_in_statement_information_item12756);
            	        variable2476=variable(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulestatement_information_itemEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, variable2476.tree);

            	    }
            	    break;
            	case 2:
            	    // MySQL.g:2238:14: identifier
            	    {
            	        FOLLOWPUSH(FOLLOW_identifier_in_statement_information_item12760);
            	        identifier2477=identifier(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulestatement_information_itemEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier2477.tree);

            	    }
            	    break;

                }
            }

            EQUAL_OPERATOR2478 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_statement_information_item12763);
            if  (HASEXCEPTION())
            {
                goto rulestatement_information_itemEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            EQUAL_OPERATOR2478_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR2478));
            ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR2478_tree);
            }

            set2479=(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, set2479))
                );
                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:2241:1: condition_information_item : ( variable | identifier ) EQUAL_OPERATOR condition_information_item_name ;
 */
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_OPERATOR2482;
    MySQLParser_variable_return variable2480;
    #undef	RETURN_TYPE_variable2480
    #define	RETURN_TYPE_variable2480 MySQLParser_variable_return

    MySQLParser_identifier_return identifier2481;
    #undef	RETURN_TYPE_identifier2481
    #define	RETURN_TYPE_identifier2481 MySQLParser_identifier_return

    MySQLParser_condition_information_item_name_return condition_information_item_name2483;
    #undef	RETURN_TYPE_condition_information_item_name2483
    #define	RETURN_TYPE_condition_information_item_name2483 MySQLParser_condition_information_item_name_return

    pANTLR3_BASE_TREE EQUAL_OPERATOR2482_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    EQUAL_OPERATOR2482       = NULL;
    variable2480.tree = NULL;

    identifier2481.tree = NULL;

    condition_information_item_name2483.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    EQUAL_OPERATOR2482_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2241:27: ( ( variable | identifier ) EQUAL_OPERATOR condition_information_item_name )
        // MySQL.g:2242:2: ( variable | identifier ) EQUAL_OPERATOR condition_information_item_name
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            // MySQL.g:2242:2: ( variable | identifier )
            {
                int alt680=2;
                {
                    int LA680_0 = LA(1);
                    if ( (((LA680_0 >= AT_AT_SIGN_SYMBOL) && (LA680_0 <= AT_SIGN_SYMBOL))))
                    {
                        alt680=1;
                    }
                    else if ( (LA680_0 == BACK_TICK_QUOTED_ID || LA680_0 == IDENTIFIER))
                    {
                        alt680=2;
                    }
                    else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA680_0 == DOUBLE_QUOTED_TEXT))
                    {
                        alt680=2;
                    }
                    else if ( (((LA680_0 >= ACTION_SYMBOL) && (LA680_0 <= PARTITION_SYMBOL))))
                    {
                        alt680=2;
                    }
                    else
                    {
                        if (BACKTRACKING>0)
                        {
                            FAILEDFLAG = ANTLR3_TRUE;
                            return retval;
                        }


                        CONSTRUCTEX();
                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                        EXCEPTION->message      = (void *)"";
                        EXCEPTION->decisionNum  = 680;
                        EXCEPTION->state        = 0;


                        goto rulecondition_information_itemEx;

                    }
                }
                switch (alt680)
                {
            	case 1:
            	    // MySQL.g:2242:3: variable
            	    {
            	        FOLLOWPUSH(FOLLOW_variable_in_condition_information_item12781);
            	        variable2480=variable(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecondition_information_itemEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, variable2480.tree);

            	    }
            	    break;
            	case 2:
            	    // MySQL.g:2242:14: identifier
            	    {
            	        FOLLOWPUSH(FOLLOW_identifier_in_condition_information_item12785);
            	        identifier2481=identifier(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecondition_information_itemEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier2481.tree);

            	    }
            	    break;

                }
            }

            EQUAL_OPERATOR2482 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_condition_information_item12788);
            if  (HASEXCEPTION())
            {
                goto rulecondition_information_itemEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            EQUAL_OPERATOR2482_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR2482));
            ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR2482_tree);
            }

            FOLLOWPUSH(FOLLOW_condition_information_item_name_in_condition_information_item12790);
            condition_information_item_name2483=condition_information_item_name(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulecondition_information_itemEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, condition_information_item_name2483.tree);

        }

    }

    // 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 condition_information_item_name
 * MySQL.g:2245:1: condition_information_item_name : ( CLASS_ORIGIN_SYMBOL | SUBCLASS_ORIGIN_SYMBOL | RETURNED_SQLSTATE_SYMBOL | MESSAGE_TEXT_SYMBOL | MYSQL_ERRNO_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 );
 */
static MySQLParser_condition_information_item_name_return
condition_information_item_name(pMySQLParser ctx)
{
    MySQLParser_condition_information_item_name_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    set2484;

    pANTLR3_BASE_TREE set2484_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    set2484       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    set2484_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2245:32: ( CLASS_ORIGIN_SYMBOL | SUBCLASS_ORIGIN_SYMBOL | RETURNED_SQLSTATE_SYMBOL | MESSAGE_TEXT_SYMBOL | MYSQL_ERRNO_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 )
        // MySQL.g:
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            set2484=(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_SCHEMA_SYMBOL)) || LA(1) == CURSOR_NAME_SYMBOL || LA(1) == MESSAGE_TEXT_SYMBOL || LA(1) == MYSQL_ERRNO_SYMBOL || LA(1) == RETURNED_SQLSTATE_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, set2484))
                );
                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 rulecondition_information_item_nameEx;
            }


        }

    }

    // This is where rules clean up and exit
    //
    goto rulecondition_information_item_nameEx; /* Prevent compiler warnings */
    rulecondition_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 condition_information_item_name */

/**
 * $ANTLR start signal_statement
 * MySQL.g:2261:1: signal_statement : SIGNAL_SYMBOL ( 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_SYMBOL2485;
    pANTLR3_COMMON_TOKEN    SQLSTATE_SYMBOL2486;
    pANTLR3_COMMON_TOKEN    VALUE_SYMBOL2487;
    pANTLR3_COMMON_TOKEN    SET_SYMBOL2489;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL2491;
    MySQLParser_text_or_identifier_return text_or_identifier2488;
    #undef	RETURN_TYPE_text_or_identifier2488
    #define	RETURN_TYPE_text_or_identifier2488 MySQLParser_text_or_identifier_return

    MySQLParser_signal_information_item_return signal_information_item2490;
    #undef	RETURN_TYPE_signal_information_item2490
    #define	RETURN_TYPE_signal_information_item2490 MySQLParser_signal_information_item_return

    MySQLParser_signal_information_item_return signal_information_item2492;
    #undef	RETURN_TYPE_signal_information_item2492
    #define	RETURN_TYPE_signal_information_item2492 MySQLParser_signal_information_item_return

    pANTLR3_BASE_TREE SIGNAL_SYMBOL2485_tree;
    pANTLR3_BASE_TREE SQLSTATE_SYMBOL2486_tree;
    pANTLR3_BASE_TREE VALUE_SYMBOL2487_tree;
    pANTLR3_BASE_TREE SET_SYMBOL2489_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL2491_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    SIGNAL_SYMBOL2485       = NULL;
    SQLSTATE_SYMBOL2486       = NULL;
    VALUE_SYMBOL2487       = NULL;
    SET_SYMBOL2489       = NULL;
    COMMA_SYMBOL2491       = NULL;
    text_or_identifier2488.tree = NULL;

    signal_information_item2490.tree = NULL;

    signal_information_item2492.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    SIGNAL_SYMBOL2485_tree   = NULL;
    SQLSTATE_SYMBOL2486_tree   = NULL;
    VALUE_SYMBOL2487_tree   = NULL;
    SET_SYMBOL2489_tree   = NULL;
    COMMA_SYMBOL2491_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2261:17: ( SIGNAL_SYMBOL ( SQLSTATE_SYMBOL ( VALUE_SYMBOL )? text_or_identifier ) ( SET_SYMBOL signal_information_item ( COMMA_SYMBOL signal_information_item )* )? )
        // MySQL.g:2262:2: SIGNAL_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));


            SIGNAL_SYMBOL2485 = (pANTLR3_COMMON_TOKEN) MATCHT(SIGNAL_SYMBOL, &FOLLOW_SIGNAL_SYMBOL_in_signal_statement12868);
            if  (HASEXCEPTION())
            {
                goto rulesignal_statementEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            SIGNAL_SYMBOL2485_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SIGNAL_SYMBOL2485));
            ADAPTOR->addChild(ADAPTOR, root_0, SIGNAL_SYMBOL2485_tree);
            }

            // MySQL.g:2262:16: ( SQLSTATE_SYMBOL ( VALUE_SYMBOL )? text_or_identifier )
            // MySQL.g:2262:17: SQLSTATE_SYMBOL ( VALUE_SYMBOL )? text_or_identifier
            {
                SQLSTATE_SYMBOL2486 = (pANTLR3_COMMON_TOKEN) MATCHT(SQLSTATE_SYMBOL, &FOLLOW_SQLSTATE_SYMBOL_in_signal_statement12871);
                if  (HASEXCEPTION())
                {
                    goto rulesignal_statementEx;
                }
                if (HASFAILED())
                {
                    return retval;
                }

                if ( BACKTRACKING==0 ) {
                SQLSTATE_SYMBOL2486_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SQLSTATE_SYMBOL2486));
                ADAPTOR->addChild(ADAPTOR, root_0, SQLSTATE_SYMBOL2486_tree);
                }

                // MySQL.g:2262:33: ( VALUE_SYMBOL )?
                {
                    int alt681=2;
                    switch ( LA(1) )
                    {
                        case VALUE_SYMBOL:
                        	{
                        		{
                        		    int LA681_1 = LA(2);
                        		    if ( (((LA681_1 >= ACTION_SYMBOL) && (LA681_1 <= PARTITION_SYMBOL)) || LA681_1 == BACK_TICK_QUOTED_ID || LA681_1 == DOUBLE_QUOTED_TEXT || LA681_1 == IDENTIFIER || LA681_1 == NCHAR_TEXT || LA681_1 == SINGLE_QUOTED_TEXT || LA681_1 == UNDERSCORE_CHARSET))
                        		    {
                        		        alt681=1;
                        		    }
                        		}
                        	}
                            break;
                    }

                    switch (alt681)
                    {
                	case 1:
                	    // MySQL.g:2262:33: VALUE_SYMBOL
                	    {
                	        VALUE_SYMBOL2487 = (pANTLR3_COMMON_TOKEN) MATCHT(VALUE_SYMBOL, &FOLLOW_VALUE_SYMBOL_in_signal_statement12873);
                	        if  (HASEXCEPTION())
                	        {
                	            goto rulesignal_statementEx;
                	        }
                	        if (HASFAILED())
                	        {
                	            return retval;
                	        }

                	        if ( BACKTRACKING==0 ) {
                	        VALUE_SYMBOL2487_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, VALUE_SYMBOL2487));
                	        ADAPTOR->addChild(ADAPTOR, root_0, VALUE_SYMBOL2487_tree);
                	        }

                	    }
                	    break;

                    }
                }

                FOLLOWPUSH(FOLLOW_text_or_identifier_in_signal_statement12876);
                text_or_identifier2488=text_or_identifier(ctx);

                FOLLOWPOP();
                if  (HASEXCEPTION())
                {
                    goto rulesignal_statementEx;
                }
                if (HASFAILED())
                {
                    return retval;
                }

                if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, text_or_identifier2488.tree);

            }


            // MySQL.g:2263:3: ( SET_SYMBOL signal_information_item ( COMMA_SYMBOL signal_information_item )* )?
            {
                int alt683=2;
                switch ( LA(1) )
                {
                    case SET_SYMBOL:
                    	{
                    		alt683=1;
                    	}
                        break;
                }

                switch (alt683)
                {
            	case 1:
            	    // MySQL.g:2263:4: SET_SYMBOL signal_information_item ( COMMA_SYMBOL signal_information_item )*
            	    {
            	        SET_SYMBOL2489 = (pANTLR3_COMMON_TOKEN) MATCHT(SET_SYMBOL, &FOLLOW_SET_SYMBOL_in_signal_statement12882);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulesignal_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        SET_SYMBOL2489_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SET_SYMBOL2489));
            	        ADAPTOR->addChild(ADAPTOR, root_0, SET_SYMBOL2489_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_signal_information_item_in_signal_statement12884);
            	        signal_information_item2490=signal_information_item(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulesignal_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, signal_information_item2490.tree);

            	        // MySQL.g:2263:39: ( COMMA_SYMBOL signal_information_item )*

            	        for (;;)
            	        {
            	            int alt682=2;
            	            switch ( LA(1) )
            	            {
            	            case COMMA_SYMBOL:
            	            	{
            	            		alt682=1;
            	            	}
            	                break;

            	            }

            	            switch (alt682)
            	            {
            	        	case 1:
            	        	    // MySQL.g:2263:40: COMMA_SYMBOL signal_information_item
            	        	    {
            	        	        COMMA_SYMBOL2491 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_signal_statement12887);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulesignal_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        COMMA_SYMBOL2491_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL2491));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL2491_tree);
            	        	        }

            	        	        FOLLOWPUSH(FOLLOW_signal_information_item_in_signal_statement12889);
            	        	        signal_information_item2492=signal_information_item(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulesignal_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, signal_information_item2492.tree);

            	        	    }
            	        	    break;

            	        	default:
            	        	    goto loop682;	/* break out of the loop */
            	        	    break;
            	            }
            	        }
            	        loop682: ; /* 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:2266: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_SYMBOL2493;
    pANTLR3_COMMON_TOKEN    SQLSTATE_SYMBOL2494;
    pANTLR3_COMMON_TOKEN    VALUE_SYMBOL2495;
    pANTLR3_COMMON_TOKEN    SET_SYMBOL2497;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL2499;
    MySQLParser_text_or_identifier_return text_or_identifier2496;
    #undef	RETURN_TYPE_text_or_identifier2496
    #define	RETURN_TYPE_text_or_identifier2496 MySQLParser_text_or_identifier_return

    MySQLParser_signal_information_item_return signal_information_item2498;
    #undef	RETURN_TYPE_signal_information_item2498
    #define	RETURN_TYPE_signal_information_item2498 MySQLParser_signal_information_item_return

    MySQLParser_signal_information_item_return signal_information_item2500;
    #undef	RETURN_TYPE_signal_information_item2500
    #define	RETURN_TYPE_signal_information_item2500 MySQLParser_signal_information_item_return

    pANTLR3_BASE_TREE RESIGNAL_SYMBOL2493_tree;
    pANTLR3_BASE_TREE SQLSTATE_SYMBOL2494_tree;
    pANTLR3_BASE_TREE VALUE_SYMBOL2495_tree;
    pANTLR3_BASE_TREE SET_SYMBOL2497_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL2499_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    RESIGNAL_SYMBOL2493       = NULL;
    SQLSTATE_SYMBOL2494       = NULL;
    VALUE_SYMBOL2495       = NULL;
    SET_SYMBOL2497       = NULL;
    COMMA_SYMBOL2499       = NULL;
    text_or_identifier2496.tree = NULL;

    signal_information_item2498.tree = NULL;

    signal_information_item2500.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    RESIGNAL_SYMBOL2493_tree   = NULL;
    SQLSTATE_SYMBOL2494_tree   = NULL;
    VALUE_SYMBOL2495_tree   = NULL;
    SET_SYMBOL2497_tree   = NULL;
    COMMA_SYMBOL2499_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2266:19: ( RESIGNAL_SYMBOL ( SQLSTATE_SYMBOL ( VALUE_SYMBOL )? text_or_identifier )? ( SET_SYMBOL signal_information_item ( COMMA_SYMBOL signal_information_item )* )? )
        // MySQL.g:2267: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_SYMBOL2493 = (pANTLR3_COMMON_TOKEN) MATCHT(RESIGNAL_SYMBOL, &FOLLOW_RESIGNAL_SYMBOL_in_resignal_statement12902);
            if  (HASEXCEPTION())
            {
                goto ruleresignal_statementEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            RESIGNAL_SYMBOL2493_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, RESIGNAL_SYMBOL2493));
            ADAPTOR->addChild(ADAPTOR, root_0, RESIGNAL_SYMBOL2493_tree);
            }

            // MySQL.g:2267:18: ( SQLSTATE_SYMBOL ( VALUE_SYMBOL )? text_or_identifier )?
            {
                int alt685=2;
                switch ( LA(1) )
                {
                    case SQLSTATE_SYMBOL:
                    	{
                    		alt685=1;
                    	}
                        break;
                }

                switch (alt685)
                {
            	case 1:
            	    // MySQL.g:2267:19: SQLSTATE_SYMBOL ( VALUE_SYMBOL )? text_or_identifier
            	    {
            	        SQLSTATE_SYMBOL2494 = (pANTLR3_COMMON_TOKEN) MATCHT(SQLSTATE_SYMBOL, &FOLLOW_SQLSTATE_SYMBOL_in_resignal_statement12905);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleresignal_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        SQLSTATE_SYMBOL2494_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SQLSTATE_SYMBOL2494));
            	        ADAPTOR->addChild(ADAPTOR, root_0, SQLSTATE_SYMBOL2494_tree);
            	        }

            	        // MySQL.g:2267:35: ( VALUE_SYMBOL )?
            	        {
            	            int alt684=2;
            	            switch ( LA(1) )
            	            {
            	                case VALUE_SYMBOL:
            	                	{
            	                		{
            	                		    int LA684_1 = LA(2);
            	                		    if ( (((LA684_1 >= ACTION_SYMBOL) && (LA684_1 <= PARTITION_SYMBOL)) || LA684_1 == BACK_TICK_QUOTED_ID || LA684_1 == DOUBLE_QUOTED_TEXT || LA684_1 == IDENTIFIER || LA684_1 == NCHAR_TEXT || LA684_1 == SINGLE_QUOTED_TEXT || LA684_1 == UNDERSCORE_CHARSET))
            	                		    {
            	                		        alt684=1;
            	                		    }
            	                		}
            	                	}
            	                    break;
            	            }

            	            switch (alt684)
            	            {
            	        	case 1:
            	        	    // MySQL.g:2267:35: VALUE_SYMBOL
            	        	    {
            	        	        VALUE_SYMBOL2495 = (pANTLR3_COMMON_TOKEN) MATCHT(VALUE_SYMBOL, &FOLLOW_VALUE_SYMBOL_in_resignal_statement12907);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleresignal_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        VALUE_SYMBOL2495_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, VALUE_SYMBOL2495));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, VALUE_SYMBOL2495_tree);
            	        	        }

            	        	    }
            	        	    break;

            	            }
            	        }

            	        FOLLOWPUSH(FOLLOW_text_or_identifier_in_resignal_statement12910);
            	        text_or_identifier2496=text_or_identifier(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleresignal_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, text_or_identifier2496.tree);

            	    }
            	    break;

                }
            }

            // MySQL.g:2268:3: ( SET_SYMBOL signal_information_item ( COMMA_SYMBOL signal_information_item )* )?
            {
                int alt687=2;
                switch ( LA(1) )
                {
                    case SET_SYMBOL:
                    	{
                    		alt687=1;
                    	}
                        break;
                }

                switch (alt687)
                {
            	case 1:
            	    // MySQL.g:2268:4: SET_SYMBOL signal_information_item ( COMMA_SYMBOL signal_information_item )*
            	    {
            	        SET_SYMBOL2497 = (pANTLR3_COMMON_TOKEN) MATCHT(SET_SYMBOL, &FOLLOW_SET_SYMBOL_in_resignal_statement12917);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleresignal_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        SET_SYMBOL2497_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SET_SYMBOL2497));
            	        ADAPTOR->addChild(ADAPTOR, root_0, SET_SYMBOL2497_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_signal_information_item_in_resignal_statement12919);
            	        signal_information_item2498=signal_information_item(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleresignal_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, signal_information_item2498.tree);

            	        // MySQL.g:2268:39: ( COMMA_SYMBOL signal_information_item )*

            	        for (;;)
            	        {
            	            int alt686=2;
            	            switch ( LA(1) )
            	            {
            	            case COMMA_SYMBOL:
            	            	{
            	            		alt686=1;
            	            	}
            	                break;

            	            }

            	            switch (alt686)
            	            {
            	        	case 1:
            	        	    // MySQL.g:2268:40: COMMA_SYMBOL signal_information_item
            	        	    {
            	        	        COMMA_SYMBOL2499 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_resignal_statement12922);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleresignal_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        COMMA_SYMBOL2499_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL2499));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL2499_tree);
            	        	        }

            	        	        FOLLOWPUSH(FOLLOW_signal_information_item_in_resignal_statement12924);
            	        	        signal_information_item2500=signal_information_item(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleresignal_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, signal_information_item2500.tree);

            	        	    }
            	        	    break;

            	        	default:
            	        	    goto loop686;	/* break out of the loop */
            	        	    break;
            	            }
            	        }
            	        loop686: ; /* 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:2271:1: signal_information_item : condition_information_item_name EQUAL_OPERATOR literal ;
 */
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_OPERATOR2502;
    MySQLParser_condition_information_item_name_return condition_information_item_name2501;
    #undef	RETURN_TYPE_condition_information_item_name2501
    #define	RETURN_TYPE_condition_information_item_name2501 MySQLParser_condition_information_item_name_return

    MySQLParser_literal_return literal2503;
    #undef	RETURN_TYPE_literal2503
    #define	RETURN_TYPE_literal2503 MySQLParser_literal_return

    pANTLR3_BASE_TREE EQUAL_OPERATOR2502_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    EQUAL_OPERATOR2502       = NULL;
    condition_information_item_name2501.tree = NULL;

    literal2503.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    EQUAL_OPERATOR2502_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2271:24: ( condition_information_item_name EQUAL_OPERATOR literal )
        // MySQL.g:2272:2: condition_information_item_name EQUAL_OPERATOR literal
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            FOLLOWPUSH(FOLLOW_condition_information_item_name_in_signal_information_item12937);
            condition_information_item_name2501=condition_information_item_name(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulesignal_information_itemEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, condition_information_item_name2501.tree);

            EQUAL_OPERATOR2502 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_signal_information_item12939);
            if  (HASEXCEPTION())
            {
                goto rulesignal_information_itemEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            EQUAL_OPERATOR2502_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR2502));
            ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR2502_tree);
            }

            FOLLOWPUSH(FOLLOW_literal_in_signal_information_item12941);
            literal2503=literal(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulesignal_information_itemEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, literal2503.tree);

        }

    }

    // 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:2275: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_SYMBOL2504;
    MySQLParser_identifier_return identifier2505;
    #undef	RETURN_TYPE_identifier2505
    #define	RETURN_TYPE_identifier2505 MySQLParser_identifier_return

    pANTLR3_BASE_TREE CLOSE_SYMBOL2504_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    CLOSE_SYMBOL2504       = NULL;
    identifier2505.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    CLOSE_SYMBOL2504_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2275:13: ( CLOSE_SYMBOL identifier )
        // MySQL.g:2276:2: CLOSE_SYMBOL identifier
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            CLOSE_SYMBOL2504 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_SYMBOL, &FOLLOW_CLOSE_SYMBOL_in_cursor_close12950);
            if  (HASEXCEPTION())
            {
                goto rulecursor_closeEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            CLOSE_SYMBOL2504_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_SYMBOL2504));
            ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_SYMBOL2504_tree);
            }

            FOLLOWPUSH(FOLLOW_identifier_in_cursor_close12952);
            identifier2505=identifier(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulecursor_closeEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier2505.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:2279: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_SYMBOL2506;
    pANTLR3_COMMON_TOKEN    INTO_SYMBOL2508;
    MySQLParser_identifier_return identifier2507;
    #undef	RETURN_TYPE_identifier2507
    #define	RETURN_TYPE_identifier2507 MySQLParser_identifier_return

    MySQLParser_identifier_list_return identifier_list2509;
    #undef	RETURN_TYPE_identifier_list2509
    #define	RETURN_TYPE_identifier_list2509 MySQLParser_identifier_list_return

    pANTLR3_BASE_TREE FETCH_SYMBOL2506_tree;
    pANTLR3_BASE_TREE INTO_SYMBOL2508_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    FETCH_SYMBOL2506       = NULL;
    INTO_SYMBOL2508       = NULL;
    identifier2507.tree = NULL;

    identifier_list2509.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    FETCH_SYMBOL2506_tree   = NULL;
    INTO_SYMBOL2508_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2279:13: ( FETCH_SYMBOL identifier INTO_SYMBOL identifier_list )
        // MySQL.g:2280:2: FETCH_SYMBOL identifier INTO_SYMBOL identifier_list
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            FETCH_SYMBOL2506 = (pANTLR3_COMMON_TOKEN) MATCHT(FETCH_SYMBOL, &FOLLOW_FETCH_SYMBOL_in_cursor_fetch12961);
            if  (HASEXCEPTION())
            {
                goto rulecursor_fetchEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            FETCH_SYMBOL2506_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, FETCH_SYMBOL2506));
            ADAPTOR->addChild(ADAPTOR, root_0, FETCH_SYMBOL2506_tree);
            }

            FOLLOWPUSH(FOLLOW_identifier_in_cursor_fetch12963);
            identifier2507=identifier(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulecursor_fetchEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier2507.tree);

            INTO_SYMBOL2508 = (pANTLR3_COMMON_TOKEN) MATCHT(INTO_SYMBOL, &FOLLOW_INTO_SYMBOL_in_cursor_fetch12965);
            if  (HASEXCEPTION())
            {
                goto rulecursor_fetchEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            INTO_SYMBOL2508_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INTO_SYMBOL2508));
            ADAPTOR->addChild(ADAPTOR, root_0, INTO_SYMBOL2508_tree);
            }

            FOLLOWPUSH(FOLLOW_identifier_list_in_cursor_fetch12967);
            identifier_list2509=identifier_list(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulecursor_fetchEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier_list2509.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:2283: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_SYMBOL2510;
    MySQLParser_identifier_return identifier2511;
    #undef	RETURN_TYPE_identifier2511
    #define	RETURN_TYPE_identifier2511 MySQLParser_identifier_return

    pANTLR3_BASE_TREE OPEN_SYMBOL2510_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    OPEN_SYMBOL2510       = NULL;
    identifier2511.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    OPEN_SYMBOL2510_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2283:12: ( OPEN_SYMBOL identifier )
        // MySQL.g:2284:2: OPEN_SYMBOL identifier
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            OPEN_SYMBOL2510 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_SYMBOL, &FOLLOW_OPEN_SYMBOL_in_cursor_open12976);
            if  (HASEXCEPTION())
            {
                goto rulecursor_openEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            OPEN_SYMBOL2510_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_SYMBOL2510));
            ADAPTOR->addChild(ADAPTOR, root_0, OPEN_SYMBOL2510_tree);
            }

            FOLLOWPUSH(FOLLOW_identifier_in_cursor_open12978);
            identifier2511=identifier(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulecursor_openEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier2511.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:2290: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_SYMBOL2512;
    pANTLR3_COMMON_TOKEN    EVERY_SYMBOL2514;
    pANTLR3_COMMON_TOKEN    STARTS_SYMBOL2516;
    pANTLR3_COMMON_TOKEN    ENDS_SYMBOL2518;
    MySQLParser_expression_return expression2513;
    #undef	RETURN_TYPE_expression2513
    #define	RETURN_TYPE_expression2513 MySQLParser_expression_return

    MySQLParser_interval_return interval2515;
    #undef	RETURN_TYPE_interval2515
    #define	RETURN_TYPE_interval2515 MySQLParser_interval_return

    MySQLParser_expression_return expression2517;
    #undef	RETURN_TYPE_expression2517
    #define	RETURN_TYPE_expression2517 MySQLParser_expression_return

    MySQLParser_expression_return expression2519;
    #undef	RETURN_TYPE_expression2519
    #define	RETURN_TYPE_expression2519 MySQLParser_expression_return

    pANTLR3_BASE_TREE AT_SYMBOL2512_tree;
    pANTLR3_BASE_TREE EVERY_SYMBOL2514_tree;
    pANTLR3_BASE_TREE STARTS_SYMBOL2516_tree;
    pANTLR3_BASE_TREE ENDS_SYMBOL2518_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    AT_SYMBOL2512       = NULL;
    EVERY_SYMBOL2514       = NULL;
    STARTS_SYMBOL2516       = NULL;
    ENDS_SYMBOL2518       = NULL;
    expression2513.tree = NULL;

    interval2515.tree = NULL;

    expression2517.tree = NULL;

    expression2519.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    AT_SYMBOL2512_tree   = NULL;
    EVERY_SYMBOL2514_tree   = NULL;
    STARTS_SYMBOL2516_tree   = NULL;
    ENDS_SYMBOL2518_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:2290:9: ( AT_SYMBOL expression | EVERY_SYMBOL interval ( STARTS_SYMBOL expression )? ( ENDS_SYMBOL expression )? )

            ANTLR3_UINT32 alt690;

            alt690=2;

            switch ( LA(1) )
            {
            case AT_SYMBOL:
            	{
            		alt690=1;
            	}
                break;
            case EVERY_SYMBOL:
            	{
            		alt690=2;
            	}
                break;

            default:
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                EXCEPTION->message      = (void *)"";
                EXCEPTION->decisionNum  = 690;
                EXCEPTION->state        = 0;


                goto rulescheduleEx;

            }

            switch (alt690)
            {
        	case 1:
        	    // MySQL.g:2291:2: AT_SYMBOL expression
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        AT_SYMBOL2512 = (pANTLR3_COMMON_TOKEN) MATCHT(AT_SYMBOL, &FOLLOW_AT_SYMBOL_in_schedule12990);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulescheduleEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        AT_SYMBOL2512_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, AT_SYMBOL2512));
        	        ADAPTOR->addChild(ADAPTOR, root_0, AT_SYMBOL2512_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_schedule12992);
        	        expression2513=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulescheduleEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2513.tree);

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:2292:4: EVERY_SYMBOL interval ( STARTS_SYMBOL expression )? ( ENDS_SYMBOL expression )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        EVERY_SYMBOL2514 = (pANTLR3_COMMON_TOKEN) MATCHT(EVERY_SYMBOL, &FOLLOW_EVERY_SYMBOL_in_schedule12997);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulescheduleEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        EVERY_SYMBOL2514_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EVERY_SYMBOL2514));
        	        ADAPTOR->addChild(ADAPTOR, root_0, EVERY_SYMBOL2514_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_interval_in_schedule12999);
        	        interval2515=interval(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulescheduleEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, interval2515.tree);

        	        // MySQL.g:2292:26: ( STARTS_SYMBOL expression )?
        	        {
        	            int alt688=2;
        	            switch ( LA(1) )
        	            {
        	                case STARTS_SYMBOL:
        	                	{
        	                		alt688=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt688)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2292:27: STARTS_SYMBOL expression
        	        	    {
        	        	        STARTS_SYMBOL2516 = (pANTLR3_COMMON_TOKEN) MATCHT(STARTS_SYMBOL, &FOLLOW_STARTS_SYMBOL_in_schedule13002);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulescheduleEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        STARTS_SYMBOL2516_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, STARTS_SYMBOL2516));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, STARTS_SYMBOL2516_tree);
        	        	        }

        	        	        FOLLOWPUSH(FOLLOW_expression_in_schedule13004);
        	        	        expression2517=expression(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulescheduleEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2517.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	        // MySQL.g:2292:54: ( ENDS_SYMBOL expression )?
        	        {
        	            int alt689=2;
        	            switch ( LA(1) )
        	            {
        	                case ENDS_SYMBOL:
        	                	{
        	                		alt689=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt689)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2292:55: ENDS_SYMBOL expression
        	        	    {
        	        	        ENDS_SYMBOL2518 = (pANTLR3_COMMON_TOKEN) MATCHT(ENDS_SYMBOL, &FOLLOW_ENDS_SYMBOL_in_schedule13009);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulescheduleEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        ENDS_SYMBOL2518_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ENDS_SYMBOL2518));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, ENDS_SYMBOL2518_tree);
        	        	        }

        	        	        FOLLOWPUSH(FOLLOW_expression_in_schedule13011);
        	        	        expression2519=expression(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulescheduleEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2519.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:2295: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_SYMBOL2520;
    pANTLR3_COMMON_TOKEN    CHAR_SYMBOL2521;
    pANTLR3_COMMON_TOKEN    SET_SYMBOL2522;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR2523;
    pANTLR3_COMMON_TOKEN    COLLATE_SYMBOL2525;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR2526;
    MySQLParser_charset_name_or_default_return charset_name_or_default2524;
    #undef	RETURN_TYPE_charset_name_or_default2524
    #define	RETURN_TYPE_charset_name_or_default2524 MySQLParser_charset_name_or_default_return

    MySQLParser_collation_name_or_default_return collation_name_or_default2527;
    #undef	RETURN_TYPE_collation_name_or_default2527
    #define	RETURN_TYPE_collation_name_or_default2527 MySQLParser_collation_name_or_default_return

    pANTLR3_BASE_TREE DEFAULT_SYMBOL2520_tree;
    pANTLR3_BASE_TREE CHAR_SYMBOL2521_tree;
    pANTLR3_BASE_TREE SET_SYMBOL2522_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR2523_tree;
    pANTLR3_BASE_TREE COLLATE_SYMBOL2525_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR2526_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    DEFAULT_SYMBOL2520       = NULL;
    CHAR_SYMBOL2521       = NULL;
    SET_SYMBOL2522       = NULL;
    EQUAL_OPERATOR2523       = NULL;
    COLLATE_SYMBOL2525       = NULL;
    EQUAL_OPERATOR2526       = NULL;
    charset_name_or_default2524.tree = NULL;

    collation_name_or_default2527.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    DEFAULT_SYMBOL2520_tree   = NULL;
    CHAR_SYMBOL2521_tree   = NULL;
    SET_SYMBOL2522_tree   = NULL;
    EQUAL_OPERATOR2523_tree   = NULL;
    COLLATE_SYMBOL2525_tree   = NULL;
    EQUAL_OPERATOR2526_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2295:16: ( ( DEFAULT_SYMBOL )? ( CHAR_SYMBOL SET_SYMBOL ( EQUAL_OPERATOR )? charset_name_or_default | COLLATE_SYMBOL ( EQUAL_OPERATOR )? collation_name_or_default ) )
        // MySQL.g:2296: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:2296:2: ( DEFAULT_SYMBOL )?
            {
                int alt691=2;
                switch ( LA(1) )
                {
                    case DEFAULT_SYMBOL:
                    	{
                    		alt691=1;
                    	}
                        break;
                }

                switch (alt691)
                {
            	case 1:
            	    // MySQL.g:2296:2: DEFAULT_SYMBOL
            	    {
            	        DEFAULT_SYMBOL2520 = (pANTLR3_COMMON_TOKEN) MATCHT(DEFAULT_SYMBOL, &FOLLOW_DEFAULT_SYMBOL_in_database_option13022);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruledatabase_optionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        DEFAULT_SYMBOL2520_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DEFAULT_SYMBOL2520));
            	        ADAPTOR->addChild(ADAPTOR, root_0, DEFAULT_SYMBOL2520_tree);
            	        }

            	    }
            	    break;

                }
            }

            // MySQL.g:2297:3: ( CHAR_SYMBOL SET_SYMBOL ( EQUAL_OPERATOR )? charset_name_or_default | COLLATE_SYMBOL ( EQUAL_OPERATOR )? collation_name_or_default )
            {
                int alt694=2;
                switch ( LA(1) )
                {
                case CHAR_SYMBOL:
                	{
                		alt694=1;
                	}
                    break;
                case COLLATE_SYMBOL:
                	{
                		alt694=2;
                	}
                    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 ruledatabase_optionEx;

                }

                switch (alt694)
                {
            	case 1:
            	    // MySQL.g:2298:4: CHAR_SYMBOL SET_SYMBOL ( EQUAL_OPERATOR )? charset_name_or_default
            	    {
            	        CHAR_SYMBOL2521 = (pANTLR3_COMMON_TOKEN) MATCHT(CHAR_SYMBOL, &FOLLOW_CHAR_SYMBOL_in_database_option13032);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruledatabase_optionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        CHAR_SYMBOL2521_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CHAR_SYMBOL2521));
            	        ADAPTOR->addChild(ADAPTOR, root_0, CHAR_SYMBOL2521_tree);
            	        }

            	        SET_SYMBOL2522 = (pANTLR3_COMMON_TOKEN) MATCHT(SET_SYMBOL, &FOLLOW_SET_SYMBOL_in_database_option13034);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruledatabase_optionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        SET_SYMBOL2522_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SET_SYMBOL2522));
            	        ADAPTOR->addChild(ADAPTOR, root_0, SET_SYMBOL2522_tree);
            	        }

            	        // MySQL.g:2298:27: ( EQUAL_OPERATOR )?
            	        {
            	            int alt692=2;
            	            switch ( LA(1) )
            	            {
            	                case EQUAL_OPERATOR:
            	                	{
            	                		alt692=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt692)
            	            {
            	        	case 1:
            	        	    // MySQL.g:2298:27: EQUAL_OPERATOR
            	        	    {
            	        	        EQUAL_OPERATOR2523 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_database_option13036);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruledatabase_optionEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        EQUAL_OPERATOR2523_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR2523));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR2523_tree);
            	        	        }

            	        	    }
            	        	    break;

            	            }
            	        }

            	        FOLLOWPUSH(FOLLOW_charset_name_or_default_in_database_option13039);
            	        charset_name_or_default2524=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_default2524.tree);

            	    }
            	    break;
            	case 2:
            	    // MySQL.g:2299:6: COLLATE_SYMBOL ( EQUAL_OPERATOR )? collation_name_or_default
            	    {
            	        COLLATE_SYMBOL2525 = (pANTLR3_COMMON_TOKEN) MATCHT(COLLATE_SYMBOL, &FOLLOW_COLLATE_SYMBOL_in_database_option13046);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruledatabase_optionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        COLLATE_SYMBOL2525_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COLLATE_SYMBOL2525));
            	        ADAPTOR->addChild(ADAPTOR, root_0, COLLATE_SYMBOL2525_tree);
            	        }

            	        // MySQL.g:2299:21: ( EQUAL_OPERATOR )?
            	        {
            	            int alt693=2;
            	            switch ( LA(1) )
            	            {
            	                case EQUAL_OPERATOR:
            	                	{
            	                		alt693=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt693)
            	            {
            	        	case 1:
            	        	    // MySQL.g:2299:21: EQUAL_OPERATOR
            	        	    {
            	        	        EQUAL_OPERATOR2526 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_database_option13048);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruledatabase_optionEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        EQUAL_OPERATOR2526_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR2526));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR2526_tree);
            	        	        }

            	        	    }
            	        	    break;

            	            }
            	        }

            	        FOLLOWPUSH(FOLLOW_collation_name_or_default_in_database_option13051);
            	        collation_name_or_default2527=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_default2527.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:2303: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_SYMBOL2530;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL2531;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2533;
    MySQLParser_field_spec_return field_spec2528;
    #undef	RETURN_TYPE_field_spec2528
    #define	RETURN_TYPE_field_spec2528 MySQLParser_field_spec_return

    MySQLParser_reference_definition_return reference_definition2529;
    #undef	RETURN_TYPE_reference_definition2529
    #define	RETURN_TYPE_reference_definition2529 MySQLParser_reference_definition_return

    MySQLParser_expression_return expression2532;
    #undef	RETURN_TYPE_expression2532
    #define	RETURN_TYPE_expression2532 MySQLParser_expression_return

    pANTLR3_BASE_TREE CHECK_SYMBOL2530_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2531_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2533_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    CHECK_SYMBOL2530       = NULL;
    OPEN_PAR_SYMBOL2531       = NULL;
    CLOSE_PAR_SYMBOL2533       = NULL;
    field_spec2528.tree = NULL;

    reference_definition2529.tree = NULL;

    expression2532.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    CHECK_SYMBOL2530_tree   = NULL;
    OPEN_PAR_SYMBOL2531_tree   = NULL;
    CLOSE_PAR_SYMBOL2533_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2303:18: ( field_spec ( reference_definition | ( CHECK_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL )? ) )
        // MySQL.g:2304: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_definition13064);
            field_spec2528=field_spec(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulecolumn_definitionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, field_spec2528.tree);

            // MySQL.g:2304:13: ( reference_definition | ( CHECK_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL )? )
            {
                int alt696=2;
                {
                    int LA696_0 = LA(1);
                    if ( (LA696_0 == REFERENCES_SYMBOL))
                    {
                        alt696=1;
                    }
                    else if ( (LA696_0 == AFTER_SYMBOL || LA696_0 == FIRST_SYMBOL || LA696_0 == CHECK_SYMBOL || LA696_0 == COMMA_SYMBOL))
                    {
                        alt696=2;
                    }
                    else if ( ((SERVER_VERSION >= 50100)) && (LA696_0 == PARTITION_SYMBOL))
                    {
                        alt696=2;
                    }
                    else if ( (LA696_0 == EOF || LA696_0 == SEMICOLON_SYMBOL))
                    {
                        alt696=2;
                    }
                    else if ( ((SERVER_VERSION >= 50100)) && (LA696_0 == REMOVE_SYMBOL))
                    {
                        alt696=2;
                    }
                    else if ( (LA696_0 == CLOSE_PAR_SYMBOL))
                    {
                        alt696=2;
                    }
                    else
                    {
                        if (BACKTRACKING>0)
                        {
                            FAILEDFLAG = ANTLR3_TRUE;
                            return retval;
                        }


                        CONSTRUCTEX();
                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                        EXCEPTION->message      = (void *)"";
                        EXCEPTION->decisionNum  = 696;
                        EXCEPTION->state        = 0;


                        goto rulecolumn_definitionEx;

                    }
                }
                switch (alt696)
                {
            	case 1:
            	    // MySQL.g:2304:14: reference_definition
            	    {
            	        FOLLOWPUSH(FOLLOW_reference_definition_in_column_definition13067);
            	        reference_definition2529=reference_definition(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecolumn_definitionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, reference_definition2529.tree);

            	    }
            	    break;
            	case 2:
            	    // MySQL.g:2304:37: ( CHECK_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL )?
            	    {
            	        // MySQL.g:2304:37: ( CHECK_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL )?
            	        {
            	            int alt695=2;
            	            switch ( LA(1) )
            	            {
            	                case CHECK_SYMBOL:
            	                	{
            	                		alt695=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt695)
            	            {
            	        	case 1:
            	        	    // MySQL.g:2304:38: CHECK_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL
            	        	    {
            	        	        CHECK_SYMBOL2530 = (pANTLR3_COMMON_TOKEN) MATCHT(CHECK_SYMBOL, &FOLLOW_CHECK_SYMBOL_in_column_definition13072);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulecolumn_definitionEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        CHECK_SYMBOL2530_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CHECK_SYMBOL2530));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, CHECK_SYMBOL2530_tree);
            	        	        }

            	        	        OPEN_PAR_SYMBOL2531 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_column_definition13074);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulecolumn_definitionEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        OPEN_PAR_SYMBOL2531_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL2531));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL2531_tree);
            	        	        }

            	        	        FOLLOWPUSH(FOLLOW_expression_in_column_definition13076);
            	        	        expression2532=expression(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulecolumn_definitionEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2532.tree);

            	        	        CLOSE_PAR_SYMBOL2533 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_column_definition13078);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulecolumn_definitionEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        CLOSE_PAR_SYMBOL2533_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL2533));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL2533_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:2307:1: field_spec : identifier 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_identifier_return identifier2534;
    #undef	RETURN_TYPE_identifier2534
    #define	RETURN_TYPE_identifier2534 MySQLParser_identifier_return

    MySQLParser_data_type_return data_type2535;
    #undef	RETURN_TYPE_data_type2535
    #define	RETURN_TYPE_data_type2535 MySQLParser_data_type_return

    MySQLParser_attribute_return attribute2536;
    #undef	RETURN_TYPE_attribute2536
    #define	RETURN_TYPE_attribute2536 MySQLParser_attribute_return

    MySQLParser_reference_definition_return reference_definition2537;
    #undef	RETURN_TYPE_reference_definition2537
    #define	RETURN_TYPE_reference_definition2537 MySQLParser_reference_definition_return


    /* Initialize rule variables
     */

    root_0 = NULL;

    identifier2534.tree = NULL;

    data_type2535.tree = NULL;

    attribute2536.tree = NULL;

    reference_definition2537.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;




    retval.tree  = NULL;

    {
        // MySQL.g:2307:11: ( identifier data_type ( attribute )* ( options {greedy=true; } : reference_definition )? )
        // MySQL.g:2308:2: identifier data_type ( attribute )* ( options {greedy=true; } : reference_definition )?
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            FOLLOWPUSH(FOLLOW_identifier_in_field_spec13090);
            identifier2534=identifier(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulefield_specEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier2534.tree);

            FOLLOWPUSH(FOLLOW_data_type_in_field_spec13092);
            data_type2535=data_type(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulefield_specEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, data_type2535.tree);

            // MySQL.g:2308:23: ( attribute )*

            for (;;)
            {
                int alt697=2;
                switch ( LA(1) )
                {
                case AUTO_INCREMENT_SYMBOL:
                case COLUMN_FORMAT_SYMBOL:
                case SERIAL_SYMBOL:
                case STORAGE_SYMBOL:
                case COMMENT_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:
                	{
                		alt697=1;
                	}
                    break;

                }

                switch (alt697)
                {
            	case 1:
            	    // MySQL.g:2308:23: attribute
            	    {
            	        FOLLOWPUSH(FOLLOW_attribute_in_field_spec13094);
            	        attribute2536=attribute(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulefield_specEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, attribute2536.tree);

            	    }
            	    break;

            	default:
            	    goto loop697;	/* break out of the loop */
            	    break;
                }
            }
            loop697: ; /* Jump out to here if this rule does not match */


            // MySQL.g:2308:34: ( options {greedy=true; } : reference_definition )?
            {
                int alt698=2;
                switch ( LA(1) )
                {
                    case REFERENCES_SYMBOL:
                    	{
                    		{
                    		    int LA698_1 = LA(2);
                    		    if ( (LA698_1 == IDENTIFIER))
                    		    {
                    		        alt698=1;
                    		    }
                    		    else if ( (LA698_1 == BACK_TICK_QUOTED_ID))
                    		    {
                    		        alt698=1;
                    		    }
                    		    else if ( (LA698_1 == DOUBLE_QUOTED_TEXT))
                    		    {
                    		        alt698=1;
                    		    }
                    		    else if ( (((LA698_1 >= ACTION_SYMBOL) && (LA698_1 <= YEAR_SYMBOL))))
                    		    {
                    		        alt698=1;
                    		    }
                    		    else if ( (LA698_1 == PARTITION_SYMBOL))
                    		    {
                    		        alt698=1;
                    		    }
                    		    else if ( (((LA698_1 >= ASCII_SYMBOL) && (LA698_1 <= XA_SYMBOL))))
                    		    {
                    		        alt698=1;
                    		    }
                    		    else if ( (LA698_1 == DOT_SYMBOL))
                    		    {
                    		        alt698=1;
                    		    }
                    		}
                    	}
                        break;
                }

                switch (alt698)
                {
            	case 1:
            	    // MySQL.g:2308:64: reference_definition
            	    {
            	        FOLLOWPUSH(FOLLOW_reference_definition_in_field_spec13111);
            	        reference_definition2537=reference_definition(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulefield_specEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, reference_definition2537.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:2311:1: attribute : ( ( NOT_SYMBOL )? null_literal | DEFAULT_SYMBOL ( 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_SYMBOL2538;
    pANTLR3_COMMON_TOKEN    DEFAULT_SYMBOL2540;
    pANTLR3_COMMON_TOKEN    NOW_SYMBOL2542;
    pANTLR3_COMMON_TOKEN    ON_SYMBOL2544;
    pANTLR3_COMMON_TOKEN    UPDATE_SYMBOL2545;
    pANTLR3_COMMON_TOKEN    NOW_SYMBOL2546;
    pANTLR3_COMMON_TOKEN    AUTO_INCREMENT_SYMBOL2548;
    pANTLR3_COMMON_TOKEN    SERIAL_SYMBOL2549;
    pANTLR3_COMMON_TOKEN    DEFAULT_SYMBOL2550;
    pANTLR3_COMMON_TOKEN    VALUE_SYMBOL2551;
    pANTLR3_COMMON_TOKEN    UNIQUE_SYMBOL2552;
    pANTLR3_COMMON_TOKEN    set2553;
    pANTLR3_COMMON_TOKEN    KEY_SYMBOL2554;
    pANTLR3_COMMON_TOKEN    KEY_SYMBOL2555;
    pANTLR3_COMMON_TOKEN    COMMENT_SYMBOL2556;
    pANTLR3_COMMON_TOKEN    COLLATE_SYMBOL2558;
    pANTLR3_COMMON_TOKEN    COLUMN_FORMAT_SYMBOL2560;
    pANTLR3_COMMON_TOKEN    set2561;
    pANTLR3_COMMON_TOKEN    STORAGE_SYMBOL2562;
    pANTLR3_COMMON_TOKEN    set2563;
    MySQLParser_null_literal_return null_literal2539;
    #undef	RETURN_TYPE_null_literal2539
    #define	RETURN_TYPE_null_literal2539 MySQLParser_null_literal_return

    MySQLParser_literal_return literal2541;
    #undef	RETURN_TYPE_literal2541
    #define	RETURN_TYPE_literal2541 MySQLParser_literal_return

    MySQLParser_time_function_parameters_return time_function_parameters2543;
    #undef	RETURN_TYPE_time_function_parameters2543
    #define	RETURN_TYPE_time_function_parameters2543 MySQLParser_time_function_parameters_return

    MySQLParser_time_function_parameters_return time_function_parameters2547;
    #undef	RETURN_TYPE_time_function_parameters2547
    #define	RETURN_TYPE_time_function_parameters2547 MySQLParser_time_function_parameters_return

    MySQLParser_string_literal_return string_literal2557;
    #undef	RETURN_TYPE_string_literal2557
    #define	RETURN_TYPE_string_literal2557 MySQLParser_string_literal_return

    MySQLParser_text_or_identifier_return text_or_identifier2559;
    #undef	RETURN_TYPE_text_or_identifier2559
    #define	RETURN_TYPE_text_or_identifier2559 MySQLParser_text_or_identifier_return

    pANTLR3_BASE_TREE NOT_SYMBOL2538_tree;
    pANTLR3_BASE_TREE DEFAULT_SYMBOL2540_tree;
    pANTLR3_BASE_TREE NOW_SYMBOL2542_tree;
    pANTLR3_BASE_TREE ON_SYMBOL2544_tree;
    pANTLR3_BASE_TREE UPDATE_SYMBOL2545_tree;
    pANTLR3_BASE_TREE NOW_SYMBOL2546_tree;
    pANTLR3_BASE_TREE AUTO_INCREMENT_SYMBOL2548_tree;
    pANTLR3_BASE_TREE SERIAL_SYMBOL2549_tree;
    pANTLR3_BASE_TREE DEFAULT_SYMBOL2550_tree;
    pANTLR3_BASE_TREE VALUE_SYMBOL2551_tree;
    pANTLR3_BASE_TREE UNIQUE_SYMBOL2552_tree;
    pANTLR3_BASE_TREE set2553_tree;
    pANTLR3_BASE_TREE KEY_SYMBOL2554_tree;
    pANTLR3_BASE_TREE KEY_SYMBOL2555_tree;
    pANTLR3_BASE_TREE COMMENT_SYMBOL2556_tree;
    pANTLR3_BASE_TREE COLLATE_SYMBOL2558_tree;
    pANTLR3_BASE_TREE COLUMN_FORMAT_SYMBOL2560_tree;
    pANTLR3_BASE_TREE set2561_tree;
    pANTLR3_BASE_TREE STORAGE_SYMBOL2562_tree;
    pANTLR3_BASE_TREE set2563_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    NOT_SYMBOL2538       = NULL;
    DEFAULT_SYMBOL2540       = NULL;
    NOW_SYMBOL2542       = NULL;
    ON_SYMBOL2544       = NULL;
    UPDATE_SYMBOL2545       = NULL;
    NOW_SYMBOL2546       = NULL;
    AUTO_INCREMENT_SYMBOL2548       = NULL;
    SERIAL_SYMBOL2549       = NULL;
    DEFAULT_SYMBOL2550       = NULL;
    VALUE_SYMBOL2551       = NULL;
    UNIQUE_SYMBOL2552       = NULL;
    set2553       = NULL;
    KEY_SYMBOL2554       = NULL;
    KEY_SYMBOL2555       = NULL;
    COMMENT_SYMBOL2556       = NULL;
    COLLATE_SYMBOL2558       = NULL;
    COLUMN_FORMAT_SYMBOL2560       = NULL;
    set2561       = NULL;
    STORAGE_SYMBOL2562       = NULL;
    set2563       = NULL;
    null_literal2539.tree = NULL;

    literal2541.tree = NULL;

    time_function_parameters2543.tree = NULL;

    time_function_parameters2547.tree = NULL;

    string_literal2557.tree = NULL;

    text_or_identifier2559.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    NOT_SYMBOL2538_tree   = NULL;
    DEFAULT_SYMBOL2540_tree   = NULL;
    NOW_SYMBOL2542_tree   = NULL;
    ON_SYMBOL2544_tree   = NULL;
    UPDATE_SYMBOL2545_tree   = NULL;
    NOW_SYMBOL2546_tree   = NULL;
    AUTO_INCREMENT_SYMBOL2548_tree   = NULL;
    SERIAL_SYMBOL2549_tree   = NULL;
    DEFAULT_SYMBOL2550_tree   = NULL;
    VALUE_SYMBOL2551_tree   = NULL;
    UNIQUE_SYMBOL2552_tree   = NULL;
    set2553_tree   = NULL;
    KEY_SYMBOL2554_tree   = NULL;
    KEY_SYMBOL2555_tree   = NULL;
    COMMENT_SYMBOL2556_tree   = NULL;
    COLLATE_SYMBOL2558_tree   = NULL;
    COLUMN_FORMAT_SYMBOL2560_tree   = NULL;
    set2561_tree   = NULL;
    STORAGE_SYMBOL2562_tree   = NULL;
    set2563_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:2311:10: ( ( NOT_SYMBOL )? null_literal | DEFAULT_SYMBOL ( 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 alt703;

            alt703=12;

            switch ( LA(1) )
            {
            case NOT_SYMBOL:
            case NULL2_SYMBOL:
            case NULL_SYMBOL:
            	{
            		alt703=1;
            	}
                break;
            case DEFAULT_SYMBOL:
            	{
            		alt703=2;
            	}
                break;
            case ON_SYMBOL:
            	{
            		alt703=3;
            	}
                break;
            case AUTO_INCREMENT_SYMBOL:
            	{
            		alt703=4;
            	}
                break;
            case SERIAL_SYMBOL:
            	{
            		alt703=5;
            	}
                break;
            case UNIQUE_SYMBOL:
            	{
            		switch ( LA(2) )
            		{
            		case KEY_SYMBOL:
            			{
            				{
            				    int LA703_14 = LA(3);
            				    if ( ((LA(2) != KEY_SYMBOL)))
            				    {
            				        alt703=6;
            				    }
            				    else if ( (ANTLR3_TRUE))
            				    {
            				        alt703=7;
            				    }
            				    else
            				    {
            				        if (BACKTRACKING>0)
            				        {
            				            FAILEDFLAG = ANTLR3_TRUE;
            				            return retval;
            				        }


            				        CONSTRUCTEX();
            				        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
            				        EXCEPTION->message      = (void *)"";
            				        EXCEPTION->decisionNum  = 703;
            				        EXCEPTION->state        = 14;


            				        goto ruleattributeEx;

            				    }
            				}
            			}
            		    break;
            		case EOF:
            		case AFTER_SYMBOL:
            		case AUTO_INCREMENT_SYMBOL:
            		case COLUMN_FORMAT_SYMBOL:
            		case FIRST_SYMBOL:
            		case SERIAL_SYMBOL:
            		case STORAGE_SYMBOL:
            		case COMMENT_SYMBOL:
            		case REMOVE_SYMBOL:
            		case PARTITION_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:
            			{
            				alt703=6;
            			}
            		    break;

            		default:
            		    if (BACKTRACKING>0)
            		    {
            		        FAILEDFLAG = ANTLR3_TRUE;
            		        return retval;
            		    }

            		    CONSTRUCTEX();
            		    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
            		    EXCEPTION->message      = (void *)"";
            		    EXCEPTION->decisionNum  = 703;
            		    EXCEPTION->state        = 7;


            		    goto ruleattributeEx;

            		}

            	}
                break;
            case PRIMARY_SYMBOL:
            	{
            		alt703=7;
            	}
                break;
            case KEY_SYMBOL:
            	{
            		alt703=8;
            	}
                break;
            case COMMENT_SYMBOL:
            	{
            		alt703=9;
            	}
                break;
            case COLLATE_SYMBOL:
            	{
            		alt703=10;
            	}
                break;
            case COLUMN_FORMAT_SYMBOL:
            	{
            		alt703=11;
            	}
                break;
            case STORAGE_SYMBOL:
            	{
            		alt703=12;
            	}
                break;

            default:
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                EXCEPTION->message      = (void *)"";
                EXCEPTION->decisionNum  = 703;
                EXCEPTION->state        = 0;


                goto ruleattributeEx;

            }

            switch (alt703)
            {
        	case 1:
        	    // MySQL.g:2312:2: ( NOT_SYMBOL )? null_literal
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        // MySQL.g:2312:2: ( NOT_SYMBOL )?
        	        {
        	            int alt699=2;
        	            switch ( LA(1) )
        	            {
        	                case NOT_SYMBOL:
        	                	{
        	                		alt699=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt699)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2312:2: NOT_SYMBOL
        	        	    {
        	        	        NOT_SYMBOL2538 = (pANTLR3_COMMON_TOKEN) MATCHT(NOT_SYMBOL, &FOLLOW_NOT_SYMBOL_in_attribute13122);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleattributeEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        NOT_SYMBOL2538_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, NOT_SYMBOL2538));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, NOT_SYMBOL2538_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	        FOLLOWPUSH(FOLLOW_null_literal_in_attribute13125);
        	        null_literal2539=null_literal(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleattributeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, null_literal2539.tree);

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:2313:4: DEFAULT_SYMBOL ( literal | NOW_SYMBOL ( time_function_parameters )? )
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        DEFAULT_SYMBOL2540 = (pANTLR3_COMMON_TOKEN) MATCHT(DEFAULT_SYMBOL, &FOLLOW_DEFAULT_SYMBOL_in_attribute13130);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleattributeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        DEFAULT_SYMBOL2540_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DEFAULT_SYMBOL2540));
        	        ADAPTOR->addChild(ADAPTOR, root_0, DEFAULT_SYMBOL2540_tree);
        	        }

        	        // MySQL.g:2313:19: ( literal | NOW_SYMBOL ( time_function_parameters )? )
        	        {
        	            int alt701=2;
        	            {
        	                int LA701_0 = LA(1);
        	                if ( (LA701_0 == NCHAR_TEXT || LA701_0 == SINGLE_QUOTED_TEXT || LA701_0 == UNDERSCORE_CHARSET))
        	                {
        	                    alt701=1;
        	                }
        	                else if ( ((!SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA701_0 == DOUBLE_QUOTED_TEXT))
        	                {
        	                    alt701=1;
        	                }
        	                else if ( (LA701_0 == FALSE_SYMBOL || LA701_0 == FLOAT || ((LA701_0 >= HEXNUMBER) && (LA701_0 <= HEXSTRING)) || LA701_0 == INTEGER || LA701_0 == TRUE_SYMBOL))
        	                {
        	                    alt701=1;
        	                }
        	                else if ( ((SERVER_VERSION >= 50003)) && (((LA701_0 >= BITNUMBER) && (LA701_0 <= BITSTRING))))
        	                {
        	                    alt701=1;
        	                }
        	                else if ( (LA701_0 == DATE_SYMBOL || ((LA701_0 >= TIMESTAMP_SYMBOL) && (LA701_0 <= TIME_SYMBOL)) || LA701_0 == NULL2_SYMBOL || LA701_0 == NULL_SYMBOL))
        	                {
        	                    alt701=1;
        	                }
        	                else if ( (LA701_0 == NOW_SYMBOL))
        	                {
        	                    alt701=2;
        	                }
        	                else
        	                {
        	                    if (BACKTRACKING>0)
        	                    {
        	                        FAILEDFLAG = ANTLR3_TRUE;
        	                        return retval;
        	                    }


        	                    CONSTRUCTEX();
        	                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                    EXCEPTION->message      = (void *)"";
        	                    EXCEPTION->decisionNum  = 701;
        	                    EXCEPTION->state        = 0;


        	                    goto ruleattributeEx;

        	                }
        	            }
        	            switch (alt701)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2313:20: literal
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_literal_in_attribute13133);
        	        	        literal2541=literal(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleattributeEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, literal2541.tree);

        	        	    }
        	        	    break;
        	        	case 2:
        	        	    // MySQL.g:2313:30: NOW_SYMBOL ( time_function_parameters )?
        	        	    {
        	        	        NOW_SYMBOL2542 = (pANTLR3_COMMON_TOKEN) MATCHT(NOW_SYMBOL, &FOLLOW_NOW_SYMBOL_in_attribute13137);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleattributeEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        NOW_SYMBOL2542_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, NOW_SYMBOL2542));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, NOW_SYMBOL2542_tree);
        	        	        }

        	        	        // MySQL.g:2313:41: ( time_function_parameters )?
        	        	        {
        	        	            int alt700=2;
        	        	            switch ( LA(1) )
        	        	            {
        	        	                case OPEN_PAR_SYMBOL:
        	        	                	{
        	        	                		alt700=1;
        	        	                	}
        	        	                    break;
        	        	            }

        	        	            switch (alt700)
        	        	            {
        	        	        	case 1:
        	        	        	    // MySQL.g:2313:41: time_function_parameters
        	        	        	    {
        	        	        	        FOLLOWPUSH(FOLLOW_time_function_parameters_in_attribute13139);
        	        	        	        time_function_parameters2543=time_function_parameters(ctx);

        	        	        	        FOLLOWPOP();
        	        	        	        if  (HASEXCEPTION())
        	        	        	        {
        	        	        	            goto ruleattributeEx;
        	        	        	        }
        	        	        	        if (HASFAILED())
        	        	        	        {
        	        	        	            return retval;
        	        	        	        }

        	        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, time_function_parameters2543.tree);

        	        	        	    }
        	        	        	    break;

        	        	            }
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 3:
        	    // MySQL.g:2314:4: ON_SYMBOL UPDATE_SYMBOL NOW_SYMBOL ( time_function_parameters )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        ON_SYMBOL2544 = (pANTLR3_COMMON_TOKEN) MATCHT(ON_SYMBOL, &FOLLOW_ON_SYMBOL_in_attribute13146);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleattributeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        ON_SYMBOL2544_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ON_SYMBOL2544));
        	        ADAPTOR->addChild(ADAPTOR, root_0, ON_SYMBOL2544_tree);
        	        }

        	        UPDATE_SYMBOL2545 = (pANTLR3_COMMON_TOKEN) MATCHT(UPDATE_SYMBOL, &FOLLOW_UPDATE_SYMBOL_in_attribute13148);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleattributeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        UPDATE_SYMBOL2545_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, UPDATE_SYMBOL2545));
        	        ADAPTOR->addChild(ADAPTOR, root_0, UPDATE_SYMBOL2545_tree);
        	        }

        	        NOW_SYMBOL2546 = (pANTLR3_COMMON_TOKEN) MATCHT(NOW_SYMBOL, &FOLLOW_NOW_SYMBOL_in_attribute13150);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleattributeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        NOW_SYMBOL2546_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, NOW_SYMBOL2546));
        	        ADAPTOR->addChild(ADAPTOR, root_0, NOW_SYMBOL2546_tree);
        	        }

        	        // MySQL.g:2314:39: ( time_function_parameters )?
        	        {
        	            int alt702=2;
        	            switch ( LA(1) )
        	            {
        	                case OPEN_PAR_SYMBOL:
        	                	{
        	                		alt702=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt702)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2314:39: time_function_parameters
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_time_function_parameters_in_attribute13152);
        	        	        time_function_parameters2547=time_function_parameters(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleattributeEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, time_function_parameters2547.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 4:
        	    // MySQL.g:2315:4: AUTO_INCREMENT_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        AUTO_INCREMENT_SYMBOL2548 = (pANTLR3_COMMON_TOKEN) MATCHT(AUTO_INCREMENT_SYMBOL, &FOLLOW_AUTO_INCREMENT_SYMBOL_in_attribute13158);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleattributeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        AUTO_INCREMENT_SYMBOL2548_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, AUTO_INCREMENT_SYMBOL2548));
        	        ADAPTOR->addChild(ADAPTOR, root_0, AUTO_INCREMENT_SYMBOL2548_tree);
        	        }

        	    }
        	    break;
        	case 5:
        	    // MySQL.g:2316:4: SERIAL_SYMBOL DEFAULT_SYMBOL VALUE_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        SERIAL_SYMBOL2549 = (pANTLR3_COMMON_TOKEN) MATCHT(SERIAL_SYMBOL, &FOLLOW_SERIAL_SYMBOL_in_attribute13163);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleattributeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        SERIAL_SYMBOL2549_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SERIAL_SYMBOL2549));
        	        ADAPTOR->addChild(ADAPTOR, root_0, SERIAL_SYMBOL2549_tree);
        	        }

        	        DEFAULT_SYMBOL2550 = (pANTLR3_COMMON_TOKEN) MATCHT(DEFAULT_SYMBOL, &FOLLOW_DEFAULT_SYMBOL_in_attribute13165);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleattributeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        DEFAULT_SYMBOL2550_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DEFAULT_SYMBOL2550));
        	        ADAPTOR->addChild(ADAPTOR, root_0, DEFAULT_SYMBOL2550_tree);
        	        }

        	        VALUE_SYMBOL2551 = (pANTLR3_COMMON_TOKEN) MATCHT(VALUE_SYMBOL, &FOLLOW_VALUE_SYMBOL_in_attribute13167);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleattributeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        VALUE_SYMBOL2551_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, VALUE_SYMBOL2551));
        	        ADAPTOR->addChild(ADAPTOR, root_0, VALUE_SYMBOL2551_tree);
        	        }

        	    }
        	    break;
        	case 6:
        	    // MySQL.g:2317: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_SYMBOL2552 = (pANTLR3_COMMON_TOKEN) MATCHT(UNIQUE_SYMBOL, &FOLLOW_UNIQUE_SYMBOL_in_attribute13174);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleattributeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        UNIQUE_SYMBOL2552_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, UNIQUE_SYMBOL2552));
        	        ADAPTOR->addChild(ADAPTOR, root_0, UNIQUE_SYMBOL2552_tree);
        	        }

        	    }
        	    break;
        	case 7:
        	    // MySQL.g:2318:4: ( PRIMARY_SYMBOL | UNIQUE_SYMBOL ) KEY_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        set2553=(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, set2553))
        	            );
        	            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_SYMBOL2554 = (pANTLR3_COMMON_TOKEN) MATCHT(KEY_SYMBOL, &FOLLOW_KEY_SYMBOL_in_attribute13187);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleattributeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        KEY_SYMBOL2554_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, KEY_SYMBOL2554));
        	        ADAPTOR->addChild(ADAPTOR, root_0, KEY_SYMBOL2554_tree);
        	        }

        	    }
        	    break;
        	case 8:
        	    // MySQL.g:2319:4: KEY_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        KEY_SYMBOL2555 = (pANTLR3_COMMON_TOKEN) MATCHT(KEY_SYMBOL, &FOLLOW_KEY_SYMBOL_in_attribute13192);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleattributeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        KEY_SYMBOL2555_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, KEY_SYMBOL2555));
        	        ADAPTOR->addChild(ADAPTOR, root_0, KEY_SYMBOL2555_tree);
        	        }

        	    }
        	    break;
        	case 9:
        	    // MySQL.g:2320:4: COMMENT_SYMBOL string_literal
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        COMMENT_SYMBOL2556 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMENT_SYMBOL, &FOLLOW_COMMENT_SYMBOL_in_attribute13197);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleattributeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        COMMENT_SYMBOL2556_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMENT_SYMBOL2556));
        	        ADAPTOR->addChild(ADAPTOR, root_0, COMMENT_SYMBOL2556_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_string_literal_in_attribute13199);
        	        string_literal2557=string_literal(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleattributeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_literal2557.tree);

        	    }
        	    break;
        	case 10:
        	    // MySQL.g:2321:4: COLLATE_SYMBOL text_or_identifier
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        COLLATE_SYMBOL2558 = (pANTLR3_COMMON_TOKEN) MATCHT(COLLATE_SYMBOL, &FOLLOW_COLLATE_SYMBOL_in_attribute13204);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleattributeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        COLLATE_SYMBOL2558_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COLLATE_SYMBOL2558));
        	        ADAPTOR->addChild(ADAPTOR, root_0, COLLATE_SYMBOL2558_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_text_or_identifier_in_attribute13206);
        	        text_or_identifier2559=text_or_identifier(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleattributeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, text_or_identifier2559.tree);

        	    }
        	    break;
        	case 11:
        	    // MySQL.g:2322:4: COLUMN_FORMAT_SYMBOL ( FIXED_SYMBOL | DYNAMIC_SYMBOL | DEFAULT_SYMBOL )
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        COLUMN_FORMAT_SYMBOL2560 = (pANTLR3_COMMON_TOKEN) MATCHT(COLUMN_FORMAT_SYMBOL, &FOLLOW_COLUMN_FORMAT_SYMBOL_in_attribute13211);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleattributeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        COLUMN_FORMAT_SYMBOL2560_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COLUMN_FORMAT_SYMBOL2560));
        	        ADAPTOR->addChild(ADAPTOR, root_0, COLUMN_FORMAT_SYMBOL2560_tree);
        	        }

        	        set2561=(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, set2561))
        	            );
        	            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:2323:4: STORAGE_SYMBOL ( DISK_SYMBOL | MEMORY_SYMBOL | DEFAULT_SYMBOL )
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        STORAGE_SYMBOL2562 = (pANTLR3_COMMON_TOKEN) MATCHT(STORAGE_SYMBOL, &FOLLOW_STORAGE_SYMBOL_in_attribute13228);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleattributeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        STORAGE_SYMBOL2562_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, STORAGE_SYMBOL2562));
        	        ADAPTOR->addChild(ADAPTOR, root_0, STORAGE_SYMBOL2562_tree);
        	        }

        	        set2563=(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, set2563))
        	            );
        	            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:2326:1: reference_definition : REFERENCES_SYMBOL ^ table_identifier ( OPEN_PAR_SYMBOL index_column ( COMMA_SYMBOL index_column )? CLOSE_PAR_SYMBOL )? ( 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_SYMBOL2564;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL2566;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL2568;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2570;
    pANTLR3_COMMON_TOKEN    MATCH_SYMBOL2571;
    pANTLR3_COMMON_TOKEN    set2572;
    pANTLR3_COMMON_TOKEN    ON_SYMBOL2573;
    pANTLR3_COMMON_TOKEN    DELETE_SYMBOL2574;
    pANTLR3_COMMON_TOKEN    ON_SYMBOL2576;
    pANTLR3_COMMON_TOKEN    UPDATE_SYMBOL2577;
    MySQLParser_table_identifier_return table_identifier2565;
    #undef	RETURN_TYPE_table_identifier2565
    #define	RETURN_TYPE_table_identifier2565 MySQLParser_table_identifier_return

    MySQLParser_index_column_return index_column2567;
    #undef	RETURN_TYPE_index_column2567
    #define	RETURN_TYPE_index_column2567 MySQLParser_index_column_return

    MySQLParser_index_column_return index_column2569;
    #undef	RETURN_TYPE_index_column2569
    #define	RETURN_TYPE_index_column2569 MySQLParser_index_column_return

    MySQLParser_reference_option_return reference_option2575;
    #undef	RETURN_TYPE_reference_option2575
    #define	RETURN_TYPE_reference_option2575 MySQLParser_reference_option_return

    MySQLParser_reference_option_return reference_option2578;
    #undef	RETURN_TYPE_reference_option2578
    #define	RETURN_TYPE_reference_option2578 MySQLParser_reference_option_return

    pANTLR3_BASE_TREE REFERENCES_SYMBOL2564_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2566_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL2568_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2570_tree;
    pANTLR3_BASE_TREE MATCH_SYMBOL2571_tree;
    pANTLR3_BASE_TREE set2572_tree;
    pANTLR3_BASE_TREE ON_SYMBOL2573_tree;
    pANTLR3_BASE_TREE DELETE_SYMBOL2574_tree;
    pANTLR3_BASE_TREE ON_SYMBOL2576_tree;
    pANTLR3_BASE_TREE UPDATE_SYMBOL2577_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    REFERENCES_SYMBOL2564       = NULL;
    OPEN_PAR_SYMBOL2566       = NULL;
    COMMA_SYMBOL2568       = NULL;
    CLOSE_PAR_SYMBOL2570       = NULL;
    MATCH_SYMBOL2571       = NULL;
    set2572       = NULL;
    ON_SYMBOL2573       = NULL;
    DELETE_SYMBOL2574       = NULL;
    ON_SYMBOL2576       = NULL;
    UPDATE_SYMBOL2577       = NULL;
    table_identifier2565.tree = NULL;

    index_column2567.tree = NULL;

    index_column2569.tree = NULL;

    reference_option2575.tree = NULL;

    reference_option2578.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    REFERENCES_SYMBOL2564_tree   = NULL;
    OPEN_PAR_SYMBOL2566_tree   = NULL;
    COMMA_SYMBOL2568_tree   = NULL;
    CLOSE_PAR_SYMBOL2570_tree   = NULL;
    MATCH_SYMBOL2571_tree   = NULL;
    set2572_tree   = NULL;
    ON_SYMBOL2573_tree   = NULL;
    DELETE_SYMBOL2574_tree   = NULL;
    ON_SYMBOL2576_tree   = NULL;
    UPDATE_SYMBOL2577_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2326:21: ( REFERENCES_SYMBOL ^ table_identifier ( OPEN_PAR_SYMBOL index_column ( COMMA_SYMBOL index_column )? CLOSE_PAR_SYMBOL )? ( MATCH_SYMBOL ( FULL_SYMBOL | PARTIAL_SYMBOL | SIMPLE_SYMBOL ) )? ( ON_SYMBOL DELETE_SYMBOL reference_option )? ( ON_SYMBOL UPDATE_SYMBOL reference_option )? )
        // MySQL.g:2327:2: REFERENCES_SYMBOL ^ table_identifier ( OPEN_PAR_SYMBOL index_column ( COMMA_SYMBOL index_column )? CLOSE_PAR_SYMBOL )? ( 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_SYMBOL2564 = (pANTLR3_COMMON_TOKEN) MATCHT(REFERENCES_SYMBOL, &FOLLOW_REFERENCES_SYMBOL_in_reference_definition13249);
            if  (HASEXCEPTION())
            {
                goto rulereference_definitionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            REFERENCES_SYMBOL2564_tree = 
            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, REFERENCES_SYMBOL2564))
            ;
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, REFERENCES_SYMBOL2564_tree, root_0));
            }

            FOLLOWPUSH(FOLLOW_table_identifier_in_reference_definition13252);
            table_identifier2565=table_identifier(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulereference_definitionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, table_identifier2565.tree);

            // MySQL.g:2327:38: ( OPEN_PAR_SYMBOL index_column ( COMMA_SYMBOL index_column )? CLOSE_PAR_SYMBOL )?
            {
                int alt705=2;
                switch ( LA(1) )
                {
                    case OPEN_PAR_SYMBOL:
                    	{
                    		alt705=1;
                    	}
                        break;
                }

                switch (alt705)
                {
            	case 1:
            	    // MySQL.g:2327:39: OPEN_PAR_SYMBOL index_column ( COMMA_SYMBOL index_column )? CLOSE_PAR_SYMBOL
            	    {
            	        OPEN_PAR_SYMBOL2566 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_reference_definition13255);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulereference_definitionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        OPEN_PAR_SYMBOL2566_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL2566));
            	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL2566_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_index_column_in_reference_definition13257);
            	        index_column2567=index_column(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulereference_definitionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, index_column2567.tree);

            	        // MySQL.g:2327:68: ( COMMA_SYMBOL index_column )?
            	        {
            	            int alt704=2;
            	            switch ( LA(1) )
            	            {
            	                case COMMA_SYMBOL:
            	                	{
            	                		alt704=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt704)
            	            {
            	        	case 1:
            	        	    // MySQL.g:2327:69: COMMA_SYMBOL index_column
            	        	    {
            	        	        COMMA_SYMBOL2568 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_reference_definition13260);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulereference_definitionEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        COMMA_SYMBOL2568_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL2568));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL2568_tree);
            	        	        }

            	        	        FOLLOWPUSH(FOLLOW_index_column_in_reference_definition13262);
            	        	        index_column2569=index_column(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulereference_definitionEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, index_column2569.tree);

            	        	    }
            	        	    break;

            	            }
            	        }

            	        CLOSE_PAR_SYMBOL2570 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_reference_definition13266);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulereference_definitionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        CLOSE_PAR_SYMBOL2570_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL2570));
            	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL2570_tree);
            	        }

            	    }
            	    break;

                }
            }

            // MySQL.g:2328:3: ( MATCH_SYMBOL ( FULL_SYMBOL | PARTIAL_SYMBOL | SIMPLE_SYMBOL ) )?
            {
                int alt706=2;
                switch ( LA(1) )
                {
                    case MATCH_SYMBOL:
                    	{
                    		alt706=1;
                    	}
                        break;
                }

                switch (alt706)
                {
            	case 1:
            	    // MySQL.g:2328:4: MATCH_SYMBOL ( FULL_SYMBOL | PARTIAL_SYMBOL | SIMPLE_SYMBOL )
            	    {
            	        MATCH_SYMBOL2571 = (pANTLR3_COMMON_TOKEN) MATCHT(MATCH_SYMBOL, &FOLLOW_MATCH_SYMBOL_in_reference_definition13273);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulereference_definitionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        MATCH_SYMBOL2571_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MATCH_SYMBOL2571));
            	        ADAPTOR->addChild(ADAPTOR, root_0, MATCH_SYMBOL2571_tree);
            	        }

            	        set2572=(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, set2572))
            	            );
            	            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:2329:3: ( ON_SYMBOL DELETE_SYMBOL reference_option )?
            {
                int alt707=2;
                switch ( LA(1) )
                {
                    case ON_SYMBOL:
                    	{
                    		switch ( LA(2) )
                    		{
                    		    case DELETE_SYMBOL:
                    		    	{
                    		    		alt707=1;
                    		    	}
                    		        break;
                    		}

                    	}
                        break;
                }

                switch (alt707)
                {
            	case 1:
            	    // MySQL.g:2329:4: ON_SYMBOL DELETE_SYMBOL reference_option
            	    {
            	        ON_SYMBOL2573 = (pANTLR3_COMMON_TOKEN) MATCHT(ON_SYMBOL, &FOLLOW_ON_SYMBOL_in_reference_definition13292);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulereference_definitionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        ON_SYMBOL2573_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ON_SYMBOL2573));
            	        ADAPTOR->addChild(ADAPTOR, root_0, ON_SYMBOL2573_tree);
            	        }

            	        DELETE_SYMBOL2574 = (pANTLR3_COMMON_TOKEN) MATCHT(DELETE_SYMBOL, &FOLLOW_DELETE_SYMBOL_in_reference_definition13294);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulereference_definitionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        DELETE_SYMBOL2574_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DELETE_SYMBOL2574));
            	        ADAPTOR->addChild(ADAPTOR, root_0, DELETE_SYMBOL2574_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_reference_option_in_reference_definition13296);
            	        reference_option2575=reference_option(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulereference_definitionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, reference_option2575.tree);

            	    }
            	    break;

                }
            }

            // MySQL.g:2330:3: ( ON_SYMBOL UPDATE_SYMBOL reference_option )?
            {
                int alt708=2;
                switch ( LA(1) )
                {
                    case ON_SYMBOL:
                    	{
                    		alt708=1;
                    	}
                        break;
                }

                switch (alt708)
                {
            	case 1:
            	    // MySQL.g:2330:4: ON_SYMBOL UPDATE_SYMBOL reference_option
            	    {
            	        ON_SYMBOL2576 = (pANTLR3_COMMON_TOKEN) MATCHT(ON_SYMBOL, &FOLLOW_ON_SYMBOL_in_reference_definition13303);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulereference_definitionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        ON_SYMBOL2576_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ON_SYMBOL2576));
            	        ADAPTOR->addChild(ADAPTOR, root_0, ON_SYMBOL2576_tree);
            	        }

            	        UPDATE_SYMBOL2577 = (pANTLR3_COMMON_TOKEN) MATCHT(UPDATE_SYMBOL, &FOLLOW_UPDATE_SYMBOL_in_reference_definition13305);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulereference_definitionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        UPDATE_SYMBOL2577_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, UPDATE_SYMBOL2577));
            	        ADAPTOR->addChild(ADAPTOR, root_0, UPDATE_SYMBOL2577_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_reference_option_in_reference_definition13307);
            	        reference_option2578=reference_option(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulereference_definitionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, reference_option2578.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:2333: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_SYMBOL2579;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL2581;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2583;
    MySQLParser_index_column_return index_column2580;
    #undef	RETURN_TYPE_index_column2580
    #define	RETURN_TYPE_index_column2580 MySQLParser_index_column_return

    MySQLParser_index_column_return index_column2582;
    #undef	RETURN_TYPE_index_column2582
    #define	RETURN_TYPE_index_column2582 MySQLParser_index_column_return

    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2579_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL2581_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2583_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    OPEN_PAR_SYMBOL2579       = NULL;
    COMMA_SYMBOL2581       = NULL;
    CLOSE_PAR_SYMBOL2583       = NULL;
    index_column2580.tree = NULL;

    index_column2582.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    OPEN_PAR_SYMBOL2579_tree   = NULL;
    COMMA_SYMBOL2581_tree   = NULL;
    CLOSE_PAR_SYMBOL2583_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2333:14: ( OPEN_PAR_SYMBOL index_column ( COMMA_SYMBOL index_column )* CLOSE_PAR_SYMBOL )
        // MySQL.g:2334:2: OPEN_PAR_SYMBOL index_column ( COMMA_SYMBOL index_column )* CLOSE_PAR_SYMBOL
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            OPEN_PAR_SYMBOL2579 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_index_columns13318);
            if  (HASEXCEPTION())
            {
                goto ruleindex_columnsEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            OPEN_PAR_SYMBOL2579_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL2579));
            ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL2579_tree);
            }

            FOLLOWPUSH(FOLLOW_index_column_in_index_columns13320);
            index_column2580=index_column(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruleindex_columnsEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, index_column2580.tree);

            // MySQL.g:2334:31: ( COMMA_SYMBOL index_column )*

            for (;;)
            {
                int alt709=2;
                switch ( LA(1) )
                {
                case COMMA_SYMBOL:
                	{
                		alt709=1;
                	}
                    break;

                }

                switch (alt709)
                {
            	case 1:
            	    // MySQL.g:2334:32: COMMA_SYMBOL index_column
            	    {
            	        COMMA_SYMBOL2581 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_index_columns13323);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleindex_columnsEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        COMMA_SYMBOL2581_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL2581));
            	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL2581_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_index_column_in_index_columns13325);
            	        index_column2582=index_column(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleindex_columnsEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, index_column2582.tree);

            	    }
            	    break;

            	default:
            	    goto loop709;	/* break out of the loop */
            	    break;
                }
            }
            loop709: ; /* Jump out to here if this rule does not match */


            CLOSE_PAR_SYMBOL2583 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_index_columns13329);
            if  (HASEXCEPTION())
            {
                goto ruleindex_columnsEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            CLOSE_PAR_SYMBOL2583_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL2583));
            ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL2583_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:2337: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 identifier2584;
    #undef	RETURN_TYPE_identifier2584
    #define	RETURN_TYPE_identifier2584 MySQLParser_identifier_return

    MySQLParser_field_length_return field_length2585;
    #undef	RETURN_TYPE_field_length2585
    #define	RETURN_TYPE_field_length2585 MySQLParser_field_length_return

    MySQLParser_direction_return direction2586;
    #undef	RETURN_TYPE_direction2586
    #define	RETURN_TYPE_direction2586 MySQLParser_direction_return


    /* Initialize rule variables
     */

    root_0 = NULL;

    identifier2584.tree = NULL;

    field_length2585.tree = NULL;

    direction2586.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;




    retval.tree  = NULL;

    {
        // MySQL.g:2337:13: ( identifier ( field_length )? ( direction )? )
        // MySQL.g:2338:2: identifier ( field_length )? ( direction )?
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            FOLLOWPUSH(FOLLOW_identifier_in_index_column13338);
            identifier2584=identifier(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruleindex_columnEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier2584.tree);

            // MySQL.g:2338:13: ( field_length )?
            {
                int alt710=2;
                switch ( LA(1) )
                {
                    case OPEN_PAR_SYMBOL:
                    	{
                    		alt710=1;
                    	}
                        break;
                }

                switch (alt710)
                {
            	case 1:
            	    // MySQL.g:2338:13: field_length
            	    {
            	        FOLLOWPUSH(FOLLOW_field_length_in_index_column13340);
            	        field_length2585=field_length(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleindex_columnEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, field_length2585.tree);

            	    }
            	    break;

                }
            }

            // MySQL.g:2338:27: ( direction )?
            {
                int alt711=2;
                switch ( LA(1) )
                {
                    case ASC_SYMBOL:
                    case DESC_SYMBOL:
                    	{
                    		alt711=1;
                    	}
                        break;
                }

                switch (alt711)
                {
            	case 1:
            	    // MySQL.g:2338:27: direction
            	    {
            	        FOLLOWPUSH(FOLLOW_direction_in_index_column13343);
            	        direction2586=direction(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleindex_columnEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, direction2586.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:2341: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    set2587;
    pANTLR3_COMMON_TOKEN    set2588;

    pANTLR3_BASE_TREE set2587_tree;
    pANTLR3_BASE_TREE set2588_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    set2587       = NULL;
    set2588       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    set2587_tree   = NULL;
    set2588_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2341:11: ( ( USING_SYMBOL | TYPE_SYMBOL ) ( BTREE_SYMBOL | RTREE_SYMBOL | HASH_SYMBOL ) )
        // MySQL.g:2342:2: ( USING_SYMBOL | TYPE_SYMBOL ) ( BTREE_SYMBOL | RTREE_SYMBOL | HASH_SYMBOL )
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            set2587=(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, set2587))
                );
                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;
            }


            set2588=(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, set2588))
                );
                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:2345: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_type2589;
    #undef	RETURN_TYPE_index_type2589
    #define	RETURN_TYPE_index_type2589 MySQLParser_index_type_return

    MySQLParser_spatial_index_option_return spatial_index_option2590;
    #undef	RETURN_TYPE_spatial_index_option2590
    #define	RETURN_TYPE_spatial_index_option2590 MySQLParser_spatial_index_option_return


    /* Initialize rule variables
     */

    root_0 = NULL;

    index_type2589.tree = NULL;

    spatial_index_option2590.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;




    retval.tree  = NULL;

    {
        {
            //  MySQL.g:2345:13: ( index_type | spatial_index_option )

            ANTLR3_UINT32 alt712;

            alt712=2;

            {
                int LA712_0 = LA(1);
                if ( (LA712_0 == TYPE_SYMBOL || LA712_0 == USING_SYMBOL))
                {
                    alt712=1;
                }
                else if ( (LA712_0 == KEY_BLOCK_SIZE_SYMBOL))
                {
                    alt712=2;
                }
                else if ( ((SERVER_VERSION >= 50600)) && (LA712_0 == COMMENT_SYMBOL))
                {
                    alt712=2;
                }
                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 ruleindex_optionEx;

                }
            }
            switch (alt712)
            {
        	case 1:
        	    // MySQL.g:2346:2: index_type
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_index_type_in_index_option13380);
        	        index_type2589=index_type(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleindex_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, index_type2589.tree);

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:2347:4: spatial_index_option
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_spatial_index_option_in_index_option13385);
        	        spatial_index_option2590=spatial_index_option(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleindex_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, spatial_index_option2590.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:2350: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_SYMBOL2591;
    pANTLR3_COMMON_TOKEN    PARSER_SYMBOL2592;
    MySQLParser_identifier_return identifier2593;
    #undef	RETURN_TYPE_identifier2593
    #define	RETURN_TYPE_identifier2593 MySQLParser_identifier_return

    MySQLParser_spatial_index_option_return spatial_index_option2594;
    #undef	RETURN_TYPE_spatial_index_option2594
    #define	RETURN_TYPE_spatial_index_option2594 MySQLParser_spatial_index_option_return

    pANTLR3_BASE_TREE WITH_SYMBOL2591_tree;
    pANTLR3_BASE_TREE PARSER_SYMBOL2592_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    WITH_SYMBOL2591       = NULL;
    PARSER_SYMBOL2592       = NULL;
    identifier2593.tree = NULL;

    spatial_index_option2594.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    WITH_SYMBOL2591_tree   = NULL;
    PARSER_SYMBOL2592_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:2350:22: ( WITH_SYMBOL PARSER_SYMBOL identifier | spatial_index_option )

            ANTLR3_UINT32 alt713;

            alt713=2;

            {
                int LA713_0 = LA(1);
                if ( (LA713_0 == WITH_SYMBOL))
                {
                    alt713=1;
                }
                else if ( (LA713_0 == KEY_BLOCK_SIZE_SYMBOL))
                {
                    alt713=2;
                }
                else if ( ((SERVER_VERSION >= 50600)) && (LA713_0 == COMMENT_SYMBOL))
                {
                    alt713=2;
                }
                else
                {
                    if (BACKTRACKING>0)
                    {
                        FAILEDFLAG = ANTLR3_TRUE;
                        return retval;
                    }


                    CONSTRUCTEX();
                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    EXCEPTION->message      = (void *)"";
                    EXCEPTION->decisionNum  = 713;
                    EXCEPTION->state        = 0;


                    goto rulefulltext_index_optionEx;

                }
            }
            switch (alt713)
            {
        	case 1:
        	    // MySQL.g:2351:2: WITH_SYMBOL PARSER_SYMBOL identifier
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        WITH_SYMBOL2591 = (pANTLR3_COMMON_TOKEN) MATCHT(WITH_SYMBOL, &FOLLOW_WITH_SYMBOL_in_fulltext_index_option13394);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefulltext_index_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        WITH_SYMBOL2591_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, WITH_SYMBOL2591));
        	        ADAPTOR->addChild(ADAPTOR, root_0, WITH_SYMBOL2591_tree);
        	        }

        	        PARSER_SYMBOL2592 = (pANTLR3_COMMON_TOKEN) MATCHT(PARSER_SYMBOL, &FOLLOW_PARSER_SYMBOL_in_fulltext_index_option13396);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefulltext_index_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        PARSER_SYMBOL2592_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, PARSER_SYMBOL2592));
        	        ADAPTOR->addChild(ADAPTOR, root_0, PARSER_SYMBOL2592_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_identifier_in_fulltext_index_option13398);
        	        identifier2593=identifier(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefulltext_index_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier2593.tree);

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:2352:4: spatial_index_option
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_spatial_index_option_in_fulltext_index_option13403);
        	        spatial_index_option2594=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_option2594.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:2355: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_SYMBOL2595;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR2596;
    pANTLR3_COMMON_TOKEN    INTEGER2597;
    pANTLR3_COMMON_TOKEN    COMMENT_SYMBOL2598;
    MySQLParser_string_literal_return string_literal2599;
    #undef	RETURN_TYPE_string_literal2599
    #define	RETURN_TYPE_string_literal2599 MySQLParser_string_literal_return

    pANTLR3_BASE_TREE KEY_BLOCK_SIZE_SYMBOL2595_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR2596_tree;
    pANTLR3_BASE_TREE INTEGER2597_tree;
    pANTLR3_BASE_TREE COMMENT_SYMBOL2598_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    KEY_BLOCK_SIZE_SYMBOL2595       = NULL;
    EQUAL_OPERATOR2596       = NULL;
    INTEGER2597       = NULL;
    COMMENT_SYMBOL2598       = NULL;
    string_literal2599.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    KEY_BLOCK_SIZE_SYMBOL2595_tree   = NULL;
    EQUAL_OPERATOR2596_tree   = NULL;
    INTEGER2597_tree   = NULL;
    COMMENT_SYMBOL2598_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:2355:21: ( KEY_BLOCK_SIZE_SYMBOL ( EQUAL_OPERATOR )? INTEGER |{...}? => COMMENT_SYMBOL string_literal )

            ANTLR3_UINT32 alt715;

            alt715=2;

            {
                int LA715_0 = LA(1);
                if ( (LA715_0 == KEY_BLOCK_SIZE_SYMBOL))
                {
                    alt715=1;
                }
                else if ( ((SERVER_VERSION >= 50600)) && (LA715_0 == COMMENT_SYMBOL))
                {
                    alt715=2;
                }
                else
                {
                    if (BACKTRACKING>0)
                    {
                        FAILEDFLAG = ANTLR3_TRUE;
                        return retval;
                    }


                    CONSTRUCTEX();
                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    EXCEPTION->message      = (void *)"";
                    EXCEPTION->decisionNum  = 715;
                    EXCEPTION->state        = 0;


                    goto rulespatial_index_optionEx;

                }
            }
            switch (alt715)
            {
        	case 1:
        	    // MySQL.g:2356:2: KEY_BLOCK_SIZE_SYMBOL ( EQUAL_OPERATOR )? INTEGER
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        KEY_BLOCK_SIZE_SYMBOL2595 = (pANTLR3_COMMON_TOKEN) MATCHT(KEY_BLOCK_SIZE_SYMBOL, &FOLLOW_KEY_BLOCK_SIZE_SYMBOL_in_spatial_index_option13412);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulespatial_index_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        KEY_BLOCK_SIZE_SYMBOL2595_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, KEY_BLOCK_SIZE_SYMBOL2595));
        	        ADAPTOR->addChild(ADAPTOR, root_0, KEY_BLOCK_SIZE_SYMBOL2595_tree);
        	        }

        	        // MySQL.g:2356:24: ( EQUAL_OPERATOR )?
        	        {
        	            int alt714=2;
        	            switch ( LA(1) )
        	            {
        	                case EQUAL_OPERATOR:
        	                	{
        	                		alt714=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt714)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2356:24: EQUAL_OPERATOR
        	        	    {
        	        	        EQUAL_OPERATOR2596 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_spatial_index_option13414);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulespatial_index_optionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        EQUAL_OPERATOR2596_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR2596));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR2596_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	        INTEGER2597 = (pANTLR3_COMMON_TOKEN) MATCHT(INTEGER, &FOLLOW_INTEGER_in_spatial_index_option13417);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulespatial_index_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        INTEGER2597_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INTEGER2597));
        	        ADAPTOR->addChild(ADAPTOR, root_0, INTEGER2597_tree);
        	        }

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:2357: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_SYMBOL2598 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMENT_SYMBOL, &FOLLOW_COMMENT_SYMBOL_in_spatial_index_option13426);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulespatial_index_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        COMMENT_SYMBOL2598_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMENT_SYMBOL2598));
        	        ADAPTOR->addChild(ADAPTOR, root_0, COMMENT_SYMBOL2598_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_string_literal_in_spatial_index_option13428);
        	        string_literal2599=string_literal(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulespatial_index_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_literal2599.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:2360: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_SYMBOL2600;
    pANTLR3_COMMON_TOKEN    CASCADE_SYMBOL2601;
    pANTLR3_COMMON_TOKEN    SET_SYMBOL2602;
    pANTLR3_COMMON_TOKEN    NO_SYMBOL2604;
    pANTLR3_COMMON_TOKEN    ACTION_SYMBOL2605;
    MySQLParser_null_literal_return null_literal2603;
    #undef	RETURN_TYPE_null_literal2603
    #define	RETURN_TYPE_null_literal2603 MySQLParser_null_literal_return

    pANTLR3_BASE_TREE RESTRICT_SYMBOL2600_tree;
    pANTLR3_BASE_TREE CASCADE_SYMBOL2601_tree;
    pANTLR3_BASE_TREE SET_SYMBOL2602_tree;
    pANTLR3_BASE_TREE NO_SYMBOL2604_tree;
    pANTLR3_BASE_TREE ACTION_SYMBOL2605_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    RESTRICT_SYMBOL2600       = NULL;
    CASCADE_SYMBOL2601       = NULL;
    SET_SYMBOL2602       = NULL;
    NO_SYMBOL2604       = NULL;
    ACTION_SYMBOL2605       = NULL;
    null_literal2603.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    RESTRICT_SYMBOL2600_tree   = NULL;
    CASCADE_SYMBOL2601_tree   = NULL;
    SET_SYMBOL2602_tree   = NULL;
    NO_SYMBOL2604_tree   = NULL;
    ACTION_SYMBOL2605_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:2360:17: ( RESTRICT_SYMBOL | CASCADE_SYMBOL | SET_SYMBOL null_literal | NO_SYMBOL ACTION_SYMBOL )

            ANTLR3_UINT32 alt716;

            alt716=4;

            switch ( LA(1) )
            {
            case RESTRICT_SYMBOL:
            	{
            		alt716=1;
            	}
                break;
            case CASCADE_SYMBOL:
            	{
            		alt716=2;
            	}
                break;
            case SET_SYMBOL:
            	{
            		alt716=3;
            	}
                break;
            case NO_SYMBOL:
            	{
            		alt716=4;
            	}
                break;

            default:
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                EXCEPTION->message      = (void *)"";
                EXCEPTION->decisionNum  = 716;
                EXCEPTION->state        = 0;


                goto rulereference_optionEx;

            }

            switch (alt716)
            {
        	case 1:
        	    // MySQL.g:2361:2: RESTRICT_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        RESTRICT_SYMBOL2600 = (pANTLR3_COMMON_TOKEN) MATCHT(RESTRICT_SYMBOL, &FOLLOW_RESTRICT_SYMBOL_in_reference_option13437);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulereference_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        RESTRICT_SYMBOL2600_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, RESTRICT_SYMBOL2600));
        	        ADAPTOR->addChild(ADAPTOR, root_0, RESTRICT_SYMBOL2600_tree);
        	        }

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:2361:20: CASCADE_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        CASCADE_SYMBOL2601 = (pANTLR3_COMMON_TOKEN) MATCHT(CASCADE_SYMBOL, &FOLLOW_CASCADE_SYMBOL_in_reference_option13441);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulereference_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CASCADE_SYMBOL2601_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CASCADE_SYMBOL2601));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CASCADE_SYMBOL2601_tree);
        	        }

        	    }
        	    break;
        	case 3:
        	    // MySQL.g:2361:37: SET_SYMBOL null_literal
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        SET_SYMBOL2602 = (pANTLR3_COMMON_TOKEN) MATCHT(SET_SYMBOL, &FOLLOW_SET_SYMBOL_in_reference_option13445);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulereference_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        SET_SYMBOL2602_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SET_SYMBOL2602));
        	        ADAPTOR->addChild(ADAPTOR, root_0, SET_SYMBOL2602_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_null_literal_in_reference_option13447);
        	        null_literal2603=null_literal(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulereference_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, null_literal2603.tree);

        	    }
        	    break;
        	case 4:
        	    // MySQL.g:2361:63: NO_SYMBOL ACTION_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        NO_SYMBOL2604 = (pANTLR3_COMMON_TOKEN) MATCHT(NO_SYMBOL, &FOLLOW_NO_SYMBOL_in_reference_option13451);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulereference_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        NO_SYMBOL2604_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, NO_SYMBOL2604));
        	        ADAPTOR->addChild(ADAPTOR, root_0, NO_SYMBOL2604_tree);
        	        }

        	        ACTION_SYMBOL2605 = (pANTLR3_COMMON_TOKEN) MATCHT(ACTION_SYMBOL, &FOLLOW_ACTION_SYMBOL_in_reference_option13453);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulereference_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        ACTION_SYMBOL2605_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ACTION_SYMBOL2605));
        	        ADAPTOR->addChild(ADAPTOR, root_0, ACTION_SYMBOL2605_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:2364:1: data_type : data_type_elements -> ^( DATA_TYPE 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_elements2606;
    #undef	RETURN_TYPE_data_type_elements2606
    #define	RETURN_TYPE_data_type_elements2606 MySQLParser_data_type_elements_return

    pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_data_type_elements;
    /* Initialize rule variables
     */

    root_0 = NULL;

    data_type_elements2606.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:2364:10: ( data_type_elements -> ^( DATA_TYPE data_type_elements ) )
        // MySQL.g:2365:2: data_type_elements
        {
            FOLLOWPUSH(FOLLOW_data_type_elements_in_data_type13462);
            data_type_elements2606=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_elements2606.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;
            	// 2365:21: -> ^( DATA_TYPE data_type_elements )
            	{
            	    // MySQL.g:2365:24: ^( DATA_TYPE 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, (pANTLR3_UINT8)"DATA_TYPE")
            	        , 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_elements
 * MySQL.g:2368: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 ( string_binary )? | 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_SYMBOL2613;
    pANTLR3_COMMON_TOKEN    BIT_SYMBOL2616;
    pANTLR3_COMMON_TOKEN    BOOL_SYMBOL2618;
    pANTLR3_COMMON_TOKEN    BOOLEAN_SYMBOL2619;
    pANTLR3_COMMON_TOKEN    CHAR_SYMBOL2620;
    pANTLR3_COMMON_TOKEN    BINARY_SYMBOL2625;
    pANTLR3_COMMON_TOKEN    BINARY_SYMBOL2626;
    pANTLR3_COMMON_TOKEN    VARBINARY_SYMBOL2634;
    pANTLR3_COMMON_TOKEN    YEAR_SYMBOL2636;
    pANTLR3_COMMON_TOKEN    DATE_SYMBOL2639;
    pANTLR3_COMMON_TOKEN    TIME_SYMBOL2640;
    pANTLR3_COMMON_TOKEN    TIMESTAMP_SYMBOL2642;
    pANTLR3_COMMON_TOKEN    DATETIME_SYMBOL2644;
    pANTLR3_COMMON_TOKEN    TINYBLOB_SYMBOL2646;
    pANTLR3_COMMON_TOKEN    BLOB_SYMBOL2647;
    pANTLR3_COMMON_TOKEN    MEDIUMBLOB_SYMBOL2649;
    pANTLR3_COMMON_TOKEN    LONGBLOB_SYMBOL2650;
    pANTLR3_COMMON_TOKEN    LONG_SYMBOL2651;
    pANTLR3_COMMON_TOKEN    VARBINARY_SYMBOL2652;
    pANTLR3_COMMON_TOKEN    LONG_SYMBOL2653;
    pANTLR3_COMMON_TOKEN    TINYTEXT_SYMBOL2656;
    pANTLR3_COMMON_TOKEN    TEXT_SYMBOL2658;
    pANTLR3_COMMON_TOKEN    MEDIUMTEXT_SYMBOL2661;
    pANTLR3_COMMON_TOKEN    LONGTEXT_SYMBOL2663;
    pANTLR3_COMMON_TOKEN    DECIMAL_SYMBOL2665;
    pANTLR3_COMMON_TOKEN    NUMERIC_SYMBOL2668;
    pANTLR3_COMMON_TOKEN    FIXED_SYMBOL2671;
    pANTLR3_COMMON_TOKEN    ENUM_SYMBOL2674;
    pANTLR3_COMMON_TOKEN    SET_SYMBOL2677;
    pANTLR3_COMMON_TOKEN    SERIAL_SYMBOL2680;
    MySQLParser_integer_type_return integer_type2607;
    #undef	RETURN_TYPE_integer_type2607
    #define	RETURN_TYPE_integer_type2607 MySQLParser_integer_type_return

    MySQLParser_field_length_return field_length2608;
    #undef	RETURN_TYPE_field_length2608
    #define	RETURN_TYPE_field_length2608 MySQLParser_field_length_return

    MySQLParser_field_options_return field_options2609;
    #undef	RETURN_TYPE_field_options2609
    #define	RETURN_TYPE_field_options2609 MySQLParser_field_options_return

    MySQLParser_real_literal_return real_literal2610;
    #undef	RETURN_TYPE_real_literal2610
    #define	RETURN_TYPE_real_literal2610 MySQLParser_real_literal_return

    MySQLParser_precision_return precision2611;
    #undef	RETURN_TYPE_precision2611
    #define	RETURN_TYPE_precision2611 MySQLParser_precision_return

    MySQLParser_field_options_return field_options2612;
    #undef	RETURN_TYPE_field_options2612
    #define	RETURN_TYPE_field_options2612 MySQLParser_field_options_return

    MySQLParser_float_options_return float_options2614;
    #undef	RETURN_TYPE_float_options2614
    #define	RETURN_TYPE_float_options2614 MySQLParser_float_options_return

    MySQLParser_field_options_return field_options2615;
    #undef	RETURN_TYPE_field_options2615
    #define	RETURN_TYPE_field_options2615 MySQLParser_field_options_return

    MySQLParser_field_length_return field_length2617;
    #undef	RETURN_TYPE_field_length2617
    #define	RETURN_TYPE_field_length2617 MySQLParser_field_length_return

    MySQLParser_field_length_return field_length2621;
    #undef	RETURN_TYPE_field_length2621
    #define	RETURN_TYPE_field_length2621 MySQLParser_field_length_return

    MySQLParser_string_binary_return string_binary2622;
    #undef	RETURN_TYPE_string_binary2622
    #define	RETURN_TYPE_string_binary2622 MySQLParser_string_binary_return

    MySQLParser_nchar_literal_return nchar_literal2623;
    #undef	RETURN_TYPE_nchar_literal2623
    #define	RETURN_TYPE_nchar_literal2623 MySQLParser_nchar_literal_return

    MySQLParser_field_length_return field_length2624;
    #undef	RETURN_TYPE_field_length2624
    #define	RETURN_TYPE_field_length2624 MySQLParser_field_length_return

    MySQLParser_field_length_return field_length2627;
    #undef	RETURN_TYPE_field_length2627
    #define	RETURN_TYPE_field_length2627 MySQLParser_field_length_return

    MySQLParser_varchar_literal_return varchar_literal2628;
    #undef	RETURN_TYPE_varchar_literal2628
    #define	RETURN_TYPE_varchar_literal2628 MySQLParser_varchar_literal_return

    MySQLParser_field_length_return field_length2629;
    #undef	RETURN_TYPE_field_length2629
    #define	RETURN_TYPE_field_length2629 MySQLParser_field_length_return

    MySQLParser_string_binary_return string_binary2630;
    #undef	RETURN_TYPE_string_binary2630
    #define	RETURN_TYPE_string_binary2630 MySQLParser_string_binary_return

    MySQLParser_nvarchar_literal_return nvarchar_literal2631;
    #undef	RETURN_TYPE_nvarchar_literal2631
    #define	RETURN_TYPE_nvarchar_literal2631 MySQLParser_nvarchar_literal_return

    MySQLParser_field_length_return field_length2632;
    #undef	RETURN_TYPE_field_length2632
    #define	RETURN_TYPE_field_length2632 MySQLParser_field_length_return

    MySQLParser_string_binary_return string_binary2633;
    #undef	RETURN_TYPE_string_binary2633
    #define	RETURN_TYPE_string_binary2633 MySQLParser_string_binary_return

    MySQLParser_field_length_return field_length2635;
    #undef	RETURN_TYPE_field_length2635
    #define	RETURN_TYPE_field_length2635 MySQLParser_field_length_return

    MySQLParser_field_length_return field_length2637;
    #undef	RETURN_TYPE_field_length2637
    #define	RETURN_TYPE_field_length2637 MySQLParser_field_length_return

    MySQLParser_field_options_return field_options2638;
    #undef	RETURN_TYPE_field_options2638
    #define	RETURN_TYPE_field_options2638 MySQLParser_field_options_return

    MySQLParser_type_datetime_precision_return type_datetime_precision2641;
    #undef	RETURN_TYPE_type_datetime_precision2641
    #define	RETURN_TYPE_type_datetime_precision2641 MySQLParser_type_datetime_precision_return

    MySQLParser_type_datetime_precision_return type_datetime_precision2643;
    #undef	RETURN_TYPE_type_datetime_precision2643
    #define	RETURN_TYPE_type_datetime_precision2643 MySQLParser_type_datetime_precision_return

    MySQLParser_type_datetime_precision_return type_datetime_precision2645;
    #undef	RETURN_TYPE_type_datetime_precision2645
    #define	RETURN_TYPE_type_datetime_precision2645 MySQLParser_type_datetime_precision_return

    MySQLParser_field_length_return field_length2648;
    #undef	RETURN_TYPE_field_length2648
    #define	RETURN_TYPE_field_length2648 MySQLParser_field_length_return

    MySQLParser_varchar_literal_return varchar_literal2654;
    #undef	RETURN_TYPE_varchar_literal2654
    #define	RETURN_TYPE_varchar_literal2654 MySQLParser_varchar_literal_return

    MySQLParser_string_binary_return string_binary2655;
    #undef	RETURN_TYPE_string_binary2655
    #define	RETURN_TYPE_string_binary2655 MySQLParser_string_binary_return

    MySQLParser_string_binary_return string_binary2657;
    #undef	RETURN_TYPE_string_binary2657
    #define	RETURN_TYPE_string_binary2657 MySQLParser_string_binary_return

    MySQLParser_field_length_return field_length2659;
    #undef	RETURN_TYPE_field_length2659
    #define	RETURN_TYPE_field_length2659 MySQLParser_field_length_return

    MySQLParser_string_binary_return string_binary2660;
    #undef	RETURN_TYPE_string_binary2660
    #define	RETURN_TYPE_string_binary2660 MySQLParser_string_binary_return

    MySQLParser_string_binary_return string_binary2662;
    #undef	RETURN_TYPE_string_binary2662
    #define	RETURN_TYPE_string_binary2662 MySQLParser_string_binary_return

    MySQLParser_string_binary_return string_binary2664;
    #undef	RETURN_TYPE_string_binary2664
    #define	RETURN_TYPE_string_binary2664 MySQLParser_string_binary_return

    MySQLParser_float_options_return float_options2666;
    #undef	RETURN_TYPE_float_options2666
    #define	RETURN_TYPE_float_options2666 MySQLParser_float_options_return

    MySQLParser_field_options_return field_options2667;
    #undef	RETURN_TYPE_field_options2667
    #define	RETURN_TYPE_field_options2667 MySQLParser_field_options_return

    MySQLParser_float_options_return float_options2669;
    #undef	RETURN_TYPE_float_options2669
    #define	RETURN_TYPE_float_options2669 MySQLParser_float_options_return

    MySQLParser_field_options_return field_options2670;
    #undef	RETURN_TYPE_field_options2670
    #define	RETURN_TYPE_field_options2670 MySQLParser_field_options_return

    MySQLParser_float_options_return float_options2672;
    #undef	RETURN_TYPE_float_options2672
    #define	RETURN_TYPE_float_options2672 MySQLParser_float_options_return

    MySQLParser_field_options_return field_options2673;
    #undef	RETURN_TYPE_field_options2673
    #define	RETURN_TYPE_field_options2673 MySQLParser_field_options_return

    MySQLParser_string_list_return string_list2675;
    #undef	RETURN_TYPE_string_list2675
    #define	RETURN_TYPE_string_list2675 MySQLParser_string_list_return

    MySQLParser_string_binary_return string_binary2676;
    #undef	RETURN_TYPE_string_binary2676
    #define	RETURN_TYPE_string_binary2676 MySQLParser_string_binary_return

    MySQLParser_string_list_return string_list2678;
    #undef	RETURN_TYPE_string_list2678
    #define	RETURN_TYPE_string_list2678 MySQLParser_string_list_return

    MySQLParser_string_binary_return string_binary2679;
    #undef	RETURN_TYPE_string_binary2679
    #define	RETURN_TYPE_string_binary2679 MySQLParser_string_binary_return

    MySQLParser_spatial_type_return spatial_type2681;
    #undef	RETURN_TYPE_spatial_type2681
    #define	RETURN_TYPE_spatial_type2681 MySQLParser_spatial_type_return

    pANTLR3_BASE_TREE FLOAT_SYMBOL2613_tree;
    pANTLR3_BASE_TREE BIT_SYMBOL2616_tree;
    pANTLR3_BASE_TREE BOOL_SYMBOL2618_tree;
    pANTLR3_BASE_TREE BOOLEAN_SYMBOL2619_tree;
    pANTLR3_BASE_TREE CHAR_SYMBOL2620_tree;
    pANTLR3_BASE_TREE BINARY_SYMBOL2625_tree;
    pANTLR3_BASE_TREE BINARY_SYMBOL2626_tree;
    pANTLR3_BASE_TREE VARBINARY_SYMBOL2634_tree;
    pANTLR3_BASE_TREE YEAR_SYMBOL2636_tree;
    pANTLR3_BASE_TREE DATE_SYMBOL2639_tree;
    pANTLR3_BASE_TREE TIME_SYMBOL2640_tree;
    pANTLR3_BASE_TREE TIMESTAMP_SYMBOL2642_tree;
    pANTLR3_BASE_TREE DATETIME_SYMBOL2644_tree;
    pANTLR3_BASE_TREE TINYBLOB_SYMBOL2646_tree;
    pANTLR3_BASE_TREE BLOB_SYMBOL2647_tree;
    pANTLR3_BASE_TREE MEDIUMBLOB_SYMBOL2649_tree;
    pANTLR3_BASE_TREE LONGBLOB_SYMBOL2650_tree;
    pANTLR3_BASE_TREE LONG_SYMBOL2651_tree;
    pANTLR3_BASE_TREE VARBINARY_SYMBOL2652_tree;
    pANTLR3_BASE_TREE LONG_SYMBOL2653_tree;
    pANTLR3_BASE_TREE TINYTEXT_SYMBOL2656_tree;
    pANTLR3_BASE_TREE TEXT_SYMBOL2658_tree;
    pANTLR3_BASE_TREE MEDIUMTEXT_SYMBOL2661_tree;
    pANTLR3_BASE_TREE LONGTEXT_SYMBOL2663_tree;
    pANTLR3_BASE_TREE DECIMAL_SYMBOL2665_tree;
    pANTLR3_BASE_TREE NUMERIC_SYMBOL2668_tree;
    pANTLR3_BASE_TREE FIXED_SYMBOL2671_tree;
    pANTLR3_BASE_TREE ENUM_SYMBOL2674_tree;
    pANTLR3_BASE_TREE SET_SYMBOL2677_tree;
    pANTLR3_BASE_TREE SERIAL_SYMBOL2680_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    FLOAT_SYMBOL2613       = NULL;
    BIT_SYMBOL2616       = NULL;
    BOOL_SYMBOL2618       = NULL;
    BOOLEAN_SYMBOL2619       = NULL;
    CHAR_SYMBOL2620       = NULL;
    BINARY_SYMBOL2625       = NULL;
    BINARY_SYMBOL2626       = NULL;
    VARBINARY_SYMBOL2634       = NULL;
    YEAR_SYMBOL2636       = NULL;
    DATE_SYMBOL2639       = NULL;
    TIME_SYMBOL2640       = NULL;
    TIMESTAMP_SYMBOL2642       = NULL;
    DATETIME_SYMBOL2644       = NULL;
    TINYBLOB_SYMBOL2646       = NULL;
    BLOB_SYMBOL2647       = NULL;
    MEDIUMBLOB_SYMBOL2649       = NULL;
    LONGBLOB_SYMBOL2650       = NULL;
    LONG_SYMBOL2651       = NULL;
    VARBINARY_SYMBOL2652       = NULL;
    LONG_SYMBOL2653       = NULL;
    TINYTEXT_SYMBOL2656       = NULL;
    TEXT_SYMBOL2658       = NULL;
    MEDIUMTEXT_SYMBOL2661       = NULL;
    LONGTEXT_SYMBOL2663       = NULL;
    DECIMAL_SYMBOL2665       = NULL;
    NUMERIC_SYMBOL2668       = NULL;
    FIXED_SYMBOL2671       = NULL;
    ENUM_SYMBOL2674       = NULL;
    SET_SYMBOL2677       = NULL;
    SERIAL_SYMBOL2680       = NULL;
    integer_type2607.tree = NULL;

    field_length2608.tree = NULL;

    field_options2609.tree = NULL;

    real_literal2610.tree = NULL;

    precision2611.tree = NULL;

    field_options2612.tree = NULL;

    float_options2614.tree = NULL;

    field_options2615.tree = NULL;

    field_length2617.tree = NULL;

    field_length2621.tree = NULL;

    string_binary2622.tree = NULL;

    nchar_literal2623.tree = NULL;

    field_length2624.tree = NULL;

    field_length2627.tree = NULL;

    varchar_literal2628.tree = NULL;

    field_length2629.tree = NULL;

    string_binary2630.tree = NULL;

    nvarchar_literal2631.tree = NULL;

    field_length2632.tree = NULL;

    string_binary2633.tree = NULL;

    field_length2635.tree = NULL;

    field_length2637.tree = NULL;

    field_options2638.tree = NULL;

    type_datetime_precision2641.tree = NULL;

    type_datetime_precision2643.tree = NULL;

    type_datetime_precision2645.tree = NULL;

    field_length2648.tree = NULL;

    varchar_literal2654.tree = NULL;

    string_binary2655.tree = NULL;

    string_binary2657.tree = NULL;

    field_length2659.tree = NULL;

    string_binary2660.tree = NULL;

    string_binary2662.tree = NULL;

    string_binary2664.tree = NULL;

    float_options2666.tree = NULL;

    field_options2667.tree = NULL;

    float_options2669.tree = NULL;

    field_options2670.tree = NULL;

    float_options2672.tree = NULL;

    field_options2673.tree = NULL;

    string_list2675.tree = NULL;

    string_binary2676.tree = NULL;

    string_list2678.tree = NULL;

    string_binary2679.tree = NULL;

    spatial_type2681.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    FLOAT_SYMBOL2613_tree   = NULL;
    BIT_SYMBOL2616_tree   = NULL;
    BOOL_SYMBOL2618_tree   = NULL;
    BOOLEAN_SYMBOL2619_tree   = NULL;
    CHAR_SYMBOL2620_tree   = NULL;
    BINARY_SYMBOL2625_tree   = NULL;
    BINARY_SYMBOL2626_tree   = NULL;
    VARBINARY_SYMBOL2634_tree   = NULL;
    YEAR_SYMBOL2636_tree   = NULL;
    DATE_SYMBOL2639_tree   = NULL;
    TIME_SYMBOL2640_tree   = NULL;
    TIMESTAMP_SYMBOL2642_tree   = NULL;
    DATETIME_SYMBOL2644_tree   = NULL;
    TINYBLOB_SYMBOL2646_tree   = NULL;
    BLOB_SYMBOL2647_tree   = NULL;
    MEDIUMBLOB_SYMBOL2649_tree   = NULL;
    LONGBLOB_SYMBOL2650_tree   = NULL;
    LONG_SYMBOL2651_tree   = NULL;
    VARBINARY_SYMBOL2652_tree   = NULL;
    LONG_SYMBOL2653_tree   = NULL;
    TINYTEXT_SYMBOL2656_tree   = NULL;
    TEXT_SYMBOL2658_tree   = NULL;
    MEDIUMTEXT_SYMBOL2661_tree   = NULL;
    LONGTEXT_SYMBOL2663_tree   = NULL;
    DECIMAL_SYMBOL2665_tree   = NULL;
    NUMERIC_SYMBOL2668_tree   = NULL;
    FIXED_SYMBOL2671_tree   = NULL;
    ENUM_SYMBOL2674_tree   = NULL;
    SET_SYMBOL2677_tree   = NULL;
    SERIAL_SYMBOL2680_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:2368: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 ( string_binary )? | 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 alt752;

            alt752=34;

            {
                int LA752_0 = LA(1);
                if ( (LA752_0 == BIGINT_SYMBOL || LA752_0 == INTEGER_SYMBOL || LA752_0 == INT_SYMBOL || LA752_0 == MEDIUMINT_SYMBOL || LA752_0 == SMALLINT_SYMBOL || LA752_0 == TINYINT_SYMBOL))
                {
                    alt752=1;
                }
                else if ( (LA752_0 == DOUBLE_SYMBOL || LA752_0 == REAL_SYMBOL))
                {
                    alt752=2;
                }
                else if ( (LA752_0 == FLOAT_SYMBOL))
                {
                    alt752=3;
                }
                else if ( (LA752_0 == BIT_SYMBOL))
                {
                    alt752=4;
                }
                else if ( (LA752_0 == BOOL_SYMBOL))
                {
                    alt752=5;
                }
                else if ( (LA752_0 == BOOLEAN_SYMBOL))
                {
                    alt752=6;
                }
                else if ( (LA752_0 == CHAR_SYMBOL))
                {
                    {
                        int LA752_8 = LA(2);
                        if ( (LA752_8 == VARYING_SYMBOL))
                        {
                            alt752=10;
                        }
                        else if ( (LA752_8 == EOF || ((LA752_8 >= ACTION_SYMBOL) && (LA752_8 <= DO_SYMBOL)) || ((LA752_8 >= EXECUTE_SYMBOL) && (LA752_8 <= FLUSH_SYMBOL)) || ((LA752_8 >= HANDLER_SYMBOL) && (LA752_8 <= HELP_SYMBOL)) || ((LA752_8 >= INSTALL_SYMBOL) && (LA752_8 <= OPEN_SYMBOL)) || ((LA752_8 >= PREPARE_SYMBOL) && (LA752_8 <= SAVEPOINT_SYMBOL)) || ((LA752_8 >= START_SYMBOL) && (LA752_8 <= UNINSTALL_SYMBOL)) || ((LA752_8 >= XA_SYMBOL) && (LA752_8 <= PARTITION_SYMBOL)) || LA752_8 == ALTER_SYMBOL || LA752_8 == BACK_TICK_QUOTED_ID || LA752_8 == BINARY_SYMBOL || LA752_8 == CALL_SYMBOL || LA752_8 == CASE_SYMBOL || LA752_8 == CHANGE_SYMBOL || ((LA752_8 >= CHAR_SYMBOL) && (LA752_8 <= CHECK_SYMBOL)) || ((LA752_8 >= CLOSE_PAR_SYMBOL) && (LA752_8 <= COLLATE_SYMBOL)) || LA752_8 == COMMA_SYMBOL || LA752_8 == CREATE_SYMBOL || LA752_8 == DEFAULT_SYMBOL || ((LA752_8 >= DELETE_SYMBOL) && (LA752_8 <= DETERMINISTIC_SYMBOL)) || LA752_8 == DOUBLE_QUOTED_TEXT || LA752_8 == DROP_SYMBOL || LA752_8 == FETCH_SYMBOL || ((LA752_8 >= GET_SYMBOL) && (LA752_8 <= GRANT_SYMBOL)) || ((LA752_8 >= IDENTIFIER) && (LA752_8 <= IF_SYMBOL)) || LA752_8 == INSERT_SYMBOL || LA752_8 == ITERATE_SYMBOL || ((LA752_8 >= KEY_SYMBOL) && (LA752_8 <= KILL_SYMBOL)) || LA752_8 == LEAVE_SYMBOL || LA752_8 == LOAD_SYMBOL || LA752_8 == LOCK_SYMBOL || LA752_8 == LOOP_SYMBOL || LA752_8 == MODIFIES_SYMBOL || LA752_8 == NOT_SYMBOL || LA752_8 == NULL2_SYMBOL || LA752_8 == NULL_SYMBOL || LA752_8 == ON_SYMBOL || ((LA752_8 >= OPEN_PAR_SYMBOL) && (LA752_8 <= OPTIMIZE_SYMBOL)) || LA752_8 == PRIMARY_SYMBOL || LA752_8 == PURGE_SYMBOL || LA752_8 == READS_SYMBOL || LA752_8 == REFERENCES_SYMBOL || ((LA752_8 >= RELEASE_SYMBOL) && (LA752_8 <= REPLACE_SYMBOL)) || LA752_8 == RESIGNAL_SYMBOL || ((LA752_8 >= RETURN_SYMBOL) && (LA752_8 <= REVOKE_SYMBOL)) || ((LA752_8 >= SELECT_SYMBOL) && (LA752_8 <= SEMICOLON_SYMBOL)) || LA752_8 == SET_SYMBOL || ((LA752_8 >= SHOW_SYMBOL) && (LA752_8 <= SIGNAL_SYMBOL)) || LA752_8 == SQL_SYMBOL || ((LA752_8 >= UNIQUE_SYMBOL) && (LA752_8 <= UNLOCK_SYMBOL)) || LA752_8 == UPDATE_SYMBOL || LA752_8 == USE_SYMBOL || LA752_8 == WHILE_SYMBOL))
                        {
                            alt752=7;
                        }
                        else
                        {
                            if (BACKTRACKING>0)
                            {
                                FAILEDFLAG = ANTLR3_TRUE;
                                return retval;
                            }


                            CONSTRUCTEX();
                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                            EXCEPTION->message      = (void *)"";
                            EXCEPTION->decisionNum  = 752;
                            EXCEPTION->state        = 8;


                            goto ruledata_type_elementsEx;

                        }
                    }
                }
                else if ( (LA752_0 == NCHAR_SYMBOL))
                {
                    {
                        int LA752_9 = LA(2);
                        if ( (LA752_9 == VARCHAR_SYMBOL || LA752_9 == VARYING_SYMBOL))
                        {
                            alt752=11;
                        }
                        else if ( (LA752_9 == EOF || ((LA752_9 >= ACTION_SYMBOL) && (LA752_9 <= YEAR_SYMBOL)) || ((LA752_9 >= BACKUP_SYMBOL) && (LA752_9 <= BEGIN_SYMBOL)) || LA752_9 == CACHE_SYMBOL || ((LA752_9 >= CHECKSUM_SYMBOL) && (LA752_9 <= DO_SYMBOL)) || ((LA752_9 >= EXECUTE_SYMBOL) && (LA752_9 <= FLUSH_SYMBOL)) || ((LA752_9 >= HANDLER_SYMBOL) && (LA752_9 <= HELP_SYMBOL)) || ((LA752_9 >= INSTALL_SYMBOL) && (LA752_9 <= OPEN_SYMBOL)) || ((LA752_9 >= PREPARE_SYMBOL) && (LA752_9 <= SAVEPOINT_SYMBOL)) || ((LA752_9 >= START_SYMBOL) && (LA752_9 <= TRUNCATE_SYMBOL)) || LA752_9 == UNINSTALL_SYMBOL || ((LA752_9 >= XA_SYMBOL) && (LA752_9 <= PARTITION_SYMBOL)) || LA752_9 == ALTER_SYMBOL || LA752_9 == BACK_TICK_QUOTED_ID || LA752_9 == BINARY_SYMBOL || LA752_9 == CALL_SYMBOL || LA752_9 == CASE_SYMBOL || LA752_9 == CHANGE_SYMBOL || LA752_9 == CHECK_SYMBOL || ((LA752_9 >= CLOSE_PAR_SYMBOL) && (LA752_9 <= COLLATE_SYMBOL)) || LA752_9 == COMMA_SYMBOL || LA752_9 == CREATE_SYMBOL || LA752_9 == DEFAULT_SYMBOL || ((LA752_9 >= DELETE_SYMBOL) && (LA752_9 <= DETERMINISTIC_SYMBOL)) || LA752_9 == DOUBLE_QUOTED_TEXT || LA752_9 == DROP_SYMBOL || LA752_9 == FETCH_SYMBOL || ((LA752_9 >= GET_SYMBOL) && (LA752_9 <= GRANT_SYMBOL)) || ((LA752_9 >= IDENTIFIER) && (LA752_9 <= IF_SYMBOL)) || LA752_9 == INSERT_SYMBOL || LA752_9 == ITERATE_SYMBOL || ((LA752_9 >= KEY_SYMBOL) && (LA752_9 <= KILL_SYMBOL)) || LA752_9 == LEAVE_SYMBOL || LA752_9 == LOAD_SYMBOL || LA752_9 == LOCK_SYMBOL || LA752_9 == LOOP_SYMBOL || LA752_9 == MODIFIES_SYMBOL || LA752_9 == NOT_SYMBOL || LA752_9 == NULL2_SYMBOL || LA752_9 == NULL_SYMBOL || LA752_9 == ON_SYMBOL || ((LA752_9 >= OPEN_PAR_SYMBOL) && (LA752_9 <= OPTIMIZE_SYMBOL)) || LA752_9 == PRIMARY_SYMBOL || LA752_9 == PURGE_SYMBOL || LA752_9 == READS_SYMBOL || LA752_9 == REFERENCES_SYMBOL || ((LA752_9 >= RELEASE_SYMBOL) && (LA752_9 <= REPLACE_SYMBOL)) || LA752_9 == RESIGNAL_SYMBOL || ((LA752_9 >= RETURN_SYMBOL) && (LA752_9 <= REVOKE_SYMBOL)) || ((LA752_9 >= SELECT_SYMBOL) && (LA752_9 <= SEMICOLON_SYMBOL)) || LA752_9 == SET_SYMBOL || ((LA752_9 >= SHOW_SYMBOL) && (LA752_9 <= SIGNAL_SYMBOL)) || LA752_9 == SQL_SYMBOL || ((LA752_9 >= UNIQUE_SYMBOL) && (LA752_9 <= UNLOCK_SYMBOL)) || LA752_9 == UPDATE_SYMBOL || LA752_9 == USE_SYMBOL || LA752_9 == WHILE_SYMBOL))
                        {
                            alt752=8;
                        }
                        else
                        {
                            if (BACKTRACKING>0)
                            {
                                FAILEDFLAG = ANTLR3_TRUE;
                                return retval;
                            }


                            CONSTRUCTEX();
                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                            EXCEPTION->message      = (void *)"";
                            EXCEPTION->decisionNum  = 752;
                            EXCEPTION->state        = 9;


                            goto ruledata_type_elementsEx;

                        }
                    }
                }
                else if ( (LA752_0 == NATIONAL_SYMBOL))
                {
                    switch ( LA(2) )
                    {
                    case CHAR_SYMBOL:
                    	{
                    		{
                    		    int LA752_244 = LA(3);
                    		    if ( ((LA(3) != VARYING_SYMBOL)))
                    		    {
                    		        alt752=8;
                    		    }
                    		    else if ( (ANTLR3_TRUE))
                    		    {
                    		        alt752=11;
                    		    }
                    		    else
                    		    {
                    		        if (BACKTRACKING>0)
                    		        {
                    		            FAILEDFLAG = ANTLR3_TRUE;
                    		            return retval;
                    		        }


                    		        CONSTRUCTEX();
                    		        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    		        EXCEPTION->message      = (void *)"";
                    		        EXCEPTION->decisionNum  = 752;
                    		        EXCEPTION->state        = 244;


                    		        goto ruledata_type_elementsEx;

                    		    }
                    		}
                    	}
                        break;
                    case VARCHAR_SYMBOL:
                    	{
                    		alt752=11;
                    	}
                        break;

                    default:
                        if (BACKTRACKING>0)
                        {
                            FAILEDFLAG = ANTLR3_TRUE;
                            return retval;
                        }

                        CONSTRUCTEX();
                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                        EXCEPTION->message      = (void *)"";
                        EXCEPTION->decisionNum  = 752;
                        EXCEPTION->state        = 10;


                        goto ruledata_type_elementsEx;

                    }

                }
                else if ( (LA752_0 == BINARY_SYMBOL))
                {
                    alt752=9;
                }
                else if ( (LA752_0 == VARCHAR_SYMBOL))
                {
                    alt752=10;
                }
                else if ( (LA752_0 == NVARCHAR_SYMBOL))
                {
                    alt752=11;
                }
                else if ( (LA752_0 == VARBINARY_SYMBOL))
                {
                    alt752=12;
                }
                else if ( (LA752_0 == YEAR_SYMBOL))
                {
                    alt752=13;
                }
                else if ( (LA752_0 == DATE_SYMBOL))
                {
                    alt752=14;
                }
                else if ( (LA752_0 == TIME_SYMBOL))
                {
                    alt752=15;
                }
                else if ( (LA752_0 == TIMESTAMP_SYMBOL))
                {
                    alt752=16;
                }
                else if ( (LA752_0 == DATETIME_SYMBOL))
                {
                    alt752=17;
                }
                else if ( (LA752_0 == TINYBLOB_SYMBOL))
                {
                    alt752=18;
                }
                else if ( (LA752_0 == BLOB_SYMBOL))
                {
                    alt752=19;
                }
                else if ( (LA752_0 == MEDIUMBLOB_SYMBOL))
                {
                    alt752=20;
                }
                else if ( (LA752_0 == LONGBLOB_SYMBOL))
                {
                    alt752=21;
                }
                else if ( (LA752_0 == LONG_SYMBOL))
                {
                    {
                        int LA752_24 = LA(2);
                        if ( (LA752_24 == VARBINARY_SYMBOL))
                        {
                            alt752=22;
                        }
                        else if ( (LA752_24 == EOF || ((LA752_24 >= ACTION_SYMBOL) && (LA752_24 <= DO_SYMBOL)) || ((LA752_24 >= EXECUTE_SYMBOL) && (LA752_24 <= FLUSH_SYMBOL)) || ((LA752_24 >= HANDLER_SYMBOL) && (LA752_24 <= HELP_SYMBOL)) || ((LA752_24 >= INSTALL_SYMBOL) && (LA752_24 <= OPEN_SYMBOL)) || ((LA752_24 >= PREPARE_SYMBOL) && (LA752_24 <= SAVEPOINT_SYMBOL)) || ((LA752_24 >= START_SYMBOL) && (LA752_24 <= UNINSTALL_SYMBOL)) || ((LA752_24 >= XA_SYMBOL) && (LA752_24 <= PARTITION_SYMBOL)) || LA752_24 == ALTER_SYMBOL || LA752_24 == BACK_TICK_QUOTED_ID || LA752_24 == BINARY_SYMBOL || LA752_24 == CALL_SYMBOL || LA752_24 == CASE_SYMBOL || LA752_24 == CHANGE_SYMBOL || ((LA752_24 >= CHAR_SYMBOL) && (LA752_24 <= CHECK_SYMBOL)) || ((LA752_24 >= CLOSE_PAR_SYMBOL) && (LA752_24 <= COLLATE_SYMBOL)) || LA752_24 == COMMA_SYMBOL || LA752_24 == CREATE_SYMBOL || LA752_24 == DEFAULT_SYMBOL || ((LA752_24 >= DELETE_SYMBOL) && (LA752_24 <= DETERMINISTIC_SYMBOL)) || LA752_24 == DOUBLE_QUOTED_TEXT || LA752_24 == DROP_SYMBOL || LA752_24 == FETCH_SYMBOL || ((LA752_24 >= GET_SYMBOL) && (LA752_24 <= GRANT_SYMBOL)) || ((LA752_24 >= IDENTIFIER) && (LA752_24 <= IF_SYMBOL)) || LA752_24 == INSERT_SYMBOL || LA752_24 == ITERATE_SYMBOL || ((LA752_24 >= KEY_SYMBOL) && (LA752_24 <= KILL_SYMBOL)) || LA752_24 == LEAVE_SYMBOL || LA752_24 == LOAD_SYMBOL || LA752_24 == LOCK_SYMBOL || LA752_24 == LOOP_SYMBOL || LA752_24 == MODIFIES_SYMBOL || LA752_24 == NOT_SYMBOL || LA752_24 == NULL2_SYMBOL || LA752_24 == NULL_SYMBOL || LA752_24 == ON_SYMBOL || ((LA752_24 >= OPEN_PAR_SYMBOL) && (LA752_24 <= OPTIMIZE_SYMBOL)) || LA752_24 == PRIMARY_SYMBOL || LA752_24 == PURGE_SYMBOL || LA752_24 == READS_SYMBOL || LA752_24 == REFERENCES_SYMBOL || ((LA752_24 >= RELEASE_SYMBOL) && (LA752_24 <= REPLACE_SYMBOL)) || LA752_24 == RESIGNAL_SYMBOL || ((LA752_24 >= RETURN_SYMBOL) && (LA752_24 <= REVOKE_SYMBOL)) || ((LA752_24 >= SELECT_SYMBOL) && (LA752_24 <= SEMICOLON_SYMBOL)) || LA752_24 == SET_SYMBOL || ((LA752_24 >= SHOW_SYMBOL) && (LA752_24 <= SIGNAL_SYMBOL)) || LA752_24 == SQL_SYMBOL || ((LA752_24 >= UNIQUE_SYMBOL) && (LA752_24 <= UNLOCK_SYMBOL)) || LA752_24 == UPDATE_SYMBOL || LA752_24 == USE_SYMBOL || LA752_24 == VARCHAR_SYMBOL || LA752_24 == WHILE_SYMBOL))
                        {
                            alt752=23;
                        }
                        else
                        {
                            if (BACKTRACKING>0)
                            {
                                FAILEDFLAG = ANTLR3_TRUE;
                                return retval;
                            }


                            CONSTRUCTEX();
                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                            EXCEPTION->message      = (void *)"";
                            EXCEPTION->decisionNum  = 752;
                            EXCEPTION->state        = 24;


                            goto ruledata_type_elementsEx;

                        }
                    }
                }
                else if ( (LA752_0 == TINYTEXT_SYMBOL))
                {
                    alt752=24;
                }
                else if ( (LA752_0 == TEXT_SYMBOL))
                {
                    alt752=25;
                }
                else if ( (LA752_0 == MEDIUMTEXT_SYMBOL))
                {
                    alt752=26;
                }
                else if ( (LA752_0 == LONGTEXT_SYMBOL))
                {
                    alt752=27;
                }
                else if ( (LA752_0 == DECIMAL_SYMBOL))
                {
                    alt752=28;
                }
                else if ( (LA752_0 == NUMERIC_SYMBOL))
                {
                    alt752=29;
                }
                else if ( (LA752_0 == FIXED_SYMBOL))
                {
                    alt752=30;
                }
                else if ( (LA752_0 == ENUM_SYMBOL))
                {
                    alt752=31;
                }
                else if ( (LA752_0 == SET_SYMBOL))
                {
                    alt752=32;
                }
                else if ( (LA752_0 == SERIAL_SYMBOL))
                {
                    alt752=33;
                }
                else if ( (((LA752_0 >= GEOMETRYCOLLECTION_SYMBOL) && (LA752_0 <= GEOMETRY_SYMBOL)) || LA752_0 == LINESTRING_SYMBOL || ((LA752_0 >= MULTILINESTRING_SYMBOL) && (LA752_0 <= MULTIPOLYGON_SYMBOL)) || ((LA752_0 >= POINT_SYMBOL) && (LA752_0 <= POLYGON_SYMBOL))))
                {
                    alt752=34;
                }
                else
                {
                    if (BACKTRACKING>0)
                    {
                        FAILEDFLAG = ANTLR3_TRUE;
                        return retval;
                    }


                    CONSTRUCTEX();
                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    EXCEPTION->message      = (void *)"";
                    EXCEPTION->decisionNum  = 752;
                    EXCEPTION->state        = 0;


                    goto ruledata_type_elementsEx;

                }
            }
            switch (alt752)
            {
        	case 1:
        	    // MySQL.g:2369:2: integer_type ( field_length )? ( field_options )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_integer_type_in_data_type_elements13479);
        	        integer_type2607=integer_type(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruledata_type_elementsEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, integer_type2607.tree);

        	        // MySQL.g:2369:15: ( field_length )?
        	        {
        	            int alt717=2;
        	            switch ( LA(1) )
        	            {
        	                case OPEN_PAR_SYMBOL:
        	                	{
        	                		switch ( LA(2) )
        	                		{
        	                		    case INTEGER:
        	                		    	{
        	                		    		alt717=1;
        	                		    	}
        	                		        break;
        	                		}

        	                	}
        	                    break;
        	            }

        	            switch (alt717)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2369:15: field_length
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_field_length_in_data_type_elements13481);
        	        	        field_length2608=field_length(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruledata_type_elementsEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, field_length2608.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	        // MySQL.g:2369:29: ( field_options )?
        	        {
        	            int alt718=2;
        	            switch ( LA(1) )
        	            {
        	                case SIGNED_SYMBOL:
        	                case UNSIGNED_SYMBOL:
        	                case ZEROFILL_SYMBOL:
        	                	{
        	                		alt718=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt718)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2369:29: field_options
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_field_options_in_data_type_elements13484);
        	        	        field_options2609=field_options(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruledata_type_elementsEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, field_options2609.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:2371:4: real_literal ( precision )? ( field_options )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_real_literal_in_data_type_elements13491);
        	        real_literal2610=real_literal(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruledata_type_elementsEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, real_literal2610.tree);

        	        // MySQL.g:2371:17: ( precision )?
        	        {
        	            int alt719=2;
        	            switch ( LA(1) )
        	            {
        	                case OPEN_PAR_SYMBOL:
        	                	{
        	                		switch ( LA(2) )
        	                		{
        	                		    case INTEGER:
        	                		    	{
        	                		    		alt719=1;
        	                		    	}
        	                		        break;
        	                		}

        	                	}
        	                    break;
        	            }

        	            switch (alt719)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2371:17: precision
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_precision_in_data_type_elements13493);
        	        	        precision2611=precision(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruledata_type_elementsEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, precision2611.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	        // MySQL.g:2371:28: ( field_options )?
        	        {
        	            int alt720=2;
        	            switch ( LA(1) )
        	            {
        	                case SIGNED_SYMBOL:
        	                case UNSIGNED_SYMBOL:
        	                case ZEROFILL_SYMBOL:
        	                	{
        	                		alt720=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt720)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2371:28: field_options
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_field_options_in_data_type_elements13496);
        	        	        field_options2612=field_options(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruledata_type_elementsEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, field_options2612.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 3:
        	    // MySQL.g:2372:4: FLOAT_SYMBOL ( float_options )? ( field_options )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FLOAT_SYMBOL2613 = (pANTLR3_COMMON_TOKEN) MATCHT(FLOAT_SYMBOL, &FOLLOW_FLOAT_SYMBOL_in_data_type_elements13502);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruledata_type_elementsEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        FLOAT_SYMBOL2613_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, FLOAT_SYMBOL2613));
        	        ADAPTOR->addChild(ADAPTOR, root_0, FLOAT_SYMBOL2613_tree);
        	        }

        	        // MySQL.g:2372:17: ( float_options )?
        	        {
        	            int alt721=2;
        	            switch ( LA(1) )
        	            {
        	                case OPEN_PAR_SYMBOL:
        	                	{
        	                		switch ( LA(2) )
        	                		{
        	                		    case INTEGER:
        	                		    	{
        	                		    		alt721=1;
        	                		    	}
        	                		        break;
        	                		}

        	                	}
        	                    break;
        	            }

        	            switch (alt721)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2372:17: float_options
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_float_options_in_data_type_elements13504);
        	        	        float_options2614=float_options(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruledata_type_elementsEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, float_options2614.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	        // MySQL.g:2372:32: ( field_options )?
        	        {
        	            int alt722=2;
        	            switch ( LA(1) )
        	            {
        	                case SIGNED_SYMBOL:
        	                case UNSIGNED_SYMBOL:
        	                case ZEROFILL_SYMBOL:
        	                	{
        	                		alt722=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt722)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2372:32: field_options
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_field_options_in_data_type_elements13507);
        	        	        field_options2615=field_options(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruledata_type_elementsEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, field_options2615.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 4:
        	    // MySQL.g:2374:4: BIT_SYMBOL ( field_length )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        BIT_SYMBOL2616 = (pANTLR3_COMMON_TOKEN) MATCHT(BIT_SYMBOL, &FOLLOW_BIT_SYMBOL_in_data_type_elements13515);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruledata_type_elementsEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        BIT_SYMBOL2616_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, BIT_SYMBOL2616));
        	        ADAPTOR->addChild(ADAPTOR, root_0, BIT_SYMBOL2616_tree);
        	        }

        	        // MySQL.g:2374:15: ( field_length )?
        	        {
        	            int alt723=2;
        	            switch ( LA(1) )
        	            {
        	                case OPEN_PAR_SYMBOL:
        	                	{
        	                		switch ( LA(2) )
        	                		{
        	                		    case INTEGER:
        	                		    	{
        	                		    		alt723=1;
        	                		    	}
        	                		        break;
        	                		}

        	                	}
        	                    break;
        	            }

        	            switch (alt723)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2374:15: field_length
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_field_length_in_data_type_elements13517);
        	        	        field_length2617=field_length(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruledata_type_elementsEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, field_length2617.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 5:
        	    // MySQL.g:2375:4: BOOL_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        BOOL_SYMBOL2618 = (pANTLR3_COMMON_TOKEN) MATCHT(BOOL_SYMBOL, &FOLLOW_BOOL_SYMBOL_in_data_type_elements13523);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruledata_type_elementsEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        BOOL_SYMBOL2618_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, BOOL_SYMBOL2618));
        	        ADAPTOR->addChild(ADAPTOR, root_0, BOOL_SYMBOL2618_tree);
        	        }

        	    }
        	    break;
        	case 6:
        	    // MySQL.g:2376:4: BOOLEAN_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        BOOLEAN_SYMBOL2619 = (pANTLR3_COMMON_TOKEN) MATCHT(BOOLEAN_SYMBOL, &FOLLOW_BOOLEAN_SYMBOL_in_data_type_elements13528);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruledata_type_elementsEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        BOOLEAN_SYMBOL2619_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, BOOLEAN_SYMBOL2619));
        	        ADAPTOR->addChild(ADAPTOR, root_0, BOOLEAN_SYMBOL2619_tree);
        	        }

        	    }
        	    break;
        	case 7:
        	    // MySQL.g:2378:4: CHAR_SYMBOL ( field_length )? ( string_binary )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        CHAR_SYMBOL2620 = (pANTLR3_COMMON_TOKEN) MATCHT(CHAR_SYMBOL, &FOLLOW_CHAR_SYMBOL_in_data_type_elements13535);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruledata_type_elementsEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CHAR_SYMBOL2620_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CHAR_SYMBOL2620));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CHAR_SYMBOL2620_tree);
        	        }

        	        // MySQL.g:2378:16: ( field_length )?
        	        {
        	            int alt724=2;
        	            switch ( LA(1) )
        	            {
        	                case OPEN_PAR_SYMBOL:
        	                	{
        	                		switch ( LA(2) )
        	                		{
        	                		    case INTEGER:
        	                		    	{
        	                		    		alt724=1;
        	                		    	}
        	                		        break;
        	                		}

        	                	}
        	                    break;
        	            }

        	            switch (alt724)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2378:16: field_length
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_field_length_in_data_type_elements13537);
        	        	        field_length2621=field_length(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruledata_type_elementsEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, field_length2621.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	        // MySQL.g:2378:30: ( string_binary )?
        	        {
        	            int alt725=2;
        	            switch ( LA(1) )
        	            {
        	                case ASCII_SYMBOL:
        	                case BYTE_SYMBOL:
        	                case CHARSET_SYMBOL:
        	                case UNICODE_SYMBOL:
        	                case BINARY_SYMBOL:
        	                case CHAR_SYMBOL:
        	                	{
        	                		alt725=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt725)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2378:30: string_binary
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_string_binary_in_data_type_elements13540);
        	        	        string_binary2622=string_binary(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruledata_type_elementsEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_binary2622.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 8:
        	    // MySQL.g:2379:4: nchar_literal ( field_length )? ( BINARY_SYMBOL )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_nchar_literal_in_data_type_elements13546);
        	        nchar_literal2623=nchar_literal(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruledata_type_elementsEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, nchar_literal2623.tree);

        	        // MySQL.g:2379:18: ( field_length )?
        	        {
        	            int alt726=2;
        	            switch ( LA(1) )
        	            {
        	                case OPEN_PAR_SYMBOL:
        	                	{
        	                		switch ( LA(2) )
        	                		{
        	                		    case INTEGER:
        	                		    	{
        	                		    		alt726=1;
        	                		    	}
        	                		        break;
        	                		}

        	                	}
        	                    break;
        	            }

        	            switch (alt726)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2379:18: field_length
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_field_length_in_data_type_elements13548);
        	        	        field_length2624=field_length(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruledata_type_elementsEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, field_length2624.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	        // MySQL.g:2379:32: ( BINARY_SYMBOL )?
        	        {
        	            int alt727=2;
        	            switch ( LA(1) )
        	            {
        	                case BINARY_SYMBOL:
        	                	{
        	                		alt727=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt727)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2379:32: BINARY_SYMBOL
        	        	    {
        	        	        BINARY_SYMBOL2625 = (pANTLR3_COMMON_TOKEN) MATCHT(BINARY_SYMBOL, &FOLLOW_BINARY_SYMBOL_in_data_type_elements13551);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruledata_type_elementsEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        BINARY_SYMBOL2625_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, BINARY_SYMBOL2625));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, BINARY_SYMBOL2625_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 9:
        	    // MySQL.g:2380:4: BINARY_SYMBOL ( field_length )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        BINARY_SYMBOL2626 = (pANTLR3_COMMON_TOKEN) MATCHT(BINARY_SYMBOL, &FOLLOW_BINARY_SYMBOL_in_data_type_elements13557);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruledata_type_elementsEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        BINARY_SYMBOL2626_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, BINARY_SYMBOL2626));
        	        ADAPTOR->addChild(ADAPTOR, root_0, BINARY_SYMBOL2626_tree);
        	        }

        	        // MySQL.g:2380:18: ( field_length )?
        	        {
        	            int alt728=2;
        	            switch ( LA(1) )
        	            {
        	                case OPEN_PAR_SYMBOL:
        	                	{
        	                		switch ( LA(2) )
        	                		{
        	                		    case INTEGER:
        	                		    	{
        	                		    		alt728=1;
        	                		    	}
        	                		        break;
        	                		}

        	                	}
        	                    break;
        	            }

        	            switch (alt728)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2380:18: field_length
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_field_length_in_data_type_elements13559);
        	        	        field_length2627=field_length(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruledata_type_elementsEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, field_length2627.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 10:
        	    // MySQL.g:2381:4: varchar_literal field_length ( string_binary )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_varchar_literal_in_data_type_elements13565);
        	        varchar_literal2628=varchar_literal(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruledata_type_elementsEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, varchar_literal2628.tree);

        	        FOLLOWPUSH(FOLLOW_field_length_in_data_type_elements13567);
        	        field_length2629=field_length(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruledata_type_elementsEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, field_length2629.tree);

        	        // MySQL.g:2381:33: ( string_binary )?
        	        {
        	            int alt729=2;
        	            switch ( LA(1) )
        	            {
        	                case ASCII_SYMBOL:
        	                case BYTE_SYMBOL:
        	                case CHARSET_SYMBOL:
        	                case UNICODE_SYMBOL:
        	                case BINARY_SYMBOL:
        	                case CHAR_SYMBOL:
        	                	{
        	                		alt729=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt729)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2381:33: string_binary
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_string_binary_in_data_type_elements13569);
        	        	        string_binary2630=string_binary(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruledata_type_elementsEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_binary2630.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 11:
        	    // MySQL.g:2382:4: nvarchar_literal field_length ( string_binary )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_nvarchar_literal_in_data_type_elements13575);
        	        nvarchar_literal2631=nvarchar_literal(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruledata_type_elementsEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, nvarchar_literal2631.tree);

        	        FOLLOWPUSH(FOLLOW_field_length_in_data_type_elements13577);
        	        field_length2632=field_length(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruledata_type_elementsEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, field_length2632.tree);

        	        // MySQL.g:2382:34: ( string_binary )?
        	        {
        	            int alt730=2;
        	            switch ( LA(1) )
        	            {
        	                case ASCII_SYMBOL:
        	                case BYTE_SYMBOL:
        	                case CHARSET_SYMBOL:
        	                case UNICODE_SYMBOL:
        	                case BINARY_SYMBOL:
        	                case CHAR_SYMBOL:
        	                	{
        	                		alt730=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt730)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2382:34: string_binary
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_string_binary_in_data_type_elements13579);
        	        	        string_binary2633=string_binary(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruledata_type_elementsEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_binary2633.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 12:
        	    // MySQL.g:2384:4: VARBINARY_SYMBOL field_length
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        VARBINARY_SYMBOL2634 = (pANTLR3_COMMON_TOKEN) MATCHT(VARBINARY_SYMBOL, &FOLLOW_VARBINARY_SYMBOL_in_data_type_elements13586);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruledata_type_elementsEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        VARBINARY_SYMBOL2634_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, VARBINARY_SYMBOL2634));
        	        ADAPTOR->addChild(ADAPTOR, root_0, VARBINARY_SYMBOL2634_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_field_length_in_data_type_elements13588);
        	        field_length2635=field_length(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruledata_type_elementsEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, field_length2635.tree);

        	    }
        	    break;
        	case 13:
        	    // MySQL.g:2386:4: YEAR_SYMBOL ( field_length )? ( field_options )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        YEAR_SYMBOL2636 = (pANTLR3_COMMON_TOKEN) MATCHT(YEAR_SYMBOL, &FOLLOW_YEAR_SYMBOL_in_data_type_elements13594);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruledata_type_elementsEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        YEAR_SYMBOL2636_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, YEAR_SYMBOL2636));
        	        ADAPTOR->addChild(ADAPTOR, root_0, YEAR_SYMBOL2636_tree);
        	        }

        	        // MySQL.g:2386:16: ( field_length )?
        	        {
        	            int alt731=2;
        	            switch ( LA(1) )
        	            {
        	                case OPEN_PAR_SYMBOL:
        	                	{
        	                		switch ( LA(2) )
        	                		{
        	                		    case INTEGER:
        	                		    	{
        	                		    		alt731=1;
        	                		    	}
        	                		        break;
        	                		}

        	                	}
        	                    break;
        	            }

        	            switch (alt731)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2386:16: field_length
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_field_length_in_data_type_elements13596);
        	        	        field_length2637=field_length(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruledata_type_elementsEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, field_length2637.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	        // MySQL.g:2386:30: ( field_options )?
        	        {
        	            int alt732=2;
        	            switch ( LA(1) )
        	            {
        	                case SIGNED_SYMBOL:
        	                case UNSIGNED_SYMBOL:
        	                case ZEROFILL_SYMBOL:
        	                	{
        	                		alt732=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt732)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2386:30: field_options
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_field_options_in_data_type_elements13599);
        	        	        field_options2638=field_options(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruledata_type_elementsEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, field_options2638.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 14:
        	    // MySQL.g:2387:4: DATE_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        DATE_SYMBOL2639 = (pANTLR3_COMMON_TOKEN) MATCHT(DATE_SYMBOL, &FOLLOW_DATE_SYMBOL_in_data_type_elements13605);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruledata_type_elementsEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        DATE_SYMBOL2639_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DATE_SYMBOL2639));
        	        ADAPTOR->addChild(ADAPTOR, root_0, DATE_SYMBOL2639_tree);
        	        }

        	    }
        	    break;
        	case 15:
        	    // MySQL.g:2388:4: TIME_SYMBOL ( type_datetime_precision )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        TIME_SYMBOL2640 = (pANTLR3_COMMON_TOKEN) MATCHT(TIME_SYMBOL, &FOLLOW_TIME_SYMBOL_in_data_type_elements13610);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruledata_type_elementsEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        TIME_SYMBOL2640_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, TIME_SYMBOL2640));
        	        ADAPTOR->addChild(ADAPTOR, root_0, TIME_SYMBOL2640_tree);
        	        }

        	        // MySQL.g:2388:16: ( type_datetime_precision )?
        	        {
        	            int alt733=2;
        	            switch ( LA(1) )
        	            {
        	                case OPEN_PAR_SYMBOL:
        	                	{
        	                		{
        	                		    int LA733_1 = LA(2);
        	                		    if ( ((SERVER_VERSION >= 50600)) && (LA733_1 == INTEGER))
        	                		    {
        	                		        alt733=1;
        	                		    }
        	                		}
        	                	}
        	                    break;
        	            }

        	            switch (alt733)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2388:16: type_datetime_precision
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_type_datetime_precision_in_data_type_elements13612);
        	        	        type_datetime_precision2641=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_precision2641.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 16:
        	    // MySQL.g:2389:4: TIMESTAMP_SYMBOL ( type_datetime_precision )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        TIMESTAMP_SYMBOL2642 = (pANTLR3_COMMON_TOKEN) MATCHT(TIMESTAMP_SYMBOL, &FOLLOW_TIMESTAMP_SYMBOL_in_data_type_elements13618);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruledata_type_elementsEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        TIMESTAMP_SYMBOL2642_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, TIMESTAMP_SYMBOL2642));
        	        ADAPTOR->addChild(ADAPTOR, root_0, TIMESTAMP_SYMBOL2642_tree);
        	        }

        	        // MySQL.g:2389:21: ( type_datetime_precision )?
        	        {
        	            int alt734=2;
        	            switch ( LA(1) )
        	            {
        	                case OPEN_PAR_SYMBOL:
        	                	{
        	                		{
        	                		    int LA734_1 = LA(2);
        	                		    if ( ((SERVER_VERSION >= 50600)) && (LA734_1 == INTEGER))
        	                		    {
        	                		        alt734=1;
        	                		    }
        	                		}
        	                	}
        	                    break;
        	            }

        	            switch (alt734)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2389:21: type_datetime_precision
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_type_datetime_precision_in_data_type_elements13620);
        	        	        type_datetime_precision2643=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_precision2643.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 17:
        	    // MySQL.g:2390:4: DATETIME_SYMBOL ( type_datetime_precision )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        DATETIME_SYMBOL2644 = (pANTLR3_COMMON_TOKEN) MATCHT(DATETIME_SYMBOL, &FOLLOW_DATETIME_SYMBOL_in_data_type_elements13626);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruledata_type_elementsEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        DATETIME_SYMBOL2644_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DATETIME_SYMBOL2644));
        	        ADAPTOR->addChild(ADAPTOR, root_0, DATETIME_SYMBOL2644_tree);
        	        }

        	        // MySQL.g:2390:20: ( type_datetime_precision )?
        	        {
        	            int alt735=2;
        	            switch ( LA(1) )
        	            {
        	                case OPEN_PAR_SYMBOL:
        	                	{
        	                		{
        	                		    int LA735_1 = LA(2);
        	                		    if ( ((SERVER_VERSION >= 50600)) && (LA735_1 == INTEGER))
        	                		    {
        	                		        alt735=1;
        	                		    }
        	                		}
        	                	}
        	                    break;
        	            }

        	            switch (alt735)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2390:20: type_datetime_precision
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_type_datetime_precision_in_data_type_elements13628);
        	        	        type_datetime_precision2645=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_precision2645.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 18:
        	    // MySQL.g:2392:4: TINYBLOB_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        TINYBLOB_SYMBOL2646 = (pANTLR3_COMMON_TOKEN) MATCHT(TINYBLOB_SYMBOL, &FOLLOW_TINYBLOB_SYMBOL_in_data_type_elements13635);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruledata_type_elementsEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        TINYBLOB_SYMBOL2646_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, TINYBLOB_SYMBOL2646));
        	        ADAPTOR->addChild(ADAPTOR, root_0, TINYBLOB_SYMBOL2646_tree);
        	        }

        	    }
        	    break;
        	case 19:
        	    // MySQL.g:2393:4: BLOB_SYMBOL ( field_length )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        BLOB_SYMBOL2647 = (pANTLR3_COMMON_TOKEN) MATCHT(BLOB_SYMBOL, &FOLLOW_BLOB_SYMBOL_in_data_type_elements13640);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruledata_type_elementsEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        BLOB_SYMBOL2647_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, BLOB_SYMBOL2647));
        	        ADAPTOR->addChild(ADAPTOR, root_0, BLOB_SYMBOL2647_tree);
        	        }

        	        // MySQL.g:2393:16: ( field_length )?
        	        {
        	            int alt736=2;
        	            switch ( LA(1) )
        	            {
        	                case OPEN_PAR_SYMBOL:
        	                	{
        	                		switch ( LA(2) )
        	                		{
        	                		    case INTEGER:
        	                		    	{
        	                		    		alt736=1;
        	                		    	}
        	                		        break;
        	                		}

        	                	}
        	                    break;
        	            }

        	            switch (alt736)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2393:16: field_length
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_field_length_in_data_type_elements13642);
        	        	        field_length2648=field_length(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruledata_type_elementsEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, field_length2648.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 20:
        	    // MySQL.g:2394:4: MEDIUMBLOB_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        MEDIUMBLOB_SYMBOL2649 = (pANTLR3_COMMON_TOKEN) MATCHT(MEDIUMBLOB_SYMBOL, &FOLLOW_MEDIUMBLOB_SYMBOL_in_data_type_elements13648);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruledata_type_elementsEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        MEDIUMBLOB_SYMBOL2649_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MEDIUMBLOB_SYMBOL2649));
        	        ADAPTOR->addChild(ADAPTOR, root_0, MEDIUMBLOB_SYMBOL2649_tree);
        	        }

        	    }
        	    break;
        	case 21:
        	    // MySQL.g:2395:4: LONGBLOB_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        LONGBLOB_SYMBOL2650 = (pANTLR3_COMMON_TOKEN) MATCHT(LONGBLOB_SYMBOL, &FOLLOW_LONGBLOB_SYMBOL_in_data_type_elements13653);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruledata_type_elementsEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        LONGBLOB_SYMBOL2650_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, LONGBLOB_SYMBOL2650));
        	        ADAPTOR->addChild(ADAPTOR, root_0, LONGBLOB_SYMBOL2650_tree);
        	        }

        	    }
        	    break;
        	case 22:
        	    // MySQL.g:2396:4: LONG_SYMBOL VARBINARY_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        LONG_SYMBOL2651 = (pANTLR3_COMMON_TOKEN) MATCHT(LONG_SYMBOL, &FOLLOW_LONG_SYMBOL_in_data_type_elements13658);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruledata_type_elementsEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        LONG_SYMBOL2651_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, LONG_SYMBOL2651));
        	        ADAPTOR->addChild(ADAPTOR, root_0, LONG_SYMBOL2651_tree);
        	        }

        	        VARBINARY_SYMBOL2652 = (pANTLR3_COMMON_TOKEN) MATCHT(VARBINARY_SYMBOL, &FOLLOW_VARBINARY_SYMBOL_in_data_type_elements13660);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruledata_type_elementsEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        VARBINARY_SYMBOL2652_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, VARBINARY_SYMBOL2652));
        	        ADAPTOR->addChild(ADAPTOR, root_0, VARBINARY_SYMBOL2652_tree);
        	        }

        	    }
        	    break;
        	case 23:
        	    // MySQL.g:2397:4: LONG_SYMBOL ( varchar_literal )? ( string_binary )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        LONG_SYMBOL2653 = (pANTLR3_COMMON_TOKEN) MATCHT(LONG_SYMBOL, &FOLLOW_LONG_SYMBOL_in_data_type_elements13665);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruledata_type_elementsEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        LONG_SYMBOL2653_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, LONG_SYMBOL2653));
        	        ADAPTOR->addChild(ADAPTOR, root_0, LONG_SYMBOL2653_tree);
        	        }

        	        // MySQL.g:2397:16: ( varchar_literal )?
        	        {
        	            int alt737=2;
        	            switch ( LA(1) )
        	            {
        	                case CHAR_SYMBOL:
        	                	{
        	                		switch ( LA(2) )
        	                		{
        	                		    case VARYING_SYMBOL:
        	                		    	{
        	                		    		alt737=1;
        	                		    	}
        	                		        break;
        	                		}

        	                	}
        	                    break;
        	                case VARCHAR_SYMBOL:
        	                	{
        	                		alt737=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt737)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2397:16: varchar_literal
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_varchar_literal_in_data_type_elements13667);
        	        	        varchar_literal2654=varchar_literal(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruledata_type_elementsEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, varchar_literal2654.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	        // MySQL.g:2397:33: ( string_binary )?
        	        {
        	            int alt738=2;
        	            switch ( LA(1) )
        	            {
        	                case ASCII_SYMBOL:
        	                case BYTE_SYMBOL:
        	                case CHARSET_SYMBOL:
        	                case UNICODE_SYMBOL:
        	                case BINARY_SYMBOL:
        	                case CHAR_SYMBOL:
        	                	{
        	                		alt738=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt738)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2397:33: string_binary
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_string_binary_in_data_type_elements13670);
        	        	        string_binary2655=string_binary(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruledata_type_elementsEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_binary2655.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 24:
        	    // MySQL.g:2399:4: TINYTEXT_SYMBOL ( string_binary )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        TINYTEXT_SYMBOL2656 = (pANTLR3_COMMON_TOKEN) MATCHT(TINYTEXT_SYMBOL, &FOLLOW_TINYTEXT_SYMBOL_in_data_type_elements13677);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruledata_type_elementsEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        TINYTEXT_SYMBOL2656_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, TINYTEXT_SYMBOL2656));
        	        ADAPTOR->addChild(ADAPTOR, root_0, TINYTEXT_SYMBOL2656_tree);
        	        }

        	        // MySQL.g:2399:20: ( string_binary )?
        	        {
        	            int alt739=2;
        	            switch ( LA(1) )
        	            {
        	                case ASCII_SYMBOL:
        	                case BYTE_SYMBOL:
        	                case CHARSET_SYMBOL:
        	                case UNICODE_SYMBOL:
        	                case BINARY_SYMBOL:
        	                case CHAR_SYMBOL:
        	                	{
        	                		alt739=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt739)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2399:20: string_binary
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_string_binary_in_data_type_elements13679);
        	        	        string_binary2657=string_binary(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruledata_type_elementsEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_binary2657.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 25:
        	    // MySQL.g:2400:4: TEXT_SYMBOL ( field_length )? ( string_binary )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        TEXT_SYMBOL2658 = (pANTLR3_COMMON_TOKEN) MATCHT(TEXT_SYMBOL, &FOLLOW_TEXT_SYMBOL_in_data_type_elements13685);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruledata_type_elementsEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        TEXT_SYMBOL2658_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, TEXT_SYMBOL2658));
        	        ADAPTOR->addChild(ADAPTOR, root_0, TEXT_SYMBOL2658_tree);
        	        }

        	        // MySQL.g:2400:16: ( field_length )?
        	        {
        	            int alt740=2;
        	            switch ( LA(1) )
        	            {
        	                case OPEN_PAR_SYMBOL:
        	                	{
        	                		switch ( LA(2) )
        	                		{
        	                		    case INTEGER:
        	                		    	{
        	                		    		alt740=1;
        	                		    	}
        	                		        break;
        	                		}

        	                	}
        	                    break;
        	            }

        	            switch (alt740)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2400:16: field_length
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_field_length_in_data_type_elements13687);
        	        	        field_length2659=field_length(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruledata_type_elementsEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, field_length2659.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	        // MySQL.g:2400:30: ( string_binary )?
        	        {
        	            int alt741=2;
        	            switch ( LA(1) )
        	            {
        	                case ASCII_SYMBOL:
        	                case BYTE_SYMBOL:
        	                case CHARSET_SYMBOL:
        	                case UNICODE_SYMBOL:
        	                case BINARY_SYMBOL:
        	                case CHAR_SYMBOL:
        	                	{
        	                		alt741=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt741)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2400:30: string_binary
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_string_binary_in_data_type_elements13690);
        	        	        string_binary2660=string_binary(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruledata_type_elementsEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_binary2660.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 26:
        	    // MySQL.g:2401:4: MEDIUMTEXT_SYMBOL ( string_binary )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        MEDIUMTEXT_SYMBOL2661 = (pANTLR3_COMMON_TOKEN) MATCHT(MEDIUMTEXT_SYMBOL, &FOLLOW_MEDIUMTEXT_SYMBOL_in_data_type_elements13696);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruledata_type_elementsEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        MEDIUMTEXT_SYMBOL2661_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MEDIUMTEXT_SYMBOL2661));
        	        ADAPTOR->addChild(ADAPTOR, root_0, MEDIUMTEXT_SYMBOL2661_tree);
        	        }

        	        // MySQL.g:2401:22: ( string_binary )?
        	        {
        	            int alt742=2;
        	            switch ( LA(1) )
        	            {
        	                case ASCII_SYMBOL:
        	                case BYTE_SYMBOL:
        	                case CHARSET_SYMBOL:
        	                case UNICODE_SYMBOL:
        	                case BINARY_SYMBOL:
        	                case CHAR_SYMBOL:
        	                	{
        	                		alt742=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt742)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2401:22: string_binary
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_string_binary_in_data_type_elements13698);
        	        	        string_binary2662=string_binary(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruledata_type_elementsEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_binary2662.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 27:
        	    // MySQL.g:2402:4: LONGTEXT_SYMBOL ( string_binary )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        LONGTEXT_SYMBOL2663 = (pANTLR3_COMMON_TOKEN) MATCHT(LONGTEXT_SYMBOL, &FOLLOW_LONGTEXT_SYMBOL_in_data_type_elements13704);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruledata_type_elementsEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        LONGTEXT_SYMBOL2663_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, LONGTEXT_SYMBOL2663));
        	        ADAPTOR->addChild(ADAPTOR, root_0, LONGTEXT_SYMBOL2663_tree);
        	        }

        	        // MySQL.g:2402:20: ( string_binary )?
        	        {
        	            int alt743=2;
        	            switch ( LA(1) )
        	            {
        	                case ASCII_SYMBOL:
        	                case BYTE_SYMBOL:
        	                case CHARSET_SYMBOL:
        	                case UNICODE_SYMBOL:
        	                case BINARY_SYMBOL:
        	                case CHAR_SYMBOL:
        	                	{
        	                		alt743=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt743)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2402:20: string_binary
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_string_binary_in_data_type_elements13706);
        	        	        string_binary2664=string_binary(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruledata_type_elementsEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_binary2664.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 28:
        	    // MySQL.g:2404:4: DECIMAL_SYMBOL ( float_options )? ( field_options )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        DECIMAL_SYMBOL2665 = (pANTLR3_COMMON_TOKEN) MATCHT(DECIMAL_SYMBOL, &FOLLOW_DECIMAL_SYMBOL_in_data_type_elements13714);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruledata_type_elementsEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        DECIMAL_SYMBOL2665_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DECIMAL_SYMBOL2665));
        	        ADAPTOR->addChild(ADAPTOR, root_0, DECIMAL_SYMBOL2665_tree);
        	        }

        	        // MySQL.g:2404:19: ( float_options )?
        	        {
        	            int alt744=2;
        	            switch ( LA(1) )
        	            {
        	                case OPEN_PAR_SYMBOL:
        	                	{
        	                		switch ( LA(2) )
        	                		{
        	                		    case INTEGER:
        	                		    	{
        	                		    		alt744=1;
        	                		    	}
        	                		        break;
        	                		}

        	                	}
        	                    break;
        	            }

        	            switch (alt744)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2404:19: float_options
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_float_options_in_data_type_elements13716);
        	        	        float_options2666=float_options(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruledata_type_elementsEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, float_options2666.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	        // MySQL.g:2404:34: ( field_options )?
        	        {
        	            int alt745=2;
        	            switch ( LA(1) )
        	            {
        	                case SIGNED_SYMBOL:
        	                case UNSIGNED_SYMBOL:
        	                case ZEROFILL_SYMBOL:
        	                	{
        	                		alt745=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt745)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2404:34: field_options
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_field_options_in_data_type_elements13719);
        	        	        field_options2667=field_options(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruledata_type_elementsEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, field_options2667.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 29:
        	    // MySQL.g:2405:4: NUMERIC_SYMBOL ( float_options )? ( field_options )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        NUMERIC_SYMBOL2668 = (pANTLR3_COMMON_TOKEN) MATCHT(NUMERIC_SYMBOL, &FOLLOW_NUMERIC_SYMBOL_in_data_type_elements13725);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruledata_type_elementsEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        NUMERIC_SYMBOL2668_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, NUMERIC_SYMBOL2668));
        	        ADAPTOR->addChild(ADAPTOR, root_0, NUMERIC_SYMBOL2668_tree);
        	        }

        	        // MySQL.g:2405:19: ( float_options )?
        	        {
        	            int alt746=2;
        	            switch ( LA(1) )
        	            {
        	                case OPEN_PAR_SYMBOL:
        	                	{
        	                		switch ( LA(2) )
        	                		{
        	                		    case INTEGER:
        	                		    	{
        	                		    		alt746=1;
        	                		    	}
        	                		        break;
        	                		}

        	                	}
        	                    break;
        	            }

        	            switch (alt746)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2405:19: float_options
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_float_options_in_data_type_elements13727);
        	        	        float_options2669=float_options(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruledata_type_elementsEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, float_options2669.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	        // MySQL.g:2405:34: ( field_options )?
        	        {
        	            int alt747=2;
        	            switch ( LA(1) )
        	            {
        	                case SIGNED_SYMBOL:
        	                case UNSIGNED_SYMBOL:
        	                case ZEROFILL_SYMBOL:
        	                	{
        	                		alt747=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt747)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2405:34: field_options
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_field_options_in_data_type_elements13730);
        	        	        field_options2670=field_options(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruledata_type_elementsEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, field_options2670.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 30:
        	    // MySQL.g:2406:4: FIXED_SYMBOL ( float_options )? ( field_options )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FIXED_SYMBOL2671 = (pANTLR3_COMMON_TOKEN) MATCHT(FIXED_SYMBOL, &FOLLOW_FIXED_SYMBOL_in_data_type_elements13736);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruledata_type_elementsEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        FIXED_SYMBOL2671_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, FIXED_SYMBOL2671));
        	        ADAPTOR->addChild(ADAPTOR, root_0, FIXED_SYMBOL2671_tree);
        	        }

        	        // MySQL.g:2406:17: ( float_options )?
        	        {
        	            int alt748=2;
        	            switch ( LA(1) )
        	            {
        	                case OPEN_PAR_SYMBOL:
        	                	{
        	                		switch ( LA(2) )
        	                		{
        	                		    case INTEGER:
        	                		    	{
        	                		    		alt748=1;
        	                		    	}
        	                		        break;
        	                		}

        	                	}
        	                    break;
        	            }

        	            switch (alt748)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2406:17: float_options
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_float_options_in_data_type_elements13738);
        	        	        float_options2672=float_options(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruledata_type_elementsEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, float_options2672.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	        // MySQL.g:2406:32: ( field_options )?
        	        {
        	            int alt749=2;
        	            switch ( LA(1) )
        	            {
        	                case SIGNED_SYMBOL:
        	                case UNSIGNED_SYMBOL:
        	                case ZEROFILL_SYMBOL:
        	                	{
        	                		alt749=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt749)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2406:32: field_options
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_field_options_in_data_type_elements13741);
        	        	        field_options2673=field_options(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruledata_type_elementsEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, field_options2673.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 31:
        	    // MySQL.g:2408:4: ENUM_SYMBOL string_list ( string_binary )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        ENUM_SYMBOL2674 = (pANTLR3_COMMON_TOKEN) MATCHT(ENUM_SYMBOL, &FOLLOW_ENUM_SYMBOL_in_data_type_elements13749);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruledata_type_elementsEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        ENUM_SYMBOL2674_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ENUM_SYMBOL2674));
        	        ADAPTOR->addChild(ADAPTOR, root_0, ENUM_SYMBOL2674_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_string_list_in_data_type_elements13751);
        	        string_list2675=string_list(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruledata_type_elementsEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_list2675.tree);

        	        // MySQL.g:2408:28: ( string_binary )?
        	        {
        	            int alt750=2;
        	            switch ( LA(1) )
        	            {
        	                case ASCII_SYMBOL:
        	                case BYTE_SYMBOL:
        	                case CHARSET_SYMBOL:
        	                case UNICODE_SYMBOL:
        	                case BINARY_SYMBOL:
        	                case CHAR_SYMBOL:
        	                	{
        	                		alt750=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt750)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2408:28: string_binary
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_string_binary_in_data_type_elements13753);
        	        	        string_binary2676=string_binary(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruledata_type_elementsEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_binary2676.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 32:
        	    // MySQL.g:2409:4: SET_SYMBOL string_list ( string_binary )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        SET_SYMBOL2677 = (pANTLR3_COMMON_TOKEN) MATCHT(SET_SYMBOL, &FOLLOW_SET_SYMBOL_in_data_type_elements13759);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruledata_type_elementsEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        SET_SYMBOL2677_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SET_SYMBOL2677));
        	        ADAPTOR->addChild(ADAPTOR, root_0, SET_SYMBOL2677_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_string_list_in_data_type_elements13761);
        	        string_list2678=string_list(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruledata_type_elementsEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_list2678.tree);

        	        // MySQL.g:2409:27: ( string_binary )?
        	        {
        	            int alt751=2;
        	            switch ( LA(1) )
        	            {
        	                case ASCII_SYMBOL:
        	                case BYTE_SYMBOL:
        	                case CHARSET_SYMBOL:
        	                case UNICODE_SYMBOL:
        	                case BINARY_SYMBOL:
        	                case CHAR_SYMBOL:
        	                	{
        	                		alt751=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt751)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2409:27: string_binary
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_string_binary_in_data_type_elements13763);
        	        	        string_binary2679=string_binary(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruledata_type_elementsEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_binary2679.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 33:
        	    // MySQL.g:2410:4: SERIAL_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        SERIAL_SYMBOL2680 = (pANTLR3_COMMON_TOKEN) MATCHT(SERIAL_SYMBOL, &FOLLOW_SERIAL_SYMBOL_in_data_type_elements13769);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruledata_type_elementsEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        SERIAL_SYMBOL2680_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SERIAL_SYMBOL2680));
        	        ADAPTOR->addChild(ADAPTOR, root_0, SERIAL_SYMBOL2680_tree);
        	        }

        	    }
        	    break;
        	case 34:
        	    // MySQL.g:2411:4: spatial_type
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_spatial_type_in_data_type_elements13774);
        	        spatial_type2681=spatial_type(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruledata_type_elementsEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, spatial_type2681.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:2414: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_SYMBOL2682;
    pANTLR3_COMMON_TOKEN    INTEGER2683;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2684;

    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2682_tree;
    pANTLR3_BASE_TREE INTEGER2683_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2684_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    OPEN_PAR_SYMBOL2682       = NULL;
    INTEGER2683       = NULL;
    CLOSE_PAR_SYMBOL2684       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    OPEN_PAR_SYMBOL2682_tree   = NULL;
    INTEGER2683_tree   = NULL;
    CLOSE_PAR_SYMBOL2684_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2414:13: ( OPEN_PAR_SYMBOL INTEGER CLOSE_PAR_SYMBOL )
        // MySQL.g:2415:2: OPEN_PAR_SYMBOL INTEGER CLOSE_PAR_SYMBOL
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            OPEN_PAR_SYMBOL2682 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_field_length13783);
            if  (HASEXCEPTION())
            {
                goto rulefield_lengthEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            OPEN_PAR_SYMBOL2682_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL2682));
            ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL2682_tree);
            }

            INTEGER2683 = (pANTLR3_COMMON_TOKEN) MATCHT(INTEGER, &FOLLOW_INTEGER_in_field_length13785);
            if  (HASEXCEPTION())
            {
                goto rulefield_lengthEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            INTEGER2683_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INTEGER2683));
            ADAPTOR->addChild(ADAPTOR, root_0, INTEGER2683_tree);
            }

            CLOSE_PAR_SYMBOL2684 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_field_length13787);
            if  (HASEXCEPTION())
            {
                goto rulefield_lengthEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            CLOSE_PAR_SYMBOL2684_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL2684));
            ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL2684_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:2418: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    set2685;

    pANTLR3_BASE_TREE set2685_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    set2685       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    set2685_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2418:14: ( ( SIGNED_SYMBOL | UNSIGNED_SYMBOL | ZEROFILL_SYMBOL )+ )
        // MySQL.g:2419:2: ( SIGNED_SYMBOL | UNSIGNED_SYMBOL | ZEROFILL_SYMBOL )+
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            // MySQL.g:2419:2: ( SIGNED_SYMBOL | UNSIGNED_SYMBOL | ZEROFILL_SYMBOL )+
            {
                int cnt753=0;

                for (;;)
                {
                    int alt753=2;
            	switch ( LA(1) )
            	{
            	case SIGNED_SYMBOL:
            	case UNSIGNED_SYMBOL:
            	case ZEROFILL_SYMBOL:
            		{
            			alt753=1;
            		}
            	    break;

            	}

            	switch (alt753)
            	{
            	    case 1:
            	        // MySQL.g:
            	        {
            	            set2685=(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, set2685))
            	                );
            	                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 ( cnt753 >= 1 )
            		{
            		    goto loop753;
            		}
            		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;
            	}
            	cnt753++;
                }
                loop753: ;	/* 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:2422: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_SYMBOL2688;
    pANTLR3_COMMON_TOKEN    BINARY_SYMBOL2691;
    pANTLR3_COMMON_TOKEN    BINARY_SYMBOL2692;
    MySQLParser_ascii_return ascii2686;
    #undef	RETURN_TYPE_ascii2686
    #define	RETURN_TYPE_ascii2686 MySQLParser_ascii_return

    MySQLParser_unicode_return unicode2687;
    #undef	RETURN_TYPE_unicode2687
    #define	RETURN_TYPE_unicode2687 MySQLParser_unicode_return

    MySQLParser_charset_return charset2689;
    #undef	RETURN_TYPE_charset2689
    #define	RETURN_TYPE_charset2689 MySQLParser_charset_return

    MySQLParser_charset_name_return charset_name2690;
    #undef	RETURN_TYPE_charset_name2690
    #define	RETURN_TYPE_charset_name2690 MySQLParser_charset_name_return

    MySQLParser_charset_return charset2693;
    #undef	RETURN_TYPE_charset2693
    #define	RETURN_TYPE_charset2693 MySQLParser_charset_return

    MySQLParser_charset_name_return charset_name2694;
    #undef	RETURN_TYPE_charset_name2694
    #define	RETURN_TYPE_charset_name2694 MySQLParser_charset_name_return

    pANTLR3_BASE_TREE BYTE_SYMBOL2688_tree;
    pANTLR3_BASE_TREE BINARY_SYMBOL2691_tree;
    pANTLR3_BASE_TREE BINARY_SYMBOL2692_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    BYTE_SYMBOL2688       = NULL;
    BINARY_SYMBOL2691       = NULL;
    BINARY_SYMBOL2692       = NULL;
    ascii2686.tree = NULL;

    unicode2687.tree = NULL;

    charset2689.tree = NULL;

    charset_name2690.tree = NULL;

    charset2693.tree = NULL;

    charset_name2694.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    BYTE_SYMBOL2688_tree   = NULL;
    BINARY_SYMBOL2691_tree   = NULL;
    BINARY_SYMBOL2692_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:2422:14: ( ascii | unicode | BYTE_SYMBOL | charset charset_name ( BINARY_SYMBOL )? | BINARY_SYMBOL ( charset charset_name )? )

            ANTLR3_UINT32 alt756;

            alt756=5;

            switch ( LA(1) )
            {
            case ASCII_SYMBOL:
            	{
            		alt756=1;
            	}
                break;
            case BINARY_SYMBOL:
            	{
            		{
            		    int LA756_2 = LA(2);
            		    if ( ((SERVER_VERSION >= 50500)) && (LA756_2 == ASCII_SYMBOL))
            		    {
            		        alt756=1;
            		    }
            		    else if ( ((SERVER_VERSION >= 50500)) && (LA756_2 == UNICODE_SYMBOL))
            		    {
            		        alt756=2;
            		    }
            		    else if ( (LA756_2 == EOF || ((LA756_2 >= ACTION_SYMBOL) && (LA756_2 <= YEAR_SYMBOL)) || ((LA756_2 >= BACKUP_SYMBOL) && (LA756_2 <= BEGIN_SYMBOL)) || ((LA756_2 >= CACHE_SYMBOL) && (LA756_2 <= DO_SYMBOL)) || ((LA756_2 >= EXECUTE_SYMBOL) && (LA756_2 <= FLUSH_SYMBOL)) || ((LA756_2 >= HANDLER_SYMBOL) && (LA756_2 <= HELP_SYMBOL)) || ((LA756_2 >= INSTALL_SYMBOL) && (LA756_2 <= OPEN_SYMBOL)) || ((LA756_2 >= PREPARE_SYMBOL) && (LA756_2 <= SAVEPOINT_SYMBOL)) || ((LA756_2 >= START_SYMBOL) && (LA756_2 <= TRUNCATE_SYMBOL)) || LA756_2 == UNINSTALL_SYMBOL || ((LA756_2 >= XA_SYMBOL) && (LA756_2 <= PARTITION_SYMBOL)) || LA756_2 == ALTER_SYMBOL || LA756_2 == BACK_TICK_QUOTED_ID || LA756_2 == CALL_SYMBOL || LA756_2 == CASE_SYMBOL || LA756_2 == CHANGE_SYMBOL || ((LA756_2 >= CHAR_SYMBOL) && (LA756_2 <= CHECK_SYMBOL)) || ((LA756_2 >= CLOSE_PAR_SYMBOL) && (LA756_2 <= COLLATE_SYMBOL)) || LA756_2 == COMMA_SYMBOL || LA756_2 == CREATE_SYMBOL || LA756_2 == DEFAULT_SYMBOL || ((LA756_2 >= DELETE_SYMBOL) && (LA756_2 <= DETERMINISTIC_SYMBOL)) || LA756_2 == DOUBLE_QUOTED_TEXT || LA756_2 == DROP_SYMBOL || LA756_2 == FETCH_SYMBOL || ((LA756_2 >= GET_SYMBOL) && (LA756_2 <= GRANT_SYMBOL)) || ((LA756_2 >= IDENTIFIER) && (LA756_2 <= IF_SYMBOL)) || LA756_2 == INSERT_SYMBOL || LA756_2 == ITERATE_SYMBOL || ((LA756_2 >= KEY_SYMBOL) && (LA756_2 <= KILL_SYMBOL)) || LA756_2 == LEAVE_SYMBOL || LA756_2 == LOAD_SYMBOL || LA756_2 == LOCK_SYMBOL || LA756_2 == LOOP_SYMBOL || LA756_2 == MODIFIES_SYMBOL || LA756_2 == NOT_SYMBOL || LA756_2 == NULL2_SYMBOL || LA756_2 == NULL_SYMBOL || LA756_2 == ON_SYMBOL || ((LA756_2 >= OPEN_PAR_SYMBOL) && (LA756_2 <= OPTIMIZE_SYMBOL)) || LA756_2 == PRIMARY_SYMBOL || LA756_2 == PURGE_SYMBOL || LA756_2 == READS_SYMBOL || LA756_2 == REFERENCES_SYMBOL || ((LA756_2 >= RELEASE_SYMBOL) && (LA756_2 <= REPLACE_SYMBOL)) || LA756_2 == RESIGNAL_SYMBOL || ((LA756_2 >= RETURN_SYMBOL) && (LA756_2 <= REVOKE_SYMBOL)) || ((LA756_2 >= SELECT_SYMBOL) && (LA756_2 <= SEMICOLON_SYMBOL)) || LA756_2 == SET_SYMBOL || ((LA756_2 >= SHOW_SYMBOL) && (LA756_2 <= SIGNAL_SYMBOL)) || LA756_2 == SQL_SYMBOL || ((LA756_2 >= UNIQUE_SYMBOL) && (LA756_2 <= UNLOCK_SYMBOL)) || LA756_2 == UPDATE_SYMBOL || LA756_2 == USE_SYMBOL || LA756_2 == WHILE_SYMBOL))
            		    {
            		        alt756=5;
            		    }
            		    else
            		    {
            		        if (BACKTRACKING>0)
            		        {
            		            FAILEDFLAG = ANTLR3_TRUE;
            		            return retval;
            		        }


            		        CONSTRUCTEX();
            		        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
            		        EXCEPTION->message      = (void *)"";
            		        EXCEPTION->decisionNum  = 756;
            		        EXCEPTION->state        = 2;


            		        goto rulestring_binaryEx;

            		    }
            		}
            	}
                break;
            case UNICODE_SYMBOL:
            	{
            		alt756=2;
            	}
                break;
            case BYTE_SYMBOL:
            	{
            		alt756=3;
            	}
                break;
            case CHARSET_SYMBOL:
            case CHAR_SYMBOL:
            	{
            		alt756=4;
            	}
                break;

            default:
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                EXCEPTION->message      = (void *)"";
                EXCEPTION->decisionNum  = 756;
                EXCEPTION->state        = 0;


                goto rulestring_binaryEx;

            }

            switch (alt756)
            {
        	case 1:
        	    // MySQL.g:2423:2: ascii
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_ascii_in_string_binary13816);
        	        ascii2686=ascii(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulestring_binaryEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, ascii2686.tree);

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:2424:4: unicode
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_unicode_in_string_binary13821);
        	        unicode2687=unicode(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulestring_binaryEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, unicode2687.tree);

        	    }
        	    break;
        	case 3:
        	    // MySQL.g:2425:4: BYTE_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        BYTE_SYMBOL2688 = (pANTLR3_COMMON_TOKEN) MATCHT(BYTE_SYMBOL, &FOLLOW_BYTE_SYMBOL_in_string_binary13826);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulestring_binaryEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        BYTE_SYMBOL2688_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, BYTE_SYMBOL2688));
        	        ADAPTOR->addChild(ADAPTOR, root_0, BYTE_SYMBOL2688_tree);
        	        }

        	    }
        	    break;
        	case 4:
        	    // MySQL.g:2426:4: charset charset_name ( BINARY_SYMBOL )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_charset_in_string_binary13831);
        	        charset2689=charset(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulestring_binaryEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, charset2689.tree);

        	        FOLLOWPUSH(FOLLOW_charset_name_in_string_binary13833);
        	        charset_name2690=charset_name(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulestring_binaryEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, charset_name2690.tree);

        	        // MySQL.g:2426:25: ( BINARY_SYMBOL )?
        	        {
        	            int alt754=2;
        	            switch ( LA(1) )
        	            {
        	                case BINARY_SYMBOL:
        	                	{
        	                		alt754=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt754)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2426:25: BINARY_SYMBOL
        	        	    {
        	        	        BINARY_SYMBOL2691 = (pANTLR3_COMMON_TOKEN) MATCHT(BINARY_SYMBOL, &FOLLOW_BINARY_SYMBOL_in_string_binary13835);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulestring_binaryEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        BINARY_SYMBOL2691_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, BINARY_SYMBOL2691));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, BINARY_SYMBOL2691_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 5:
        	    // MySQL.g:2427:4: BINARY_SYMBOL ( charset charset_name )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        BINARY_SYMBOL2692 = (pANTLR3_COMMON_TOKEN) MATCHT(BINARY_SYMBOL, &FOLLOW_BINARY_SYMBOL_in_string_binary13841);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulestring_binaryEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        BINARY_SYMBOL2692_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, BINARY_SYMBOL2692));
        	        ADAPTOR->addChild(ADAPTOR, root_0, BINARY_SYMBOL2692_tree);
        	        }

        	        // MySQL.g:2427:18: ( charset charset_name )?
        	        {
        	            int alt755=2;
        	            switch ( LA(1) )
        	            {
        	                case CHARSET_SYMBOL:
        	                case CHAR_SYMBOL:
        	                	{
        	                		alt755=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt755)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2427:19: charset charset_name
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_charset_in_string_binary13844);
        	        	        charset2693=charset(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulestring_binaryEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, charset2693.tree);

        	        	        FOLLOWPUSH(FOLLOW_charset_name_in_string_binary13846);
        	        	        charset_name2694=charset_name(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulestring_binaryEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, charset_name2694.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:2430: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_SYMBOL2695;
    pANTLR3_COMMON_TOKEN    BINARY_SYMBOL2696;
    pANTLR3_COMMON_TOKEN    BINARY_SYMBOL2697;
    pANTLR3_COMMON_TOKEN    ASCII_SYMBOL2698;

    pANTLR3_BASE_TREE ASCII_SYMBOL2695_tree;
    pANTLR3_BASE_TREE BINARY_SYMBOL2696_tree;
    pANTLR3_BASE_TREE BINARY_SYMBOL2697_tree;
    pANTLR3_BASE_TREE ASCII_SYMBOL2698_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    ASCII_SYMBOL2695       = NULL;
    BINARY_SYMBOL2696       = NULL;
    BINARY_SYMBOL2697       = NULL;
    ASCII_SYMBOL2698       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    ASCII_SYMBOL2695_tree   = NULL;
    BINARY_SYMBOL2696_tree   = NULL;
    BINARY_SYMBOL2697_tree   = NULL;
    ASCII_SYMBOL2698_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:2430:6: ( ASCII_SYMBOL ( BINARY_SYMBOL )? |{...}? => BINARY_SYMBOL ASCII_SYMBOL )

            ANTLR3_UINT32 alt758;

            alt758=2;

            {
                int LA758_0 = LA(1);
                if ( (LA758_0 == ASCII_SYMBOL))
                {
                    alt758=1;
                }
                else if ( ((SERVER_VERSION >= 50500)) && (LA758_0 == BINARY_SYMBOL))
                {
                    alt758=2;
                }
                else
                {
                    if (BACKTRACKING>0)
                    {
                        FAILEDFLAG = ANTLR3_TRUE;
                        return retval;
                    }


                    CONSTRUCTEX();
                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    EXCEPTION->message      = (void *)"";
                    EXCEPTION->decisionNum  = 758;
                    EXCEPTION->state        = 0;


                    goto ruleasciiEx;

                }
            }
            switch (alt758)
            {
        	case 1:
        	    // MySQL.g:2431:2: ASCII_SYMBOL ( BINARY_SYMBOL )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        ASCII_SYMBOL2695 = (pANTLR3_COMMON_TOKEN) MATCHT(ASCII_SYMBOL, &FOLLOW_ASCII_SYMBOL_in_ascii13857);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleasciiEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        ASCII_SYMBOL2695_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ASCII_SYMBOL2695));
        	        ADAPTOR->addChild(ADAPTOR, root_0, ASCII_SYMBOL2695_tree);
        	        }

        	        // MySQL.g:2431:15: ( BINARY_SYMBOL )?
        	        {
        	            int alt757=2;
        	            switch ( LA(1) )
        	            {
        	                case BINARY_SYMBOL:
        	                	{
        	                		alt757=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt757)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2431:15: BINARY_SYMBOL
        	        	    {
        	        	        BINARY_SYMBOL2696 = (pANTLR3_COMMON_TOKEN) MATCHT(BINARY_SYMBOL, &FOLLOW_BINARY_SYMBOL_in_ascii13859);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleasciiEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        BINARY_SYMBOL2696_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, BINARY_SYMBOL2696));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, BINARY_SYMBOL2696_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:2432: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_SYMBOL2697 = (pANTLR3_COMMON_TOKEN) MATCHT(BINARY_SYMBOL, &FOLLOW_BINARY_SYMBOL_in_ascii13869);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleasciiEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        BINARY_SYMBOL2697_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, BINARY_SYMBOL2697));
        	        ADAPTOR->addChild(ADAPTOR, root_0, BINARY_SYMBOL2697_tree);
        	        }

        	        ASCII_SYMBOL2698 = (pANTLR3_COMMON_TOKEN) MATCHT(ASCII_SYMBOL, &FOLLOW_ASCII_SYMBOL_in_ascii13871);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleasciiEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        ASCII_SYMBOL2698_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ASCII_SYMBOL2698));
        	        ADAPTOR->addChild(ADAPTOR, root_0, ASCII_SYMBOL2698_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:2435: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_SYMBOL2699;
    pANTLR3_COMMON_TOKEN    BINARY_SYMBOL2700;
    pANTLR3_COMMON_TOKEN    BINARY_SYMBOL2701;
    pANTLR3_COMMON_TOKEN    UNICODE_SYMBOL2702;

    pANTLR3_BASE_TREE UNICODE_SYMBOL2699_tree;
    pANTLR3_BASE_TREE BINARY_SYMBOL2700_tree;
    pANTLR3_BASE_TREE BINARY_SYMBOL2701_tree;
    pANTLR3_BASE_TREE UNICODE_SYMBOL2702_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    UNICODE_SYMBOL2699       = NULL;
    BINARY_SYMBOL2700       = NULL;
    BINARY_SYMBOL2701       = NULL;
    UNICODE_SYMBOL2702       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    UNICODE_SYMBOL2699_tree   = NULL;
    BINARY_SYMBOL2700_tree   = NULL;
    BINARY_SYMBOL2701_tree   = NULL;
    UNICODE_SYMBOL2702_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:2435:8: ( UNICODE_SYMBOL ( BINARY_SYMBOL )? |{...}? => BINARY_SYMBOL UNICODE_SYMBOL )

            ANTLR3_UINT32 alt760;

            alt760=2;

            {
                int LA760_0 = LA(1);
                if ( (LA760_0 == UNICODE_SYMBOL))
                {
                    alt760=1;
                }
                else if ( ((SERVER_VERSION >= 50500)) && (LA760_0 == BINARY_SYMBOL))
                {
                    alt760=2;
                }
                else
                {
                    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 ruleunicodeEx;

                }
            }
            switch (alt760)
            {
        	case 1:
        	    // MySQL.g:2436:2: UNICODE_SYMBOL ( BINARY_SYMBOL )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        UNICODE_SYMBOL2699 = (pANTLR3_COMMON_TOKEN) MATCHT(UNICODE_SYMBOL, &FOLLOW_UNICODE_SYMBOL_in_unicode13880);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleunicodeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        UNICODE_SYMBOL2699_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, UNICODE_SYMBOL2699));
        	        ADAPTOR->addChild(ADAPTOR, root_0, UNICODE_SYMBOL2699_tree);
        	        }

        	        // MySQL.g:2436:17: ( BINARY_SYMBOL )?
        	        {
        	            int alt759=2;
        	            switch ( LA(1) )
        	            {
        	                case BINARY_SYMBOL:
        	                	{
        	                		alt759=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt759)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2436:17: BINARY_SYMBOL
        	        	    {
        	        	        BINARY_SYMBOL2700 = (pANTLR3_COMMON_TOKEN) MATCHT(BINARY_SYMBOL, &FOLLOW_BINARY_SYMBOL_in_unicode13882);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleunicodeEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        BINARY_SYMBOL2700_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, BINARY_SYMBOL2700));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, BINARY_SYMBOL2700_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:2437: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_SYMBOL2701 = (pANTLR3_COMMON_TOKEN) MATCHT(BINARY_SYMBOL, &FOLLOW_BINARY_SYMBOL_in_unicode13892);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleunicodeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        BINARY_SYMBOL2701_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, BINARY_SYMBOL2701));
        	        ADAPTOR->addChild(ADAPTOR, root_0, BINARY_SYMBOL2701_tree);
        	        }

        	        UNICODE_SYMBOL2702 = (pANTLR3_COMMON_TOKEN) MATCHT(UNICODE_SYMBOL, &FOLLOW_UNICODE_SYMBOL_in_unicode13894);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleunicodeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        UNICODE_SYMBOL2702_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, UNICODE_SYMBOL2702));
        	        ADAPTOR->addChild(ADAPTOR, root_0, UNICODE_SYMBOL2702_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:2440: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_SYMBOL2703;
    pANTLR3_COMMON_TOKEN    INTEGER2704;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2705;

    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2703_tree;
    pANTLR3_BASE_TREE INTEGER2704_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2705_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    OPEN_PAR_SYMBOL2703       = NULL;
    INTEGER2704       = NULL;
    CLOSE_PAR_SYMBOL2705       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    OPEN_PAR_SYMBOL2703_tree   = NULL;
    INTEGER2704_tree   = NULL;
    CLOSE_PAR_SYMBOL2705_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2440:24: ({...}? => OPEN_PAR_SYMBOL INTEGER CLOSE_PAR_SYMBOL )
        // MySQL.g:2441: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_SYMBOL2703 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_type_datetime_precision13907);
            if  (HASEXCEPTION())
            {
                goto ruletype_datetime_precisionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            OPEN_PAR_SYMBOL2703_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL2703));
            ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL2703_tree);
            }

            INTEGER2704 = (pANTLR3_COMMON_TOKEN) MATCHT(INTEGER, &FOLLOW_INTEGER_in_type_datetime_precision13909);
            if  (HASEXCEPTION())
            {
                goto ruletype_datetime_precisionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            INTEGER2704_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INTEGER2704));
            ADAPTOR->addChild(ADAPTOR, root_0, INTEGER2704_tree);
            }

            CLOSE_PAR_SYMBOL2705 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_type_datetime_precision13911);
            if  (HASEXCEPTION())
            {
                goto ruletype_datetime_precisionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            CLOSE_PAR_SYMBOL2705_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL2705));
            ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL2705_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:2444: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_SYMBOL2707;
    MySQLParser_text_or_identifier_return text_or_identifier2706;
    #undef	RETURN_TYPE_text_or_identifier2706
    #define	RETURN_TYPE_text_or_identifier2706 MySQLParser_text_or_identifier_return

    pANTLR3_BASE_TREE BINARY_SYMBOL2707_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    BINARY_SYMBOL2707       = NULL;
    text_or_identifier2706.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    BINARY_SYMBOL2707_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:2444:13: ( text_or_identifier | BINARY_SYMBOL )

            ANTLR3_UINT32 alt761;

            alt761=2;

            {
                int LA761_0 = LA(1);
                if ( (LA761_0 == NCHAR_TEXT || LA761_0 == SINGLE_QUOTED_TEXT || LA761_0 == UNDERSCORE_CHARSET))
                {
                    alt761=1;
                }
                else if ( ((((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES)))||((!SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))))) && (LA761_0 == DOUBLE_QUOTED_TEXT))
                {
                    alt761=1;
                }
                else if ( (((LA761_0 >= ACTION_SYMBOL) && (LA761_0 <= PARTITION_SYMBOL)) || LA761_0 == BACK_TICK_QUOTED_ID || LA761_0 == IDENTIFIER))
                {
                    alt761=1;
                }
                else if ( (LA761_0 == BINARY_SYMBOL))
                {
                    alt761=2;
                }
                else
                {
                    if (BACKTRACKING>0)
                    {
                        FAILEDFLAG = ANTLR3_TRUE;
                        return retval;
                    }


                    CONSTRUCTEX();
                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    EXCEPTION->message      = (void *)"";
                    EXCEPTION->decisionNum  = 761;
                    EXCEPTION->state        = 0;


                    goto rulecharset_nameEx;

                }
            }
            switch (alt761)
            {
        	case 1:
        	    // MySQL.g:2445:2: text_or_identifier
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_text_or_identifier_in_charset_name13920);
        	        text_or_identifier2706=text_or_identifier(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecharset_nameEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, text_or_identifier2706.tree);

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:2446:4: BINARY_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        BINARY_SYMBOL2707 = (pANTLR3_COMMON_TOKEN) MATCHT(BINARY_SYMBOL, &FOLLOW_BINARY_SYMBOL_in_charset_name13925);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecharset_nameEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        BINARY_SYMBOL2707_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, BINARY_SYMBOL2707));
        	        ADAPTOR->addChild(ADAPTOR, root_0, BINARY_SYMBOL2707_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:2449: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_SYMBOL2709;
    MySQLParser_charset_name_return charset_name2708;
    #undef	RETURN_TYPE_charset_name2708
    #define	RETURN_TYPE_charset_name2708 MySQLParser_charset_name_return

    pANTLR3_BASE_TREE DEFAULT_SYMBOL2709_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    DEFAULT_SYMBOL2709       = NULL;
    charset_name2708.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    DEFAULT_SYMBOL2709_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:2449:24: ( charset_name | DEFAULT_SYMBOL )

            ANTLR3_UINT32 alt762;

            alt762=2;

            {
                int LA762_0 = LA(1);
                if ( (LA762_0 == NCHAR_TEXT || LA762_0 == SINGLE_QUOTED_TEXT || LA762_0 == UNDERSCORE_CHARSET))
                {
                    alt762=1;
                }
                else if ( ((((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES)))||((!SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))))) && (LA762_0 == DOUBLE_QUOTED_TEXT))
                {
                    alt762=1;
                }
                else if ( (((LA762_0 >= ACTION_SYMBOL) && (LA762_0 <= PARTITION_SYMBOL)) || LA762_0 == BACK_TICK_QUOTED_ID || LA762_0 == BINARY_SYMBOL || LA762_0 == IDENTIFIER))
                {
                    alt762=1;
                }
                else if ( (LA762_0 == DEFAULT_SYMBOL))
                {
                    alt762=2;
                }
                else
                {
                    if (BACKTRACKING>0)
                    {
                        FAILEDFLAG = ANTLR3_TRUE;
                        return retval;
                    }


                    CONSTRUCTEX();
                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    EXCEPTION->message      = (void *)"";
                    EXCEPTION->decisionNum  = 762;
                    EXCEPTION->state        = 0;


                    goto rulecharset_name_or_defaultEx;

                }
            }
            switch (alt762)
            {
        	case 1:
        	    // MySQL.g:2450:2: charset_name
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_charset_name_in_charset_name_or_default13934);
        	        charset_name2708=charset_name(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecharset_name_or_defaultEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, charset_name2708.tree);

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:2451:4: DEFAULT_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        DEFAULT_SYMBOL2709 = (pANTLR3_COMMON_TOKEN) MATCHT(DEFAULT_SYMBOL, &FOLLOW_DEFAULT_SYMBOL_in_charset_name_or_default13939);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecharset_name_or_defaultEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        DEFAULT_SYMBOL2709_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DEFAULT_SYMBOL2709));
        	        ADAPTOR->addChild(ADAPTOR, root_0, DEFAULT_SYMBOL2709_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:2454: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_SYMBOL2711;
    MySQLParser_text_or_identifier_return text_or_identifier2710;
    #undef	RETURN_TYPE_text_or_identifier2710
    #define	RETURN_TYPE_text_or_identifier2710 MySQLParser_text_or_identifier_return

    pANTLR3_BASE_TREE DEFAULT_SYMBOL2711_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    DEFAULT_SYMBOL2711       = NULL;
    text_or_identifier2710.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    DEFAULT_SYMBOL2711_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:2454:26: ( text_or_identifier | DEFAULT_SYMBOL )

            ANTLR3_UINT32 alt763;

            alt763=2;

            {
                int LA763_0 = LA(1);
                if ( (LA763_0 == NCHAR_TEXT || LA763_0 == SINGLE_QUOTED_TEXT || LA763_0 == UNDERSCORE_CHARSET))
                {
                    alt763=1;
                }
                else if ( ((((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES)))||((!SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))))) && (LA763_0 == DOUBLE_QUOTED_TEXT))
                {
                    alt763=1;
                }
                else if ( (((LA763_0 >= ACTION_SYMBOL) && (LA763_0 <= PARTITION_SYMBOL)) || LA763_0 == BACK_TICK_QUOTED_ID || LA763_0 == IDENTIFIER))
                {
                    alt763=1;
                }
                else if ( (LA763_0 == DEFAULT_SYMBOL))
                {
                    alt763=2;
                }
                else
                {
                    if (BACKTRACKING>0)
                    {
                        FAILEDFLAG = ANTLR3_TRUE;
                        return retval;
                    }


                    CONSTRUCTEX();
                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    EXCEPTION->message      = (void *)"";
                    EXCEPTION->decisionNum  = 763;
                    EXCEPTION->state        = 0;


                    goto rulecollation_name_or_defaultEx;

                }
            }
            switch (alt763)
            {
        	case 1:
        	    // MySQL.g:2455:2: text_or_identifier
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_text_or_identifier_in_collation_name_or_default13948);
        	        text_or_identifier2710=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_identifier2710.tree);

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:2456:4: DEFAULT_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        DEFAULT_SYMBOL2711 = (pANTLR3_COMMON_TOKEN) MATCHT(DEFAULT_SYMBOL, &FOLLOW_DEFAULT_SYMBOL_in_collation_name_or_default13953);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecollation_name_or_defaultEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        DEFAULT_SYMBOL2711_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DEFAULT_SYMBOL2711));
        	        ADAPTOR->addChild(ADAPTOR, root_0, DEFAULT_SYMBOL2711_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:2459: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    set2712;

    pANTLR3_BASE_TREE set2712_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    set2712       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    set2712_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2459: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));


            set2712=(pANTLR3_COMMON_TOKEN)LT(1);

            if ( ((LA(1) >= GEOMETRYCOLLECTION_SYMBOL) && (LA(1) <= GEOMETRY_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, set2712))
                );
                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:2470: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_option2713;
    #undef	RETURN_TYPE_create_table_option2713
    #define	RETURN_TYPE_create_table_option2713 MySQLParser_create_table_option_return


    /* Initialize rule variables
     */

    root_0 = NULL;

    create_table_option2713.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;




    retval.tree  = NULL;

    {
        // MySQL.g:2470:20: ( ( create_table_option )+ )
        // MySQL.g:2471:2: ( create_table_option )+
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            // MySQL.g:2471:2: ( create_table_option )+
            {
                int cnt764=0;

                for (;;)
                {
                    int alt764=2;
            	{
            	   /* dfaLoopbackState(k,edges,eotPredictsAlt,description,stateNumber,semPredState)
            	    */
            	    int LA764_0 = LA(1);
            	    if ( (LA764_0 == ENGINE_SYMBOL))
            	    {
            	        alt764=1;
            	    }
            	    else if ( ((SERVER_VERSION < 50500)) && (LA764_0 == TYPE_SYMBOL))
            	    {
            	        alt764=1;
            	    }
            	    else if ( (((LA764_0 >= AUTO_INCREMENT_SYMBOL) && (LA764_0 <= AVG_ROW_LENGTH_SYMBOL)) || LA764_0 == MAX_ROWS_SYMBOL || LA764_0 == MIN_ROWS_SYMBOL || LA764_0 == PACK_KEYS_SYMBOL || LA764_0 == PASSWORD_SYMBOL || LA764_0 == COMMENT_SYMBOL))
            	    {
            	        alt764=1;
            	    }
            	    else if ( ((SERVER_VERSION >= 50600)) && (((LA764_0 >= STATS_AUTO_RECALC_SYMBOL) && (LA764_0 <= STATS_SAMPLE_PAGES_SYMBOL))))
            	    {
            	        alt764=1;
            	    }
            	    else if ( (LA764_0 == CONNECTION_SYMBOL || LA764_0 == DATA_SYMBOL || LA764_0 == DELAY_KEY_WRITE_SYMBOL || LA764_0 == INSERT_METHOD_SYMBOL || LA764_0 == KEY_BLOCK_SIZE_SYMBOL || LA764_0 == ROW_FORMAT_SYMBOL || LA764_0 == STORAGE_SYMBOL || LA764_0 == TABLESPACE_SYMBOL || LA764_0 == TABLE_CHECKSUM_SYMBOL || ((LA764_0 >= CHARSET_SYMBOL) && (LA764_0 <= CHECKSUM_SYMBOL)) || LA764_0 == CHAR_SYMBOL || LA764_0 == COLLATE_SYMBOL || LA764_0 == DEFAULT_SYMBOL || LA764_0 == INDEX_SYMBOL || LA764_0 == UNION_SYMBOL))
            	    {
            	        alt764=1;
            	    }

            	}
            	switch (alt764)
            	{
            	    case 1:
            	        // MySQL.g:2471:2: create_table_option
            	        {
            	            FOLLOWPUSH(FOLLOW_create_table_option_in_alter_table_options14006);
            	            create_table_option2713=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_option2713.tree);

            	        }
            	        break;

            	    default:

            		if ( cnt764 >= 1 )
            		{
            		    goto loop764;
            		}
            		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;
            	}
            	cnt764++;
                }
                loop764: ;	/* 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:2474: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_SYMBOL2715;
    MySQLParser_create_table_option_return create_table_option2714;
    #undef	RETURN_TYPE_create_table_option2714
    #define	RETURN_TYPE_create_table_option2714 MySQLParser_create_table_option_return

    MySQLParser_create_table_option_return create_table_option2716;
    #undef	RETURN_TYPE_create_table_option2716
    #define	RETURN_TYPE_create_table_option2716 MySQLParser_create_table_option_return

    pANTLR3_BASE_TREE COMMA_SYMBOL2715_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    COMMA_SYMBOL2715       = NULL;
    create_table_option2714.tree = NULL;

    create_table_option2716.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    COMMA_SYMBOL2715_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2474:21: ( create_table_option ( ( COMMA_SYMBOL )? create_table_option )* )
        // MySQL.g:2475: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_options14016);
            create_table_option2714=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_option2714.tree);

            // MySQL.g:2475:22: ( ( COMMA_SYMBOL )? create_table_option )*

            for (;;)
            {
                int alt766=2;
                {
                   /* dfaLoopbackState(k,edges,eotPredictsAlt,description,stateNumber,semPredState)
                    */
                    int LA766_0 = LA(1);
                    if ( (LA766_0 == ENGINE_SYMBOL || LA766_0 == COMMA_SYMBOL))
                    {
                        alt766=1;
                    }
                    else if ( ((SERVER_VERSION < 50500)) && (LA766_0 == TYPE_SYMBOL))
                    {
                        alt766=1;
                    }
                    else if ( (((LA766_0 >= AUTO_INCREMENT_SYMBOL) && (LA766_0 <= AVG_ROW_LENGTH_SYMBOL)) || LA766_0 == MAX_ROWS_SYMBOL || LA766_0 == MIN_ROWS_SYMBOL || LA766_0 == PACK_KEYS_SYMBOL || LA766_0 == PASSWORD_SYMBOL || LA766_0 == COMMENT_SYMBOL))
                    {
                        alt766=1;
                    }
                    else if ( ((SERVER_VERSION >= 50600)) && (((LA766_0 >= STATS_AUTO_RECALC_SYMBOL) && (LA766_0 <= STATS_SAMPLE_PAGES_SYMBOL))))
                    {
                        alt766=1;
                    }
                    else if ( (LA766_0 == CONNECTION_SYMBOL || LA766_0 == DATA_SYMBOL || LA766_0 == DELAY_KEY_WRITE_SYMBOL || LA766_0 == INSERT_METHOD_SYMBOL || LA766_0 == KEY_BLOCK_SIZE_SYMBOL || LA766_0 == ROW_FORMAT_SYMBOL || LA766_0 == STORAGE_SYMBOL || LA766_0 == TABLESPACE_SYMBOL || LA766_0 == TABLE_CHECKSUM_SYMBOL || ((LA766_0 >= CHARSET_SYMBOL) && (LA766_0 <= CHECKSUM_SYMBOL)) || LA766_0 == CHAR_SYMBOL || LA766_0 == COLLATE_SYMBOL || LA766_0 == DEFAULT_SYMBOL || LA766_0 == INDEX_SYMBOL || LA766_0 == UNION_SYMBOL))
                    {
                        alt766=1;
                    }

                }
                switch (alt766)
                {
            	case 1:
            	    // MySQL.g:2475:23: ( COMMA_SYMBOL )? create_table_option
            	    {
            	        // MySQL.g:2475:23: ( COMMA_SYMBOL )?
            	        {
            	            int alt765=2;
            	            switch ( LA(1) )
            	            {
            	                case COMMA_SYMBOL:
            	                	{
            	                		alt765=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt765)
            	            {
            	        	case 1:
            	        	    // MySQL.g:2475:23: COMMA_SYMBOL
            	        	    {
            	        	        COMMA_SYMBOL2715 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_create_table_options14019);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulecreate_table_optionsEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        COMMA_SYMBOL2715_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL2715));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL2715_tree);
            	        	        }

            	        	    }
            	        	    break;

            	            }
            	        }

            	        FOLLOWPUSH(FOLLOW_create_table_option_in_create_table_options14022);
            	        create_table_option2716=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_option2716.tree);

            	    }
            	    break;

            	default:
            	    goto loop766;	/* break out of the loop */
            	    break;
                }
            }
            loop766: ; /* 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:2478:1: create_table_option : ( ( ENGINE_SYMBOL |{...}? => TYPE_SYMBOL ) ( EQUAL_OPERATOR )? text_or_identifier | 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_SYMBOL2717;
    pANTLR3_COMMON_TOKEN    TYPE_SYMBOL2718;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR2719;
    pANTLR3_COMMON_TOKEN    MAX_ROWS_SYMBOL2721;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR2722;
    pANTLR3_COMMON_TOKEN    MIN_ROWS_SYMBOL2724;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR2725;
    pANTLR3_COMMON_TOKEN    AVG_ROW_LENGTH_SYMBOL2727;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR2728;
    pANTLR3_COMMON_TOKEN    PASSWORD_SYMBOL2730;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR2731;
    pANTLR3_COMMON_TOKEN    COMMENT_SYMBOL2733;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR2734;
    pANTLR3_COMMON_TOKEN    AUTO_INCREMENT_SYMBOL2736;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR2737;
    pANTLR3_COMMON_TOKEN    PACK_KEYS_SYMBOL2739;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR2740;
    pANTLR3_COMMON_TOKEN    set2741;
    pANTLR3_COMMON_TOKEN    set2742;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR2743;
    pANTLR3_COMMON_TOKEN    DEFAULT_SYMBOL2745;
    pANTLR3_COMMON_TOKEN    set2746;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR2747;
    pANTLR3_COMMON_TOKEN    INTEGER2748;
    pANTLR3_COMMON_TOKEN    DELAY_KEY_WRITE_SYMBOL2749;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR2750;
    pANTLR3_COMMON_TOKEN    INTEGER2751;
    pANTLR3_COMMON_TOKEN    ROW_FORMAT_SYMBOL2752;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR2753;
    pANTLR3_COMMON_TOKEN    set2754;
    pANTLR3_COMMON_TOKEN    UNION_SYMBOL2755;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR2756;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL2757;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2759;
    pANTLR3_COMMON_TOKEN    DEFAULT_SYMBOL2760;
    pANTLR3_COMMON_TOKEN    COLLATE_SYMBOL2761;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR2762;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR2765;
    pANTLR3_COMMON_TOKEN    INSERT_METHOD_SYMBOL2767;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR2768;
    pANTLR3_COMMON_TOKEN    set2769;
    pANTLR3_COMMON_TOKEN    DATA_SYMBOL2770;
    pANTLR3_COMMON_TOKEN    DIRECTORY_SYMBOL2771;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR2772;
    pANTLR3_COMMON_TOKEN    INDEX_SYMBOL2774;
    pANTLR3_COMMON_TOKEN    DIRECTORY_SYMBOL2775;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR2776;
    pANTLR3_COMMON_TOKEN    TABLESPACE_SYMBOL2778;
    pANTLR3_COMMON_TOKEN    STORAGE_SYMBOL2780;
    pANTLR3_COMMON_TOKEN    set2781;
    pANTLR3_COMMON_TOKEN    CONNECTION_SYMBOL2782;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR2783;
    pANTLR3_COMMON_TOKEN    KEY_BLOCK_SIZE_SYMBOL2785;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR2786;
    MySQLParser_text_or_identifier_return text_or_identifier2720;
    #undef	RETURN_TYPE_text_or_identifier2720
    #define	RETURN_TYPE_text_or_identifier2720 MySQLParser_text_or_identifier_return

    MySQLParser_int_or_param_marker_return int_or_param_marker2723;
    #undef	RETURN_TYPE_int_or_param_marker2723
    #define	RETURN_TYPE_int_or_param_marker2723 MySQLParser_int_or_param_marker_return

    MySQLParser_int_or_param_marker_return int_or_param_marker2726;
    #undef	RETURN_TYPE_int_or_param_marker2726
    #define	RETURN_TYPE_int_or_param_marker2726 MySQLParser_int_or_param_marker_return

    MySQLParser_int_or_param_marker_return int_or_param_marker2729;
    #undef	RETURN_TYPE_int_or_param_marker2729
    #define	RETURN_TYPE_int_or_param_marker2729 MySQLParser_int_or_param_marker_return

    MySQLParser_text_or_param_marker_return text_or_param_marker2732;
    #undef	RETURN_TYPE_text_or_param_marker2732
    #define	RETURN_TYPE_text_or_param_marker2732 MySQLParser_text_or_param_marker_return

    MySQLParser_text_or_param_marker_return text_or_param_marker2735;
    #undef	RETURN_TYPE_text_or_param_marker2735
    #define	RETURN_TYPE_text_or_param_marker2735 MySQLParser_text_or_param_marker_return

    MySQLParser_int_or_param_marker_return int_or_param_marker2738;
    #undef	RETURN_TYPE_int_or_param_marker2738
    #define	RETURN_TYPE_int_or_param_marker2738 MySQLParser_int_or_param_marker_return

    MySQLParser_int_or_param_marker_return int_or_param_marker2744;
    #undef	RETURN_TYPE_int_or_param_marker2744
    #define	RETURN_TYPE_int_or_param_marker2744 MySQLParser_int_or_param_marker_return

    MySQLParser_qualified_identifier_list_return qualified_identifier_list2758;
    #undef	RETURN_TYPE_qualified_identifier_list2758
    #define	RETURN_TYPE_qualified_identifier_list2758 MySQLParser_qualified_identifier_list_return

    MySQLParser_collation_name_or_default_return collation_name_or_default2763;
    #undef	RETURN_TYPE_collation_name_or_default2763
    #define	RETURN_TYPE_collation_name_or_default2763 MySQLParser_collation_name_or_default_return

    MySQLParser_charset_return charset2764;
    #undef	RETURN_TYPE_charset2764
    #define	RETURN_TYPE_charset2764 MySQLParser_charset_return

    MySQLParser_charset_name_or_default_return charset_name_or_default2766;
    #undef	RETURN_TYPE_charset_name_or_default2766
    #define	RETURN_TYPE_charset_name_or_default2766 MySQLParser_charset_name_or_default_return

    MySQLParser_text_or_param_marker_return text_or_param_marker2773;
    #undef	RETURN_TYPE_text_or_param_marker2773
    #define	RETURN_TYPE_text_or_param_marker2773 MySQLParser_text_or_param_marker_return

    MySQLParser_text_or_param_marker_return text_or_param_marker2777;
    #undef	RETURN_TYPE_text_or_param_marker2777
    #define	RETURN_TYPE_text_or_param_marker2777 MySQLParser_text_or_param_marker_return

    MySQLParser_identifier_return identifier2779;
    #undef	RETURN_TYPE_identifier2779
    #define	RETURN_TYPE_identifier2779 MySQLParser_identifier_return

    MySQLParser_text_or_param_marker_return text_or_param_marker2784;
    #undef	RETURN_TYPE_text_or_param_marker2784
    #define	RETURN_TYPE_text_or_param_marker2784 MySQLParser_text_or_param_marker_return

    MySQLParser_int_or_param_marker_return int_or_param_marker2787;
    #undef	RETURN_TYPE_int_or_param_marker2787
    #define	RETURN_TYPE_int_or_param_marker2787 MySQLParser_int_or_param_marker_return

    pANTLR3_BASE_TREE ENGINE_SYMBOL2717_tree;
    pANTLR3_BASE_TREE TYPE_SYMBOL2718_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR2719_tree;
    pANTLR3_BASE_TREE MAX_ROWS_SYMBOL2721_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR2722_tree;
    pANTLR3_BASE_TREE MIN_ROWS_SYMBOL2724_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR2725_tree;
    pANTLR3_BASE_TREE AVG_ROW_LENGTH_SYMBOL2727_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR2728_tree;
    pANTLR3_BASE_TREE PASSWORD_SYMBOL2730_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR2731_tree;
    pANTLR3_BASE_TREE COMMENT_SYMBOL2733_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR2734_tree;
    pANTLR3_BASE_TREE AUTO_INCREMENT_SYMBOL2736_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR2737_tree;
    pANTLR3_BASE_TREE PACK_KEYS_SYMBOL2739_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR2740_tree;
    pANTLR3_BASE_TREE set2741_tree;
    pANTLR3_BASE_TREE set2742_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR2743_tree;
    pANTLR3_BASE_TREE DEFAULT_SYMBOL2745_tree;
    pANTLR3_BASE_TREE set2746_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR2747_tree;
    pANTLR3_BASE_TREE INTEGER2748_tree;
    pANTLR3_BASE_TREE DELAY_KEY_WRITE_SYMBOL2749_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR2750_tree;
    pANTLR3_BASE_TREE INTEGER2751_tree;
    pANTLR3_BASE_TREE ROW_FORMAT_SYMBOL2752_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR2753_tree;
    pANTLR3_BASE_TREE set2754_tree;
    pANTLR3_BASE_TREE UNION_SYMBOL2755_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR2756_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2757_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2759_tree;
    pANTLR3_BASE_TREE DEFAULT_SYMBOL2760_tree;
    pANTLR3_BASE_TREE COLLATE_SYMBOL2761_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR2762_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR2765_tree;
    pANTLR3_BASE_TREE INSERT_METHOD_SYMBOL2767_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR2768_tree;
    pANTLR3_BASE_TREE set2769_tree;
    pANTLR3_BASE_TREE DATA_SYMBOL2770_tree;
    pANTLR3_BASE_TREE DIRECTORY_SYMBOL2771_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR2772_tree;
    pANTLR3_BASE_TREE INDEX_SYMBOL2774_tree;
    pANTLR3_BASE_TREE DIRECTORY_SYMBOL2775_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR2776_tree;
    pANTLR3_BASE_TREE TABLESPACE_SYMBOL2778_tree;
    pANTLR3_BASE_TREE STORAGE_SYMBOL2780_tree;
    pANTLR3_BASE_TREE set2781_tree;
    pANTLR3_BASE_TREE CONNECTION_SYMBOL2782_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR2783_tree;
    pANTLR3_BASE_TREE KEY_BLOCK_SIZE_SYMBOL2785_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR2786_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    ENGINE_SYMBOL2717       = NULL;
    TYPE_SYMBOL2718       = NULL;
    EQUAL_OPERATOR2719       = NULL;
    MAX_ROWS_SYMBOL2721       = NULL;
    EQUAL_OPERATOR2722       = NULL;
    MIN_ROWS_SYMBOL2724       = NULL;
    EQUAL_OPERATOR2725       = NULL;
    AVG_ROW_LENGTH_SYMBOL2727       = NULL;
    EQUAL_OPERATOR2728       = NULL;
    PASSWORD_SYMBOL2730       = NULL;
    EQUAL_OPERATOR2731       = NULL;
    COMMENT_SYMBOL2733       = NULL;
    EQUAL_OPERATOR2734       = NULL;
    AUTO_INCREMENT_SYMBOL2736       = NULL;
    EQUAL_OPERATOR2737       = NULL;
    PACK_KEYS_SYMBOL2739       = NULL;
    EQUAL_OPERATOR2740       = NULL;
    set2741       = NULL;
    set2742       = NULL;
    EQUAL_OPERATOR2743       = NULL;
    DEFAULT_SYMBOL2745       = NULL;
    set2746       = NULL;
    EQUAL_OPERATOR2747       = NULL;
    INTEGER2748       = NULL;
    DELAY_KEY_WRITE_SYMBOL2749       = NULL;
    EQUAL_OPERATOR2750       = NULL;
    INTEGER2751       = NULL;
    ROW_FORMAT_SYMBOL2752       = NULL;
    EQUAL_OPERATOR2753       = NULL;
    set2754       = NULL;
    UNION_SYMBOL2755       = NULL;
    EQUAL_OPERATOR2756       = NULL;
    OPEN_PAR_SYMBOL2757       = NULL;
    CLOSE_PAR_SYMBOL2759       = NULL;
    DEFAULT_SYMBOL2760       = NULL;
    COLLATE_SYMBOL2761       = NULL;
    EQUAL_OPERATOR2762       = NULL;
    EQUAL_OPERATOR2765       = NULL;
    INSERT_METHOD_SYMBOL2767       = NULL;
    EQUAL_OPERATOR2768       = NULL;
    set2769       = NULL;
    DATA_SYMBOL2770       = NULL;
    DIRECTORY_SYMBOL2771       = NULL;
    EQUAL_OPERATOR2772       = NULL;
    INDEX_SYMBOL2774       = NULL;
    DIRECTORY_SYMBOL2775       = NULL;
    EQUAL_OPERATOR2776       = NULL;
    TABLESPACE_SYMBOL2778       = NULL;
    STORAGE_SYMBOL2780       = NULL;
    set2781       = NULL;
    CONNECTION_SYMBOL2782       = NULL;
    EQUAL_OPERATOR2783       = NULL;
    KEY_BLOCK_SIZE_SYMBOL2785       = NULL;
    EQUAL_OPERATOR2786       = NULL;
    text_or_identifier2720.tree = NULL;

    int_or_param_marker2723.tree = NULL;

    int_or_param_marker2726.tree = NULL;

    int_or_param_marker2729.tree = NULL;

    text_or_param_marker2732.tree = NULL;

    text_or_param_marker2735.tree = NULL;

    int_or_param_marker2738.tree = NULL;

    int_or_param_marker2744.tree = NULL;

    qualified_identifier_list2758.tree = NULL;

    collation_name_or_default2763.tree = NULL;

    charset2764.tree = NULL;

    charset_name_or_default2766.tree = NULL;

    text_or_param_marker2773.tree = NULL;

    text_or_param_marker2777.tree = NULL;

    identifier2779.tree = NULL;

    text_or_param_marker2784.tree = NULL;

    int_or_param_marker2787.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    ENGINE_SYMBOL2717_tree   = NULL;
    TYPE_SYMBOL2718_tree   = NULL;
    EQUAL_OPERATOR2719_tree   = NULL;
    MAX_ROWS_SYMBOL2721_tree   = NULL;
    EQUAL_OPERATOR2722_tree   = NULL;
    MIN_ROWS_SYMBOL2724_tree   = NULL;
    EQUAL_OPERATOR2725_tree   = NULL;
    AVG_ROW_LENGTH_SYMBOL2727_tree   = NULL;
    EQUAL_OPERATOR2728_tree   = NULL;
    PASSWORD_SYMBOL2730_tree   = NULL;
    EQUAL_OPERATOR2731_tree   = NULL;
    COMMENT_SYMBOL2733_tree   = NULL;
    EQUAL_OPERATOR2734_tree   = NULL;
    AUTO_INCREMENT_SYMBOL2736_tree   = NULL;
    EQUAL_OPERATOR2737_tree   = NULL;
    PACK_KEYS_SYMBOL2739_tree   = NULL;
    EQUAL_OPERATOR2740_tree   = NULL;
    set2741_tree   = NULL;
    set2742_tree   = NULL;
    EQUAL_OPERATOR2743_tree   = NULL;
    DEFAULT_SYMBOL2745_tree   = NULL;
    set2746_tree   = NULL;
    EQUAL_OPERATOR2747_tree   = NULL;
    INTEGER2748_tree   = NULL;
    DELAY_KEY_WRITE_SYMBOL2749_tree   = NULL;
    EQUAL_OPERATOR2750_tree   = NULL;
    INTEGER2751_tree   = NULL;
    ROW_FORMAT_SYMBOL2752_tree   = NULL;
    EQUAL_OPERATOR2753_tree   = NULL;
    set2754_tree   = NULL;
    UNION_SYMBOL2755_tree   = NULL;
    EQUAL_OPERATOR2756_tree   = NULL;
    OPEN_PAR_SYMBOL2757_tree   = NULL;
    CLOSE_PAR_SYMBOL2759_tree   = NULL;
    DEFAULT_SYMBOL2760_tree   = NULL;
    COLLATE_SYMBOL2761_tree   = NULL;
    EQUAL_OPERATOR2762_tree   = NULL;
    EQUAL_OPERATOR2765_tree   = NULL;
    INSERT_METHOD_SYMBOL2767_tree   = NULL;
    EQUAL_OPERATOR2768_tree   = NULL;
    set2769_tree   = NULL;
    DATA_SYMBOL2770_tree   = NULL;
    DIRECTORY_SYMBOL2771_tree   = NULL;
    EQUAL_OPERATOR2772_tree   = NULL;
    INDEX_SYMBOL2774_tree   = NULL;
    DIRECTORY_SYMBOL2775_tree   = NULL;
    EQUAL_OPERATOR2776_tree   = NULL;
    TABLESPACE_SYMBOL2778_tree   = NULL;
    STORAGE_SYMBOL2780_tree   = NULL;
    set2781_tree   = NULL;
    CONNECTION_SYMBOL2782_tree   = NULL;
    EQUAL_OPERATOR2783_tree   = NULL;
    KEY_BLOCK_SIZE_SYMBOL2785_tree   = NULL;
    EQUAL_OPERATOR2786_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:2478:20: ( ( ENGINE_SYMBOL |{...}? => TYPE_SYMBOL ) ( EQUAL_OPERATOR )? text_or_identifier | 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 alt791;

            alt791=21;

            {
                int LA791_0 = LA(1);
                if ( (LA791_0 == ENGINE_SYMBOL))
                {
                    alt791=1;
                }
                else if ( ((SERVER_VERSION < 50500)) && (LA791_0 == TYPE_SYMBOL))
                {
                    alt791=1;
                }
                else if ( (LA791_0 == MAX_ROWS_SYMBOL))
                {
                    alt791=2;
                }
                else if ( (LA791_0 == MIN_ROWS_SYMBOL))
                {
                    alt791=3;
                }
                else if ( (LA791_0 == AVG_ROW_LENGTH_SYMBOL))
                {
                    alt791=4;
                }
                else if ( (LA791_0 == PASSWORD_SYMBOL))
                {
                    alt791=5;
                }
                else if ( (LA791_0 == COMMENT_SYMBOL))
                {
                    alt791=6;
                }
                else if ( (LA791_0 == AUTO_INCREMENT_SYMBOL))
                {
                    alt791=7;
                }
                else if ( (LA791_0 == PACK_KEYS_SYMBOL))
                {
                    alt791=8;
                }
                else if ( ((SERVER_VERSION >= 50600)) && (((LA791_0 >= STATS_AUTO_RECALC_SYMBOL) && (LA791_0 <= STATS_SAMPLE_PAGES_SYMBOL))))
                {
                    alt791=9;
                }
                else if ( (LA791_0 == TABLE_CHECKSUM_SYMBOL || LA791_0 == CHECKSUM_SYMBOL))
                {
                    alt791=10;
                }
                else if ( (LA791_0 == DELAY_KEY_WRITE_SYMBOL))
                {
                    alt791=11;
                }
                else if ( (LA791_0 == ROW_FORMAT_SYMBOL))
                {
                    alt791=12;
                }
                else if ( (LA791_0 == UNION_SYMBOL))
                {
                    alt791=13;
                }
                else if ( (LA791_0 == CHARSET_SYMBOL || LA791_0 == CHAR_SYMBOL || LA791_0 == COLLATE_SYMBOL || LA791_0 == DEFAULT_SYMBOL))
                {
                    alt791=14;
                }
                else if ( (LA791_0 == INSERT_METHOD_SYMBOL))
                {
                    alt791=15;
                }
                else if ( (LA791_0 == DATA_SYMBOL))
                {
                    alt791=16;
                }
                else if ( (LA791_0 == INDEX_SYMBOL))
                {
                    alt791=17;
                }
                else if ( (LA791_0 == TABLESPACE_SYMBOL))
                {
                    alt791=18;
                }
                else if ( (LA791_0 == STORAGE_SYMBOL))
                {
                    alt791=19;
                }
                else if ( (LA791_0 == CONNECTION_SYMBOL))
                {
                    alt791=20;
                }
                else if ( (LA791_0 == KEY_BLOCK_SIZE_SYMBOL))
                {
                    alt791=21;
                }
                else
                {
                    if (BACKTRACKING>0)
                    {
                        FAILEDFLAG = ANTLR3_TRUE;
                        return retval;
                    }


                    CONSTRUCTEX();
                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    EXCEPTION->message      = (void *)"";
                    EXCEPTION->decisionNum  = 791;
                    EXCEPTION->state        = 0;


                    goto rulecreate_table_optionEx;

                }
            }
            switch (alt791)
            {
        	case 1:
        	    // MySQL.g:2479:2: ( ENGINE_SYMBOL |{...}? => TYPE_SYMBOL ) ( EQUAL_OPERATOR )? text_or_identifier
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        // MySQL.g:2479:2: ( ENGINE_SYMBOL |{...}? => TYPE_SYMBOL )
        	        {
        	            int alt767=2;
        	            {
        	                int LA767_0 = LA(1);
        	                if ( (LA767_0 == ENGINE_SYMBOL))
        	                {
        	                    alt767=1;
        	                }
        	                else if ( ((SERVER_VERSION < 50500)) && (LA767_0 == TYPE_SYMBOL))
        	                {
        	                    alt767=2;
        	                }
        	                else
        	                {
        	                    if (BACKTRACKING>0)
        	                    {
        	                        FAILEDFLAG = ANTLR3_TRUE;
        	                        return retval;
        	                    }


        	                    CONSTRUCTEX();
        	                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                    EXCEPTION->message      = (void *)"";
        	                    EXCEPTION->decisionNum  = 767;
        	                    EXCEPTION->state        = 0;


        	                    goto rulecreate_table_optionEx;

        	                }
        	            }
        	            switch (alt767)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2479:3: ENGINE_SYMBOL
        	        	    {
        	        	        ENGINE_SYMBOL2717 = (pANTLR3_COMMON_TOKEN) MATCHT(ENGINE_SYMBOL, &FOLLOW_ENGINE_SYMBOL_in_create_table_option14035);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulecreate_table_optionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        ENGINE_SYMBOL2717_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ENGINE_SYMBOL2717));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, ENGINE_SYMBOL2717_tree);
        	        	        }

        	        	    }
        	        	    break;
        	        	case 2:
        	        	    // MySQL.g:2479: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_SYMBOL2718 = (pANTLR3_COMMON_TOKEN) MATCHT(TYPE_SYMBOL, &FOLLOW_TYPE_SYMBOL_in_create_table_option14043);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulecreate_table_optionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        TYPE_SYMBOL2718_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, TYPE_SYMBOL2718));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, TYPE_SYMBOL2718_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	        // MySQL.g:2479:61: ( EQUAL_OPERATOR )?
        	        {
        	            int alt768=2;
        	            switch ( LA(1) )
        	            {
        	                case EQUAL_OPERATOR:
        	                	{
        	                		alt768=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt768)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2479:61: EQUAL_OPERATOR
        	        	    {
        	        	        EQUAL_OPERATOR2719 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_create_table_option14046);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulecreate_table_optionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        EQUAL_OPERATOR2719_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR2719));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR2719_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	        FOLLOWPUSH(FOLLOW_text_or_identifier_in_create_table_option14049);
        	        text_or_identifier2720=text_or_identifier(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecreate_table_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, text_or_identifier2720.tree);

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:2480:4: MAX_ROWS_SYMBOL ( EQUAL_OPERATOR )? int_or_param_marker
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        MAX_ROWS_SYMBOL2721 = (pANTLR3_COMMON_TOKEN) MATCHT(MAX_ROWS_SYMBOL, &FOLLOW_MAX_ROWS_SYMBOL_in_create_table_option14054);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecreate_table_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        MAX_ROWS_SYMBOL2721_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MAX_ROWS_SYMBOL2721));
        	        ADAPTOR->addChild(ADAPTOR, root_0, MAX_ROWS_SYMBOL2721_tree);
        	        }

        	        // MySQL.g:2480:20: ( EQUAL_OPERATOR )?
        	        {
        	            int alt769=2;
        	            switch ( LA(1) )
        	            {
        	                case EQUAL_OPERATOR:
        	                	{
        	                		alt769=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt769)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2480:20: EQUAL_OPERATOR
        	        	    {
        	        	        EQUAL_OPERATOR2722 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_create_table_option14056);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulecreate_table_optionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        EQUAL_OPERATOR2722_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR2722));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR2722_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	        FOLLOWPUSH(FOLLOW_int_or_param_marker_in_create_table_option14059);
        	        int_or_param_marker2723=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_marker2723.tree);

        	    }
        	    break;
        	case 3:
        	    // MySQL.g:2481:4: MIN_ROWS_SYMBOL ( EQUAL_OPERATOR )? int_or_param_marker
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        MIN_ROWS_SYMBOL2724 = (pANTLR3_COMMON_TOKEN) MATCHT(MIN_ROWS_SYMBOL, &FOLLOW_MIN_ROWS_SYMBOL_in_create_table_option14064);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecreate_table_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        MIN_ROWS_SYMBOL2724_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MIN_ROWS_SYMBOL2724));
        	        ADAPTOR->addChild(ADAPTOR, root_0, MIN_ROWS_SYMBOL2724_tree);
        	        }

        	        // MySQL.g:2481:20: ( EQUAL_OPERATOR )?
        	        {
        	            int alt770=2;
        	            switch ( LA(1) )
        	            {
        	                case EQUAL_OPERATOR:
        	                	{
        	                		alt770=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt770)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2481:20: EQUAL_OPERATOR
        	        	    {
        	        	        EQUAL_OPERATOR2725 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_create_table_option14066);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulecreate_table_optionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        EQUAL_OPERATOR2725_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR2725));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR2725_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	        FOLLOWPUSH(FOLLOW_int_or_param_marker_in_create_table_option14069);
        	        int_or_param_marker2726=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_marker2726.tree);

        	    }
        	    break;
        	case 4:
        	    // MySQL.g:2482:4: AVG_ROW_LENGTH_SYMBOL ( EQUAL_OPERATOR )? int_or_param_marker
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        AVG_ROW_LENGTH_SYMBOL2727 = (pANTLR3_COMMON_TOKEN) MATCHT(AVG_ROW_LENGTH_SYMBOL, &FOLLOW_AVG_ROW_LENGTH_SYMBOL_in_create_table_option14074);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecreate_table_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        AVG_ROW_LENGTH_SYMBOL2727_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, AVG_ROW_LENGTH_SYMBOL2727));
        	        ADAPTOR->addChild(ADAPTOR, root_0, AVG_ROW_LENGTH_SYMBOL2727_tree);
        	        }

        	        // MySQL.g:2482:26: ( EQUAL_OPERATOR )?
        	        {
        	            int alt771=2;
        	            switch ( LA(1) )
        	            {
        	                case EQUAL_OPERATOR:
        	                	{
        	                		alt771=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt771)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2482:26: EQUAL_OPERATOR
        	        	    {
        	        	        EQUAL_OPERATOR2728 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_create_table_option14076);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulecreate_table_optionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        EQUAL_OPERATOR2728_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR2728));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR2728_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	        FOLLOWPUSH(FOLLOW_int_or_param_marker_in_create_table_option14079);
        	        int_or_param_marker2729=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_marker2729.tree);

        	    }
        	    break;
        	case 5:
        	    // MySQL.g:2483:4: PASSWORD_SYMBOL ( EQUAL_OPERATOR )? text_or_param_marker
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        PASSWORD_SYMBOL2730 = (pANTLR3_COMMON_TOKEN) MATCHT(PASSWORD_SYMBOL, &FOLLOW_PASSWORD_SYMBOL_in_create_table_option14084);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecreate_table_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        PASSWORD_SYMBOL2730_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, PASSWORD_SYMBOL2730));
        	        ADAPTOR->addChild(ADAPTOR, root_0, PASSWORD_SYMBOL2730_tree);
        	        }

        	        // MySQL.g:2483:20: ( EQUAL_OPERATOR )?
        	        {
        	            int alt772=2;
        	            switch ( LA(1) )
        	            {
        	                case EQUAL_OPERATOR:
        	                	{
        	                		alt772=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt772)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2483:20: EQUAL_OPERATOR
        	        	    {
        	        	        EQUAL_OPERATOR2731 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_create_table_option14086);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulecreate_table_optionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        EQUAL_OPERATOR2731_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR2731));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR2731_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	        FOLLOWPUSH(FOLLOW_text_or_param_marker_in_create_table_option14089);
        	        text_or_param_marker2732=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_marker2732.tree);

        	    }
        	    break;
        	case 6:
        	    // MySQL.g:2484:4: COMMENT_SYMBOL ( EQUAL_OPERATOR )? text_or_param_marker
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        COMMENT_SYMBOL2733 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMENT_SYMBOL, &FOLLOW_COMMENT_SYMBOL_in_create_table_option14094);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecreate_table_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        COMMENT_SYMBOL2733_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMENT_SYMBOL2733));
        	        ADAPTOR->addChild(ADAPTOR, root_0, COMMENT_SYMBOL2733_tree);
        	        }

        	        // MySQL.g:2484:19: ( EQUAL_OPERATOR )?
        	        {
        	            int alt773=2;
        	            switch ( LA(1) )
        	            {
        	                case EQUAL_OPERATOR:
        	                	{
        	                		alt773=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt773)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2484:19: EQUAL_OPERATOR
        	        	    {
        	        	        EQUAL_OPERATOR2734 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_create_table_option14096);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulecreate_table_optionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        EQUAL_OPERATOR2734_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR2734));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR2734_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	        FOLLOWPUSH(FOLLOW_text_or_param_marker_in_create_table_option14099);
        	        text_or_param_marker2735=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_marker2735.tree);

        	    }
        	    break;
        	case 7:
        	    // MySQL.g:2485:4: AUTO_INCREMENT_SYMBOL ( EQUAL_OPERATOR )? int_or_param_marker
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        AUTO_INCREMENT_SYMBOL2736 = (pANTLR3_COMMON_TOKEN) MATCHT(AUTO_INCREMENT_SYMBOL, &FOLLOW_AUTO_INCREMENT_SYMBOL_in_create_table_option14104);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecreate_table_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        AUTO_INCREMENT_SYMBOL2736_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, AUTO_INCREMENT_SYMBOL2736));
        	        ADAPTOR->addChild(ADAPTOR, root_0, AUTO_INCREMENT_SYMBOL2736_tree);
        	        }

        	        // MySQL.g:2485:26: ( EQUAL_OPERATOR )?
        	        {
        	            int alt774=2;
        	            switch ( LA(1) )
        	            {
        	                case EQUAL_OPERATOR:
        	                	{
        	                		alt774=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt774)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2485:26: EQUAL_OPERATOR
        	        	    {
        	        	        EQUAL_OPERATOR2737 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_create_table_option14106);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulecreate_table_optionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        EQUAL_OPERATOR2737_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR2737));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR2737_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	        FOLLOWPUSH(FOLLOW_int_or_param_marker_in_create_table_option14109);
        	        int_or_param_marker2738=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_marker2738.tree);

        	    }
        	    break;
        	case 8:
        	    // MySQL.g:2486:4: PACK_KEYS_SYMBOL ( EQUAL_OPERATOR )? ( INTEGER | DEFAULT_SYMBOL )
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        PACK_KEYS_SYMBOL2739 = (pANTLR3_COMMON_TOKEN) MATCHT(PACK_KEYS_SYMBOL, &FOLLOW_PACK_KEYS_SYMBOL_in_create_table_option14114);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecreate_table_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        PACK_KEYS_SYMBOL2739_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, PACK_KEYS_SYMBOL2739));
        	        ADAPTOR->addChild(ADAPTOR, root_0, PACK_KEYS_SYMBOL2739_tree);
        	        }

        	        // MySQL.g:2486:21: ( EQUAL_OPERATOR )?
        	        {
        	            int alt775=2;
        	            switch ( LA(1) )
        	            {
        	                case EQUAL_OPERATOR:
        	                	{
        	                		alt775=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt775)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2486:21: EQUAL_OPERATOR
        	        	    {
        	        	        EQUAL_OPERATOR2740 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_create_table_option14116);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulecreate_table_optionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        EQUAL_OPERATOR2740_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR2740));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR2740_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	        set2741=(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, set2741))
        	            );
        	            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:2487: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";


        	        }

        	        set2742=(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, set2742))
        	            );
        	            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:2488:3: ( EQUAL_OPERATOR )?
        	        {
        	            int alt776=2;
        	            switch ( LA(1) )
        	            {
        	                case EQUAL_OPERATOR:
        	                	{
        	                		alt776=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt776)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2488:3: EQUAL_OPERATOR
        	        	    {
        	        	        EQUAL_OPERATOR2743 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_create_table_option14148);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulecreate_table_optionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        EQUAL_OPERATOR2743_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR2743));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR2743_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	        // MySQL.g:2488:19: ( int_or_param_marker | DEFAULT_SYMBOL )
        	        {
        	            int alt777=2;
        	            switch ( LA(1) )
        	            {
        	            case INTEGER:
        	            case PARAM_MARKER:
        	            	{
        	            		alt777=1;
        	            	}
        	                break;
        	            case DEFAULT_SYMBOL:
        	            	{
        	            		alt777=2;
        	            	}
        	                break;

        	            default:
        	                if (BACKTRACKING>0)
        	                {
        	                    FAILEDFLAG = ANTLR3_TRUE;
        	                    return retval;
        	                }

        	                CONSTRUCTEX();
        	                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                EXCEPTION->message      = (void *)"";
        	                EXCEPTION->decisionNum  = 777;
        	                EXCEPTION->state        = 0;


        	                goto rulecreate_table_optionEx;

        	            }

        	            switch (alt777)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2488:20: int_or_param_marker
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_int_or_param_marker_in_create_table_option14152);
        	        	        int_or_param_marker2744=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_marker2744.tree);

        	        	    }
        	        	    break;
        	        	case 2:
        	        	    // MySQL.g:2488:42: DEFAULT_SYMBOL
        	        	    {
        	        	        DEFAULT_SYMBOL2745 = (pANTLR3_COMMON_TOKEN) MATCHT(DEFAULT_SYMBOL, &FOLLOW_DEFAULT_SYMBOL_in_create_table_option14156);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulecreate_table_optionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        DEFAULT_SYMBOL2745_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DEFAULT_SYMBOL2745));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, DEFAULT_SYMBOL2745_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 10:
        	    // MySQL.g:2489:4: ( CHECKSUM_SYMBOL | TABLE_CHECKSUM_SYMBOL ) ( EQUAL_OPERATOR )? INTEGER
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        set2746=(pANTLR3_COMMON_TOKEN)LT(1);

        	        if ( LA(1) == TABLE_CHECKSUM_SYMBOL || LA(1) == CHECKSUM_SYMBOL )
        	        {
        	            CONSUME();
        	            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, 
        	            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set2746))
        	            );
        	            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:2489:46: ( EQUAL_OPERATOR )?
        	        {
        	            int alt778=2;
        	            switch ( LA(1) )
        	            {
        	                case EQUAL_OPERATOR:
        	                	{
        	                		alt778=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt778)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2489:46: EQUAL_OPERATOR
        	        	    {
        	        	        EQUAL_OPERATOR2747 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_create_table_option14170);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulecreate_table_optionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        EQUAL_OPERATOR2747_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR2747));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR2747_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	        INTEGER2748 = (pANTLR3_COMMON_TOKEN) MATCHT(INTEGER, &FOLLOW_INTEGER_in_create_table_option14173);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecreate_table_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        INTEGER2748_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INTEGER2748));
        	        ADAPTOR->addChild(ADAPTOR, root_0, INTEGER2748_tree);
        	        }

        	    }
        	    break;
        	case 11:
        	    // MySQL.g:2490:4: DELAY_KEY_WRITE_SYMBOL ( EQUAL_OPERATOR )? INTEGER
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        DELAY_KEY_WRITE_SYMBOL2749 = (pANTLR3_COMMON_TOKEN) MATCHT(DELAY_KEY_WRITE_SYMBOL, &FOLLOW_DELAY_KEY_WRITE_SYMBOL_in_create_table_option14179);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecreate_table_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        DELAY_KEY_WRITE_SYMBOL2749_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DELAY_KEY_WRITE_SYMBOL2749));
        	        ADAPTOR->addChild(ADAPTOR, root_0, DELAY_KEY_WRITE_SYMBOL2749_tree);
        	        }

        	        // MySQL.g:2490:27: ( EQUAL_OPERATOR )?
        	        {
        	            int alt779=2;
        	            switch ( LA(1) )
        	            {
        	                case EQUAL_OPERATOR:
        	                	{
        	                		alt779=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt779)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2490:27: EQUAL_OPERATOR
        	        	    {
        	        	        EQUAL_OPERATOR2750 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_create_table_option14181);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulecreate_table_optionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        EQUAL_OPERATOR2750_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR2750));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR2750_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	        INTEGER2751 = (pANTLR3_COMMON_TOKEN) MATCHT(INTEGER, &FOLLOW_INTEGER_in_create_table_option14184);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecreate_table_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        INTEGER2751_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INTEGER2751));
        	        ADAPTOR->addChild(ADAPTOR, root_0, INTEGER2751_tree);
        	        }

        	    }
        	    break;
        	case 12:
        	    // MySQL.g:2491: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_SYMBOL2752 = (pANTLR3_COMMON_TOKEN) MATCHT(ROW_FORMAT_SYMBOL, &FOLLOW_ROW_FORMAT_SYMBOL_in_create_table_option14189);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecreate_table_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        ROW_FORMAT_SYMBOL2752_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ROW_FORMAT_SYMBOL2752));
        	        ADAPTOR->addChild(ADAPTOR, root_0, ROW_FORMAT_SYMBOL2752_tree);
        	        }

        	        // MySQL.g:2491:22: ( EQUAL_OPERATOR )?
        	        {
        	            int alt780=2;
        	            switch ( LA(1) )
        	            {
        	                case EQUAL_OPERATOR:
        	                	{
        	                		alt780=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt780)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2491:22: EQUAL_OPERATOR
        	        	    {
        	        	        EQUAL_OPERATOR2753 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_create_table_option14191);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulecreate_table_optionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        EQUAL_OPERATOR2753_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR2753));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR2753_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	        set2754=(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, set2754))
        	            );
        	            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:2492:4: UNION_SYMBOL ( EQUAL_OPERATOR )? OPEN_PAR_SYMBOL qualified_identifier_list CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        UNION_SYMBOL2755 = (pANTLR3_COMMON_TOKEN) MATCHT(UNION_SYMBOL, &FOLLOW_UNION_SYMBOL_in_create_table_option14221);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecreate_table_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        UNION_SYMBOL2755_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, UNION_SYMBOL2755));
        	        ADAPTOR->addChild(ADAPTOR, root_0, UNION_SYMBOL2755_tree);
        	        }

        	        // MySQL.g:2492:17: ( EQUAL_OPERATOR )?
        	        {
        	            int alt781=2;
        	            switch ( LA(1) )
        	            {
        	                case EQUAL_OPERATOR:
        	                	{
        	                		alt781=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt781)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2492:17: EQUAL_OPERATOR
        	        	    {
        	        	        EQUAL_OPERATOR2756 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_create_table_option14223);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulecreate_table_optionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        EQUAL_OPERATOR2756_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR2756));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR2756_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	        OPEN_PAR_SYMBOL2757 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_create_table_option14226);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecreate_table_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL2757_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL2757));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL2757_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_qualified_identifier_list_in_create_table_option14228);
        	        qualified_identifier_list2758=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_list2758.tree);

        	        CLOSE_PAR_SYMBOL2759 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_create_table_option14230);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecreate_table_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL2759_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL2759));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL2759_tree);
        	        }

        	    }
        	    break;
        	case 14:
        	    // MySQL.g:2493: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:2493:4: ( DEFAULT_SYMBOL )?
        	        {
        	            int alt782=2;
        	            switch ( LA(1) )
        	            {
        	                case DEFAULT_SYMBOL:
        	                	{
        	                		alt782=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt782)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2493:4: DEFAULT_SYMBOL
        	        	    {
        	        	        DEFAULT_SYMBOL2760 = (pANTLR3_COMMON_TOKEN) MATCHT(DEFAULT_SYMBOL, &FOLLOW_DEFAULT_SYMBOL_in_create_table_option14235);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulecreate_table_optionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        DEFAULT_SYMBOL2760_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DEFAULT_SYMBOL2760));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, DEFAULT_SYMBOL2760_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	        // MySQL.g:2494:3: ( COLLATE_SYMBOL ( EQUAL_OPERATOR )? collation_name_or_default | charset ( EQUAL_OPERATOR )? charset_name_or_default )
        	        {
        	            int alt785=2;
        	            switch ( LA(1) )
        	            {
        	            case COLLATE_SYMBOL:
        	            	{
        	            		alt785=1;
        	            	}
        	                break;
        	            case CHARSET_SYMBOL:
        	            case CHAR_SYMBOL:
        	            	{
        	            		alt785=2;
        	            	}
        	                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 rulecreate_table_optionEx;

        	            }

        	            switch (alt785)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2495:4: COLLATE_SYMBOL ( EQUAL_OPERATOR )? collation_name_or_default
        	        	    {
        	        	        COLLATE_SYMBOL2761 = (pANTLR3_COMMON_TOKEN) MATCHT(COLLATE_SYMBOL, &FOLLOW_COLLATE_SYMBOL_in_create_table_option14245);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulecreate_table_optionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        COLLATE_SYMBOL2761_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COLLATE_SYMBOL2761));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, COLLATE_SYMBOL2761_tree);
        	        	        }

        	        	        // MySQL.g:2495:19: ( EQUAL_OPERATOR )?
        	        	        {
        	        	            int alt783=2;
        	        	            switch ( LA(1) )
        	        	            {
        	        	                case EQUAL_OPERATOR:
        	        	                	{
        	        	                		alt783=1;
        	        	                	}
        	        	                    break;
        	        	            }

        	        	            switch (alt783)
        	        	            {
        	        	        	case 1:
        	        	        	    // MySQL.g:2495:19: EQUAL_OPERATOR
        	        	        	    {
        	        	        	        EQUAL_OPERATOR2762 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_create_table_option14247);
        	        	        	        if  (HASEXCEPTION())
        	        	        	        {
        	        	        	            goto rulecreate_table_optionEx;
        	        	        	        }
        	        	        	        if (HASFAILED())
        	        	        	        {
        	        	        	            return retval;
        	        	        	        }

        	        	        	        if ( BACKTRACKING==0 ) {
        	        	        	        EQUAL_OPERATOR2762_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR2762));
        	        	        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR2762_tree);
        	        	        	        }

        	        	        	    }
        	        	        	    break;

        	        	            }
        	        	        }

        	        	        FOLLOWPUSH(FOLLOW_collation_name_or_default_in_create_table_option14250);
        	        	        collation_name_or_default2763=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_default2763.tree);

        	        	    }
        	        	    break;
        	        	case 2:
        	        	    // MySQL.g:2496:6: charset ( EQUAL_OPERATOR )? charset_name_or_default
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_charset_in_create_table_option14257);
        	        	        charset2764=charset(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulecreate_table_optionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, charset2764.tree);

        	        	        // MySQL.g:2496:14: ( EQUAL_OPERATOR )?
        	        	        {
        	        	            int alt784=2;
        	        	            switch ( LA(1) )
        	        	            {
        	        	                case EQUAL_OPERATOR:
        	        	                	{
        	        	                		alt784=1;
        	        	                	}
        	        	                    break;
        	        	            }

        	        	            switch (alt784)
        	        	            {
        	        	        	case 1:
        	        	        	    // MySQL.g:2496:14: EQUAL_OPERATOR
        	        	        	    {
        	        	        	        EQUAL_OPERATOR2765 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_create_table_option14259);
        	        	        	        if  (HASEXCEPTION())
        	        	        	        {
        	        	        	            goto rulecreate_table_optionEx;
        	        	        	        }
        	        	        	        if (HASFAILED())
        	        	        	        {
        	        	        	            return retval;
        	        	        	        }

        	        	        	        if ( BACKTRACKING==0 ) {
        	        	        	        EQUAL_OPERATOR2765_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR2765));
        	        	        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR2765_tree);
        	        	        	        }

        	        	        	    }
        	        	        	    break;

        	        	            }
        	        	        }

        	        	        FOLLOWPUSH(FOLLOW_charset_name_or_default_in_create_table_option14262);
        	        	        charset_name_or_default2766=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_default2766.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 15:
        	    // MySQL.g:2499:4: INSERT_METHOD_SYMBOL ( EQUAL_OPERATOR )? ( NO_SYMBOL | FIRST_SYMBOL | LAST_SYMBOL )
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        INSERT_METHOD_SYMBOL2767 = (pANTLR3_COMMON_TOKEN) MATCHT(INSERT_METHOD_SYMBOL, &FOLLOW_INSERT_METHOD_SYMBOL_in_create_table_option14272);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecreate_table_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        INSERT_METHOD_SYMBOL2767_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INSERT_METHOD_SYMBOL2767));
        	        ADAPTOR->addChild(ADAPTOR, root_0, INSERT_METHOD_SYMBOL2767_tree);
        	        }

        	        // MySQL.g:2499:25: ( EQUAL_OPERATOR )?
        	        {
        	            int alt786=2;
        	            switch ( LA(1) )
        	            {
        	                case EQUAL_OPERATOR:
        	                	{
        	                		alt786=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt786)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2499:25: EQUAL_OPERATOR
        	        	    {
        	        	        EQUAL_OPERATOR2768 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_create_table_option14274);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulecreate_table_optionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        EQUAL_OPERATOR2768_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR2768));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR2768_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	        set2769=(pANTLR3_COMMON_TOKEN)LT(1);

        	        if ( LA(1) == FIRST_SYMBOL || LA(1) == LAST_SYMBOL || LA(1) == NO_SYMBOL )
        	        {
        	            CONSUME();
        	            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, 
        	            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, set2769))
        	            );
        	            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:2500:4: DATA_SYMBOL DIRECTORY_SYMBOL ( EQUAL_OPERATOR )? text_or_param_marker
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        DATA_SYMBOL2770 = (pANTLR3_COMMON_TOKEN) MATCHT(DATA_SYMBOL, &FOLLOW_DATA_SYMBOL_in_create_table_option14292);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecreate_table_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        DATA_SYMBOL2770_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DATA_SYMBOL2770));
        	        ADAPTOR->addChild(ADAPTOR, root_0, DATA_SYMBOL2770_tree);
        	        }

        	        DIRECTORY_SYMBOL2771 = (pANTLR3_COMMON_TOKEN) MATCHT(DIRECTORY_SYMBOL, &FOLLOW_DIRECTORY_SYMBOL_in_create_table_option14294);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecreate_table_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        DIRECTORY_SYMBOL2771_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DIRECTORY_SYMBOL2771));
        	        ADAPTOR->addChild(ADAPTOR, root_0, DIRECTORY_SYMBOL2771_tree);
        	        }

        	        // MySQL.g:2500:33: ( EQUAL_OPERATOR )?
        	        {
        	            int alt787=2;
        	            switch ( LA(1) )
        	            {
        	                case EQUAL_OPERATOR:
        	                	{
        	                		alt787=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt787)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2500:33: EQUAL_OPERATOR
        	        	    {
        	        	        EQUAL_OPERATOR2772 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_create_table_option14296);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulecreate_table_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_text_or_param_marker_in_create_table_option14299);
        	        text_or_param_marker2773=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_marker2773.tree);

        	    }
        	    break;
        	case 17:
        	    // MySQL.g:2501:4: INDEX_SYMBOL DIRECTORY_SYMBOL ( EQUAL_OPERATOR )? text_or_param_marker
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        INDEX_SYMBOL2774 = (pANTLR3_COMMON_TOKEN) MATCHT(INDEX_SYMBOL, &FOLLOW_INDEX_SYMBOL_in_create_table_option14304);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecreate_table_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        INDEX_SYMBOL2774_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INDEX_SYMBOL2774));
        	        ADAPTOR->addChild(ADAPTOR, root_0, INDEX_SYMBOL2774_tree);
        	        }

        	        DIRECTORY_SYMBOL2775 = (pANTLR3_COMMON_TOKEN) MATCHT(DIRECTORY_SYMBOL, &FOLLOW_DIRECTORY_SYMBOL_in_create_table_option14306);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecreate_table_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        DIRECTORY_SYMBOL2775_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DIRECTORY_SYMBOL2775));
        	        ADAPTOR->addChild(ADAPTOR, root_0, DIRECTORY_SYMBOL2775_tree);
        	        }

        	        // MySQL.g:2501:34: ( EQUAL_OPERATOR )?
        	        {
        	            int alt788=2;
        	            switch ( LA(1) )
        	            {
        	                case EQUAL_OPERATOR:
        	                	{
        	                		alt788=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt788)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2501:34: EQUAL_OPERATOR
        	        	    {
        	        	        EQUAL_OPERATOR2776 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_create_table_option14308);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulecreate_table_optionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        EQUAL_OPERATOR2776_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR2776));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR2776_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	        FOLLOWPUSH(FOLLOW_text_or_param_marker_in_create_table_option14311);
        	        text_or_param_marker2777=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_marker2777.tree);

        	    }
        	    break;
        	case 18:
        	    // MySQL.g:2502:4: TABLESPACE_SYMBOL identifier
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        TABLESPACE_SYMBOL2778 = (pANTLR3_COMMON_TOKEN) MATCHT(TABLESPACE_SYMBOL, &FOLLOW_TABLESPACE_SYMBOL_in_create_table_option14316);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecreate_table_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        TABLESPACE_SYMBOL2778_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, TABLESPACE_SYMBOL2778));
        	        ADAPTOR->addChild(ADAPTOR, root_0, TABLESPACE_SYMBOL2778_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_identifier_in_create_table_option14318);
        	        identifier2779=identifier(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecreate_table_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier2779.tree);

        	    }
        	    break;
        	case 19:
        	    // MySQL.g:2503:4: STORAGE_SYMBOL ( DISK_SYMBOL | MEMORY_SYMBOL )
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        STORAGE_SYMBOL2780 = (pANTLR3_COMMON_TOKEN) MATCHT(STORAGE_SYMBOL, &FOLLOW_STORAGE_SYMBOL_in_create_table_option14323);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecreate_table_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        STORAGE_SYMBOL2780_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, STORAGE_SYMBOL2780));
        	        ADAPTOR->addChild(ADAPTOR, root_0, STORAGE_SYMBOL2780_tree);
        	        }

        	        set2781=(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, set2781))
        	            );
        	            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:2504:4: CONNECTION_SYMBOL ( EQUAL_OPERATOR )? text_or_param_marker
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        CONNECTION_SYMBOL2782 = (pANTLR3_COMMON_TOKEN) MATCHT(CONNECTION_SYMBOL, &FOLLOW_CONNECTION_SYMBOL_in_create_table_option14336);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecreate_table_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CONNECTION_SYMBOL2782_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CONNECTION_SYMBOL2782));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CONNECTION_SYMBOL2782_tree);
        	        }

        	        // MySQL.g:2504:22: ( EQUAL_OPERATOR )?
        	        {
        	            int alt789=2;
        	            switch ( LA(1) )
        	            {
        	                case EQUAL_OPERATOR:
        	                	{
        	                		alt789=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt789)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2504:22: EQUAL_OPERATOR
        	        	    {
        	        	        EQUAL_OPERATOR2783 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_create_table_option14338);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulecreate_table_optionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        EQUAL_OPERATOR2783_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR2783));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR2783_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	        FOLLOWPUSH(FOLLOW_text_or_param_marker_in_create_table_option14341);
        	        text_or_param_marker2784=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_marker2784.tree);

        	    }
        	    break;
        	case 21:
        	    // MySQL.g:2505:4: KEY_BLOCK_SIZE_SYMBOL ( EQUAL_OPERATOR )? int_or_param_marker
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        KEY_BLOCK_SIZE_SYMBOL2785 = (pANTLR3_COMMON_TOKEN) MATCHT(KEY_BLOCK_SIZE_SYMBOL, &FOLLOW_KEY_BLOCK_SIZE_SYMBOL_in_create_table_option14346);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecreate_table_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        KEY_BLOCK_SIZE_SYMBOL2785_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, KEY_BLOCK_SIZE_SYMBOL2785));
        	        ADAPTOR->addChild(ADAPTOR, root_0, KEY_BLOCK_SIZE_SYMBOL2785_tree);
        	        }

        	        // MySQL.g:2505:26: ( EQUAL_OPERATOR )?
        	        {
        	            int alt790=2;
        	            switch ( LA(1) )
        	            {
        	                case EQUAL_OPERATOR:
        	                	{
        	                		alt790=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt790)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2505:26: EQUAL_OPERATOR
        	        	    {
        	        	        EQUAL_OPERATOR2786 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_create_table_option14348);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulecreate_table_optionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        EQUAL_OPERATOR2786_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR2786));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR2786_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	        FOLLOWPUSH(FOLLOW_int_or_param_marker_in_create_table_option14351);
        	        int_or_param_marker2787=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_marker2787.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:2509:1: partitioning :{...}? => PARTITION_SYMBOL ^ BY_SYMBOL ( ( LINEAR_SYMBOL )? HASH_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL | ( LINEAR_SYMBOL )? KEY_SYMBOL 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 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_SYMBOL2788;
    pANTLR3_COMMON_TOKEN    BY_SYMBOL2789;
    pANTLR3_COMMON_TOKEN    LINEAR_SYMBOL2790;
    pANTLR3_COMMON_TOKEN    HASH_SYMBOL2791;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL2792;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2794;
    pANTLR3_COMMON_TOKEN    LINEAR_SYMBOL2795;
    pANTLR3_COMMON_TOKEN    KEY_SYMBOL2796;
    pANTLR3_COMMON_TOKEN    set2798;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL2799;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2801;
    pANTLR3_COMMON_TOKEN    COLUMNS_SYMBOL2802;
    pANTLR3_COMMON_TOKEN    PARTITIONS_SYMBOL2804;
    pANTLR3_COMMON_TOKEN    INTEGER2805;
    pANTLR3_COMMON_TOKEN    SUBPARTITION_SYMBOL2806;
    pANTLR3_COMMON_TOKEN    BY_SYMBOL2807;
    pANTLR3_COMMON_TOKEN    LINEAR_SYMBOL2808;
    pANTLR3_COMMON_TOKEN    HASH_SYMBOL2809;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL2810;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2812;
    pANTLR3_COMMON_TOKEN    KEY_SYMBOL2813;
    pANTLR3_COMMON_TOKEN    SUBPARTITIONS_SYMBOL2815;
    pANTLR3_COMMON_TOKEN    INTEGER2816;
    MySQLParser_expression_return expression2793;
    #undef	RETURN_TYPE_expression2793
    #define	RETURN_TYPE_expression2793 MySQLParser_expression_return

    MySQLParser_identifier_list_with_parentheses_return identifier_list_with_parentheses2797;
    #undef	RETURN_TYPE_identifier_list_with_parentheses2797
    #define	RETURN_TYPE_identifier_list_with_parentheses2797 MySQLParser_identifier_list_with_parentheses_return

    MySQLParser_expression_return expression2800;
    #undef	RETURN_TYPE_expression2800
    #define	RETURN_TYPE_expression2800 MySQLParser_expression_return

    MySQLParser_identifier_list_with_parentheses_return identifier_list_with_parentheses2803;
    #undef	RETURN_TYPE_identifier_list_with_parentheses2803
    #define	RETURN_TYPE_identifier_list_with_parentheses2803 MySQLParser_identifier_list_with_parentheses_return

    MySQLParser_expression_return expression2811;
    #undef	RETURN_TYPE_expression2811
    #define	RETURN_TYPE_expression2811 MySQLParser_expression_return

    MySQLParser_identifier_list_with_parentheses_return identifier_list_with_parentheses2814;
    #undef	RETURN_TYPE_identifier_list_with_parentheses2814
    #define	RETURN_TYPE_identifier_list_with_parentheses2814 MySQLParser_identifier_list_with_parentheses_return

    MySQLParser_partition_definitions_return partition_definitions2817;
    #undef	RETURN_TYPE_partition_definitions2817
    #define	RETURN_TYPE_partition_definitions2817 MySQLParser_partition_definitions_return

    pANTLR3_BASE_TREE PARTITION_SYMBOL2788_tree;
    pANTLR3_BASE_TREE BY_SYMBOL2789_tree;
    pANTLR3_BASE_TREE LINEAR_SYMBOL2790_tree;
    pANTLR3_BASE_TREE HASH_SYMBOL2791_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2792_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2794_tree;
    pANTLR3_BASE_TREE LINEAR_SYMBOL2795_tree;
    pANTLR3_BASE_TREE KEY_SYMBOL2796_tree;
    pANTLR3_BASE_TREE set2798_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2799_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2801_tree;
    pANTLR3_BASE_TREE COLUMNS_SYMBOL2802_tree;
    pANTLR3_BASE_TREE PARTITIONS_SYMBOL2804_tree;
    pANTLR3_BASE_TREE INTEGER2805_tree;
    pANTLR3_BASE_TREE SUBPARTITION_SYMBOL2806_tree;
    pANTLR3_BASE_TREE BY_SYMBOL2807_tree;
    pANTLR3_BASE_TREE LINEAR_SYMBOL2808_tree;
    pANTLR3_BASE_TREE HASH_SYMBOL2809_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2810_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2812_tree;
    pANTLR3_BASE_TREE KEY_SYMBOL2813_tree;
    pANTLR3_BASE_TREE SUBPARTITIONS_SYMBOL2815_tree;
    pANTLR3_BASE_TREE INTEGER2816_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    PARTITION_SYMBOL2788       = NULL;
    BY_SYMBOL2789       = NULL;
    LINEAR_SYMBOL2790       = NULL;
    HASH_SYMBOL2791       = NULL;
    OPEN_PAR_SYMBOL2792       = NULL;
    CLOSE_PAR_SYMBOL2794       = NULL;
    LINEAR_SYMBOL2795       = NULL;
    KEY_SYMBOL2796       = NULL;
    set2798       = NULL;
    OPEN_PAR_SYMBOL2799       = NULL;
    CLOSE_PAR_SYMBOL2801       = NULL;
    COLUMNS_SYMBOL2802       = NULL;
    PARTITIONS_SYMBOL2804       = NULL;
    INTEGER2805       = NULL;
    SUBPARTITION_SYMBOL2806       = NULL;
    BY_SYMBOL2807       = NULL;
    LINEAR_SYMBOL2808       = NULL;
    HASH_SYMBOL2809       = NULL;
    OPEN_PAR_SYMBOL2810       = NULL;
    CLOSE_PAR_SYMBOL2812       = NULL;
    KEY_SYMBOL2813       = NULL;
    SUBPARTITIONS_SYMBOL2815       = NULL;
    INTEGER2816       = NULL;
    expression2793.tree = NULL;

    identifier_list_with_parentheses2797.tree = NULL;

    expression2800.tree = NULL;

    identifier_list_with_parentheses2803.tree = NULL;

    expression2811.tree = NULL;

    identifier_list_with_parentheses2814.tree = NULL;

    partition_definitions2817.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    PARTITION_SYMBOL2788_tree   = NULL;
    BY_SYMBOL2789_tree   = NULL;
    LINEAR_SYMBOL2790_tree   = NULL;
    HASH_SYMBOL2791_tree   = NULL;
    OPEN_PAR_SYMBOL2792_tree   = NULL;
    CLOSE_PAR_SYMBOL2794_tree   = NULL;
    LINEAR_SYMBOL2795_tree   = NULL;
    KEY_SYMBOL2796_tree   = NULL;
    set2798_tree   = NULL;
    OPEN_PAR_SYMBOL2799_tree   = NULL;
    CLOSE_PAR_SYMBOL2801_tree   = NULL;
    COLUMNS_SYMBOL2802_tree   = NULL;
    PARTITIONS_SYMBOL2804_tree   = NULL;
    INTEGER2805_tree   = NULL;
    SUBPARTITION_SYMBOL2806_tree   = NULL;
    BY_SYMBOL2807_tree   = NULL;
    LINEAR_SYMBOL2808_tree   = NULL;
    HASH_SYMBOL2809_tree   = NULL;
    OPEN_PAR_SYMBOL2810_tree   = NULL;
    CLOSE_PAR_SYMBOL2812_tree   = NULL;
    KEY_SYMBOL2813_tree   = NULL;
    SUBPARTITIONS_SYMBOL2815_tree   = NULL;
    INTEGER2816_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2509:13: ({...}? => PARTITION_SYMBOL ^ BY_SYMBOL ( ( LINEAR_SYMBOL )? HASH_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL | ( LINEAR_SYMBOL )? KEY_SYMBOL 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 identifier_list_with_parentheses ) ( SUBPARTITIONS_SYMBOL INTEGER )? )? )? ( partition_definitions )? )
        // MySQL.g:2510:2: {...}? => PARTITION_SYMBOL ^ BY_SYMBOL ( ( LINEAR_SYMBOL )? HASH_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL | ( LINEAR_SYMBOL )? KEY_SYMBOL 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 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_SYMBOL2788 = (pANTLR3_COMMON_TOKEN) MATCHT(PARTITION_SYMBOL, &FOLLOW_PARTITION_SYMBOL_in_partitioning14365);
            if  (HASEXCEPTION())
            {
                goto rulepartitioningEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            PARTITION_SYMBOL2788_tree = 
            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, PARTITION_SYMBOL2788))
            ;
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, PARTITION_SYMBOL2788_tree, root_0));
            }

            BY_SYMBOL2789 = (pANTLR3_COMMON_TOKEN) MATCHT(BY_SYMBOL, &FOLLOW_BY_SYMBOL_in_partitioning14368);
            if  (HASEXCEPTION())
            {
                goto rulepartitioningEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            BY_SYMBOL2789_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, BY_SYMBOL2789));
            ADAPTOR->addChild(ADAPTOR, root_0, BY_SYMBOL2789_tree);
            }

            // MySQL.g:2511:3: ( ( LINEAR_SYMBOL )? HASH_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL | ( LINEAR_SYMBOL )? KEY_SYMBOL identifier_list_with_parentheses | ( RANGE_SYMBOL | LIST_SYMBOL ) ( OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL |{...}? => COLUMNS_SYMBOL identifier_list_with_parentheses ) )
            {
                int alt795=3;
                switch ( LA(1) )
                {
                case LINEAR_SYMBOL:
                	{
                		switch ( LA(2) )
                		{
                		case HASH_SYMBOL:
                			{
                				alt795=1;
                			}
                		    break;
                		case KEY_SYMBOL:
                			{
                				alt795=2;
                			}
                		    break;

                		default:
                		    if (BACKTRACKING>0)
                		    {
                		        FAILEDFLAG = ANTLR3_TRUE;
                		        return retval;
                		    }

                		    CONSTRUCTEX();
                		    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                		    EXCEPTION->message      = (void *)"";
                		    EXCEPTION->decisionNum  = 795;
                		    EXCEPTION->state        = 1;


                		    goto rulepartitioningEx;

                		}

                	}
                    break;
                case HASH_SYMBOL:
                	{
                		alt795=1;
                	}
                    break;
                case KEY_SYMBOL:
                	{
                		alt795=2;
                	}
                    break;
                case LIST_SYMBOL:
                case RANGE_SYMBOL:
                	{
                		alt795=3;
                	}
                    break;

                default:
                    if (BACKTRACKING>0)
                    {
                        FAILEDFLAG = ANTLR3_TRUE;
                        return retval;
                    }

                    CONSTRUCTEX();
                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    EXCEPTION->message      = (void *)"";
                    EXCEPTION->decisionNum  = 795;
                    EXCEPTION->state        = 0;


                    goto rulepartitioningEx;

                }

                switch (alt795)
                {
            	case 1:
            	    // MySQL.g:2512:4: ( LINEAR_SYMBOL )? HASH_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL
            	    {
            	        // MySQL.g:2512:4: ( LINEAR_SYMBOL )?
            	        {
            	            int alt792=2;
            	            switch ( LA(1) )
            	            {
            	                case LINEAR_SYMBOL:
            	                	{
            	                		alt792=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt792)
            	            {
            	        	case 1:
            	        	    // MySQL.g:2512:4: LINEAR_SYMBOL
            	        	    {
            	        	        LINEAR_SYMBOL2790 = (pANTLR3_COMMON_TOKEN) MATCHT(LINEAR_SYMBOL, &FOLLOW_LINEAR_SYMBOL_in_partitioning14377);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulepartitioningEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        LINEAR_SYMBOL2790_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, LINEAR_SYMBOL2790));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, LINEAR_SYMBOL2790_tree);
            	        	        }

            	        	    }
            	        	    break;

            	            }
            	        }

            	        HASH_SYMBOL2791 = (pANTLR3_COMMON_TOKEN) MATCHT(HASH_SYMBOL, &FOLLOW_HASH_SYMBOL_in_partitioning14380);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulepartitioningEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        HASH_SYMBOL2791_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, HASH_SYMBOL2791));
            	        ADAPTOR->addChild(ADAPTOR, root_0, HASH_SYMBOL2791_tree);
            	        }

            	        OPEN_PAR_SYMBOL2792 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_partitioning14382);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulepartitioningEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        OPEN_PAR_SYMBOL2792_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL2792));
            	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL2792_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_expression_in_partitioning14384);
            	        expression2793=expression(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulepartitioningEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2793.tree);

            	        CLOSE_PAR_SYMBOL2794 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_partitioning14386);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulepartitioningEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        CLOSE_PAR_SYMBOL2794_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL2794));
            	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL2794_tree);
            	        }

            	    }
            	    break;
            	case 2:
            	    // MySQL.g:2513:6: ( LINEAR_SYMBOL )? KEY_SYMBOL identifier_list_with_parentheses
            	    {
            	        // MySQL.g:2513:6: ( LINEAR_SYMBOL )?
            	        {
            	            int alt793=2;
            	            switch ( LA(1) )
            	            {
            	                case LINEAR_SYMBOL:
            	                	{
            	                		alt793=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt793)
            	            {
            	        	case 1:
            	        	    // MySQL.g:2513:6: LINEAR_SYMBOL
            	        	    {
            	        	        LINEAR_SYMBOL2795 = (pANTLR3_COMMON_TOKEN) MATCHT(LINEAR_SYMBOL, &FOLLOW_LINEAR_SYMBOL_in_partitioning14393);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulepartitioningEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        LINEAR_SYMBOL2795_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, LINEAR_SYMBOL2795));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, LINEAR_SYMBOL2795_tree);
            	        	        }

            	        	    }
            	        	    break;

            	            }
            	        }

            	        KEY_SYMBOL2796 = (pANTLR3_COMMON_TOKEN) MATCHT(KEY_SYMBOL, &FOLLOW_KEY_SYMBOL_in_partitioning14396);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulepartitioningEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        KEY_SYMBOL2796_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, KEY_SYMBOL2796));
            	        ADAPTOR->addChild(ADAPTOR, root_0, KEY_SYMBOL2796_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_identifier_list_with_parentheses_in_partitioning14398);
            	        identifier_list_with_parentheses2797=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_parentheses2797.tree);

            	    }
            	    break;
            	case 3:
            	    // MySQL.g:2514:6: ( RANGE_SYMBOL | LIST_SYMBOL ) ( OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL |{...}? => COLUMNS_SYMBOL identifier_list_with_parentheses )
            	    {
            	        set2798=(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, set2798))
            	            );
            	            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:2515:5: ( OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL |{...}? => COLUMNS_SYMBOL identifier_list_with_parentheses )
            	        {
            	            int alt794=2;
            	            {
            	                int LA794_0 = LA(1);
            	                if ( (LA794_0 == OPEN_PAR_SYMBOL))
            	                {
            	                    alt794=1;
            	                }
            	                else if ( ((SERVER_VERSION >= 50500)) && (LA794_0 == COLUMNS_SYMBOL))
            	                {
            	                    alt794=2;
            	                }
            	                else
            	                {
            	                    if (BACKTRACKING>0)
            	                    {
            	                        FAILEDFLAG = ANTLR3_TRUE;
            	                        return retval;
            	                    }


            	                    CONSTRUCTEX();
            	                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
            	                    EXCEPTION->message      = (void *)"";
            	                    EXCEPTION->decisionNum  = 794;
            	                    EXCEPTION->state        = 0;


            	                    goto rulepartitioningEx;

            	                }
            	            }
            	            switch (alt794)
            	            {
            	        	case 1:
            	        	    // MySQL.g:2516:6: OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL
            	        	    {
            	        	        OPEN_PAR_SYMBOL2799 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_partitioning14425);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulepartitioningEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        OPEN_PAR_SYMBOL2799_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL2799));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL2799_tree);
            	        	        }

            	        	        FOLLOWPUSH(FOLLOW_expression_in_partitioning14427);
            	        	        expression2800=expression(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulepartitioningEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2800.tree);

            	        	        CLOSE_PAR_SYMBOL2801 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_partitioning14429);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulepartitioningEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        CLOSE_PAR_SYMBOL2801_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL2801));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL2801_tree);
            	        	        }

            	        	    }
            	        	    break;
            	        	case 2:
            	        	    // MySQL.g:2517:8: {...}? => 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_SYMBOL2802 = (pANTLR3_COMMON_TOKEN) MATCHT(COLUMNS_SYMBOL, &FOLLOW_COLUMNS_SYMBOL_in_partitioning14442);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulepartitioningEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        COLUMNS_SYMBOL2802_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COLUMNS_SYMBOL2802));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, COLUMNS_SYMBOL2802_tree);
            	        	        }

            	        	        FOLLOWPUSH(FOLLOW_identifier_list_with_parentheses_in_partitioning14444);
            	        	        identifier_list_with_parentheses2803=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_parentheses2803.tree);

            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;

                }
            }

            // MySQL.g:2520:3: ( PARTITIONS_SYMBOL INTEGER )?
            {
                int alt796=2;
                switch ( LA(1) )
                {
                    case PARTITIONS_SYMBOL:
                    	{
                    		alt796=1;
                    	}
                        break;
                }

                switch (alt796)
                {
            	case 1:
            	    // MySQL.g:2520:4: PARTITIONS_SYMBOL INTEGER
            	    {
            	        PARTITIONS_SYMBOL2804 = (pANTLR3_COMMON_TOKEN) MATCHT(PARTITIONS_SYMBOL, &FOLLOW_PARTITIONS_SYMBOL_in_partitioning14459);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulepartitioningEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        PARTITIONS_SYMBOL2804_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, PARTITIONS_SYMBOL2804));
            	        ADAPTOR->addChild(ADAPTOR, root_0, PARTITIONS_SYMBOL2804_tree);
            	        }

            	        INTEGER2805 = (pANTLR3_COMMON_TOKEN) MATCHT(INTEGER, &FOLLOW_INTEGER_in_partitioning14461);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulepartitioningEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        INTEGER2805_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INTEGER2805));
            	        ADAPTOR->addChild(ADAPTOR, root_0, INTEGER2805_tree);
            	        }

            	    }
            	    break;

                }
            }

            // MySQL.g:2521:3: ( SUBPARTITION_SYMBOL BY_SYMBOL ( LINEAR_SYMBOL )? ( ( HASH_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL | KEY_SYMBOL identifier_list_with_parentheses ) ( SUBPARTITIONS_SYMBOL INTEGER )? )? )?
            {
                int alt801=2;
                switch ( LA(1) )
                {
                    case SUBPARTITION_SYMBOL:
                    	{
                    		alt801=1;
                    	}
                        break;
                }

                switch (alt801)
                {
            	case 1:
            	    // MySQL.g:2522:4: SUBPARTITION_SYMBOL BY_SYMBOL ( LINEAR_SYMBOL )? ( ( HASH_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL | KEY_SYMBOL identifier_list_with_parentheses ) ( SUBPARTITIONS_SYMBOL INTEGER )? )?
            	    {
            	        SUBPARTITION_SYMBOL2806 = (pANTLR3_COMMON_TOKEN) MATCHT(SUBPARTITION_SYMBOL, &FOLLOW_SUBPARTITION_SYMBOL_in_partitioning14472);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulepartitioningEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        SUBPARTITION_SYMBOL2806_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SUBPARTITION_SYMBOL2806));
            	        ADAPTOR->addChild(ADAPTOR, root_0, SUBPARTITION_SYMBOL2806_tree);
            	        }

            	        BY_SYMBOL2807 = (pANTLR3_COMMON_TOKEN) MATCHT(BY_SYMBOL, &FOLLOW_BY_SYMBOL_in_partitioning14474);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulepartitioningEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        BY_SYMBOL2807_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, BY_SYMBOL2807));
            	        ADAPTOR->addChild(ADAPTOR, root_0, BY_SYMBOL2807_tree);
            	        }

            	        // MySQL.g:2522:34: ( LINEAR_SYMBOL )?
            	        {
            	            int alt797=2;
            	            switch ( LA(1) )
            	            {
            	                case LINEAR_SYMBOL:
            	                	{
            	                		alt797=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt797)
            	            {
            	        	case 1:
            	        	    // MySQL.g:2522:34: LINEAR_SYMBOL
            	        	    {
            	        	        LINEAR_SYMBOL2808 = (pANTLR3_COMMON_TOKEN) MATCHT(LINEAR_SYMBOL, &FOLLOW_LINEAR_SYMBOL_in_partitioning14476);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulepartitioningEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        LINEAR_SYMBOL2808_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, LINEAR_SYMBOL2808));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, LINEAR_SYMBOL2808_tree);
            	        	        }

            	        	    }
            	        	    break;

            	            }
            	        }

            	        // MySQL.g:2523:4: ( ( HASH_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL | KEY_SYMBOL identifier_list_with_parentheses ) ( SUBPARTITIONS_SYMBOL INTEGER )? )?
            	        {
            	            int alt800=2;
            	            switch ( LA(1) )
            	            {
            	                case HASH_SYMBOL:
            	                case KEY_SYMBOL:
            	                	{
            	                		alt800=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt800)
            	            {
            	        	case 1:
            	        	    // MySQL.g:2524:5: ( HASH_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL | KEY_SYMBOL identifier_list_with_parentheses ) ( SUBPARTITIONS_SYMBOL INTEGER )?
            	        	    {
            	        	        // MySQL.g:2524:5: ( HASH_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL | KEY_SYMBOL identifier_list_with_parentheses )
            	        	        {
            	        	            int alt798=2;
            	        	            switch ( LA(1) )
            	        	            {
            	        	            case HASH_SYMBOL:
            	        	            	{
            	        	            		alt798=1;
            	        	            	}
            	        	                break;
            	        	            case KEY_SYMBOL:
            	        	            	{
            	        	            		alt798=2;
            	        	            	}
            	        	                break;

            	        	            default:
            	        	                if (BACKTRACKING>0)
            	        	                {
            	        	                    FAILEDFLAG = ANTLR3_TRUE;
            	        	                    return retval;
            	        	                }

            	        	                CONSTRUCTEX();
            	        	                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
            	        	                EXCEPTION->message      = (void *)"";
            	        	                EXCEPTION->decisionNum  = 798;
            	        	                EXCEPTION->state        = 0;


            	        	                goto rulepartitioningEx;

            	        	            }

            	        	            switch (alt798)
            	        	            {
            	        	        	case 1:
            	        	        	    // MySQL.g:2525:7: HASH_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL
            	        	        	    {
            	        	        	        HASH_SYMBOL2809 = (pANTLR3_COMMON_TOKEN) MATCHT(HASH_SYMBOL, &FOLLOW_HASH_SYMBOL_in_partitioning14496);
            	        	        	        if  (HASEXCEPTION())
            	        	        	        {
            	        	        	            goto rulepartitioningEx;
            	        	        	        }
            	        	        	        if (HASFAILED())
            	        	        	        {
            	        	        	            return retval;
            	        	        	        }

            	        	        	        if ( BACKTRACKING==0 ) {
            	        	        	        HASH_SYMBOL2809_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, HASH_SYMBOL2809));
            	        	        	        ADAPTOR->addChild(ADAPTOR, root_0, HASH_SYMBOL2809_tree);
            	        	        	        }

            	        	        	        OPEN_PAR_SYMBOL2810 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_partitioning14498);
            	        	        	        if  (HASEXCEPTION())
            	        	        	        {
            	        	        	            goto rulepartitioningEx;
            	        	        	        }
            	        	        	        if (HASFAILED())
            	        	        	        {
            	        	        	            return retval;
            	        	        	        }

            	        	        	        if ( BACKTRACKING==0 ) {
            	        	        	        OPEN_PAR_SYMBOL2810_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL2810));
            	        	        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL2810_tree);
            	        	        	        }

            	        	        	        FOLLOWPUSH(FOLLOW_expression_in_partitioning14500);
            	        	        	        expression2811=expression(ctx);

            	        	        	        FOLLOWPOP();
            	        	        	        if  (HASEXCEPTION())
            	        	        	        {
            	        	        	            goto rulepartitioningEx;
            	        	        	        }
            	        	        	        if (HASFAILED())
            	        	        	        {
            	        	        	            return retval;
            	        	        	        }

            	        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2811.tree);

            	        	        	        CLOSE_PAR_SYMBOL2812 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_partitioning14502);
            	        	        	        if  (HASEXCEPTION())
            	        	        	        {
            	        	        	            goto rulepartitioningEx;
            	        	        	        }
            	        	        	        if (HASFAILED())
            	        	        	        {
            	        	        	            return retval;
            	        	        	        }

            	        	        	        if ( BACKTRACKING==0 ) {
            	        	        	        CLOSE_PAR_SYMBOL2812_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL2812));
            	        	        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL2812_tree);
            	        	        	        }

            	        	        	    }
            	        	        	    break;
            	        	        	case 2:
            	        	        	    // MySQL.g:2526:8: KEY_SYMBOL identifier_list_with_parentheses
            	        	        	    {
            	        	        	        KEY_SYMBOL2813 = (pANTLR3_COMMON_TOKEN) MATCHT(KEY_SYMBOL, &FOLLOW_KEY_SYMBOL_in_partitioning14511);
            	        	        	        if  (HASEXCEPTION())
            	        	        	        {
            	        	        	            goto rulepartitioningEx;
            	        	        	        }
            	        	        	        if (HASFAILED())
            	        	        	        {
            	        	        	            return retval;
            	        	        	        }

            	        	        	        if ( BACKTRACKING==0 ) {
            	        	        	        KEY_SYMBOL2813_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, KEY_SYMBOL2813));
            	        	        	        ADAPTOR->addChild(ADAPTOR, root_0, KEY_SYMBOL2813_tree);
            	        	        	        }

            	        	        	        FOLLOWPUSH(FOLLOW_identifier_list_with_parentheses_in_partitioning14513);
            	        	        	        identifier_list_with_parentheses2814=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_parentheses2814.tree);

            	        	        	    }
            	        	        	    break;

            	        	            }
            	        	        }

            	        	        // MySQL.g:2528:5: ( SUBPARTITIONS_SYMBOL INTEGER )?
            	        	        {
            	        	            int alt799=2;
            	        	            switch ( LA(1) )
            	        	            {
            	        	                case SUBPARTITIONS_SYMBOL:
            	        	                	{
            	        	                		alt799=1;
            	        	                	}
            	        	                    break;
            	        	            }

            	        	            switch (alt799)
            	        	            {
            	        	        	case 1:
            	        	        	    // MySQL.g:2528:6: SUBPARTITIONS_SYMBOL INTEGER
            	        	        	    {
            	        	        	        SUBPARTITIONS_SYMBOL2815 = (pANTLR3_COMMON_TOKEN) MATCHT(SUBPARTITIONS_SYMBOL, &FOLLOW_SUBPARTITIONS_SYMBOL_in_partitioning14526);
            	        	        	        if  (HASEXCEPTION())
            	        	        	        {
            	        	        	            goto rulepartitioningEx;
            	        	        	        }
            	        	        	        if (HASFAILED())
            	        	        	        {
            	        	        	            return retval;
            	        	        	        }

            	        	        	        if ( BACKTRACKING==0 ) {
            	        	        	        SUBPARTITIONS_SYMBOL2815_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SUBPARTITIONS_SYMBOL2815));
            	        	        	        ADAPTOR->addChild(ADAPTOR, root_0, SUBPARTITIONS_SYMBOL2815_tree);
            	        	        	        }

            	        	        	        INTEGER2816 = (pANTLR3_COMMON_TOKEN) MATCHT(INTEGER, &FOLLOW_INTEGER_in_partitioning14528);
            	        	        	        if  (HASEXCEPTION())
            	        	        	        {
            	        	        	            goto rulepartitioningEx;
            	        	        	        }
            	        	        	        if (HASFAILED())
            	        	        	        {
            	        	        	            return retval;
            	        	        	        }

            	        	        	        if ( BACKTRACKING==0 ) {
            	        	        	        INTEGER2816_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INTEGER2816));
            	        	        	        ADAPTOR->addChild(ADAPTOR, root_0, INTEGER2816_tree);
            	        	        	        }

            	        	        	    }
            	        	        	    break;

            	        	            }
            	        	        }

            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;

                }
            }

            // MySQL.g:2531:6: ( partition_definitions )?
            {
                int alt802=2;
                switch ( LA(1) )
                {
                    case OPEN_PAR_SYMBOL:
                    	{
                    		switch ( LA(2) )
                    		{
                    		    case PARTITION_SYMBOL:
                    		    	{
                    		    		alt802=1;
                    		    	}
                    		        break;
                    		}

                    	}
                        break;
                }

                switch (alt802)
                {
            	case 1:
            	    // MySQL.g:2531:6: partition_definitions
            	    {
            	        FOLLOWPUSH(FOLLOW_partition_definitions_in_partitioning14551);
            	        partition_definitions2817=partition_definitions(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulepartitioningEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, partition_definitions2817.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_definitions
 * MySQL.g:2534: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_SYMBOL2818;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL2820;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2822;
    MySQLParser_partition_definition_return partition_definition2819;
    #undef	RETURN_TYPE_partition_definition2819
    #define	RETURN_TYPE_partition_definition2819 MySQLParser_partition_definition_return

    MySQLParser_partition_definition_return partition_definition2821;
    #undef	RETURN_TYPE_partition_definition2821
    #define	RETURN_TYPE_partition_definition2821 MySQLParser_partition_definition_return

    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2818_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL2820_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2822_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    OPEN_PAR_SYMBOL2818       = NULL;
    COMMA_SYMBOL2820       = NULL;
    CLOSE_PAR_SYMBOL2822       = NULL;
    partition_definition2819.tree = NULL;

    partition_definition2821.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    OPEN_PAR_SYMBOL2818_tree   = NULL;
    COMMA_SYMBOL2820_tree   = NULL;
    CLOSE_PAR_SYMBOL2822_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2534:22: ( OPEN_PAR_SYMBOL partition_definition ( COMMA_SYMBOL partition_definition )* CLOSE_PAR_SYMBOL )
        // MySQL.g:2535:2: OPEN_PAR_SYMBOL partition_definition ( COMMA_SYMBOL partition_definition )* CLOSE_PAR_SYMBOL
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            OPEN_PAR_SYMBOL2818 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_partition_definitions14561);
            if  (HASEXCEPTION())
            {
                goto rulepartition_definitionsEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            OPEN_PAR_SYMBOL2818_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL2818));
            ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL2818_tree);
            }

            FOLLOWPUSH(FOLLOW_partition_definition_in_partition_definitions14563);
            partition_definition2819=partition_definition(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulepartition_definitionsEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, partition_definition2819.tree);

            // MySQL.g:2535:39: ( COMMA_SYMBOL partition_definition )*

            for (;;)
            {
                int alt803=2;
                switch ( LA(1) )
                {
                case COMMA_SYMBOL:
                	{
                		alt803=1;
                	}
                    break;

                }

                switch (alt803)
                {
            	case 1:
            	    // MySQL.g:2535:40: COMMA_SYMBOL partition_definition
            	    {
            	        COMMA_SYMBOL2820 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_partition_definitions14566);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulepartition_definitionsEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        COMMA_SYMBOL2820_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL2820));
            	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL2820_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_partition_definition_in_partition_definitions14568);
            	        partition_definition2821=partition_definition(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulepartition_definitionsEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, partition_definition2821.tree);

            	    }
            	    break;

            	default:
            	    goto loop803;	/* break out of the loop */
            	    break;
                }
            }
            loop803: ; /* Jump out to here if this rule does not match */


            CLOSE_PAR_SYMBOL2822 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_partition_definitions14572);
            if  (HASEXCEPTION())
            {
                goto rulepartition_definitionsEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            CLOSE_PAR_SYMBOL2822_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL2822));
            ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL2822_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:2538:1: partition_definition : PARTITION_SYMBOL identifier ( VALUES_SYMBOL ( LESS_SYMBOL THAN_SYMBOL ( partition_value_list | MAXVALUE_SYMBOL ) | IN_SYMBOL partition_value_list ) )? ( ( 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 )? ( 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_SYMBOL2823;
    pANTLR3_COMMON_TOKEN    VALUES_SYMBOL2825;
    pANTLR3_COMMON_TOKEN    LESS_SYMBOL2826;
    pANTLR3_COMMON_TOKEN    THAN_SYMBOL2827;
    pANTLR3_COMMON_TOKEN    MAXVALUE_SYMBOL2829;
    pANTLR3_COMMON_TOKEN    IN_SYMBOL2830;
    pANTLR3_COMMON_TOKEN    STORAGE_SYMBOL2832;
    pANTLR3_COMMON_TOKEN    ENGINE_SYMBOL2833;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR2834;
    pANTLR3_COMMON_TOKEN    IDENTIFIER2835;
    pANTLR3_COMMON_TOKEN    COMMENT_SYMBOL2836;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR2837;
    pANTLR3_COMMON_TOKEN    DATA_SYMBOL2839;
    pANTLR3_COMMON_TOKEN    DIRECTORY_SYMBOL2840;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR2841;
    pANTLR3_COMMON_TOKEN    INDEX_SYMBOL2843;
    pANTLR3_COMMON_TOKEN    DIRECTORY_SYMBOL2844;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR2845;
    pANTLR3_COMMON_TOKEN    MAX_ROWS_SYMBOL2847;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR2848;
    pANTLR3_COMMON_TOKEN    INTEGER2849;
    pANTLR3_COMMON_TOKEN    MIN_ROWS_SYMBOL2850;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR2851;
    pANTLR3_COMMON_TOKEN    INTEGER2852;
    pANTLR3_COMMON_TOKEN    TABLESPACE_SYMBOL2853;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR2854;
    pANTLR3_COMMON_TOKEN    NODEGROUP_SYMBOL2856;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR2857;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL2859;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL2861;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2863;
    MySQLParser_identifier_return identifier2824;
    #undef	RETURN_TYPE_identifier2824
    #define	RETURN_TYPE_identifier2824 MySQLParser_identifier_return

    MySQLParser_partition_value_list_return partition_value_list2828;
    #undef	RETURN_TYPE_partition_value_list2828
    #define	RETURN_TYPE_partition_value_list2828 MySQLParser_partition_value_list_return

    MySQLParser_partition_value_list_return partition_value_list2831;
    #undef	RETURN_TYPE_partition_value_list2831
    #define	RETURN_TYPE_partition_value_list2831 MySQLParser_partition_value_list_return

    MySQLParser_string_literal_return string_literal2838;
    #undef	RETURN_TYPE_string_literal2838
    #define	RETURN_TYPE_string_literal2838 MySQLParser_string_literal_return

    MySQLParser_string_literal_return string_literal2842;
    #undef	RETURN_TYPE_string_literal2842
    #define	RETURN_TYPE_string_literal2842 MySQLParser_string_literal_return

    MySQLParser_string_literal_return string_literal2846;
    #undef	RETURN_TYPE_string_literal2846
    #define	RETURN_TYPE_string_literal2846 MySQLParser_string_literal_return

    MySQLParser_identifier_return identifier2855;
    #undef	RETURN_TYPE_identifier2855
    #define	RETURN_TYPE_identifier2855 MySQLParser_identifier_return

    MySQLParser_identifier_return identifier2858;
    #undef	RETURN_TYPE_identifier2858
    #define	RETURN_TYPE_identifier2858 MySQLParser_identifier_return

    MySQLParser_subpartition_definition_return subpartition_definition2860;
    #undef	RETURN_TYPE_subpartition_definition2860
    #define	RETURN_TYPE_subpartition_definition2860 MySQLParser_subpartition_definition_return

    MySQLParser_subpartition_definition_return subpartition_definition2862;
    #undef	RETURN_TYPE_subpartition_definition2862
    #define	RETURN_TYPE_subpartition_definition2862 MySQLParser_subpartition_definition_return

    pANTLR3_BASE_TREE PARTITION_SYMBOL2823_tree;
    pANTLR3_BASE_TREE VALUES_SYMBOL2825_tree;
    pANTLR3_BASE_TREE LESS_SYMBOL2826_tree;
    pANTLR3_BASE_TREE THAN_SYMBOL2827_tree;
    pANTLR3_BASE_TREE MAXVALUE_SYMBOL2829_tree;
    pANTLR3_BASE_TREE IN_SYMBOL2830_tree;
    pANTLR3_BASE_TREE STORAGE_SYMBOL2832_tree;
    pANTLR3_BASE_TREE ENGINE_SYMBOL2833_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR2834_tree;
    pANTLR3_BASE_TREE IDENTIFIER2835_tree;
    pANTLR3_BASE_TREE COMMENT_SYMBOL2836_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR2837_tree;
    pANTLR3_BASE_TREE DATA_SYMBOL2839_tree;
    pANTLR3_BASE_TREE DIRECTORY_SYMBOL2840_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR2841_tree;
    pANTLR3_BASE_TREE INDEX_SYMBOL2843_tree;
    pANTLR3_BASE_TREE DIRECTORY_SYMBOL2844_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR2845_tree;
    pANTLR3_BASE_TREE MAX_ROWS_SYMBOL2847_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR2848_tree;
    pANTLR3_BASE_TREE INTEGER2849_tree;
    pANTLR3_BASE_TREE MIN_ROWS_SYMBOL2850_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR2851_tree;
    pANTLR3_BASE_TREE INTEGER2852_tree;
    pANTLR3_BASE_TREE TABLESPACE_SYMBOL2853_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR2854_tree;
    pANTLR3_BASE_TREE NODEGROUP_SYMBOL2856_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR2857_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2859_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL2861_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2863_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    PARTITION_SYMBOL2823       = NULL;
    VALUES_SYMBOL2825       = NULL;
    LESS_SYMBOL2826       = NULL;
    THAN_SYMBOL2827       = NULL;
    MAXVALUE_SYMBOL2829       = NULL;
    IN_SYMBOL2830       = NULL;
    STORAGE_SYMBOL2832       = NULL;
    ENGINE_SYMBOL2833       = NULL;
    EQUAL_OPERATOR2834       = NULL;
    IDENTIFIER2835       = NULL;
    COMMENT_SYMBOL2836       = NULL;
    EQUAL_OPERATOR2837       = NULL;
    DATA_SYMBOL2839       = NULL;
    DIRECTORY_SYMBOL2840       = NULL;
    EQUAL_OPERATOR2841       = NULL;
    INDEX_SYMBOL2843       = NULL;
    DIRECTORY_SYMBOL2844       = NULL;
    EQUAL_OPERATOR2845       = NULL;
    MAX_ROWS_SYMBOL2847       = NULL;
    EQUAL_OPERATOR2848       = NULL;
    INTEGER2849       = NULL;
    MIN_ROWS_SYMBOL2850       = NULL;
    EQUAL_OPERATOR2851       = NULL;
    INTEGER2852       = NULL;
    TABLESPACE_SYMBOL2853       = NULL;
    EQUAL_OPERATOR2854       = NULL;
    NODEGROUP_SYMBOL2856       = NULL;
    EQUAL_OPERATOR2857       = NULL;
    OPEN_PAR_SYMBOL2859       = NULL;
    COMMA_SYMBOL2861       = NULL;
    CLOSE_PAR_SYMBOL2863       = NULL;
    identifier2824.tree = NULL;

    partition_value_list2828.tree = NULL;

    partition_value_list2831.tree = NULL;

    string_literal2838.tree = NULL;

    string_literal2842.tree = NULL;

    string_literal2846.tree = NULL;

    identifier2855.tree = NULL;

    identifier2858.tree = NULL;

    subpartition_definition2860.tree = NULL;

    subpartition_definition2862.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    PARTITION_SYMBOL2823_tree   = NULL;
    VALUES_SYMBOL2825_tree   = NULL;
    LESS_SYMBOL2826_tree   = NULL;
    THAN_SYMBOL2827_tree   = NULL;
    MAXVALUE_SYMBOL2829_tree   = NULL;
    IN_SYMBOL2830_tree   = NULL;
    STORAGE_SYMBOL2832_tree   = NULL;
    ENGINE_SYMBOL2833_tree   = NULL;
    EQUAL_OPERATOR2834_tree   = NULL;
    IDENTIFIER2835_tree   = NULL;
    COMMENT_SYMBOL2836_tree   = NULL;
    EQUAL_OPERATOR2837_tree   = NULL;
    DATA_SYMBOL2839_tree   = NULL;
    DIRECTORY_SYMBOL2840_tree   = NULL;
    EQUAL_OPERATOR2841_tree   = NULL;
    INDEX_SYMBOL2843_tree   = NULL;
    DIRECTORY_SYMBOL2844_tree   = NULL;
    EQUAL_OPERATOR2845_tree   = NULL;
    MAX_ROWS_SYMBOL2847_tree   = NULL;
    EQUAL_OPERATOR2848_tree   = NULL;
    INTEGER2849_tree   = NULL;
    MIN_ROWS_SYMBOL2850_tree   = NULL;
    EQUAL_OPERATOR2851_tree   = NULL;
    INTEGER2852_tree   = NULL;
    TABLESPACE_SYMBOL2853_tree   = NULL;
    EQUAL_OPERATOR2854_tree   = NULL;
    NODEGROUP_SYMBOL2856_tree   = NULL;
    EQUAL_OPERATOR2857_tree   = NULL;
    OPEN_PAR_SYMBOL2859_tree   = NULL;
    COMMA_SYMBOL2861_tree   = NULL;
    CLOSE_PAR_SYMBOL2863_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2538:21: ( PARTITION_SYMBOL identifier ( VALUES_SYMBOL ( LESS_SYMBOL THAN_SYMBOL ( partition_value_list | MAXVALUE_SYMBOL ) | IN_SYMBOL partition_value_list ) )? ( ( 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 )? ( OPEN_PAR_SYMBOL subpartition_definition ( COMMA_SYMBOL subpartition_definition )* CLOSE_PAR_SYMBOL )? )
        // MySQL.g:2539:2: PARTITION_SYMBOL identifier ( VALUES_SYMBOL ( LESS_SYMBOL THAN_SYMBOL ( partition_value_list | MAXVALUE_SYMBOL ) | IN_SYMBOL partition_value_list ) )? ( ( 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 )? ( OPEN_PAR_SYMBOL subpartition_definition ( COMMA_SYMBOL subpartition_definition )* CLOSE_PAR_SYMBOL )?
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            PARTITION_SYMBOL2823 = (pANTLR3_COMMON_TOKEN) MATCHT(PARTITION_SYMBOL, &FOLLOW_PARTITION_SYMBOL_in_partition_definition14581);
            if  (HASEXCEPTION())
            {
                goto rulepartition_definitionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            PARTITION_SYMBOL2823_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, PARTITION_SYMBOL2823));
            ADAPTOR->addChild(ADAPTOR, root_0, PARTITION_SYMBOL2823_tree);
            }

            FOLLOWPUSH(FOLLOW_identifier_in_partition_definition14583);
            identifier2824=identifier(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulepartition_definitionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier2824.tree);

            // MySQL.g:2540:2: ( VALUES_SYMBOL ( LESS_SYMBOL THAN_SYMBOL ( partition_value_list | MAXVALUE_SYMBOL ) | IN_SYMBOL partition_value_list ) )?
            {
                int alt806=2;
                switch ( LA(1) )
                {
                    case VALUES_SYMBOL:
                    	{
                    		alt806=1;
                    	}
                        break;
                }

                switch (alt806)
                {
            	case 1:
            	    // MySQL.g:2541:3: VALUES_SYMBOL ( LESS_SYMBOL THAN_SYMBOL ( partition_value_list | MAXVALUE_SYMBOL ) | IN_SYMBOL partition_value_list )
            	    {
            	        VALUES_SYMBOL2825 = (pANTLR3_COMMON_TOKEN) MATCHT(VALUES_SYMBOL, &FOLLOW_VALUES_SYMBOL_in_partition_definition14590);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulepartition_definitionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        VALUES_SYMBOL2825_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, VALUES_SYMBOL2825));
            	        ADAPTOR->addChild(ADAPTOR, root_0, VALUES_SYMBOL2825_tree);
            	        }

            	        // MySQL.g:2542:3: ( LESS_SYMBOL THAN_SYMBOL ( partition_value_list | MAXVALUE_SYMBOL ) | IN_SYMBOL partition_value_list )
            	        {
            	            int alt805=2;
            	            switch ( LA(1) )
            	            {
            	            case LESS_SYMBOL:
            	            	{
            	            		alt805=1;
            	            	}
            	                break;
            	            case IN_SYMBOL:
            	            	{
            	            		alt805=2;
            	            	}
            	                break;

            	            default:
            	                if (BACKTRACKING>0)
            	                {
            	                    FAILEDFLAG = ANTLR3_TRUE;
            	                    return retval;
            	                }

            	                CONSTRUCTEX();
            	                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
            	                EXCEPTION->message      = (void *)"";
            	                EXCEPTION->decisionNum  = 805;
            	                EXCEPTION->state        = 0;


            	                goto rulepartition_definitionEx;

            	            }

            	            switch (alt805)
            	            {
            	        	case 1:
            	        	    // MySQL.g:2543:4: LESS_SYMBOL THAN_SYMBOL ( partition_value_list | MAXVALUE_SYMBOL )
            	        	    {
            	        	        LESS_SYMBOL2826 = (pANTLR3_COMMON_TOKEN) MATCHT(LESS_SYMBOL, &FOLLOW_LESS_SYMBOL_in_partition_definition14599);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulepartition_definitionEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        LESS_SYMBOL2826_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, LESS_SYMBOL2826));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, LESS_SYMBOL2826_tree);
            	        	        }

            	        	        THAN_SYMBOL2827 = (pANTLR3_COMMON_TOKEN) MATCHT(THAN_SYMBOL, &FOLLOW_THAN_SYMBOL_in_partition_definition14601);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulepartition_definitionEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        THAN_SYMBOL2827_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, THAN_SYMBOL2827));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, THAN_SYMBOL2827_tree);
            	        	        }

            	        	        // MySQL.g:2543:28: ( partition_value_list | MAXVALUE_SYMBOL )
            	        	        {
            	        	            int alt804=2;
            	        	            switch ( LA(1) )
            	        	            {
            	        	            case OPEN_PAR_SYMBOL:
            	        	            	{
            	        	            		alt804=1;
            	        	            	}
            	        	                break;
            	        	            case MAXVALUE_SYMBOL:
            	        	            	{
            	        	            		alt804=2;
            	        	            	}
            	        	                break;

            	        	            default:
            	        	                if (BACKTRACKING>0)
            	        	                {
            	        	                    FAILEDFLAG = ANTLR3_TRUE;
            	        	                    return retval;
            	        	                }

            	        	                CONSTRUCTEX();
            	        	                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
            	        	                EXCEPTION->message      = (void *)"";
            	        	                EXCEPTION->decisionNum  = 804;
            	        	                EXCEPTION->state        = 0;


            	        	                goto rulepartition_definitionEx;

            	        	            }

            	        	            switch (alt804)
            	        	            {
            	        	        	case 1:
            	        	        	    // MySQL.g:2543:29: partition_value_list
            	        	        	    {
            	        	        	        FOLLOWPUSH(FOLLOW_partition_value_list_in_partition_definition14604);
            	        	        	        partition_value_list2828=partition_value_list(ctx);

            	        	        	        FOLLOWPOP();
            	        	        	        if  (HASEXCEPTION())
            	        	        	        {
            	        	        	            goto rulepartition_definitionEx;
            	        	        	        }
            	        	        	        if (HASFAILED())
            	        	        	        {
            	        	        	            return retval;
            	        	        	        }

            	        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, partition_value_list2828.tree);

            	        	        	    }
            	        	        	    break;
            	        	        	case 2:
            	        	        	    // MySQL.g:2543:52: MAXVALUE_SYMBOL
            	        	        	    {
            	        	        	        MAXVALUE_SYMBOL2829 = (pANTLR3_COMMON_TOKEN) MATCHT(MAXVALUE_SYMBOL, &FOLLOW_MAXVALUE_SYMBOL_in_partition_definition14608);
            	        	        	        if  (HASEXCEPTION())
            	        	        	        {
            	        	        	            goto rulepartition_definitionEx;
            	        	        	        }
            	        	        	        if (HASFAILED())
            	        	        	        {
            	        	        	            return retval;
            	        	        	        }

            	        	        	        if ( BACKTRACKING==0 ) {
            	        	        	        MAXVALUE_SYMBOL2829_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MAXVALUE_SYMBOL2829));
            	        	        	        ADAPTOR->addChild(ADAPTOR, root_0, MAXVALUE_SYMBOL2829_tree);
            	        	        	        }

            	        	        	    }
            	        	        	    break;

            	        	            }
            	        	        }

            	        	    }
            	        	    break;
            	        	case 2:
            	        	    // MySQL.g:2544:6: IN_SYMBOL partition_value_list
            	        	    {
            	        	        IN_SYMBOL2830 = (pANTLR3_COMMON_TOKEN) MATCHT(IN_SYMBOL, &FOLLOW_IN_SYMBOL_in_partition_definition14616);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulepartition_definitionEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        IN_SYMBOL2830_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, IN_SYMBOL2830));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, IN_SYMBOL2830_tree);
            	        	        }

            	        	        FOLLOWPUSH(FOLLOW_partition_value_list_in_partition_definition14618);
            	        	        partition_value_list2831=partition_value_list(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulepartition_definitionEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, partition_value_list2831.tree);

            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;

                }
            }

            // MySQL.g:2547:2: ( ( STORAGE_SYMBOL )? ENGINE_SYMBOL ( EQUAL_OPERATOR )? IDENTIFIER )?
            {
                int alt809=2;
                switch ( LA(1) )
                {
                    case ENGINE_SYMBOL:
                    case STORAGE_SYMBOL:
                    	{
                    		alt809=1;
                    	}
                        break;
                }

                switch (alt809)
                {
            	case 1:
            	    // MySQL.g:2547:3: ( STORAGE_SYMBOL )? ENGINE_SYMBOL ( EQUAL_OPERATOR )? IDENTIFIER
            	    {
            	        // MySQL.g:2547:3: ( STORAGE_SYMBOL )?
            	        {
            	            int alt807=2;
            	            switch ( LA(1) )
            	            {
            	                case STORAGE_SYMBOL:
            	                	{
            	                		alt807=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt807)
            	            {
            	        	case 1:
            	        	    // MySQL.g:2547:3: STORAGE_SYMBOL
            	        	    {
            	        	        STORAGE_SYMBOL2832 = (pANTLR3_COMMON_TOKEN) MATCHT(STORAGE_SYMBOL, &FOLLOW_STORAGE_SYMBOL_in_partition_definition14630);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulepartition_definitionEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        STORAGE_SYMBOL2832_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, STORAGE_SYMBOL2832));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, STORAGE_SYMBOL2832_tree);
            	        	        }

            	        	    }
            	        	    break;

            	            }
            	        }

            	        ENGINE_SYMBOL2833 = (pANTLR3_COMMON_TOKEN) MATCHT(ENGINE_SYMBOL, &FOLLOW_ENGINE_SYMBOL_in_partition_definition14633);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulepartition_definitionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        ENGINE_SYMBOL2833_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ENGINE_SYMBOL2833));
            	        ADAPTOR->addChild(ADAPTOR, root_0, ENGINE_SYMBOL2833_tree);
            	        }

            	        // MySQL.g:2547:33: ( EQUAL_OPERATOR )?
            	        {
            	            int alt808=2;
            	            switch ( LA(1) )
            	            {
            	                case EQUAL_OPERATOR:
            	                	{
            	                		alt808=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt808)
            	            {
            	        	case 1:
            	        	    // MySQL.g:2547:33: EQUAL_OPERATOR
            	        	    {
            	        	        EQUAL_OPERATOR2834 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_partition_definition14635);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulepartition_definitionEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        EQUAL_OPERATOR2834_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR2834));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR2834_tree);
            	        	        }

            	        	    }
            	        	    break;

            	            }
            	        }

            	        IDENTIFIER2835 = (pANTLR3_COMMON_TOKEN) MATCHT(IDENTIFIER, &FOLLOW_IDENTIFIER_in_partition_definition14638);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulepartition_definitionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        IDENTIFIER2835_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, IDENTIFIER2835));
            	        ADAPTOR->addChild(ADAPTOR, root_0, IDENTIFIER2835_tree);
            	        }

            	    }
            	    break;

                }
            }

            // MySQL.g:2548:2: ( COMMENT_SYMBOL ( EQUAL_OPERATOR )? string_literal )?
            {
                int alt811=2;
                switch ( LA(1) )
                {
                    case COMMENT_SYMBOL:
                    	{
                    		alt811=1;
                    	}
                        break;
                }

                switch (alt811)
                {
            	case 1:
            	    // MySQL.g:2548:3: COMMENT_SYMBOL ( EQUAL_OPERATOR )? string_literal
            	    {
            	        COMMENT_SYMBOL2836 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMENT_SYMBOL, &FOLLOW_COMMENT_SYMBOL_in_partition_definition14644);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulepartition_definitionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        COMMENT_SYMBOL2836_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMENT_SYMBOL2836));
            	        ADAPTOR->addChild(ADAPTOR, root_0, COMMENT_SYMBOL2836_tree);
            	        }

            	        // MySQL.g:2548:18: ( EQUAL_OPERATOR )?
            	        {
            	            int alt810=2;
            	            switch ( LA(1) )
            	            {
            	                case EQUAL_OPERATOR:
            	                	{
            	                		alt810=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt810)
            	            {
            	        	case 1:
            	        	    // MySQL.g:2548:18: EQUAL_OPERATOR
            	        	    {
            	        	        EQUAL_OPERATOR2837 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_partition_definition14646);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulepartition_definitionEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        EQUAL_OPERATOR2837_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR2837));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR2837_tree);
            	        	        }

            	        	    }
            	        	    break;

            	            }
            	        }

            	        FOLLOWPUSH(FOLLOW_string_literal_in_partition_definition14649);
            	        string_literal2838=string_literal(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulepartition_definitionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_literal2838.tree);

            	    }
            	    break;

                }
            }

            // MySQL.g:2549:2: ( DATA_SYMBOL DIRECTORY_SYMBOL ( EQUAL_OPERATOR )? string_literal )?
            {
                int alt813=2;
                switch ( LA(1) )
                {
                    case DATA_SYMBOL:
                    	{
                    		alt813=1;
                    	}
                        break;
                }

                switch (alt813)
                {
            	case 1:
            	    // MySQL.g:2549:3: DATA_SYMBOL DIRECTORY_SYMBOL ( EQUAL_OPERATOR )? string_literal
            	    {
            	        DATA_SYMBOL2839 = (pANTLR3_COMMON_TOKEN) MATCHT(DATA_SYMBOL, &FOLLOW_DATA_SYMBOL_in_partition_definition14655);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulepartition_definitionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        DATA_SYMBOL2839_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DATA_SYMBOL2839));
            	        ADAPTOR->addChild(ADAPTOR, root_0, DATA_SYMBOL2839_tree);
            	        }

            	        DIRECTORY_SYMBOL2840 = (pANTLR3_COMMON_TOKEN) MATCHT(DIRECTORY_SYMBOL, &FOLLOW_DIRECTORY_SYMBOL_in_partition_definition14657);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulepartition_definitionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        DIRECTORY_SYMBOL2840_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DIRECTORY_SYMBOL2840));
            	        ADAPTOR->addChild(ADAPTOR, root_0, DIRECTORY_SYMBOL2840_tree);
            	        }

            	        // MySQL.g:2549:32: ( EQUAL_OPERATOR )?
            	        {
            	            int alt812=2;
            	            switch ( LA(1) )
            	            {
            	                case EQUAL_OPERATOR:
            	                	{
            	                		alt812=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt812)
            	            {
            	        	case 1:
            	        	    // MySQL.g:2549:32: EQUAL_OPERATOR
            	        	    {
            	        	        EQUAL_OPERATOR2841 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_partition_definition14659);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulepartition_definitionEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        EQUAL_OPERATOR2841_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR2841));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR2841_tree);
            	        	        }

            	        	    }
            	        	    break;

            	            }
            	        }

            	        FOLLOWPUSH(FOLLOW_string_literal_in_partition_definition14662);
            	        string_literal2842=string_literal(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulepartition_definitionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_literal2842.tree);

            	    }
            	    break;

                }
            }

            // MySQL.g:2550:2: ( INDEX_SYMBOL DIRECTORY_SYMBOL ( EQUAL_OPERATOR )? string_literal )?
            {
                int alt815=2;
                switch ( LA(1) )
                {
                    case INDEX_SYMBOL:
                    	{
                    		alt815=1;
                    	}
                        break;
                }

                switch (alt815)
                {
            	case 1:
            	    // MySQL.g:2550:3: INDEX_SYMBOL DIRECTORY_SYMBOL ( EQUAL_OPERATOR )? string_literal
            	    {
            	        INDEX_SYMBOL2843 = (pANTLR3_COMMON_TOKEN) MATCHT(INDEX_SYMBOL, &FOLLOW_INDEX_SYMBOL_in_partition_definition14668);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulepartition_definitionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        INDEX_SYMBOL2843_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INDEX_SYMBOL2843));
            	        ADAPTOR->addChild(ADAPTOR, root_0, INDEX_SYMBOL2843_tree);
            	        }

            	        DIRECTORY_SYMBOL2844 = (pANTLR3_COMMON_TOKEN) MATCHT(DIRECTORY_SYMBOL, &FOLLOW_DIRECTORY_SYMBOL_in_partition_definition14670);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulepartition_definitionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        DIRECTORY_SYMBOL2844_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DIRECTORY_SYMBOL2844));
            	        ADAPTOR->addChild(ADAPTOR, root_0, DIRECTORY_SYMBOL2844_tree);
            	        }

            	        // MySQL.g:2550:33: ( EQUAL_OPERATOR )?
            	        {
            	            int alt814=2;
            	            switch ( LA(1) )
            	            {
            	                case EQUAL_OPERATOR:
            	                	{
            	                		alt814=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt814)
            	            {
            	        	case 1:
            	        	    // MySQL.g:2550:33: EQUAL_OPERATOR
            	        	    {
            	        	        EQUAL_OPERATOR2845 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_partition_definition14672);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulepartition_definitionEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        EQUAL_OPERATOR2845_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR2845));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR2845_tree);
            	        	        }

            	        	    }
            	        	    break;

            	            }
            	        }

            	        FOLLOWPUSH(FOLLOW_string_literal_in_partition_definition14675);
            	        string_literal2846=string_literal(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulepartition_definitionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_literal2846.tree);

            	    }
            	    break;

                }
            }

            // MySQL.g:2551:2: ( MAX_ROWS_SYMBOL ( EQUAL_OPERATOR )? INTEGER )?
            {
                int alt817=2;
                switch ( LA(1) )
                {
                    case MAX_ROWS_SYMBOL:
                    	{
                    		alt817=1;
                    	}
                        break;
                }

                switch (alt817)
                {
            	case 1:
            	    // MySQL.g:2551:3: MAX_ROWS_SYMBOL ( EQUAL_OPERATOR )? INTEGER
            	    {
            	        MAX_ROWS_SYMBOL2847 = (pANTLR3_COMMON_TOKEN) MATCHT(MAX_ROWS_SYMBOL, &FOLLOW_MAX_ROWS_SYMBOL_in_partition_definition14681);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulepartition_definitionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        MAX_ROWS_SYMBOL2847_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MAX_ROWS_SYMBOL2847));
            	        ADAPTOR->addChild(ADAPTOR, root_0, MAX_ROWS_SYMBOL2847_tree);
            	        }

            	        // MySQL.g:2551:19: ( EQUAL_OPERATOR )?
            	        {
            	            int alt816=2;
            	            switch ( LA(1) )
            	            {
            	                case EQUAL_OPERATOR:
            	                	{
            	                		alt816=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt816)
            	            {
            	        	case 1:
            	        	    // MySQL.g:2551:19: EQUAL_OPERATOR
            	        	    {
            	        	        EQUAL_OPERATOR2848 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_partition_definition14683);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulepartition_definitionEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        EQUAL_OPERATOR2848_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR2848));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR2848_tree);
            	        	        }

            	        	    }
            	        	    break;

            	            }
            	        }

            	        INTEGER2849 = (pANTLR3_COMMON_TOKEN) MATCHT(INTEGER, &FOLLOW_INTEGER_in_partition_definition14686);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulepartition_definitionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        INTEGER2849_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INTEGER2849));
            	        ADAPTOR->addChild(ADAPTOR, root_0, INTEGER2849_tree);
            	        }

            	    }
            	    break;

                }
            }

            // MySQL.g:2552:2: ( MIN_ROWS_SYMBOL ( EQUAL_OPERATOR )? INTEGER )?
            {
                int alt819=2;
                switch ( LA(1) )
                {
                    case MIN_ROWS_SYMBOL:
                    	{
                    		alt819=1;
                    	}
                        break;
                }

                switch (alt819)
                {
            	case 1:
            	    // MySQL.g:2552:3: MIN_ROWS_SYMBOL ( EQUAL_OPERATOR )? INTEGER
            	    {
            	        MIN_ROWS_SYMBOL2850 = (pANTLR3_COMMON_TOKEN) MATCHT(MIN_ROWS_SYMBOL, &FOLLOW_MIN_ROWS_SYMBOL_in_partition_definition14692);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulepartition_definitionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        MIN_ROWS_SYMBOL2850_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MIN_ROWS_SYMBOL2850));
            	        ADAPTOR->addChild(ADAPTOR, root_0, MIN_ROWS_SYMBOL2850_tree);
            	        }

            	        // MySQL.g:2552:19: ( EQUAL_OPERATOR )?
            	        {
            	            int alt818=2;
            	            switch ( LA(1) )
            	            {
            	                case EQUAL_OPERATOR:
            	                	{
            	                		alt818=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt818)
            	            {
            	        	case 1:
            	        	    // MySQL.g:2552:19: EQUAL_OPERATOR
            	        	    {
            	        	        EQUAL_OPERATOR2851 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_partition_definition14694);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulepartition_definitionEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        EQUAL_OPERATOR2851_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR2851));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR2851_tree);
            	        	        }

            	        	    }
            	        	    break;

            	            }
            	        }

            	        INTEGER2852 = (pANTLR3_COMMON_TOKEN) MATCHT(INTEGER, &FOLLOW_INTEGER_in_partition_definition14697);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulepartition_definitionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        INTEGER2852_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INTEGER2852));
            	        ADAPTOR->addChild(ADAPTOR, root_0, INTEGER2852_tree);
            	        }

            	    }
            	    break;

                }
            }

            // MySQL.g:2553:2: ( TABLESPACE_SYMBOL ( EQUAL_OPERATOR )? identifier )?
            {
                int alt821=2;
                switch ( LA(1) )
                {
                    case TABLESPACE_SYMBOL:
                    	{
                    		alt821=1;
                    	}
                        break;
                }

                switch (alt821)
                {
            	case 1:
            	    // MySQL.g:2553:3: TABLESPACE_SYMBOL ( EQUAL_OPERATOR )? identifier
            	    {
            	        TABLESPACE_SYMBOL2853 = (pANTLR3_COMMON_TOKEN) MATCHT(TABLESPACE_SYMBOL, &FOLLOW_TABLESPACE_SYMBOL_in_partition_definition14703);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulepartition_definitionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        TABLESPACE_SYMBOL2853_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, TABLESPACE_SYMBOL2853));
            	        ADAPTOR->addChild(ADAPTOR, root_0, TABLESPACE_SYMBOL2853_tree);
            	        }

            	        // MySQL.g:2553:21: ( EQUAL_OPERATOR )?
            	        {
            	            int alt820=2;
            	            switch ( LA(1) )
            	            {
            	                case EQUAL_OPERATOR:
            	                	{
            	                		alt820=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt820)
            	            {
            	        	case 1:
            	        	    // MySQL.g:2553:21: EQUAL_OPERATOR
            	        	    {
            	        	        EQUAL_OPERATOR2854 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_partition_definition14705);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulepartition_definitionEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        EQUAL_OPERATOR2854_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR2854));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR2854_tree);
            	        	        }

            	        	    }
            	        	    break;

            	            }
            	        }

            	        FOLLOWPUSH(FOLLOW_identifier_in_partition_definition14708);
            	        identifier2855=identifier(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulepartition_definitionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier2855.tree);

            	    }
            	    break;

                }
            }

            // MySQL.g:2554:2: ( NODEGROUP_SYMBOL ( EQUAL_OPERATOR )? identifier )?
            {
                int alt823=2;
                switch ( LA(1) )
                {
                    case NODEGROUP_SYMBOL:
                    	{
                    		alt823=1;
                    	}
                        break;
                }

                switch (alt823)
                {
            	case 1:
            	    // MySQL.g:2554:3: NODEGROUP_SYMBOL ( EQUAL_OPERATOR )? identifier
            	    {
            	        NODEGROUP_SYMBOL2856 = (pANTLR3_COMMON_TOKEN) MATCHT(NODEGROUP_SYMBOL, &FOLLOW_NODEGROUP_SYMBOL_in_partition_definition14714);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulepartition_definitionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        NODEGROUP_SYMBOL2856_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, NODEGROUP_SYMBOL2856));
            	        ADAPTOR->addChild(ADAPTOR, root_0, NODEGROUP_SYMBOL2856_tree);
            	        }

            	        // MySQL.g:2554:20: ( EQUAL_OPERATOR )?
            	        {
            	            int alt822=2;
            	            switch ( LA(1) )
            	            {
            	                case EQUAL_OPERATOR:
            	                	{
            	                		alt822=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt822)
            	            {
            	        	case 1:
            	        	    // MySQL.g:2554:20: EQUAL_OPERATOR
            	        	    {
            	        	        EQUAL_OPERATOR2857 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_partition_definition14716);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulepartition_definitionEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        EQUAL_OPERATOR2857_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR2857));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR2857_tree);
            	        	        }

            	        	    }
            	        	    break;

            	            }
            	        }

            	        FOLLOWPUSH(FOLLOW_identifier_in_partition_definition14719);
            	        identifier2858=identifier(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulepartition_definitionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier2858.tree);

            	    }
            	    break;

                }
            }

            // MySQL.g:2555:2: ( OPEN_PAR_SYMBOL subpartition_definition ( COMMA_SYMBOL subpartition_definition )* CLOSE_PAR_SYMBOL )?
            {
                int alt825=2;
                switch ( LA(1) )
                {
                    case OPEN_PAR_SYMBOL:
                    	{
                    		alt825=1;
                    	}
                        break;
                }

                switch (alt825)
                {
            	case 1:
            	    // MySQL.g:2555:3: OPEN_PAR_SYMBOL subpartition_definition ( COMMA_SYMBOL subpartition_definition )* CLOSE_PAR_SYMBOL
            	    {
            	        OPEN_PAR_SYMBOL2859 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_partition_definition14725);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulepartition_definitionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        OPEN_PAR_SYMBOL2859_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL2859));
            	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL2859_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_subpartition_definition_in_partition_definition14727);
            	        subpartition_definition2860=subpartition_definition(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulepartition_definitionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, subpartition_definition2860.tree);

            	        // MySQL.g:2555:43: ( COMMA_SYMBOL subpartition_definition )*

            	        for (;;)
            	        {
            	            int alt824=2;
            	            switch ( LA(1) )
            	            {
            	            case COMMA_SYMBOL:
            	            	{
            	            		alt824=1;
            	            	}
            	                break;

            	            }

            	            switch (alt824)
            	            {
            	        	case 1:
            	        	    // MySQL.g:2555:44: COMMA_SYMBOL subpartition_definition
            	        	    {
            	        	        COMMA_SYMBOL2861 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_partition_definition14730);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulepartition_definitionEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        COMMA_SYMBOL2861_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL2861));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL2861_tree);
            	        	        }

            	        	        FOLLOWPUSH(FOLLOW_subpartition_definition_in_partition_definition14732);
            	        	        subpartition_definition2862=subpartition_definition(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulepartition_definitionEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, subpartition_definition2862.tree);

            	        	    }
            	        	    break;

            	        	default:
            	        	    goto loop824;	/* break out of the loop */
            	        	    break;
            	            }
            	        }
            	        loop824: ; /* Jump out to here if this rule does not match */


            	        CLOSE_PAR_SYMBOL2863 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_partition_definition14736);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulepartition_definitionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        CLOSE_PAR_SYMBOL2863_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL2863));
            	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL2863_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 subpartition_definition
 * MySQL.g:2558: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_SYMBOL2864;
    pANTLR3_COMMON_TOKEN    STORAGE_SYMBOL2866;
    pANTLR3_COMMON_TOKEN    ENGINE_SYMBOL2867;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR2868;
    pANTLR3_COMMON_TOKEN    IDENTIFIER2869;
    pANTLR3_COMMON_TOKEN    COMMENT_SYMBOL2870;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR2871;
    pANTLR3_COMMON_TOKEN    DATA_SYMBOL2873;
    pANTLR3_COMMON_TOKEN    DIRECTORY_SYMBOL2874;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR2875;
    pANTLR3_COMMON_TOKEN    INDEX_SYMBOL2877;
    pANTLR3_COMMON_TOKEN    DIRECTORY_SYMBOL2878;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR2879;
    pANTLR3_COMMON_TOKEN    MAX_ROWS_SYMBOL2881;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR2882;
    pANTLR3_COMMON_TOKEN    INTEGER2883;
    pANTLR3_COMMON_TOKEN    MIN_ROWS_SYMBOL2884;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR2885;
    pANTLR3_COMMON_TOKEN    INTEGER2886;
    pANTLR3_COMMON_TOKEN    TABLESPACE_SYMBOL2887;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR2888;
    pANTLR3_COMMON_TOKEN    NODEGROUP_SYMBOL2890;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR2891;
    MySQLParser_identifier_return identifier2865;
    #undef	RETURN_TYPE_identifier2865
    #define	RETURN_TYPE_identifier2865 MySQLParser_identifier_return

    MySQLParser_string_literal_return string_literal2872;
    #undef	RETURN_TYPE_string_literal2872
    #define	RETURN_TYPE_string_literal2872 MySQLParser_string_literal_return

    MySQLParser_string_literal_return string_literal2876;
    #undef	RETURN_TYPE_string_literal2876
    #define	RETURN_TYPE_string_literal2876 MySQLParser_string_literal_return

    MySQLParser_string_literal_return string_literal2880;
    #undef	RETURN_TYPE_string_literal2880
    #define	RETURN_TYPE_string_literal2880 MySQLParser_string_literal_return

    MySQLParser_identifier_return identifier2889;
    #undef	RETURN_TYPE_identifier2889
    #define	RETURN_TYPE_identifier2889 MySQLParser_identifier_return

    MySQLParser_identifier_return identifier2892;
    #undef	RETURN_TYPE_identifier2892
    #define	RETURN_TYPE_identifier2892 MySQLParser_identifier_return

    pANTLR3_BASE_TREE SUBPARTITION_SYMBOL2864_tree;
    pANTLR3_BASE_TREE STORAGE_SYMBOL2866_tree;
    pANTLR3_BASE_TREE ENGINE_SYMBOL2867_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR2868_tree;
    pANTLR3_BASE_TREE IDENTIFIER2869_tree;
    pANTLR3_BASE_TREE COMMENT_SYMBOL2870_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR2871_tree;
    pANTLR3_BASE_TREE DATA_SYMBOL2873_tree;
    pANTLR3_BASE_TREE DIRECTORY_SYMBOL2874_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR2875_tree;
    pANTLR3_BASE_TREE INDEX_SYMBOL2877_tree;
    pANTLR3_BASE_TREE DIRECTORY_SYMBOL2878_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR2879_tree;
    pANTLR3_BASE_TREE MAX_ROWS_SYMBOL2881_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR2882_tree;
    pANTLR3_BASE_TREE INTEGER2883_tree;
    pANTLR3_BASE_TREE MIN_ROWS_SYMBOL2884_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR2885_tree;
    pANTLR3_BASE_TREE INTEGER2886_tree;
    pANTLR3_BASE_TREE TABLESPACE_SYMBOL2887_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR2888_tree;
    pANTLR3_BASE_TREE NODEGROUP_SYMBOL2890_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR2891_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    SUBPARTITION_SYMBOL2864       = NULL;
    STORAGE_SYMBOL2866       = NULL;
    ENGINE_SYMBOL2867       = NULL;
    EQUAL_OPERATOR2868       = NULL;
    IDENTIFIER2869       = NULL;
    COMMENT_SYMBOL2870       = NULL;
    EQUAL_OPERATOR2871       = NULL;
    DATA_SYMBOL2873       = NULL;
    DIRECTORY_SYMBOL2874       = NULL;
    EQUAL_OPERATOR2875       = NULL;
    INDEX_SYMBOL2877       = NULL;
    DIRECTORY_SYMBOL2878       = NULL;
    EQUAL_OPERATOR2879       = NULL;
    MAX_ROWS_SYMBOL2881       = NULL;
    EQUAL_OPERATOR2882       = NULL;
    INTEGER2883       = NULL;
    MIN_ROWS_SYMBOL2884       = NULL;
    EQUAL_OPERATOR2885       = NULL;
    INTEGER2886       = NULL;
    TABLESPACE_SYMBOL2887       = NULL;
    EQUAL_OPERATOR2888       = NULL;
    NODEGROUP_SYMBOL2890       = NULL;
    EQUAL_OPERATOR2891       = NULL;
    identifier2865.tree = NULL;

    string_literal2872.tree = NULL;

    string_literal2876.tree = NULL;

    string_literal2880.tree = NULL;

    identifier2889.tree = NULL;

    identifier2892.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    SUBPARTITION_SYMBOL2864_tree   = NULL;
    STORAGE_SYMBOL2866_tree   = NULL;
    ENGINE_SYMBOL2867_tree   = NULL;
    EQUAL_OPERATOR2868_tree   = NULL;
    IDENTIFIER2869_tree   = NULL;
    COMMENT_SYMBOL2870_tree   = NULL;
    EQUAL_OPERATOR2871_tree   = NULL;
    DATA_SYMBOL2873_tree   = NULL;
    DIRECTORY_SYMBOL2874_tree   = NULL;
    EQUAL_OPERATOR2875_tree   = NULL;
    INDEX_SYMBOL2877_tree   = NULL;
    DIRECTORY_SYMBOL2878_tree   = NULL;
    EQUAL_OPERATOR2879_tree   = NULL;
    MAX_ROWS_SYMBOL2881_tree   = NULL;
    EQUAL_OPERATOR2882_tree   = NULL;
    INTEGER2883_tree   = NULL;
    MIN_ROWS_SYMBOL2884_tree   = NULL;
    EQUAL_OPERATOR2885_tree   = NULL;
    INTEGER2886_tree   = NULL;
    TABLESPACE_SYMBOL2887_tree   = NULL;
    EQUAL_OPERATOR2888_tree   = NULL;
    NODEGROUP_SYMBOL2890_tree   = NULL;
    EQUAL_OPERATOR2891_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2558: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:2559: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_SYMBOL2864 = (pANTLR3_COMMON_TOKEN) MATCHT(SUBPARTITION_SYMBOL, &FOLLOW_SUBPARTITION_SYMBOL_in_subpartition_definition14747);
            if  (HASEXCEPTION())
            {
                goto rulesubpartition_definitionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            SUBPARTITION_SYMBOL2864_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SUBPARTITION_SYMBOL2864));
            ADAPTOR->addChild(ADAPTOR, root_0, SUBPARTITION_SYMBOL2864_tree);
            }

            FOLLOWPUSH(FOLLOW_identifier_in_subpartition_definition14749);
            identifier2865=identifier(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulesubpartition_definitionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier2865.tree);

            // MySQL.g:2560:3: ( ( STORAGE_SYMBOL )? ENGINE_SYMBOL ( EQUAL_OPERATOR )? IDENTIFIER )?
            {
                int alt828=2;
                switch ( LA(1) )
                {
                    case ENGINE_SYMBOL:
                    case STORAGE_SYMBOL:
                    	{
                    		alt828=1;
                    	}
                        break;
                }

                switch (alt828)
                {
            	case 1:
            	    // MySQL.g:2560:4: ( STORAGE_SYMBOL )? ENGINE_SYMBOL ( EQUAL_OPERATOR )? IDENTIFIER
            	    {
            	        // MySQL.g:2560:4: ( STORAGE_SYMBOL )?
            	        {
            	            int alt826=2;
            	            switch ( LA(1) )
            	            {
            	                case STORAGE_SYMBOL:
            	                	{
            	                		alt826=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt826)
            	            {
            	        	case 1:
            	        	    // MySQL.g:2560:4: STORAGE_SYMBOL
            	        	    {
            	        	        STORAGE_SYMBOL2866 = (pANTLR3_COMMON_TOKEN) MATCHT(STORAGE_SYMBOL, &FOLLOW_STORAGE_SYMBOL_in_subpartition_definition14754);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulesubpartition_definitionEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        STORAGE_SYMBOL2866_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, STORAGE_SYMBOL2866));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, STORAGE_SYMBOL2866_tree);
            	        	        }

            	        	    }
            	        	    break;

            	            }
            	        }

            	        ENGINE_SYMBOL2867 = (pANTLR3_COMMON_TOKEN) MATCHT(ENGINE_SYMBOL, &FOLLOW_ENGINE_SYMBOL_in_subpartition_definition14757);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulesubpartition_definitionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        ENGINE_SYMBOL2867_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ENGINE_SYMBOL2867));
            	        ADAPTOR->addChild(ADAPTOR, root_0, ENGINE_SYMBOL2867_tree);
            	        }

            	        // MySQL.g:2560:34: ( EQUAL_OPERATOR )?
            	        {
            	            int alt827=2;
            	            switch ( LA(1) )
            	            {
            	                case EQUAL_OPERATOR:
            	                	{
            	                		alt827=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt827)
            	            {
            	        	case 1:
            	        	    // MySQL.g:2560:34: EQUAL_OPERATOR
            	        	    {
            	        	        EQUAL_OPERATOR2868 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_subpartition_definition14759);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulesubpartition_definitionEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        EQUAL_OPERATOR2868_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR2868));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR2868_tree);
            	        	        }

            	        	    }
            	        	    break;

            	            }
            	        }

            	        IDENTIFIER2869 = (pANTLR3_COMMON_TOKEN) MATCHT(IDENTIFIER, &FOLLOW_IDENTIFIER_in_subpartition_definition14762);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulesubpartition_definitionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        IDENTIFIER2869_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, IDENTIFIER2869));
            	        ADAPTOR->addChild(ADAPTOR, root_0, IDENTIFIER2869_tree);
            	        }

            	    }
            	    break;

                }
            }

            // MySQL.g:2561:3: ( COMMENT_SYMBOL ( EQUAL_OPERATOR )? string_literal )?
            {
                int alt830=2;
                switch ( LA(1) )
                {
                    case COMMENT_SYMBOL:
                    	{
                    		alt830=1;
                    	}
                        break;
                }

                switch (alt830)
                {
            	case 1:
            	    // MySQL.g:2561:4: COMMENT_SYMBOL ( EQUAL_OPERATOR )? string_literal
            	    {
            	        COMMENT_SYMBOL2870 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMENT_SYMBOL, &FOLLOW_COMMENT_SYMBOL_in_subpartition_definition14769);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulesubpartition_definitionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        COMMENT_SYMBOL2870_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMENT_SYMBOL2870));
            	        ADAPTOR->addChild(ADAPTOR, root_0, COMMENT_SYMBOL2870_tree);
            	        }

            	        // MySQL.g:2561:19: ( EQUAL_OPERATOR )?
            	        {
            	            int alt829=2;
            	            switch ( LA(1) )
            	            {
            	                case EQUAL_OPERATOR:
            	                	{
            	                		alt829=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt829)
            	            {
            	        	case 1:
            	        	    // MySQL.g:2561:19: EQUAL_OPERATOR
            	        	    {
            	        	        EQUAL_OPERATOR2871 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_subpartition_definition14771);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulesubpartition_definitionEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        EQUAL_OPERATOR2871_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR2871));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR2871_tree);
            	        	        }

            	        	    }
            	        	    break;

            	            }
            	        }

            	        FOLLOWPUSH(FOLLOW_string_literal_in_subpartition_definition14774);
            	        string_literal2872=string_literal(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulesubpartition_definitionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_literal2872.tree);

            	    }
            	    break;

                }
            }

            // MySQL.g:2562:3: ( DATA_SYMBOL DIRECTORY_SYMBOL ( EQUAL_OPERATOR )? string_literal )?
            {
                int alt832=2;
                switch ( LA(1) )
                {
                    case DATA_SYMBOL:
                    	{
                    		alt832=1;
                    	}
                        break;
                }

                switch (alt832)
                {
            	case 1:
            	    // MySQL.g:2562:4: DATA_SYMBOL DIRECTORY_SYMBOL ( EQUAL_OPERATOR )? string_literal
            	    {
            	        DATA_SYMBOL2873 = (pANTLR3_COMMON_TOKEN) MATCHT(DATA_SYMBOL, &FOLLOW_DATA_SYMBOL_in_subpartition_definition14781);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulesubpartition_definitionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        DATA_SYMBOL2873_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DATA_SYMBOL2873));
            	        ADAPTOR->addChild(ADAPTOR, root_0, DATA_SYMBOL2873_tree);
            	        }

            	        DIRECTORY_SYMBOL2874 = (pANTLR3_COMMON_TOKEN) MATCHT(DIRECTORY_SYMBOL, &FOLLOW_DIRECTORY_SYMBOL_in_subpartition_definition14783);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulesubpartition_definitionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        DIRECTORY_SYMBOL2874_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DIRECTORY_SYMBOL2874));
            	        ADAPTOR->addChild(ADAPTOR, root_0, DIRECTORY_SYMBOL2874_tree);
            	        }

            	        // MySQL.g:2562:33: ( EQUAL_OPERATOR )?
            	        {
            	            int alt831=2;
            	            switch ( LA(1) )
            	            {
            	                case EQUAL_OPERATOR:
            	                	{
            	                		alt831=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt831)
            	            {
            	        	case 1:
            	        	    // MySQL.g:2562:33: EQUAL_OPERATOR
            	        	    {
            	        	        EQUAL_OPERATOR2875 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_subpartition_definition14785);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulesubpartition_definitionEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        EQUAL_OPERATOR2875_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR2875));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR2875_tree);
            	        	        }

            	        	    }
            	        	    break;

            	            }
            	        }

            	        FOLLOWPUSH(FOLLOW_string_literal_in_subpartition_definition14788);
            	        string_literal2876=string_literal(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulesubpartition_definitionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_literal2876.tree);

            	    }
            	    break;

                }
            }

            // MySQL.g:2563:3: ( INDEX_SYMBOL DIRECTORY_SYMBOL ( EQUAL_OPERATOR )? string_literal )?
            {
                int alt834=2;
                switch ( LA(1) )
                {
                    case INDEX_SYMBOL:
                    	{
                    		alt834=1;
                    	}
                        break;
                }

                switch (alt834)
                {
            	case 1:
            	    // MySQL.g:2563:4: INDEX_SYMBOL DIRECTORY_SYMBOL ( EQUAL_OPERATOR )? string_literal
            	    {
            	        INDEX_SYMBOL2877 = (pANTLR3_COMMON_TOKEN) MATCHT(INDEX_SYMBOL, &FOLLOW_INDEX_SYMBOL_in_subpartition_definition14795);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulesubpartition_definitionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        INDEX_SYMBOL2877_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INDEX_SYMBOL2877));
            	        ADAPTOR->addChild(ADAPTOR, root_0, INDEX_SYMBOL2877_tree);
            	        }

            	        DIRECTORY_SYMBOL2878 = (pANTLR3_COMMON_TOKEN) MATCHT(DIRECTORY_SYMBOL, &FOLLOW_DIRECTORY_SYMBOL_in_subpartition_definition14797);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulesubpartition_definitionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        DIRECTORY_SYMBOL2878_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DIRECTORY_SYMBOL2878));
            	        ADAPTOR->addChild(ADAPTOR, root_0, DIRECTORY_SYMBOL2878_tree);
            	        }

            	        // MySQL.g:2563:34: ( EQUAL_OPERATOR )?
            	        {
            	            int alt833=2;
            	            switch ( LA(1) )
            	            {
            	                case EQUAL_OPERATOR:
            	                	{
            	                		alt833=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt833)
            	            {
            	        	case 1:
            	        	    // MySQL.g:2563:34: EQUAL_OPERATOR
            	        	    {
            	        	        EQUAL_OPERATOR2879 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_subpartition_definition14799);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulesubpartition_definitionEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        EQUAL_OPERATOR2879_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR2879));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR2879_tree);
            	        	        }

            	        	    }
            	        	    break;

            	            }
            	        }

            	        FOLLOWPUSH(FOLLOW_string_literal_in_subpartition_definition14802);
            	        string_literal2880=string_literal(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulesubpartition_definitionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_literal2880.tree);

            	    }
            	    break;

                }
            }

            // MySQL.g:2564:3: ( MAX_ROWS_SYMBOL ( EQUAL_OPERATOR )? INTEGER )?
            {
                int alt836=2;
                switch ( LA(1) )
                {
                    case MAX_ROWS_SYMBOL:
                    	{
                    		alt836=1;
                    	}
                        break;
                }

                switch (alt836)
                {
            	case 1:
            	    // MySQL.g:2564:4: MAX_ROWS_SYMBOL ( EQUAL_OPERATOR )? INTEGER
            	    {
            	        MAX_ROWS_SYMBOL2881 = (pANTLR3_COMMON_TOKEN) MATCHT(MAX_ROWS_SYMBOL, &FOLLOW_MAX_ROWS_SYMBOL_in_subpartition_definition14809);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulesubpartition_definitionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        MAX_ROWS_SYMBOL2881_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MAX_ROWS_SYMBOL2881));
            	        ADAPTOR->addChild(ADAPTOR, root_0, MAX_ROWS_SYMBOL2881_tree);
            	        }

            	        // MySQL.g:2564:20: ( EQUAL_OPERATOR )?
            	        {
            	            int alt835=2;
            	            switch ( LA(1) )
            	            {
            	                case EQUAL_OPERATOR:
            	                	{
            	                		alt835=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt835)
            	            {
            	        	case 1:
            	        	    // MySQL.g:2564:20: EQUAL_OPERATOR
            	        	    {
            	        	        EQUAL_OPERATOR2882 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_subpartition_definition14811);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulesubpartition_definitionEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        EQUAL_OPERATOR2882_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR2882));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR2882_tree);
            	        	        }

            	        	    }
            	        	    break;

            	            }
            	        }

            	        INTEGER2883 = (pANTLR3_COMMON_TOKEN) MATCHT(INTEGER, &FOLLOW_INTEGER_in_subpartition_definition14814);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulesubpartition_definitionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        INTEGER2883_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INTEGER2883));
            	        ADAPTOR->addChild(ADAPTOR, root_0, INTEGER2883_tree);
            	        }

            	    }
            	    break;

                }
            }

            // MySQL.g:2565:3: ( MIN_ROWS_SYMBOL ( EQUAL_OPERATOR )? INTEGER )?
            {
                int alt838=2;
                switch ( LA(1) )
                {
                    case MIN_ROWS_SYMBOL:
                    	{
                    		alt838=1;
                    	}
                        break;
                }

                switch (alt838)
                {
            	case 1:
            	    // MySQL.g:2565:4: MIN_ROWS_SYMBOL ( EQUAL_OPERATOR )? INTEGER
            	    {
            	        MIN_ROWS_SYMBOL2884 = (pANTLR3_COMMON_TOKEN) MATCHT(MIN_ROWS_SYMBOL, &FOLLOW_MIN_ROWS_SYMBOL_in_subpartition_definition14821);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulesubpartition_definitionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        MIN_ROWS_SYMBOL2884_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MIN_ROWS_SYMBOL2884));
            	        ADAPTOR->addChild(ADAPTOR, root_0, MIN_ROWS_SYMBOL2884_tree);
            	        }

            	        // MySQL.g:2565:20: ( EQUAL_OPERATOR )?
            	        {
            	            int alt837=2;
            	            switch ( LA(1) )
            	            {
            	                case EQUAL_OPERATOR:
            	                	{
            	                		alt837=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt837)
            	            {
            	        	case 1:
            	        	    // MySQL.g:2565:20: EQUAL_OPERATOR
            	        	    {
            	        	        EQUAL_OPERATOR2885 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_subpartition_definition14823);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulesubpartition_definitionEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        EQUAL_OPERATOR2885_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR2885));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR2885_tree);
            	        	        }

            	        	    }
            	        	    break;

            	            }
            	        }

            	        INTEGER2886 = (pANTLR3_COMMON_TOKEN) MATCHT(INTEGER, &FOLLOW_INTEGER_in_subpartition_definition14826);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulesubpartition_definitionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        INTEGER2886_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INTEGER2886));
            	        ADAPTOR->addChild(ADAPTOR, root_0, INTEGER2886_tree);
            	        }

            	    }
            	    break;

                }
            }

            // MySQL.g:2566:3: ( TABLESPACE_SYMBOL ( EQUAL_OPERATOR )? identifier )?
            {
                int alt840=2;
                switch ( LA(1) )
                {
                    case TABLESPACE_SYMBOL:
                    	{
                    		alt840=1;
                    	}
                        break;
                }

                switch (alt840)
                {
            	case 1:
            	    // MySQL.g:2566:4: TABLESPACE_SYMBOL ( EQUAL_OPERATOR )? identifier
            	    {
            	        TABLESPACE_SYMBOL2887 = (pANTLR3_COMMON_TOKEN) MATCHT(TABLESPACE_SYMBOL, &FOLLOW_TABLESPACE_SYMBOL_in_subpartition_definition14833);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulesubpartition_definitionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        TABLESPACE_SYMBOL2887_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, TABLESPACE_SYMBOL2887));
            	        ADAPTOR->addChild(ADAPTOR, root_0, TABLESPACE_SYMBOL2887_tree);
            	        }

            	        // MySQL.g:2566:22: ( EQUAL_OPERATOR )?
            	        {
            	            int alt839=2;
            	            switch ( LA(1) )
            	            {
            	                case EQUAL_OPERATOR:
            	                	{
            	                		alt839=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt839)
            	            {
            	        	case 1:
            	        	    // MySQL.g:2566:22: EQUAL_OPERATOR
            	        	    {
            	        	        EQUAL_OPERATOR2888 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_subpartition_definition14835);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulesubpartition_definitionEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        EQUAL_OPERATOR2888_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR2888));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR2888_tree);
            	        	        }

            	        	    }
            	        	    break;

            	            }
            	        }

            	        FOLLOWPUSH(FOLLOW_identifier_in_subpartition_definition14838);
            	        identifier2889=identifier(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulesubpartition_definitionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier2889.tree);

            	    }
            	    break;

                }
            }

            // MySQL.g:2567:3: ( NODEGROUP_SYMBOL ( EQUAL_OPERATOR )? identifier )?
            {
                int alt842=2;
                switch ( LA(1) )
                {
                    case NODEGROUP_SYMBOL:
                    	{
                    		alt842=1;
                    	}
                        break;
                }

                switch (alt842)
                {
            	case 1:
            	    // MySQL.g:2567:4: NODEGROUP_SYMBOL ( EQUAL_OPERATOR )? identifier
            	    {
            	        NODEGROUP_SYMBOL2890 = (pANTLR3_COMMON_TOKEN) MATCHT(NODEGROUP_SYMBOL, &FOLLOW_NODEGROUP_SYMBOL_in_subpartition_definition14845);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulesubpartition_definitionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        NODEGROUP_SYMBOL2890_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, NODEGROUP_SYMBOL2890));
            	        ADAPTOR->addChild(ADAPTOR, root_0, NODEGROUP_SYMBOL2890_tree);
            	        }

            	        // MySQL.g:2567:21: ( EQUAL_OPERATOR )?
            	        {
            	            int alt841=2;
            	            switch ( LA(1) )
            	            {
            	                case EQUAL_OPERATOR:
            	                	{
            	                		alt841=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt841)
            	            {
            	        	case 1:
            	        	    // MySQL.g:2567:21: EQUAL_OPERATOR
            	        	    {
            	        	        EQUAL_OPERATOR2891 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_subpartition_definition14847);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulesubpartition_definitionEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        EQUAL_OPERATOR2891_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR2891));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR2891_tree);
            	        	        }

            	        	    }
            	        	    break;

            	            }
            	        }

            	        FOLLOWPUSH(FOLLOW_identifier_in_subpartition_definition14850);
            	        identifier2892=identifier(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulesubpartition_definitionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier2892.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:2570: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_SYMBOL2893;
    pANTLR3_COMMON_TOKEN    MAXVALUE_SYMBOL2895;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL2896;
    pANTLR3_COMMON_TOKEN    MAXVALUE_SYMBOL2898;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2899;
    MySQLParser_expression_return expression2894;
    #undef	RETURN_TYPE_expression2894
    #define	RETURN_TYPE_expression2894 MySQLParser_expression_return

    MySQLParser_expression_return expression2897;
    #undef	RETURN_TYPE_expression2897
    #define	RETURN_TYPE_expression2897 MySQLParser_expression_return

    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2893_tree;
    pANTLR3_BASE_TREE MAXVALUE_SYMBOL2895_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL2896_tree;
    pANTLR3_BASE_TREE MAXVALUE_SYMBOL2898_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2899_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    OPEN_PAR_SYMBOL2893       = NULL;
    MAXVALUE_SYMBOL2895       = NULL;
    COMMA_SYMBOL2896       = NULL;
    MAXVALUE_SYMBOL2898       = NULL;
    CLOSE_PAR_SYMBOL2899       = NULL;
    expression2894.tree = NULL;

    expression2897.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    OPEN_PAR_SYMBOL2893_tree   = NULL;
    MAXVALUE_SYMBOL2895_tree   = NULL;
    COMMA_SYMBOL2896_tree   = NULL;
    MAXVALUE_SYMBOL2898_tree   = NULL;
    CLOSE_PAR_SYMBOL2899_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2570:21: ( OPEN_PAR_SYMBOL ( expression | MAXVALUE_SYMBOL ) ( COMMA_SYMBOL ( expression | MAXVALUE_SYMBOL ) )* CLOSE_PAR_SYMBOL )
        // MySQL.g:2571: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_SYMBOL2893 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_partition_value_list14861);
            if  (HASEXCEPTION())
            {
                goto rulepartition_value_listEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            OPEN_PAR_SYMBOL2893_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL2893));
            ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL2893_tree);
            }

            // MySQL.g:2571:18: ( expression | MAXVALUE_SYMBOL )
            {
                int alt843=2;
                {
                    int LA843_0 = LA(1);
                    if ( (LA843_0 == BITWISE_NOT_OPERATOR || LA843_0 == INTERVAL_SYMBOL || LA843_0 == LOGICAL_NOT_OPERATOR || LA843_0 == MINUS_OPERATOR || LA843_0 == NCHAR_TEXT || LA843_0 == NOT2_SYMBOL || LA843_0 == NOT_SYMBOL || LA843_0 == PLUS_OPERATOR || LA843_0 == SINGLE_QUOTED_TEXT || LA843_0 == UNDERSCORE_CHARSET))
                    {
                        alt843=1;
                    }
                    else if ( ((((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES)))||((!SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))))) && (LA843_0 == DOUBLE_QUOTED_TEXT))
                    {
                        alt843=1;
                    }
                    else if ( (LA843_0 == FALSE_SYMBOL || LA843_0 == FLOAT || ((LA843_0 >= HEXNUMBER) && (LA843_0 <= HEXSTRING)) || LA843_0 == INTEGER || LA843_0 == TRUE_SYMBOL))
                    {
                        alt843=1;
                    }
                    else if ( ((SERVER_VERSION >= 50003)) && (((LA843_0 >= BITNUMBER) && (LA843_0 <= BITSTRING))))
                    {
                        alt843=1;
                    }
                    else if ( (((LA843_0 >= ACTION_SYMBOL) && (LA843_0 <= PARTITION_SYMBOL)) || ((LA843_0 >= AT_AT_SIGN_SYMBOL) && (LA843_0 <= AT_SIGN_SYMBOL)) || LA843_0 == BACK_TICK_QUOTED_ID || LA843_0 == BINARY_SYMBOL || ((LA843_0 >= BIT_AND_SYMBOL) && (LA843_0 <= BIT_XOR_SYMBOL)) || ((LA843_0 >= CASE_SYMBOL) && (LA843_0 <= CAST_SYMBOL)) || LA843_0 == CHAR_SYMBOL || ((LA843_0 >= CONVERT_SYMBOL) && (LA843_0 <= COUNT_SYMBOL)) || LA843_0 == CURDATE_SYMBOL || LA843_0 == CURRENT_USER_SYMBOL || LA843_0 == CURTIME_SYMBOL || LA843_0 == DATABASE_SYMBOL || LA843_0 == DATE_ADD_SYMBOL || LA843_0 == DATE_SUB_SYMBOL || LA843_0 == DOT_SYMBOL || LA843_0 == EXISTS_SYMBOL || LA843_0 == EXTRACT_SYMBOL || LA843_0 == GROUP_CONCAT_SYMBOL || ((LA843_0 >= IDENTIFIER) && (LA843_0 <= IF_SYMBOL)) || LA843_0 == INSERT_SYMBOL || LA843_0 == LEFT_SYMBOL || LA843_0 == MATCH_SYMBOL || LA843_0 == MAX_SYMBOL || LA843_0 == MIN_SYMBOL || LA843_0 == MOD_SYMBOL || LA843_0 == NOW_SYMBOL || LA843_0 == NULL2_SYMBOL || LA843_0 == NULL_SYMBOL || ((LA843_0 >= OPEN_CURLY_SYMBOL) && (LA843_0 <= OPEN_PAR_SYMBOL)) || LA843_0 == PARAM_MARKER || LA843_0 == POSITION_SYMBOL || ((LA843_0 >= REPEAT_SYMBOL) && (LA843_0 <= REPLACE_SYMBOL)) || LA843_0 == RIGHT_SYMBOL || LA843_0 == STDDEV_SAMP_SYMBOL || LA843_0 == STD_SYMBOL || LA843_0 == SUBSTRING_SYMBOL || ((LA843_0 >= SUM_SYMBOL) && (LA843_0 <= SYSDATE_SYMBOL)) || LA843_0 == TRIM_SYMBOL || ((LA843_0 >= UTC_DATE_SYMBOL) && (LA843_0 <= VALUES_SYMBOL)) || LA843_0 == VARIANCE_SYMBOL || LA843_0 == VAR_SAMP_SYMBOL))
                    {
                        alt843=1;
                    }
                    else if ( (LA843_0 == MAXVALUE_SYMBOL))
                    {
                        alt843=2;
                    }
                    else
                    {
                        if (BACKTRACKING>0)
                        {
                            FAILEDFLAG = ANTLR3_TRUE;
                            return retval;
                        }


                        CONSTRUCTEX();
                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                        EXCEPTION->message      = (void *)"";
                        EXCEPTION->decisionNum  = 843;
                        EXCEPTION->state        = 0;


                        goto rulepartition_value_listEx;

                    }
                }
                switch (alt843)
                {
            	case 1:
            	    // MySQL.g:2571:19: expression
            	    {
            	        FOLLOWPUSH(FOLLOW_expression_in_partition_value_list14864);
            	        expression2894=expression(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulepartition_value_listEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2894.tree);

            	    }
            	    break;
            	case 2:
            	    // MySQL.g:2571:32: MAXVALUE_SYMBOL
            	    {
            	        MAXVALUE_SYMBOL2895 = (pANTLR3_COMMON_TOKEN) MATCHT(MAXVALUE_SYMBOL, &FOLLOW_MAXVALUE_SYMBOL_in_partition_value_list14868);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulepartition_value_listEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        MAXVALUE_SYMBOL2895_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MAXVALUE_SYMBOL2895));
            	        ADAPTOR->addChild(ADAPTOR, root_0, MAXVALUE_SYMBOL2895_tree);
            	        }

            	    }
            	    break;

                }
            }

            // MySQL.g:2571:49: ( COMMA_SYMBOL ( expression | MAXVALUE_SYMBOL ) )*

            for (;;)
            {
                int alt845=2;
                switch ( LA(1) )
                {
                case COMMA_SYMBOL:
                	{
                		alt845=1;
                	}
                    break;

                }

                switch (alt845)
                {
            	case 1:
            	    // MySQL.g:2571:50: COMMA_SYMBOL ( expression | MAXVALUE_SYMBOL )
            	    {
            	        COMMA_SYMBOL2896 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_partition_value_list14872);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulepartition_value_listEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        COMMA_SYMBOL2896_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL2896));
            	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL2896_tree);
            	        }

            	        // MySQL.g:2571:63: ( expression | MAXVALUE_SYMBOL )
            	        {
            	            int alt844=2;
            	            {
            	                int LA844_0 = LA(1);
            	                if ( (LA844_0 == BITWISE_NOT_OPERATOR || LA844_0 == INTERVAL_SYMBOL || LA844_0 == LOGICAL_NOT_OPERATOR || LA844_0 == MINUS_OPERATOR || LA844_0 == NCHAR_TEXT || LA844_0 == NOT2_SYMBOL || LA844_0 == NOT_SYMBOL || LA844_0 == PLUS_OPERATOR || LA844_0 == SINGLE_QUOTED_TEXT || LA844_0 == UNDERSCORE_CHARSET))
            	                {
            	                    alt844=1;
            	                }
            	                else if ( ((((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES)))||((!SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))))) && (LA844_0 == DOUBLE_QUOTED_TEXT))
            	                {
            	                    alt844=1;
            	                }
            	                else if ( (LA844_0 == FALSE_SYMBOL || LA844_0 == FLOAT || ((LA844_0 >= HEXNUMBER) && (LA844_0 <= HEXSTRING)) || LA844_0 == INTEGER || LA844_0 == TRUE_SYMBOL))
            	                {
            	                    alt844=1;
            	                }
            	                else if ( ((SERVER_VERSION >= 50003)) && (((LA844_0 >= BITNUMBER) && (LA844_0 <= BITSTRING))))
            	                {
            	                    alt844=1;
            	                }
            	                else if ( (((LA844_0 >= ACTION_SYMBOL) && (LA844_0 <= PARTITION_SYMBOL)) || ((LA844_0 >= AT_AT_SIGN_SYMBOL) && (LA844_0 <= AT_SIGN_SYMBOL)) || LA844_0 == BACK_TICK_QUOTED_ID || LA844_0 == BINARY_SYMBOL || ((LA844_0 >= BIT_AND_SYMBOL) && (LA844_0 <= BIT_XOR_SYMBOL)) || ((LA844_0 >= CASE_SYMBOL) && (LA844_0 <= CAST_SYMBOL)) || LA844_0 == CHAR_SYMBOL || ((LA844_0 >= CONVERT_SYMBOL) && (LA844_0 <= COUNT_SYMBOL)) || LA844_0 == CURDATE_SYMBOL || LA844_0 == CURRENT_USER_SYMBOL || LA844_0 == CURTIME_SYMBOL || LA844_0 == DATABASE_SYMBOL || LA844_0 == DATE_ADD_SYMBOL || LA844_0 == DATE_SUB_SYMBOL || LA844_0 == DOT_SYMBOL || LA844_0 == EXISTS_SYMBOL || LA844_0 == EXTRACT_SYMBOL || LA844_0 == GROUP_CONCAT_SYMBOL || ((LA844_0 >= IDENTIFIER) && (LA844_0 <= IF_SYMBOL)) || LA844_0 == INSERT_SYMBOL || LA844_0 == LEFT_SYMBOL || LA844_0 == MATCH_SYMBOL || LA844_0 == MAX_SYMBOL || LA844_0 == MIN_SYMBOL || LA844_0 == MOD_SYMBOL || LA844_0 == NOW_SYMBOL || LA844_0 == NULL2_SYMBOL || LA844_0 == NULL_SYMBOL || ((LA844_0 >= OPEN_CURLY_SYMBOL) && (LA844_0 <= OPEN_PAR_SYMBOL)) || LA844_0 == PARAM_MARKER || LA844_0 == POSITION_SYMBOL || ((LA844_0 >= REPEAT_SYMBOL) && (LA844_0 <= REPLACE_SYMBOL)) || LA844_0 == RIGHT_SYMBOL || LA844_0 == STDDEV_SAMP_SYMBOL || LA844_0 == STD_SYMBOL || LA844_0 == SUBSTRING_SYMBOL || ((LA844_0 >= SUM_SYMBOL) && (LA844_0 <= SYSDATE_SYMBOL)) || LA844_0 == TRIM_SYMBOL || ((LA844_0 >= UTC_DATE_SYMBOL) && (LA844_0 <= VALUES_SYMBOL)) || LA844_0 == VARIANCE_SYMBOL || LA844_0 == VAR_SAMP_SYMBOL))
            	                {
            	                    alt844=1;
            	                }
            	                else if ( (LA844_0 == MAXVALUE_SYMBOL))
            	                {
            	                    alt844=2;
            	                }
            	                else
            	                {
            	                    if (BACKTRACKING>0)
            	                    {
            	                        FAILEDFLAG = ANTLR3_TRUE;
            	                        return retval;
            	                    }


            	                    CONSTRUCTEX();
            	                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
            	                    EXCEPTION->message      = (void *)"";
            	                    EXCEPTION->decisionNum  = 844;
            	                    EXCEPTION->state        = 0;


            	                    goto rulepartition_value_listEx;

            	                }
            	            }
            	            switch (alt844)
            	            {
            	        	case 1:
            	        	    // MySQL.g:2571:64: expression
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_expression_in_partition_value_list14875);
            	        	        expression2897=expression(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulepartition_value_listEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2897.tree);

            	        	    }
            	        	    break;
            	        	case 2:
            	        	    // MySQL.g:2571:77: MAXVALUE_SYMBOL
            	        	    {
            	        	        MAXVALUE_SYMBOL2898 = (pANTLR3_COMMON_TOKEN) MATCHT(MAXVALUE_SYMBOL, &FOLLOW_MAXVALUE_SYMBOL_in_partition_value_list14879);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulepartition_value_listEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        MAXVALUE_SYMBOL2898_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MAXVALUE_SYMBOL2898));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, MAXVALUE_SYMBOL2898_tree);
            	        	        }

            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;

            	default:
            	    goto loop845;	/* break out of the loop */
            	    break;
                }
            }
            loop845: ; /* Jump out to here if this rule does not match */


            CLOSE_PAR_SYMBOL2899 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_partition_value_list14884);
            if  (HASEXCEPTION())
            {
                goto rulepartition_value_listEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            CLOSE_PAR_SYMBOL2899_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL2899));
            ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL2899_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:2574: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_SYMBOL2900;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR2901;
    MySQLParser_user_return user2902;
    #undef	RETURN_TYPE_user2902
    #define	RETURN_TYPE_user2902 MySQLParser_user_return

    pANTLR3_BASE_TREE DEFINER_SYMBOL2900_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR2901_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    DEFINER_SYMBOL2900       = NULL;
    EQUAL_OPERATOR2901       = NULL;
    user2902.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    DEFINER_SYMBOL2900_tree   = NULL;
    EQUAL_OPERATOR2901_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2574:15: ( DEFINER_SYMBOL ^ EQUAL_OPERATOR user )
        // MySQL.g:2575:2: DEFINER_SYMBOL ^ EQUAL_OPERATOR user
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            DEFINER_SYMBOL2900 = (pANTLR3_COMMON_TOKEN) MATCHT(DEFINER_SYMBOL, &FOLLOW_DEFINER_SYMBOL_in_definer_clause14893);
            if  (HASEXCEPTION())
            {
                goto ruledefiner_clauseEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            DEFINER_SYMBOL2900_tree = 
            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DEFINER_SYMBOL2900))
            ;
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, DEFINER_SYMBOL2900_tree, root_0));
            }

            EQUAL_OPERATOR2901 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_definer_clause14896);
            if  (HASEXCEPTION())
            {
                goto ruledefiner_clauseEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            EQUAL_OPERATOR2901_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR2901));
            ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR2901_tree);
            }

            FOLLOWPUSH(FOLLOW_user_in_definer_clause14898);
            user2902=user(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruledefiner_clauseEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, user2902.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:2578: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_SYMBOL2903;
    pANTLR3_COMMON_TOKEN    EXISTS_SYMBOL2904;

    pANTLR3_BASE_TREE IF_SYMBOL2903_tree;
    pANTLR3_BASE_TREE EXISTS_SYMBOL2904_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    IF_SYMBOL2903       = NULL;
    EXISTS_SYMBOL2904       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    IF_SYMBOL2903_tree   = NULL;
    EXISTS_SYMBOL2904_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2578:10: ( IF_SYMBOL EXISTS_SYMBOL )
        // MySQL.g:2579:2: IF_SYMBOL EXISTS_SYMBOL
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            IF_SYMBOL2903 = (pANTLR3_COMMON_TOKEN) MATCHT(IF_SYMBOL, &FOLLOW_IF_SYMBOL_in_if_exists14907);
            if  (HASEXCEPTION())
            {
                goto ruleif_existsEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            IF_SYMBOL2903_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, IF_SYMBOL2903));
            ADAPTOR->addChild(ADAPTOR, root_0, IF_SYMBOL2903_tree);
            }

            EXISTS_SYMBOL2904 = (pANTLR3_COMMON_TOKEN) MATCHT(EXISTS_SYMBOL, &FOLLOW_EXISTS_SYMBOL_in_if_exists14909);
            if  (HASEXCEPTION())
            {
                goto ruleif_existsEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            EXISTS_SYMBOL2904_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EXISTS_SYMBOL2904));
            ADAPTOR->addChild(ADAPTOR, root_0, EXISTS_SYMBOL2904_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:2582: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_SYMBOL2905;
    pANTLR3_COMMON_TOKEN    NOT_SYMBOL2906;
    pANTLR3_COMMON_TOKEN    EXISTS_SYMBOL2907;

    pANTLR3_BASE_TREE IF_SYMBOL2905_tree;
    pANTLR3_BASE_TREE NOT_SYMBOL2906_tree;
    pANTLR3_BASE_TREE EXISTS_SYMBOL2907_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    IF_SYMBOL2905       = NULL;
    NOT_SYMBOL2906       = NULL;
    EXISTS_SYMBOL2907       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    IF_SYMBOL2905_tree   = NULL;
    NOT_SYMBOL2906_tree   = NULL;
    EXISTS_SYMBOL2907_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2582:14: ( IF_SYMBOL NOT_SYMBOL EXISTS_SYMBOL )
        // MySQL.g:2583:2: IF_SYMBOL NOT_SYMBOL EXISTS_SYMBOL
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            IF_SYMBOL2905 = (pANTLR3_COMMON_TOKEN) MATCHT(IF_SYMBOL, &FOLLOW_IF_SYMBOL_in_if_not_exists14918);
            if  (HASEXCEPTION())
            {
                goto ruleif_not_existsEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            IF_SYMBOL2905_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, IF_SYMBOL2905));
            ADAPTOR->addChild(ADAPTOR, root_0, IF_SYMBOL2905_tree);
            }

            NOT_SYMBOL2906 = (pANTLR3_COMMON_TOKEN) MATCHT(NOT_SYMBOL, &FOLLOW_NOT_SYMBOL_in_if_not_exists14920);
            if  (HASEXCEPTION())
            {
                goto ruleif_not_existsEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            NOT_SYMBOL2906_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, NOT_SYMBOL2906));
            ADAPTOR->addChild(ADAPTOR, root_0, NOT_SYMBOL2906_tree);
            }

            EXISTS_SYMBOL2907 = (pANTLR3_COMMON_TOKEN) MATCHT(EXISTS_SYMBOL, &FOLLOW_EXISTS_SYMBOL_in_if_not_exists14922);
            if  (HASEXCEPTION())
            {
                goto ruleif_not_existsEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            EXISTS_SYMBOL2907_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EXISTS_SYMBOL2907));
            ADAPTOR->addChild(ADAPTOR, root_0, EXISTS_SYMBOL2907_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:2586: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    set2908;
    MySQLParser_function_parameter_return function_parameter2909;
    #undef	RETURN_TYPE_function_parameter2909
    #define	RETURN_TYPE_function_parameter2909 MySQLParser_function_parameter_return

    pANTLR3_BASE_TREE set2908_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    set2908       = NULL;
    function_parameter2909.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    set2908_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2586:20: ( ( IN_SYMBOL | OUT_SYMBOL | INOUT_SYMBOL )? function_parameter )
        // MySQL.g:2587:2: ( IN_SYMBOL | OUT_SYMBOL | INOUT_SYMBOL )? function_parameter
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            // MySQL.g:2587:2: ( IN_SYMBOL | OUT_SYMBOL | INOUT_SYMBOL )?
            {
                int alt846=2;
                switch ( LA(1) )
                {
                    case INOUT_SYMBOL:
                    case IN_SYMBOL:
                    case OUT_SYMBOL:
                    	{
                    		alt846=1;
                    	}
                        break;
                }

                switch (alt846)
                {
            	case 1:
            	    // MySQL.g:
            	    {
            	        set2908=(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, set2908))
            	            );
            	            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_parameter14944);
            function_parameter2909=function_parameter(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruleprocedure_parameterEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, function_parameter2909.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:2590: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 identifier2910;
    #undef	RETURN_TYPE_identifier2910
    #define	RETURN_TYPE_identifier2910 MySQLParser_identifier_return

    MySQLParser_data_type_return data_type2911;
    #undef	RETURN_TYPE_data_type2911
    #define	RETURN_TYPE_data_type2911 MySQLParser_data_type_return


    /* Initialize rule variables
     */

    root_0 = NULL;

    identifier2910.tree = NULL;

    data_type2911.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;




    retval.tree  = NULL;

    {
        // MySQL.g:2590:19: ( identifier data_type )
        // MySQL.g:2591:2: identifier data_type
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            FOLLOWPUSH(FOLLOW_identifier_in_function_parameter14953);
            identifier2910=identifier(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulefunction_parameterEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier2910.tree);

            FOLLOWPUSH(FOLLOW_data_type_in_function_parameter14955);
            data_type2911=data_type(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulefunction_parameterEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, data_type2911.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 table_identifier
 * MySQL.g:2594:1: table_identifier : table_identifier_variants -> ^( TABLE_REF_ID table_identifier_variants ) ;
 */
static MySQLParser_table_identifier_return
table_identifier(pMySQLParser ctx)
{
    MySQLParser_table_identifier_return retval;


    pANTLR3_BASE_TREE root_0;

    MySQLParser_table_identifier_variants_return table_identifier_variants2912;
    #undef	RETURN_TYPE_table_identifier_variants2912
    #define	RETURN_TYPE_table_identifier_variants2912 MySQLParser_table_identifier_variants_return

    pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_table_identifier_variants;
    /* Initialize rule variables
     */

    root_0 = NULL;

    table_identifier_variants2912.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;



    stream_table_identifier_variants   = NULL;
    #define CREATE_stream_table_identifier_variants  if (stream_table_identifier_variants == NULL) {stream_table_identifier_variants = antlr3RewriteRuleSubtreeStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"rule table_identifier_variants"); }

    retval.tree  = NULL;

    {
        // MySQL.g:2594:17: ( table_identifier_variants -> ^( TABLE_REF_ID table_identifier_variants ) )
        // MySQL.g:2595:2: table_identifier_variants
        {
            FOLLOWPUSH(FOLLOW_table_identifier_variants_in_table_identifier14964);
            table_identifier_variants2912=table_identifier_variants(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruletable_identifierEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) { CREATE_stream_table_identifier_variants; stream_table_identifier_variants->add(stream_table_identifier_variants, table_identifier_variants2912.tree, NULL); }

            /* AST REWRITE
             * elements          : table_identifier_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;
            	// 2595:28: -> ^( TABLE_REF_ID table_identifier_variants )
            	{
            	    // MySQL.g:2595:31: ^( TABLE_REF_ID table_identifier_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_ID, (pANTLR3_UINT8)"TABLE_REF_ID")
            	        , root_1));

            	        ADAPTOR->addChild(ADAPTOR, root_1, stream_table_identifier_variants == NULL ? NULL : stream_table_identifier_variants->nextTree(stream_table_identifier_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_identifierEx; /* Prevent compiler warnings */
    ruletable_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_table_identifier_variants != NULL) stream_table_identifier_variants->free(stream_table_identifier_variants);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end table_identifier */

/**
 * $ANTLR start table_identifier_variants
 * MySQL.g:2598:1: table_identifier_variants : ( identifier ( options {greedy=true; } : DOT_SYMBOL identifier )? | DOT_SYMBOL identifier );
 */
static MySQLParser_table_identifier_variants_return
table_identifier_variants(pMySQLParser ctx)
{
    MySQLParser_table_identifier_variants_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    DOT_SYMBOL2914;
    pANTLR3_COMMON_TOKEN    DOT_SYMBOL2916;
    MySQLParser_identifier_return identifier2913;
    #undef	RETURN_TYPE_identifier2913
    #define	RETURN_TYPE_identifier2913 MySQLParser_identifier_return

    MySQLParser_identifier_return identifier2915;
    #undef	RETURN_TYPE_identifier2915
    #define	RETURN_TYPE_identifier2915 MySQLParser_identifier_return

    MySQLParser_identifier_return identifier2917;
    #undef	RETURN_TYPE_identifier2917
    #define	RETURN_TYPE_identifier2917 MySQLParser_identifier_return

    pANTLR3_BASE_TREE DOT_SYMBOL2914_tree;
    pANTLR3_BASE_TREE DOT_SYMBOL2916_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    DOT_SYMBOL2914       = NULL;
    DOT_SYMBOL2916       = NULL;
    identifier2913.tree = NULL;

    identifier2915.tree = NULL;

    identifier2917.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    DOT_SYMBOL2914_tree   = NULL;
    DOT_SYMBOL2916_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:2598:26: ( identifier ( options {greedy=true; } : DOT_SYMBOL identifier )? | DOT_SYMBOL identifier )

            ANTLR3_UINT32 alt848;

            alt848=2;

            {
                int LA848_0 = LA(1);
                if ( (LA848_0 == BACK_TICK_QUOTED_ID || LA848_0 == IDENTIFIER))
                {
                    alt848=1;
                }
                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA848_0 == DOUBLE_QUOTED_TEXT))
                {
                    alt848=1;
                }
                else if ( (((LA848_0 >= ACTION_SYMBOL) && (LA848_0 <= PARTITION_SYMBOL))))
                {
                    alt848=1;
                }
                else if ( (LA848_0 == DOT_SYMBOL))
                {
                    alt848=2;
                }
                else
                {
                    if (BACKTRACKING>0)
                    {
                        FAILEDFLAG = ANTLR3_TRUE;
                        return retval;
                    }


                    CONSTRUCTEX();
                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    EXCEPTION->message      = (void *)"";
                    EXCEPTION->decisionNum  = 848;
                    EXCEPTION->state        = 0;


                    goto ruletable_identifier_variantsEx;

                }
            }
            switch (alt848)
            {
        	case 1:
        	    // MySQL.g:2601:2: identifier ( options {greedy=true; } : DOT_SYMBOL identifier )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_identifier_in_table_identifier_variants14985);
        	        identifier2913=identifier(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruletable_identifier_variantsEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier2913.tree);

        	        // MySQL.g:2601:13: ( options {greedy=true; } : DOT_SYMBOL identifier )?
        	        {
        	            int alt847=2;
        	            switch ( LA(1) )
        	            {
        	                case DOT_SYMBOL:
        	                	{
        	                		alt847=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt847)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2601:43: DOT_SYMBOL identifier
        	        	    {
        	        	        DOT_SYMBOL2914 = (pANTLR3_COMMON_TOKEN) MATCHT(DOT_SYMBOL, &FOLLOW_DOT_SYMBOL_in_table_identifier_variants15001);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruletable_identifier_variantsEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        DOT_SYMBOL2914_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DOT_SYMBOL2914));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, DOT_SYMBOL2914_tree);
        	        	        }

        	        	        FOLLOWPUSH(FOLLOW_identifier_in_table_identifier_variants15003);
        	        	        identifier2915=identifier(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruletable_identifier_variantsEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier2915.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:2602:4: DOT_SYMBOL identifier
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        DOT_SYMBOL2916 = (pANTLR3_COMMON_TOKEN) MATCHT(DOT_SYMBOL, &FOLLOW_DOT_SYMBOL_in_table_identifier_variants15010);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruletable_identifier_variantsEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        DOT_SYMBOL2916_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DOT_SYMBOL2916));
        	        ADAPTOR->addChild(ADAPTOR, root_0, DOT_SYMBOL2916_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_identifier_in_table_identifier_variants15012);
        	        identifier2917=identifier(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruletable_identifier_variantsEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier2917.tree);

        	    }
        	    break;

            }
        }
    }

    // This is where rules clean up and exit
    //
    goto ruletable_identifier_variantsEx; /* Prevent compiler warnings */
    ruletable_identifier_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_identifier_variants */

/**
 * $ANTLR start table_identifier_list
 * MySQL.g:2605:1: table_identifier_list : table_identifier ( COMMA_SYMBOL table_identifier )* ;
 */
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_SYMBOL2919;
    MySQLParser_table_identifier_return table_identifier2918;
    #undef	RETURN_TYPE_table_identifier2918
    #define	RETURN_TYPE_table_identifier2918 MySQLParser_table_identifier_return

    MySQLParser_table_identifier_return table_identifier2920;
    #undef	RETURN_TYPE_table_identifier2920
    #define	RETURN_TYPE_table_identifier2920 MySQLParser_table_identifier_return

    pANTLR3_BASE_TREE COMMA_SYMBOL2919_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    COMMA_SYMBOL2919       = NULL;
    table_identifier2918.tree = NULL;

    table_identifier2920.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    COMMA_SYMBOL2919_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2605:22: ( table_identifier ( COMMA_SYMBOL table_identifier )* )
        // MySQL.g:2606:2: table_identifier ( COMMA_SYMBOL table_identifier )*
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            FOLLOWPUSH(FOLLOW_table_identifier_in_table_identifier_list15021);
            table_identifier2918=table_identifier(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruletable_identifier_listEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, table_identifier2918.tree);

            // MySQL.g:2606:19: ( COMMA_SYMBOL table_identifier )*

            for (;;)
            {
                int alt849=2;
                switch ( LA(1) )
                {
                case COMMA_SYMBOL:
                	{
                		alt849=1;
                	}
                    break;

                }

                switch (alt849)
                {
            	case 1:
            	    // MySQL.g:2606:20: COMMA_SYMBOL table_identifier
            	    {
            	        COMMA_SYMBOL2919 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_table_identifier_list15024);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruletable_identifier_listEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        COMMA_SYMBOL2919_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL2919));
            	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL2919_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_table_identifier_in_table_identifier_list15026);
            	        table_identifier2920=table_identifier(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruletable_identifier_listEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, table_identifier2920.tree);

            	    }
            	    break;

            	default:
            	    goto loop849;	/* break out of the loop */
            	    break;
                }
            }
            loop849: ; /* 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 qualified_identifier_list
 * MySQL.g:2609: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_SYMBOL2922;
    MySQLParser_qualified_identifier_return qualified_identifier2921;
    #undef	RETURN_TYPE_qualified_identifier2921
    #define	RETURN_TYPE_qualified_identifier2921 MySQLParser_qualified_identifier_return

    MySQLParser_qualified_identifier_return qualified_identifier2923;
    #undef	RETURN_TYPE_qualified_identifier2923
    #define	RETURN_TYPE_qualified_identifier2923 MySQLParser_qualified_identifier_return

    pANTLR3_BASE_TREE COMMA_SYMBOL2922_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    COMMA_SYMBOL2922       = NULL;
    qualified_identifier2921.tree = NULL;

    qualified_identifier2923.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    COMMA_SYMBOL2922_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2609:26: ( qualified_identifier ( COMMA_SYMBOL qualified_identifier )* )
        // MySQL.g:2610:2: qualified_identifier ( COMMA_SYMBOL qualified_identifier )*
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            FOLLOWPUSH(FOLLOW_qualified_identifier_in_qualified_identifier_list15044);
            qualified_identifier2921=qualified_identifier(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulequalified_identifier_listEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, qualified_identifier2921.tree);

            // MySQL.g:2610:23: ( COMMA_SYMBOL qualified_identifier )*

            for (;;)
            {
                int alt850=2;
                switch ( LA(1) )
                {
                case COMMA_SYMBOL:
                	{
                		alt850=1;
                	}
                    break;

                }

                switch (alt850)
                {
            	case 1:
            	    // MySQL.g:2610:24: COMMA_SYMBOL qualified_identifier
            	    {
            	        COMMA_SYMBOL2922 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_qualified_identifier_list15047);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulequalified_identifier_listEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        COMMA_SYMBOL2922_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL2922));
            	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL2922_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_qualified_identifier_in_qualified_identifier_list15049);
            	        qualified_identifier2923=qualified_identifier(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulequalified_identifier_listEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, qualified_identifier2923.tree);

            	    }
            	    break;

            	default:
            	    goto loop850;	/* break out of the loop */
            	    break;
                }
            }
            loop850: ; /* 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:2613:1: qualified_identifier : identifier ( 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_SYMBOL2925;
    MySQLParser_identifier_return identifier2924;
    #undef	RETURN_TYPE_identifier2924
    #define	RETURN_TYPE_identifier2924 MySQLParser_identifier_return

    MySQLParser_identifier_return identifier2926;
    #undef	RETURN_TYPE_identifier2926
    #define	RETURN_TYPE_identifier2926 MySQLParser_identifier_return

    pANTLR3_BASE_TREE DOT_SYMBOL2925_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    DOT_SYMBOL2925       = NULL;
    identifier2924.tree = NULL;

    identifier2926.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    DOT_SYMBOL2925_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2613:21: ( identifier ( DOT_SYMBOL identifier )? )
        // MySQL.g:2614:2: identifier ( DOT_SYMBOL identifier )?
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            FOLLOWPUSH(FOLLOW_identifier_in_qualified_identifier15067);
            identifier2924=identifier(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulequalified_identifierEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier2924.tree);

            // MySQL.g:2614:13: ( DOT_SYMBOL identifier )?
            {
                int alt851=2;
                switch ( LA(1) )
                {
                    case DOT_SYMBOL:
                    	{
                    		{
                    		    int LA851_1 = LA(2);
                    		    if ( (((LA851_1 >= ACTION_SYMBOL) && (LA851_1 <= PARTITION_SYMBOL)) || LA851_1 == BACK_TICK_QUOTED_ID || LA851_1 == DOUBLE_QUOTED_TEXT || LA851_1 == IDENTIFIER))
                    		    {
                    		        alt851=1;
                    		    }
                    		}
                    	}
                        break;
                }

                switch (alt851)
                {
            	case 1:
            	    // MySQL.g:2614:14: DOT_SYMBOL identifier
            	    {
            	        DOT_SYMBOL2925 = (pANTLR3_COMMON_TOKEN) MATCHT(DOT_SYMBOL, &FOLLOW_DOT_SYMBOL_in_qualified_identifier15070);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulequalified_identifierEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        DOT_SYMBOL2925_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DOT_SYMBOL2925));
            	        ADAPTOR->addChild(ADAPTOR, root_0, DOT_SYMBOL2925_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_identifier_in_qualified_identifier15072);
            	        identifier2926=identifier(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulequalified_identifierEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier2926.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 qualified_identifier_with_wildcard
 * MySQL.g:2617:1: qualified_identifier_with_wildcard : qualified_identifier DOT_SYMBOL MULT_OPERATOR ;
 */
static MySQLParser_qualified_identifier_with_wildcard_return
qualified_identifier_with_wildcard(pMySQLParser ctx)
{
    MySQLParser_qualified_identifier_with_wildcard_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    DOT_SYMBOL2928;
    pANTLR3_COMMON_TOKEN    MULT_OPERATOR2929;
    MySQLParser_qualified_identifier_return qualified_identifier2927;
    #undef	RETURN_TYPE_qualified_identifier2927
    #define	RETURN_TYPE_qualified_identifier2927 MySQLParser_qualified_identifier_return

    pANTLR3_BASE_TREE DOT_SYMBOL2928_tree;
    pANTLR3_BASE_TREE MULT_OPERATOR2929_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    DOT_SYMBOL2928       = NULL;
    MULT_OPERATOR2929       = NULL;
    qualified_identifier2927.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    DOT_SYMBOL2928_tree   = NULL;
    MULT_OPERATOR2929_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2617:35: ( qualified_identifier DOT_SYMBOL MULT_OPERATOR )
        // MySQL.g:2618:2: qualified_identifier DOT_SYMBOL MULT_OPERATOR
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            FOLLOWPUSH(FOLLOW_qualified_identifier_in_qualified_identifier_with_wildcard15083);
            qualified_identifier2927=qualified_identifier(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulequalified_identifier_with_wildcardEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, qualified_identifier2927.tree);

            DOT_SYMBOL2928 = (pANTLR3_COMMON_TOKEN) MATCHT(DOT_SYMBOL, &FOLLOW_DOT_SYMBOL_in_qualified_identifier_with_wildcard15085);
            if  (HASEXCEPTION())
            {
                goto rulequalified_identifier_with_wildcardEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            DOT_SYMBOL2928_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DOT_SYMBOL2928));
            ADAPTOR->addChild(ADAPTOR, root_0, DOT_SYMBOL2928_tree);
            }

            MULT_OPERATOR2929 = (pANTLR3_COMMON_TOKEN) MATCHT(MULT_OPERATOR, &FOLLOW_MULT_OPERATOR_in_qualified_identifier_with_wildcard15087);
            if  (HASEXCEPTION())
            {
                goto rulequalified_identifier_with_wildcardEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            MULT_OPERATOR2929_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MULT_OPERATOR2929));
            ADAPTOR->addChild(ADAPTOR, root_0, MULT_OPERATOR2929_tree);
            }

        }

    }

    // This is where rules clean up and exit
    //
    goto rulequalified_identifier_with_wildcardEx; /* Prevent compiler warnings */
    rulequalified_identifier_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 (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end qualified_identifier_with_wildcard */

/**
 * $ANTLR start target_table
 * MySQL.g:2623:1: target_table : qualified_identifier -> ^( TABLE_REF_ID qualified_identifier ) ;
 */
static MySQLParser_target_table_return
target_table(pMySQLParser ctx)
{
    MySQLParser_target_table_return retval;


    pANTLR3_BASE_TREE root_0;

    MySQLParser_qualified_identifier_return qualified_identifier2930;
    #undef	RETURN_TYPE_qualified_identifier2930
    #define	RETURN_TYPE_qualified_identifier2930 MySQLParser_qualified_identifier_return

    pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_qualified_identifier;
    /* Initialize rule variables
     */

    root_0 = NULL;

    qualified_identifier2930.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:2623:13: ( qualified_identifier -> ^( TABLE_REF_ID qualified_identifier ) )
        // MySQL.g:2624:2: qualified_identifier
        {
            FOLLOWPUSH(FOLLOW_qualified_identifier_in_target_table15105);
            qualified_identifier2930=qualified_identifier(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruletarget_tableEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) { CREATE_stream_qualified_identifier; stream_qualified_identifier->add(stream_qualified_identifier, qualified_identifier2930.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;
            	// 2624:23: -> ^( TABLE_REF_ID qualified_identifier )
            	{
            	    // MySQL.g:2624:26: ^( TABLE_REF_ID 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, TABLE_REF_ID, (pANTLR3_UINT8)"TABLE_REF_ID")
            	        , 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 ruletarget_tableEx; /* Prevent compiler warnings */
    ruletarget_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 (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 target_table */

/**
 * $ANTLR start target_table_with_optional_wildcard
 * MySQL.g:2627:1: target_table_with_optional_wildcard : qualified_identifier ( DOT_SYMBOL MULT_OPERATOR )? -> ^( TABLE_REF_ID qualified_identifier ( DOT_SYMBOL MULT_OPERATOR )? ) ;
 */
static MySQLParser_target_table_with_optional_wildcard_return
target_table_with_optional_wildcard(pMySQLParser ctx)
{
    MySQLParser_target_table_with_optional_wildcard_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    DOT_SYMBOL2932;
    pANTLR3_COMMON_TOKEN    MULT_OPERATOR2933;
    MySQLParser_qualified_identifier_return qualified_identifier2931;
    #undef	RETURN_TYPE_qualified_identifier2931
    #define	RETURN_TYPE_qualified_identifier2931 MySQLParser_qualified_identifier_return

    pANTLR3_BASE_TREE DOT_SYMBOL2932_tree;
    pANTLR3_BASE_TREE MULT_OPERATOR2933_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_SYMBOL2932       = NULL;
    MULT_OPERATOR2933       = NULL;
    qualified_identifier2931.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    DOT_SYMBOL2932_tree   = NULL;
    MULT_OPERATOR2933_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:2627:36: ( qualified_identifier ( DOT_SYMBOL MULT_OPERATOR )? -> ^( TABLE_REF_ID qualified_identifier ( DOT_SYMBOL MULT_OPERATOR )? ) )
        // MySQL.g:2628:2: qualified_identifier ( DOT_SYMBOL MULT_OPERATOR )?
        {
            FOLLOWPUSH(FOLLOW_qualified_identifier_in_target_table_with_optional_wildcard15123);
            qualified_identifier2931=qualified_identifier(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruletarget_table_with_optional_wildcardEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) { CREATE_stream_qualified_identifier; stream_qualified_identifier->add(stream_qualified_identifier, qualified_identifier2931.tree, NULL); }

            // MySQL.g:2628:23: ( DOT_SYMBOL MULT_OPERATOR )?
            {
                int alt852=2;
                switch ( LA(1) )
                {
                    case DOT_SYMBOL:
                    	{
                    		alt852=1;
                    	}
                        break;
                }

                switch (alt852)
                {
            	case 1:
            	    // MySQL.g:2628:24: DOT_SYMBOL MULT_OPERATOR
            	    {
            	        DOT_SYMBOL2932 = (pANTLR3_COMMON_TOKEN) MATCHT(DOT_SYMBOL, &FOLLOW_DOT_SYMBOL_in_target_table_with_optional_wildcard15126);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruletarget_table_with_optional_wildcardEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }
            	         
            	        if ( BACKTRACKING==0 ) { CREATE_stream_DOT_SYMBOL; stream_DOT_SYMBOL->add(stream_DOT_SYMBOL, DOT_SYMBOL2932, NULL); }


            	        MULT_OPERATOR2933 = (pANTLR3_COMMON_TOKEN) MATCHT(MULT_OPERATOR, &FOLLOW_MULT_OPERATOR_in_target_table_with_optional_wildcard15128);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruletarget_table_with_optional_wildcardEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }
            	         
            	        if ( BACKTRACKING==0 ) { CREATE_stream_MULT_OPERATOR; stream_MULT_OPERATOR->add(stream_MULT_OPERATOR, MULT_OPERATOR2933, NULL); }


            	    }
            	    break;

                }
            }

            /* AST REWRITE
             * elements          : qualified_identifier, MULT_OPERATOR, DOT_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;
            	// 2628:51: -> ^( TABLE_REF_ID qualified_identifier ( DOT_SYMBOL MULT_OPERATOR )? )
            	{
            	    // MySQL.g:2628:54: ^( TABLE_REF_ID 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_REF_ID, (pANTLR3_UINT8)"TABLE_REF_ID")
            	        , root_1));

            	        ADAPTOR->addChild(ADAPTOR, root_1, stream_qualified_identifier == NULL ? NULL : stream_qualified_identifier->nextTree(stream_qualified_identifier));

            	        // MySQL.g:2628:90: ( DOT_SYMBOL MULT_OPERATOR )?
            	        {
            	        	if ( (stream_MULT_OPERATOR != NULL && stream_MULT_OPERATOR->hasNext(stream_MULT_OPERATOR)) || (stream_DOT_SYMBOL != NULL && stream_DOT_SYMBOL->hasNext(stream_DOT_SYMBOL))  )
            	        	{
            	        		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_MULT_OPERATOR != NULL) stream_MULT_OPERATOR->reset(stream_MULT_OPERATOR);
            	        	if ( stream_DOT_SYMBOL != NULL) stream_DOT_SYMBOL->reset(stream_DOT_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 ruletarget_table_with_optional_wildcardEx; /* Prevent compiler warnings */
    ruletarget_table_with_optional_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 target_table_with_optional_wildcard */

/**
 * $ANTLR start column_assignment
 * MySQL.g:2631:1: column_assignment : field_name EQUAL_OPERATOR expression ;
 */
static MySQLParser_column_assignment_return
column_assignment(pMySQLParser ctx)
{
    MySQLParser_column_assignment_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR2935;
    MySQLParser_field_name_return field_name2934;
    #undef	RETURN_TYPE_field_name2934
    #define	RETURN_TYPE_field_name2934 MySQLParser_field_name_return

    MySQLParser_expression_return expression2936;
    #undef	RETURN_TYPE_expression2936
    #define	RETURN_TYPE_expression2936 MySQLParser_expression_return

    pANTLR3_BASE_TREE EQUAL_OPERATOR2935_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    EQUAL_OPERATOR2935       = NULL;
    field_name2934.tree = NULL;

    expression2936.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    EQUAL_OPERATOR2935_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2631:18: ( field_name EQUAL_OPERATOR expression )
        // MySQL.g:2632:2: field_name EQUAL_OPERATOR expression
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            FOLLOWPUSH(FOLLOW_field_name_in_column_assignment15155);
            field_name2934=field_name(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulecolumn_assignmentEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, field_name2934.tree);

            EQUAL_OPERATOR2935 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_column_assignment15157);
            if  (HASEXCEPTION())
            {
                goto rulecolumn_assignmentEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            EQUAL_OPERATOR2935_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR2935));
            ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR2935_tree);
            }

            FOLLOWPUSH(FOLLOW_expression_in_column_assignment15159);
            expression2936=expression(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulecolumn_assignmentEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2936.tree);

        }

    }

    // This is where rules clean up and exit
    //
    goto rulecolumn_assignmentEx; /* Prevent compiler warnings */
    rulecolumn_assignmentEx: ;
    retval.stop = LT(-1);


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, 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 */

/**
 * $ANTLR start field_name_list
 * MySQL.g:2635:1: field_name_list : field_name ( COMMA_SYMBOL field_name )* ;
 */
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_SYMBOL2938;
    MySQLParser_field_name_return field_name2937;
    #undef	RETURN_TYPE_field_name2937
    #define	RETURN_TYPE_field_name2937 MySQLParser_field_name_return

    MySQLParser_field_name_return field_name2939;
    #undef	RETURN_TYPE_field_name2939
    #define	RETURN_TYPE_field_name2939 MySQLParser_field_name_return

    pANTLR3_BASE_TREE COMMA_SYMBOL2938_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    COMMA_SYMBOL2938       = NULL;
    field_name2937.tree = NULL;

    field_name2939.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    COMMA_SYMBOL2938_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2635:16: ( field_name ( COMMA_SYMBOL field_name )* )
        // MySQL.g:2636:2: field_name ( COMMA_SYMBOL field_name )*
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            FOLLOWPUSH(FOLLOW_field_name_in_field_name_list15168);
            field_name2937=field_name(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulefield_name_listEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, field_name2937.tree);

            // MySQL.g:2636:13: ( COMMA_SYMBOL field_name )*

            for (;;)
            {
                int alt853=2;
                switch ( LA(1) )
                {
                case COMMA_SYMBOL:
                	{
                		alt853=1;
                	}
                    break;

                }

                switch (alt853)
                {
            	case 1:
            	    // MySQL.g:2636:14: COMMA_SYMBOL field_name
            	    {
            	        COMMA_SYMBOL2938 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_field_name_list15171);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulefield_name_listEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        COMMA_SYMBOL2938_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL2938));
            	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL2938_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_field_name_in_field_name_list15173);
            	        field_name2939=field_name(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulefield_name_listEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, field_name2939.tree);

            	    }
            	    break;

            	default:
            	    goto loop853;	/* break out of the loop */
            	    break;
                }
            }
            loop853: ; /* 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 field_name
 * MySQL.g:2639:1: field_name : field_name_entry -> ^( FIELD_REF_ID field_name_entry ) ;
 */
static MySQLParser_field_name_return
field_name(pMySQLParser ctx)
{
    MySQLParser_field_name_return retval;


    pANTLR3_BASE_TREE root_0;

    MySQLParser_field_name_entry_return field_name_entry2940;
    #undef	RETURN_TYPE_field_name_entry2940
    #define	RETURN_TYPE_field_name_entry2940 MySQLParser_field_name_entry_return

    pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_field_name_entry;
    /* Initialize rule variables
     */

    root_0 = NULL;

    field_name_entry2940.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;



    stream_field_name_entry   = NULL;
    #define CREATE_stream_field_name_entry  if (stream_field_name_entry == NULL) {stream_field_name_entry = antlr3RewriteRuleSubtreeStreamNewAE(ADAPTOR, RECOGNIZER, (pANTLR3_UINT8)"rule field_name_entry"); }

    retval.tree  = NULL;

    {
        // MySQL.g:2639:11: ( field_name_entry -> ^( FIELD_REF_ID field_name_entry ) )
        // MySQL.g:2640:2: field_name_entry
        {
            FOLLOWPUSH(FOLLOW_field_name_entry_in_field_name15184);
            field_name_entry2940=field_name_entry(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulefield_nameEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) { CREATE_stream_field_name_entry; stream_field_name_entry->add(stream_field_name_entry, field_name_entry2940.tree, NULL); }

            /* AST REWRITE
             * elements          : field_name_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;
            	// 2640:19: -> ^( FIELD_REF_ID field_name_entry )
            	{
            	    // MySQL.g:2640:22: ^( FIELD_REF_ID field_name_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, FIELD_REF_ID, (pANTLR3_UINT8)"FIELD_REF_ID")
            	        , root_1));

            	        ADAPTOR->addChild(ADAPTOR, root_1, stream_field_name_entry == NULL ? NULL : stream_field_name_entry->nextTree(stream_field_name_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 rulefield_nameEx; /* Prevent compiler warnings */
    rulefield_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_field_name_entry != NULL) stream_field_name_entry->free(stream_field_name_entry);
    }


            if (HASEXCEPTION())
            {
                PREPORTERROR();
                PRECOVER();
                retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->errorNode(ADAPTOR, INPUT, retval.start, LT(-1), EXCEPTION));
            }
    return retval;
}
/* $ANTLR end field_name */

/**
 * $ANTLR start field_name_entry
 * MySQL.g:2644:1: field_name_entry : ( ( identifier )? DOT_SYMBOL ( identifier DOT_SYMBOL )? )? identifier ;
 */
static MySQLParser_field_name_entry_return
field_name_entry(pMySQLParser ctx)
{
    MySQLParser_field_name_entry_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    DOT_SYMBOL2942;
    pANTLR3_COMMON_TOKEN    DOT_SYMBOL2944;
    MySQLParser_identifier_return identifier2941;
    #undef	RETURN_TYPE_identifier2941
    #define	RETURN_TYPE_identifier2941 MySQLParser_identifier_return

    MySQLParser_identifier_return identifier2943;
    #undef	RETURN_TYPE_identifier2943
    #define	RETURN_TYPE_identifier2943 MySQLParser_identifier_return

    MySQLParser_identifier_return identifier2945;
    #undef	RETURN_TYPE_identifier2945
    #define	RETURN_TYPE_identifier2945 MySQLParser_identifier_return

    pANTLR3_BASE_TREE DOT_SYMBOL2942_tree;
    pANTLR3_BASE_TREE DOT_SYMBOL2944_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    DOT_SYMBOL2942       = NULL;
    DOT_SYMBOL2944       = NULL;
    identifier2941.tree = NULL;

    identifier2943.tree = NULL;

    identifier2945.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    DOT_SYMBOL2942_tree   = NULL;
    DOT_SYMBOL2944_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2644:17: ( ( ( identifier )? DOT_SYMBOL ( identifier DOT_SYMBOL )? )? identifier )
        // MySQL.g:2645:2: ( ( identifier )? DOT_SYMBOL ( identifier DOT_SYMBOL )? )? identifier
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            // MySQL.g:2645:2: ( ( identifier )? DOT_SYMBOL ( identifier DOT_SYMBOL )? )?
            {
                int alt856=2;
                {
                    int LA856_0 = LA(1);
                    if ( (LA856_0 == IDENTIFIER))
                    {
                        switch ( LA(2) )
                        {
                            case DOT_SYMBOL:
                            	{
                            		alt856=1;
                            	}
                                break;
                        }

                    }
                    else if ( (LA856_0 == BACK_TICK_QUOTED_ID))
                    {
                        switch ( LA(2) )
                        {
                            case DOT_SYMBOL:
                            	{
                            		alt856=1;
                            	}
                                break;
                        }

                    }
                    else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA856_0 == DOUBLE_QUOTED_TEXT))
                    {
                        {
                            int LA856_3 = LA(2);
                            if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA856_3 == DOT_SYMBOL))
                            {
                                alt856=1;
                            }
                        }
                    }
                    else if ( (((LA856_0 >= ACTION_SYMBOL) && (LA856_0 <= YEAR_SYMBOL))))
                    {
                        switch ( LA(2) )
                        {
                            case DOT_SYMBOL:
                            	{
                            		alt856=1;
                            	}
                                break;
                        }

                    }
                    else if ( (LA856_0 == PARTITION_SYMBOL))
                    {
                        switch ( LA(2) )
                        {
                            case DOT_SYMBOL:
                            	{
                            		alt856=1;
                            	}
                                break;
                        }

                    }
                    else if ( (((LA856_0 >= ASCII_SYMBOL) && (LA856_0 <= XA_SYMBOL))))
                    {
                        switch ( LA(2) )
                        {
                            case DOT_SYMBOL:
                            	{
                            		alt856=1;
                            	}
                                break;
                        }

                    }
                    else if ( (LA856_0 == DOT_SYMBOL))
                    {
                        alt856=1;
                    }
                }
                switch (alt856)
                {
            	case 1:
            	    // MySQL.g:2645:3: ( identifier )? DOT_SYMBOL ( identifier DOT_SYMBOL )?
            	    {
            	        // MySQL.g:2645:3: ( identifier )?
            	        {
            	            int alt854=2;
            	            {
            	                int LA854_0 = LA(1);
            	                if ( (LA854_0 == BACK_TICK_QUOTED_ID || LA854_0 == IDENTIFIER))
            	                {
            	                    alt854=1;
            	                }
            	                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA854_0 == DOUBLE_QUOTED_TEXT))
            	                {
            	                    alt854=1;
            	                }
            	                else if ( (((LA854_0 >= ACTION_SYMBOL) && (LA854_0 <= PARTITION_SYMBOL))))
            	                {
            	                    alt854=1;
            	                }
            	            }
            	            switch (alt854)
            	            {
            	        	case 1:
            	        	    // MySQL.g:2645:3: identifier
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_identifier_in_field_name_entry15203);
            	        	        identifier2941=identifier(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulefield_name_entryEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier2941.tree);

            	        	    }
            	        	    break;

            	            }
            	        }

            	        DOT_SYMBOL2942 = (pANTLR3_COMMON_TOKEN) MATCHT(DOT_SYMBOL, &FOLLOW_DOT_SYMBOL_in_field_name_entry15206);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulefield_name_entryEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        DOT_SYMBOL2942_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DOT_SYMBOL2942));
            	        ADAPTOR->addChild(ADAPTOR, root_0, DOT_SYMBOL2942_tree);
            	        }

            	        // MySQL.g:2645:26: ( identifier DOT_SYMBOL )?
            	        {
            	            int alt855=2;
            	            {
            	                int LA855_0 = LA(1);
            	                if ( (LA855_0 == IDENTIFIER))
            	                {
            	                    switch ( LA(2) )
            	                    {
            	                        case DOT_SYMBOL:
            	                        	{
            	                        		alt855=1;
            	                        	}
            	                            break;
            	                    }

            	                }
            	                else if ( (LA855_0 == BACK_TICK_QUOTED_ID))
            	                {
            	                    switch ( LA(2) )
            	                    {
            	                        case DOT_SYMBOL:
            	                        	{
            	                        		alt855=1;
            	                        	}
            	                            break;
            	                    }

            	                }
            	                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA855_0 == DOUBLE_QUOTED_TEXT))
            	                {
            	                    {
            	                        int LA855_3 = LA(2);
            	                        if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA855_3 == DOT_SYMBOL))
            	                        {
            	                            alt855=1;
            	                        }
            	                    }
            	                }
            	                else if ( (((LA855_0 >= ACTION_SYMBOL) && (LA855_0 <= YEAR_SYMBOL))))
            	                {
            	                    switch ( LA(2) )
            	                    {
            	                        case DOT_SYMBOL:
            	                        	{
            	                        		alt855=1;
            	                        	}
            	                            break;
            	                    }

            	                }
            	                else if ( (LA855_0 == PARTITION_SYMBOL))
            	                {
            	                    switch ( LA(2) )
            	                    {
            	                        case DOT_SYMBOL:
            	                        	{
            	                        		alt855=1;
            	                        	}
            	                            break;
            	                    }

            	                }
            	                else if ( (((LA855_0 >= ASCII_SYMBOL) && (LA855_0 <= XA_SYMBOL))))
            	                {
            	                    switch ( LA(2) )
            	                    {
            	                        case DOT_SYMBOL:
            	                        	{
            	                        		alt855=1;
            	                        	}
            	                            break;
            	                    }

            	                }
            	            }
            	            switch (alt855)
            	            {
            	        	case 1:
            	        	    // MySQL.g:2645:27: identifier DOT_SYMBOL
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_identifier_in_field_name_entry15209);
            	        	        identifier2943=identifier(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulefield_name_entryEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier2943.tree);

            	        	        DOT_SYMBOL2944 = (pANTLR3_COMMON_TOKEN) MATCHT(DOT_SYMBOL, &FOLLOW_DOT_SYMBOL_in_field_name_entry15211);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulefield_name_entryEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        DOT_SYMBOL2944_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DOT_SYMBOL2944));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, DOT_SYMBOL2944_tree);
            	        	        }

            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;

                }
            }

            FOLLOWPUSH(FOLLOW_identifier_in_field_name_entry15217);
            identifier2945=identifier(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulefield_name_entryEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier2945.tree);

        }

    }

    // This is where rules clean up and exit
    //
    goto rulefield_name_entryEx; /* Prevent compiler warnings */
    rulefield_name_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 field_name_entry */

/**
 * $ANTLR start column_assignment_list_with_default
 * MySQL.g:2648:1: column_assignment_list_with_default : column_assignment_with_default ( COMMA_SYMBOL column_assignment_with_default )* -> ^( COLUMN_ASSIGNMENT_LIST 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_SYMBOL2947;
    MySQLParser_column_assignment_with_default_return column_assignment_with_default2946;
    #undef	RETURN_TYPE_column_assignment_with_default2946
    #define	RETURN_TYPE_column_assignment_with_default2946 MySQLParser_column_assignment_with_default_return

    MySQLParser_column_assignment_with_default_return column_assignment_with_default2948;
    #undef	RETURN_TYPE_column_assignment_with_default2948
    #define	RETURN_TYPE_column_assignment_with_default2948 MySQLParser_column_assignment_with_default_return

    pANTLR3_BASE_TREE COMMA_SYMBOL2947_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_SYMBOL2947       = NULL;
    column_assignment_with_default2946.tree = NULL;

    column_assignment_with_default2948.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    COMMA_SYMBOL2947_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:2648:36: ( column_assignment_with_default ( COMMA_SYMBOL column_assignment_with_default )* -> ^( COLUMN_ASSIGNMENT_LIST column_assignment_with_default ( COMMA_SYMBOL column_assignment_with_default )* ) )
        // MySQL.g:2649:2: column_assignment_with_default ( COMMA_SYMBOL column_assignment_with_default )*
        {
            FOLLOWPUSH(FOLLOW_column_assignment_with_default_in_column_assignment_list_with_default15226);
            column_assignment_with_default2946=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_default2946.tree, NULL); }

            // MySQL.g:2649:33: ( COMMA_SYMBOL column_assignment_with_default )*

            for (;;)
            {
                int alt857=2;
                switch ( LA(1) )
                {
                case COMMA_SYMBOL:
                	{
                		alt857=1;
                	}
                    break;

                }

                switch (alt857)
                {
            	case 1:
            	    // MySQL.g:2649:34: COMMA_SYMBOL column_assignment_with_default
            	    {
            	        COMMA_SYMBOL2947 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_column_assignment_list_with_default15229);
            	        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_SYMBOL2947, NULL); }


            	        FOLLOWPUSH(FOLLOW_column_assignment_with_default_in_column_assignment_list_with_default15231);
            	        column_assignment_with_default2948=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_default2948.tree, NULL); }

            	    }
            	    break;

            	default:
            	    goto loop857;	/* break out of the loop */
            	    break;
                }
            }
            loop857: ; /* 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;
            	// 2650:3: -> ^( COLUMN_ASSIGNMENT_LIST column_assignment_with_default ( COMMA_SYMBOL column_assignment_with_default )* )
            	{
            	    // MySQL.g:2650:6: ^( COLUMN_ASSIGNMENT_LIST 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, (pANTLR3_UINT8)"COLUMN_ASSIGNMENT_LIST")
            	        , 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:2650:62: ( 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:2653:1: column_assignment_with_default : field_name 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_OPERATOR2950;
    pANTLR3_COMMON_TOKEN    DEFAULT_SYMBOL2952;
    MySQLParser_field_name_return field_name2949;
    #undef	RETURN_TYPE_field_name2949
    #define	RETURN_TYPE_field_name2949 MySQLParser_field_name_return

    MySQLParser_expression_return expression2951;
    #undef	RETURN_TYPE_expression2951
    #define	RETURN_TYPE_expression2951 MySQLParser_expression_return

    pANTLR3_BASE_TREE EQUAL_OPERATOR2950_tree;
    pANTLR3_BASE_TREE DEFAULT_SYMBOL2952_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    EQUAL_OPERATOR2950       = NULL;
    DEFAULT_SYMBOL2952       = NULL;
    field_name2949.tree = NULL;

    expression2951.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    EQUAL_OPERATOR2950_tree   = NULL;
    DEFAULT_SYMBOL2952_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2653:31: ( field_name EQUAL_OPERATOR ( expression | DEFAULT_SYMBOL ) )
        // MySQL.g:2654:2: field_name EQUAL_OPERATOR ( expression | DEFAULT_SYMBOL )
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            FOLLOWPUSH(FOLLOW_field_name_in_column_assignment_with_default15259);
            field_name2949=field_name(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulecolumn_assignment_with_defaultEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, field_name2949.tree);

            EQUAL_OPERATOR2950 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_column_assignment_with_default15261);
            if  (HASEXCEPTION())
            {
                goto rulecolumn_assignment_with_defaultEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            EQUAL_OPERATOR2950_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR2950));
            ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR2950_tree);
            }

            // MySQL.g:2654:28: ( expression | DEFAULT_SYMBOL )
            {
                int alt858=2;
                {
                    int LA858_0 = LA(1);
                    if ( (LA858_0 == BITWISE_NOT_OPERATOR || LA858_0 == INTERVAL_SYMBOL || LA858_0 == LOGICAL_NOT_OPERATOR || LA858_0 == MINUS_OPERATOR || LA858_0 == NCHAR_TEXT || LA858_0 == NOT2_SYMBOL || LA858_0 == NOT_SYMBOL || LA858_0 == PLUS_OPERATOR || LA858_0 == SINGLE_QUOTED_TEXT || LA858_0 == UNDERSCORE_CHARSET))
                    {
                        alt858=1;
                    }
                    else if ( ((((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES)))||((!SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))))) && (LA858_0 == DOUBLE_QUOTED_TEXT))
                    {
                        alt858=1;
                    }
                    else if ( (LA858_0 == FALSE_SYMBOL || LA858_0 == FLOAT || ((LA858_0 >= HEXNUMBER) && (LA858_0 <= HEXSTRING)) || LA858_0 == INTEGER || LA858_0 == TRUE_SYMBOL))
                    {
                        alt858=1;
                    }
                    else if ( ((SERVER_VERSION >= 50003)) && (((LA858_0 >= BITNUMBER) && (LA858_0 <= BITSTRING))))
                    {
                        alt858=1;
                    }
                    else if ( (((LA858_0 >= ACTION_SYMBOL) && (LA858_0 <= PARTITION_SYMBOL)) || ((LA858_0 >= AT_AT_SIGN_SYMBOL) && (LA858_0 <= AT_SIGN_SYMBOL)) || LA858_0 == BACK_TICK_QUOTED_ID || LA858_0 == BINARY_SYMBOL || ((LA858_0 >= BIT_AND_SYMBOL) && (LA858_0 <= BIT_XOR_SYMBOL)) || ((LA858_0 >= CASE_SYMBOL) && (LA858_0 <= CAST_SYMBOL)) || LA858_0 == CHAR_SYMBOL || ((LA858_0 >= CONVERT_SYMBOL) && (LA858_0 <= COUNT_SYMBOL)) || LA858_0 == CURDATE_SYMBOL || LA858_0 == CURRENT_USER_SYMBOL || LA858_0 == CURTIME_SYMBOL || LA858_0 == DATABASE_SYMBOL || LA858_0 == DATE_ADD_SYMBOL || LA858_0 == DATE_SUB_SYMBOL || LA858_0 == DOT_SYMBOL || LA858_0 == EXISTS_SYMBOL || LA858_0 == EXTRACT_SYMBOL || LA858_0 == GROUP_CONCAT_SYMBOL || ((LA858_0 >= IDENTIFIER) && (LA858_0 <= IF_SYMBOL)) || LA858_0 == INSERT_SYMBOL || LA858_0 == LEFT_SYMBOL || LA858_0 == MATCH_SYMBOL || LA858_0 == MAX_SYMBOL || LA858_0 == MIN_SYMBOL || LA858_0 == MOD_SYMBOL || LA858_0 == NOW_SYMBOL || LA858_0 == NULL2_SYMBOL || LA858_0 == NULL_SYMBOL || ((LA858_0 >= OPEN_CURLY_SYMBOL) && (LA858_0 <= OPEN_PAR_SYMBOL)) || LA858_0 == PARAM_MARKER || LA858_0 == POSITION_SYMBOL || ((LA858_0 >= REPEAT_SYMBOL) && (LA858_0 <= REPLACE_SYMBOL)) || LA858_0 == RIGHT_SYMBOL || LA858_0 == STDDEV_SAMP_SYMBOL || LA858_0 == STD_SYMBOL || LA858_0 == SUBSTRING_SYMBOL || ((LA858_0 >= SUM_SYMBOL) && (LA858_0 <= SYSDATE_SYMBOL)) || LA858_0 == TRIM_SYMBOL || ((LA858_0 >= UTC_DATE_SYMBOL) && (LA858_0 <= VALUES_SYMBOL)) || LA858_0 == VARIANCE_SYMBOL || LA858_0 == VAR_SAMP_SYMBOL))
                    {
                        alt858=1;
                    }
                    else if ( (LA858_0 == DEFAULT_SYMBOL))
                    {
                        alt858=2;
                    }
                    else
                    {
                        if (BACKTRACKING>0)
                        {
                            FAILEDFLAG = ANTLR3_TRUE;
                            return retval;
                        }


                        CONSTRUCTEX();
                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                        EXCEPTION->message      = (void *)"";
                        EXCEPTION->decisionNum  = 858;
                        EXCEPTION->state        = 0;


                        goto rulecolumn_assignment_with_defaultEx;

                    }
                }
                switch (alt858)
                {
            	case 1:
            	    // MySQL.g:2654:29: expression
            	    {
            	        FOLLOWPUSH(FOLLOW_expression_in_column_assignment_with_default15264);
            	        expression2951=expression(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecolumn_assignment_with_defaultEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2951.tree);

            	    }
            	    break;
            	case 2:
            	    // MySQL.g:2654:42: DEFAULT_SYMBOL
            	    {
            	        DEFAULT_SYMBOL2952 = (pANTLR3_COMMON_TOKEN) MATCHT(DEFAULT_SYMBOL, &FOLLOW_DEFAULT_SYMBOL_in_column_assignment_with_default15268);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecolumn_assignment_with_defaultEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        DEFAULT_SYMBOL2952_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DEFAULT_SYMBOL2952));
            	        ADAPTOR->addChild(ADAPTOR, root_0, DEFAULT_SYMBOL2952_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:2657: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_SYMBOL2955;
    pANTLR3_COMMON_TOKEN    BINARY_SYMBOL2956;
    MySQLParser_charset_return charset2953;
    #undef	RETURN_TYPE_charset2953
    #define	RETURN_TYPE_charset2953 MySQLParser_charset_return

    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;
    pANTLR3_BASE_TREE BINARY_SYMBOL2956_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    DEFAULT_SYMBOL2955       = NULL;
    BINARY_SYMBOL2956       = NULL;
    charset2953.tree = NULL;

    text_or_identifier2954.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    DEFAULT_SYMBOL2955_tree   = NULL;
    BINARY_SYMBOL2956_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2657:15: ( charset ( text_or_identifier | DEFAULT_SYMBOL | BINARY_SYMBOL ) )
        // MySQL.g:2658:2: charset ( text_or_identifier | DEFAULT_SYMBOL | BINARY_SYMBOL )
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            FOLLOWPUSH(FOLLOW_charset_in_charset_clause15278);
            charset2953=charset(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulecharset_clauseEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, charset2953.tree);

            // MySQL.g:2658:10: ( text_or_identifier | DEFAULT_SYMBOL | BINARY_SYMBOL )
            {
                int alt859=3;
                {
                    int LA859_0 = LA(1);
                    if ( (LA859_0 == NCHAR_TEXT || LA859_0 == SINGLE_QUOTED_TEXT || LA859_0 == UNDERSCORE_CHARSET))
                    {
                        alt859=1;
                    }
                    else if ( ((((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES)))||((!SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))))) && (LA859_0 == DOUBLE_QUOTED_TEXT))
                    {
                        alt859=1;
                    }
                    else if ( (((LA859_0 >= ACTION_SYMBOL) && (LA859_0 <= PARTITION_SYMBOL)) || LA859_0 == BACK_TICK_QUOTED_ID || LA859_0 == IDENTIFIER))
                    {
                        alt859=1;
                    }
                    else if ( (LA859_0 == DEFAULT_SYMBOL))
                    {
                        alt859=2;
                    }
                    else if ( (LA859_0 == BINARY_SYMBOL))
                    {
                        alt859=3;
                    }
                    else
                    {
                        if (BACKTRACKING>0)
                        {
                            FAILEDFLAG = ANTLR3_TRUE;
                            return retval;
                        }


                        CONSTRUCTEX();
                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                        EXCEPTION->message      = (void *)"";
                        EXCEPTION->decisionNum  = 859;
                        EXCEPTION->state        = 0;


                        goto rulecharset_clauseEx;

                    }
                }
                switch (alt859)
                {
            	case 1:
            	    // MySQL.g:2658:11: text_or_identifier
            	    {
            	        FOLLOWPUSH(FOLLOW_text_or_identifier_in_charset_clause15281);
            	        text_or_identifier2954=text_or_identifier(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecharset_clauseEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, text_or_identifier2954.tree);

            	    }
            	    break;
            	case 2:
            	    // MySQL.g:2658:32: DEFAULT_SYMBOL
            	    {
            	        DEFAULT_SYMBOL2955 = (pANTLR3_COMMON_TOKEN) MATCHT(DEFAULT_SYMBOL, &FOLLOW_DEFAULT_SYMBOL_in_charset_clause15285);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecharset_clauseEx;
            	        }
            	        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;
            	case 3:
            	    // MySQL.g:2658:49: BINARY_SYMBOL
            	    {
            	        BINARY_SYMBOL2956 = (pANTLR3_COMMON_TOKEN) MATCHT(BINARY_SYMBOL, &FOLLOW_BINARY_SYMBOL_in_charset_clause15289);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecharset_clauseEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        BINARY_SYMBOL2956_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, BINARY_SYMBOL2956));
            	        ADAPTOR->addChild(ADAPTOR, root_0, BINARY_SYMBOL2956_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:2661: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_SYMBOL2957;
    MySQLParser_field_term_return field_term2958;
    #undef	RETURN_TYPE_field_term2958
    #define	RETURN_TYPE_field_term2958 MySQLParser_field_term_return

    pANTLR3_BASE_TREE COLUMNS_SYMBOL2957_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    COLUMNS_SYMBOL2957       = NULL;
    field_term2958.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    COLUMNS_SYMBOL2957_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2661:14: ( COLUMNS_SYMBOL ( field_term )+ )
        // MySQL.g:2662:2: COLUMNS_SYMBOL ( field_term )+
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            COLUMNS_SYMBOL2957 = (pANTLR3_COMMON_TOKEN) MATCHT(COLUMNS_SYMBOL, &FOLLOW_COLUMNS_SYMBOL_in_fields_clause15299);
            if  (HASEXCEPTION())
            {
                goto rulefields_clauseEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            COLUMNS_SYMBOL2957_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COLUMNS_SYMBOL2957));
            ADAPTOR->addChild(ADAPTOR, root_0, COLUMNS_SYMBOL2957_tree);
            }

            // MySQL.g:2662:17: ( field_term )+
            {
                int cnt860=0;

                for (;;)
                {
                    int alt860=2;
            	switch ( LA(1) )
            	{
            	case ENCLOSED_SYMBOL:
            	case ESCAPED_SYMBOL:
            	case OPTIONALLY_SYMBOL:
            	case TERMINATED_SYMBOL:
            		{
            			alt860=1;
            		}
            	    break;

            	}

            	switch (alt860)
            	{
            	    case 1:
            	        // MySQL.g:2662:17: field_term
            	        {
            	            FOLLOWPUSH(FOLLOW_field_term_in_fields_clause15301);
            	            field_term2958=field_term(ctx);

            	            FOLLOWPOP();
            	            if  (HASEXCEPTION())
            	            {
            	                goto rulefields_clauseEx;
            	            }
            	            if (HASFAILED())
            	            {
            	                return retval;
            	            }

            	            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, field_term2958.tree);

            	        }
            	        break;

            	    default:

            		if ( cnt860 >= 1 )
            		{
            		    goto loop860;
            		}
            		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;
            	}
            	cnt860++;
                }
                loop860: ;	/* 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:2665:1: field_term : ( TERMINATED_SYMBOL BY_SYMBOL string_literal | ( OPTIONALLY_SYMBOL )? ENCLOSED_SYMBOL BY_SYMBOL string_literal | ESCAPED_SYMBOL BY_SYMBOL string_literal );
 */
static MySQLParser_field_term_return
field_term(pMySQLParser ctx)
{
    MySQLParser_field_term_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    TERMINATED_SYMBOL2959;
    pANTLR3_COMMON_TOKEN    BY_SYMBOL2960;
    pANTLR3_COMMON_TOKEN    OPTIONALLY_SYMBOL2962;
    pANTLR3_COMMON_TOKEN    ENCLOSED_SYMBOL2963;
    pANTLR3_COMMON_TOKEN    BY_SYMBOL2964;
    pANTLR3_COMMON_TOKEN    ESCAPED_SYMBOL2966;
    pANTLR3_COMMON_TOKEN    BY_SYMBOL2967;
    MySQLParser_string_literal_return string_literal2961;
    #undef	RETURN_TYPE_string_literal2961
    #define	RETURN_TYPE_string_literal2961 MySQLParser_string_literal_return

    MySQLParser_string_literal_return string_literal2965;
    #undef	RETURN_TYPE_string_literal2965
    #define	RETURN_TYPE_string_literal2965 MySQLParser_string_literal_return

    MySQLParser_string_literal_return string_literal2968;
    #undef	RETURN_TYPE_string_literal2968
    #define	RETURN_TYPE_string_literal2968 MySQLParser_string_literal_return

    pANTLR3_BASE_TREE TERMINATED_SYMBOL2959_tree;
    pANTLR3_BASE_TREE BY_SYMBOL2960_tree;
    pANTLR3_BASE_TREE OPTIONALLY_SYMBOL2962_tree;
    pANTLR3_BASE_TREE ENCLOSED_SYMBOL2963_tree;
    pANTLR3_BASE_TREE BY_SYMBOL2964_tree;
    pANTLR3_BASE_TREE ESCAPED_SYMBOL2966_tree;
    pANTLR3_BASE_TREE BY_SYMBOL2967_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    TERMINATED_SYMBOL2959       = NULL;
    BY_SYMBOL2960       = NULL;
    OPTIONALLY_SYMBOL2962       = NULL;
    ENCLOSED_SYMBOL2963       = NULL;
    BY_SYMBOL2964       = NULL;
    ESCAPED_SYMBOL2966       = NULL;
    BY_SYMBOL2967       = NULL;
    string_literal2961.tree = NULL;

    string_literal2965.tree = NULL;

    string_literal2968.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    TERMINATED_SYMBOL2959_tree   = NULL;
    BY_SYMBOL2960_tree   = NULL;
    OPTIONALLY_SYMBOL2962_tree   = NULL;
    ENCLOSED_SYMBOL2963_tree   = NULL;
    BY_SYMBOL2964_tree   = NULL;
    ESCAPED_SYMBOL2966_tree   = NULL;
    BY_SYMBOL2967_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:2665:11: ( TERMINATED_SYMBOL BY_SYMBOL string_literal | ( OPTIONALLY_SYMBOL )? ENCLOSED_SYMBOL BY_SYMBOL string_literal | ESCAPED_SYMBOL BY_SYMBOL string_literal )

            ANTLR3_UINT32 alt862;

            alt862=3;

            switch ( LA(1) )
            {
            case TERMINATED_SYMBOL:
            	{
            		alt862=1;
            	}
                break;
            case ENCLOSED_SYMBOL:
            case OPTIONALLY_SYMBOL:
            	{
            		alt862=2;
            	}
                break;
            case ESCAPED_SYMBOL:
            	{
            		alt862=3;
            	}
                break;

            default:
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                EXCEPTION->message      = (void *)"";
                EXCEPTION->decisionNum  = 862;
                EXCEPTION->state        = 0;


                goto rulefield_termEx;

            }

            switch (alt862)
            {
        	case 1:
        	    // MySQL.g:2666:2: TERMINATED_SYMBOL BY_SYMBOL string_literal
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        TERMINATED_SYMBOL2959 = (pANTLR3_COMMON_TOKEN) MATCHT(TERMINATED_SYMBOL, &FOLLOW_TERMINATED_SYMBOL_in_field_term15311);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefield_termEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        TERMINATED_SYMBOL2959_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, TERMINATED_SYMBOL2959));
        	        ADAPTOR->addChild(ADAPTOR, root_0, TERMINATED_SYMBOL2959_tree);
        	        }

        	        BY_SYMBOL2960 = (pANTLR3_COMMON_TOKEN) MATCHT(BY_SYMBOL, &FOLLOW_BY_SYMBOL_in_field_term15313);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefield_termEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        BY_SYMBOL2960_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, BY_SYMBOL2960));
        	        ADAPTOR->addChild(ADAPTOR, root_0, BY_SYMBOL2960_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_string_literal_in_field_term15315);
        	        string_literal2961=string_literal(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefield_termEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_literal2961.tree);

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:2667:4: ( OPTIONALLY_SYMBOL )? ENCLOSED_SYMBOL BY_SYMBOL string_literal
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        // MySQL.g:2667:4: ( OPTIONALLY_SYMBOL )?
        	        {
        	            int alt861=2;
        	            switch ( LA(1) )
        	            {
        	                case OPTIONALLY_SYMBOL:
        	                	{
        	                		alt861=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt861)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2667:4: OPTIONALLY_SYMBOL
        	        	    {
        	        	        OPTIONALLY_SYMBOL2962 = (pANTLR3_COMMON_TOKEN) MATCHT(OPTIONALLY_SYMBOL, &FOLLOW_OPTIONALLY_SYMBOL_in_field_term15320);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulefield_termEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        OPTIONALLY_SYMBOL2962_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPTIONALLY_SYMBOL2962));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, OPTIONALLY_SYMBOL2962_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	        ENCLOSED_SYMBOL2963 = (pANTLR3_COMMON_TOKEN) MATCHT(ENCLOSED_SYMBOL, &FOLLOW_ENCLOSED_SYMBOL_in_field_term15323);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefield_termEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        ENCLOSED_SYMBOL2963_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ENCLOSED_SYMBOL2963));
        	        ADAPTOR->addChild(ADAPTOR, root_0, ENCLOSED_SYMBOL2963_tree);
        	        }

        	        BY_SYMBOL2964 = (pANTLR3_COMMON_TOKEN) MATCHT(BY_SYMBOL, &FOLLOW_BY_SYMBOL_in_field_term15325);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefield_termEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        BY_SYMBOL2964_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, BY_SYMBOL2964));
        	        ADAPTOR->addChild(ADAPTOR, root_0, BY_SYMBOL2964_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_string_literal_in_field_term15327);
        	        string_literal2965=string_literal(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefield_termEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_literal2965.tree);

        	    }
        	    break;
        	case 3:
        	    // MySQL.g:2668:4: ESCAPED_SYMBOL BY_SYMBOL string_literal
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        ESCAPED_SYMBOL2966 = (pANTLR3_COMMON_TOKEN) MATCHT(ESCAPED_SYMBOL, &FOLLOW_ESCAPED_SYMBOL_in_field_term15332);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefield_termEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        ESCAPED_SYMBOL2966_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ESCAPED_SYMBOL2966));
        	        ADAPTOR->addChild(ADAPTOR, root_0, ESCAPED_SYMBOL2966_tree);
        	        }

        	        BY_SYMBOL2967 = (pANTLR3_COMMON_TOKEN) MATCHT(BY_SYMBOL, &FOLLOW_BY_SYMBOL_in_field_term15334);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefield_termEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        BY_SYMBOL2967_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, BY_SYMBOL2967));
        	        ADAPTOR->addChild(ADAPTOR, root_0, BY_SYMBOL2967_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_string_literal_in_field_term15336);
        	        string_literal2968=string_literal(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefield_termEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_literal2968.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:2671: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_SYMBOL2969;
    MySQLParser_line_term_return line_term2970;
    #undef	RETURN_TYPE_line_term2970
    #define	RETURN_TYPE_line_term2970 MySQLParser_line_term_return

    pANTLR3_BASE_TREE LINES_SYMBOL2969_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    LINES_SYMBOL2969       = NULL;
    line_term2970.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    LINES_SYMBOL2969_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2671:13: ( LINES_SYMBOL ( line_term )+ )
        // MySQL.g:2672:2: LINES_SYMBOL ( line_term )+
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            LINES_SYMBOL2969 = (pANTLR3_COMMON_TOKEN) MATCHT(LINES_SYMBOL, &FOLLOW_LINES_SYMBOL_in_lines_clause15345);
            if  (HASEXCEPTION())
            {
                goto rulelines_clauseEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            LINES_SYMBOL2969_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, LINES_SYMBOL2969));
            ADAPTOR->addChild(ADAPTOR, root_0, LINES_SYMBOL2969_tree);
            }

            // MySQL.g:2672:15: ( line_term )+
            {
                int cnt863=0;

                for (;;)
                {
                    int alt863=2;
            	switch ( LA(1) )
            	{
            	case STARTING_SYMBOL:
            	case TERMINATED_SYMBOL:
            		{
            			alt863=1;
            		}
            	    break;

            	}

            	switch (alt863)
            	{
            	    case 1:
            	        // MySQL.g:2672:15: line_term
            	        {
            	            FOLLOWPUSH(FOLLOW_line_term_in_lines_clause15347);
            	            line_term2970=line_term(ctx);

            	            FOLLOWPOP();
            	            if  (HASEXCEPTION())
            	            {
            	                goto rulelines_clauseEx;
            	            }
            	            if (HASFAILED())
            	            {
            	                return retval;
            	            }

            	            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, line_term2970.tree);

            	        }
            	        break;

            	    default:

            		if ( cnt863 >= 1 )
            		{
            		    goto loop863;
            		}
            		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;
            	}
            	cnt863++;
                }
                loop863: ;	/* 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:2675:1: line_term : ( TERMINATED_SYMBOL | STARTING_SYMBOL ) BY_SYMBOL string_literal ;
 */
static MySQLParser_line_term_return
line_term(pMySQLParser ctx)
{
    MySQLParser_line_term_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    set2971;
    pANTLR3_COMMON_TOKEN    BY_SYMBOL2972;
    MySQLParser_string_literal_return string_literal2973;
    #undef	RETURN_TYPE_string_literal2973
    #define	RETURN_TYPE_string_literal2973 MySQLParser_string_literal_return

    pANTLR3_BASE_TREE set2971_tree;
    pANTLR3_BASE_TREE BY_SYMBOL2972_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    set2971       = NULL;
    BY_SYMBOL2972       = NULL;
    string_literal2973.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    set2971_tree   = NULL;
    BY_SYMBOL2972_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2675:10: ( ( TERMINATED_SYMBOL | STARTING_SYMBOL ) BY_SYMBOL string_literal )
        // MySQL.g:2676:2: ( TERMINATED_SYMBOL | STARTING_SYMBOL ) BY_SYMBOL string_literal
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            set2971=(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, set2971))
                );
                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_SYMBOL2972 = (pANTLR3_COMMON_TOKEN) MATCHT(BY_SYMBOL, &FOLLOW_BY_SYMBOL_in_line_term15365);
            if  (HASEXCEPTION())
            {
                goto ruleline_termEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            BY_SYMBOL2972_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, BY_SYMBOL2972));
            ADAPTOR->addChild(ADAPTOR, root_0, BY_SYMBOL2972_tree);
            }

            FOLLOWPUSH(FOLLOW_string_literal_in_line_term15367);
            string_literal2973=string_literal(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruleline_termEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_literal2973.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:2679: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_SYMBOL2975;
    MySQLParser_user_return user2974;
    #undef	RETURN_TYPE_user2974
    #define	RETURN_TYPE_user2974 MySQLParser_user_return

    MySQLParser_user_return user2976;
    #undef	RETURN_TYPE_user2976
    #define	RETURN_TYPE_user2976 MySQLParser_user_return

    pANTLR3_BASE_TREE COMMA_SYMBOL2975_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    COMMA_SYMBOL2975       = NULL;
    user2974.tree = NULL;

    user2976.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    COMMA_SYMBOL2975_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2679:10: ( user ( COMMA_SYMBOL user )* )
        // MySQL.g:2680:2: user ( COMMA_SYMBOL user )*
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            FOLLOWPUSH(FOLLOW_user_in_user_list15376);
            user2974=user(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruleuser_listEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, user2974.tree);

            // MySQL.g:2680:7: ( COMMA_SYMBOL user )*

            for (;;)
            {
                int alt864=2;
                switch ( LA(1) )
                {
                case COMMA_SYMBOL:
                	{
                		alt864=1;
                	}
                    break;

                }

                switch (alt864)
                {
            	case 1:
            	    // MySQL.g:2680:8: COMMA_SYMBOL user
            	    {
            	        COMMA_SYMBOL2975 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_user_list15379);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleuser_listEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        COMMA_SYMBOL2975_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL2975));
            	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL2975_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_user_in_user_list15381);
            	        user2976=user(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleuser_listEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, user2976.tree);

            	    }
            	    break;

            	default:
            	    goto loop864;	/* break out of the loop */
            	    break;
                }
            }
            loop864: ; /* 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:2683: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_SYMBOL2978;
    pANTLR3_COMMON_TOKEN    BY_SYMBOL2979;
    pANTLR3_COMMON_TOKEN    PASSWORD_SYMBOL2980;
    pANTLR3_COMMON_TOKEN    WITH_SYMBOL2982;
    pANTLR3_COMMON_TOKEN    AS_SYMBOL2984;
    MySQLParser_user_return user2977;
    #undef	RETURN_TYPE_user2977
    #define	RETURN_TYPE_user2977 MySQLParser_user_return

    MySQLParser_string_literal_return string_literal2981;
    #undef	RETURN_TYPE_string_literal2981
    #define	RETURN_TYPE_string_literal2981 MySQLParser_string_literal_return

    MySQLParser_pure_identifier_return pure_identifier2983;
    #undef	RETURN_TYPE_pure_identifier2983
    #define	RETURN_TYPE_pure_identifier2983 MySQLParser_pure_identifier_return

    MySQLParser_string_literal_return string_literal2985;
    #undef	RETURN_TYPE_string_literal2985
    #define	RETURN_TYPE_string_literal2985 MySQLParser_string_literal_return

    pANTLR3_BASE_TREE IDENTIFIED_SYMBOL2978_tree;
    pANTLR3_BASE_TREE BY_SYMBOL2979_tree;
    pANTLR3_BASE_TREE PASSWORD_SYMBOL2980_tree;
    pANTLR3_BASE_TREE WITH_SYMBOL2982_tree;
    pANTLR3_BASE_TREE AS_SYMBOL2984_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    IDENTIFIED_SYMBOL2978       = NULL;
    BY_SYMBOL2979       = NULL;
    PASSWORD_SYMBOL2980       = NULL;
    WITH_SYMBOL2982       = NULL;
    AS_SYMBOL2984       = NULL;
    user2977.tree = NULL;

    string_literal2981.tree = NULL;

    pure_identifier2983.tree = NULL;

    string_literal2985.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    IDENTIFIED_SYMBOL2978_tree   = NULL;
    BY_SYMBOL2979_tree   = NULL;
    PASSWORD_SYMBOL2980_tree   = NULL;
    WITH_SYMBOL2982_tree   = NULL;
    AS_SYMBOL2984_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2683:19: ( user ( IDENTIFIED_SYMBOL ( BY_SYMBOL ( PASSWORD_SYMBOL )? string_literal | WITH_SYMBOL pure_identifier ( AS_SYMBOL string_literal )? ) )? )
        // MySQL.g:2684: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_specification15392);
            user2977=user(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruleuser_specificationEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, user2977.tree);

            // MySQL.g:2685:2: ( IDENTIFIED_SYMBOL ( BY_SYMBOL ( PASSWORD_SYMBOL )? string_literal | WITH_SYMBOL pure_identifier ( AS_SYMBOL string_literal )? ) )?
            {
                int alt868=2;
                switch ( LA(1) )
                {
                    case IDENTIFIED_SYMBOL:
                    	{
                    		alt868=1;
                    	}
                        break;
                }

                switch (alt868)
                {
            	case 1:
            	    // MySQL.g:2686:3: IDENTIFIED_SYMBOL ( BY_SYMBOL ( PASSWORD_SYMBOL )? string_literal | WITH_SYMBOL pure_identifier ( AS_SYMBOL string_literal )? )
            	    {
            	        IDENTIFIED_SYMBOL2978 = (pANTLR3_COMMON_TOKEN) MATCHT(IDENTIFIED_SYMBOL, &FOLLOW_IDENTIFIED_SYMBOL_in_user_specification15399);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleuser_specificationEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        IDENTIFIED_SYMBOL2978_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, IDENTIFIED_SYMBOL2978));
            	        ADAPTOR->addChild(ADAPTOR, root_0, IDENTIFIED_SYMBOL2978_tree);
            	        }

            	        // MySQL.g:2687:3: ( BY_SYMBOL ( PASSWORD_SYMBOL )? string_literal | WITH_SYMBOL pure_identifier ( AS_SYMBOL string_literal )? )
            	        {
            	            int alt867=2;
            	            switch ( LA(1) )
            	            {
            	            case BY_SYMBOL:
            	            	{
            	            		alt867=1;
            	            	}
            	                break;
            	            case WITH_SYMBOL:
            	            	{
            	            		alt867=2;
            	            	}
            	                break;

            	            default:
            	                if (BACKTRACKING>0)
            	                {
            	                    FAILEDFLAG = ANTLR3_TRUE;
            	                    return retval;
            	                }

            	                CONSTRUCTEX();
            	                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
            	                EXCEPTION->message      = (void *)"";
            	                EXCEPTION->decisionNum  = 867;
            	                EXCEPTION->state        = 0;


            	                goto ruleuser_specificationEx;

            	            }

            	            switch (alt867)
            	            {
            	        	case 1:
            	        	    // MySQL.g:2688:4: BY_SYMBOL ( PASSWORD_SYMBOL )? string_literal
            	        	    {
            	        	        BY_SYMBOL2979 = (pANTLR3_COMMON_TOKEN) MATCHT(BY_SYMBOL, &FOLLOW_BY_SYMBOL_in_user_specification15408);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleuser_specificationEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        BY_SYMBOL2979_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, BY_SYMBOL2979));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, BY_SYMBOL2979_tree);
            	        	        }

            	        	        // MySQL.g:2688:14: ( PASSWORD_SYMBOL )?
            	        	        {
            	        	            int alt865=2;
            	        	            switch ( LA(1) )
            	        	            {
            	        	                case PASSWORD_SYMBOL:
            	        	                	{
            	        	                		alt865=1;
            	        	                	}
            	        	                    break;
            	        	            }

            	        	            switch (alt865)
            	        	            {
            	        	        	case 1:
            	        	        	    // MySQL.g:2688:14: PASSWORD_SYMBOL
            	        	        	    {
            	        	        	        PASSWORD_SYMBOL2980 = (pANTLR3_COMMON_TOKEN) MATCHT(PASSWORD_SYMBOL, &FOLLOW_PASSWORD_SYMBOL_in_user_specification15410);
            	        	        	        if  (HASEXCEPTION())
            	        	        	        {
            	        	        	            goto ruleuser_specificationEx;
            	        	        	        }
            	        	        	        if (HASFAILED())
            	        	        	        {
            	        	        	            return retval;
            	        	        	        }

            	        	        	        if ( BACKTRACKING==0 ) {
            	        	        	        PASSWORD_SYMBOL2980_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, PASSWORD_SYMBOL2980));
            	        	        	        ADAPTOR->addChild(ADAPTOR, root_0, PASSWORD_SYMBOL2980_tree);
            	        	        	        }

            	        	        	    }
            	        	        	    break;

            	        	            }
            	        	        }

            	        	        FOLLOWPUSH(FOLLOW_string_literal_in_user_specification15413);
            	        	        string_literal2981=string_literal(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleuser_specificationEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_literal2981.tree);

            	        	    }
            	        	    break;
            	        	case 2:
            	        	    // MySQL.g:2689:6: WITH_SYMBOL pure_identifier ( AS_SYMBOL string_literal )?
            	        	    {
            	        	        WITH_SYMBOL2982 = (pANTLR3_COMMON_TOKEN) MATCHT(WITH_SYMBOL, &FOLLOW_WITH_SYMBOL_in_user_specification15420);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleuser_specificationEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        WITH_SYMBOL2982_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, WITH_SYMBOL2982));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, WITH_SYMBOL2982_tree);
            	        	        }

            	        	        FOLLOWPUSH(FOLLOW_pure_identifier_in_user_specification15422);
            	        	        pure_identifier2983=pure_identifier(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleuser_specificationEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, pure_identifier2983.tree);

            	        	        // MySQL.g:2689:34: ( AS_SYMBOL string_literal )?
            	        	        {
            	        	            int alt866=2;
            	        	            switch ( LA(1) )
            	        	            {
            	        	                case AS_SYMBOL:
            	        	                	{
            	        	                		alt866=1;
            	        	                	}
            	        	                    break;
            	        	            }

            	        	            switch (alt866)
            	        	            {
            	        	        	case 1:
            	        	        	    // MySQL.g:2689:35: AS_SYMBOL string_literal
            	        	        	    {
            	        	        	        AS_SYMBOL2984 = (pANTLR3_COMMON_TOKEN) MATCHT(AS_SYMBOL, &FOLLOW_AS_SYMBOL_in_user_specification15425);
            	        	        	        if  (HASEXCEPTION())
            	        	        	        {
            	        	        	            goto ruleuser_specificationEx;
            	        	        	        }
            	        	        	        if (HASFAILED())
            	        	        	        {
            	        	        	            return retval;
            	        	        	        }

            	        	        	        if ( BACKTRACKING==0 ) {
            	        	        	        AS_SYMBOL2984_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, AS_SYMBOL2984));
            	        	        	        ADAPTOR->addChild(ADAPTOR, root_0, AS_SYMBOL2984_tree);
            	        	        	        }

            	        	        	        FOLLOWPUSH(FOLLOW_string_literal_in_user_specification15427);
            	        	        	        string_literal2985=string_literal(ctx);

            	        	        	        FOLLOWPOP();
            	        	        	        if  (HASEXCEPTION())
            	        	        	        {
            	        	        	            goto ruleuser_specificationEx;
            	        	        	        }
            	        	        	        if (HASFAILED())
            	        	        	        {
            	        	        	            return retval;
            	        	        	        }

            	        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_literal2985.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:2694:1: user : ( text_or_identifier ( AT_SIGN_SYMBOL text_or_identifier )? | 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_SYMBOL2987;
    pANTLR3_COMMON_TOKEN    CURRENT_USER_SYMBOL2989;
    MySQLParser_text_or_identifier_return text_or_identifier2986;
    #undef	RETURN_TYPE_text_or_identifier2986
    #define	RETURN_TYPE_text_or_identifier2986 MySQLParser_text_or_identifier_return

    MySQLParser_text_or_identifier_return text_or_identifier2988;
    #undef	RETURN_TYPE_text_or_identifier2988
    #define	RETURN_TYPE_text_or_identifier2988 MySQLParser_text_or_identifier_return

    MySQLParser_parentheses_return parentheses2990;
    #undef	RETURN_TYPE_parentheses2990
    #define	RETURN_TYPE_parentheses2990 MySQLParser_parentheses_return

    pANTLR3_BASE_TREE AT_SIGN_SYMBOL2987_tree;
    pANTLR3_BASE_TREE CURRENT_USER_SYMBOL2989_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    AT_SIGN_SYMBOL2987       = NULL;
    CURRENT_USER_SYMBOL2989       = NULL;
    text_or_identifier2986.tree = NULL;

    text_or_identifier2988.tree = NULL;

    parentheses2990.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    AT_SIGN_SYMBOL2987_tree   = NULL;
    CURRENT_USER_SYMBOL2989_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:2694:5: ( text_or_identifier ( AT_SIGN_SYMBOL text_or_identifier )? | CURRENT_USER_SYMBOL ( parentheses )? )

            ANTLR3_UINT32 alt871;

            alt871=2;

            {
                int LA871_0 = LA(1);
                if ( (LA871_0 == NCHAR_TEXT || LA871_0 == SINGLE_QUOTED_TEXT || LA871_0 == UNDERSCORE_CHARSET))
                {
                    alt871=1;
                }
                else if ( ((((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES)))||((!SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))))) && (LA871_0 == DOUBLE_QUOTED_TEXT))
                {
                    alt871=1;
                }
                else if ( (((LA871_0 >= ACTION_SYMBOL) && (LA871_0 <= PARTITION_SYMBOL)) || LA871_0 == BACK_TICK_QUOTED_ID || LA871_0 == IDENTIFIER))
                {
                    alt871=1;
                }
                else if ( (LA871_0 == CURRENT_USER_SYMBOL))
                {
                    alt871=2;
                }
                else
                {
                    if (BACKTRACKING>0)
                    {
                        FAILEDFLAG = ANTLR3_TRUE;
                        return retval;
                    }


                    CONSTRUCTEX();
                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    EXCEPTION->message      = (void *)"";
                    EXCEPTION->decisionNum  = 871;
                    EXCEPTION->state        = 0;


                    goto ruleuserEx;

                }
            }
            switch (alt871)
            {
        	case 1:
        	    // MySQL.g:2695:2: text_or_identifier ( AT_SIGN_SYMBOL text_or_identifier )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_text_or_identifier_in_user15446);
        	        text_or_identifier2986=text_or_identifier(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleuserEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, text_or_identifier2986.tree);

        	        // MySQL.g:2695:21: ( AT_SIGN_SYMBOL text_or_identifier )?
        	        {
        	            int alt869=2;
        	            switch ( LA(1) )
        	            {
        	                case AT_SIGN_SYMBOL:
        	                	{
        	                		alt869=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt869)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2695:22: AT_SIGN_SYMBOL text_or_identifier
        	        	    {
        	        	        AT_SIGN_SYMBOL2987 = (pANTLR3_COMMON_TOKEN) MATCHT(AT_SIGN_SYMBOL, &FOLLOW_AT_SIGN_SYMBOL_in_user15449);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleuserEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        AT_SIGN_SYMBOL2987_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, AT_SIGN_SYMBOL2987));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, AT_SIGN_SYMBOL2987_tree);
        	        	        }

        	        	        FOLLOWPUSH(FOLLOW_text_or_identifier_in_user15451);
        	        	        text_or_identifier2988=text_or_identifier(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleuserEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, text_or_identifier2988.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:2696:4: CURRENT_USER_SYMBOL ( parentheses )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        CURRENT_USER_SYMBOL2989 = (pANTLR3_COMMON_TOKEN) MATCHT(CURRENT_USER_SYMBOL, &FOLLOW_CURRENT_USER_SYMBOL_in_user15458);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleuserEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CURRENT_USER_SYMBOL2989_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CURRENT_USER_SYMBOL2989));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CURRENT_USER_SYMBOL2989_tree);
        	        }

        	        // MySQL.g:2696:24: ( parentheses )?
        	        {
        	            int alt870=2;
        	            switch ( LA(1) )
        	            {
        	                case OPEN_PAR_SYMBOL:
        	                	{
        	                		alt870=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt870)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2696:24: parentheses
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_parentheses_in_user15460);
        	        	        parentheses2990=parentheses(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleuserEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, parentheses2990.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:2699: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_SYMBOL2991;
    MySQLParser_text_or_param_marker_return text_or_param_marker2992;
    #undef	RETURN_TYPE_text_or_param_marker2992
    #define	RETURN_TYPE_text_or_param_marker2992 MySQLParser_text_or_param_marker_return

    pANTLR3_BASE_TREE LIKE_SYMBOL2991_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    LIKE_SYMBOL2991       = NULL;
    text_or_param_marker2992.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    LIKE_SYMBOL2991_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2699:12: ( LIKE_SYMBOL text_or_param_marker )
        // MySQL.g:2700:2: LIKE_SYMBOL text_or_param_marker
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            LIKE_SYMBOL2991 = (pANTLR3_COMMON_TOKEN) MATCHT(LIKE_SYMBOL, &FOLLOW_LIKE_SYMBOL_in_like_clause15470);
            if  (HASEXCEPTION())
            {
                goto rulelike_clauseEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            LIKE_SYMBOL2991_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, LIKE_SYMBOL2991));
            ADAPTOR->addChild(ADAPTOR, root_0, LIKE_SYMBOL2991_tree);
            }

            FOLLOWPUSH(FOLLOW_text_or_param_marker_in_like_clause15472);
            text_or_param_marker2992=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_marker2992.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:2703: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_clause2993;
    #undef	RETURN_TYPE_like_clause2993
    #define	RETURN_TYPE_like_clause2993 MySQLParser_like_clause_return

    MySQLParser_where_clause_return where_clause2994;
    #undef	RETURN_TYPE_where_clause2994
    #define	RETURN_TYPE_where_clause2994 MySQLParser_where_clause_return


    /* Initialize rule variables
     */

    root_0 = NULL;

    like_clause2993.tree = NULL;

    where_clause2994.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;




    retval.tree  = NULL;

    {
        {
            //  MySQL.g:2703:14: ( like_clause | where_clause )

            ANTLR3_UINT32 alt872;

            alt872=2;

            switch ( LA(1) )
            {
            case LIKE_SYMBOL:
            	{
            		alt872=1;
            	}
                break;
            case WHERE_SYMBOL:
            	{
            		alt872=2;
            	}
                break;

            default:
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                EXCEPTION->message      = (void *)"";
                EXCEPTION->decisionNum  = 872;
                EXCEPTION->state        = 0;


                goto rulelike_or_whereEx;

            }

            switch (alt872)
            {
        	case 1:
        	    // MySQL.g:2704:2: like_clause
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_like_clause_in_like_or_where15481);
        	        like_clause2993=like_clause(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulelike_or_whereEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, like_clause2993.tree);

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:2704:16: where_clause
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_where_clause_in_like_or_where15485);
        	        where_clause2994=where_clause(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulelike_or_whereEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, where_clause2994.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:2707: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    set2995;

    pANTLR3_BASE_TREE set2995_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    set2995       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    set2995_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2707:14: ({...}? => ( ONLINE_SYMBOL | OFFLINE_SYMBOL ) )
        // MySQL.g:2708: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";


            }

            set2995=(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, set2995))
                );
                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:2711: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_SYMBOL2996;
    pANTLR3_COMMON_TOKEN    NO_WRITE_TO_BINLOG_SYMBOL2997;

    pANTLR3_BASE_TREE LOCAL_SYMBOL2996_tree;
    pANTLR3_BASE_TREE NO_WRITE_TO_BINLOG_SYMBOL2997_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    LOCAL_SYMBOL2996       = NULL;
    NO_WRITE_TO_BINLOG_SYMBOL2997       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    LOCAL_SYMBOL2996_tree   = NULL;
    NO_WRITE_TO_BINLOG_SYMBOL2997_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:2711:20: ({...}? => LOCAL_SYMBOL | NO_WRITE_TO_BINLOG_SYMBOL )

            ANTLR3_UINT32 alt873;

            alt873=2;

            {
                int LA873_0 = LA(1);
                if ( ((LA(1) == LOCAL_SYMBOL)) && (LA873_0 == LOCAL_SYMBOL))
                {
                    alt873=1;
                }
                else if ( (LA873_0 == NO_WRITE_TO_BINLOG_SYMBOL))
                {
                    alt873=2;
                }
                else
                {
                    if (BACKTRACKING>0)
                    {
                        FAILEDFLAG = ANTLR3_TRUE;
                        return retval;
                    }


                    CONSTRUCTEX();
                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    EXCEPTION->message      = (void *)"";
                    EXCEPTION->decisionNum  = 873;
                    EXCEPTION->state        = 0;


                    goto ruleno_write_to_bin_logEx;

                }
            }
            switch (alt873)
            {
        	case 1:
        	    // MySQL.g:2712: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_SYMBOL2996 = (pANTLR3_COMMON_TOKEN) MATCHT(LOCAL_SYMBOL, &FOLLOW_LOCAL_SYMBOL_in_no_write_to_bin_log15517);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleno_write_to_bin_logEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        LOCAL_SYMBOL2996_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, LOCAL_SYMBOL2996));
        	        ADAPTOR->addChild(ADAPTOR, root_0, LOCAL_SYMBOL2996_tree);
        	        }

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:2713:4: NO_WRITE_TO_BINLOG_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        NO_WRITE_TO_BINLOG_SYMBOL2997 = (pANTLR3_COMMON_TOKEN) MATCHT(NO_WRITE_TO_BINLOG_SYMBOL, &FOLLOW_NO_WRITE_TO_BINLOG_SYMBOL_in_no_write_to_bin_log15523);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleno_write_to_bin_logEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        NO_WRITE_TO_BINLOG_SYMBOL2997_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, NO_WRITE_TO_BINLOG_SYMBOL2997));
        	        ADAPTOR->addChild(ADAPTOR, root_0, NO_WRITE_TO_BINLOG_SYMBOL2997_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:2716: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_SYMBOL2998;
    MySQLParser_identifier_list_with_parentheses_return identifier_list_with_parentheses2999;
    #undef	RETURN_TYPE_identifier_list_with_parentheses2999
    #define	RETURN_TYPE_identifier_list_with_parentheses2999 MySQLParser_identifier_list_with_parentheses_return

    pANTLR3_BASE_TREE PARTITION_SYMBOL2998_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    PARTITION_SYMBOL2998       = NULL;
    identifier_list_with_parentheses2999.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    PARTITION_SYMBOL2998_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2716:14: ({...}? => PARTITION_SYMBOL identifier_list_with_parentheses )
        // MySQL.g:2717: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_SYMBOL2998 = (pANTLR3_COMMON_TOKEN) MATCHT(PARTITION_SYMBOL, &FOLLOW_PARTITION_SYMBOL_in_use_partition15536);
            if  (HASEXCEPTION())
            {
                goto ruleuse_partitionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            PARTITION_SYMBOL2998_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, PARTITION_SYMBOL2998));
            ADAPTOR->addChild(ADAPTOR, root_0, PARTITION_SYMBOL2998_tree);
            }

            FOLLOWPUSH(FOLLOW_identifier_list_with_parentheses_in_use_partition15538);
            identifier_list_with_parentheses2999=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_parentheses2999.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 pure_identifier
 * MySQL.g:2723: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    IDENTIFIER3000;
    pANTLR3_COMMON_TOKEN    BACK_TICK_QUOTED_ID3001;
    pANTLR3_COMMON_TOKEN    DOUBLE_QUOTED_TEXT3002;

    pANTLR3_BASE_TREE IDENTIFIER3000_tree;
    pANTLR3_BASE_TREE BACK_TICK_QUOTED_ID3001_tree;
    pANTLR3_BASE_TREE DOUBLE_QUOTED_TEXT3002_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    IDENTIFIER3000       = NULL;
    BACK_TICK_QUOTED_ID3001       = NULL;
    DOUBLE_QUOTED_TEXT3002       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    IDENTIFIER3000_tree   = NULL;
    BACK_TICK_QUOTED_ID3001_tree   = NULL;
    DOUBLE_QUOTED_TEXT3002_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:2723:16: ( IDENTIFIER | BACK_TICK_QUOTED_ID |{...}? => DOUBLE_QUOTED_TEXT )

            ANTLR3_UINT32 alt874;

            alt874=3;

            {
                int LA874_0 = LA(1);
                if ( (LA874_0 == IDENTIFIER))
                {
                    alt874=1;
                }
                else if ( (LA874_0 == BACK_TICK_QUOTED_ID))
                {
                    alt874=2;
                }
                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA874_0 == DOUBLE_QUOTED_TEXT))
                {
                    alt874=3;
                }
                else
                {
                    if (BACKTRACKING>0)
                    {
                        FAILEDFLAG = ANTLR3_TRUE;
                        return retval;
                    }


                    CONSTRUCTEX();
                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    EXCEPTION->message      = (void *)"";
                    EXCEPTION->decisionNum  = 874;
                    EXCEPTION->state        = 0;


                    goto rulepure_identifierEx;

                }
            }
            switch (alt874)
            {
        	case 1:
        	    // MySQL.g:2724:2: IDENTIFIER
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        IDENTIFIER3000 = (pANTLR3_COMMON_TOKEN) MATCHT(IDENTIFIER, &FOLLOW_IDENTIFIER_in_pure_identifier15550);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulepure_identifierEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        IDENTIFIER3000_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, IDENTIFIER3000));
        	        ADAPTOR->addChild(ADAPTOR, root_0, IDENTIFIER3000_tree);
        	        }

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:2725:4: BACK_TICK_QUOTED_ID
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        BACK_TICK_QUOTED_ID3001 = (pANTLR3_COMMON_TOKEN) MATCHT(BACK_TICK_QUOTED_ID, &FOLLOW_BACK_TICK_QUOTED_ID_in_pure_identifier15555);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulepure_identifierEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        BACK_TICK_QUOTED_ID3001_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, BACK_TICK_QUOTED_ID3001));
        	        ADAPTOR->addChild(ADAPTOR, root_0, BACK_TICK_QUOTED_ID3001_tree);
        	        }

        	    }
        	    break;
        	case 3:
        	    // MySQL.g:2726: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_TEXT3002 = (pANTLR3_COMMON_TOKEN) MATCHT(DOUBLE_QUOTED_TEXT, &FOLLOW_DOUBLE_QUOTED_TEXT_in_pure_identifier15564);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulepure_identifierEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        DOUBLE_QUOTED_TEXT3002_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DOUBLE_QUOTED_TEXT3002));
        	        ADAPTOR->addChild(ADAPTOR, root_0, DOUBLE_QUOTED_TEXT3002_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:2730: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_identifier3003;
    #undef	RETURN_TYPE_pure_identifier3003
    #define	RETURN_TYPE_pure_identifier3003 MySQLParser_pure_identifier_return

    MySQLParser_keyword_return keyword3004;
    #undef	RETURN_TYPE_keyword3004
    #define	RETURN_TYPE_keyword3004 MySQLParser_keyword_return


    /* Initialize rule variables
     */

    root_0 = NULL;

    pure_identifier3003.tree = NULL;

    keyword3004.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;




    retval.tree  = NULL;

    {
        {
            //  MySQL.g:2730:11: ( pure_identifier | keyword )

            ANTLR3_UINT32 alt875;

            alt875=2;

            {
                int LA875_0 = LA(1);
                if ( (LA875_0 == BACK_TICK_QUOTED_ID || LA875_0 == IDENTIFIER))
                {
                    alt875=1;
                }
                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA875_0 == DOUBLE_QUOTED_TEXT))
                {
                    alt875=1;
                }
                else if ( (((LA875_0 >= ACTION_SYMBOL) && (LA875_0 <= PARTITION_SYMBOL))))
                {
                    alt875=2;
                }
                else
                {
                    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 ruleidentifierEx;

                }
            }
            switch (alt875)
            {
        	case 1:
        	    // MySQL.g:2731:2: pure_identifier
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_pure_identifier_in_identifier15574);
        	        pure_identifier3003=pure_identifier(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleidentifierEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, pure_identifier3003.tree);

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:2732:4: keyword
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_keyword_in_identifier15579);
        	        keyword3004=keyword(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleidentifierEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, keyword3004.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:2735: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_SYMBOL3006;
    MySQLParser_identifier_return identifier3005;
    #undef	RETURN_TYPE_identifier3005
    #define	RETURN_TYPE_identifier3005 MySQLParser_identifier_return

    MySQLParser_identifier_return identifier3007;
    #undef	RETURN_TYPE_identifier3007
    #define	RETURN_TYPE_identifier3007 MySQLParser_identifier_return

    pANTLR3_BASE_TREE COMMA_SYMBOL3006_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    COMMA_SYMBOL3006       = NULL;
    identifier3005.tree = NULL;

    identifier3007.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    COMMA_SYMBOL3006_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2735:16: ( identifier ( options {greedy=true; } : COMMA_SYMBOL identifier )* )
        // MySQL.g:2736:2: identifier ( options {greedy=true; } : COMMA_SYMBOL identifier )*
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            FOLLOWPUSH(FOLLOW_identifier_in_identifier_list15588);
            identifier3005=identifier(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruleidentifier_listEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier3005.tree);

            // MySQL.g:2736:13: ( options {greedy=true; } : COMMA_SYMBOL identifier )*

            for (;;)
            {
                int alt876=2;
                switch ( LA(1) )
                {
                case COMMA_SYMBOL:
                	{
                		{
                		   /* dfaLoopbackState(k,edges,eotPredictsAlt,description,stateNumber,semPredState)
                		    */
                		    int LA876_15 = LA(2);
                		    if ( (LA876_15 == DES_KEY_FILE_SYMBOL))
                		    {
                		        alt876=1;
                		    }
                		    else if ( (LA876_15 == HOSTS_SYMBOL))
                		    {
                		        alt876=1;
                		    }
                		    else if ( (LA876_15 == ENGINE_SYMBOL || LA876_15 == ERROR_SYMBOL || LA876_15 == GENERAL_SYMBOL || LA876_15 == RELAY_SYMBOL || LA876_15 == SLOW_SYMBOL))
                		    {
                		        alt876=1;
                		    }
                		    else if ( (LA876_15 == LOGS_SYMBOL))
                		    {
                		        alt876=1;
                		    }
                		    else if ( (LA876_15 == PRIVILEGES_SYMBOL))
                		    {
                		        alt876=1;
                		    }
                		    else if ( (LA876_15 == QUERY_SYMBOL))
                		    {
                		        alt876=1;
                		    }
                		    else if ( (LA876_15 == STATUS_SYMBOL))
                		    {
                		        alt876=1;
                		    }
                		    else if ( (LA876_15 == TABLES_SYMBOL))
                		    {
                		        alt876=1;
                		    }
                		    else if ( (((LA876_15 >= ACTION_SYMBOL) && (LA876_15 <= DELAY_KEY_WRITE_SYMBOL)) || ((LA876_15 >= DIAGNOSTICS_SYMBOL) && (LA876_15 <= ENGINES_SYMBOL)) || ((LA876_15 >= ENUM_SYMBOL) && (LA876_15 <= ERRORS_SYMBOL)) || ((LA876_15 >= ESCAPE_SYMBOL) && (LA876_15 <= FUNCTION_SYMBOL)) || ((LA876_15 >= GEOMETRYCOLLECTION_SYMBOL) && (LA876_15 <= HASH_SYMBOL)) || ((LA876_15 >= HOUR_SYMBOL) && (LA876_15 <= LOGFILE_SYMBOL)) || ((LA876_15 >= MASTER_AUTO_POSITION_SYMBOL) && (LA876_15 <= PREV_SYMBOL)) || ((LA876_15 >= PROCESSLIST_SYMBOL) && (LA876_15 <= QUARTER_SYMBOL)) || ((LA876_15 >= QUICK_SYMBOL) && (LA876_15 <= RELAY_LOG_POS_SYMBOL)) || ((LA876_15 >= RELAY_THREAD_SYMBOL) && (LA876_15 <= SIMPLE_SYMBOL)) || ((LA876_15 >= SNAPSHOT_SYMBOL) && (LA876_15 <= STATS_SAMPLE_PAGES_SYMBOL)) || ((LA876_15 >= STORAGE_SYMBOL) && (LA876_15 <= TABLESPACE_SYMBOL)) || ((LA876_15 >= TABLE_CHECKSUM_SYMBOL) && (LA876_15 <= PARTITION_SYMBOL)) || LA876_15 == BACK_TICK_QUOTED_ID || LA876_15 == DOUBLE_QUOTED_TEXT || LA876_15 == IDENTIFIER))
                		    {
                		        alt876=1;
                		    }

                		}
                	}
                    break;

                }

                switch (alt876)
                {
            	case 1:
            	    // MySQL.g:2736:43: COMMA_SYMBOL identifier
            	    {
            	        COMMA_SYMBOL3006 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_identifier_list15604);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleidentifier_listEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        COMMA_SYMBOL3006_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL3006));
            	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL3006_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_identifier_in_identifier_list15606);
            	        identifier3007=identifier(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleidentifier_listEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier3007.tree);

            	    }
            	    break;

            	default:
            	    goto loop876;	/* break out of the loop */
            	    break;
                }
            }
            loop876: ; /* 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:2739: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_SYMBOL3008;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL3010;
    MySQLParser_identifier_list_return identifier_list3009;
    #undef	RETURN_TYPE_identifier_list3009
    #define	RETURN_TYPE_identifier_list3009 MySQLParser_identifier_list_return

    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL3008_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL3010_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    OPEN_PAR_SYMBOL3008       = NULL;
    CLOSE_PAR_SYMBOL3010       = NULL;
    identifier_list3009.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    OPEN_PAR_SYMBOL3008_tree   = NULL;
    CLOSE_PAR_SYMBOL3010_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2739:33: ( OPEN_PAR_SYMBOL identifier_list CLOSE_PAR_SYMBOL )
        // MySQL.g:2740:2: OPEN_PAR_SYMBOL identifier_list CLOSE_PAR_SYMBOL
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            OPEN_PAR_SYMBOL3008 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_identifier_list_with_parentheses15617);
            if  (HASEXCEPTION())
            {
                goto ruleidentifier_list_with_parenthesesEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            OPEN_PAR_SYMBOL3008_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL3008));
            ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL3008_tree);
            }

            FOLLOWPUSH(FOLLOW_identifier_list_in_identifier_list_with_parentheses15619);
            identifier_list3009=identifier_list(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruleidentifier_list_with_parenthesesEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier_list3009.tree);

            CLOSE_PAR_SYMBOL3010 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_identifier_list_with_parentheses15621);
            if  (HASEXCEPTION())
            {
                goto ruleidentifier_list_with_parenthesesEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            CLOSE_PAR_SYMBOL3010_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL3010));
            ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL3010_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 integer_list
 * MySQL.g:2743: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    INTEGER3011;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL3012;
    pANTLR3_COMMON_TOKEN    INTEGER3013;

    pANTLR3_BASE_TREE INTEGER3011_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL3012_tree;
    pANTLR3_BASE_TREE INTEGER3013_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    INTEGER3011       = NULL;
    COMMA_SYMBOL3012       = NULL;
    INTEGER3013       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    INTEGER3011_tree   = NULL;
    COMMA_SYMBOL3012_tree   = NULL;
    INTEGER3013_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2743:13: ( INTEGER ( COMMA_SYMBOL INTEGER )* )
        // MySQL.g:2744:2: INTEGER ( COMMA_SYMBOL INTEGER )*
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            INTEGER3011 = (pANTLR3_COMMON_TOKEN) MATCHT(INTEGER, &FOLLOW_INTEGER_in_integer_list15630);
            if  (HASEXCEPTION())
            {
                goto ruleinteger_listEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            INTEGER3011_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INTEGER3011));
            ADAPTOR->addChild(ADAPTOR, root_0, INTEGER3011_tree);
            }

            // MySQL.g:2744:10: ( COMMA_SYMBOL INTEGER )*

            for (;;)
            {
                int alt877=2;
                switch ( LA(1) )
                {
                case COMMA_SYMBOL:
                	{
                		alt877=1;
                	}
                    break;

                }

                switch (alt877)
                {
            	case 1:
            	    // MySQL.g:2744:11: COMMA_SYMBOL INTEGER
            	    {
            	        COMMA_SYMBOL3012 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_integer_list15633);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleinteger_listEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        COMMA_SYMBOL3012_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL3012));
            	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL3012_tree);
            	        }

            	        INTEGER3013 = (pANTLR3_COMMON_TOKEN) MATCHT(INTEGER, &FOLLOW_INTEGER_in_integer_list15635);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleinteger_listEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        INTEGER3013_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INTEGER3013));
            	        ADAPTOR->addChild(ADAPTOR, root_0, INTEGER3013_tree);
            	        }

            	    }
            	    break;

            	default:
            	    goto loop877;	/* break out of the loop */
            	    break;
                }
            }
            loop877: ; /* 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:2747:1: string_list : OPEN_PAR_SYMBOL string_literal ( COMMA_SYMBOL string_literal )* 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_SYMBOL3014;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL3016;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL3018;
    MySQLParser_string_literal_return string_literal3015;
    #undef	RETURN_TYPE_string_literal3015
    #define	RETURN_TYPE_string_literal3015 MySQLParser_string_literal_return

    MySQLParser_string_literal_return string_literal3017;
    #undef	RETURN_TYPE_string_literal3017
    #define	RETURN_TYPE_string_literal3017 MySQLParser_string_literal_return

    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL3014_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL3016_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL3018_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    OPEN_PAR_SYMBOL3014       = NULL;
    COMMA_SYMBOL3016       = NULL;
    CLOSE_PAR_SYMBOL3018       = NULL;
    string_literal3015.tree = NULL;

    string_literal3017.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    OPEN_PAR_SYMBOL3014_tree   = NULL;
    COMMA_SYMBOL3016_tree   = NULL;
    CLOSE_PAR_SYMBOL3018_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2747:12: ( OPEN_PAR_SYMBOL string_literal ( COMMA_SYMBOL string_literal )* CLOSE_PAR_SYMBOL )
        // MySQL.g:2748:2: OPEN_PAR_SYMBOL string_literal ( COMMA_SYMBOL string_literal )* CLOSE_PAR_SYMBOL
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            OPEN_PAR_SYMBOL3014 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_string_list15646);
            if  (HASEXCEPTION())
            {
                goto rulestring_listEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            OPEN_PAR_SYMBOL3014_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL3014));
            ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL3014_tree);
            }

            FOLLOWPUSH(FOLLOW_string_literal_in_string_list15648);
            string_literal3015=string_literal(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulestring_listEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_literal3015.tree);

            // MySQL.g:2748:33: ( COMMA_SYMBOL string_literal )*

            for (;;)
            {
                int alt878=2;
                switch ( LA(1) )
                {
                case COMMA_SYMBOL:
                	{
                		alt878=1;
                	}
                    break;

                }

                switch (alt878)
                {
            	case 1:
            	    // MySQL.g:2748:34: COMMA_SYMBOL string_literal
            	    {
            	        COMMA_SYMBOL3016 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_string_list15651);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulestring_listEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        COMMA_SYMBOL3016_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL3016));
            	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL3016_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_string_literal_in_string_list15653);
            	        string_literal3017=string_literal(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulestring_listEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_literal3017.tree);

            	    }
            	    break;

            	default:
            	    goto loop878;	/* break out of the loop */
            	    break;
                }
            }
            loop878: ; /* Jump out to here if this rule does not match */


            CLOSE_PAR_SYMBOL3018 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_string_list15657);
            if  (HASEXCEPTION())
            {
                goto rulestring_listEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            CLOSE_PAR_SYMBOL3018_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL3018));
            ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL3018_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 literal
 * MySQL.g:2751: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_literal3019;
    #undef	RETURN_TYPE_string_literal3019
    #define	RETURN_TYPE_string_literal3019 MySQLParser_string_literal_return

    MySQLParser_number_literal_return number_literal3020;
    #undef	RETURN_TYPE_number_literal3020
    #define	RETURN_TYPE_number_literal3020 MySQLParser_number_literal_return

    MySQLParser_hex_literal_return hex_literal3021;
    #undef	RETURN_TYPE_hex_literal3021
    #define	RETURN_TYPE_hex_literal3021 MySQLParser_hex_literal_return

    MySQLParser_bool_literal_return bool_literal3022;
    #undef	RETURN_TYPE_bool_literal3022
    #define	RETURN_TYPE_bool_literal3022 MySQLParser_bool_literal_return

    MySQLParser_bit_literal_return bit_literal3023;
    #undef	RETURN_TYPE_bit_literal3023
    #define	RETURN_TYPE_bit_literal3023 MySQLParser_bit_literal_return

    MySQLParser_null_literal_return null_literal3024;
    #undef	RETURN_TYPE_null_literal3024
    #define	RETURN_TYPE_null_literal3024 MySQLParser_null_literal_return

    MySQLParser_temporal_literal_return temporal_literal3025;
    #undef	RETURN_TYPE_temporal_literal3025
    #define	RETURN_TYPE_temporal_literal3025 MySQLParser_temporal_literal_return


    /* Initialize rule variables
     */

    root_0 = NULL;

    string_literal3019.tree = NULL;

    number_literal3020.tree = NULL;

    hex_literal3021.tree = NULL;

    bool_literal3022.tree = NULL;

    bit_literal3023.tree = NULL;

    null_literal3024.tree = NULL;

    temporal_literal3025.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;




    retval.tree  = NULL;

    {
        {
            //  MySQL.g:2751:8: ( string_literal | number_literal | hex_literal | bool_literal |{...}? => bit_literal | null_literal |{...}? temporal_literal )

            ANTLR3_UINT32 alt879;

            alt879=7;

            {
                int LA879_0 = LA(1);
                if ( (LA879_0 == NCHAR_TEXT || LA879_0 == SINGLE_QUOTED_TEXT))
                {
                    alt879=1;
                }
                else if ( (LA879_0 == UNDERSCORE_CHARSET))
                {
                    {
                        int LA879_2 = LA(2);
                        if ( (LA879_2 == DOUBLE_QUOTED_TEXT || LA879_2 == SINGLE_QUOTED_TEXT))
                        {
                            alt879=1;
                        }
                        else if ( (((LA879_2 >= HEXNUMBER) && (LA879_2 <= HEXSTRING))))
                        {
                            alt879=3;
                        }
                        else if ( ((SERVER_VERSION >= 50003)) && (((LA879_2 >= BITNUMBER) && (LA879_2 <= BITSTRING))))
                        {
                            alt879=5;
                        }
                        else
                        {
                            if (BACKTRACKING>0)
                            {
                                FAILEDFLAG = ANTLR3_TRUE;
                                return retval;
                            }


                            CONSTRUCTEX();
                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                            EXCEPTION->message      = (void *)"";
                            EXCEPTION->decisionNum  = 879;
                            EXCEPTION->state        = 2;


                            goto ruleliteralEx;

                        }
                    }
                }
                else if ( ((!SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA879_0 == DOUBLE_QUOTED_TEXT))
                {
                    alt879=1;
                }
                else if ( (LA879_0 == FLOAT || LA879_0 == INTEGER))
                {
                    alt879=2;
                }
                else if ( (((LA879_0 >= HEXNUMBER) && (LA879_0 <= HEXSTRING))))
                {
                    alt879=3;
                }
                else if ( (LA879_0 == FALSE_SYMBOL || LA879_0 == TRUE_SYMBOL))
                {
                    alt879=4;
                }
                else if ( ((SERVER_VERSION >= 50003)) && (((LA879_0 >= BITNUMBER) && (LA879_0 <= BITSTRING))))
                {
                    alt879=5;
                }
                else if ( (LA879_0 == NULL2_SYMBOL || LA879_0 == NULL_SYMBOL))
                {
                    alt879=6;
                }
                else if ( (LA879_0 == DATE_SYMBOL || ((LA879_0 >= TIMESTAMP_SYMBOL) && (LA879_0 <= TIME_SYMBOL))))
                {
                    alt879=7;
                }
                else
                {
                    if (BACKTRACKING>0)
                    {
                        FAILEDFLAG = ANTLR3_TRUE;
                        return retval;
                    }


                    CONSTRUCTEX();
                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    EXCEPTION->message      = (void *)"";
                    EXCEPTION->decisionNum  = 879;
                    EXCEPTION->state        = 0;


                    goto ruleliteralEx;

                }
            }
            switch (alt879)
            {
        	case 1:
        	    // MySQL.g:2752:2: string_literal
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_string_literal_in_literal15666);
        	        string_literal3019=string_literal(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleliteralEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_literal3019.tree);

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:2753:4: number_literal
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_number_literal_in_literal15671);
        	        number_literal3020=number_literal(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleliteralEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, number_literal3020.tree);

        	    }
        	    break;
        	case 3:
        	    // MySQL.g:2754:4: hex_literal
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_hex_literal_in_literal15676);
        	        hex_literal3021=hex_literal(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleliteralEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, hex_literal3021.tree);

        	    }
        	    break;
        	case 4:
        	    // MySQL.g:2755:4: bool_literal
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_bool_literal_in_literal15681);
        	        bool_literal3022=bool_literal(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleliteralEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, bool_literal3022.tree);

        	    }
        	    break;
        	case 5:
        	    // MySQL.g:2756: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_literal15690);
        	        bit_literal3023=bit_literal(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleliteralEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, bit_literal3023.tree);

        	    }
        	    break;
        	case 6:
        	    // MySQL.g:2757:4: null_literal
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_null_literal_in_literal15695);
        	        null_literal3024=null_literal(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleliteralEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, null_literal3024.tree);

        	    }
        	    break;
        	case 7:
        	    // MySQL.g:2759: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_literal15707);
        	        temporal_literal3025=temporal_literal(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleliteralEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, temporal_literal3025.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 string_literal
 * MySQL.g:2764:1: string_literal : string -> ^( STRING string ) ;
 */
static MySQLParser_string_literal_return
string_literal(pMySQLParser ctx)
{
    MySQLParser_string_literal_return retval;


    pANTLR3_BASE_TREE root_0;

    MySQLParser_string_return string3026;
    #undef	RETURN_TYPE_string3026
    #define	RETURN_TYPE_string3026 MySQLParser_string_return

    pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_string;
    /* Initialize rule variables
     */

    root_0 = NULL;

    string3026.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:2764:15: ( string -> ^( STRING string ) )
        // MySQL.g:2765:2: string
        {
            FOLLOWPUSH(FOLLOW_string_in_string_literal15718);
            string3026=string(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulestring_literalEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) { CREATE_stream_string; stream_string->add(stream_string, string3026.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;
            	// 2765:9: -> ^( STRING string )
            	{
            	    // MySQL.g:2765:12: ^( STRING 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, (pANTLR3_UINT8)"STRING")
            	        , 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
 * MySQL.g:2768: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_TEXT3027;
    pANTLR3_COMMON_TOKEN    UNDERSCORE_CHARSET3028;
    pANTLR3_COMMON_TOKEN    SINGLE_QUOTED_TEXT3029;
    pANTLR3_COMMON_TOKEN    DOUBLE_QUOTED_TEXT3030;

    pANTLR3_BASE_TREE NCHAR_TEXT3027_tree;
    pANTLR3_BASE_TREE UNDERSCORE_CHARSET3028_tree;
    pANTLR3_BASE_TREE SINGLE_QUOTED_TEXT3029_tree;
    pANTLR3_BASE_TREE DOUBLE_QUOTED_TEXT3030_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    NCHAR_TEXT3027       = NULL;
    UNDERSCORE_CHARSET3028       = NULL;
    SINGLE_QUOTED_TEXT3029       = NULL;
    DOUBLE_QUOTED_TEXT3030       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    NCHAR_TEXT3027_tree   = NULL;
    UNDERSCORE_CHARSET3028_tree   = NULL;
    SINGLE_QUOTED_TEXT3029_tree   = NULL;
    DOUBLE_QUOTED_TEXT3030_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:2768:7: ( NCHAR_TEXT | ( UNDERSCORE_CHARSET )? ( options {greedy=true; } : SINGLE_QUOTED_TEXT |{...}? => DOUBLE_QUOTED_TEXT )+ )

            ANTLR3_UINT32 alt882;

            alt882=2;

            {
                int LA882_0 = LA(1);
                if ( (LA882_0 == NCHAR_TEXT))
                {
                    alt882=1;
                }
                else if ( (LA882_0 == SINGLE_QUOTED_TEXT || LA882_0 == UNDERSCORE_CHARSET))
                {
                    alt882=2;
                }
                else if ( ((!SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA882_0 == DOUBLE_QUOTED_TEXT))
                {
                    alt882=2;
                }
                else
                {
                    if (BACKTRACKING>0)
                    {
                        FAILEDFLAG = ANTLR3_TRUE;
                        return retval;
                    }


                    CONSTRUCTEX();
                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    EXCEPTION->message      = (void *)"";
                    EXCEPTION->decisionNum  = 882;
                    EXCEPTION->state        = 0;


                    goto rulestringEx;

                }
            }
            switch (alt882)
            {
        	case 1:
        	    // MySQL.g:2769:2: NCHAR_TEXT
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        NCHAR_TEXT3027 = (pANTLR3_COMMON_TOKEN) MATCHT(NCHAR_TEXT, &FOLLOW_NCHAR_TEXT_in_string15735);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulestringEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        NCHAR_TEXT3027_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, NCHAR_TEXT3027));
        	        ADAPTOR->addChild(ADAPTOR, root_0, NCHAR_TEXT3027_tree);
        	        }

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:2770:4: ( UNDERSCORE_CHARSET )? ( options {greedy=true; } : SINGLE_QUOTED_TEXT |{...}? => DOUBLE_QUOTED_TEXT )+
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        // MySQL.g:2770:4: ( UNDERSCORE_CHARSET )?
        	        {
        	            int alt880=2;
        	            switch ( LA(1) )
        	            {
        	                case UNDERSCORE_CHARSET:
        	                	{
        	                		alt880=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt880)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2770:4: UNDERSCORE_CHARSET
        	        	    {
        	        	        UNDERSCORE_CHARSET3028 = (pANTLR3_COMMON_TOKEN) MATCHT(UNDERSCORE_CHARSET, &FOLLOW_UNDERSCORE_CHARSET_in_string15740);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulestringEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        UNDERSCORE_CHARSET3028_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, UNDERSCORE_CHARSET3028));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, UNDERSCORE_CHARSET3028_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	        // MySQL.g:2770:24: ( options {greedy=true; } : SINGLE_QUOTED_TEXT |{...}? => DOUBLE_QUOTED_TEXT )+
        	        {
        	            int cnt881=0;

        	            for (;;)
        	            {
        	                int alt881=3;
        	        	{
        	        	   /* dfaLoopbackState(k,edges,eotPredictsAlt,description,stateNumber,semPredState)
        	        	    */
        	        	    int LA881_0 = LA(1);
        	        	    if ( ((((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES)))||((!SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))))) && (LA881_0 == DOUBLE_QUOTED_TEXT))
        	        	    {
        	        	        {
        	        	           /* dfaLoopbackState(k,edges,eotPredictsAlt,description,stateNumber,semPredState)
        	        	            */
        	        	            int LA881_68 = LA(2);
        	        	            if ( ((!SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))))
        	        	            {
        	        	                alt881=2;
        	        	            }

        	        	        }
        	        	    }
        	        	    else if ( (LA881_0 == SINGLE_QUOTED_TEXT))
        	        	    {
        	        	        alt881=1;
        	        	    }

        	        	}
        	        	switch (alt881)
        	        	{
        	        	    case 1:
        	        	        // MySQL.g:2770:54: SINGLE_QUOTED_TEXT
        	        	        {
        	        	            SINGLE_QUOTED_TEXT3029 = (pANTLR3_COMMON_TOKEN) MATCHT(SINGLE_QUOTED_TEXT, &FOLLOW_SINGLE_QUOTED_TEXT_in_string15757);
        	        	            if  (HASEXCEPTION())
        	        	            {
        	        	                goto rulestringEx;
        	        	            }
        	        	            if (HASFAILED())
        	        	            {
        	        	                return retval;
        	        	            }

        	        	            if ( BACKTRACKING==0 ) {
        	        	            SINGLE_QUOTED_TEXT3029_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SINGLE_QUOTED_TEXT3029));
        	        	            ADAPTOR->addChild(ADAPTOR, root_0, SINGLE_QUOTED_TEXT3029_tree);
        	        	            }

        	        	        }
        	        	        break;
        	        	    case 2:
        	        	        // MySQL.g:2770: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_TEXT3030 = (pANTLR3_COMMON_TOKEN) MATCHT(DOUBLE_QUOTED_TEXT, &FOLLOW_DOUBLE_QUOTED_TEXT_in_string15765);
        	        	            if  (HASEXCEPTION())
        	        	            {
        	        	                goto rulestringEx;
        	        	            }
        	        	            if (HASFAILED())
        	        	            {
        	        	                return retval;
        	        	            }

        	        	            if ( BACKTRACKING==0 ) {
        	        	            DOUBLE_QUOTED_TEXT3030_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DOUBLE_QUOTED_TEXT3030));
        	        	            ADAPTOR->addChild(ADAPTOR, root_0, DOUBLE_QUOTED_TEXT3030_tree);
        	        	            }

        	        	        }
        	        	        break;

        	        	    default:

        	        		if ( cnt881 >= 1 )
        	        		{
        	        		    goto loop881;
        	        		}
        	        		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;
        	        	}
        	        	cnt881++;
        	            }
        	            loop881: ;	/* 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:2773: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    set3031;

    pANTLR3_BASE_TREE set3031_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    set3031       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    set3031_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2773:15: ( INTEGER | FLOAT )
        // MySQL.g:
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            set3031=(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, set3031))
                );
                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:2778: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_CHARSET3032;
    pANTLR3_COMMON_TOKEN    set3033;

    pANTLR3_BASE_TREE UNDERSCORE_CHARSET3032_tree;
    pANTLR3_BASE_TREE set3033_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    UNDERSCORE_CHARSET3032       = NULL;
    set3033       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    UNDERSCORE_CHARSET3032_tree   = NULL;
    set3033_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2778:12: ( ( UNDERSCORE_CHARSET )? ( HEXNUMBER | HEXSTRING ) )
        // MySQL.g:2779:2: ( UNDERSCORE_CHARSET )? ( HEXNUMBER | HEXSTRING )
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            // MySQL.g:2779:2: ( UNDERSCORE_CHARSET )?
            {
                int alt883=2;
                switch ( LA(1) )
                {
                    case UNDERSCORE_CHARSET:
                    	{
                    		alt883=1;
                    	}
                        break;
                }

                switch (alt883)
                {
            	case 1:
            	    // MySQL.g:2779:2: UNDERSCORE_CHARSET
            	    {
            	        UNDERSCORE_CHARSET3032 = (pANTLR3_COMMON_TOKEN) MATCHT(UNDERSCORE_CHARSET, &FOLLOW_UNDERSCORE_CHARSET_in_hex_literal15790);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulehex_literalEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        UNDERSCORE_CHARSET3032_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, UNDERSCORE_CHARSET3032));
            	        ADAPTOR->addChild(ADAPTOR, root_0, UNDERSCORE_CHARSET3032_tree);
            	        }

            	    }
            	    break;

                }
            }

            set3033=(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, set3033))
                );
                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:2782: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    set3034;

    pANTLR3_BASE_TREE set3034_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    set3034       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    set3034_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2782:13: ( TRUE_SYMBOL | FALSE_SYMBOL )
        // MySQL.g:
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            set3034=(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, set3034))
                );
                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:2787: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_CHARSET3035;
    pANTLR3_COMMON_TOKEN    set3036;

    pANTLR3_BASE_TREE UNDERSCORE_CHARSET3035_tree;
    pANTLR3_BASE_TREE set3036_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    UNDERSCORE_CHARSET3035       = NULL;
    set3036       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    UNDERSCORE_CHARSET3035_tree   = NULL;
    set3036_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2787:12: ( ( UNDERSCORE_CHARSET )? ( BITNUMBER | BITSTRING ) )
        // MySQL.g:2788:2: ( UNDERSCORE_CHARSET )? ( BITNUMBER | BITSTRING )
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            // MySQL.g:2788:2: ( UNDERSCORE_CHARSET )?
            {
                int alt884=2;
                switch ( LA(1) )
                {
                    case UNDERSCORE_CHARSET:
                    	{
                    		alt884=1;
                    	}
                        break;
                }

                switch (alt884)
                {
            	case 1:
            	    // MySQL.g:2788:2: UNDERSCORE_CHARSET
            	    {
            	        UNDERSCORE_CHARSET3035 = (pANTLR3_COMMON_TOKEN) MATCHT(UNDERSCORE_CHARSET, &FOLLOW_UNDERSCORE_CHARSET_in_bit_literal15822);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulebit_literalEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        UNDERSCORE_CHARSET3035_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, UNDERSCORE_CHARSET3035));
            	        ADAPTOR->addChild(ADAPTOR, root_0, UNDERSCORE_CHARSET3035_tree);
            	        }

            	    }
            	    break;

                }
            }

            set3036=(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, set3036))
                );
                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:2791: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    set3037;

    pANTLR3_BASE_TREE set3037_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    set3037       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    set3037_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2791:13: ( NULL_SYMBOL | NULL2_SYMBOL )
        // MySQL.g:
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            set3037=(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, set3037))
                );
                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:2796: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_SYMBOL3038;
    pANTLR3_COMMON_TOKEN    SINGLE_QUOTED_TEXT3039;
    pANTLR3_COMMON_TOKEN    TIME_SYMBOL3040;
    pANTLR3_COMMON_TOKEN    SINGLE_QUOTED_TEXT3041;
    pANTLR3_COMMON_TOKEN    TIMESTAMP_SYMBOL3042;
    pANTLR3_COMMON_TOKEN    SINGLE_QUOTED_TEXT3043;

    pANTLR3_BASE_TREE DATE_SYMBOL3038_tree;
    pANTLR3_BASE_TREE SINGLE_QUOTED_TEXT3039_tree;
    pANTLR3_BASE_TREE TIME_SYMBOL3040_tree;
    pANTLR3_BASE_TREE SINGLE_QUOTED_TEXT3041_tree;
    pANTLR3_BASE_TREE TIMESTAMP_SYMBOL3042_tree;
    pANTLR3_BASE_TREE SINGLE_QUOTED_TEXT3043_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    DATE_SYMBOL3038       = NULL;
    SINGLE_QUOTED_TEXT3039       = NULL;
    TIME_SYMBOL3040       = NULL;
    SINGLE_QUOTED_TEXT3041       = NULL;
    TIMESTAMP_SYMBOL3042       = NULL;
    SINGLE_QUOTED_TEXT3043       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    DATE_SYMBOL3038_tree   = NULL;
    SINGLE_QUOTED_TEXT3039_tree   = NULL;
    TIME_SYMBOL3040_tree   = NULL;
    SINGLE_QUOTED_TEXT3041_tree   = NULL;
    TIMESTAMP_SYMBOL3042_tree   = NULL;
    SINGLE_QUOTED_TEXT3043_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:2796:17: ( DATE_SYMBOL SINGLE_QUOTED_TEXT | TIME_SYMBOL SINGLE_QUOTED_TEXT | TIMESTAMP_SYMBOL SINGLE_QUOTED_TEXT )

            ANTLR3_UINT32 alt885;

            alt885=3;

            switch ( LA(1) )
            {
            case DATE_SYMBOL:
            	{
            		alt885=1;
            	}
                break;
            case TIME_SYMBOL:
            	{
            		alt885=2;
            	}
                break;
            case TIMESTAMP_SYMBOL:
            	{
            		alt885=3;
            	}
                break;

            default:
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                EXCEPTION->message      = (void *)"";
                EXCEPTION->decisionNum  = 885;
                EXCEPTION->state        = 0;


                goto ruletemporal_literalEx;

            }

            switch (alt885)
            {
        	case 1:
        	    // MySQL.g:2797:2: DATE_SYMBOL SINGLE_QUOTED_TEXT
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        DATE_SYMBOL3038 = (pANTLR3_COMMON_TOKEN) MATCHT(DATE_SYMBOL, &FOLLOW_DATE_SYMBOL_in_temporal_literal15854);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruletemporal_literalEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        DATE_SYMBOL3038_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DATE_SYMBOL3038));
        	        ADAPTOR->addChild(ADAPTOR, root_0, DATE_SYMBOL3038_tree);
        	        }

        	        SINGLE_QUOTED_TEXT3039 = (pANTLR3_COMMON_TOKEN) MATCHT(SINGLE_QUOTED_TEXT, &FOLLOW_SINGLE_QUOTED_TEXT_in_temporal_literal15856);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruletemporal_literalEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        SINGLE_QUOTED_TEXT3039_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SINGLE_QUOTED_TEXT3039));
        	        ADAPTOR->addChild(ADAPTOR, root_0, SINGLE_QUOTED_TEXT3039_tree);
        	        }

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:2798:4: TIME_SYMBOL SINGLE_QUOTED_TEXT
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        TIME_SYMBOL3040 = (pANTLR3_COMMON_TOKEN) MATCHT(TIME_SYMBOL, &FOLLOW_TIME_SYMBOL_in_temporal_literal15861);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruletemporal_literalEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        TIME_SYMBOL3040_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, TIME_SYMBOL3040));
        	        ADAPTOR->addChild(ADAPTOR, root_0, TIME_SYMBOL3040_tree);
        	        }

        	        SINGLE_QUOTED_TEXT3041 = (pANTLR3_COMMON_TOKEN) MATCHT(SINGLE_QUOTED_TEXT, &FOLLOW_SINGLE_QUOTED_TEXT_in_temporal_literal15863);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruletemporal_literalEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        SINGLE_QUOTED_TEXT3041_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SINGLE_QUOTED_TEXT3041));
        	        ADAPTOR->addChild(ADAPTOR, root_0, SINGLE_QUOTED_TEXT3041_tree);
        	        }

        	    }
        	    break;
        	case 3:
        	    // MySQL.g:2799:4: TIMESTAMP_SYMBOL SINGLE_QUOTED_TEXT
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        TIMESTAMP_SYMBOL3042 = (pANTLR3_COMMON_TOKEN) MATCHT(TIMESTAMP_SYMBOL, &FOLLOW_TIMESTAMP_SYMBOL_in_temporal_literal15868);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruletemporal_literalEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        TIMESTAMP_SYMBOL3042_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, TIMESTAMP_SYMBOL3042));
        	        ADAPTOR->addChild(ADAPTOR, root_0, TIMESTAMP_SYMBOL3042_tree);
        	        }

        	        SINGLE_QUOTED_TEXT3043 = (pANTLR3_COMMON_TOKEN) MATCHT(SINGLE_QUOTED_TEXT, &FOLLOW_SINGLE_QUOTED_TEXT_in_temporal_literal15870);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruletemporal_literalEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        SINGLE_QUOTED_TEXT3043_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SINGLE_QUOTED_TEXT3043));
        	        ADAPTOR->addChild(ADAPTOR, root_0, SINGLE_QUOTED_TEXT3043_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:2804:1: integer_type : ( INTEGER_SYMBOL | 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    set3044;

    pANTLR3_BASE_TREE set3044_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    set3044       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    set3044_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2804:13: ( INTEGER_SYMBOL | INT_SYMBOL | TINYINT_SYMBOL | SMALLINT_SYMBOL | MEDIUMINT_SYMBOL | BIGINT_SYMBOL )
        // MySQL.g:
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            set3044=(pANTLR3_COMMON_TOKEN)LT(1);

            if ( LA(1) == BIGINT_SYMBOL || LA(1) == INTEGER_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, set3044))
                );
                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:2813: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_SYMBOL3045;
    pANTLR3_COMMON_TOKEN    DOUBLE_SYMBOL3046;
    pANTLR3_COMMON_TOKEN    PRECISION_SYMBOL3047;

    pANTLR3_BASE_TREE REAL_SYMBOL3045_tree;
    pANTLR3_BASE_TREE DOUBLE_SYMBOL3046_tree;
    pANTLR3_BASE_TREE PRECISION_SYMBOL3047_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    REAL_SYMBOL3045       = NULL;
    DOUBLE_SYMBOL3046       = NULL;
    PRECISION_SYMBOL3047       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    REAL_SYMBOL3045_tree   = NULL;
    DOUBLE_SYMBOL3046_tree   = NULL;
    PRECISION_SYMBOL3047_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:2813:13: ( REAL_SYMBOL | DOUBLE_SYMBOL ( PRECISION_SYMBOL )? )

            ANTLR3_UINT32 alt887;

            alt887=2;

            switch ( LA(1) )
            {
            case REAL_SYMBOL:
            	{
            		alt887=1;
            	}
                break;
            case DOUBLE_SYMBOL:
            	{
            		alt887=2;
            	}
                break;

            default:
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                EXCEPTION->message      = (void *)"";
                EXCEPTION->decisionNum  = 887;
                EXCEPTION->state        = 0;


                goto rulereal_literalEx;

            }

            switch (alt887)
            {
        	case 1:
        	    // MySQL.g:2814:2: REAL_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        REAL_SYMBOL3045 = (pANTLR3_COMMON_TOKEN) MATCHT(REAL_SYMBOL, &FOLLOW_REAL_SYMBOL_in_real_literal15915);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulereal_literalEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        REAL_SYMBOL3045_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, REAL_SYMBOL3045));
        	        ADAPTOR->addChild(ADAPTOR, root_0, REAL_SYMBOL3045_tree);
        	        }

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:2814:16: DOUBLE_SYMBOL ( PRECISION_SYMBOL )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        DOUBLE_SYMBOL3046 = (pANTLR3_COMMON_TOKEN) MATCHT(DOUBLE_SYMBOL, &FOLLOW_DOUBLE_SYMBOL_in_real_literal15919);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulereal_literalEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        DOUBLE_SYMBOL3046_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DOUBLE_SYMBOL3046));
        	        ADAPTOR->addChild(ADAPTOR, root_0, DOUBLE_SYMBOL3046_tree);
        	        }

        	        // MySQL.g:2814:30: ( PRECISION_SYMBOL )?
        	        {
        	            int alt886=2;
        	            switch ( LA(1) )
        	            {
        	                case PRECISION_SYMBOL:
        	                	{
        	                		alt886=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt886)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2814:30: PRECISION_SYMBOL
        	        	    {
        	        	        PRECISION_SYMBOL3047 = (pANTLR3_COMMON_TOKEN) MATCHT(PRECISION_SYMBOL, &FOLLOW_PRECISION_SYMBOL_in_real_literal15921);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulereal_literalEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        PRECISION_SYMBOL3047_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, PRECISION_SYMBOL3047));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, PRECISION_SYMBOL3047_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:2817: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_SYMBOL3048;
    pANTLR3_COMMON_TOKEN    INTEGER3049;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL3050;
    pANTLR3_COMMON_TOKEN    INTEGER3051;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL3052;

    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL3048_tree;
    pANTLR3_BASE_TREE INTEGER3049_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL3050_tree;
    pANTLR3_BASE_TREE INTEGER3051_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL3052_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    OPEN_PAR_SYMBOL3048       = NULL;
    INTEGER3049       = NULL;
    COMMA_SYMBOL3050       = NULL;
    INTEGER3051       = NULL;
    CLOSE_PAR_SYMBOL3052       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    OPEN_PAR_SYMBOL3048_tree   = NULL;
    INTEGER3049_tree   = NULL;
    COMMA_SYMBOL3050_tree   = NULL;
    INTEGER3051_tree   = NULL;
    CLOSE_PAR_SYMBOL3052_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2817:14: ( OPEN_PAR_SYMBOL INTEGER ( COMMA_SYMBOL INTEGER )? CLOSE_PAR_SYMBOL )
        // MySQL.g:2819:2: OPEN_PAR_SYMBOL INTEGER ( COMMA_SYMBOL INTEGER )? CLOSE_PAR_SYMBOL
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            OPEN_PAR_SYMBOL3048 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_float_options15933);
            if  (HASEXCEPTION())
            {
                goto rulefloat_optionsEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            OPEN_PAR_SYMBOL3048_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL3048));
            ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL3048_tree);
            }

            INTEGER3049 = (pANTLR3_COMMON_TOKEN) MATCHT(INTEGER, &FOLLOW_INTEGER_in_float_options15935);
            if  (HASEXCEPTION())
            {
                goto rulefloat_optionsEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            INTEGER3049_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INTEGER3049));
            ADAPTOR->addChild(ADAPTOR, root_0, INTEGER3049_tree);
            }

            // MySQL.g:2819:26: ( COMMA_SYMBOL INTEGER )?
            {
                int alt888=2;
                switch ( LA(1) )
                {
                    case COMMA_SYMBOL:
                    	{
                    		alt888=1;
                    	}
                        break;
                }

                switch (alt888)
                {
            	case 1:
            	    // MySQL.g:2819:27: COMMA_SYMBOL INTEGER
            	    {
            	        COMMA_SYMBOL3050 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_float_options15938);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulefloat_optionsEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        COMMA_SYMBOL3050_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL3050));
            	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL3050_tree);
            	        }

            	        INTEGER3051 = (pANTLR3_COMMON_TOKEN) MATCHT(INTEGER, &FOLLOW_INTEGER_in_float_options15940);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulefloat_optionsEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        INTEGER3051_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INTEGER3051));
            	        ADAPTOR->addChild(ADAPTOR, root_0, INTEGER3051_tree);
            	        }

            	    }
            	    break;

                }
            }

            CLOSE_PAR_SYMBOL3052 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_float_options15944);
            if  (HASEXCEPTION())
            {
                goto rulefloat_optionsEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            CLOSE_PAR_SYMBOL3052_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL3052));
            ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL3052_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:2822: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_SYMBOL3053;
    pANTLR3_COMMON_TOKEN    INTEGER3054;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL3055;
    pANTLR3_COMMON_TOKEN    INTEGER3056;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL3057;

    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL3053_tree;
    pANTLR3_BASE_TREE INTEGER3054_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL3055_tree;
    pANTLR3_BASE_TREE INTEGER3056_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL3057_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    OPEN_PAR_SYMBOL3053       = NULL;
    INTEGER3054       = NULL;
    COMMA_SYMBOL3055       = NULL;
    INTEGER3056       = NULL;
    CLOSE_PAR_SYMBOL3057       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    OPEN_PAR_SYMBOL3053_tree   = NULL;
    INTEGER3054_tree   = NULL;
    COMMA_SYMBOL3055_tree   = NULL;
    INTEGER3056_tree   = NULL;
    CLOSE_PAR_SYMBOL3057_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2822:10: ( OPEN_PAR_SYMBOL INTEGER COMMA_SYMBOL INTEGER CLOSE_PAR_SYMBOL )
        // MySQL.g:2823:2: OPEN_PAR_SYMBOL INTEGER COMMA_SYMBOL INTEGER CLOSE_PAR_SYMBOL
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            OPEN_PAR_SYMBOL3053 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_precision15953);
            if  (HASEXCEPTION())
            {
                goto ruleprecisionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            OPEN_PAR_SYMBOL3053_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL3053));
            ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL3053_tree);
            }

            INTEGER3054 = (pANTLR3_COMMON_TOKEN) MATCHT(INTEGER, &FOLLOW_INTEGER_in_precision15955);
            if  (HASEXCEPTION())
            {
                goto ruleprecisionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            INTEGER3054_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INTEGER3054));
            ADAPTOR->addChild(ADAPTOR, root_0, INTEGER3054_tree);
            }

            COMMA_SYMBOL3055 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_precision15957);
            if  (HASEXCEPTION())
            {
                goto ruleprecisionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            COMMA_SYMBOL3055_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL3055));
            ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL3055_tree);
            }

            INTEGER3056 = (pANTLR3_COMMON_TOKEN) MATCHT(INTEGER, &FOLLOW_INTEGER_in_precision15959);
            if  (HASEXCEPTION())
            {
                goto ruleprecisionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            INTEGER3056_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INTEGER3056));
            ADAPTOR->addChild(ADAPTOR, root_0, INTEGER3056_tree);
            }

            CLOSE_PAR_SYMBOL3057 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_precision15961);
            if  (HASEXCEPTION())
            {
                goto ruleprecisionEx;
            }
            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);
            }

        }

    }

    // 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:2826: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_SYMBOL3058;
    pANTLR3_COMMON_TOKEN    NATIONAL_SYMBOL3059;
    pANTLR3_COMMON_TOKEN    CHAR_SYMBOL3060;

    pANTLR3_BASE_TREE NCHAR_SYMBOL3058_tree;
    pANTLR3_BASE_TREE NATIONAL_SYMBOL3059_tree;
    pANTLR3_BASE_TREE CHAR_SYMBOL3060_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    NCHAR_SYMBOL3058       = NULL;
    NATIONAL_SYMBOL3059       = NULL;
    CHAR_SYMBOL3060       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    NCHAR_SYMBOL3058_tree   = NULL;
    NATIONAL_SYMBOL3059_tree   = NULL;
    CHAR_SYMBOL3060_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:2826:14: ( NCHAR_SYMBOL |{...}? NATIONAL_SYMBOL CHAR_SYMBOL )

            ANTLR3_UINT32 alt889;

            alt889=2;

            switch ( LA(1) )
            {
            case NCHAR_SYMBOL:
            	{
            		alt889=1;
            	}
                break;
            case NATIONAL_SYMBOL:
            	{
            		alt889=2;
            	}
                break;

            default:
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                EXCEPTION->message      = (void *)"";
                EXCEPTION->decisionNum  = 889;
                EXCEPTION->state        = 0;


                goto rulenchar_literalEx;

            }

            switch (alt889)
            {
        	case 1:
        	    // MySQL.g:2827:2: NCHAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        NCHAR_SYMBOL3058 = (pANTLR3_COMMON_TOKEN) MATCHT(NCHAR_SYMBOL, &FOLLOW_NCHAR_SYMBOL_in_nchar_literal15970);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulenchar_literalEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        NCHAR_SYMBOL3058_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, NCHAR_SYMBOL3058));
        	        ADAPTOR->addChild(ADAPTOR, root_0, NCHAR_SYMBOL3058_tree);
        	        }

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:2828: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_SYMBOL3059 = (pANTLR3_COMMON_TOKEN) MATCHT(NATIONAL_SYMBOL, &FOLLOW_NATIONAL_SYMBOL_in_nchar_literal15977);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulenchar_literalEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        NATIONAL_SYMBOL3059_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, NATIONAL_SYMBOL3059));
        	        ADAPTOR->addChild(ADAPTOR, root_0, NATIONAL_SYMBOL3059_tree);
        	        }

        	        CHAR_SYMBOL3060 = (pANTLR3_COMMON_TOKEN) MATCHT(CHAR_SYMBOL, &FOLLOW_CHAR_SYMBOL_in_nchar_literal15979);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulenchar_literalEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CHAR_SYMBOL3060_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CHAR_SYMBOL3060));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CHAR_SYMBOL3060_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:2831: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_SYMBOL3061;
    pANTLR3_COMMON_TOKEN    VARYING_SYMBOL3062;
    pANTLR3_COMMON_TOKEN    VARCHAR_SYMBOL3063;

    pANTLR3_BASE_TREE CHAR_SYMBOL3061_tree;
    pANTLR3_BASE_TREE VARYING_SYMBOL3062_tree;
    pANTLR3_BASE_TREE VARCHAR_SYMBOL3063_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    CHAR_SYMBOL3061       = NULL;
    VARYING_SYMBOL3062       = NULL;
    VARCHAR_SYMBOL3063       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    CHAR_SYMBOL3061_tree   = NULL;
    VARYING_SYMBOL3062_tree   = NULL;
    VARCHAR_SYMBOL3063_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:2831:16: ( CHAR_SYMBOL VARYING_SYMBOL | VARCHAR_SYMBOL )

            ANTLR3_UINT32 alt890;

            alt890=2;

            switch ( LA(1) )
            {
            case CHAR_SYMBOL:
            	{
            		alt890=1;
            	}
                break;
            case VARCHAR_SYMBOL:
            	{
            		alt890=2;
            	}
                break;

            default:
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                EXCEPTION->message      = (void *)"";
                EXCEPTION->decisionNum  = 890;
                EXCEPTION->state        = 0;


                goto rulevarchar_literalEx;

            }

            switch (alt890)
            {
        	case 1:
        	    // MySQL.g:2832:2: CHAR_SYMBOL VARYING_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        CHAR_SYMBOL3061 = (pANTLR3_COMMON_TOKEN) MATCHT(CHAR_SYMBOL, &FOLLOW_CHAR_SYMBOL_in_varchar_literal15989);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulevarchar_literalEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CHAR_SYMBOL3061_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CHAR_SYMBOL3061));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CHAR_SYMBOL3061_tree);
        	        }

        	        VARYING_SYMBOL3062 = (pANTLR3_COMMON_TOKEN) MATCHT(VARYING_SYMBOL, &FOLLOW_VARYING_SYMBOL_in_varchar_literal15991);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulevarchar_literalEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        VARYING_SYMBOL3062_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, VARYING_SYMBOL3062));
        	        ADAPTOR->addChild(ADAPTOR, root_0, VARYING_SYMBOL3062_tree);
        	        }

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:2833:4: VARCHAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        VARCHAR_SYMBOL3063 = (pANTLR3_COMMON_TOKEN) MATCHT(VARCHAR_SYMBOL, &FOLLOW_VARCHAR_SYMBOL_in_varchar_literal15996);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulevarchar_literalEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        VARCHAR_SYMBOL3063_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, VARCHAR_SYMBOL3063));
        	        ADAPTOR->addChild(ADAPTOR, root_0, VARCHAR_SYMBOL3063_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:2836: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_SYMBOL3064;
    pANTLR3_COMMON_TOKEN    VARCHAR_SYMBOL3065;
    pANTLR3_COMMON_TOKEN    NVARCHAR_SYMBOL3066;
    pANTLR3_COMMON_TOKEN    NCHAR_SYMBOL3067;
    pANTLR3_COMMON_TOKEN    VARCHAR_SYMBOL3068;
    pANTLR3_COMMON_TOKEN    NATIONAL_SYMBOL3069;
    pANTLR3_COMMON_TOKEN    CHAR_SYMBOL3070;
    pANTLR3_COMMON_TOKEN    VARYING_SYMBOL3071;
    pANTLR3_COMMON_TOKEN    NCHAR_SYMBOL3072;
    pANTLR3_COMMON_TOKEN    VARYING_SYMBOL3073;

    pANTLR3_BASE_TREE NATIONAL_SYMBOL3064_tree;
    pANTLR3_BASE_TREE VARCHAR_SYMBOL3065_tree;
    pANTLR3_BASE_TREE NVARCHAR_SYMBOL3066_tree;
    pANTLR3_BASE_TREE NCHAR_SYMBOL3067_tree;
    pANTLR3_BASE_TREE VARCHAR_SYMBOL3068_tree;
    pANTLR3_BASE_TREE NATIONAL_SYMBOL3069_tree;
    pANTLR3_BASE_TREE CHAR_SYMBOL3070_tree;
    pANTLR3_BASE_TREE VARYING_SYMBOL3071_tree;
    pANTLR3_BASE_TREE NCHAR_SYMBOL3072_tree;
    pANTLR3_BASE_TREE VARYING_SYMBOL3073_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    NATIONAL_SYMBOL3064       = NULL;
    VARCHAR_SYMBOL3065       = NULL;
    NVARCHAR_SYMBOL3066       = NULL;
    NCHAR_SYMBOL3067       = NULL;
    VARCHAR_SYMBOL3068       = NULL;
    NATIONAL_SYMBOL3069       = NULL;
    CHAR_SYMBOL3070       = NULL;
    VARYING_SYMBOL3071       = NULL;
    NCHAR_SYMBOL3072       = NULL;
    VARYING_SYMBOL3073       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    NATIONAL_SYMBOL3064_tree   = NULL;
    VARCHAR_SYMBOL3065_tree   = NULL;
    NVARCHAR_SYMBOL3066_tree   = NULL;
    NCHAR_SYMBOL3067_tree   = NULL;
    VARCHAR_SYMBOL3068_tree   = NULL;
    NATIONAL_SYMBOL3069_tree   = NULL;
    CHAR_SYMBOL3070_tree   = NULL;
    VARYING_SYMBOL3071_tree   = NULL;
    NCHAR_SYMBOL3072_tree   = NULL;
    VARYING_SYMBOL3073_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:2836:17: ( NATIONAL_SYMBOL VARCHAR_SYMBOL | NVARCHAR_SYMBOL | NCHAR_SYMBOL VARCHAR_SYMBOL | NATIONAL_SYMBOL CHAR_SYMBOL VARYING_SYMBOL | NCHAR_SYMBOL VARYING_SYMBOL )

            ANTLR3_UINT32 alt891;

            alt891=5;

            switch ( LA(1) )
            {
            case NATIONAL_SYMBOL:
            	{
            		switch ( LA(2) )
            		{
            		case VARCHAR_SYMBOL:
            			{
            				alt891=1;
            			}
            		    break;
            		case CHAR_SYMBOL:
            			{
            				alt891=4;
            			}
            		    break;

            		default:
            		    if (BACKTRACKING>0)
            		    {
            		        FAILEDFLAG = ANTLR3_TRUE;
            		        return retval;
            		    }

            		    CONSTRUCTEX();
            		    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
            		    EXCEPTION->message      = (void *)"";
            		    EXCEPTION->decisionNum  = 891;
            		    EXCEPTION->state        = 1;


            		    goto rulenvarchar_literalEx;

            		}

            	}
                break;
            case NVARCHAR_SYMBOL:
            	{
            		alt891=2;
            	}
                break;
            case NCHAR_SYMBOL:
            	{
            		switch ( LA(2) )
            		{
            		case VARCHAR_SYMBOL:
            			{
            				alt891=3;
            			}
            		    break;
            		case VARYING_SYMBOL:
            			{
            				alt891=5;
            			}
            		    break;

            		default:
            		    if (BACKTRACKING>0)
            		    {
            		        FAILEDFLAG = ANTLR3_TRUE;
            		        return retval;
            		    }

            		    CONSTRUCTEX();
            		    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
            		    EXCEPTION->message      = (void *)"";
            		    EXCEPTION->decisionNum  = 891;
            		    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  = 891;
                EXCEPTION->state        = 0;


                goto rulenvarchar_literalEx;

            }

            switch (alt891)
            {
        	case 1:
        	    // MySQL.g:2837:2: NATIONAL_SYMBOL VARCHAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        NATIONAL_SYMBOL3064 = (pANTLR3_COMMON_TOKEN) MATCHT(NATIONAL_SYMBOL, &FOLLOW_NATIONAL_SYMBOL_in_nvarchar_literal16005);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulenvarchar_literalEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        NATIONAL_SYMBOL3064_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, NATIONAL_SYMBOL3064));
        	        ADAPTOR->addChild(ADAPTOR, root_0, NATIONAL_SYMBOL3064_tree);
        	        }

        	        VARCHAR_SYMBOL3065 = (pANTLR3_COMMON_TOKEN) MATCHT(VARCHAR_SYMBOL, &FOLLOW_VARCHAR_SYMBOL_in_nvarchar_literal16007);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulenvarchar_literalEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        VARCHAR_SYMBOL3065_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, VARCHAR_SYMBOL3065));
        	        ADAPTOR->addChild(ADAPTOR, root_0, VARCHAR_SYMBOL3065_tree);
        	        }

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:2838:4: NVARCHAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        NVARCHAR_SYMBOL3066 = (pANTLR3_COMMON_TOKEN) MATCHT(NVARCHAR_SYMBOL, &FOLLOW_NVARCHAR_SYMBOL_in_nvarchar_literal16012);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulenvarchar_literalEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        NVARCHAR_SYMBOL3066_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, NVARCHAR_SYMBOL3066));
        	        ADAPTOR->addChild(ADAPTOR, root_0, NVARCHAR_SYMBOL3066_tree);
        	        }

        	    }
        	    break;
        	case 3:
        	    // MySQL.g:2839:4: NCHAR_SYMBOL VARCHAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        NCHAR_SYMBOL3067 = (pANTLR3_COMMON_TOKEN) MATCHT(NCHAR_SYMBOL, &FOLLOW_NCHAR_SYMBOL_in_nvarchar_literal16017);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulenvarchar_literalEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        NCHAR_SYMBOL3067_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, NCHAR_SYMBOL3067));
        	        ADAPTOR->addChild(ADAPTOR, root_0, NCHAR_SYMBOL3067_tree);
        	        }

        	        VARCHAR_SYMBOL3068 = (pANTLR3_COMMON_TOKEN) MATCHT(VARCHAR_SYMBOL, &FOLLOW_VARCHAR_SYMBOL_in_nvarchar_literal16019);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulenvarchar_literalEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        VARCHAR_SYMBOL3068_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, VARCHAR_SYMBOL3068));
        	        ADAPTOR->addChild(ADAPTOR, root_0, VARCHAR_SYMBOL3068_tree);
        	        }

        	    }
        	    break;
        	case 4:
        	    // MySQL.g:2840:4: NATIONAL_SYMBOL CHAR_SYMBOL VARYING_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        NATIONAL_SYMBOL3069 = (pANTLR3_COMMON_TOKEN) MATCHT(NATIONAL_SYMBOL, &FOLLOW_NATIONAL_SYMBOL_in_nvarchar_literal16024);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulenvarchar_literalEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        NATIONAL_SYMBOL3069_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, NATIONAL_SYMBOL3069));
        	        ADAPTOR->addChild(ADAPTOR, root_0, NATIONAL_SYMBOL3069_tree);
        	        }

        	        CHAR_SYMBOL3070 = (pANTLR3_COMMON_TOKEN) MATCHT(CHAR_SYMBOL, &FOLLOW_CHAR_SYMBOL_in_nvarchar_literal16026);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulenvarchar_literalEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CHAR_SYMBOL3070_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CHAR_SYMBOL3070));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CHAR_SYMBOL3070_tree);
        	        }

        	        VARYING_SYMBOL3071 = (pANTLR3_COMMON_TOKEN) MATCHT(VARYING_SYMBOL, &FOLLOW_VARYING_SYMBOL_in_nvarchar_literal16028);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulenvarchar_literalEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        VARYING_SYMBOL3071_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, VARYING_SYMBOL3071));
        	        ADAPTOR->addChild(ADAPTOR, root_0, VARYING_SYMBOL3071_tree);
        	        }

        	    }
        	    break;
        	case 5:
        	    // MySQL.g:2841:4: NCHAR_SYMBOL VARYING_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        NCHAR_SYMBOL3072 = (pANTLR3_COMMON_TOKEN) MATCHT(NCHAR_SYMBOL, &FOLLOW_NCHAR_SYMBOL_in_nvarchar_literal16033);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulenvarchar_literalEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        NCHAR_SYMBOL3072_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, NCHAR_SYMBOL3072));
        	        ADAPTOR->addChild(ADAPTOR, root_0, NCHAR_SYMBOL3072_tree);
        	        }

        	        VARYING_SYMBOL3073 = (pANTLR3_COMMON_TOKEN) MATCHT(VARYING_SYMBOL, &FOLLOW_VARYING_SYMBOL_in_nvarchar_literal16035);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulenvarchar_literalEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        VARYING_SYMBOL3073_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, VARYING_SYMBOL3073));
        	        ADAPTOR->addChild(ADAPTOR, root_0, VARYING_SYMBOL3073_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:2844: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    set3074;

    pANTLR3_BASE_TREE set3074_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    set3074       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    set3074_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2844:20: ( INTEGER | PARAM_MARKER )
        // MySQL.g:
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            set3074=(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, set3074))
                );
                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:2848: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_MARKER3076;
    MySQLParser_string_literal_return string_literal3075;
    #undef	RETURN_TYPE_string_literal3075
    #define	RETURN_TYPE_string_literal3075 MySQLParser_string_literal_return

    pANTLR3_BASE_TREE PARAM_MARKER3076_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    PARAM_MARKER3076       = NULL;
    string_literal3075.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    PARAM_MARKER3076_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:2848:21: ( string_literal | PARAM_MARKER )

            ANTLR3_UINT32 alt892;

            alt892=2;

            {
                int LA892_0 = LA(1);
                if ( (LA892_0 == NCHAR_TEXT || LA892_0 == SINGLE_QUOTED_TEXT || LA892_0 == UNDERSCORE_CHARSET))
                {
                    alt892=1;
                }
                else if ( ((!SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA892_0 == DOUBLE_QUOTED_TEXT))
                {
                    alt892=1;
                }
                else if ( (LA892_0 == PARAM_MARKER))
                {
                    alt892=2;
                }
                else
                {
                    if (BACKTRACKING>0)
                    {
                        FAILEDFLAG = ANTLR3_TRUE;
                        return retval;
                    }


                    CONSTRUCTEX();
                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    EXCEPTION->message      = (void *)"";
                    EXCEPTION->decisionNum  = 892;
                    EXCEPTION->state        = 0;


                    goto ruletext_or_param_markerEx;

                }
            }
            switch (alt892)
            {
        	case 1:
        	    // MySQL.g:2849:2: string_literal
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_string_literal_in_text_or_param_marker16057);
        	        string_literal3075=string_literal(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruletext_or_param_markerEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_literal3075.tree);

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:2849:19: PARAM_MARKER
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        PARAM_MARKER3076 = (pANTLR3_COMMON_TOKEN) MATCHT(PARAM_MARKER, &FOLLOW_PARAM_MARKER_in_text_or_param_marker16061);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruletext_or_param_markerEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        PARAM_MARKER3076_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, PARAM_MARKER3076));
        	        ADAPTOR->addChild(ADAPTOR, root_0, PARAM_MARKER3076_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:2852:1: text_or_identifier : ( string_literal | identifier );
 */
static MySQLParser_text_or_identifier_return
text_or_identifier(pMySQLParser ctx)
{
    MySQLParser_text_or_identifier_return retval;


    pANTLR3_BASE_TREE root_0;

    MySQLParser_string_literal_return string_literal3077;
    #undef	RETURN_TYPE_string_literal3077
    #define	RETURN_TYPE_string_literal3077 MySQLParser_string_literal_return

    MySQLParser_identifier_return identifier3078;
    #undef	RETURN_TYPE_identifier3078
    #define	RETURN_TYPE_identifier3078 MySQLParser_identifier_return


    /* Initialize rule variables
     */

    root_0 = NULL;

    string_literal3077.tree = NULL;

    identifier3078.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;




    retval.tree  = NULL;

    {
        {
            //  MySQL.g:2852:19: ( string_literal | identifier )

            ANTLR3_UINT32 alt893;

            alt893=2;

            {
                int LA893_0 = LA(1);
                if ( (LA893_0 == NCHAR_TEXT || LA893_0 == SINGLE_QUOTED_TEXT || LA893_0 == UNDERSCORE_CHARSET))
                {
                    alt893=1;
                }
                else if ( ((((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES)))||((!SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))))) && (LA893_0 == DOUBLE_QUOTED_TEXT))
                {
                    {
                        int LA893_4 = LA(2);
                        if ( ((!SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))))
                        {
                            alt893=1;
                        }
                        else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))))
                        {
                            alt893=2;
                        }
                        else
                        {
                            if (BACKTRACKING>0)
                            {
                                FAILEDFLAG = ANTLR3_TRUE;
                                return retval;
                            }


                            CONSTRUCTEX();
                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                            EXCEPTION->message      = (void *)"";
                            EXCEPTION->decisionNum  = 893;
                            EXCEPTION->state        = 4;


                            goto ruletext_or_identifierEx;

                        }
                    }
                }
                else if ( (((LA893_0 >= ACTION_SYMBOL) && (LA893_0 <= PARTITION_SYMBOL)) || LA893_0 == BACK_TICK_QUOTED_ID || LA893_0 == IDENTIFIER))
                {
                    alt893=2;
                }
                else
                {
                    if (BACKTRACKING>0)
                    {
                        FAILEDFLAG = ANTLR3_TRUE;
                        return retval;
                    }


                    CONSTRUCTEX();
                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    EXCEPTION->message      = (void *)"";
                    EXCEPTION->decisionNum  = 893;
                    EXCEPTION->state        = 0;


                    goto ruletext_or_identifierEx;

                }
            }
            switch (alt893)
            {
        	case 1:
        	    // MySQL.g:2853:2: string_literal
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_string_literal_in_text_or_identifier16070);
        	        string_literal3077=string_literal(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruletext_or_identifierEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_literal3077.tree);

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:2853:19: identifier
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_identifier_in_text_or_identifier16074);
        	        identifier3078=identifier(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruletext_or_identifierEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier3078.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:2856: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    set3079;

    pANTLR3_BASE_TREE set3079_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    set3079       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    set3079_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2856:15: ( FLOAT | PARAM_MARKER )
        // MySQL.g:
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            set3079=(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, set3079))
                );
                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 size_number
 * MySQL.g:2860: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    set3080;

    pANTLR3_BASE_TREE set3080_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    set3080       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    set3080_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2860:12: ( INTEGER | HEXNUMBER | IDENTIFIER )
        // MySQL.g:
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            set3080=(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, set3080))
                );
                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:2866: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_SYMBOL3081;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL3082;

    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL3081_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL3082_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    OPEN_PAR_SYMBOL3081       = NULL;
    CLOSE_PAR_SYMBOL3082       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    OPEN_PAR_SYMBOL3081_tree   = NULL;
    CLOSE_PAR_SYMBOL3082_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2866:12: ( OPEN_PAR_SYMBOL CLOSE_PAR_SYMBOL )
        // MySQL.g:2867:2: OPEN_PAR_SYMBOL CLOSE_PAR_SYMBOL
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            OPEN_PAR_SYMBOL3081 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_parentheses16116);
            if  (HASEXCEPTION())
            {
                goto ruleparenthesesEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            OPEN_PAR_SYMBOL3081_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL3081));
            ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL3081_tree);
            }

            CLOSE_PAR_SYMBOL3082 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_parentheses16118);
            if  (HASEXCEPTION())
            {
                goto ruleparenthesesEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            CLOSE_PAR_SYMBOL3082_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL3082));
            ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL3082_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:2870: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    set3083;

    pANTLR3_BASE_TREE set3083_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    set3083       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    set3083_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2870:6: ( EQUAL_OPERATOR | ASSIGN_OPERATOR )
        // MySQL.g:
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            set3083=(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, set3083))
                );
                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:2874: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    set3084;

    pANTLR3_BASE_TREE set3084_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    set3084       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    set3084_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2874:12: ( GLOBAL_SYMBOL | LOCAL_SYMBOL | SESSION_SYMBOL )
        // MySQL.g:
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            set3084=(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, set3084))
                );
                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:2879:1: keyword : ( keyword_sp |{...}? PARTITION_SYMBOL | ( 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 | FORMAT_SYMBOL | HANDLER_SYMBOL | HELP_SYMBOL | HOST_SYMBOL | INSTALL_SYMBOL | LANGUAGE_SYMBOL | NO_SYMBOL | OPEN_SYMBOL | OPTIONS_SYMBOL | OWNER_SYMBOL | PARSER_SYMBOL | PORT_SYMBOL | PREPARE_SYMBOL | REMOVE_SYMBOL | REPAIR_SYMBOL | RESET_SYMBOL | RESTORE_SYMBOL | ROLLBACK_SYMBOL | SAVEPOINT_SYMBOL | SECURITY_SYMBOL | SERVER_SYMBOL | SIGNED_SYMBOL | SOCKET_SYMBOL | SLAVE_SYMBOL | SONAME_SYMBOL | START_SYMBOL | STOP_SYMBOL | TRUNCATE_SYMBOL | UNICODE_SYMBOL | UNINSTALL_SYMBOL | WRAPPER_SYMBOL | XA_SYMBOL | UPGRADE_SYMBOL ) );
 */
static MySQLParser_keyword_return
keyword(pMySQLParser ctx)
{
    MySQLParser_keyword_return retval;


    pANTLR3_BASE_TREE root_0;

    pANTLR3_COMMON_TOKEN    PARTITION_SYMBOL3086;
    pANTLR3_COMMON_TOKEN    set3087;
    MySQLParser_keyword_sp_return keyword_sp3085;
    #undef	RETURN_TYPE_keyword_sp3085
    #define	RETURN_TYPE_keyword_sp3085 MySQLParser_keyword_sp_return

    pANTLR3_BASE_TREE PARTITION_SYMBOL3086_tree;
    pANTLR3_BASE_TREE set3087_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    PARTITION_SYMBOL3086       = NULL;
    set3087       = NULL;
    keyword_sp3085.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    PARTITION_SYMBOL3086_tree   = NULL;
    set3087_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:2879:8: ( keyword_sp |{...}? PARTITION_SYMBOL | ( 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 | FORMAT_SYMBOL | HANDLER_SYMBOL | HELP_SYMBOL | HOST_SYMBOL | INSTALL_SYMBOL | LANGUAGE_SYMBOL | NO_SYMBOL | OPEN_SYMBOL | OPTIONS_SYMBOL | OWNER_SYMBOL | PARSER_SYMBOL | PORT_SYMBOL | PREPARE_SYMBOL | REMOVE_SYMBOL | REPAIR_SYMBOL | RESET_SYMBOL | RESTORE_SYMBOL | ROLLBACK_SYMBOL | SAVEPOINT_SYMBOL | SECURITY_SYMBOL | SERVER_SYMBOL | SIGNED_SYMBOL | SOCKET_SYMBOL | SLAVE_SYMBOL | SONAME_SYMBOL | START_SYMBOL | STOP_SYMBOL | TRUNCATE_SYMBOL | UNICODE_SYMBOL | UNINSTALL_SYMBOL | WRAPPER_SYMBOL | XA_SYMBOL | UPGRADE_SYMBOL ) )

            ANTLR3_UINT32 alt894;

            alt894=3;

            {
                int LA894_0 = LA(1);
                if ( (((LA894_0 >= ACTION_SYMBOL) && (LA894_0 <= YEAR_SYMBOL))))
                {
                    alt894=1;
                }
                else if ( (LA894_0 == PARTITION_SYMBOL))
                {
                    alt894=2;
                }
                else if ( (((LA894_0 >= ASCII_SYMBOL) && (LA894_0 <= XA_SYMBOL))))
                {
                    alt894=3;
                }
                else
                {
                    if (BACKTRACKING>0)
                    {
                        FAILEDFLAG = ANTLR3_TRUE;
                        return retval;
                    }


                    CONSTRUCTEX();
                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    EXCEPTION->message      = (void *)"";
                    EXCEPTION->decisionNum  = 894;
                    EXCEPTION->state        = 0;


                    goto rulekeywordEx;

                }
            }
            switch (alt894)
            {
        	case 1:
        	    // MySQL.g:2880:2: keyword_sp
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_keyword_sp_in_keyword16158);
        	        keyword_sp3085=keyword_sp(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulekeywordEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, keyword_sp3085.tree);

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:2881:4: {...}? PARTITION_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 *)"keyword";


        	        }

        	        PARTITION_SYMBOL3086 = (pANTLR3_COMMON_TOKEN) MATCHT(PARTITION_SYMBOL, &FOLLOW_PARTITION_SYMBOL_in_keyword16165);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulekeywordEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        PARTITION_SYMBOL3086_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, PARTITION_SYMBOL3086));
        	        ADAPTOR->addChild(ADAPTOR, root_0, PARTITION_SYMBOL3086_tree);
        	        }

        	    }
        	    break;
        	case 3:
        	    // MySQL.g:2882: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 | FORMAT_SYMBOL | HANDLER_SYMBOL | HELP_SYMBOL | HOST_SYMBOL | INSTALL_SYMBOL | LANGUAGE_SYMBOL | NO_SYMBOL | OPEN_SYMBOL | OPTIONS_SYMBOL | OWNER_SYMBOL | PARSER_SYMBOL | PORT_SYMBOL | PREPARE_SYMBOL | REMOVE_SYMBOL | REPAIR_SYMBOL | RESET_SYMBOL | RESTORE_SYMBOL | ROLLBACK_SYMBOL | SAVEPOINT_SYMBOL | SECURITY_SYMBOL | SERVER_SYMBOL | SIGNED_SYMBOL | SOCKET_SYMBOL | SLAVE_SYMBOL | SONAME_SYMBOL | START_SYMBOL | STOP_SYMBOL | TRUNCATE_SYMBOL | UNICODE_SYMBOL | UNINSTALL_SYMBOL | WRAPPER_SYMBOL | XA_SYMBOL | UPGRADE_SYMBOL )
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        set3087=(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, set3087))
        	            );
        	            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:2947: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 | 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_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 | 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 | 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 | 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 | 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    set3088;

    pANTLR3_BASE_TREE set3088_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    set3088       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    set3088_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2947: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 | 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_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 | 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 | 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 | 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 | XML_SYMBOL | YEAR_SYMBOL )
        // MySQL.g:
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            set3088=(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, set3088))
                );
                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:881:2: ( qualified_identifier_with_wildcard )
    // MySQL.g:881:3: qualified_identifier_with_wildcard
    {
        FOLLOWPUSH(FOLLOW_qualified_identifier_with_wildcard_in_synpred1_MySQL4409);
        qualified_identifier_with_wildcard(ctx);

        FOLLOWPOP();
        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:1747:4: ( OPEN_PAR_SYMBOL expression COMMA_SYMBOL )
    // MySQL.g:1747:5: OPEN_PAR_SYMBOL expression COMMA_SYMBOL
    {
         MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_synpred2_MySQL9802);
        if  (HASEXCEPTION())
        {
            goto rulesynpred2_MySQLEx;
        }
        if (HASFAILED())
        {
            return ;
        }


        FOLLOWPUSH(FOLLOW_expression_in_synpred2_MySQL9804);
        expression(ctx);

        FOLLOWPOP();
        if  (HASEXCEPTION())
        {
            goto rulesynpred2_MySQLEx;
        }
        if (HASFAILED())
        {
            return ;
        }


         MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_synpred2_MySQL9806);
        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

// $ANTLR start synpred3_MySQL
static void synpred3_MySQL_fragment(pMySQLParser ctx )
{
    // MySQL.g:1767:5: ( qualified_identifier OPEN_PAR_SYMBOL )
    // MySQL.g:1767:6: qualified_identifier OPEN_PAR_SYMBOL
    {
        FOLLOWPUSH(FOLLOW_qualified_identifier_in_synpred3_MySQL9922);
        qualified_identifier(ctx);

        FOLLOWPOP();
        if  (HASEXCEPTION())
        {
            goto rulesynpred3_MySQLEx;
        }
        if (HASFAILED())
        {
            return ;
        }


         MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_synpred3_MySQL9924);
        if  (HASEXCEPTION())
        {
            goto rulesynpred3_MySQLEx;
        }
        if (HASFAILED())
        {
            return ;
        }


    }

// This is where rules clean up and exit
//
goto rulesynpred3_MySQLEx; /* Prevent compiler warnings */
rulesynpred3_MySQLEx: ;

}
// $ANTLR end synpred3_MySQL
/* End of parsing rules
 * ==============================================
 */

/* ==============================================
 * Syntactic predicates
 */
static ANTLR3_BOOLEAN synpred3_MySQL(pMySQLParser ctx)
{
    ANTLR3_MARKER   start;
    ANTLR3_BOOLEAN  success;

    BACKTRACKING++;
    start	= MARK();
    synpred3_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;
}
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;
}

/* End of syntactic predicates
 * ==============================================
 */






/* End of code
 * =============================================================================
 */
