/** \file
 *  This C source file was generated by $ANTLR version 3.4
 *
 *     -  From the grammar source file : MySQL.g
 *     -                            On : 2013-06-05 10:45:46
 *     -                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[742+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_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_query240  */
static	ANTLR3_BITWORD FOLLOW_statement_in_query240_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_statement_in_query240	= { FOLLOW_statement_in_query240_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SEMICOLON_SYMBOL_in_query242  */
static	ANTLR3_BITWORD FOLLOW_SEMICOLON_SYMBOL_in_query242_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_SEMICOLON_SYMBOL_in_query242	= { FOLLOW_SEMICOLON_SYMBOL_in_query242_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EOF_in_query247  */
static	ANTLR3_BITWORD FOLLOW_EOF_in_query247_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_EOF_in_query247	= { FOLLOW_EOF_in_query247_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_alter_statement_in_statement258  */
static	ANTLR3_BITWORD FOLLOW_alter_statement_in_statement258_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_alter_statement_in_statement258	= { FOLLOW_alter_statement_in_statement258_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_create_statement_in_statement263  */
static	ANTLR3_BITWORD FOLLOW_create_statement_in_statement263_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_create_statement_in_statement263	= { FOLLOW_create_statement_in_statement263_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_drop_statement_in_statement268  */
static	ANTLR3_BITWORD FOLLOW_drop_statement_in_statement268_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_drop_statement_in_statement268	= { FOLLOW_drop_statement_in_statement268_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_rename_table_statement_in_statement273  */
static	ANTLR3_BITWORD FOLLOW_rename_table_statement_in_statement273_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_rename_table_statement_in_statement273	= { FOLLOW_rename_table_statement_in_statement273_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_truncate_table_statement_in_statement278  */
static	ANTLR3_BITWORD FOLLOW_truncate_table_statement_in_statement278_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_truncate_table_statement_in_statement278	= { FOLLOW_truncate_table_statement_in_statement278_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_call_statement_in_statement287  */
static	ANTLR3_BITWORD FOLLOW_call_statement_in_statement287_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_call_statement_in_statement287	= { FOLLOW_call_statement_in_statement287_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_delete_statement_in_statement292  */
static	ANTLR3_BITWORD FOLLOW_delete_statement_in_statement292_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_delete_statement_in_statement292	= { FOLLOW_delete_statement_in_statement292_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_do_statement_in_statement297  */
static	ANTLR3_BITWORD FOLLOW_do_statement_in_statement297_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_do_statement_in_statement297	= { FOLLOW_do_statement_in_statement297_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_handler_statement_in_statement302  */
static	ANTLR3_BITWORD FOLLOW_handler_statement_in_statement302_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_handler_statement_in_statement302	= { FOLLOW_handler_statement_in_statement302_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_insert_statement_in_statement307  */
static	ANTLR3_BITWORD FOLLOW_insert_statement_in_statement307_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_insert_statement_in_statement307	= { FOLLOW_insert_statement_in_statement307_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_load_statement_in_statement312  */
static	ANTLR3_BITWORD FOLLOW_load_statement_in_statement312_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_load_statement_in_statement312	= { FOLLOW_load_statement_in_statement312_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_replace_statement_in_statement317  */
static	ANTLR3_BITWORD FOLLOW_replace_statement_in_statement317_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_replace_statement_in_statement317	= { FOLLOW_replace_statement_in_statement317_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_select_statement_in_statement322  */
static	ANTLR3_BITWORD FOLLOW_select_statement_in_statement322_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_select_statement_in_statement322	= { FOLLOW_select_statement_in_statement322_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_update_statement_in_statement327  */
static	ANTLR3_BITWORD FOLLOW_update_statement_in_statement327_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_update_statement_in_statement327	= { FOLLOW_update_statement_in_statement327_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_partitioning_in_statement333  */
static	ANTLR3_BITWORD FOLLOW_partitioning_in_statement333_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_partitioning_in_statement333	= { FOLLOW_partitioning_in_statement333_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_transaction_or_locking_statement_in_statement342  */
static	ANTLR3_BITWORD FOLLOW_transaction_or_locking_statement_in_statement342_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_transaction_or_locking_statement_in_statement342	= { FOLLOW_transaction_or_locking_statement_in_statement342_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_replication_statement_in_statement349  */
static	ANTLR3_BITWORD FOLLOW_replication_statement_in_statement349_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_replication_statement_in_statement349	= { FOLLOW_replication_statement_in_statement349_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_prepared_statement_in_statement356  */
static	ANTLR3_BITWORD FOLLOW_prepared_statement_in_statement356_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_prepared_statement_in_statement356	= { FOLLOW_prepared_statement_in_statement356_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_account_management_statement_in_statement365  */
static	ANTLR3_BITWORD FOLLOW_account_management_statement_in_statement365_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_account_management_statement_in_statement365	= { FOLLOW_account_management_statement_in_statement365_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_administration_statement_in_statement370  */
static	ANTLR3_BITWORD FOLLOW_table_administration_statement_in_statement370_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_table_administration_statement_in_statement370	= { FOLLOW_table_administration_statement_in_statement370_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_install_uninstall_statment_in_statement375  */
static	ANTLR3_BITWORD FOLLOW_install_uninstall_statment_in_statement375_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_install_uninstall_statment_in_statement375	= { FOLLOW_install_uninstall_statment_in_statement375_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_statement_in_statement382  */
static	ANTLR3_BITWORD FOLLOW_set_statement_in_statement382_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_set_statement_in_statement382	= { FOLLOW_set_statement_in_statement382_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_show_statement_in_statement388  */
static	ANTLR3_BITWORD FOLLOW_show_statement_in_statement388_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_show_statement_in_statement388	= { FOLLOW_show_statement_in_statement388_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_miscellaneous_statement_in_statement393  */
static	ANTLR3_BITWORD FOLLOW_miscellaneous_statement_in_statement393_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_miscellaneous_statement_in_statement393	= { FOLLOW_miscellaneous_statement_in_statement393_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_utility_statement_in_statement402  */
static	ANTLR3_BITWORD FOLLOW_utility_statement_in_statement402_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_utility_statement_in_statement402	= { FOLLOW_utility_statement_in_statement402_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ALTER_SYMBOL_in_alter_statement414  */
static	ANTLR3_BITWORD FOLLOW_ALTER_SYMBOL_in_alter_statement414_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(0x0020000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000200000600000), ANTLR3_UINT64_LIT(0x0080000020000000) };
static  ANTLR3_BITSET_LIST FOLLOW_ALTER_SYMBOL_in_alter_statement414	= { FOLLOW_ALTER_SYMBOL_in_alter_statement414_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_alter_database_in_alter_statement422  */
static	ANTLR3_BITWORD FOLLOW_alter_database_in_alter_statement422_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_alter_database_in_alter_statement422	= { FOLLOW_alter_database_in_alter_statement422_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_alter_log_file_group_in_alter_statement427  */
static	ANTLR3_BITWORD FOLLOW_alter_log_file_group_in_alter_statement427_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_alter_log_file_group_in_alter_statement427	= { FOLLOW_alter_log_file_group_in_alter_statement427_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FUNCTION_SYMBOL_in_alter_statement432  */
static	ANTLR3_BITWORD FOLLOW_FUNCTION_SYMBOL_in_alter_statement432_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_FUNCTION_SYMBOL_in_alter_statement432	= { FOLLOW_FUNCTION_SYMBOL_in_alter_statement432_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_alter_routine_in_alter_statement434  */
static	ANTLR3_BITWORD FOLLOW_alter_routine_in_alter_statement434_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_alter_routine_in_alter_statement434	= { FOLLOW_alter_routine_in_alter_statement434_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PROCEDURE_SYMBOL_in_alter_statement439  */
static	ANTLR3_BITWORD FOLLOW_PROCEDURE_SYMBOL_in_alter_statement439_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_PROCEDURE_SYMBOL_in_alter_statement439	= { FOLLOW_PROCEDURE_SYMBOL_in_alter_statement439_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_alter_routine_in_alter_statement441  */
static	ANTLR3_BITWORD FOLLOW_alter_routine_in_alter_statement441_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_alter_routine_in_alter_statement441	= { FOLLOW_alter_routine_in_alter_statement441_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_alter_server_in_alter_statement446  */
static	ANTLR3_BITWORD FOLLOW_alter_server_in_alter_statement446_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_alter_server_in_alter_statement446	= { FOLLOW_alter_server_in_alter_statement446_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_alter_table_in_alter_statement451  */
static	ANTLR3_BITWORD FOLLOW_alter_table_in_alter_statement451_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_alter_table_in_alter_statement451	= { FOLLOW_alter_table_in_alter_statement451_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_alter_tablespace_in_alter_statement456  */
static	ANTLR3_BITWORD FOLLOW_alter_tablespace_in_alter_statement456_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_alter_tablespace_in_alter_statement456	= { FOLLOW_alter_tablespace_in_alter_statement456_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_alter_event_in_alter_statement465  */
static	ANTLR3_BITWORD FOLLOW_alter_event_in_alter_statement465_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_alter_event_in_alter_statement465	= { FOLLOW_alter_event_in_alter_statement465_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_alter_view_in_alter_statement470  */
static	ANTLR3_BITWORD FOLLOW_alter_view_in_alter_statement470_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_alter_view_in_alter_statement470	= { FOLLOW_alter_view_in_alter_statement470_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DATABASE_SYMBOL_in_alter_database483  */
static	ANTLR3_BITWORD FOLLOW_DATABASE_SYMBOL_in_alter_database483_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_DATABASE_SYMBOL_in_alter_database483	= { FOLLOW_DATABASE_SYMBOL_in_alter_database483_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_alter_database490  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_alter_database490_bits[]	= { ANTLR3_UINT64_LIT(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_database490	= { FOLLOW_identifier_in_alter_database490_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_database_option_in_alter_database493  */
static	ANTLR3_BITWORD FOLLOW_database_option_in_alter_database493_bits[]	= { ANTLR3_UINT64_LIT(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_database493	= { FOLLOW_database_option_in_alter_database493_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_alter_database500  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_alter_database500_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_database500	= { FOLLOW_identifier_in_alter_database500_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_UPGRADE_SYMBOL_in_alter_database502  */
static	ANTLR3_BITWORD FOLLOW_UPGRADE_SYMBOL_in_alter_database502_bits[]	= { ANTLR3_UINT64_LIT(0x0040000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_UPGRADE_SYMBOL_in_alter_database502	= { FOLLOW_UPGRADE_SYMBOL_in_alter_database502_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DATA_SYMBOL_in_alter_database504  */
static	ANTLR3_BITWORD FOLLOW_DATA_SYMBOL_in_alter_database504_bits[]	= { ANTLR3_UINT64_LIT(0x8000000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_DATA_SYMBOL_in_alter_database504	= { FOLLOW_DATA_SYMBOL_in_alter_database504_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DIRECTORY_SYMBOL_in_alter_database506  */
static	ANTLR3_BITWORD FOLLOW_DIRECTORY_SYMBOL_in_alter_database506_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000020000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_DIRECTORY_SYMBOL_in_alter_database506	= { FOLLOW_DIRECTORY_SYMBOL_in_alter_database506_bits, 3	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_NAME_SYMBOL_in_alter_database508  */
static	ANTLR3_BITWORD FOLLOW_NAME_SYMBOL_in_alter_database508_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_NAME_SYMBOL_in_alter_database508	= { FOLLOW_NAME_SYMBOL_in_alter_database508_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_definer_clause_in_alter_event520  */
static	ANTLR3_BITWORD FOLLOW_definer_clause_in_alter_event520_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000008000) };
static  ANTLR3_BITSET_LIST FOLLOW_definer_clause_in_alter_event520	= { FOLLOW_definer_clause_in_alter_event520_bits, 2	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EVENT_SYMBOL_in_alter_event525  */
static	ANTLR3_BITWORD FOLLOW_EVENT_SYMBOL_in_alter_event525_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_EVENT_SYMBOL_in_alter_event525	= { FOLLOW_EVENT_SYMBOL_in_alter_event525_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_alter_event527  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_alter_event527_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(0x0080000001000000) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_alter_event527	= { FOLLOW_identifier_in_alter_event527_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ON_SYMBOL_in_alter_event532  */
static	ANTLR3_BITWORD FOLLOW_ON_SYMBOL_in_alter_event532_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_event532	= { FOLLOW_ON_SYMBOL_in_alter_event532_bits, 4	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SCHEDULE_SYMBOL_in_alter_event534  */
static	ANTLR3_BITWORD FOLLOW_SCHEDULE_SYMBOL_in_alter_event534_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000001000), ANTLR3_UINT64_LIT(0x0000000000010000) };
static  ANTLR3_BITSET_LIST FOLLOW_SCHEDULE_SYMBOL_in_alter_event534	= { FOLLOW_SCHEDULE_SYMBOL_in_alter_event534_bits, 2	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_schedule_in_alter_event536  */
static	ANTLR3_BITWORD FOLLOW_schedule_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(0x0080000001000000) };
static  ANTLR3_BITSET_LIST FOLLOW_schedule_in_alter_event536	= { FOLLOW_schedule_in_alter_event536_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ON_SYMBOL_in_alter_event543  */
static	ANTLR3_BITWORD FOLLOW_ON_SYMBOL_in_alter_event543_bits[]	= { ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_ON_SYMBOL_in_alter_event543	= { FOLLOW_ON_SYMBOL_in_alter_event543_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMPLETION_SYMBOL_in_alter_event545  */
static	ANTLR3_BITWORD FOLLOW_COMPLETION_SYMBOL_in_alter_event545_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(0x0000000000002000) };
static  ANTLR3_BITSET_LIST FOLLOW_COMPLETION_SYMBOL_in_alter_event545	= { FOLLOW_COMPLETION_SYMBOL_in_alter_event545_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_NOT_SYMBOL_in_alter_event547  */
static	ANTLR3_BITWORD FOLLOW_NOT_SYMBOL_in_alter_event547_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_event547	= { FOLLOW_NOT_SYMBOL_in_alter_event547_bits, 4	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PRESERVE_SYMBOL_in_alter_event550  */
static	ANTLR3_BITWORD FOLLOW_PRESERVE_SYMBOL_in_alter_event550_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(0x0080000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_PRESERVE_SYMBOL_in_alter_event550	= { FOLLOW_PRESERVE_SYMBOL_in_alter_event550_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_RENAME_SYMBOL_in_alter_event557  */
static	ANTLR3_BITWORD FOLLOW_RENAME_SYMBOL_in_alter_event557_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x2000000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_RENAME_SYMBOL_in_alter_event557	= { FOLLOW_RENAME_SYMBOL_in_alter_event557_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TO_SYMBOL_in_alter_event559  */
static	ANTLR3_BITWORD FOLLOW_TO_SYMBOL_in_alter_event559_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_TO_SYMBOL_in_alter_event559	= { FOLLOW_TO_SYMBOL_in_alter_event559_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_alter_event561  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_alter_event561_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_event561	= { FOLLOW_identifier_in_alter_event561_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ENABLE_SYMBOL_in_alter_event568  */
static	ANTLR3_BITWORD FOLLOW_ENABLE_SYMBOL_in_alter_event568_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_event568	= { FOLLOW_ENABLE_SYMBOL_in_alter_event568_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DISABLE_SYMBOL_in_alter_event572  */
static	ANTLR3_BITWORD FOLLOW_DISABLE_SYMBOL_in_alter_event572_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(0x0000000001000000) };
static  ANTLR3_BITSET_LIST FOLLOW_DISABLE_SYMBOL_in_alter_event572	= { FOLLOW_DISABLE_SYMBOL_in_alter_event572_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ON_SYMBOL_in_alter_event575  */
static	ANTLR3_BITWORD FOLLOW_ON_SYMBOL_in_alter_event575_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_event575	= { FOLLOW_ON_SYMBOL_in_alter_event575_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SLAVE_SYMBOL_in_alter_event577  */
static	ANTLR3_BITWORD FOLLOW_SLAVE_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_SLAVE_SYMBOL_in_alter_event577	= { FOLLOW_SLAVE_SYMBOL_in_alter_event577_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMENT_SYMBOL_in_alter_event586  */
static	ANTLR3_BITWORD FOLLOW_COMMENT_SYMBOL_in_alter_event586_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMENT_SYMBOL_in_alter_event586	= { FOLLOW_COMMENT_SYMBOL_in_alter_event586_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_alter_event588  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_alter_event588_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_event588	= { FOLLOW_string_literal_in_alter_event588_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DO_SYMBOL_in_alter_event595  */
static	ANTLR3_BITWORD FOLLOW_DO_SYMBOL_in_alter_event595_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(0x1018006000800028), ANTLR3_UINT64_LIT(0x0000402200481000), ANTLR3_UINT64_LIT(0x6BC0400018000000), ANTLR3_UINT64_LIT(0x0000000000018820), ANTLR3_UINT64_LIT(0x0000000100001500) };
static  ANTLR3_BITSET_LIST FOLLOW_DO_SYMBOL_in_alter_event595	= { FOLLOW_DO_SYMBOL_in_alter_event595_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_compound_statement_in_alter_event597  */
static	ANTLR3_BITWORD FOLLOW_compound_statement_in_alter_event597_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_compound_statement_in_alter_event597	= { FOLLOW_compound_statement_in_alter_event597_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_LOGFILE_SYMBOL_in_alter_log_file_group608  */
static	ANTLR3_BITWORD FOLLOW_LOGFILE_SYMBOL_in_alter_log_file_group608_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000040000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_LOGFILE_SYMBOL_in_alter_log_file_group608	= { FOLLOW_LOGFILE_SYMBOL_in_alter_log_file_group608_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_GROUP_SYMBOL_in_alter_log_file_group610  */
static	ANTLR3_BITWORD FOLLOW_GROUP_SYMBOL_in_alter_log_file_group610_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_GROUP_SYMBOL_in_alter_log_file_group610	= { FOLLOW_GROUP_SYMBOL_in_alter_log_file_group610_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_alter_log_file_group612  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_alter_log_file_group612_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_group612	= { FOLLOW_identifier_in_alter_log_file_group612_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ADD_SYMBOL_in_alter_log_file_group614  */
static	ANTLR3_BITWORD FOLLOW_ADD_SYMBOL_in_alter_log_file_group614_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_group614	= { FOLLOW_ADD_SYMBOL_in_alter_log_file_group614_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_UNDOFILE_SYMBOL_in_alter_log_file_group616  */
static	ANTLR3_BITWORD FOLLOW_UNDOFILE_SYMBOL_in_alter_log_file_group616_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_UNDOFILE_SYMBOL_in_alter_log_file_group616	= { FOLLOW_UNDOFILE_SYMBOL_in_alter_log_file_group616_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_alter_log_file_group618  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_alter_log_file_group618_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_group618	= { FOLLOW_string_literal_in_alter_log_file_group618_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INITIAL_SIZE_SYMBOL_in_alter_log_file_group623  */
static	ANTLR3_BITWORD FOLLOW_INITIAL_SIZE_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(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008200000001000), ANTLR3_UINT64_LIT(0x0000000000000004) };
static  ANTLR3_BITSET_LIST FOLLOW_INITIAL_SIZE_SYMBOL_in_alter_log_file_group623	= { FOLLOW_INITIAL_SIZE_SYMBOL_in_alter_log_file_group623_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_alter_log_file_group625  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_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(0x0008200000000000), ANTLR3_UINT64_LIT(0x0000000000000004) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_alter_log_file_group625	= { FOLLOW_EQUAL_OPERATOR_in_alter_log_file_group625_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_size_number_in_alter_log_file_group628  */
static	ANTLR3_BITWORD FOLLOW_size_number_in_alter_log_file_group628_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_group628	= { FOLLOW_size_number_in_alter_log_file_group628_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_WAIT_SYMBOL_in_alter_log_file_group632  */
static	ANTLR3_BITWORD FOLLOW_WAIT_SYMBOL_in_alter_log_file_group632_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000200) };
static  ANTLR3_BITSET_LIST FOLLOW_WAIT_SYMBOL_in_alter_log_file_group632	= { FOLLOW_WAIT_SYMBOL_in_alter_log_file_group632_bits, 2	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ENGINE_SYMBOL_in_alter_log_file_group635  */
static	ANTLR3_BITWORD FOLLOW_ENGINE_SYMBOL_in_alter_log_file_group635_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000001000) };
static  ANTLR3_BITSET_LIST FOLLOW_ENGINE_SYMBOL_in_alter_log_file_group635	= { FOLLOW_ENGINE_SYMBOL_in_alter_log_file_group635_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_alter_log_file_group637  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_alter_log_file_group637_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_alter_log_file_group637	= { FOLLOW_EQUAL_OPERATOR_in_alter_log_file_group637_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_IDENTIFIER_in_alter_log_file_group640  */
static	ANTLR3_BITWORD FOLLOW_IDENTIFIER_in_alter_log_file_group640_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_IDENTIFIER_in_alter_log_file_group640	= { FOLLOW_IDENTIFIER_in_alter_log_file_group640_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_alter_routine649  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_alter_routine649_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(0x0001000000000001), ANTLR3_UINT64_LIT(0x0000000020000000) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_alter_routine649	= { FOLLOW_identifier_in_alter_routine649_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_routine_option_in_alter_routine651  */
static	ANTLR3_BITWORD FOLLOW_routine_option_in_alter_routine651_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(0x0001000000000001), ANTLR3_UINT64_LIT(0x0000000020000000) };
static  ANTLR3_BITSET_LIST FOLLOW_routine_option_in_alter_routine651	= { FOLLOW_routine_option_in_alter_routine651_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SERVER_SYMBOL_in_alter_server661  */
static	ANTLR3_BITWORD FOLLOW_SERVER_SYMBOL_in_alter_server661_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_SERVER_SYMBOL_in_alter_server661	= { FOLLOW_SERVER_SYMBOL_in_alter_server661_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_text_or_identifier_in_alter_server663  */
static	ANTLR3_BITWORD FOLLOW_text_or_identifier_in_alter_server663_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_server663	= { FOLLOW_text_or_identifier_in_alter_server663_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_server_options_in_alter_server665  */
static	ANTLR3_BITWORD FOLLOW_server_options_in_alter_server665_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_server_options_in_alter_server665	= { FOLLOW_server_options_in_alter_server665_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_online_option_in_alter_table674  */
static	ANTLR3_BITWORD FOLLOW_online_option_in_alter_table674_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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(0x0080000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_online_option_in_alter_table674	= { FOLLOW_online_option_in_alter_table674_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_IGNORE_SYMBOL_in_alter_table677  */
static	ANTLR3_BITWORD FOLLOW_IGNORE_SYMBOL_in_alter_table677_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_IGNORE_SYMBOL_in_alter_table677	= { FOLLOW_IGNORE_SYMBOL_in_alter_table677_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TABLE_SYMBOL_in_alter_table680  */
static	ANTLR3_BITWORD FOLLOW_TABLE_SYMBOL_in_alter_table680_bits[]	= { ANTLR3_UINT64_LIT(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(0x000800000000000A) };
static  ANTLR3_BITSET_LIST FOLLOW_TABLE_SYMBOL_in_alter_table680	= { FOLLOW_TABLE_SYMBOL_in_alter_table680_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_identifier_in_alter_table682  */
static	ANTLR3_BITWORD FOLLOW_table_identifier_in_alter_table682_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(0x0080000040008020), ANTLR3_UINT64_LIT(0x0000002000000000), ANTLR3_UINT64_LIT(0x0080000090000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000040) };
static  ANTLR3_BITSET_LIST FOLLOW_table_identifier_in_alter_table682	= { FOLLOW_table_identifier_in_alter_table682_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_alter_table_commands_in_alter_table684  */
static	ANTLR3_BITWORD FOLLOW_alter_table_commands_in_alter_table684_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_alter_table_commands_in_alter_table684	= { FOLLOW_alter_table_commands_in_alter_table684_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DISCARD_SYMBOL_in_alter_table_commands694  */
static	ANTLR3_BITWORD FOLLOW_DISCARD_SYMBOL_in_alter_table_commands694_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_commands694	= { FOLLOW_DISCARD_SYMBOL_in_alter_table_commands694_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TABLESPACE_SYMBOL_in_alter_table_commands696  */
static	ANTLR3_BITWORD FOLLOW_TABLESPACE_SYMBOL_in_alter_table_commands696_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_TABLESPACE_SYMBOL_in_alter_table_commands696	= { FOLLOW_TABLESPACE_SYMBOL_in_alter_table_commands696_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_IMPORT_SYMBOL_in_alter_table_commands701  */
static	ANTLR3_BITWORD FOLLOW_IMPORT_SYMBOL_in_alter_table_commands701_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_commands701	= { FOLLOW_IMPORT_SYMBOL_in_alter_table_commands701_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TABLESPACE_SYMBOL_in_alter_table_commands703  */
static	ANTLR3_BITWORD FOLLOW_TABLESPACE_SYMBOL_in_alter_table_commands703_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_TABLESPACE_SYMBOL_in_alter_table_commands703	= { FOLLOW_TABLESPACE_SYMBOL_in_alter_table_commands703_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_alter_table_list_item_in_alter_table_commands708  */
static	ANTLR3_BITWORD FOLLOW_alter_table_list_item_in_alter_table_commands708_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_commands708	= { FOLLOW_alter_table_list_item_in_alter_table_commands708_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_alter_table_commands711  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_alter_table_commands711_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(0x0080000040000020), ANTLR3_UINT64_LIT(0x0000002000000000), ANTLR3_UINT64_LIT(0x0080000080000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000040) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_alter_table_commands711	= { FOLLOW_COMMA_SYMBOL_in_alter_table_commands711_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_alter_table_list_item_in_alter_table_commands713  */
static	ANTLR3_BITWORD FOLLOW_alter_table_list_item_in_alter_table_commands713_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_commands713	= { FOLLOW_alter_table_list_item_in_alter_table_commands713_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_partitioning_in_alter_table_commands718  */
static	ANTLR3_BITWORD FOLLOW_partitioning_in_alter_table_commands718_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_partitioning_in_alter_table_commands718	= { FOLLOW_partitioning_in_alter_table_commands718_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_remove_partitioning_in_alter_table_commands723  */
static	ANTLR3_BITWORD FOLLOW_remove_partitioning_in_alter_table_commands723_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_remove_partitioning_in_alter_table_commands723	= { FOLLOW_remove_partitioning_in_alter_table_commands723_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_remove_partitioning_in_alter_table_commands729  */
static	ANTLR3_BITWORD FOLLOW_remove_partitioning_in_alter_table_commands729_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_remove_partitioning_in_alter_table_commands729	= { FOLLOW_remove_partitioning_in_alter_table_commands729_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_partitioning_in_alter_table_commands734  */
static	ANTLR3_BITWORD FOLLOW_partitioning_in_alter_table_commands734_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_partitioning_in_alter_table_commands734	= { FOLLOW_partitioning_in_alter_table_commands734_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_alter_partition_in_alter_table_commands743  */
static	ANTLR3_BITWORD FOLLOW_alter_partition_in_alter_table_commands743_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_alter_partition_in_alter_table_commands743	= { FOLLOW_alter_partition_in_alter_table_commands743_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_alter_table_list_entry_in_alter_table_list_item752  */
static	ANTLR3_BITWORD FOLLOW_alter_table_list_entry_in_alter_table_list_item752_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_alter_table_list_entry_in_alter_table_list_item752	= { FOLLOW_alter_table_list_entry_in_alter_table_list_item752_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_alter_table_options_in_alter_table_list_entry769  */
static	ANTLR3_BITWORD FOLLOW_alter_table_options_in_alter_table_list_entry769_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_alter_table_options_in_alter_table_list_entry769	= { FOLLOW_alter_table_options_in_alter_table_list_entry769_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ADD_SYMBOL_in_alter_table_list_entry774  */
static	ANTLR3_BITWORD FOLLOW_ADD_SYMBOL_in_alter_table_list_entry774_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_ADD_SYMBOL_in_alter_table_list_entry774	= { FOLLOW_ADD_SYMBOL_in_alter_table_list_entry774_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COLUMN_SYMBOL_in_alter_table_list_entry776  */
static	ANTLR3_BITWORD FOLLOW_COLUMN_SYMBOL_in_alter_table_list_entry776_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_COLUMN_SYMBOL_in_alter_table_list_entry776	= { FOLLOW_COLUMN_SYMBOL_in_alter_table_list_entry776_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_column_definition_in_alter_table_list_entry786  */
static	ANTLR3_BITWORD FOLLOW_column_definition_in_alter_table_list_entry786_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000042), ANTLR3_UINT64_LIT(0x0000000001000000) };
static  ANTLR3_BITSET_LIST FOLLOW_column_definition_in_alter_table_list_entry786	= { FOLLOW_column_definition_in_alter_table_list_entry786_bits, 2	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FIRST_SYMBOL_in_alter_table_list_entry789  */
static	ANTLR3_BITWORD FOLLOW_FIRST_SYMBOL_in_alter_table_list_entry789_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_FIRST_SYMBOL_in_alter_table_list_entry789	= { FOLLOW_FIRST_SYMBOL_in_alter_table_list_entry789_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_AFTER_SYMBOL_in_alter_table_list_entry793  */
static	ANTLR3_BITWORD FOLLOW_AFTER_SYMBOL_in_alter_table_list_entry793_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_AFTER_SYMBOL_in_alter_table_list_entry793	= { FOLLOW_AFTER_SYMBOL_in_alter_table_list_entry793_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_alter_table_list_entry795  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_alter_table_list_entry795_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_alter_table_list_entry795	= { FOLLOW_identifier_in_alter_table_list_entry795_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_alter_table_list_entry804  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_alter_table_list_entry804_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_alter_table_list_entry804	= { FOLLOW_OPEN_PAR_SYMBOL_in_alter_table_list_entry804_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_column_definition_in_alter_table_list_entry806  */
static	ANTLR3_BITWORD FOLLOW_column_definition_in_alter_table_list_entry806_bits[]	= { ANTLR3_UINT64_LIT(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_entry806	= { FOLLOW_column_definition_in_alter_table_list_entry806_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_alter_table_list_entry809  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_alter_table_list_entry809_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_alter_table_list_entry809	= { FOLLOW_COMMA_SYMBOL_in_alter_table_list_entry809_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_column_definition_in_alter_table_list_entry811  */
static	ANTLR3_BITWORD FOLLOW_column_definition_in_alter_table_list_entry811_bits[]	= { ANTLR3_UINT64_LIT(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_entry811	= { FOLLOW_column_definition_in_alter_table_list_entry811_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_alter_table_list_entry815  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_alter_table_list_entry815_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_alter_table_list_entry815	= { FOLLOW_CLOSE_PAR_SYMBOL_in_alter_table_list_entry815_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ADD_SYMBOL_in_alter_table_list_entry824  */
static	ANTLR3_BITWORD FOLLOW_ADD_SYMBOL_in_alter_table_list_entry824_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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(0x0000000000040000) };
static  ANTLR3_BITSET_LIST FOLLOW_ADD_SYMBOL_in_alter_table_list_entry824	= { FOLLOW_ADD_SYMBOL_in_alter_table_list_entry824_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_alter_table_list_entry826  */
static	ANTLR3_BITWORD FOLLOW_set_in_alter_table_list_entry826_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000002000) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_alter_table_list_entry826	= { FOLLOW_set_in_alter_table_list_entry826_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_alter_table_list_entry834  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_alter_table_list_entry834_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(0x0000000008000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000002000) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_alter_table_list_entry834	= { FOLLOW_identifier_in_alter_table_list_entry834_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_index_type_in_alter_table_list_entry837  */
static	ANTLR3_BITWORD FOLLOW_index_type_in_alter_table_list_entry837_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_index_type_in_alter_table_list_entry837	= { FOLLOW_index_type_in_alter_table_list_entry837_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_index_columns_in_alter_table_list_entry840  */
static	ANTLR3_BITWORD FOLLOW_index_columns_in_alter_table_list_entry840_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(0x0000000000002000) };
static  ANTLR3_BITSET_LIST FOLLOW_index_columns_in_alter_table_list_entry840	= { FOLLOW_index_columns_in_alter_table_list_entry840_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_index_option_in_alter_table_list_entry842  */
static	ANTLR3_BITWORD FOLLOW_index_option_in_alter_table_list_entry842_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(0x0000000000002000) };
static  ANTLR3_BITSET_LIST FOLLOW_index_option_in_alter_table_list_entry842	= { FOLLOW_index_option_in_alter_table_list_entry842_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ADD_SYMBOL_in_alter_table_list_entry848  */
static	ANTLR3_BITWORD FOLLOW_ADD_SYMBOL_in_alter_table_list_entry848_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000000080000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000080000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000080) };
static  ANTLR3_BITSET_LIST FOLLOW_ADD_SYMBOL_in_alter_table_list_entry848	= { FOLLOW_ADD_SYMBOL_in_alter_table_list_entry848_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CONSTRAINT_SYMBOL_in_alter_table_list_entry851  */
static	ANTLR3_BITWORD FOLLOW_CONSTRAINT_SYMBOL_in_alter_table_list_entry851_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000080000008), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000080000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000080) };
static  ANTLR3_BITSET_LIST FOLLOW_CONSTRAINT_SYMBOL_in_alter_table_list_entry851	= { FOLLOW_CONSTRAINT_SYMBOL_in_alter_table_list_entry851_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_alter_table_list_entry853  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_alter_table_list_entry853_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000080000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000080) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_alter_table_list_entry853	= { FOLLOW_identifier_in_alter_table_list_entry853_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PRIMARY_SYMBOL_in_alter_table_list_entry865  */
static	ANTLR3_BITWORD FOLLOW_PRIMARY_SYMBOL_in_alter_table_list_entry865_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_PRIMARY_SYMBOL_in_alter_table_list_entry865	= { FOLLOW_PRIMARY_SYMBOL_in_alter_table_list_entry865_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_KEY_SYMBOL_in_alter_table_list_entry867  */
static	ANTLR3_BITWORD FOLLOW_KEY_SYMBOL_in_alter_table_list_entry867_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(0x0000000008000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000002000) };
static  ANTLR3_BITSET_LIST FOLLOW_KEY_SYMBOL_in_alter_table_list_entry867	= { FOLLOW_KEY_SYMBOL_in_alter_table_list_entry867_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_index_type_in_alter_table_list_entry869  */
static	ANTLR3_BITWORD FOLLOW_index_type_in_alter_table_list_entry869_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_index_type_in_alter_table_list_entry869	= { FOLLOW_index_type_in_alter_table_list_entry869_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_index_columns_in_alter_table_list_entry872  */
static	ANTLR3_BITWORD FOLLOW_index_columns_in_alter_table_list_entry872_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(0x0000000000002000) };
static  ANTLR3_BITSET_LIST FOLLOW_index_columns_in_alter_table_list_entry872	= { FOLLOW_index_columns_in_alter_table_list_entry872_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_index_option_in_alter_table_list_entry874  */
static	ANTLR3_BITWORD FOLLOW_index_option_in_alter_table_list_entry874_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(0x0000000000002000) };
static  ANTLR3_BITSET_LIST FOLLOW_index_option_in_alter_table_list_entry874	= { FOLLOW_index_option_in_alter_table_list_entry874_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_UNIQUE_SYMBOL_in_alter_table_list_entry882  */
static	ANTLR3_BITWORD FOLLOW_UNIQUE_SYMBOL_in_alter_table_list_entry882_bits[]	= { ANTLR3_UINT64_LIT(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(0x0088000000000008), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000008000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000002000) };
static  ANTLR3_BITSET_LIST FOLLOW_UNIQUE_SYMBOL_in_alter_table_list_entry882	= { FOLLOW_UNIQUE_SYMBOL_in_alter_table_list_entry882_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_alter_table_list_entry893  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_alter_table_list_entry893_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(0x0000000008000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000002000) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_alter_table_list_entry893	= { FOLLOW_identifier_in_alter_table_list_entry893_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_index_type_in_alter_table_list_entry896  */
static	ANTLR3_BITWORD FOLLOW_index_type_in_alter_table_list_entry896_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_index_type_in_alter_table_list_entry896	= { FOLLOW_index_type_in_alter_table_list_entry896_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_index_columns_in_alter_table_list_entry899  */
static	ANTLR3_BITWORD FOLLOW_index_columns_in_alter_table_list_entry899_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(0x0000000000002000) };
static  ANTLR3_BITSET_LIST FOLLOW_index_columns_in_alter_table_list_entry899	= { FOLLOW_index_columns_in_alter_table_list_entry899_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_index_option_in_alter_table_list_entry901  */
static	ANTLR3_BITWORD FOLLOW_index_option_in_alter_table_list_entry901_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(0x0000000000002000) };
static  ANTLR3_BITSET_LIST FOLLOW_index_option_in_alter_table_list_entry901	= { FOLLOW_index_option_in_alter_table_list_entry901_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FOREIGN_SYMBOL_in_alter_table_list_entry909  */
static	ANTLR3_BITWORD FOLLOW_FOREIGN_SYMBOL_in_alter_table_list_entry909_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_FOREIGN_SYMBOL_in_alter_table_list_entry909	= { FOLLOW_FOREIGN_SYMBOL_in_alter_table_list_entry909_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_KEY_SYMBOL_in_alter_table_list_entry911  */
static	ANTLR3_BITWORD FOLLOW_KEY_SYMBOL_in_alter_table_list_entry911_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_KEY_SYMBOL_in_alter_table_list_entry911	= { FOLLOW_KEY_SYMBOL_in_alter_table_list_entry911_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_alter_table_list_entry913  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_alter_table_list_entry913_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_alter_table_list_entry913	= { FOLLOW_identifier_in_alter_table_list_entry913_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_index_columns_in_alter_table_list_entry916  */
static	ANTLR3_BITWORD FOLLOW_index_columns_in_alter_table_list_entry916_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_index_columns_in_alter_table_list_entry916	= { FOLLOW_index_columns_in_alter_table_list_entry916_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_reference_definition_in_alter_table_list_entry918  */
static	ANTLR3_BITWORD FOLLOW_reference_definition_in_alter_table_list_entry918_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_reference_definition_in_alter_table_list_entry918	= { FOLLOW_reference_definition_in_alter_table_list_entry918_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ADD_SYMBOL_in_alter_table_list_entry927  */
static	ANTLR3_BITWORD FOLLOW_ADD_SYMBOL_in_alter_table_list_entry927_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_ADD_SYMBOL_in_alter_table_list_entry927	= { FOLLOW_ADD_SYMBOL_in_alter_table_list_entry927_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FULLTEXT_SYMBOL_in_alter_table_list_entry929  */
static	ANTLR3_BITWORD FOLLOW_FULLTEXT_SYMBOL_in_alter_table_list_entry929_bits[]	= { ANTLR3_UINT64_LIT(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(0x0088000000000008), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_FULLTEXT_SYMBOL_in_alter_table_list_entry929	= { FOLLOW_FULLTEXT_SYMBOL_in_alter_table_list_entry929_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_alter_table_list_entry940  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_alter_table_list_entry940_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_alter_table_list_entry940	= { FOLLOW_identifier_in_alter_table_list_entry940_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_index_columns_in_alter_table_list_entry943  */
static	ANTLR3_BITWORD FOLLOW_index_columns_in_alter_table_list_entry943_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(0x0000000000002000) };
static  ANTLR3_BITSET_LIST FOLLOW_index_columns_in_alter_table_list_entry943	= { FOLLOW_index_columns_in_alter_table_list_entry943_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_index_option_in_alter_table_list_entry945  */
static	ANTLR3_BITWORD FOLLOW_index_option_in_alter_table_list_entry945_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(0x0000000000002000) };
static  ANTLR3_BITSET_LIST FOLLOW_index_option_in_alter_table_list_entry945	= { FOLLOW_index_option_in_alter_table_list_entry945_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ADD_SYMBOL_in_alter_table_list_entry951  */
static	ANTLR3_BITWORD FOLLOW_ADD_SYMBOL_in_alter_table_list_entry951_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_ADD_SYMBOL_in_alter_table_list_entry951	= { FOLLOW_ADD_SYMBOL_in_alter_table_list_entry951_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SPATIAL_SYMBOL_in_alter_table_list_entry953  */
static	ANTLR3_BITWORD FOLLOW_SPATIAL_SYMBOL_in_alter_table_list_entry953_bits[]	= { ANTLR3_UINT64_LIT(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(0x0088000000000008), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_SPATIAL_SYMBOL_in_alter_table_list_entry953	= { FOLLOW_SPATIAL_SYMBOL_in_alter_table_list_entry953_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_alter_table_list_entry964  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_alter_table_list_entry964_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_alter_table_list_entry964	= { FOLLOW_identifier_in_alter_table_list_entry964_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_index_columns_in_alter_table_list_entry967  */
static	ANTLR3_BITWORD FOLLOW_index_columns_in_alter_table_list_entry967_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(0x0000000000002000) };
static  ANTLR3_BITSET_LIST FOLLOW_index_columns_in_alter_table_list_entry967	= { FOLLOW_index_columns_in_alter_table_list_entry967_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_index_option_in_alter_table_list_entry969  */
static	ANTLR3_BITWORD FOLLOW_index_option_in_alter_table_list_entry969_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(0x0000000000002000) };
static  ANTLR3_BITSET_LIST FOLLOW_index_option_in_alter_table_list_entry969	= { FOLLOW_index_option_in_alter_table_list_entry969_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ALTER_SYMBOL_in_alter_table_list_entry975  */
static	ANTLR3_BITWORD FOLLOW_ALTER_SYMBOL_in_alter_table_list_entry975_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_ALTER_SYMBOL_in_alter_table_list_entry975	= { FOLLOW_ALTER_SYMBOL_in_alter_table_list_entry975_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COLUMN_SYMBOL_in_alter_table_list_entry977  */
static	ANTLR3_BITWORD FOLLOW_COLUMN_SYMBOL_in_alter_table_list_entry977_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_COLUMN_SYMBOL_in_alter_table_list_entry977	= { FOLLOW_COLUMN_SYMBOL_in_alter_table_list_entry977_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_alter_table_list_entry980  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_alter_table_list_entry980_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000800) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_alter_table_list_entry980	= { FOLLOW_identifier_in_alter_table_list_entry980_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SET_SYMBOL_in_alter_table_list_entry983  */
static	ANTLR3_BITWORD FOLLOW_SET_SYMBOL_in_alter_table_list_entry983_bits[]	= { ANTLR3_UINT64_LIT(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_entry983	= { FOLLOW_SET_SYMBOL_in_alter_table_list_entry983_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DEFAULT_SYMBOL_in_alter_table_list_entry985  */
static	ANTLR3_BITWORD FOLLOW_DEFAULT_SYMBOL_in_alter_table_list_entry985_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(0x0000600004400008), ANTLR3_UINT64_LIT(0x0000000000000004), ANTLR3_UINT64_LIT(0x0000000000050080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000012) };
static  ANTLR3_BITSET_LIST FOLLOW_DEFAULT_SYMBOL_in_alter_table_list_entry985	= { FOLLOW_DEFAULT_SYMBOL_in_alter_table_list_entry985_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_literal_in_alter_table_list_entry987  */
static	ANTLR3_BITWORD FOLLOW_literal_in_alter_table_list_entry987_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_literal_in_alter_table_list_entry987	= { FOLLOW_literal_in_alter_table_list_entry987_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DROP_SYMBOL_in_alter_table_list_entry991  */
static	ANTLR3_BITWORD FOLLOW_DROP_SYMBOL_in_alter_table_list_entry991_bits[]	= { ANTLR3_UINT64_LIT(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_entry991	= { FOLLOW_DROP_SYMBOL_in_alter_table_list_entry991_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DEFAULT_SYMBOL_in_alter_table_list_entry993  */
static	ANTLR3_BITWORD FOLLOW_DEFAULT_SYMBOL_in_alter_table_list_entry993_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_DEFAULT_SYMBOL_in_alter_table_list_entry993	= { FOLLOW_DEFAULT_SYMBOL_in_alter_table_list_entry993_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CHANGE_SYMBOL_in_alter_table_list_entry999  */
static	ANTLR3_BITWORD FOLLOW_CHANGE_SYMBOL_in_alter_table_list_entry999_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_CHANGE_SYMBOL_in_alter_table_list_entry999	= { FOLLOW_CHANGE_SYMBOL_in_alter_table_list_entry999_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COLUMN_SYMBOL_in_alter_table_list_entry1001  */
static	ANTLR3_BITWORD FOLLOW_COLUMN_SYMBOL_in_alter_table_list_entry1001_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_COLUMN_SYMBOL_in_alter_table_list_entry1001	= { FOLLOW_COLUMN_SYMBOL_in_alter_table_list_entry1001_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_alter_table_list_entry1004  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_alter_table_list_entry1004_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_alter_table_list_entry1004	= { FOLLOW_identifier_in_alter_table_list_entry1004_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_field_spec_in_alter_table_list_entry1006  */
static	ANTLR3_BITWORD FOLLOW_field_spec_in_alter_table_list_entry1006_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000042), ANTLR3_UINT64_LIT(0x0000000001000000) };
static  ANTLR3_BITSET_LIST FOLLOW_field_spec_in_alter_table_list_entry1006	= { FOLLOW_field_spec_in_alter_table_list_entry1006_bits, 2	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FIRST_SYMBOL_in_alter_table_list_entry1009  */
static	ANTLR3_BITWORD FOLLOW_FIRST_SYMBOL_in_alter_table_list_entry1009_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_FIRST_SYMBOL_in_alter_table_list_entry1009	= { FOLLOW_FIRST_SYMBOL_in_alter_table_list_entry1009_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_AFTER_SYMBOL_in_alter_table_list_entry1013  */
static	ANTLR3_BITWORD FOLLOW_AFTER_SYMBOL_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(0x0008000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_AFTER_SYMBOL_in_alter_table_list_entry1013	= { FOLLOW_AFTER_SYMBOL_in_alter_table_list_entry1013_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_alter_table_list_entry1015  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_alter_table_list_entry1015_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_alter_table_list_entry1015	= { FOLLOW_identifier_in_alter_table_list_entry1015_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MODIFY_SYMBOL_in_alter_table_list_entry1022  */
static	ANTLR3_BITWORD FOLLOW_MODIFY_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(0x0000000000100000), ANTLR3_UINT64_LIT(0x0008000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_MODIFY_SYMBOL_in_alter_table_list_entry1022	= { FOLLOW_MODIFY_SYMBOL_in_alter_table_list_entry1022_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COLUMN_SYMBOL_in_alter_table_list_entry1024  */
static	ANTLR3_BITWORD FOLLOW_COLUMN_SYMBOL_in_alter_table_list_entry1024_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_COLUMN_SYMBOL_in_alter_table_list_entry1024	= { FOLLOW_COLUMN_SYMBOL_in_alter_table_list_entry1024_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_alter_table_list_entry1027  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_alter_table_list_entry1027_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_alter_table_list_entry1027	= { FOLLOW_identifier_in_alter_table_list_entry1027_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_field_spec_in_alter_table_list_entry1029  */
static	ANTLR3_BITWORD FOLLOW_field_spec_in_alter_table_list_entry1029_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000042), ANTLR3_UINT64_LIT(0x0000000001000000) };
static  ANTLR3_BITSET_LIST FOLLOW_field_spec_in_alter_table_list_entry1029	= { FOLLOW_field_spec_in_alter_table_list_entry1029_bits, 2	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FIRST_SYMBOL_in_alter_table_list_entry1032  */
static	ANTLR3_BITWORD FOLLOW_FIRST_SYMBOL_in_alter_table_list_entry1032_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_FIRST_SYMBOL_in_alter_table_list_entry1032	= { FOLLOW_FIRST_SYMBOL_in_alter_table_list_entry1032_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_AFTER_SYMBOL_in_alter_table_list_entry1036  */
static	ANTLR3_BITWORD FOLLOW_AFTER_SYMBOL_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(0x0008000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_AFTER_SYMBOL_in_alter_table_list_entry1036	= { FOLLOW_AFTER_SYMBOL_in_alter_table_list_entry1036_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_alter_table_list_entry1038  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_alter_table_list_entry1038_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_alter_table_list_entry1038	= { FOLLOW_identifier_in_alter_table_list_entry1038_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DROP_SYMBOL_in_alter_table_list_entry1045  */
static	ANTLR3_BITWORD FOLLOW_DROP_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(0x0000000000100000), ANTLR3_UINT64_LIT(0x0088000080000008), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000080000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_DROP_SYMBOL_in_alter_table_list_entry1045	= { FOLLOW_DROP_SYMBOL_in_alter_table_list_entry1045_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_alter_table_list_entry1054  */
static	ANTLR3_BITWORD FOLLOW_set_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(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_alter_table_list_entry1054	= { FOLLOW_set_in_alter_table_list_entry1054_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_alter_table_list_entry1062  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_alter_table_list_entry1062_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_alter_table_list_entry1062	= { FOLLOW_identifier_in_alter_table_list_entry1062_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COLUMN_SYMBOL_in_alter_table_list_entry1069  */
static	ANTLR3_BITWORD FOLLOW_COLUMN_SYMBOL_in_alter_table_list_entry1069_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_COLUMN_SYMBOL_in_alter_table_list_entry1069	= { FOLLOW_COLUMN_SYMBOL_in_alter_table_list_entry1069_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_alter_table_list_entry1072  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_alter_table_list_entry1072_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_alter_table_list_entry1072	= { FOLLOW_identifier_in_alter_table_list_entry1072_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PRIMARY_SYMBOL_in_alter_table_list_entry1079  */
static	ANTLR3_BITWORD FOLLOW_PRIMARY_SYMBOL_in_alter_table_list_entry1079_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_PRIMARY_SYMBOL_in_alter_table_list_entry1079	= { FOLLOW_PRIMARY_SYMBOL_in_alter_table_list_entry1079_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_KEY_SYMBOL_in_alter_table_list_entry1081  */
static	ANTLR3_BITWORD FOLLOW_KEY_SYMBOL_in_alter_table_list_entry1081_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_KEY_SYMBOL_in_alter_table_list_entry1081	= { FOLLOW_KEY_SYMBOL_in_alter_table_list_entry1081_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FOREIGN_SYMBOL_in_alter_table_list_entry1088  */
static	ANTLR3_BITWORD FOLLOW_FOREIGN_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(0x0000000000040000) };
static  ANTLR3_BITSET_LIST FOLLOW_FOREIGN_SYMBOL_in_alter_table_list_entry1088	= { FOLLOW_FOREIGN_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(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(0x0008000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_KEY_SYMBOL_in_alter_table_list_entry1090	= { FOLLOW_KEY_SYMBOL_in_alter_table_list_entry1090_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_alter_table_list_entry1092  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_alter_table_list_entry1092_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_alter_table_list_entry1092	= { FOLLOW_identifier_in_alter_table_list_entry1092_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DISABLE_SYMBOL_in_alter_table_list_entry1101  */
static	ANTLR3_BITWORD FOLLOW_DISABLE_SYMBOL_in_alter_table_list_entry1101_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_DISABLE_SYMBOL_in_alter_table_list_entry1101	= { FOLLOW_DISABLE_SYMBOL_in_alter_table_list_entry1101_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_KEYS_SYMBOL_in_alter_table_list_entry1103  */
static	ANTLR3_BITWORD FOLLOW_KEYS_SYMBOL_in_alter_table_list_entry1103_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_KEYS_SYMBOL_in_alter_table_list_entry1103	= { FOLLOW_KEYS_SYMBOL_in_alter_table_list_entry1103_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ENABLE_SYMBOL_in_alter_table_list_entry1108  */
static	ANTLR3_BITWORD FOLLOW_ENABLE_SYMBOL_in_alter_table_list_entry1108_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000008000) };
static  ANTLR3_BITSET_LIST FOLLOW_ENABLE_SYMBOL_in_alter_table_list_entry1108	= { FOLLOW_ENABLE_SYMBOL_in_alter_table_list_entry1108_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_KEYS_SYMBOL_in_alter_table_list_entry1110  */
static	ANTLR3_BITWORD FOLLOW_KEYS_SYMBOL_in_alter_table_list_entry1110_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_KEYS_SYMBOL_in_alter_table_list_entry1110	= { FOLLOW_KEYS_SYMBOL_in_alter_table_list_entry1110_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_RENAME_SYMBOL_in_alter_table_list_entry1115  */
static	ANTLR3_BITWORD FOLLOW_RENAME_SYMBOL_in_alter_table_list_entry1115_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(0x0008000000000008), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x2000000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_RENAME_SYMBOL_in_alter_table_list_entry1115	= { FOLLOW_RENAME_SYMBOL_in_alter_table_list_entry1115_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_alter_table_list_entry1126  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_alter_table_list_entry1126_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_alter_table_list_entry1126	= { FOLLOW_identifier_in_alter_table_list_entry1126_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_alter_order_by_in_alter_table_list_entry1131  */
static	ANTLR3_BITWORD FOLLOW_alter_order_by_in_alter_table_list_entry1131_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_alter_order_by_in_alter_table_list_entry1131	= { FOLLOW_alter_order_by_in_alter_table_list_entry1131_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CONVERT_SYMBOL_in_alter_table_list_entry1136  */
static	ANTLR3_BITWORD FOLLOW_CONVERT_SYMBOL_in_alter_table_list_entry1136_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x2000000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_CONVERT_SYMBOL_in_alter_table_list_entry1136	= { FOLLOW_CONVERT_SYMBOL_in_alter_table_list_entry1136_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TO_SYMBOL_in_alter_table_list_entry1138  */
static	ANTLR3_BITWORD FOLLOW_TO_SYMBOL_in_alter_table_list_entry1138_bits[]	= { ANTLR3_UINT64_LIT(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_entry1138	= { FOLLOW_TO_SYMBOL_in_alter_table_list_entry1138_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CHAR_SYMBOL_in_alter_table_list_entry1140  */
static	ANTLR3_BITWORD FOLLOW_CHAR_SYMBOL_in_alter_table_list_entry1140_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_CHAR_SYMBOL_in_alter_table_list_entry1140	= { FOLLOW_CHAR_SYMBOL_in_alter_table_list_entry1140_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SET_SYMBOL_in_alter_table_list_entry1142  */
static	ANTLR3_BITWORD FOLLOW_SET_SYMBOL_in_alter_table_list_entry1142_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(0x0008000000000008), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_SET_SYMBOL_in_alter_table_list_entry1142	= { FOLLOW_SET_SYMBOL_in_alter_table_list_entry1142_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_charset_name_or_default_in_alter_table_list_entry1144  */
static	ANTLR3_BITWORD FOLLOW_charset_name_or_default_in_alter_table_list_entry1144_bits[]	= { ANTLR3_UINT64_LIT(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_entry1144	= { FOLLOW_charset_name_or_default_in_alter_table_list_entry1144_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COLLATE_SYMBOL_in_alter_table_list_entry1147  */
static	ANTLR3_BITWORD FOLLOW_COLLATE_SYMBOL_in_alter_table_list_entry1147_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_COLLATE_SYMBOL_in_alter_table_list_entry1147	= { FOLLOW_COLLATE_SYMBOL_in_alter_table_list_entry1147_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_collation_name_or_default_in_alter_table_list_entry1149  */
static	ANTLR3_BITWORD FOLLOW_collation_name_or_default_in_alter_table_list_entry1149_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_collation_name_or_default_in_alter_table_list_entry1149	= { FOLLOW_collation_name_or_default_in_alter_table_list_entry1149_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FORCE_SYMBOL_in_alter_table_list_entry1156  */
static	ANTLR3_BITWORD FOLLOW_FORCE_SYMBOL_in_alter_table_list_entry1156_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_FORCE_SYMBOL_in_alter_table_list_entry1156	= { FOLLOW_FORCE_SYMBOL_in_alter_table_list_entry1156_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_alter_algorithm_option_in_alter_table_list_entry1165  */
static	ANTLR3_BITWORD FOLLOW_alter_algorithm_option_in_alter_table_list_entry1165_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_alter_algorithm_option_in_alter_table_list_entry1165	= { FOLLOW_alter_algorithm_option_in_alter_table_list_entry1165_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_alter_lock_option_in_alter_table_list_entry1174  */
static	ANTLR3_BITWORD FOLLOW_alter_lock_option_in_alter_table_list_entry1174_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_alter_lock_option_in_alter_table_list_entry1174	= { FOLLOW_alter_lock_option_in_alter_table_list_entry1174_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ORDER_SYMBOL_in_alter_order_by1183  */
static	ANTLR3_BITWORD FOLLOW_ORDER_SYMBOL_in_alter_order_by1183_bits[]	= { ANTLR3_UINT64_LIT(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_by1183	= { FOLLOW_ORDER_SYMBOL_in_alter_order_by1183_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BY_SYMBOL_in_alter_order_by1185  */
static	ANTLR3_BITWORD FOLLOW_BY_SYMBOL_in_alter_order_by1185_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_BY_SYMBOL_in_alter_order_by1185	= { FOLLOW_BY_SYMBOL_in_alter_order_by1185_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_alter_order_by1187  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_alter_order_by1187_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_by1187	= { FOLLOW_identifier_in_alter_order_by1187_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_direction_in_alter_order_by1189  */
static	ANTLR3_BITWORD FOLLOW_direction_in_alter_order_by1189_bits[]	= { ANTLR3_UINT64_LIT(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_by1189	= { FOLLOW_direction_in_alter_order_by1189_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_alter_order_by1204  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_alter_order_by1204_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_alter_order_by1204	= { FOLLOW_COMMA_SYMBOL_in_alter_order_by1204_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_alter_order_by1206  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_alter_order_by1206_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_by1206	= { FOLLOW_identifier_in_alter_order_by1206_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_direction_in_alter_order_by1208  */
static	ANTLR3_BITWORD FOLLOW_direction_in_alter_order_by1208_bits[]	= { ANTLR3_UINT64_LIT(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_by1208	= { FOLLOW_direction_in_alter_order_by1208_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ALGORITHM_SYMBOL_in_alter_algorithm_option1219  */
static	ANTLR3_BITWORD FOLLOW_ALGORITHM_SYMBOL_in_alter_algorithm_option1219_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000001008) };
static  ANTLR3_BITSET_LIST FOLLOW_ALGORITHM_SYMBOL_in_alter_algorithm_option1219	= { FOLLOW_ALGORITHM_SYMBOL_in_alter_algorithm_option1219_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_alter_algorithm_option1221  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_alter_algorithm_option1221_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_alter_algorithm_option1221	= { FOLLOW_EQUAL_OPERATOR_in_alter_algorithm_option1221_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DEFAULT_SYMBOL_in_alter_algorithm_option1226  */
static	ANTLR3_BITWORD FOLLOW_DEFAULT_SYMBOL_in_alter_algorithm_option1226_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_DEFAULT_SYMBOL_in_alter_algorithm_option1226	= { FOLLOW_DEFAULT_SYMBOL_in_alter_algorithm_option1226_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_alter_algorithm_option1230  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_alter_algorithm_option1230_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_alter_algorithm_option1230	= { FOLLOW_identifier_in_alter_algorithm_option1230_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_LOCK_SYMBOL_in_alter_lock_option1241  */
static	ANTLR3_BITWORD FOLLOW_LOCK_SYMBOL_in_alter_lock_option1241_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000001008) };
static  ANTLR3_BITSET_LIST FOLLOW_LOCK_SYMBOL_in_alter_lock_option1241	= { FOLLOW_LOCK_SYMBOL_in_alter_lock_option1241_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_alter_lock_option1243  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_alter_lock_option1243_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_alter_lock_option1243	= { FOLLOW_EQUAL_OPERATOR_in_alter_lock_option1243_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DEFAULT_SYMBOL_in_alter_lock_option1247  */
static	ANTLR3_BITWORD FOLLOW_DEFAULT_SYMBOL_in_alter_lock_option1247_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_DEFAULT_SYMBOL_in_alter_lock_option1247	= { FOLLOW_DEFAULT_SYMBOL_in_alter_lock_option1247_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_alter_lock_option1251  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_alter_lock_option1251_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_alter_lock_option1251	= { FOLLOW_identifier_in_alter_lock_option1251_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_alter_algorithm_option_in_index_lock_algorithm1273  */
static	ANTLR3_BITWORD FOLLOW_alter_algorithm_option_in_index_lock_algorithm1273_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_alter_algorithm_option_in_index_lock_algorithm1273	= { FOLLOW_alter_algorithm_option_in_index_lock_algorithm1273_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_alter_lock_option_in_index_lock_algorithm1275  */
static	ANTLR3_BITWORD FOLLOW_alter_lock_option_in_index_lock_algorithm1275_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_alter_lock_option_in_index_lock_algorithm1275	= { FOLLOW_alter_lock_option_in_index_lock_algorithm1275_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_alter_lock_option_in_index_lock_algorithm1283  */
static	ANTLR3_BITWORD FOLLOW_alter_lock_option_in_index_lock_algorithm1283_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000202) };
static  ANTLR3_BITSET_LIST FOLLOW_alter_lock_option_in_index_lock_algorithm1283	= { FOLLOW_alter_lock_option_in_index_lock_algorithm1283_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_alter_algorithm_option_in_index_lock_algorithm1285  */
static	ANTLR3_BITWORD FOLLOW_alter_algorithm_option_in_index_lock_algorithm1285_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_alter_algorithm_option_in_index_lock_algorithm1285	= { FOLLOW_alter_algorithm_option_in_index_lock_algorithm1285_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ADD_SYMBOL_in_alter_partition1303  */
static	ANTLR3_BITWORD FOLLOW_ADD_SYMBOL_in_alter_partition1303_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_partition1303	= { FOLLOW_ADD_SYMBOL_in_alter_partition1303_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PARTITION_SYMBOL_in_alter_partition1305  */
static	ANTLR3_BITWORD FOLLOW_PARTITION_SYMBOL_in_alter_partition1305_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(0x0000000008008000) };
static  ANTLR3_BITSET_LIST FOLLOW_PARTITION_SYMBOL_in_alter_partition1305	= { FOLLOW_PARTITION_SYMBOL_in_alter_partition1305_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_no_write_to_bin_log_in_alter_partition1307  */
static	ANTLR3_BITWORD FOLLOW_no_write_to_bin_log_in_alter_partition1307_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(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_no_write_to_bin_log_in_alter_partition1307	= { FOLLOW_no_write_to_bin_log_in_alter_partition1307_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_alter_partition1317  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_alter_partition1317_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_partition1317	= { FOLLOW_OPEN_PAR_SYMBOL_in_alter_partition1317_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_partition_definition_in_alter_partition1319  */
static	ANTLR3_BITWORD FOLLOW_partition_definition_in_alter_partition1319_bits[]	= { ANTLR3_UINT64_LIT(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_partition1319	= { FOLLOW_partition_definition_in_alter_partition1319_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_alter_partition1321  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_alter_partition1321_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_alter_partition1321	= { FOLLOW_CLOSE_PAR_SYMBOL_in_alter_partition1321_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PARTITIONS_SYMBOL_in_alter_partition1328  */
static	ANTLR3_BITWORD FOLLOW_PARTITIONS_SYMBOL_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(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000004) };
static  ANTLR3_BITSET_LIST FOLLOW_PARTITIONS_SYMBOL_in_alter_partition1328	= { FOLLOW_PARTITIONS_SYMBOL_in_alter_partition1328_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_alter_partition1330  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_alter_partition1330_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_INTEGER_in_alter_partition1330	= { FOLLOW_INTEGER_in_alter_partition1330_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DROP_SYMBOL_in_alter_partition1339  */
static	ANTLR3_BITWORD FOLLOW_DROP_SYMBOL_in_alter_partition1339_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_partition1339	= { FOLLOW_DROP_SYMBOL_in_alter_partition1339_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PARTITION_SYMBOL_in_alter_partition1341  */
static	ANTLR3_BITWORD FOLLOW_PARTITION_SYMBOL_in_alter_partition1341_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_PARTITION_SYMBOL_in_alter_partition1341	= { FOLLOW_PARTITION_SYMBOL_in_alter_partition1341_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_list_in_alter_partition1343  */
static	ANTLR3_BITWORD FOLLOW_identifier_list_in_alter_partition1343_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_list_in_alter_partition1343	= { FOLLOW_identifier_list_in_alter_partition1343_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_REBUILD_SYMBOL_in_alter_partition1348  */
static	ANTLR3_BITWORD FOLLOW_REBUILD_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_REBUILD_SYMBOL_in_alter_partition1348	= { FOLLOW_REBUILD_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(0x0004004FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000008), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000008000) };
static  ANTLR3_BITSET_LIST FOLLOW_PARTITION_SYMBOL_in_alter_partition1350	= { FOLLOW_PARTITION_SYMBOL_in_alter_partition1350_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_no_write_to_bin_log_in_alter_partition1352  */
static	ANTLR3_BITWORD FOLLOW_no_write_to_bin_log_in_alter_partition1352_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(0x0008000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_no_write_to_bin_log_in_alter_partition1352	= { FOLLOW_no_write_to_bin_log_in_alter_partition1352_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_all_or_partition_name_list_in_alter_partition1355  */
static	ANTLR3_BITWORD FOLLOW_all_or_partition_name_list_in_alter_partition1355_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_all_or_partition_name_list_in_alter_partition1355	= { FOLLOW_all_or_partition_name_list_in_alter_partition1355_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPTIMIZE_SYMBOL_in_alter_partition1360  */
static	ANTLR3_BITWORD FOLLOW_OPTIMIZE_SYMBOL_in_alter_partition1360_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_partition1360	= { FOLLOW_OPTIMIZE_SYMBOL_in_alter_partition1360_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PARTITION_SYMBOL_in_alter_partition1362  */
static	ANTLR3_BITWORD FOLLOW_PARTITION_SYMBOL_in_alter_partition1362_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(0x0008000000000008), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000008000) };
static  ANTLR3_BITSET_LIST FOLLOW_PARTITION_SYMBOL_in_alter_partition1362	= { FOLLOW_PARTITION_SYMBOL_in_alter_partition1362_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_no_write_to_bin_log_in_alter_partition1364  */
static	ANTLR3_BITWORD FOLLOW_no_write_to_bin_log_in_alter_partition1364_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(0x0008000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_no_write_to_bin_log_in_alter_partition1364	= { FOLLOW_no_write_to_bin_log_in_alter_partition1364_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_all_or_partition_name_list_in_alter_partition1367  */
static	ANTLR3_BITWORD FOLLOW_all_or_partition_name_list_in_alter_partition1367_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(0x0000000000008000) };
static  ANTLR3_BITSET_LIST FOLLOW_all_or_partition_name_list_in_alter_partition1367	= { FOLLOW_all_or_partition_name_list_in_alter_partition1367_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_no_write_to_bin_log_in_alter_partition1369  */
static	ANTLR3_BITWORD FOLLOW_no_write_to_bin_log_in_alter_partition1369_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_no_write_to_bin_log_in_alter_partition1369	= { FOLLOW_no_write_to_bin_log_in_alter_partition1369_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ANALYZE_SYMBOL_in_alter_partition1376  */
static	ANTLR3_BITWORD FOLLOW_ANALYZE_SYMBOL_in_alter_partition1376_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_partition1376	= { FOLLOW_ANALYZE_SYMBOL_in_alter_partition1376_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PARTITION_SYMBOL_in_alter_partition1378  */
static	ANTLR3_BITWORD FOLLOW_PARTITION_SYMBOL_in_alter_partition1378_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(0x0008000000000008), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000008000) };
static  ANTLR3_BITSET_LIST FOLLOW_PARTITION_SYMBOL_in_alter_partition1378	= { FOLLOW_PARTITION_SYMBOL_in_alter_partition1378_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_no_write_to_bin_log_in_alter_partition1380  */
static	ANTLR3_BITWORD FOLLOW_no_write_to_bin_log_in_alter_partition1380_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(0x0008000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_no_write_to_bin_log_in_alter_partition1380	= { FOLLOW_no_write_to_bin_log_in_alter_partition1380_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_all_or_partition_name_list_in_alter_partition1383  */
static	ANTLR3_BITWORD FOLLOW_all_or_partition_name_list_in_alter_partition1383_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_all_or_partition_name_list_in_alter_partition1383	= { FOLLOW_all_or_partition_name_list_in_alter_partition1383_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CHECK_SYMBOL_in_alter_partition1388  */
static	ANTLR3_BITWORD FOLLOW_CHECK_SYMBOL_in_alter_partition1388_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_partition1388	= { FOLLOW_CHECK_SYMBOL_in_alter_partition1388_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PARTITION_SYMBOL_in_alter_partition1390  */
static	ANTLR3_BITWORD FOLLOW_PARTITION_SYMBOL_in_alter_partition1390_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(0x0008000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_PARTITION_SYMBOL_in_alter_partition1390	= { FOLLOW_PARTITION_SYMBOL_in_alter_partition1390_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(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(0x0000000100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_all_or_partition_name_list_in_alter_partition1392	= { FOLLOW_all_or_partition_name_list_in_alter_partition1392_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_check_option_in_alter_partition1394  */
static	ANTLR3_BITWORD FOLLOW_check_option_in_alter_partition1394_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(0x0000000100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_check_option_in_alter_partition1394	= { FOLLOW_check_option_in_alter_partition1394_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_REPAIR_SYMBOL_in_alter_partition1400  */
static	ANTLR3_BITWORD FOLLOW_REPAIR_SYMBOL_in_alter_partition1400_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_partition1400	= { FOLLOW_REPAIR_SYMBOL_in_alter_partition1400_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PARTITION_SYMBOL_in_alter_partition1402  */
static	ANTLR3_BITWORD FOLLOW_PARTITION_SYMBOL_in_alter_partition1402_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(0x0008000000000008), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000008000) };
static  ANTLR3_BITSET_LIST FOLLOW_PARTITION_SYMBOL_in_alter_partition1402	= { FOLLOW_PARTITION_SYMBOL_in_alter_partition1402_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_no_write_to_bin_log_in_alter_partition1404  */
static	ANTLR3_BITWORD FOLLOW_no_write_to_bin_log_in_alter_partition1404_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(0x0008000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_no_write_to_bin_log_in_alter_partition1404	= { FOLLOW_no_write_to_bin_log_in_alter_partition1404_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_all_or_partition_name_list_in_alter_partition1407  */
static	ANTLR3_BITWORD FOLLOW_all_or_partition_name_list_in_alter_partition1407_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_partition1407	= { FOLLOW_all_or_partition_name_list_in_alter_partition1407_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_repair_option_in_alter_partition1409  */
static	ANTLR3_BITWORD FOLLOW_repair_option_in_alter_partition1409_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_partition1409	= { FOLLOW_repair_option_in_alter_partition1409_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COALESCE_SYMBOL_in_alter_partition1415  */
static	ANTLR3_BITWORD FOLLOW_COALESCE_SYMBOL_in_alter_partition1415_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_partition1415	= { FOLLOW_COALESCE_SYMBOL_in_alter_partition1415_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PARTITION_SYMBOL_in_alter_partition1417  */
static	ANTLR3_BITWORD FOLLOW_PARTITION_SYMBOL_in_alter_partition1417_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(0x0000000000000004), ANTLR3_UINT64_LIT(0x0000000000008000) };
static  ANTLR3_BITSET_LIST FOLLOW_PARTITION_SYMBOL_in_alter_partition1417	= { FOLLOW_PARTITION_SYMBOL_in_alter_partition1417_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_no_write_to_bin_log_in_alter_partition1419  */
static	ANTLR3_BITWORD FOLLOW_no_write_to_bin_log_in_alter_partition1419_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000004) };
static  ANTLR3_BITSET_LIST FOLLOW_no_write_to_bin_log_in_alter_partition1419	= { FOLLOW_no_write_to_bin_log_in_alter_partition1419_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_alter_partition1422  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_alter_partition1422_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_INTEGER_in_alter_partition1422	= { FOLLOW_INTEGER_in_alter_partition1422_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TRUNCATE_SYMBOL_in_alter_partition1431  */
static	ANTLR3_BITWORD FOLLOW_TRUNCATE_SYMBOL_in_alter_partition1431_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_partition1431	= { FOLLOW_TRUNCATE_SYMBOL_in_alter_partition1431_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PARTITION_SYMBOL_in_alter_partition1433  */
static	ANTLR3_BITWORD FOLLOW_PARTITION_SYMBOL_in_alter_partition1433_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(0x0008000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_PARTITION_SYMBOL_in_alter_partition1433	= { FOLLOW_PARTITION_SYMBOL_in_alter_partition1433_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_all_or_partition_name_list_in_alter_partition1435  */
static	ANTLR3_BITWORD FOLLOW_all_or_partition_name_list_in_alter_partition1435_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_all_or_partition_name_list_in_alter_partition1435	= { FOLLOW_all_or_partition_name_list_in_alter_partition1435_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EXCHANGE_SYMBOL_in_alter_partition1440  */
static	ANTLR3_BITWORD FOLLOW_EXCHANGE_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_EXCHANGE_SYMBOL_in_alter_partition1440	= { FOLLOW_EXCHANGE_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(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000008) };
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_identifier_in_alter_partition1444  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_alter_partition1444_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_alter_partition1444	= { FOLLOW_identifier_in_alter_partition1444_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_WITH_SYMBOL_in_alter_partition1446  */
static	ANTLR3_BITWORD FOLLOW_WITH_SYMBOL_in_alter_partition1446_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_WITH_SYMBOL_in_alter_partition1446	= { FOLLOW_WITH_SYMBOL_in_alter_partition1446_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TABLE_SYMBOL_in_alter_partition1448  */
static	ANTLR3_BITWORD FOLLOW_TABLE_SYMBOL_in_alter_partition1448_bits[]	= { ANTLR3_UINT64_LIT(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(0x000800000000000A) };
static  ANTLR3_BITSET_LIST FOLLOW_TABLE_SYMBOL_in_alter_partition1448	= { FOLLOW_TABLE_SYMBOL_in_alter_partition1448_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_identifier_in_alter_partition1450  */
static	ANTLR3_BITWORD FOLLOW_table_identifier_in_alter_partition1450_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_table_identifier_in_alter_partition1450	= { FOLLOW_table_identifier_in_alter_partition1450_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_REORGANIZE_SYMBOL_in_alter_partition1455  */
static	ANTLR3_BITWORD FOLLOW_REORGANIZE_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(0x0000000800000000) };
static  ANTLR3_BITSET_LIST FOLLOW_REORGANIZE_SYMBOL_in_alter_partition1455	= { FOLLOW_REORGANIZE_SYMBOL_in_alter_partition1455_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PARTITION_SYMBOL_in_alter_partition1457  */
static	ANTLR3_BITWORD FOLLOW_PARTITION_SYMBOL_in_alter_partition1457_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(0x0008000000000008), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000008000) };
static  ANTLR3_BITSET_LIST FOLLOW_PARTITION_SYMBOL_in_alter_partition1457	= { FOLLOW_PARTITION_SYMBOL_in_alter_partition1457_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_no_write_to_bin_log_in_alter_partition1459  */
static	ANTLR3_BITWORD FOLLOW_no_write_to_bin_log_in_alter_partition1459_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(0x0008000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_no_write_to_bin_log_in_alter_partition1459	= { FOLLOW_no_write_to_bin_log_in_alter_partition1459_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_list_in_alter_partition1463  */
static	ANTLR3_BITWORD FOLLOW_identifier_list_in_alter_partition1463_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_identifier_list_in_alter_partition1463	= { FOLLOW_identifier_list_in_alter_partition1463_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTO_SYMBOL_in_alter_partition1465  */
static	ANTLR3_BITWORD FOLLOW_INTO_SYMBOL_in_alter_partition1465_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_INTO_SYMBOL_in_alter_partition1465	= { FOLLOW_INTO_SYMBOL_in_alter_partition1465_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_partition_definitions_in_alter_partition1467  */
static	ANTLR3_BITWORD FOLLOW_partition_definitions_in_alter_partition1467_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_partition_definitions_in_alter_partition1467	= { FOLLOW_partition_definitions_in_alter_partition1467_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_REMOVE_SYMBOL_in_remove_partitioning1482  */
static	ANTLR3_BITWORD FOLLOW_REMOVE_SYMBOL_in_remove_partitioning1482_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0800000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_REMOVE_SYMBOL_in_remove_partitioning1482	= { FOLLOW_REMOVE_SYMBOL_in_remove_partitioning1482_bits, 3	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PARTITIONING_SYMBOL_in_remove_partitioning1484  */
static	ANTLR3_BITWORD FOLLOW_PARTITIONING_SYMBOL_in_remove_partitioning1484_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_PARTITIONING_SYMBOL_in_remove_partitioning1484	= { FOLLOW_PARTITIONING_SYMBOL_in_remove_partitioning1484_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ALL_SYMBOL_in_all_or_partition_name_list1493  */
static	ANTLR3_BITWORD FOLLOW_ALL_SYMBOL_in_all_or_partition_name_list1493_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_ALL_SYMBOL_in_all_or_partition_name_list1493	= { FOLLOW_ALL_SYMBOL_in_all_or_partition_name_list1493_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_list_in_all_or_partition_name_list1498  */
static	ANTLR3_BITWORD FOLLOW_identifier_list_in_all_or_partition_name_list1498_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_list_in_all_or_partition_name_list1498	= { FOLLOW_identifier_list_in_all_or_partition_name_list1498_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TABLESPACE_SYMBOL_in_alter_tablespace1507  */
static	ANTLR3_BITWORD FOLLOW_TABLESPACE_SYMBOL_in_alter_tablespace1507_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_TABLESPACE_SYMBOL_in_alter_tablespace1507	= { FOLLOW_TABLESPACE_SYMBOL_in_alter_tablespace1507_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_alter_tablespace1509  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_alter_tablespace1509_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(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_alter_tablespace1509	= { FOLLOW_identifier_in_alter_tablespace1509_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_alter_tablespace1511  */
static	ANTLR3_BITWORD FOLLOW_set_in_alter_tablespace1511_bits[]	= { ANTLR3_UINT64_LIT(0x0020000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_alter_tablespace1511	= { FOLLOW_set_in_alter_tablespace1511_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DATAFILE_SYMBOL_in_alter_tablespace1519  */
static	ANTLR3_BITWORD FOLLOW_DATAFILE_SYMBOL_in_alter_tablespace1519_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_tablespace1519	= { FOLLOW_DATAFILE_SYMBOL_in_alter_tablespace1519_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INITIAL_SIZE_SYMBOL_in_alter_tablespace1523  */
static	ANTLR3_BITWORD FOLLOW_INITIAL_SIZE_SYMBOL_in_alter_tablespace1523_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008200000001000), ANTLR3_UINT64_LIT(0x0000000000000004) };
static  ANTLR3_BITSET_LIST FOLLOW_INITIAL_SIZE_SYMBOL_in_alter_tablespace1523	= { FOLLOW_INITIAL_SIZE_SYMBOL_in_alter_tablespace1523_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_alter_tablespace1525  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_alter_tablespace1525_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008200000000000), ANTLR3_UINT64_LIT(0x0000000000000004) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_alter_tablespace1525	= { FOLLOW_EQUAL_OPERATOR_in_alter_tablespace1525_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_size_number_in_alter_tablespace1528  */
static	ANTLR3_BITWORD FOLLOW_size_number_in_alter_tablespace1528_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_tablespace1528	= { FOLLOW_size_number_in_alter_tablespace1528_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_WAIT_SYMBOL_in_alter_tablespace1534  */
static	ANTLR3_BITWORD FOLLOW_WAIT_SYMBOL_in_alter_tablespace1534_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000200) };
static  ANTLR3_BITSET_LIST FOLLOW_WAIT_SYMBOL_in_alter_tablespace1534	= { FOLLOW_WAIT_SYMBOL_in_alter_tablespace1534_bits, 2	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ENGINE_SYMBOL_in_alter_tablespace1537  */
static	ANTLR3_BITWORD FOLLOW_ENGINE_SYMBOL_in_alter_tablespace1537_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000001000) };
static  ANTLR3_BITSET_LIST FOLLOW_ENGINE_SYMBOL_in_alter_tablespace1537	= { FOLLOW_ENGINE_SYMBOL_in_alter_tablespace1537_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_alter_tablespace1539  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_alter_tablespace1539_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_alter_tablespace1539	= { FOLLOW_EQUAL_OPERATOR_in_alter_tablespace1539_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_IDENTIFIER_in_alter_tablespace1542  */
static	ANTLR3_BITWORD FOLLOW_IDENTIFIER_in_alter_tablespace1542_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_IDENTIFIER_in_alter_tablespace1542	= { FOLLOW_IDENTIFIER_in_alter_tablespace1542_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ALGORITHM_SYMBOL_in_alter_view1552  */
static	ANTLR3_BITWORD FOLLOW_ALGORITHM_SYMBOL_in_alter_view1552_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_ALGORITHM_SYMBOL_in_alter_view1552	= { FOLLOW_ALGORITHM_SYMBOL_in_alter_view1552_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_alter_view1554  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_alter_view1554_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_view1554	= { FOLLOW_EQUAL_OPERATOR_in_alter_view1554_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_alter_view1556  */
static	ANTLR3_BITWORD FOLLOW_set_in_alter_view1556_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(0x0000000020000000) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_alter_view1556	= { FOLLOW_set_in_alter_view1556_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_definer_clause_in_alter_view1572  */
static	ANTLR3_BITWORD FOLLOW_definer_clause_in_alter_view1572_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(0x0000000020000000) };
static  ANTLR3_BITSET_LIST FOLLOW_definer_clause_in_alter_view1572	= { FOLLOW_definer_clause_in_alter_view1572_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SQL_SYMBOL_in_alter_view1578  */
static	ANTLR3_BITWORD FOLLOW_SQL_SYMBOL_in_alter_view1578_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_view1578	= { FOLLOW_SQL_SYMBOL_in_alter_view1578_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SECURITY_SYMBOL_in_alter_view1580  */
static	ANTLR3_BITWORD FOLLOW_SECURITY_SYMBOL_in_alter_view1580_bits[]	= { ANTLR3_UINT64_LIT(0x0800000000000000), ANTLR3_UINT64_LIT(0x0000200000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_SECURITY_SYMBOL_in_alter_view1580	= { FOLLOW_SECURITY_SYMBOL_in_alter_view1580_bits, 2	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_alter_view1582  */
static	ANTLR3_BITWORD FOLLOW_set_in_alter_view1582_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_view1582	= { FOLLOW_set_in_alter_view1582_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_VIEW_SYMBOL_in_alter_view1594  */
static	ANTLR3_BITWORD FOLLOW_VIEW_SYMBOL_in_alter_view1594_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_VIEW_SYMBOL_in_alter_view1594	= { FOLLOW_VIEW_SYMBOL_in_alter_view1594_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_alter_view1596  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_alter_view1596_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(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_alter_view1596	= { FOLLOW_identifier_in_alter_view1596_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_list_with_parentheses_in_alter_view1598  */
static	ANTLR3_BITWORD FOLLOW_identifier_list_with_parentheses_in_alter_view1598_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_view1598	= { FOLLOW_identifier_list_with_parentheses_in_alter_view1598_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_AS_SYMBOL_in_alter_view1601  */
static	ANTLR3_BITWORD FOLLOW_AS_SYMBOL_in_alter_view1601_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_AS_SYMBOL_in_alter_view1601	= { FOLLOW_AS_SYMBOL_in_alter_view1601_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_select_statement_in_alter_view1603  */
static	ANTLR3_BITWORD FOLLOW_select_statement_in_alter_view1603_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_select_statement_in_alter_view1603	= { FOLLOW_select_statement_in_alter_view1603_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_WITH_SYMBOL_in_alter_view1608  */
static	ANTLR3_BITWORD FOLLOW_WITH_SYMBOL_in_alter_view1608_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_view1608	= { FOLLOW_WITH_SYMBOL_in_alter_view1608_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CHECK_SYMBOL_in_alter_view1619  */
static	ANTLR3_BITWORD FOLLOW_CHECK_SYMBOL_in_alter_view1619_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_CHECK_SYMBOL_in_alter_view1619	= { FOLLOW_CHECK_SYMBOL_in_alter_view1619_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPTION_SYMBOL_in_alter_view1621  */
static	ANTLR3_BITWORD FOLLOW_OPTION_SYMBOL_in_alter_view1621_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_OPTION_SYMBOL_in_alter_view1621	= { FOLLOW_OPTION_SYMBOL_in_alter_view1621_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CREATE_SYMBOL_in_create_statement1634  */
static	ANTLR3_BITWORD FOLLOW_CREATE_SYMBOL_in_create_statement1634_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(0x0080000800000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000200100600000), ANTLR3_UINT64_LIT(0x8080000020200000), ANTLR3_UINT64_LIT(0x0000000000000080) };
static  ANTLR3_BITSET_LIST FOLLOW_CREATE_SYMBOL_in_create_statement1634	= { FOLLOW_CREATE_SYMBOL_in_create_statement1634_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_create_table_in_create_statement1642  */
static	ANTLR3_BITWORD FOLLOW_create_table_in_create_statement1642_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_create_table_in_create_statement1642	= { FOLLOW_create_table_in_create_statement1642_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_create_index_in_create_statement1648  */
static	ANTLR3_BITWORD FOLLOW_create_index_in_create_statement1648_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_create_index_in_create_statement1648	= { FOLLOW_create_index_in_create_statement1648_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_create_database_in_create_statement1654  */
static	ANTLR3_BITWORD FOLLOW_create_database_in_create_statement1654_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_create_database_in_create_statement1654	= { FOLLOW_create_database_in_create_statement1654_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_definer_clause_in_create_statement1660  */
static	ANTLR3_BITWORD FOLLOW_definer_clause_in_create_statement1660_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(0x0000200000000000), ANTLR3_UINT64_LIT(0x8000000020000000) };
static  ANTLR3_BITSET_LIST FOLLOW_definer_clause_in_create_statement1660	= { FOLLOW_definer_clause_in_create_statement1660_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_create_event_in_create_statement1676  */
static	ANTLR3_BITWORD FOLLOW_create_event_in_create_statement1676_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_create_event_in_create_statement1676	= { FOLLOW_create_event_in_create_statement1676_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_create_view_in_create_statement1684  */
static	ANTLR3_BITWORD FOLLOW_create_view_in_create_statement1684_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_create_view_in_create_statement1684	= { FOLLOW_create_view_in_create_statement1684_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_create_routine_or_udf_in_create_statement1692  */
static	ANTLR3_BITWORD FOLLOW_create_routine_or_udf_in_create_statement1692_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_create_routine_or_udf_in_create_statement1692	= { FOLLOW_create_routine_or_udf_in_create_statement1692_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_create_trigger_in_create_statement1700  */
static	ANTLR3_BITWORD FOLLOW_create_trigger_in_create_statement1700_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_create_trigger_in_create_statement1700	= { FOLLOW_create_trigger_in_create_statement1700_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_view_replace_or_algorithm_in_create_statement1711  */
static	ANTLR3_BITWORD FOLLOW_view_replace_or_algorithm_in_create_statement1711_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(0x0000000020000000) };
static  ANTLR3_BITSET_LIST FOLLOW_view_replace_or_algorithm_in_create_statement1711	= { FOLLOW_view_replace_or_algorithm_in_create_statement1711_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_definer_clause_in_create_statement1713  */
static	ANTLR3_BITWORD FOLLOW_definer_clause_in_create_statement1713_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(0x0000000020000000) };
static  ANTLR3_BITSET_LIST FOLLOW_definer_clause_in_create_statement1713	= { FOLLOW_definer_clause_in_create_statement1713_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_create_view_in_create_statement1716  */
static	ANTLR3_BITWORD FOLLOW_create_view_in_create_statement1716_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_create_view_in_create_statement1716	= { FOLLOW_create_view_in_create_statement1716_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_create_logfile_group_in_create_statement1722  */
static	ANTLR3_BITWORD FOLLOW_create_logfile_group_in_create_statement1722_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_create_logfile_group_in_create_statement1722	= { FOLLOW_create_logfile_group_in_create_statement1722_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_create_server_in_create_statement1728  */
static	ANTLR3_BITWORD FOLLOW_create_server_in_create_statement1728_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_create_server_in_create_statement1728	= { FOLLOW_create_server_in_create_statement1728_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_create_tablespace_in_create_statement1734  */
static	ANTLR3_BITWORD FOLLOW_create_tablespace_in_create_statement1734_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_create_tablespace_in_create_statement1734	= { FOLLOW_create_tablespace_in_create_statement1734_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DATABASE_SYMBOL_in_create_database1746  */
static	ANTLR3_BITWORD FOLLOW_DATABASE_SYMBOL_in_create_database1746_bits[]	= { ANTLR3_UINT64_LIT(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(0x0018000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_DATABASE_SYMBOL_in_create_database1746	= { FOLLOW_DATABASE_SYMBOL_in_create_database1746_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_if_not_exists_in_create_database1748  */
static	ANTLR3_BITWORD FOLLOW_if_not_exists_in_create_database1748_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_if_not_exists_in_create_database1748	= { FOLLOW_if_not_exists_in_create_database1748_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_create_database1751  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_create_database1751_bits[]	= { ANTLR3_UINT64_LIT(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_database1751	= { FOLLOW_identifier_in_create_database1751_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_database_option_in_create_database1753  */
static	ANTLR3_BITWORD FOLLOW_database_option_in_create_database1753_bits[]	= { ANTLR3_UINT64_LIT(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_database1753	= { FOLLOW_database_option_in_create_database1753_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EVENT_SYMBOL_in_create_event1763  */
static	ANTLR3_BITWORD FOLLOW_EVENT_SYMBOL_in_create_event1763_bits[]	= { ANTLR3_UINT64_LIT(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(0x0018000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_EVENT_SYMBOL_in_create_event1763	= { FOLLOW_EVENT_SYMBOL_in_create_event1763_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_if_not_exists_in_create_event1765  */
static	ANTLR3_BITWORD FOLLOW_if_not_exists_in_create_event1765_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_if_not_exists_in_create_event1765	= { FOLLOW_if_not_exists_in_create_event1765_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_create_event1768  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_create_event1768_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_create_event1768	= { FOLLOW_identifier_in_create_event1768_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ON_SYMBOL_in_create_event1770  */
static	ANTLR3_BITWORD FOLLOW_ON_SYMBOL_in_create_event1770_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_event1770	= { FOLLOW_ON_SYMBOL_in_create_event1770_bits, 4	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SCHEDULE_SYMBOL_in_create_event1772  */
static	ANTLR3_BITWORD FOLLOW_SCHEDULE_SYMBOL_in_create_event1772_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000001000), ANTLR3_UINT64_LIT(0x0000000000010000) };
static  ANTLR3_BITSET_LIST FOLLOW_SCHEDULE_SYMBOL_in_create_event1772	= { FOLLOW_SCHEDULE_SYMBOL_in_create_event1772_bits, 2	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_schedule_in_create_event1774  */
static	ANTLR3_BITWORD FOLLOW_schedule_in_create_event1774_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(0x0000000001000000) };
static  ANTLR3_BITSET_LIST FOLLOW_schedule_in_create_event1774	= { FOLLOW_schedule_in_create_event1774_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(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_ON_SYMBOL_in_create_event1779	= { FOLLOW_ON_SYMBOL_in_create_event1779_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMPLETION_SYMBOL_in_create_event1781  */
static	ANTLR3_BITWORD FOLLOW_COMPLETION_SYMBOL_in_create_event1781_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(0x0000000000002000) };
static  ANTLR3_BITSET_LIST FOLLOW_COMPLETION_SYMBOL_in_create_event1781	= { FOLLOW_COMPLETION_SYMBOL_in_create_event1781_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_NOT_SYMBOL_in_create_event1783  */
static	ANTLR3_BITWORD FOLLOW_NOT_SYMBOL_in_create_event1783_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_event1783	= { FOLLOW_NOT_SYMBOL_in_create_event1783_bits, 4	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PRESERVE_SYMBOL_in_create_event1786  */
static	ANTLR3_BITWORD FOLLOW_PRESERVE_SYMBOL_in_create_event1786_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_event1786	= { FOLLOW_PRESERVE_SYMBOL_in_create_event1786_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ENABLE_SYMBOL_in_create_event1793  */
static	ANTLR3_BITWORD FOLLOW_ENABLE_SYMBOL_in_create_event1793_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_event1793	= { FOLLOW_ENABLE_SYMBOL_in_create_event1793_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DISABLE_SYMBOL_in_create_event1797  */
static	ANTLR3_BITWORD FOLLOW_DISABLE_SYMBOL_in_create_event1797_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(0x0000000001000000) };
static  ANTLR3_BITSET_LIST FOLLOW_DISABLE_SYMBOL_in_create_event1797	= { FOLLOW_DISABLE_SYMBOL_in_create_event1797_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ON_SYMBOL_in_create_event1800  */
static	ANTLR3_BITWORD FOLLOW_ON_SYMBOL_in_create_event1800_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_event1800	= { FOLLOW_ON_SYMBOL_in_create_event1800_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SLAVE_SYMBOL_in_create_event1802  */
static	ANTLR3_BITWORD FOLLOW_SLAVE_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_SLAVE_SYMBOL_in_create_event1802	= { FOLLOW_SLAVE_SYMBOL_in_create_event1802_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMENT_SYMBOL_in_create_event1811  */
static	ANTLR3_BITWORD FOLLOW_COMMENT_SYMBOL_in_create_event1811_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMENT_SYMBOL_in_create_event1811	= { FOLLOW_COMMENT_SYMBOL_in_create_event1811_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_create_event1813  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_create_event1813_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_event1813	= { FOLLOW_string_literal_in_create_event1813_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DO_SYMBOL_in_create_event1819  */
static	ANTLR3_BITWORD FOLLOW_DO_SYMBOL_in_create_event1819_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(0x1018006000800028), ANTLR3_UINT64_LIT(0x0000402200481000), ANTLR3_UINT64_LIT(0x6BC0400018000000), ANTLR3_UINT64_LIT(0x0000000000018820), ANTLR3_UINT64_LIT(0x0000000100001500) };
static  ANTLR3_BITSET_LIST FOLLOW_DO_SYMBOL_in_create_event1819	= { FOLLOW_DO_SYMBOL_in_create_event1819_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_compound_statement_in_create_event1821  */
static	ANTLR3_BITWORD FOLLOW_compound_statement_in_create_event1821_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_compound_statement_in_create_event1821	= { FOLLOW_compound_statement_in_create_event1821_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PROCEDURE_SYMBOL_in_create_routine_or_udf1830  */
static	ANTLR3_BITWORD FOLLOW_PROCEDURE_SYMBOL_in_create_routine_or_udf1830_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_PROCEDURE_SYMBOL_in_create_routine_or_udf1830	= { FOLLOW_PROCEDURE_SYMBOL_in_create_routine_or_udf1830_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_qualified_identifier_in_create_routine_or_udf1832  */
static	ANTLR3_BITWORD FOLLOW_qualified_identifier_in_create_routine_or_udf1832_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_qualified_identifier_in_create_routine_or_udf1832	= { FOLLOW_qualified_identifier_in_create_routine_or_udf1832_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_create_routine_or_udf1834  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_create_routine_or_udf1834_bits[]	= { ANTLR3_UINT64_LIT(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(0x0408000000000008), ANTLR3_UINT64_LIT(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000800000000) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_create_routine_or_udf1834	= { FOLLOW_OPEN_PAR_SYMBOL_in_create_routine_or_udf1834_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_procedure_parameter_in_create_routine_or_udf1837  */
static	ANTLR3_BITWORD FOLLOW_procedure_parameter_in_create_routine_or_udf1837_bits[]	= { ANTLR3_UINT64_LIT(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_udf1837	= { FOLLOW_procedure_parameter_in_create_routine_or_udf1837_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_create_routine_or_udf1840  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_create_routine_or_udf1840_bits[]	= { ANTLR3_UINT64_LIT(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(0x0408000000000008), ANTLR3_UINT64_LIT(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000800000000) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_create_routine_or_udf1840	= { FOLLOW_COMMA_SYMBOL_in_create_routine_or_udf1840_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_procedure_parameter_in_create_routine_or_udf1842  */
static	ANTLR3_BITWORD FOLLOW_procedure_parameter_in_create_routine_or_udf1842_bits[]	= { ANTLR3_UINT64_LIT(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_udf1842	= { FOLLOW_procedure_parameter_in_create_routine_or_udf1842_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_create_routine_or_udf1848  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_create_routine_or_udf1848_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(0x1018006000800028), ANTLR3_UINT64_LIT(0x0000402200481000), ANTLR3_UINT64_LIT(0x6BC1400018002001), ANTLR3_UINT64_LIT(0x0000000020018820), ANTLR3_UINT64_LIT(0x0000000100001500) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_create_routine_or_udf1848	= { FOLLOW_CLOSE_PAR_SYMBOL_in_create_routine_or_udf1848_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_routine_create_option_in_create_routine_or_udf1852  */
static	ANTLR3_BITWORD FOLLOW_routine_create_option_in_create_routine_or_udf1852_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(0x1018006000800028), ANTLR3_UINT64_LIT(0x0000402200481000), ANTLR3_UINT64_LIT(0x6BC1400018002001), ANTLR3_UINT64_LIT(0x0000000020018820), ANTLR3_UINT64_LIT(0x0000000100001500) };
static  ANTLR3_BITSET_LIST FOLLOW_routine_create_option_in_create_routine_or_udf1852	= { FOLLOW_routine_create_option_in_create_routine_or_udf1852_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_compound_statement_in_create_routine_or_udf1855  */
static	ANTLR3_BITWORD FOLLOW_compound_statement_in_create_routine_or_udf1855_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_compound_statement_in_create_routine_or_udf1855	= { FOLLOW_compound_statement_in_create_routine_or_udf1855_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FUNCTION_SYMBOL_in_create_routine_or_udf1860  */
static	ANTLR3_BITWORD FOLLOW_FUNCTION_SYMBOL_in_create_routine_or_udf1860_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_FUNCTION_SYMBOL_in_create_routine_or_udf1860	= { FOLLOW_FUNCTION_SYMBOL_in_create_routine_or_udf1860_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_qualified_identifier_in_create_routine_or_udf1869  */
static	ANTLR3_BITWORD FOLLOW_qualified_identifier_in_create_routine_or_udf1869_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_qualified_identifier_in_create_routine_or_udf1869	= { FOLLOW_qualified_identifier_in_create_routine_or_udf1869_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_create_routine_or_udf1871  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_create_routine_or_udf1871_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_create_routine_or_udf1871	= { FOLLOW_OPEN_PAR_SYMBOL_in_create_routine_or_udf1871_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_function_parameter_in_create_routine_or_udf1874  */
static	ANTLR3_BITWORD FOLLOW_function_parameter_in_create_routine_or_udf1874_bits[]	= { ANTLR3_UINT64_LIT(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_udf1874	= { FOLLOW_function_parameter_in_create_routine_or_udf1874_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_create_routine_or_udf1877  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_create_routine_or_udf1877_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_create_routine_or_udf1877	= { FOLLOW_COMMA_SYMBOL_in_create_routine_or_udf1877_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_function_parameter_in_create_routine_or_udf1879  */
static	ANTLR3_BITWORD FOLLOW_function_parameter_in_create_routine_or_udf1879_bits[]	= { ANTLR3_UINT64_LIT(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_udf1879	= { FOLLOW_function_parameter_in_create_routine_or_udf1879_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_create_routine_or_udf1885  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_create_routine_or_udf1885_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_udf1885	= { FOLLOW_CLOSE_PAR_SYMBOL_in_create_routine_or_udf1885_bits, 4	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_RETURNS_SYMBOL_in_create_routine_or_udf1887  */
static	ANTLR3_BITWORD FOLLOW_RETURNS_SYMBOL_in_create_routine_or_udf1887_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(0x0000000020000010), ANTLR3_UINT64_LIT(0x00E02C0000000048), ANTLR3_UINT64_LIT(0x0008000000080000), ANTLR3_UINT64_LIT(0x1C00000000100800), ANTLR3_UINT64_LIT(0x0000000000140000) };
static  ANTLR3_BITSET_LIST FOLLOW_RETURNS_SYMBOL_in_create_routine_or_udf1887	= { FOLLOW_RETURNS_SYMBOL_in_create_routine_or_udf1887_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_data_type_in_create_routine_or_udf1893  */
static	ANTLR3_BITWORD FOLLOW_data_type_in_create_routine_or_udf1893_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(0x1018006000800028), ANTLR3_UINT64_LIT(0x0000402200481000), ANTLR3_UINT64_LIT(0x6BC1400018002001), ANTLR3_UINT64_LIT(0x0000000020018820), ANTLR3_UINT64_LIT(0x0000000100001500) };
static  ANTLR3_BITSET_LIST FOLLOW_data_type_in_create_routine_or_udf1893	= { FOLLOW_data_type_in_create_routine_or_udf1893_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_routine_create_option_in_create_routine_or_udf1895  */
static	ANTLR3_BITWORD FOLLOW_routine_create_option_in_create_routine_or_udf1895_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(0x1018006000800028), ANTLR3_UINT64_LIT(0x0000402200481000), ANTLR3_UINT64_LIT(0x6BC1400018002001), ANTLR3_UINT64_LIT(0x0000000020018820), ANTLR3_UINT64_LIT(0x0000000100001500) };
static  ANTLR3_BITSET_LIST FOLLOW_routine_create_option_in_create_routine_or_udf1895	= { FOLLOW_routine_create_option_in_create_routine_or_udf1895_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_compound_statement_in_create_routine_or_udf1898  */
static	ANTLR3_BITWORD FOLLOW_compound_statement_in_create_routine_or_udf1898_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_compound_statement_in_create_routine_or_udf1898	= { FOLLOW_compound_statement_in_create_routine_or_udf1898_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_udf_tail_in_create_routine_or_udf1905  */
static	ANTLR3_BITWORD FOLLOW_udf_tail_in_create_routine_or_udf1905_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_udf_tail_in_create_routine_or_udf1905	= { FOLLOW_udf_tail_in_create_routine_or_udf1905_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_AGGREGATE_SYMBOL_in_create_routine_or_udf1914  */
static	ANTLR3_BITWORD FOLLOW_AGGREGATE_SYMBOL_in_create_routine_or_udf1914_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000010000000) };
static  ANTLR3_BITSET_LIST FOLLOW_AGGREGATE_SYMBOL_in_create_routine_or_udf1914	= { FOLLOW_AGGREGATE_SYMBOL_in_create_routine_or_udf1914_bits, 2	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FUNCTION_SYMBOL_in_create_routine_or_udf1916  */
static	ANTLR3_BITWORD FOLLOW_FUNCTION_SYMBOL_in_create_routine_or_udf1916_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_FUNCTION_SYMBOL_in_create_routine_or_udf1916	= { FOLLOW_FUNCTION_SYMBOL_in_create_routine_or_udf1916_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_udf_tail_in_create_routine_or_udf1918  */
static	ANTLR3_BITWORD FOLLOW_udf_tail_in_create_routine_or_udf1918_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_udf_tail_in_create_routine_or_udf1918	= { FOLLOW_udf_tail_in_create_routine_or_udf1918_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_udf_tail1928  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_udf_tail1928_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_tail1928	= { FOLLOW_identifier_in_udf_tail1928_bits, 4	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_RETURNS_SYMBOL_in_udf_tail1930  */
static	ANTLR3_BITWORD FOLLOW_RETURNS_SYMBOL_in_udf_tail1930_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(0x0000000000000008), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_RETURNS_SYMBOL_in_udf_tail1930	= { FOLLOW_RETURNS_SYMBOL_in_udf_tail1930_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_udf_tail1932  */
static	ANTLR3_BITWORD FOLLOW_set_in_udf_tail1932_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_tail1932	= { FOLLOW_set_in_udf_tail1932_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SONAME_SYMBOL_in_udf_tail1948  */
static	ANTLR3_BITWORD FOLLOW_SONAME_SYMBOL_in_udf_tail1948_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_SONAME_SYMBOL_in_udf_tail1948	= { FOLLOW_SONAME_SYMBOL_in_udf_tail1948_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_udf_tail1950  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_udf_tail1950_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_udf_tail1950	= { FOLLOW_string_literal_in_udf_tail1950_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_routine_option_in_routine_create_option1959  */
static	ANTLR3_BITWORD FOLLOW_routine_option_in_routine_create_option1959_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_routine_option_in_routine_create_option1959	= { FOLLOW_routine_option_in_routine_create_option1959_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_NOT_SYMBOL_in_routine_create_option1964  */
static	ANTLR3_BITWORD FOLLOW_NOT_SYMBOL_in_routine_create_option1964_bits[]	= { ANTLR3_UINT64_LIT(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_option1964	= { FOLLOW_NOT_SYMBOL_in_routine_create_option1964_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DETERMINISTIC_SYMBOL_in_routine_create_option1967  */
static	ANTLR3_BITWORD FOLLOW_DETERMINISTIC_SYMBOL_in_routine_create_option1967_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_DETERMINISTIC_SYMBOL_in_routine_create_option1967	= { FOLLOW_DETERMINISTIC_SYMBOL_in_routine_create_option1967_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMENT_SYMBOL_in_routine_option1976  */
static	ANTLR3_BITWORD FOLLOW_COMMENT_SYMBOL_in_routine_option1976_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMENT_SYMBOL_in_routine_option1976	= { FOLLOW_COMMENT_SYMBOL_in_routine_option1976_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_routine_option1978  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_routine_option1978_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_routine_option1978	= { FOLLOW_string_literal_in_routine_option1978_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_LANGUAGE_SYMBOL_in_routine_option1983  */
static	ANTLR3_BITWORD FOLLOW_LANGUAGE_SYMBOL_in_routine_option1983_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_LANGUAGE_SYMBOL_in_routine_option1983	= { FOLLOW_LANGUAGE_SYMBOL_in_routine_option1983_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SQL_SYMBOL_in_routine_option1985  */
static	ANTLR3_BITWORD FOLLOW_SQL_SYMBOL_in_routine_option1985_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_SQL_SYMBOL_in_routine_option1985	= { FOLLOW_SQL_SYMBOL_in_routine_option1985_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_NO_SYMBOL_in_routine_option1990  */
static	ANTLR3_BITWORD FOLLOW_NO_SYMBOL_in_routine_option1990_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_NO_SYMBOL_in_routine_option1990	= { FOLLOW_NO_SYMBOL_in_routine_option1990_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SQL_SYMBOL_in_routine_option1992  */
static	ANTLR3_BITWORD FOLLOW_SQL_SYMBOL_in_routine_option1992_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_SQL_SYMBOL_in_routine_option1992	= { FOLLOW_SQL_SYMBOL_in_routine_option1992_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CONTAINS_SYMBOL_in_routine_option1997  */
static	ANTLR3_BITWORD FOLLOW_CONTAINS_SYMBOL_in_routine_option1997_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_CONTAINS_SYMBOL_in_routine_option1997	= { FOLLOW_CONTAINS_SYMBOL_in_routine_option1997_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SQL_SYMBOL_in_routine_option1999  */
static	ANTLR3_BITWORD FOLLOW_SQL_SYMBOL_in_routine_option1999_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_SQL_SYMBOL_in_routine_option1999	= { FOLLOW_SQL_SYMBOL_in_routine_option1999_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_READS_SYMBOL_in_routine_option2004  */
static	ANTLR3_BITWORD FOLLOW_READS_SYMBOL_in_routine_option2004_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_READS_SYMBOL_in_routine_option2004	= { FOLLOW_READS_SYMBOL_in_routine_option2004_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SQL_SYMBOL_in_routine_option2006  */
static	ANTLR3_BITWORD FOLLOW_SQL_SYMBOL_in_routine_option2006_bits[]	= { ANTLR3_UINT64_LIT(0x0040000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_SQL_SYMBOL_in_routine_option2006	= { FOLLOW_SQL_SYMBOL_in_routine_option2006_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DATA_SYMBOL_in_routine_option2008  */
static	ANTLR3_BITWORD FOLLOW_DATA_SYMBOL_in_routine_option2008_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_DATA_SYMBOL_in_routine_option2008	= { FOLLOW_DATA_SYMBOL_in_routine_option2008_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MODIFIES_SYMBOL_in_routine_option2013  */
static	ANTLR3_BITWORD FOLLOW_MODIFIES_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(0x0000000020000000) };
static  ANTLR3_BITSET_LIST FOLLOW_MODIFIES_SYMBOL_in_routine_option2013	= { FOLLOW_MODIFIES_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_SQL_SYMBOL_in_routine_option2022  */
static	ANTLR3_BITWORD FOLLOW_SQL_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(0x0000000000200000) };
static  ANTLR3_BITSET_LIST FOLLOW_SQL_SYMBOL_in_routine_option2022	= { FOLLOW_SQL_SYMBOL_in_routine_option2022_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SECURITY_SYMBOL_in_routine_option2024  */
static	ANTLR3_BITWORD FOLLOW_SECURITY_SYMBOL_in_routine_option2024_bits[]	= { ANTLR3_UINT64_LIT(0x0800000000000000), ANTLR3_UINT64_LIT(0x0000200000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_SECURITY_SYMBOL_in_routine_option2024	= { FOLLOW_SECURITY_SYMBOL_in_routine_option2024_bits, 2	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_routine_option2026  */
static	ANTLR3_BITWORD FOLLOW_set_in_routine_option2026_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_routine_option2026	= { FOLLOW_set_in_routine_option2026_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_online_option_in_create_index2041  */
static	ANTLR3_BITWORD FOLLOW_online_option_in_create_index2041_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0080000800000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000200000), ANTLR3_UINT64_LIT(0x0000000000000080) };
static  ANTLR3_BITSET_LIST FOLLOW_online_option_in_create_index2041	= { FOLLOW_online_option_in_create_index2041_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_UNIQUE_SYMBOL_in_create_index2049  */
static	ANTLR3_BITWORD FOLLOW_UNIQUE_SYMBOL_in_create_index2049_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_UNIQUE_SYMBOL_in_create_index2049	= { FOLLOW_UNIQUE_SYMBOL_in_create_index2049_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INDEX_SYMBOL_in_create_index2052  */
static	ANTLR3_BITWORD FOLLOW_INDEX_SYMBOL_in_create_index2052_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_INDEX_SYMBOL_in_create_index2052	= { FOLLOW_INDEX_SYMBOL_in_create_index2052_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_create_index2054  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_create_index2054_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(0x0000000001000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000002000) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_create_index2054	= { FOLLOW_identifier_in_create_index2054_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_index_type_in_create_index2056  */
static	ANTLR3_BITWORD FOLLOW_index_type_in_create_index2056_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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) };
static  ANTLR3_BITSET_LIST FOLLOW_index_type_in_create_index2056	= { FOLLOW_index_type_in_create_index2056_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_create_index_target_in_create_index2059  */
static	ANTLR3_BITWORD FOLLOW_create_index_target_in_create_index2059_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(0x0000002000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000002000) };
static  ANTLR3_BITSET_LIST FOLLOW_create_index_target_in_create_index2059	= { FOLLOW_create_index_target_in_create_index2059_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_index_option_in_create_index2061  */
static	ANTLR3_BITWORD FOLLOW_index_option_in_create_index2061_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(0x0000002000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000002000) };
static  ANTLR3_BITSET_LIST FOLLOW_index_option_in_create_index2061	= { FOLLOW_index_option_in_create_index2061_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_index_lock_algorithm_in_create_index2064  */
static	ANTLR3_BITWORD FOLLOW_index_lock_algorithm_in_create_index2064_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_index_lock_algorithm_in_create_index2064	= { FOLLOW_index_lock_algorithm_in_create_index2064_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FULLTEXT_SYMBOL_in_create_index2071  */
static	ANTLR3_BITWORD FOLLOW_FULLTEXT_SYMBOL_in_create_index2071_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_FULLTEXT_SYMBOL_in_create_index2071	= { FOLLOW_FULLTEXT_SYMBOL_in_create_index2071_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INDEX_SYMBOL_in_create_index2073  */
static	ANTLR3_BITWORD FOLLOW_INDEX_SYMBOL_in_create_index2073_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_INDEX_SYMBOL_in_create_index2073	= { FOLLOW_INDEX_SYMBOL_in_create_index2073_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_create_index2075  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_create_index2075_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_create_index2075	= { FOLLOW_identifier_in_create_index2075_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_create_index_target_in_create_index2077  */
static	ANTLR3_BITWORD FOLLOW_create_index_target_in_create_index2077_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(0x0000002000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000800000000) };
static  ANTLR3_BITSET_LIST FOLLOW_create_index_target_in_create_index2077	= { FOLLOW_create_index_target_in_create_index2077_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_fulltext_index_option_in_create_index2079  */
static	ANTLR3_BITWORD FOLLOW_fulltext_index_option_in_create_index2079_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(0x0000002000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000800000000) };
static  ANTLR3_BITSET_LIST FOLLOW_fulltext_index_option_in_create_index2079	= { FOLLOW_fulltext_index_option_in_create_index2079_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_index_lock_algorithm_in_create_index2082  */
static	ANTLR3_BITWORD FOLLOW_index_lock_algorithm_in_create_index2082_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_index_lock_algorithm_in_create_index2082	= { FOLLOW_index_lock_algorithm_in_create_index2082_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SPATIAL_SYMBOL_in_create_index2089  */
static	ANTLR3_BITWORD FOLLOW_SPATIAL_SYMBOL_in_create_index2089_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_SPATIAL_SYMBOL_in_create_index2089	= { FOLLOW_SPATIAL_SYMBOL_in_create_index2089_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INDEX_SYMBOL_in_create_index2091  */
static	ANTLR3_BITWORD FOLLOW_INDEX_SYMBOL_in_create_index2091_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_INDEX_SYMBOL_in_create_index2091	= { FOLLOW_INDEX_SYMBOL_in_create_index2091_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_create_index2093  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_create_index2093_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_create_index2093	= { FOLLOW_identifier_in_create_index2093_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_create_index_target_in_create_index2095  */
static	ANTLR3_BITWORD FOLLOW_create_index_target_in_create_index2095_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(0x0000002000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_create_index_target_in_create_index2095	= { FOLLOW_create_index_target_in_create_index2095_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_spatial_index_option_in_create_index2097  */
static	ANTLR3_BITWORD FOLLOW_spatial_index_option_in_create_index2097_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(0x0000002000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_spatial_index_option_in_create_index2097	= { FOLLOW_spatial_index_option_in_create_index2097_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_index_lock_algorithm_in_create_index2100  */
static	ANTLR3_BITWORD FOLLOW_index_lock_algorithm_in_create_index2100_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_index_lock_algorithm_in_create_index2100	= { FOLLOW_index_lock_algorithm_in_create_index2100_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ON_SYMBOL_in_create_index_target2113  */
static	ANTLR3_BITWORD FOLLOW_ON_SYMBOL_in_create_index_target2113_bits[]	= { ANTLR3_UINT64_LIT(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(0x000800000000000A) };
static  ANTLR3_BITSET_LIST FOLLOW_ON_SYMBOL_in_create_index_target2113	= { FOLLOW_ON_SYMBOL_in_create_index_target2113_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_identifier_in_create_index_target2116  */
static	ANTLR3_BITWORD FOLLOW_table_identifier_in_create_index_target2116_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_table_identifier_in_create_index_target2116	= { FOLLOW_table_identifier_in_create_index_target2116_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_index_columns_in_create_index_target2118  */
static	ANTLR3_BITWORD FOLLOW_index_columns_in_create_index_target2118_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_index_columns_in_create_index_target2118	= { FOLLOW_index_columns_in_create_index_target2118_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_LOGFILE_SYMBOL_in_create_logfile_group2127  */
static	ANTLR3_BITWORD FOLLOW_LOGFILE_SYMBOL_in_create_logfile_group2127_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000040000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_LOGFILE_SYMBOL_in_create_logfile_group2127	= { FOLLOW_LOGFILE_SYMBOL_in_create_logfile_group2127_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_GROUP_SYMBOL_in_create_logfile_group2129  */
static	ANTLR3_BITWORD FOLLOW_GROUP_SYMBOL_in_create_logfile_group2129_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_GROUP_SYMBOL_in_create_logfile_group2129	= { FOLLOW_GROUP_SYMBOL_in_create_logfile_group2129_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_create_logfile_group2131  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_create_logfile_group2131_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_group2131	= { FOLLOW_identifier_in_create_logfile_group2131_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ADD_SYMBOL_in_create_logfile_group2133  */
static	ANTLR3_BITWORD FOLLOW_ADD_SYMBOL_in_create_logfile_group2133_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_group2133	= { FOLLOW_ADD_SYMBOL_in_create_logfile_group2133_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_create_logfile_group2135  */
static	ANTLR3_BITWORD FOLLOW_set_in_create_logfile_group2135_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_create_logfile_group2135	= { FOLLOW_set_in_create_logfile_group2135_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_create_logfile_group2143  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_create_logfile_group2143_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_group2143	= { FOLLOW_string_literal_in_create_logfile_group2143_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_logfile_group_options_in_create_logfile_group2147  */
static	ANTLR3_BITWORD FOLLOW_logfile_group_options_in_create_logfile_group2147_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_logfile_group_options_in_create_logfile_group2147	= { FOLLOW_logfile_group_options_in_create_logfile_group2147_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_logfile_group_option_in_logfile_group_options2158  */
static	ANTLR3_BITWORD FOLLOW_logfile_group_option_in_logfile_group_options2158_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_options2158	= { FOLLOW_logfile_group_option_in_logfile_group_options2158_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_logfile_group_options2161  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_logfile_group_options2161_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_options2161	= { FOLLOW_COMMA_SYMBOL_in_logfile_group_options2161_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_logfile_group_option_in_logfile_group_options2164  */
static	ANTLR3_BITWORD FOLLOW_logfile_group_option_in_logfile_group_options2164_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_options2164	= { FOLLOW_logfile_group_option_in_logfile_group_options2164_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INITIAL_SIZE_SYMBOL_in_logfile_group_option2194  */
static	ANTLR3_BITWORD FOLLOW_INITIAL_SIZE_SYMBOL_in_logfile_group_option2194_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008200000001000), ANTLR3_UINT64_LIT(0x0000000000000004) };
static  ANTLR3_BITSET_LIST FOLLOW_INITIAL_SIZE_SYMBOL_in_logfile_group_option2194	= { FOLLOW_INITIAL_SIZE_SYMBOL_in_logfile_group_option2194_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_logfile_group_option2196  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_logfile_group_option2196_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008200000000000), ANTLR3_UINT64_LIT(0x0000000000000004) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_logfile_group_option2196	= { FOLLOW_EQUAL_OPERATOR_in_logfile_group_option2196_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_size_number_in_logfile_group_option2199  */
static	ANTLR3_BITWORD FOLLOW_size_number_in_logfile_group_option2199_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_size_number_in_logfile_group_option2199	= { FOLLOW_size_number_in_logfile_group_option2199_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_logfile_group_option2204  */
static	ANTLR3_BITWORD FOLLOW_set_in_logfile_group_option2204_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008200000001000), ANTLR3_UINT64_LIT(0x0000000000000004) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_logfile_group_option2204	= { FOLLOW_set_in_logfile_group_option2204_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_logfile_group_option2212  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_logfile_group_option2212_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008200000000000), ANTLR3_UINT64_LIT(0x0000000000000004) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_logfile_group_option2212	= { FOLLOW_EQUAL_OPERATOR_in_logfile_group_option2212_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_size_number_in_logfile_group_option2215  */
static	ANTLR3_BITWORD FOLLOW_size_number_in_logfile_group_option2215_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_size_number_in_logfile_group_option2215	= { FOLLOW_size_number_in_logfile_group_option2215_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_NODEGROUP_SYMBOL_in_logfile_group_option2220  */
static	ANTLR3_BITWORD FOLLOW_NODEGROUP_SYMBOL_in_logfile_group_option2220_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000200000001000), ANTLR3_UINT64_LIT(0x0000000000000004) };
static  ANTLR3_BITSET_LIST FOLLOW_NODEGROUP_SYMBOL_in_logfile_group_option2220	= { FOLLOW_NODEGROUP_SYMBOL_in_logfile_group_option2220_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_logfile_group_option2222  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_logfile_group_option2222_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), 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(0x0000000000000004) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_logfile_group_option2222	= { FOLLOW_EQUAL_OPERATOR_in_logfile_group_option2222_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_logfile_group_option2225  */
static	ANTLR3_BITWORD FOLLOW_set_in_logfile_group_option2225_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_logfile_group_option2225	= { FOLLOW_set_in_logfile_group_option2225_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_logfile_group_option2236  */
static	ANTLR3_BITWORD FOLLOW_set_in_logfile_group_option2236_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_logfile_group_option2236	= { FOLLOW_set_in_logfile_group_option2236_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMENT_SYMBOL_in_logfile_group_option2247  */
static	ANTLR3_BITWORD FOLLOW_COMMENT_SYMBOL_in_logfile_group_option2247_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000001008), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMENT_SYMBOL_in_logfile_group_option2247	= { FOLLOW_COMMENT_SYMBOL_in_logfile_group_option2247_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_logfile_group_option2249  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_logfile_group_option2249_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_logfile_group_option2249	= { FOLLOW_EQUAL_OPERATOR_in_logfile_group_option2249_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_logfile_group_option2252  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_logfile_group_option2252_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_logfile_group_option2252	= { FOLLOW_string_literal_in_logfile_group_option2252_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_STORAGE_SYMBOL_in_logfile_group_option2257  */
static	ANTLR3_BITWORD FOLLOW_STORAGE_SYMBOL_in_logfile_group_option2257_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000200) };
static  ANTLR3_BITSET_LIST FOLLOW_STORAGE_SYMBOL_in_logfile_group_option2257	= { FOLLOW_STORAGE_SYMBOL_in_logfile_group_option2257_bits, 2	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ENGINE_SYMBOL_in_logfile_group_option2260  */
static	ANTLR3_BITWORD FOLLOW_ENGINE_SYMBOL_in_logfile_group_option2260_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000001008), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_ENGINE_SYMBOL_in_logfile_group_option2260	= { FOLLOW_ENGINE_SYMBOL_in_logfile_group_option2260_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_logfile_group_option2262  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_logfile_group_option2262_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_logfile_group_option2262	= { FOLLOW_EQUAL_OPERATOR_in_logfile_group_option2262_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_text_or_identifier_in_logfile_group_option2265  */
static	ANTLR3_BITWORD FOLLOW_text_or_identifier_in_logfile_group_option2265_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_text_or_identifier_in_logfile_group_option2265	= { FOLLOW_text_or_identifier_in_logfile_group_option2265_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SERVER_SYMBOL_in_create_server2275  */
static	ANTLR3_BITWORD FOLLOW_SERVER_SYMBOL_in_create_server2275_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_SERVER_SYMBOL_in_create_server2275	= { FOLLOW_SERVER_SYMBOL_in_create_server2275_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_text_or_identifier_in_create_server2277  */
static	ANTLR3_BITWORD FOLLOW_text_or_identifier_in_create_server2277_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_text_or_identifier_in_create_server2277	= { FOLLOW_text_or_identifier_in_create_server2277_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FOREIGN_SYMBOL_in_create_server2281  */
static	ANTLR3_BITWORD FOLLOW_FOREIGN_SYMBOL_in_create_server2281_bits[]	= { ANTLR3_UINT64_LIT(0x0040000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_FOREIGN_SYMBOL_in_create_server2281	= { FOLLOW_FOREIGN_SYMBOL_in_create_server2281_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DATA_SYMBOL_in_create_server2283  */
static	ANTLR3_BITWORD FOLLOW_DATA_SYMBOL_in_create_server2283_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_server2283	= { FOLLOW_DATA_SYMBOL_in_create_server2283_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_WRAPPER_SYMBOL_in_create_server2285  */
static	ANTLR3_BITWORD FOLLOW_WRAPPER_SYMBOL_in_create_server2285_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_WRAPPER_SYMBOL_in_create_server2285	= { FOLLOW_WRAPPER_SYMBOL_in_create_server2285_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_text_or_identifier_in_create_server2287  */
static	ANTLR3_BITWORD FOLLOW_text_or_identifier_in_create_server2287_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_server2287	= { FOLLOW_text_or_identifier_in_create_server2287_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_server_options_in_create_server2289  */
static	ANTLR3_BITWORD FOLLOW_server_options_in_create_server2289_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_server_options_in_create_server2289	= { FOLLOW_server_options_in_create_server2289_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPTIONS_SYMBOL_in_server_options2298  */
static	ANTLR3_BITWORD FOLLOW_OPTIONS_SYMBOL_in_server_options2298_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_OPTIONS_SYMBOL_in_server_options2298	= { FOLLOW_OPTIONS_SYMBOL_in_server_options2298_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_server_options2301  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_server_options2301_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_options2301	= { FOLLOW_OPEN_PAR_SYMBOL_in_server_options2301_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_server_option_in_server_options2303  */
static	ANTLR3_BITWORD FOLLOW_server_option_in_server_options2303_bits[]	= { ANTLR3_UINT64_LIT(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_options2303	= { FOLLOW_server_option_in_server_options2303_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_server_options2306  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_server_options2306_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_options2306	= { FOLLOW_COMMA_SYMBOL_in_server_options2306_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_server_option_in_server_options2308  */
static	ANTLR3_BITWORD FOLLOW_server_option_in_server_options2308_bits[]	= { ANTLR3_UINT64_LIT(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_options2308	= { FOLLOW_server_option_in_server_options2308_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_server_options2312  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_server_options2312_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_server_options2312	= { FOLLOW_CLOSE_PAR_SYMBOL_in_server_options2312_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_HOST_SYMBOL_in_server_option2322  */
static	ANTLR3_BITWORD FOLLOW_HOST_SYMBOL_in_server_option2322_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_HOST_SYMBOL_in_server_option2322	= { FOLLOW_HOST_SYMBOL_in_server_option2322_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_server_option2324  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_server_option2324_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_server_option2324	= { FOLLOW_string_literal_in_server_option2324_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DATABASE_SYMBOL_in_server_option2329  */
static	ANTLR3_BITWORD FOLLOW_DATABASE_SYMBOL_in_server_option2329_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_DATABASE_SYMBOL_in_server_option2329	= { FOLLOW_DATABASE_SYMBOL_in_server_option2329_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_server_option2331  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_server_option2331_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_server_option2331	= { FOLLOW_string_literal_in_server_option2331_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_USER_SYMBOL_in_server_option2336  */
static	ANTLR3_BITWORD FOLLOW_USER_SYMBOL_in_server_option2336_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_USER_SYMBOL_in_server_option2336	= { FOLLOW_USER_SYMBOL_in_server_option2336_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_server_option2338  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_server_option2338_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_server_option2338	= { FOLLOW_string_literal_in_server_option2338_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PASSWORD_SYMBOL_in_server_option2343  */
static	ANTLR3_BITWORD FOLLOW_PASSWORD_SYMBOL_in_server_option2343_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_PASSWORD_SYMBOL_in_server_option2343	= { FOLLOW_PASSWORD_SYMBOL_in_server_option2343_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_server_option2345  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_server_option2345_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_server_option2345	= { FOLLOW_string_literal_in_server_option2345_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SOCKET_SYMBOL_in_server_option2350  */
static	ANTLR3_BITWORD FOLLOW_SOCKET_SYMBOL_in_server_option2350_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_SOCKET_SYMBOL_in_server_option2350	= { FOLLOW_SOCKET_SYMBOL_in_server_option2350_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_server_option2352  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_server_option2352_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_server_option2352	= { FOLLOW_string_literal_in_server_option2352_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OWNER_SYMBOL_in_server_option2357  */
static	ANTLR3_BITWORD FOLLOW_OWNER_SYMBOL_in_server_option2357_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_OWNER_SYMBOL_in_server_option2357	= { FOLLOW_OWNER_SYMBOL_in_server_option2357_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_server_option2359  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_server_option2359_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_server_option2359	= { FOLLOW_string_literal_in_server_option2359_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PORT_SYMBOL_in_server_option2364  */
static	ANTLR3_BITWORD FOLLOW_PORT_SYMBOL_in_server_option2364_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000004) };
static  ANTLR3_BITSET_LIST FOLLOW_PORT_SYMBOL_in_server_option2364	= { FOLLOW_PORT_SYMBOL_in_server_option2364_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_server_option2366  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_server_option2366_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_INTEGER_in_server_option2366	= { FOLLOW_INTEGER_in_server_option2366_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TEMPORARY_SYMBOL_in_create_table2375  */
static	ANTLR3_BITWORD FOLLOW_TEMPORARY_SYMBOL_in_create_table2375_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_TEMPORARY_SYMBOL_in_create_table2375	= { FOLLOW_TEMPORARY_SYMBOL_in_create_table2375_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TABLE_SYMBOL_in_create_table2378  */
static	ANTLR3_BITWORD FOLLOW_TABLE_SYMBOL_in_create_table2378_bits[]	= { ANTLR3_UINT64_LIT(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(0x001800000000000A) };
static  ANTLR3_BITSET_LIST FOLLOW_TABLE_SYMBOL_in_create_table2378	= { FOLLOW_TABLE_SYMBOL_in_create_table2378_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_if_not_exists_in_create_table2380  */
static	ANTLR3_BITWORD FOLLOW_if_not_exists_in_create_table2380_bits[]	= { ANTLR3_UINT64_LIT(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(0x000800000000000A) };
static  ANTLR3_BITSET_LIST FOLLOW_if_not_exists_in_create_table2380	= { FOLLOW_if_not_exists_in_create_table2380_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_identifier_in_create_table2383  */
static	ANTLR3_BITWORD FOLLOW_table_identifier_in_create_table2383_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(0x00A0000000000000), ANTLR3_UINT64_LIT(0x0000000010000000), ANTLR3_UINT64_LIT(0x0200000008000000), ANTLR3_UINT64_LIT(0x0000000000000020), ANTLR3_UINT64_LIT(0x0000000000000040) };
static  ANTLR3_BITSET_LIST FOLLOW_table_identifier_in_create_table2383	= { FOLLOW_table_identifier_in_create_table2383_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_create_table2392  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_create_table2392_bits[]	= { ANTLR3_UINT64_LIT(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(0x0088000880000008), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000080000000000), ANTLR3_UINT64_LIT(0x0000000000200000), ANTLR3_UINT64_LIT(0x0000000000000080) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_create_table2392	= { FOLLOW_OPEN_PAR_SYMBOL_in_create_table2392_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_create_field_list_in_create_table2405  */
static	ANTLR3_BITWORD FOLLOW_create_field_list_in_create_table2405_bits[]	= { ANTLR3_UINT64_LIT(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_table2405	= { FOLLOW_create_field_list_in_create_table2405_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_create_table2407  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_create_table2407_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(0x00A0000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0200000008000000), ANTLR3_UINT64_LIT(0x0000000000000020), ANTLR3_UINT64_LIT(0x0000000000000040) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_create_table2407	= { FOLLOW_CLOSE_PAR_SYMBOL_in_create_table2407_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_create_table_options_in_create_table2409  */
static	ANTLR3_BITWORD FOLLOW_create_table_options_in_create_table2409_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(0x0020000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0200000008000000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_create_table_options_in_create_table2409	= { FOLLOW_create_table_options_in_create_table2409_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_partitioning_in_create_table2412  */
static	ANTLR3_BITWORD FOLLOW_partitioning_in_create_table2412_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(0x0020000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0200000008000000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_partitioning_in_create_table2412	= { FOLLOW_partitioning_in_create_table2412_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_creation_source_in_create_table2415  */
static	ANTLR3_BITWORD FOLLOW_table_creation_source_in_create_table2415_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_table_creation_source_in_create_table2415	= { FOLLOW_table_creation_source_in_create_table2415_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_partitioning_in_create_table2425  */
static	ANTLR3_BITWORD FOLLOW_partitioning_in_create_table2425_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_partitioning_in_create_table2425	= { FOLLOW_partitioning_in_create_table2425_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_create_select_in_create_table2427  */
static	ANTLR3_BITWORD FOLLOW_create_select_in_create_table2427_bits[]	= { ANTLR3_UINT64_LIT(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_table2427	= { FOLLOW_create_select_in_create_table2427_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_create_table2429  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_create_table2429_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_CLOSE_PAR_SYMBOL_in_create_table2429	= { FOLLOW_CLOSE_PAR_SYMBOL_in_create_table2429_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_union_clause_in_create_table2431  */
static	ANTLR3_BITWORD FOLLOW_union_clause_in_create_table2431_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_union_clause_in_create_table2431	= { FOLLOW_union_clause_in_create_table2431_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_create_table_options_in_create_table2445  */
static	ANTLR3_BITWORD FOLLOW_create_table_options_in_create_table2445_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(0x0020000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0200000008000000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_create_table_options_in_create_table2445	= { FOLLOW_create_table_options_in_create_table2445_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_partitioning_in_create_table2448  */
static	ANTLR3_BITWORD FOLLOW_partitioning_in_create_table2448_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(0x0020000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0200000008000000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_partitioning_in_create_table2448	= { FOLLOW_partitioning_in_create_table2448_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_creation_source_in_create_table2451  */
static	ANTLR3_BITWORD FOLLOW_table_creation_source_in_create_table2451_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_table_creation_source_in_create_table2451	= { FOLLOW_table_creation_source_in_create_table2451_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_LIKE_SYMBOL_in_create_table2458  */
static	ANTLR3_BITWORD FOLLOW_LIKE_SYMBOL_in_create_table2458_bits[]	= { ANTLR3_UINT64_LIT(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(0x000800000000000A) };
static  ANTLR3_BITSET_LIST FOLLOW_LIKE_SYMBOL_in_create_table2458	= { FOLLOW_LIKE_SYMBOL_in_create_table2458_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_identifier_in_create_table2460  */
static	ANTLR3_BITWORD FOLLOW_table_identifier_in_create_table2460_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_table_identifier_in_create_table2460	= { FOLLOW_table_identifier_in_create_table2460_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_create_table2467  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_create_table2467_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_OPEN_PAR_SYMBOL_in_create_table2467	= { FOLLOW_OPEN_PAR_SYMBOL_in_create_table2467_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_LIKE_SYMBOL_in_create_table2469  */
static	ANTLR3_BITWORD FOLLOW_LIKE_SYMBOL_in_create_table2469_bits[]	= { ANTLR3_UINT64_LIT(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(0x000800000000000A) };
static  ANTLR3_BITSET_LIST FOLLOW_LIKE_SYMBOL_in_create_table2469	= { FOLLOW_LIKE_SYMBOL_in_create_table2469_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_identifier_in_create_table2471  */
static	ANTLR3_BITWORD FOLLOW_table_identifier_in_create_table2471_bits[]	= { ANTLR3_UINT64_LIT(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_table2471	= { FOLLOW_table_identifier_in_create_table2471_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_create_table2473  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_create_table2473_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_create_table2473	= { FOLLOW_CLOSE_PAR_SYMBOL_in_create_table2473_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_create_field_list_item_in_create_field_list2486  */
static	ANTLR3_BITWORD FOLLOW_create_field_list_item_in_create_field_list2486_bits[]	= { ANTLR3_UINT64_LIT(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_list2486	= { FOLLOW_create_field_list_item_in_create_field_list2486_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_create_field_list2489  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_create_field_list2489_bits[]	= { ANTLR3_UINT64_LIT(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(0x0088000880000008), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000080000000000), ANTLR3_UINT64_LIT(0x0000000000200000), ANTLR3_UINT64_LIT(0x0000000000000080) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_create_field_list2489	= { FOLLOW_COMMA_SYMBOL_in_create_field_list2489_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_create_field_list_item_in_create_field_list2491  */
static	ANTLR3_BITWORD FOLLOW_create_field_list_item_in_create_field_list2491_bits[]	= { ANTLR3_UINT64_LIT(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_list2491	= { FOLLOW_create_field_list_item_in_create_field_list2491_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_column_definition_in_create_field_list_item2502  */
static	ANTLR3_BITWORD FOLLOW_column_definition_in_create_field_list_item2502_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_column_definition_in_create_field_list_item2502	= { FOLLOW_column_definition_in_create_field_list_item2502_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CONSTRAINT_SYMBOL_in_create_field_list_item2508  */
static	ANTLR3_BITWORD FOLLOW_CONSTRAINT_SYMBOL_in_create_field_list_item2508_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000080000008), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000080000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000080) };
static  ANTLR3_BITSET_LIST FOLLOW_CONSTRAINT_SYMBOL_in_create_field_list_item2508	= { FOLLOW_CONSTRAINT_SYMBOL_in_create_field_list_item2508_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_create_field_list_item2510  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_create_field_list_item2510_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000080000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000080) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_create_field_list_item2510	= { FOLLOW_identifier_in_create_field_list_item2510_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PRIMARY_SYMBOL_in_create_field_list_item2522  */
static	ANTLR3_BITWORD FOLLOW_PRIMARY_SYMBOL_in_create_field_list_item2522_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_PRIMARY_SYMBOL_in_create_field_list_item2522	= { FOLLOW_PRIMARY_SYMBOL_in_create_field_list_item2522_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_KEY_SYMBOL_in_create_field_list_item2524  */
static	ANTLR3_BITWORD FOLLOW_KEY_SYMBOL_in_create_field_list_item2524_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(0x0000000008000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000002000) };
static  ANTLR3_BITSET_LIST FOLLOW_KEY_SYMBOL_in_create_field_list_item2524	= { FOLLOW_KEY_SYMBOL_in_create_field_list_item2524_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_index_type_in_create_field_list_item2526  */
static	ANTLR3_BITWORD FOLLOW_index_type_in_create_field_list_item2526_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_index_type_in_create_field_list_item2526	= { FOLLOW_index_type_in_create_field_list_item2526_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_index_columns_in_create_field_list_item2529  */
static	ANTLR3_BITWORD FOLLOW_index_columns_in_create_field_list_item2529_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(0x0000000000002000) };
static  ANTLR3_BITSET_LIST FOLLOW_index_columns_in_create_field_list_item2529	= { FOLLOW_index_columns_in_create_field_list_item2529_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_index_option_in_create_field_list_item2531  */
static	ANTLR3_BITWORD FOLLOW_index_option_in_create_field_list_item2531_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(0x0000000000002000) };
static  ANTLR3_BITSET_LIST FOLLOW_index_option_in_create_field_list_item2531	= { FOLLOW_index_option_in_create_field_list_item2531_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FOREIGN_SYMBOL_in_create_field_list_item2539  */
static	ANTLR3_BITWORD FOLLOW_FOREIGN_SYMBOL_in_create_field_list_item2539_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_FOREIGN_SYMBOL_in_create_field_list_item2539	= { FOLLOW_FOREIGN_SYMBOL_in_create_field_list_item2539_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_KEY_SYMBOL_in_create_field_list_item2541  */
static	ANTLR3_BITWORD FOLLOW_KEY_SYMBOL_in_create_field_list_item2541_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(0x0008000000000008), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_KEY_SYMBOL_in_create_field_list_item2541	= { FOLLOW_KEY_SYMBOL_in_create_field_list_item2541_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_pure_identifier_in_create_field_list_item2543  */
static	ANTLR3_BITWORD FOLLOW_pure_identifier_in_create_field_list_item2543_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_pure_identifier_in_create_field_list_item2543	= { FOLLOW_pure_identifier_in_create_field_list_item2543_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_index_columns_in_create_field_list_item2546  */
static	ANTLR3_BITWORD FOLLOW_index_columns_in_create_field_list_item2546_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_index_columns_in_create_field_list_item2546	= { FOLLOW_index_columns_in_create_field_list_item2546_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_reference_definition_in_create_field_list_item2548  */
static	ANTLR3_BITWORD FOLLOW_reference_definition_in_create_field_list_item2548_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_reference_definition_in_create_field_list_item2548	= { FOLLOW_reference_definition_in_create_field_list_item2548_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_UNIQUE_SYMBOL_in_create_field_list_item2555  */
static	ANTLR3_BITWORD FOLLOW_UNIQUE_SYMBOL_in_create_field_list_item2555_bits[]	= { ANTLR3_UINT64_LIT(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(0x0088000000000008), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000008000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000002000) };
static  ANTLR3_BITSET_LIST FOLLOW_UNIQUE_SYMBOL_in_create_field_list_item2555	= { FOLLOW_UNIQUE_SYMBOL_in_create_field_list_item2555_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_create_field_list_item2566  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_create_field_list_item2566_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(0x0000000008000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000002000) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_create_field_list_item2566	= { FOLLOW_identifier_in_create_field_list_item2566_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_index_type_in_create_field_list_item2569  */
static	ANTLR3_BITWORD FOLLOW_index_type_in_create_field_list_item2569_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_index_type_in_create_field_list_item2569	= { FOLLOW_index_type_in_create_field_list_item2569_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_index_columns_in_create_field_list_item2572  */
static	ANTLR3_BITWORD FOLLOW_index_columns_in_create_field_list_item2572_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(0x0000000000002000) };
static  ANTLR3_BITSET_LIST FOLLOW_index_columns_in_create_field_list_item2572	= { FOLLOW_index_columns_in_create_field_list_item2572_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_index_option_in_create_field_list_item2574  */
static	ANTLR3_BITWORD FOLLOW_index_option_in_create_field_list_item2574_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(0x0000000000002000) };
static  ANTLR3_BITSET_LIST FOLLOW_index_option_in_create_field_list_item2574	= { FOLLOW_index_option_in_create_field_list_item2574_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_create_field_list_item2584  */
static	ANTLR3_BITWORD FOLLOW_set_in_create_field_list_item2584_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000002000) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_create_field_list_item2584	= { FOLLOW_set_in_create_field_list_item2584_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_create_field_list_item2592  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_create_field_list_item2592_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(0x0000000008000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000002000) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_create_field_list_item2592	= { FOLLOW_identifier_in_create_field_list_item2592_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_index_type_in_create_field_list_item2595  */
static	ANTLR3_BITWORD FOLLOW_index_type_in_create_field_list_item2595_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_index_type_in_create_field_list_item2595	= { FOLLOW_index_type_in_create_field_list_item2595_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_index_columns_in_create_field_list_item2598  */
static	ANTLR3_BITWORD FOLLOW_index_columns_in_create_field_list_item2598_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(0x0000000000002000) };
static  ANTLR3_BITSET_LIST FOLLOW_index_columns_in_create_field_list_item2598	= { FOLLOW_index_columns_in_create_field_list_item2598_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_index_option_in_create_field_list_item2600  */
static	ANTLR3_BITWORD FOLLOW_index_option_in_create_field_list_item2600_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(0x0000000000002000) };
static  ANTLR3_BITSET_LIST FOLLOW_index_option_in_create_field_list_item2600	= { FOLLOW_index_option_in_create_field_list_item2600_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_create_field_list_item2606  */
static	ANTLR3_BITWORD FOLLOW_set_in_create_field_list_item2606_bits[]	= { ANTLR3_UINT64_LIT(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(0x0088000000000008), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_create_field_list_item2606	= { FOLLOW_set_in_create_field_list_item2606_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_create_field_list_item2623  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_create_field_list_item2623_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_create_field_list_item2623	= { FOLLOW_identifier_in_create_field_list_item2623_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_index_columns_in_create_field_list_item2626  */
static	ANTLR3_BITWORD FOLLOW_index_columns_in_create_field_list_item2626_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(0x0000000000002000) };
static  ANTLR3_BITSET_LIST FOLLOW_index_columns_in_create_field_list_item2626	= { FOLLOW_index_columns_in_create_field_list_item2626_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_index_option_in_create_field_list_item2628  */
static	ANTLR3_BITWORD FOLLOW_index_option_in_create_field_list_item2628_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(0x0000000000002000) };
static  ANTLR3_BITSET_LIST FOLLOW_index_option_in_create_field_list_item2628	= { FOLLOW_index_option_in_create_field_list_item2628_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CHECK_SYMBOL_in_create_field_list_item2634  */
static	ANTLR3_BITWORD FOLLOW_CHECK_SYMBOL_in_create_field_list_item2634_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_CHECK_SYMBOL_in_create_field_list_item2634	= { FOLLOW_CHECK_SYMBOL_in_create_field_list_item2634_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_create_field_list_item2636  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_create_field_list_item2636_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C056484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_create_field_list_item2636	= { FOLLOW_OPEN_PAR_SYMBOL_in_create_field_list_item2636_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_create_field_list_item2638  */
static	ANTLR3_BITWORD FOLLOW_expression_in_create_field_list_item2638_bits[]	= { ANTLR3_UINT64_LIT(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_item2638	= { FOLLOW_expression_in_create_field_list_item2638_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_create_field_list_item2640  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_create_field_list_item2640_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_create_field_list_item2640	= { FOLLOW_CLOSE_PAR_SYMBOL_in_create_field_list_item2640_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_AS_SYMBOL_in_table_creation_source2658  */
static	ANTLR3_BITWORD FOLLOW_AS_SYMBOL_in_table_creation_source2658_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_AS_SYMBOL_in_table_creation_source2658	= { FOLLOW_AS_SYMBOL_in_table_creation_source2658_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_create_select_in_table_creation_source2662  */
static	ANTLR3_BITWORD FOLLOW_create_select_in_table_creation_source2662_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_create_select_in_table_creation_source2662	= { FOLLOW_create_select_in_table_creation_source2662_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_table_creation_source2666  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_table_creation_source2666_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_table_creation_source2666	= { FOLLOW_OPEN_PAR_SYMBOL_in_table_creation_source2666_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_create_select_in_table_creation_source2668  */
static	ANTLR3_BITWORD FOLLOW_create_select_in_table_creation_source2668_bits[]	= { ANTLR3_UINT64_LIT(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_source2668	= { FOLLOW_create_select_in_table_creation_source2668_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_table_creation_source2670  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_table_creation_source2670_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_CLOSE_PAR_SYMBOL_in_table_creation_source2670	= { FOLLOW_CLOSE_PAR_SYMBOL_in_table_creation_source2670_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_union_clause_in_table_creation_source2673  */
static	ANTLR3_BITWORD FOLLOW_union_clause_in_table_creation_source2673_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_union_clause_in_table_creation_source2673	= { FOLLOW_union_clause_in_table_creation_source2673_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SELECT_SYMBOL_in_create_select2684  */
static	ANTLR3_BITWORD FOLLOW_SELECT_SYMBOL_in_create_select2684_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(0x1018E2000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C056494), ANTLR3_UINT64_LIT(0x000D34001C040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_SELECT_SYMBOL_in_create_select2684	= { FOLLOW_SELECT_SYMBOL_in_create_select2684_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_select_option_in_create_select2700  */
static	ANTLR3_BITWORD FOLLOW_select_option_in_create_select2700_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(0x1018E2000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C056494), ANTLR3_UINT64_LIT(0x000D34001C040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_select_option_in_create_select2700	= { FOLLOW_select_option_in_create_select2700_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_select_item_list_in_create_select2704  */
static	ANTLR3_BITWORD FOLLOW_select_item_list_in_create_select2704_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000500000000), ANTLR3_UINT64_LIT(0x0000002020000020) };
static  ANTLR3_BITSET_LIST FOLLOW_select_item_list_in_create_select2704	= { FOLLOW_select_item_list_in_create_select2704_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_select_source_and_options_in_create_select2706  */
static	ANTLR3_BITWORD FOLLOW_select_source_and_options_in_create_select2706_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(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(0x0000002000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_select_source_and_options_in_create_select2706	= { FOLLOW_select_source_and_options_in_create_select2706_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_select_lock_type_in_create_select2709  */
static	ANTLR3_BITWORD FOLLOW_select_lock_type_in_create_select2709_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_select_lock_type_in_create_select2709	= { FOLLOW_select_lock_type_in_create_select2709_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TABLESPACE_SYMBOL_in_create_tablespace2719  */
static	ANTLR3_BITWORD FOLLOW_TABLESPACE_SYMBOL_in_create_tablespace2719_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_TABLESPACE_SYMBOL_in_create_tablespace2719	= { FOLLOW_TABLESPACE_SYMBOL_in_create_tablespace2719_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_create_tablespace2721  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_create_tablespace2721_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_tablespace2721	= { FOLLOW_identifier_in_create_tablespace2721_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ADD_SYMBOL_in_create_tablespace2723  */
static	ANTLR3_BITWORD FOLLOW_ADD_SYMBOL_in_create_tablespace2723_bits[]	= { ANTLR3_UINT64_LIT(0x0020000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_ADD_SYMBOL_in_create_tablespace2723	= { FOLLOW_ADD_SYMBOL_in_create_tablespace2723_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DATAFILE_SYMBOL_in_create_tablespace2725  */
static	ANTLR3_BITWORD FOLLOW_DATAFILE_SYMBOL_in_create_tablespace2725_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_DATAFILE_SYMBOL_in_create_tablespace2725	= { FOLLOW_DATAFILE_SYMBOL_in_create_tablespace2725_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_create_tablespace2727  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_create_tablespace2727_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(0x0000000000001000) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_create_tablespace2727	= { FOLLOW_string_literal_in_create_tablespace2727_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_USE_SYMBOL_in_create_tablespace2732  */
static	ANTLR3_BITWORD FOLLOW_USE_SYMBOL_in_create_tablespace2732_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0800000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_USE_SYMBOL_in_create_tablespace2732	= { FOLLOW_USE_SYMBOL_in_create_tablespace2732_bits, 2	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_LOGFILE_SYMBOL_in_create_tablespace2734  */
static	ANTLR3_BITWORD FOLLOW_LOGFILE_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(0x0000040000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_LOGFILE_SYMBOL_in_create_tablespace2734	= { FOLLOW_LOGFILE_SYMBOL_in_create_tablespace2734_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_GROUP_SYMBOL_in_create_tablespace2736  */
static	ANTLR3_BITWORD FOLLOW_GROUP_SYMBOL_in_create_tablespace2736_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_GROUP_SYMBOL_in_create_tablespace2736	= { FOLLOW_GROUP_SYMBOL_in_create_tablespace2736_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_create_tablespace2738  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_create_tablespace2738_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_tablespace2738	= { FOLLOW_identifier_in_create_tablespace2738_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_tablespace_option_in_create_tablespace2743  */
static	ANTLR3_BITWORD FOLLOW_tablespace_option_in_create_tablespace2743_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_tablespace2743	= { FOLLOW_tablespace_option_in_create_tablespace2743_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_create_tablespace2746  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_create_tablespace2746_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_tablespace2746	= { FOLLOW_COMMA_SYMBOL_in_create_tablespace2746_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_tablespace_option_in_create_tablespace2749  */
static	ANTLR3_BITWORD FOLLOW_tablespace_option_in_create_tablespace2749_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_tablespace2749	= { FOLLOW_tablespace_option_in_create_tablespace2749_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INITIAL_SIZE_SYMBOL_in_tablespace_option2762  */
static	ANTLR3_BITWORD FOLLOW_INITIAL_SIZE_SYMBOL_in_tablespace_option2762_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008200000001000), ANTLR3_UINT64_LIT(0x0000000000000004) };
static  ANTLR3_BITSET_LIST FOLLOW_INITIAL_SIZE_SYMBOL_in_tablespace_option2762	= { FOLLOW_INITIAL_SIZE_SYMBOL_in_tablespace_option2762_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_tablespace_option2764  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_tablespace_option2764_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008200000000000), ANTLR3_UINT64_LIT(0x0000000000000004) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_tablespace_option2764	= { FOLLOW_EQUAL_OPERATOR_in_tablespace_option2764_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_size_number_in_tablespace_option2767  */
static	ANTLR3_BITWORD FOLLOW_size_number_in_tablespace_option2767_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_size_number_in_tablespace_option2767	= { FOLLOW_size_number_in_tablespace_option2767_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_AUTOEXTEND_SIZE_SYMBOL_in_tablespace_option2772  */
static	ANTLR3_BITWORD FOLLOW_AUTOEXTEND_SIZE_SYMBOL_in_tablespace_option2772_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008200000001000), ANTLR3_UINT64_LIT(0x0000000000000004) };
static  ANTLR3_BITSET_LIST FOLLOW_AUTOEXTEND_SIZE_SYMBOL_in_tablespace_option2772	= { FOLLOW_AUTOEXTEND_SIZE_SYMBOL_in_tablespace_option2772_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_tablespace_option2774  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_tablespace_option2774_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008200000000000), ANTLR3_UINT64_LIT(0x0000000000000004) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_tablespace_option2774	= { FOLLOW_EQUAL_OPERATOR_in_tablespace_option2774_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_size_number_in_tablespace_option2777  */
static	ANTLR3_BITWORD FOLLOW_size_number_in_tablespace_option2777_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_size_number_in_tablespace_option2777	= { FOLLOW_size_number_in_tablespace_option2777_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MAX_SIZE_SYMBOL_in_tablespace_option2782  */
static	ANTLR3_BITWORD FOLLOW_MAX_SIZE_SYMBOL_in_tablespace_option2782_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008200000001000), ANTLR3_UINT64_LIT(0x0000000000000004) };
static  ANTLR3_BITSET_LIST FOLLOW_MAX_SIZE_SYMBOL_in_tablespace_option2782	= { FOLLOW_MAX_SIZE_SYMBOL_in_tablespace_option2782_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_tablespace_option2784  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_tablespace_option2784_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008200000000000), ANTLR3_UINT64_LIT(0x0000000000000004) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_tablespace_option2784	= { FOLLOW_EQUAL_OPERATOR_in_tablespace_option2784_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_size_number_in_tablespace_option2787  */
static	ANTLR3_BITWORD FOLLOW_size_number_in_tablespace_option2787_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_size_number_in_tablespace_option2787	= { FOLLOW_size_number_in_tablespace_option2787_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EXTENT_SIZE_SYMBOL_in_tablespace_option2792  */
static	ANTLR3_BITWORD FOLLOW_EXTENT_SIZE_SYMBOL_in_tablespace_option2792_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008200000001000), ANTLR3_UINT64_LIT(0x0000000000000004) };
static  ANTLR3_BITSET_LIST FOLLOW_EXTENT_SIZE_SYMBOL_in_tablespace_option2792	= { FOLLOW_EXTENT_SIZE_SYMBOL_in_tablespace_option2792_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_tablespace_option2794  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_tablespace_option2794_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008200000000000), ANTLR3_UINT64_LIT(0x0000000000000004) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_tablespace_option2794	= { FOLLOW_EQUAL_OPERATOR_in_tablespace_option2794_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_size_number_in_tablespace_option2797  */
static	ANTLR3_BITWORD FOLLOW_size_number_in_tablespace_option2797_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_size_number_in_tablespace_option2797	= { FOLLOW_size_number_in_tablespace_option2797_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_NODEGROUP_SYMBOL_in_tablespace_option2802  */
static	ANTLR3_BITWORD FOLLOW_NODEGROUP_SYMBOL_in_tablespace_option2802_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000200000001000), ANTLR3_UINT64_LIT(0x0000000000000004) };
static  ANTLR3_BITSET_LIST FOLLOW_NODEGROUP_SYMBOL_in_tablespace_option2802	= { FOLLOW_NODEGROUP_SYMBOL_in_tablespace_option2802_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_tablespace_option2804  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_tablespace_option2804_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), 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(0x0000000000000004) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_tablespace_option2804	= { FOLLOW_EQUAL_OPERATOR_in_tablespace_option2804_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_tablespace_option2807  */
static	ANTLR3_BITWORD FOLLOW_set_in_tablespace_option2807_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_tablespace_option2807	= { FOLLOW_set_in_tablespace_option2807_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_tablespace_option2818  */
static	ANTLR3_BITWORD FOLLOW_set_in_tablespace_option2818_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_tablespace_option2818	= { FOLLOW_set_in_tablespace_option2818_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMENT_SYMBOL_in_tablespace_option2829  */
static	ANTLR3_BITWORD FOLLOW_COMMENT_SYMBOL_in_tablespace_option2829_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000001008), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMENT_SYMBOL_in_tablespace_option2829	= { FOLLOW_COMMENT_SYMBOL_in_tablespace_option2829_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_tablespace_option2831  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_tablespace_option2831_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_tablespace_option2831	= { FOLLOW_EQUAL_OPERATOR_in_tablespace_option2831_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_tablespace_option2834  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_tablespace_option2834_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_tablespace_option2834	= { FOLLOW_string_literal_in_tablespace_option2834_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_STORAGE_SYMBOL_in_tablespace_option2839  */
static	ANTLR3_BITWORD FOLLOW_STORAGE_SYMBOL_in_tablespace_option2839_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000200) };
static  ANTLR3_BITSET_LIST FOLLOW_STORAGE_SYMBOL_in_tablespace_option2839	= { FOLLOW_STORAGE_SYMBOL_in_tablespace_option2839_bits, 2	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ENGINE_SYMBOL_in_tablespace_option2842  */
static	ANTLR3_BITWORD FOLLOW_ENGINE_SYMBOL_in_tablespace_option2842_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000001008), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_ENGINE_SYMBOL_in_tablespace_option2842	= { FOLLOW_ENGINE_SYMBOL_in_tablespace_option2842_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_tablespace_option2844  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_tablespace_option2844_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_tablespace_option2844	= { FOLLOW_EQUAL_OPERATOR_in_tablespace_option2844_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_text_or_identifier_in_tablespace_option2847  */
static	ANTLR3_BITWORD FOLLOW_text_or_identifier_in_tablespace_option2847_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_text_or_identifier_in_tablespace_option2847	= { FOLLOW_text_or_identifier_in_tablespace_option2847_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TRIGGER_SYMBOL_in_create_trigger2856  */
static	ANTLR3_BITWORD FOLLOW_TRIGGER_SYMBOL_in_create_trigger2856_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_TRIGGER_SYMBOL_in_create_trigger2856	= { FOLLOW_TRIGGER_SYMBOL_in_create_trigger2856_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_create_trigger2858  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_create_trigger2858_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_trigger2858	= { FOLLOW_identifier_in_create_trigger2858_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_create_trigger2860  */
static	ANTLR3_BITWORD FOLLOW_set_in_create_trigger2860_bits[]	= { ANTLR3_UINT64_LIT(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(0x1000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_create_trigger2860	= { FOLLOW_set_in_create_trigger2860_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_create_trigger2868  */
static	ANTLR3_BITWORD FOLLOW_set_in_create_trigger2868_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_create_trigger2868	= { FOLLOW_set_in_create_trigger2868_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ON_SYMBOL_in_create_trigger2882  */
static	ANTLR3_BITWORD FOLLOW_ON_SYMBOL_in_create_trigger2882_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_ON_SYMBOL_in_create_trigger2882	= { FOLLOW_ON_SYMBOL_in_create_trigger2882_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_qualified_identifier_in_create_trigger2884  */
static	ANTLR3_BITWORD FOLLOW_qualified_identifier_in_create_trigger2884_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_qualified_identifier_in_create_trigger2884	= { FOLLOW_qualified_identifier_in_create_trigger2884_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FOR_SYMBOL_in_create_trigger2886  */
static	ANTLR3_BITWORD FOLLOW_FOR_SYMBOL_in_create_trigger2886_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_FOR_SYMBOL_in_create_trigger2886	= { FOLLOW_FOR_SYMBOL_in_create_trigger2886_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EACH_SYMBOL_in_create_trigger2888  */
static	ANTLR3_BITWORD FOLLOW_EACH_SYMBOL_in_create_trigger2888_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_trigger2888	= { FOLLOW_EACH_SYMBOL_in_create_trigger2888_bits, 4	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ROW_SYMBOL_in_create_trigger2890  */
static	ANTLR3_BITWORD FOLLOW_ROW_SYMBOL_in_create_trigger2890_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(0x1018006000800028), ANTLR3_UINT64_LIT(0x0000402200481000), ANTLR3_UINT64_LIT(0x6BC0400018000000), ANTLR3_UINT64_LIT(0x0000000000018820), ANTLR3_UINT64_LIT(0x0000000100001500) };
static  ANTLR3_BITSET_LIST FOLLOW_ROW_SYMBOL_in_create_trigger2890	= { FOLLOW_ROW_SYMBOL_in_create_trigger2890_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_compound_statement_in_create_trigger2892  */
static	ANTLR3_BITWORD FOLLOW_compound_statement_in_create_trigger2892_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_compound_statement_in_create_trigger2892	= { FOLLOW_compound_statement_in_create_trigger2892_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SQL_SYMBOL_in_create_view2902  */
static	ANTLR3_BITWORD FOLLOW_SQL_SYMBOL_in_create_view2902_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_view2902	= { FOLLOW_SQL_SYMBOL_in_create_view2902_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SECURITY_SYMBOL_in_create_view2904  */
static	ANTLR3_BITWORD FOLLOW_SECURITY_SYMBOL_in_create_view2904_bits[]	= { ANTLR3_UINT64_LIT(0x0800000000000000), ANTLR3_UINT64_LIT(0x0000200000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_SECURITY_SYMBOL_in_create_view2904	= { FOLLOW_SECURITY_SYMBOL_in_create_view2904_bits, 2	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_create_view2906  */
static	ANTLR3_BITWORD FOLLOW_set_in_create_view2906_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_view2906	= { FOLLOW_set_in_create_view2906_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_VIEW_SYMBOL_in_create_view2918  */
static	ANTLR3_BITWORD FOLLOW_VIEW_SYMBOL_in_create_view2918_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_VIEW_SYMBOL_in_create_view2918	= { FOLLOW_VIEW_SYMBOL_in_create_view2918_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_qualified_identifier_in_create_view2920  */
static	ANTLR3_BITWORD FOLLOW_qualified_identifier_in_create_view2920_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(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_qualified_identifier_in_create_view2920	= { FOLLOW_qualified_identifier_in_create_view2920_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_list_with_parentheses_in_create_view2922  */
static	ANTLR3_BITWORD FOLLOW_identifier_list_with_parentheses_in_create_view2922_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_view2922	= { FOLLOW_identifier_list_with_parentheses_in_create_view2922_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_AS_SYMBOL_in_create_view2927  */
static	ANTLR3_BITWORD FOLLOW_AS_SYMBOL_in_create_view2927_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_AS_SYMBOL_in_create_view2927	= { FOLLOW_AS_SYMBOL_in_create_view2927_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_select_statement_in_create_view2929  */
static	ANTLR3_BITWORD FOLLOW_select_statement_in_create_view2929_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_select_statement_in_create_view2929	= { FOLLOW_select_statement_in_create_view2929_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_WITH_SYMBOL_in_create_view2934  */
static	ANTLR3_BITWORD FOLLOW_WITH_SYMBOL_in_create_view2934_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_view2934	= { FOLLOW_WITH_SYMBOL_in_create_view2934_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CHECK_SYMBOL_in_create_view2945  */
static	ANTLR3_BITWORD FOLLOW_CHECK_SYMBOL_in_create_view2945_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_CHECK_SYMBOL_in_create_view2945	= { FOLLOW_CHECK_SYMBOL_in_create_view2945_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPTION_SYMBOL_in_create_view2947  */
static	ANTLR3_BITWORD FOLLOW_OPTION_SYMBOL_in_create_view2947_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_OPTION_SYMBOL_in_create_view2947	= { FOLLOW_OPTION_SYMBOL_in_create_view2947_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OR_SYMBOL_in_view_replace_or_algorithm2958  */
static	ANTLR3_BITWORD FOLLOW_OR_SYMBOL_in_view_replace_or_algorithm2958_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_OR_SYMBOL_in_view_replace_or_algorithm2958	= { FOLLOW_OR_SYMBOL_in_view_replace_or_algorithm2958_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_REPLACE_SYMBOL_in_view_replace_or_algorithm2960  */
static	ANTLR3_BITWORD FOLLOW_REPLACE_SYMBOL_in_view_replace_or_algorithm2960_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000202) };
static  ANTLR3_BITSET_LIST FOLLOW_REPLACE_SYMBOL_in_view_replace_or_algorithm2960	= { FOLLOW_REPLACE_SYMBOL_in_view_replace_or_algorithm2960_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_view_algorithm_in_view_replace_or_algorithm2962  */
static	ANTLR3_BITWORD FOLLOW_view_algorithm_in_view_replace_or_algorithm2962_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_view_algorithm_in_view_replace_or_algorithm2962	= { FOLLOW_view_algorithm_in_view_replace_or_algorithm2962_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_view_algorithm_in_view_replace_or_algorithm2968  */
static	ANTLR3_BITWORD FOLLOW_view_algorithm_in_view_replace_or_algorithm2968_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_view_algorithm_in_view_replace_or_algorithm2968	= { FOLLOW_view_algorithm_in_view_replace_or_algorithm2968_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ALGORITHM_SYMBOL_in_view_algorithm2977  */
static	ANTLR3_BITWORD FOLLOW_ALGORITHM_SYMBOL_in_view_algorithm2977_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_ALGORITHM_SYMBOL_in_view_algorithm2977	= { FOLLOW_ALGORITHM_SYMBOL_in_view_algorithm2977_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_view_algorithm2979  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_view_algorithm2979_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_algorithm2979	= { FOLLOW_EQUAL_OPERATOR_in_view_algorithm2979_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_view_algorithm2981  */
static	ANTLR3_BITWORD FOLLOW_set_in_view_algorithm2981_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_view_algorithm2981	= { FOLLOW_set_in_view_algorithm2981_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DROP_SYMBOL_in_drop_statement3002  */
static	ANTLR3_BITWORD FOLLOW_DROP_SYMBOL_in_drop_statement3002_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(0x0080000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000200000600000), ANTLR3_UINT64_LIT(0x8080000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_DROP_SYMBOL_in_drop_statement3002	= { FOLLOW_DROP_SYMBOL_in_drop_statement3002_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DATABASE_SYMBOL_in_drop_statement3010  */
static	ANTLR3_BITWORD FOLLOW_DATABASE_SYMBOL_in_drop_statement3010_bits[]	= { ANTLR3_UINT64_LIT(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(0x0018000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_DATABASE_SYMBOL_in_drop_statement3010	= { FOLLOW_DATABASE_SYMBOL_in_drop_statement3010_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_if_exists_in_drop_statement3012  */
static	ANTLR3_BITWORD FOLLOW_if_exists_in_drop_statement3012_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_if_exists_in_drop_statement3012	= { FOLLOW_if_exists_in_drop_statement3012_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_drop_statement3016  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_drop_statement3016_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_drop_statement3016	= { FOLLOW_identifier_in_drop_statement3016_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EVENT_SYMBOL_in_drop_statement3026  */
static	ANTLR3_BITWORD FOLLOW_EVENT_SYMBOL_in_drop_statement3026_bits[]	= { ANTLR3_UINT64_LIT(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(0x0018000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_EVENT_SYMBOL_in_drop_statement3026	= { FOLLOW_EVENT_SYMBOL_in_drop_statement3026_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_if_exists_in_drop_statement3028  */
static	ANTLR3_BITWORD FOLLOW_if_exists_in_drop_statement3028_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_if_exists_in_drop_statement3028	= { FOLLOW_if_exists_in_drop_statement3028_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_qualified_identifier_in_drop_statement3031  */
static	ANTLR3_BITWORD FOLLOW_qualified_identifier_in_drop_statement3031_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_qualified_identifier_in_drop_statement3031	= { FOLLOW_qualified_identifier_in_drop_statement3031_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_drop_statement3037  */
static	ANTLR3_BITWORD FOLLOW_set_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(0x0018000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_drop_statement3037	= { FOLLOW_set_in_drop_statement3037_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_if_exists_in_drop_statement3045  */
static	ANTLR3_BITWORD FOLLOW_if_exists_in_drop_statement3045_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_if_exists_in_drop_statement3045	= { FOLLOW_if_exists_in_drop_statement3045_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_qualified_identifier_in_drop_statement3048  */
static	ANTLR3_BITWORD FOLLOW_qualified_identifier_in_drop_statement3048_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_qualified_identifier_in_drop_statement3048	= { FOLLOW_qualified_identifier_in_drop_statement3048_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_online_option_in_drop_statement3055  */
static	ANTLR3_BITWORD FOLLOW_online_option_in_drop_statement3055_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_online_option_in_drop_statement3055	= { FOLLOW_online_option_in_drop_statement3055_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INDEX_SYMBOL_in_drop_statement3058  */
static	ANTLR3_BITWORD FOLLOW_INDEX_SYMBOL_in_drop_statement3058_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_INDEX_SYMBOL_in_drop_statement3058	= { FOLLOW_INDEX_SYMBOL_in_drop_statement3058_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_drop_statement3060  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_drop_statement3060_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_drop_statement3060	= { FOLLOW_identifier_in_drop_statement3060_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ON_SYMBOL_in_drop_statement3062  */
static	ANTLR3_BITWORD FOLLOW_ON_SYMBOL_in_drop_statement3062_bits[]	= { ANTLR3_UINT64_LIT(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(0x000800000000000A) };
static  ANTLR3_BITSET_LIST FOLLOW_ON_SYMBOL_in_drop_statement3062	= { FOLLOW_ON_SYMBOL_in_drop_statement3062_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_identifier_in_drop_statement3064  */
static	ANTLR3_BITWORD FOLLOW_table_identifier_in_drop_statement3064_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(0x0000002000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_table_identifier_in_drop_statement3064	= { FOLLOW_table_identifier_in_drop_statement3064_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_index_lock_algorithm_in_drop_statement3066  */
static	ANTLR3_BITWORD FOLLOW_index_lock_algorithm_in_drop_statement3066_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_index_lock_algorithm_in_drop_statement3066	= { FOLLOW_index_lock_algorithm_in_drop_statement3066_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_LOGFILE_SYMBOL_in_drop_statement3073  */
static	ANTLR3_BITWORD FOLLOW_LOGFILE_SYMBOL_in_drop_statement3073_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000040000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_LOGFILE_SYMBOL_in_drop_statement3073	= { FOLLOW_LOGFILE_SYMBOL_in_drop_statement3073_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_GROUP_SYMBOL_in_drop_statement3075  */
static	ANTLR3_BITWORD FOLLOW_GROUP_SYMBOL_in_drop_statement3075_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_GROUP_SYMBOL_in_drop_statement3075	= { FOLLOW_GROUP_SYMBOL_in_drop_statement3075_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_drop_statement3077  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_drop_statement3077_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_statement3077	= { FOLLOW_identifier_in_drop_statement3077_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_drop_logfile_group_option_in_drop_statement3080  */
static	ANTLR3_BITWORD FOLLOW_drop_logfile_group_option_in_drop_statement3080_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_statement3080	= { FOLLOW_drop_logfile_group_option_in_drop_statement3080_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_drop_statement3083  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_drop_statement3083_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_statement3083	= { FOLLOW_COMMA_SYMBOL_in_drop_statement3083_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_drop_logfile_group_option_in_drop_statement3086  */
static	ANTLR3_BITWORD FOLLOW_drop_logfile_group_option_in_drop_statement3086_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_statement3086	= { FOLLOW_drop_logfile_group_option_in_drop_statement3086_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SERVER_SYMBOL_in_drop_statement3096  */
static	ANTLR3_BITWORD FOLLOW_SERVER_SYMBOL_in_drop_statement3096_bits[]	= { ANTLR3_UINT64_LIT(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(0x0018000000000008), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_SERVER_SYMBOL_in_drop_statement3096	= { FOLLOW_SERVER_SYMBOL_in_drop_statement3096_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_if_exists_in_drop_statement3098  */
static	ANTLR3_BITWORD FOLLOW_if_exists_in_drop_statement3098_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_if_exists_in_drop_statement3098	= { FOLLOW_if_exists_in_drop_statement3098_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_text_or_identifier_in_drop_statement3101  */
static	ANTLR3_BITWORD FOLLOW_text_or_identifier_in_drop_statement3101_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_text_or_identifier_in_drop_statement3101	= { FOLLOW_text_or_identifier_in_drop_statement3101_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TEMPORARY_SYMBOL_in_drop_statement3107  */
static	ANTLR3_BITWORD FOLLOW_TEMPORARY_SYMBOL_in_drop_statement3107_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(0x0080000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_TEMPORARY_SYMBOL_in_drop_statement3107	= { FOLLOW_TEMPORARY_SYMBOL_in_drop_statement3107_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_drop_statement3110  */
static	ANTLR3_BITWORD FOLLOW_set_in_drop_statement3110_bits[]	= { ANTLR3_UINT64_LIT(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(0x001800000000000A) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_drop_statement3110	= { FOLLOW_set_in_drop_statement3110_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_if_exists_in_drop_statement3118  */
static	ANTLR3_BITWORD FOLLOW_if_exists_in_drop_statement3118_bits[]	= { ANTLR3_UINT64_LIT(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(0x000800000000000A) };
static  ANTLR3_BITSET_LIST FOLLOW_if_exists_in_drop_statement3118	= { FOLLOW_if_exists_in_drop_statement3118_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_identifier_list_in_drop_statement3121  */
static	ANTLR3_BITWORD FOLLOW_table_identifier_list_in_drop_statement3121_bits[]	= { ANTLR3_UINT64_LIT(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(0x1000000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_table_identifier_list_in_drop_statement3121	= { FOLLOW_table_identifier_list_in_drop_statement3121_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TABLESPACE_SYMBOL_in_drop_statement3136  */
static	ANTLR3_BITWORD FOLLOW_TABLESPACE_SYMBOL_in_drop_statement3136_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_TABLESPACE_SYMBOL_in_drop_statement3136	= { FOLLOW_TABLESPACE_SYMBOL_in_drop_statement3136_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_drop_statement3138  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_drop_statement3138_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_statement3138	= { FOLLOW_identifier_in_drop_statement3138_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_drop_logfile_group_option_in_drop_statement3141  */
static	ANTLR3_BITWORD FOLLOW_drop_logfile_group_option_in_drop_statement3141_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_statement3141	= { FOLLOW_drop_logfile_group_option_in_drop_statement3141_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_drop_statement3144  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_drop_statement3144_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_statement3144	= { FOLLOW_COMMA_SYMBOL_in_drop_statement3144_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_drop_logfile_group_option_in_drop_statement3147  */
static	ANTLR3_BITWORD FOLLOW_drop_logfile_group_option_in_drop_statement3147_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_statement3147	= { FOLLOW_drop_logfile_group_option_in_drop_statement3147_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TRIGGER_SYMBOL_in_drop_statement3157  */
static	ANTLR3_BITWORD FOLLOW_TRIGGER_SYMBOL_in_drop_statement3157_bits[]	= { ANTLR3_UINT64_LIT(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(0x0018000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_TRIGGER_SYMBOL_in_drop_statement3157	= { FOLLOW_TRIGGER_SYMBOL_in_drop_statement3157_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_if_exists_in_drop_statement3159  */
static	ANTLR3_BITWORD FOLLOW_if_exists_in_drop_statement3159_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_if_exists_in_drop_statement3159	= { FOLLOW_if_exists_in_drop_statement3159_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_qualified_identifier_in_drop_statement3162  */
static	ANTLR3_BITWORD FOLLOW_qualified_identifier_in_drop_statement3162_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_qualified_identifier_in_drop_statement3162	= { FOLLOW_qualified_identifier_in_drop_statement3162_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_VIEW_SYMBOL_in_drop_statement3168  */
static	ANTLR3_BITWORD FOLLOW_VIEW_SYMBOL_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(0x001800000000000A) };
static  ANTLR3_BITSET_LIST FOLLOW_VIEW_SYMBOL_in_drop_statement3168	= { FOLLOW_VIEW_SYMBOL_in_drop_statement3168_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_if_exists_in_drop_statement3170  */
static	ANTLR3_BITWORD FOLLOW_if_exists_in_drop_statement3170_bits[]	= { ANTLR3_UINT64_LIT(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(0x000800000000000A) };
static  ANTLR3_BITSET_LIST FOLLOW_if_exists_in_drop_statement3170	= { FOLLOW_if_exists_in_drop_statement3170_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_identifier_list_in_drop_statement3173  */
static	ANTLR3_BITWORD FOLLOW_table_identifier_list_in_drop_statement3173_bits[]	= { ANTLR3_UINT64_LIT(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(0x1000000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_table_identifier_list_in_drop_statement3173	= { FOLLOW_table_identifier_list_in_drop_statement3173_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_drop_logfile_group_option3194  */
static	ANTLR3_BITWORD FOLLOW_set_in_drop_logfile_group_option3194_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_drop_logfile_group_option3194	= { FOLLOW_set_in_drop_logfile_group_option3194_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_STORAGE_SYMBOL_in_drop_logfile_group_option3205  */
static	ANTLR3_BITWORD FOLLOW_STORAGE_SYMBOL_in_drop_logfile_group_option3205_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000200) };
static  ANTLR3_BITSET_LIST FOLLOW_STORAGE_SYMBOL_in_drop_logfile_group_option3205	= { FOLLOW_STORAGE_SYMBOL_in_drop_logfile_group_option3205_bits, 2	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ENGINE_SYMBOL_in_drop_logfile_group_option3208  */
static	ANTLR3_BITWORD FOLLOW_ENGINE_SYMBOL_in_drop_logfile_group_option3208_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000001008), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_ENGINE_SYMBOL_in_drop_logfile_group_option3208	= { FOLLOW_ENGINE_SYMBOL_in_drop_logfile_group_option3208_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_drop_logfile_group_option3210  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_drop_logfile_group_option3210_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_drop_logfile_group_option3210	= { FOLLOW_EQUAL_OPERATOR_in_drop_logfile_group_option3210_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_text_or_identifier_in_drop_logfile_group_option3213  */
static	ANTLR3_BITWORD FOLLOW_text_or_identifier_in_drop_logfile_group_option3213_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_text_or_identifier_in_drop_logfile_group_option3213	= { FOLLOW_text_or_identifier_in_drop_logfile_group_option3213_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_RENAME_SYMBOL_in_rename_table_statement3223  */
static	ANTLR3_BITWORD FOLLOW_RENAME_SYMBOL_in_rename_table_statement3223_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(0x0080000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_RENAME_SYMBOL_in_rename_table_statement3223	= { FOLLOW_RENAME_SYMBOL_in_rename_table_statement3223_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_rename_table_statement3226  */
static	ANTLR3_BITWORD FOLLOW_set_in_rename_table_statement3226_bits[]	= { ANTLR3_UINT64_LIT(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(0x000800000000000A) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_rename_table_statement3226	= { FOLLOW_set_in_rename_table_statement3226_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_identifier_in_rename_table_statement3236  */
static	ANTLR3_BITWORD FOLLOW_table_identifier_in_rename_table_statement3236_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x2000000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_table_identifier_in_rename_table_statement3236	= { FOLLOW_table_identifier_in_rename_table_statement3236_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TO_SYMBOL_in_rename_table_statement3238  */
static	ANTLR3_BITWORD FOLLOW_TO_SYMBOL_in_rename_table_statement3238_bits[]	= { ANTLR3_UINT64_LIT(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(0x000800000000000A) };
static  ANTLR3_BITSET_LIST FOLLOW_TO_SYMBOL_in_rename_table_statement3238	= { FOLLOW_TO_SYMBOL_in_rename_table_statement3238_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_identifier_in_rename_table_statement3240  */
static	ANTLR3_BITWORD FOLLOW_table_identifier_in_rename_table_statement3240_bits[]	= { ANTLR3_UINT64_LIT(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_statement3240	= { FOLLOW_table_identifier_in_rename_table_statement3240_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_rename_table_statement3243  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_rename_table_statement3243_bits[]	= { ANTLR3_UINT64_LIT(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(0x000800000000000A) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_rename_table_statement3243	= { FOLLOW_COMMA_SYMBOL_in_rename_table_statement3243_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(0x2000000000000000) };
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(0x000800000000000A) };
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_TRUNCATE_SYMBOL_in_truncate_table_statement3263  */
static	ANTLR3_BITWORD FOLLOW_TRUNCATE_SYMBOL_in_truncate_table_statement3263_bits[]	= { ANTLR3_UINT64_LIT(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(0x000800000000000A), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0080000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_TRUNCATE_SYMBOL_in_truncate_table_statement3263	= { FOLLOW_TRUNCATE_SYMBOL_in_truncate_table_statement3263_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TABLE_SYMBOL_in_truncate_table_statement3266  */
static	ANTLR3_BITWORD FOLLOW_TABLE_SYMBOL_in_truncate_table_statement3266_bits[]	= { ANTLR3_UINT64_LIT(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(0x000800000000000A) };
static  ANTLR3_BITSET_LIST FOLLOW_TABLE_SYMBOL_in_truncate_table_statement3266	= { FOLLOW_TABLE_SYMBOL_in_truncate_table_statement3266_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_identifier_in_truncate_table_statement3269  */
static	ANTLR3_BITWORD FOLLOW_table_identifier_in_truncate_table_statement3269_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_table_identifier_in_truncate_table_statement3269	= { FOLLOW_table_identifier_in_truncate_table_statement3269_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CALL_SYMBOL_in_call_statement3280  */
static	ANTLR3_BITWORD FOLLOW_CALL_SYMBOL_in_call_statement3280_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_CALL_SYMBOL_in_call_statement3280	= { FOLLOW_CALL_SYMBOL_in_call_statement3280_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_qualified_identifier_in_call_statement3283  */
static	ANTLR3_BITWORD FOLLOW_qualified_identifier_in_call_statement3283_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_qualified_identifier_in_call_statement3283	= { FOLLOW_qualified_identifier_in_call_statement3283_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_call_statement3286  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_call_statement3286_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C056484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_call_statement3286	= { FOLLOW_OPEN_PAR_SYMBOL_in_call_statement3286_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_list_in_call_statement3288  */
static	ANTLR3_BITWORD FOLLOW_expression_list_in_call_statement3288_bits[]	= { ANTLR3_UINT64_LIT(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_statement3288	= { FOLLOW_expression_list_in_call_statement3288_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_call_statement3291  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_call_statement3291_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_call_statement3291	= { FOLLOW_CLOSE_PAR_SYMBOL_in_call_statement3291_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DELETE_SYMBOL_in_delete_statement3302  */
static	ANTLR3_BITWORD FOLLOW_DELETE_SYMBOL_in_delete_statement3302_bits[]	= { ANTLR3_UINT64_LIT(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(0x0028000400000008), ANTLR3_UINT64_LIT(0x0000800000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_DELETE_SYMBOL_in_delete_statement3302	= { FOLLOW_DELETE_SYMBOL_in_delete_statement3302_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_delete_option_in_delete_statement3319  */
static	ANTLR3_BITWORD FOLLOW_delete_option_in_delete_statement3319_bits[]	= { ANTLR3_UINT64_LIT(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(0x0028000400000008), ANTLR3_UINT64_LIT(0x0000800000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_delete_option_in_delete_statement3319	= { FOLLOW_delete_option_in_delete_statement3319_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FROM_SYMBOL_in_delete_statement3330  */
static	ANTLR3_BITWORD FOLLOW_FROM_SYMBOL_in_delete_statement3330_bits[]	= { ANTLR3_UINT64_LIT(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(0x000800000000000A) };
static  ANTLR3_BITSET_LIST FOLLOW_FROM_SYMBOL_in_delete_statement3330	= { FOLLOW_FROM_SYMBOL_in_delete_statement3330_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_name_list_with_wildcards_in_delete_statement3365  */
static	ANTLR3_BITWORD FOLLOW_table_name_list_with_wildcards_in_delete_statement3365_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_table_name_list_with_wildcards_in_delete_statement3365	= { FOLLOW_table_name_list_with_wildcards_in_delete_statement3365_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_USING_SYMBOL_in_delete_statement3367  */
static	ANTLR3_BITWORD FOLLOW_USING_SYMBOL_in_delete_statement3367_bits[]	= { ANTLR3_UINT64_LIT(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(0x000800000000000A), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x000000000C000000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_USING_SYMBOL_in_delete_statement3367	= { FOLLOW_USING_SYMBOL_in_delete_statement3367_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_references_in_delete_statement3369  */
static	ANTLR3_BITWORD FOLLOW_table_references_in_delete_statement3369_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_table_references_in_delete_statement3369	= { FOLLOW_table_references_in_delete_statement3369_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_where_clause_in_delete_statement3371  */
static	ANTLR3_BITWORD FOLLOW_where_clause_in_delete_statement3371_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_where_clause_in_delete_statement3371	= { FOLLOW_where_clause_in_delete_statement3371_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_identifier_in_delete_statement3382  */
static	ANTLR3_BITWORD FOLLOW_table_identifier_in_delete_statement3382_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(0x0000000020000000), ANTLR3_UINT64_LIT(0x0000000080000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_table_identifier_in_delete_statement3382	= { FOLLOW_table_identifier_in_delete_statement3382_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_partition_delete_in_delete_statement3384  */
static	ANTLR3_BITWORD FOLLOW_partition_delete_in_delete_statement3384_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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(0x0000000080000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_partition_delete_in_delete_statement3384	= { FOLLOW_partition_delete_in_delete_statement3384_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_where_clause_in_delete_statement3387  */
static	ANTLR3_BITWORD FOLLOW_where_clause_in_delete_statement3387_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_where_clause_in_delete_statement3387	= { FOLLOW_where_clause_in_delete_statement3387_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_order_by_clause_in_delete_statement3390  */
static	ANTLR3_BITWORD FOLLOW_order_by_clause_in_delete_statement3390_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_order_by_clause_in_delete_statement3390	= { FOLLOW_order_by_clause_in_delete_statement3390_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_LIMIT_SYMBOL_in_delete_statement3394  */
static	ANTLR3_BITWORD FOLLOW_LIMIT_SYMBOL_in_delete_statement3394_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008), ANTLR3_UINT64_LIT(0x0000000000000004), ANTLR3_UINT64_LIT(0x0000001000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_LIMIT_SYMBOL_in_delete_statement3394	= { FOLLOW_LIMIT_SYMBOL_in_delete_statement3394_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_limit_option_in_delete_statement3396  */
static	ANTLR3_BITWORD FOLLOW_limit_option_in_delete_statement3396_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_limit_option_in_delete_statement3396	= { FOLLOW_limit_option_in_delete_statement3396_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_name_list_with_wildcards_in_delete_statement3413  */
static	ANTLR3_BITWORD FOLLOW_table_name_list_with_wildcards_in_delete_statement3413_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000400000000) };
static  ANTLR3_BITSET_LIST FOLLOW_table_name_list_with_wildcards_in_delete_statement3413	= { FOLLOW_table_name_list_with_wildcards_in_delete_statement3413_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FROM_SYMBOL_in_delete_statement3415  */
static	ANTLR3_BITWORD FOLLOW_FROM_SYMBOL_in_delete_statement3415_bits[]	= { ANTLR3_UINT64_LIT(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(0x000800000000000A), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x000000000C000000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_FROM_SYMBOL_in_delete_statement3415	= { FOLLOW_FROM_SYMBOL_in_delete_statement3415_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_references_in_delete_statement3417  */
static	ANTLR3_BITWORD FOLLOW_table_references_in_delete_statement3417_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_table_references_in_delete_statement3417	= { FOLLOW_table_references_in_delete_statement3417_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_where_clause_in_delete_statement3419  */
static	ANTLR3_BITWORD FOLLOW_where_clause_in_delete_statement3419_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_where_clause_in_delete_statement3419	= { FOLLOW_where_clause_in_delete_statement3419_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PARTITION_SYMBOL_in_partition_delete3438  */
static	ANTLR3_BITWORD FOLLOW_PARTITION_SYMBOL_in_partition_delete3438_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_PARTITION_SYMBOL_in_partition_delete3438	= { FOLLOW_PARTITION_SYMBOL_in_partition_delete3438_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_partition_delete3440  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_partition_delete3440_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_partition_delete3440	= { FOLLOW_OPEN_PAR_SYMBOL_in_partition_delete3440_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_list_in_partition_delete3442  */
static	ANTLR3_BITWORD FOLLOW_identifier_list_in_partition_delete3442_bits[]	= { ANTLR3_UINT64_LIT(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_delete3442	= { FOLLOW_identifier_list_in_partition_delete3442_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_partition_delete3444  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_partition_delete3444_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_partition_delete3444	= { FOLLOW_CLOSE_PAR_SYMBOL_in_partition_delete3444_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_target_table_with_optional_wildcard_in_table_name_list_with_wildcards3470  */
static	ANTLR3_BITWORD FOLLOW_target_table_with_optional_wildcard_in_table_name_list_with_wildcards3470_bits[]	= { ANTLR3_UINT64_LIT(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_wildcards3470	= { FOLLOW_target_table_with_optional_wildcard_in_table_name_list_with_wildcards3470_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_table_name_list_with_wildcards3473  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_table_name_list_with_wildcards3473_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_table_name_list_with_wildcards3473	= { FOLLOW_COMMA_SYMBOL_in_table_name_list_with_wildcards3473_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_target_table_with_optional_wildcard_in_table_name_list_with_wildcards3475  */
static	ANTLR3_BITWORD FOLLOW_target_table_with_optional_wildcard_in_table_name_list_with_wildcards3475_bits[]	= { ANTLR3_UINT64_LIT(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_wildcards3475	= { FOLLOW_target_table_with_optional_wildcard_in_table_name_list_with_wildcards3475_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DO_SYMBOL_in_do_statement3486  */
static	ANTLR3_BITWORD FOLLOW_DO_SYMBOL_in_do_statement3486_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C056484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_DO_SYMBOL_in_do_statement3486	= { FOLLOW_DO_SYMBOL_in_do_statement3486_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_list_in_do_statement3489  */
static	ANTLR3_BITWORD FOLLOW_expression_list_in_do_statement3489_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_list_in_do_statement3489	= { FOLLOW_expression_list_in_do_statement3489_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_HANDLER_SYMBOL_in_handler_statement3498  */
static	ANTLR3_BITWORD FOLLOW_HANDLER_SYMBOL_in_handler_statement3498_bits[]	= { ANTLR3_UINT64_LIT(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(0x000800000000000A) };
static  ANTLR3_BITSET_LIST FOLLOW_HANDLER_SYMBOL_in_handler_statement3498	= { FOLLOW_HANDLER_SYMBOL_in_handler_statement3498_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_identifier_in_handler_statement3506  */
static	ANTLR3_BITWORD FOLLOW_table_identifier_in_handler_statement3506_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_statement3506	= { FOLLOW_table_identifier_in_handler_statement3506_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_SYMBOL_in_handler_statement3508  */
static	ANTLR3_BITWORD FOLLOW_OPEN_SYMBOL_in_handler_statement3508_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(0x0008000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_SYMBOL_in_handler_statement3508	= { FOLLOW_OPEN_SYMBOL_in_handler_statement3508_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_AS_SYMBOL_in_handler_statement3511  */
static	ANTLR3_BITWORD FOLLOW_AS_SYMBOL_in_handler_statement3511_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_AS_SYMBOL_in_handler_statement3511	= { FOLLOW_AS_SYMBOL_in_handler_statement3511_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_handler_statement3514  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_handler_statement3514_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_handler_statement3514	= { FOLLOW_identifier_in_handler_statement3514_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_handler_statement3522  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_handler_statement3522_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_statement3522	= { FOLLOW_identifier_in_handler_statement3522_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_SYMBOL_in_handler_statement3524  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_SYMBOL_in_handler_statement3524_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_SYMBOL_in_handler_statement3524	= { FOLLOW_CLOSE_SYMBOL_in_handler_statement3524_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_handler_statement3530  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_handler_statement3530_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0002000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_handler_statement3530	= { FOLLOW_identifier_in_handler_statement3530_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_READ_SYMBOL_in_handler_statement3532  */
static	ANTLR3_BITWORD FOLLOW_READ_SYMBOL_in_handler_statement3532_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_READ_SYMBOL_in_handler_statement3532	= { FOLLOW_READ_SYMBOL_in_handler_statement3532_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_handler_statement3543  */
static	ANTLR3_BITWORD FOLLOW_set_in_handler_statement3543_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_handler_statement3543	= { FOLLOW_set_in_handler_statement3543_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_handler_statement3557  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_handler_statement3557_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(0x0000018000001000), ANTLR3_UINT64_LIT(0x0000000003000000) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_handler_statement3557	= { FOLLOW_identifier_in_handler_statement3557_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_handler_statement3572  */
static	ANTLR3_BITWORD FOLLOW_set_in_handler_statement3572_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_handler_statement3572	= { FOLLOW_set_in_handler_statement3572_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_handler_statement3596  */
static	ANTLR3_BITWORD FOLLOW_set_in_handler_statement3596_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_handler_statement3596	= { FOLLOW_set_in_handler_statement3596_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_values_in_handler_statement3623  */
static	ANTLR3_BITWORD FOLLOW_values_in_handler_statement3623_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_values_in_handler_statement3623	= { FOLLOW_values_in_handler_statement3623_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_where_clause_in_handler_statement3640  */
static	ANTLR3_BITWORD FOLLOW_where_clause_in_handler_statement3640_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_where_clause_in_handler_statement3640	= { FOLLOW_where_clause_in_handler_statement3640_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_limit_clause_in_handler_statement3643  */
static	ANTLR3_BITWORD FOLLOW_limit_clause_in_handler_statement3643_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_limit_clause_in_handler_statement3643	= { FOLLOW_limit_clause_in_handler_statement3643_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INSERT_SYMBOL_in_insert_statement3658  */
static	ANTLR3_BITWORD FOLLOW_INSERT_SYMBOL_in_insert_statement3658_bits[]	= { ANTLR3_UINT64_LIT(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(0x002880000000000A), ANTLR3_UINT64_LIT(0x0000800000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_INSERT_SYMBOL_in_insert_statement3658	= { FOLLOW_INSERT_SYMBOL_in_insert_statement3658_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_insert_option_in_insert_statement3661  */
static	ANTLR3_BITWORD FOLLOW_insert_option_in_insert_statement3661_bits[]	= { ANTLR3_UINT64_LIT(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(0x002800000000000A), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_insert_option_in_insert_statement3661	= { FOLLOW_insert_option_in_insert_statement3661_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_IGNORE_SYMBOL_in_insert_statement3664  */
static	ANTLR3_BITWORD FOLLOW_IGNORE_SYMBOL_in_insert_statement3664_bits[]	= { ANTLR3_UINT64_LIT(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(0x000800000000000A), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_IGNORE_SYMBOL_in_insert_statement3664	= { FOLLOW_IGNORE_SYMBOL_in_insert_statement3664_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTO_SYMBOL_in_insert_statement3667  */
static	ANTLR3_BITWORD FOLLOW_INTO_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(0x0000000000000000), ANTLR3_UINT64_LIT(0x000800000000000A) };
static  ANTLR3_BITSET_LIST FOLLOW_INTO_SYMBOL_in_insert_statement3667	= { FOLLOW_INTO_SYMBOL_in_insert_statement3667_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_identifier_in_insert_statement3670  */
static	ANTLR3_BITWORD FOLLOW_table_identifier_in_insert_statement3670_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(0x0000000008000000), ANTLR3_UINT64_LIT(0x0000000000000820), ANTLR3_UINT64_LIT(0x0000000000020000) };
static  ANTLR3_BITSET_LIST FOLLOW_table_identifier_in_insert_statement3670	= { FOLLOW_table_identifier_in_insert_statement3670_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_use_partition_in_insert_statement3672  */
static	ANTLR3_BITWORD FOLLOW_use_partition_in_insert_statement3672_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(0x0000000008000000), ANTLR3_UINT64_LIT(0x0000000000000820), ANTLR3_UINT64_LIT(0x0000000000020000) };
static  ANTLR3_BITSET_LIST FOLLOW_use_partition_in_insert_statement3672	= { FOLLOW_use_partition_in_insert_statement3672_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_insert_field_spec_in_insert_statement3675  */
static	ANTLR3_BITWORD FOLLOW_insert_field_spec_in_insert_statement3675_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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) };
static  ANTLR3_BITSET_LIST FOLLOW_insert_field_spec_in_insert_statement3675	= { FOLLOW_insert_field_spec_in_insert_statement3675_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_duplicate_key_update_in_insert_statement3677  */
static	ANTLR3_BITWORD FOLLOW_duplicate_key_update_in_insert_statement3677_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_duplicate_key_update_in_insert_statement3677	= { FOLLOW_duplicate_key_update_in_insert_statement3677_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_insert_field_spec3709  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_insert_field_spec3709_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_insert_field_spec3709	= { FOLLOW_OPEN_PAR_SYMBOL_in_insert_field_spec3709_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_fields_in_insert_field_spec3711  */
static	ANTLR3_BITWORD FOLLOW_fields_in_insert_field_spec3711_bits[]	= { ANTLR3_UINT64_LIT(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_spec3711	= { FOLLOW_fields_in_insert_field_spec3711_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_insert_field_spec3714  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_insert_field_spec3714_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(0x0000000008000000), ANTLR3_UINT64_LIT(0x0000000000000020), ANTLR3_UINT64_LIT(0x0000000000020000) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_insert_field_spec3714	= { FOLLOW_CLOSE_PAR_SYMBOL_in_insert_field_spec3714_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_insert_values_in_insert_field_spec3718  */
static	ANTLR3_BITWORD FOLLOW_insert_values_in_insert_field_spec3718_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_insert_values_in_insert_field_spec3718	= { FOLLOW_insert_values_in_insert_field_spec3718_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SET_SYMBOL_in_insert_field_spec3723  */
static	ANTLR3_BITWORD FOLLOW_SET_SYMBOL_in_insert_field_spec3723_bits[]	= { ANTLR3_UINT64_LIT(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(0x000800000000000A) };
static  ANTLR3_BITSET_LIST FOLLOW_SET_SYMBOL_in_insert_field_spec3723	= { FOLLOW_SET_SYMBOL_in_insert_field_spec3723_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_column_assignment_list_with_default_in_insert_field_spec3725  */
static	ANTLR3_BITWORD FOLLOW_column_assignment_list_with_default_in_insert_field_spec3725_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_column_assignment_list_with_default_in_insert_field_spec3725	= { FOLLOW_column_assignment_list_with_default_in_insert_field_spec3725_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_insert_identifier_in_fields3734  */
static	ANTLR3_BITWORD FOLLOW_insert_identifier_in_fields3734_bits[]	= { ANTLR3_UINT64_LIT(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_fields3734	= { FOLLOW_insert_identifier_in_fields3734_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_fields3737  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_fields3737_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_fields3737	= { FOLLOW_COMMA_SYMBOL_in_fields3737_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_insert_identifier_in_fields3739  */
static	ANTLR3_BITWORD FOLLOW_insert_identifier_in_fields3739_bits[]	= { ANTLR3_UINT64_LIT(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_fields3739	= { FOLLOW_insert_identifier_in_fields3739_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_insert_identifier_ref_in_insert_identifier3750  */
static	ANTLR3_BITWORD FOLLOW_insert_identifier_ref_in_insert_identifier3750_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_insert_identifier_ref_in_insert_identifier3750	= { FOLLOW_insert_identifier_ref_in_insert_identifier3750_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_insert_identifier_ref3769  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_insert_identifier_ref3769_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_ref3769	= { FOLLOW_identifier_in_insert_identifier_ref3769_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DOT_SYMBOL_in_insert_identifier_ref3771  */
static	ANTLR3_BITWORD FOLLOW_DOT_SYMBOL_in_insert_identifier_ref3771_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_DOT_SYMBOL_in_insert_identifier_ref3771	= { FOLLOW_DOT_SYMBOL_in_insert_identifier_ref3771_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_insert_identifier_ref3774  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_insert_identifier_ref3774_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_ref3774	= { FOLLOW_identifier_in_insert_identifier_ref3774_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DOT_SYMBOL_in_insert_identifier_ref3776  */
static	ANTLR3_BITWORD FOLLOW_DOT_SYMBOL_in_insert_identifier_ref3776_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_DOT_SYMBOL_in_insert_identifier_ref3776	= { FOLLOW_DOT_SYMBOL_in_insert_identifier_ref3776_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(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_insert_identifier_ref3783	= { FOLLOW_identifier_in_insert_identifier_ref3783_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MULT_OPERATOR_in_insert_identifier_ref3787  */
static	ANTLR3_BITWORD FOLLOW_MULT_OPERATOR_in_insert_identifier_ref3787_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_MULT_OPERATOR_in_insert_identifier_ref3787	= { FOLLOW_MULT_OPERATOR_in_insert_identifier_ref3787_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_insert_values3797  */
static	ANTLR3_BITWORD FOLLOW_set_in_insert_values3797_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_insert_values3797	= { FOLLOW_set_in_insert_values3797_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_insert_value_list_in_insert_values3805  */
static	ANTLR3_BITWORD FOLLOW_insert_value_list_in_insert_values3805_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_insert_value_list_in_insert_values3805	= { FOLLOW_insert_value_list_in_insert_values3805_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_create_select_in_insert_values3810  */
static	ANTLR3_BITWORD FOLLOW_create_select_in_insert_values3810_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_create_select_in_insert_values3810	= { FOLLOW_create_select_in_insert_values3810_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_union_clause_in_insert_values3812  */
static	ANTLR3_BITWORD FOLLOW_union_clause_in_insert_values3812_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_union_clause_in_insert_values3812	= { FOLLOW_union_clause_in_insert_values3812_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_insert_values3818  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_insert_values3818_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_insert_values3818	= { FOLLOW_OPEN_PAR_SYMBOL_in_insert_values3818_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_create_select_in_insert_values3820  */
static	ANTLR3_BITWORD FOLLOW_create_select_in_insert_values3820_bits[]	= { ANTLR3_UINT64_LIT(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_values3820	= { FOLLOW_create_select_in_insert_values3820_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_insert_values3822  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_insert_values3822_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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(0x0000000080000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000040) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_insert_values3822	= { FOLLOW_CLOSE_PAR_SYMBOL_in_insert_values3822_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_union_or_order_by_or_limit_in_insert_values3824  */
static	ANTLR3_BITWORD FOLLOW_union_or_order_by_or_limit_in_insert_values3824_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_union_or_order_by_or_limit_in_insert_values3824	= { FOLLOW_union_or_order_by_or_limit_in_insert_values3824_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_values_in_insert_value_list3834  */
static	ANTLR3_BITWORD FOLLOW_values_in_insert_value_list3834_bits[]	= { ANTLR3_UINT64_LIT(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_list3834	= { FOLLOW_values_in_insert_value_list3834_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_insert_value_list3837  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_insert_value_list3837_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_insert_value_list3837	= { FOLLOW_COMMA_SYMBOL_in_insert_value_list3837_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_values_in_insert_value_list3839  */
static	ANTLR3_BITWORD FOLLOW_values_in_insert_value_list3839_bits[]	= { ANTLR3_UINT64_LIT(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_list3839	= { FOLLOW_values_in_insert_value_list3839_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_values3851  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_values3851_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C056484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_values3851	= { FOLLOW_OPEN_PAR_SYMBOL_in_values3851_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_values3855  */
static	ANTLR3_BITWORD FOLLOW_expression_in_values3855_bits[]	= { ANTLR3_UINT64_LIT(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_values3855	= { FOLLOW_expression_in_values3855_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DEFAULT_SYMBOL_in_values3859  */
static	ANTLR3_BITWORD FOLLOW_DEFAULT_SYMBOL_in_values3859_bits[]	= { ANTLR3_UINT64_LIT(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_values3859	= { FOLLOW_DEFAULT_SYMBOL_in_values3859_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_values3863  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_values3863_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C056484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_values3863	= { FOLLOW_COMMA_SYMBOL_in_values3863_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_values3866  */
static	ANTLR3_BITWORD FOLLOW_expression_in_values3866_bits[]	= { ANTLR3_UINT64_LIT(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_values3866	= { FOLLOW_expression_in_values3866_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DEFAULT_SYMBOL_in_values3870  */
static	ANTLR3_BITWORD FOLLOW_DEFAULT_SYMBOL_in_values3870_bits[]	= { ANTLR3_UINT64_LIT(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_values3870	= { FOLLOW_DEFAULT_SYMBOL_in_values3870_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_values3877  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_values3877_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_values3877	= { FOLLOW_CLOSE_PAR_SYMBOL_in_values3877_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ON_SYMBOL_in_duplicate_key_update3886  */
static	ANTLR3_BITWORD FOLLOW_ON_SYMBOL_in_duplicate_key_update3886_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_ON_SYMBOL_in_duplicate_key_update3886	= { FOLLOW_ON_SYMBOL_in_duplicate_key_update3886_bits, 2	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DUPLICATE_SYMBOL_in_duplicate_key_update3888  */
static	ANTLR3_BITWORD FOLLOW_DUPLICATE_SYMBOL_in_duplicate_key_update3888_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_DUPLICATE_SYMBOL_in_duplicate_key_update3888	= { FOLLOW_DUPLICATE_SYMBOL_in_duplicate_key_update3888_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_KEY_SYMBOL_in_duplicate_key_update3890  */
static	ANTLR3_BITWORD FOLLOW_KEY_SYMBOL_in_duplicate_key_update3890_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_KEY_SYMBOL_in_duplicate_key_update3890	= { FOLLOW_KEY_SYMBOL_in_duplicate_key_update3890_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_UPDATE_SYMBOL_in_duplicate_key_update3892  */
static	ANTLR3_BITWORD FOLLOW_UPDATE_SYMBOL_in_duplicate_key_update3892_bits[]	= { ANTLR3_UINT64_LIT(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(0x000800000000000A) };
static  ANTLR3_BITSET_LIST FOLLOW_UPDATE_SYMBOL_in_duplicate_key_update3892	= { FOLLOW_UPDATE_SYMBOL_in_duplicate_key_update3892_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_column_assignment_in_duplicate_key_update3894  */
static	ANTLR3_BITWORD FOLLOW_column_assignment_in_duplicate_key_update3894_bits[]	= { ANTLR3_UINT64_LIT(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_update3894	= { FOLLOW_column_assignment_in_duplicate_key_update3894_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_duplicate_key_update3897  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_duplicate_key_update3897_bits[]	= { ANTLR3_UINT64_LIT(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(0x000800000000000A) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_duplicate_key_update3897	= { FOLLOW_COMMA_SYMBOL_in_duplicate_key_update3897_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_column_assignment_in_duplicate_key_update3899  */
static	ANTLR3_BITWORD FOLLOW_column_assignment_in_duplicate_key_update3899_bits[]	= { ANTLR3_UINT64_LIT(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_update3899	= { FOLLOW_column_assignment_in_duplicate_key_update3899_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_LOAD_SYMBOL_in_load_statement3912  */
static	ANTLR3_BITWORD FOLLOW_LOAD_SYMBOL_in_load_statement3912_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_statement3912	= { FOLLOW_LOAD_SYMBOL_in_load_statement3912_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_data_or_xml_in_load_statement3915  */
static	ANTLR3_BITWORD FOLLOW_data_or_xml_in_load_statement3915_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(0x0100000000000000), ANTLR3_UINT64_LIT(0x0000800000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_data_or_xml_in_load_statement3915	= { FOLLOW_data_or_xml_in_load_statement3915_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_LOCAL_SYMBOL_in_load_statement3926  */
static	ANTLR3_BITWORD FOLLOW_LOCAL_SYMBOL_in_load_statement3926_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_LOCAL_SYMBOL_in_load_statement3926	= { FOLLOW_LOCAL_SYMBOL_in_load_statement3926_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INFILE_SYMBOL_in_load_statement3929  */
static	ANTLR3_BITWORD FOLLOW_INFILE_SYMBOL_in_load_statement3929_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_INFILE_SYMBOL_in_load_statement3929	= { FOLLOW_INFILE_SYMBOL_in_load_statement3929_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_load_statement3931  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_load_statement3931_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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(0x0000000000000020), ANTLR3_UINT64_LIT(0x0200000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_load_statement3931	= { FOLLOW_string_literal_in_load_statement3931_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTO_SYMBOL_in_load_statement3944  */
static	ANTLR3_BITWORD FOLLOW_INTO_SYMBOL_in_load_statement3944_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_INTO_SYMBOL_in_load_statement3944	= { FOLLOW_INTO_SYMBOL_in_load_statement3944_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TABLE_SYMBOL_in_load_statement3946  */
static	ANTLR3_BITWORD FOLLOW_TABLE_SYMBOL_in_load_statement3946_bits[]	= { ANTLR3_UINT64_LIT(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(0x000800000000000A) };
static  ANTLR3_BITSET_LIST FOLLOW_TABLE_SYMBOL_in_load_statement3946	= { FOLLOW_TABLE_SYMBOL_in_load_statement3946_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_identifier_in_load_statement3948  */
static	ANTLR3_BITWORD FOLLOW_table_identifier_in_load_statement3948_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(0x0020000000000000), ANTLR3_UINT64_LIT(0x0000000100000000), ANTLR3_UINT64_LIT(0x0000000008000000), ANTLR3_UINT64_LIT(0x0000000000000800) };
static  ANTLR3_BITSET_LIST FOLLOW_table_identifier_in_load_statement3948	= { FOLLOW_table_identifier_in_load_statement3948_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_use_partition_in_load_statement3952  */
static	ANTLR3_BITWORD FOLLOW_use_partition_in_load_statement3952_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(0x0020000000000000), ANTLR3_UINT64_LIT(0x0000000100000000), ANTLR3_UINT64_LIT(0x0000000008000000), ANTLR3_UINT64_LIT(0x0000000000000800) };
static  ANTLR3_BITSET_LIST FOLLOW_use_partition_in_load_statement3952	= { FOLLOW_use_partition_in_load_statement3952_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_charset_clause_in_load_statement3955  */
static	ANTLR3_BITWORD FOLLOW_charset_clause_in_load_statement3955_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(0x0020000000000000), ANTLR3_UINT64_LIT(0x0000000100000000), ANTLR3_UINT64_LIT(0x0000000008000000), ANTLR3_UINT64_LIT(0x0000000000000800) };
static  ANTLR3_BITSET_LIST FOLLOW_charset_clause_in_load_statement3955	= { FOLLOW_charset_clause_in_load_statement3955_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_xml_rows_identified_by_in_load_statement3960  */
static	ANTLR3_BITWORD FOLLOW_xml_rows_identified_by_in_load_statement3960_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(0x0020000000000000), ANTLR3_UINT64_LIT(0x0000000100000000), ANTLR3_UINT64_LIT(0x0000000008000000), ANTLR3_UINT64_LIT(0x0000000000000800) };
static  ANTLR3_BITSET_LIST FOLLOW_xml_rows_identified_by_in_load_statement3960	= { FOLLOW_xml_rows_identified_by_in_load_statement3960_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_fields_clause_in_load_statement3965  */
static	ANTLR3_BITWORD FOLLOW_fields_clause_in_load_statement3965_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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(0x0000000100000000), ANTLR3_UINT64_LIT(0x0000000008000000), ANTLR3_UINT64_LIT(0x0000000000000800) };
static  ANTLR3_BITSET_LIST FOLLOW_fields_clause_in_load_statement3965	= { FOLLOW_fields_clause_in_load_statement3965_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_lines_clause_in_load_statement3968  */
static	ANTLR3_BITWORD FOLLOW_lines_clause_in_load_statement3968_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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(0x0000000008000000), ANTLR3_UINT64_LIT(0x0000000000000800) };
static  ANTLR3_BITSET_LIST FOLLOW_lines_clause_in_load_statement3968	= { FOLLOW_lines_clause_in_load_statement3968_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_load_data_file_tail_in_load_statement3973  */
static	ANTLR3_BITWORD FOLLOW_load_data_file_tail_in_load_statement3973_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_load_data_file_tail_in_load_statement3973	= { FOLLOW_load_data_file_tail_in_load_statement3973_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DATA_SYMBOL_in_data_or_xml3982  */
static	ANTLR3_BITWORD FOLLOW_DATA_SYMBOL_in_data_or_xml3982_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_DATA_SYMBOL_in_data_or_xml3982	= { FOLLOW_DATA_SYMBOL_in_data_or_xml3982_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_XML_SYMBOL_in_data_or_xml3991  */
static	ANTLR3_BITWORD FOLLOW_XML_SYMBOL_in_data_or_xml3991_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_XML_SYMBOL_in_data_or_xml3991	= { FOLLOW_XML_SYMBOL_in_data_or_xml3991_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ROWS_SYMBOL_in_xml_rows_identified_by4004  */
static	ANTLR3_BITWORD FOLLOW_ROWS_SYMBOL_in_xml_rows_identified_by4004_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000004000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_ROWS_SYMBOL_in_xml_rows_identified_by4004	= { FOLLOW_ROWS_SYMBOL_in_xml_rows_identified_by4004_bits, 2	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_IDENTIFIED_SYMBOL_in_xml_rows_identified_by4006  */
static	ANTLR3_BITWORD FOLLOW_IDENTIFIED_SYMBOL_in_xml_rows_identified_by4006_bits[]	= { ANTLR3_UINT64_LIT(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_by4006	= { FOLLOW_IDENTIFIED_SYMBOL_in_xml_rows_identified_by4006_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BY_SYMBOL_in_xml_rows_identified_by4008  */
static	ANTLR3_BITWORD FOLLOW_BY_SYMBOL_in_xml_rows_identified_by4008_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_BY_SYMBOL_in_xml_rows_identified_by4008	= { FOLLOW_BY_SYMBOL_in_xml_rows_identified_by4008_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_xml_rows_identified_by4010  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_xml_rows_identified_by4010_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_xml_rows_identified_by4010	= { FOLLOW_string_literal_in_xml_rows_identified_by4010_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_IGNORE_SYMBOL_in_load_data_file_tail4020  */
static	ANTLR3_BITWORD FOLLOW_IGNORE_SYMBOL_in_load_data_file_tail4020_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000004) };
static  ANTLR3_BITSET_LIST FOLLOW_IGNORE_SYMBOL_in_load_data_file_tail4020	= { FOLLOW_IGNORE_SYMBOL_in_load_data_file_tail4020_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_load_data_file_tail4022  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_load_data_file_tail4022_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(0x0000000100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_INTEGER_in_load_data_file_tail4022	= { FOLLOW_INTEGER_in_load_data_file_tail4022_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_load_data_file_tail4024  */
static	ANTLR3_BITWORD FOLLOW_set_in_load_data_file_tail4024_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000), ANTLR3_UINT64_LIT(0x0000000000000800) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_load_data_file_tail4024	= { FOLLOW_set_in_load_data_file_tail4024_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_load_data_file_target_list_in_load_data_file_tail4034  */
static	ANTLR3_BITWORD FOLLOW_load_data_file_target_list_in_load_data_file_tail4034_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_load_data_file_target_list_in_load_data_file_tail4034	= { FOLLOW_load_data_file_target_list_in_load_data_file_tail4034_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SET_SYMBOL_in_load_data_file_tail4038  */
static	ANTLR3_BITWORD FOLLOW_SET_SYMBOL_in_load_data_file_tail4038_bits[]	= { ANTLR3_UINT64_LIT(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(0x000800000000000A) };
static  ANTLR3_BITSET_LIST FOLLOW_SET_SYMBOL_in_load_data_file_tail4038	= { FOLLOW_SET_SYMBOL_in_load_data_file_tail4038_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_column_assignment_list_with_default_in_load_data_file_tail4040  */
static	ANTLR3_BITWORD FOLLOW_column_assignment_list_with_default_in_load_data_file_tail4040_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_column_assignment_list_with_default_in_load_data_file_tail4040	= { FOLLOW_column_assignment_list_with_default_in_load_data_file_tail4040_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_load_data_file_target_list4051  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_load_data_file_target_list4051_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(0x000800000000000A) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_load_data_file_target_list4051	= { FOLLOW_OPEN_PAR_SYMBOL_in_load_data_file_target_list4051_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_field_or_variable_list_in_load_data_file_target_list4053  */
static	ANTLR3_BITWORD FOLLOW_field_or_variable_list_in_load_data_file_target_list4053_bits[]	= { ANTLR3_UINT64_LIT(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_list4053	= { FOLLOW_field_or_variable_list_in_load_data_file_target_list4053_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_load_data_file_target_list4056  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_load_data_file_target_list4056_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_load_data_file_target_list4056	= { FOLLOW_CLOSE_PAR_SYMBOL_in_load_data_file_target_list4056_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_field_name_in_field_or_variable_list4066  */
static	ANTLR3_BITWORD FOLLOW_field_name_in_field_or_variable_list4066_bits[]	= { ANTLR3_UINT64_LIT(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_list4066	= { FOLLOW_field_name_in_field_or_variable_list4066_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_user_variable_in_field_or_variable_list4070  */
static	ANTLR3_BITWORD FOLLOW_user_variable_in_field_or_variable_list4070_bits[]	= { ANTLR3_UINT64_LIT(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_list4070	= { FOLLOW_user_variable_in_field_or_variable_list4070_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_field_or_variable_list4074  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_field_or_variable_list4074_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(0x000800000000000A) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_field_or_variable_list4074	= { FOLLOW_COMMA_SYMBOL_in_field_or_variable_list4074_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_field_name_in_field_or_variable_list4077  */
static	ANTLR3_BITWORD FOLLOW_field_name_in_field_or_variable_list4077_bits[]	= { ANTLR3_UINT64_LIT(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_list4077	= { FOLLOW_field_name_in_field_or_variable_list4077_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_user_variable_in_field_or_variable_list4081  */
static	ANTLR3_BITWORD FOLLOW_user_variable_in_field_or_variable_list4081_bits[]	= { ANTLR3_UINT64_LIT(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_list4081	= { FOLLOW_user_variable_in_field_or_variable_list4081_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_REPLACE_SYMBOL_in_replace_statement4095  */
static	ANTLR3_BITWORD FOLLOW_REPLACE_SYMBOL_in_replace_statement4095_bits[]	= { ANTLR3_UINT64_LIT(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(0x000800000000000A), ANTLR3_UINT64_LIT(0x0000800000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_REPLACE_SYMBOL_in_replace_statement4095	= { FOLLOW_REPLACE_SYMBOL_in_replace_statement4095_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTO_SYMBOL_in_replace_statement4107  */
static	ANTLR3_BITWORD FOLLOW_INTO_SYMBOL_in_replace_statement4107_bits[]	= { ANTLR3_UINT64_LIT(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(0x000800000000000A) };
static  ANTLR3_BITSET_LIST FOLLOW_INTO_SYMBOL_in_replace_statement4107	= { FOLLOW_INTO_SYMBOL_in_replace_statement4107_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_identifier_in_replace_statement4110  */
static	ANTLR3_BITWORD FOLLOW_table_identifier_in_replace_statement4110_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(0x0000000008000000), ANTLR3_UINT64_LIT(0x0000000000000820), ANTLR3_UINT64_LIT(0x0000000000020000) };
static  ANTLR3_BITSET_LIST FOLLOW_table_identifier_in_replace_statement4110	= { FOLLOW_table_identifier_in_replace_statement4110_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_use_partition_in_replace_statement4114  */
static	ANTLR3_BITWORD FOLLOW_use_partition_in_replace_statement4114_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(0x0000000008000000), ANTLR3_UINT64_LIT(0x0000000000000820), ANTLR3_UINT64_LIT(0x0000000000020000) };
static  ANTLR3_BITSET_LIST FOLLOW_use_partition_in_replace_statement4114	= { FOLLOW_use_partition_in_replace_statement4114_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_insert_field_spec_in_replace_statement4117  */
static	ANTLR3_BITWORD FOLLOW_insert_field_spec_in_replace_statement4117_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_insert_field_spec_in_replace_statement4117	= { FOLLOW_insert_field_spec_in_replace_statement4117_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SELECT_SYMBOL_in_select_statement4128  */
static	ANTLR3_BITWORD FOLLOW_SELECT_SYMBOL_in_select_statement4128_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(0x1018E2000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C056494), ANTLR3_UINT64_LIT(0x000D34001C040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_SELECT_SYMBOL_in_select_statement4128	= { FOLLOW_SELECT_SYMBOL_in_select_statement4128_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_select_part2_in_select_statement4131  */
static	ANTLR3_BITWORD FOLLOW_select_part2_in_select_statement4131_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_part2_in_select_statement4131	= { FOLLOW_select_part2_in_select_statement4131_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_union_clause_in_select_statement4133  */
static	ANTLR3_BITWORD FOLLOW_union_clause_in_select_statement4133_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_union_clause_in_select_statement4133	= { FOLLOW_union_clause_in_select_statement4133_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_select_statement4139  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_select_statement4139_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_select_statement4139	= { FOLLOW_OPEN_PAR_SYMBOL_in_select_statement4139_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_select_paren_in_select_statement4141  */
static	ANTLR3_BITWORD FOLLOW_select_paren_in_select_statement4141_bits[]	= { ANTLR3_UINT64_LIT(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_statement4141	= { FOLLOW_select_paren_in_select_statement4141_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_select_statement4143  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_select_statement4143_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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(0x0000000080000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000040) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_select_statement4143	= { FOLLOW_CLOSE_PAR_SYMBOL_in_select_statement4143_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_union_or_order_by_or_limit_in_select_statement4145  */
static	ANTLR3_BITWORD FOLLOW_union_or_order_by_or_limit_in_select_statement4145_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_union_or_order_by_or_limit_in_select_statement4145	= { FOLLOW_union_or_order_by_or_limit_in_select_statement4145_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SELECT_SYMBOL_in_select_paren4155  */
static	ANTLR3_BITWORD FOLLOW_SELECT_SYMBOL_in_select_paren4155_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(0x1018E2000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C056494), ANTLR3_UINT64_LIT(0x000D34001C040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_SELECT_SYMBOL_in_select_paren4155	= { FOLLOW_SELECT_SYMBOL_in_select_paren4155_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_select_part2_in_select_paren4158  */
static	ANTLR3_BITWORD FOLLOW_select_part2_in_select_paren4158_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_select_part2_in_select_paren4158	= { FOLLOW_select_part2_in_select_paren4158_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_select_paren4163  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_select_paren4163_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_select_paren4163	= { FOLLOW_OPEN_PAR_SYMBOL_in_select_paren4163_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_select_paren_in_select_paren4165  */
static	ANTLR3_BITWORD FOLLOW_select_paren_in_select_paren4165_bits[]	= { ANTLR3_UINT64_LIT(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_paren4165	= { FOLLOW_select_paren_in_select_paren4165_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_select_paren4167  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_select_paren4167_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_select_paren4167	= { FOLLOW_CLOSE_PAR_SYMBOL_in_select_paren4167_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_select_option_in_select_part24190  */
static	ANTLR3_BITWORD FOLLOW_select_option_in_select_part24190_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(0x1018E2000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C056494), ANTLR3_UINT64_LIT(0x000D34001C040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_select_option_in_select_part24190	= { FOLLOW_select_option_in_select_part24190_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_select_item_list_in_select_part24194  */
static	ANTLR3_BITWORD FOLLOW_select_item_list_in_select_part24194_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000500000000), ANTLR3_UINT64_LIT(0x0000002020000020) };
static  ANTLR3_BITSET_LIST FOLLOW_select_item_list_in_select_part24194	= { FOLLOW_select_item_list_in_select_part24194_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_select_source_and_options_in_select_part24196  */
static	ANTLR3_BITWORD FOLLOW_select_source_and_options_in_select_part24196_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(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(0x0000002000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_select_source_and_options_in_select_part24196	= { FOLLOW_select_source_and_options_in_select_part24196_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_select_lock_type_in_select_part24199  */
static	ANTLR3_BITWORD FOLLOW_select_lock_type_in_select_part24199_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_select_lock_type_in_select_part24199	= { FOLLOW_select_lock_type_in_select_part24199_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_subquery4209  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_subquery4209_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_subquery4209	= { FOLLOW_OPEN_PAR_SYMBOL_in_subquery4209_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SELECT_SYMBOL_in_subquery4211  */
static	ANTLR3_BITWORD FOLLOW_SELECT_SYMBOL_in_subquery4211_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(0x1018E2000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C056494), ANTLR3_UINT64_LIT(0x000D34001C040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_SELECT_SYMBOL_in_subquery4211	= { FOLLOW_SELECT_SYMBOL_in_subquery4211_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_select_part2_derived_in_subquery4213  */
static	ANTLR3_BITWORD FOLLOW_select_part2_derived_in_subquery4213_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000000000000040) };
static  ANTLR3_BITSET_LIST FOLLOW_select_part2_derived_in_subquery4213	= { FOLLOW_select_part2_derived_in_subquery4213_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_union_clause_in_subquery4215  */
static	ANTLR3_BITWORD FOLLOW_union_clause_in_subquery4215_bits[]	= { ANTLR3_UINT64_LIT(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_subquery4215	= { FOLLOW_union_clause_in_subquery4215_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_subquery4218  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_subquery4218_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_subquery4218	= { FOLLOW_CLOSE_PAR_SYMBOL_in_subquery4218_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_query_expression_option_in_select_part2_derived4263  */
static	ANTLR3_BITWORD FOLLOW_query_expression_option_in_select_part2_derived4263_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(0x1018E2000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C056494), ANTLR3_UINT64_LIT(0x000D34001C040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_query_expression_option_in_select_part2_derived4263	= { FOLLOW_query_expression_option_in_select_part2_derived4263_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_select_part2_derived4273  */
static	ANTLR3_BITWORD FOLLOW_set_in_select_part2_derived4273_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(0x1018E2000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C056494), ANTLR3_UINT64_LIT(0x000D34001C040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_select_part2_derived4273	= { FOLLOW_set_in_select_part2_derived4273_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_select_item_list_in_select_part2_derived4285  */
static	ANTLR3_BITWORD FOLLOW_select_item_list_in_select_part2_derived4285_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000500000000), ANTLR3_UINT64_LIT(0x0000002020000020) };
static  ANTLR3_BITSET_LIST FOLLOW_select_item_list_in_select_part2_derived4285	= { FOLLOW_select_item_list_in_select_part2_derived4285_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_select_source_and_options_in_select_part2_derived4287  */
static	ANTLR3_BITWORD FOLLOW_select_source_and_options_in_select_part2_derived4287_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(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(0x0000002000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_select_source_and_options_in_select_part2_derived4287	= { FOLLOW_select_source_and_options_in_select_part2_derived4287_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_select_lock_type_in_select_part2_derived4290  */
static	ANTLR3_BITWORD FOLLOW_select_lock_type_in_select_part2_derived4290_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_select_lock_type_in_select_part2_derived4290	= { FOLLOW_select_lock_type_in_select_part2_derived4290_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_query_expression_option_in_select_option4300  */
static	ANTLR3_BITWORD FOLLOW_query_expression_option_in_select_option4300_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_query_expression_option_in_select_option4300	= { FOLLOW_query_expression_option_in_select_option4300_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SQL_NO_CACHE_SYMBOL_in_select_option4305  */
static	ANTLR3_BITWORD FOLLOW_SQL_NO_CACHE_SYMBOL_in_select_option4305_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_SQL_NO_CACHE_SYMBOL_in_select_option4305	= { FOLLOW_SQL_NO_CACHE_SYMBOL_in_select_option4305_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SQL_CACHE_SYMBOL_in_select_option4310  */
static	ANTLR3_BITWORD FOLLOW_SQL_CACHE_SYMBOL_in_select_option4310_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_SQL_CACHE_SYMBOL_in_select_option4310	= { FOLLOW_SQL_CACHE_SYMBOL_in_select_option4310_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_select_item_in_select_item_list4365  */
static	ANTLR3_BITWORD FOLLOW_select_item_in_select_item_list4365_bits[]	= { ANTLR3_UINT64_LIT(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_list4365	= { FOLLOW_select_item_in_select_item_list4365_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MULT_OPERATOR_in_select_item_list4369  */
static	ANTLR3_BITWORD FOLLOW_MULT_OPERATOR_in_select_item_list4369_bits[]	= { ANTLR3_UINT64_LIT(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_list4369	= { FOLLOW_MULT_OPERATOR_in_select_item_list4369_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_select_item_list4386  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_select_item_list4386_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C056484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_select_item_list4386	= { FOLLOW_COMMA_SYMBOL_in_select_item_list4386_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_select_item_in_select_item_list4388  */
static	ANTLR3_BITWORD FOLLOW_select_item_in_select_item_list4388_bits[]	= { ANTLR3_UINT64_LIT(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_list4388	= { FOLLOW_select_item_in_select_item_list4388_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_qualified_identifier_with_wildcard_in_select_item4405  */
static	ANTLR3_BITWORD FOLLOW_qualified_identifier_with_wildcard_in_select_item4405_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_qualified_identifier_with_wildcard_in_select_item4405	= { FOLLOW_qualified_identifier_with_wildcard_in_select_item4405_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_select_item4418  */
static	ANTLR3_BITWORD FOLLOW_expression_in_select_item4418_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(0x0008000000000008), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_select_item4418	= { FOLLOW_expression_in_select_item4418_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_select_alias_in_select_item4420  */
static	ANTLR3_BITWORD FOLLOW_select_alias_in_select_item4420_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_select_alias_in_select_item4420	= { FOLLOW_select_alias_in_select_item4420_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_AS_SYMBOL_in_select_alias4441  */
static	ANTLR3_BITWORD FOLLOW_AS_SYMBOL_in_select_alias4441_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_AS_SYMBOL_in_select_alias4441	= { FOLLOW_AS_SYMBOL_in_select_alias4441_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_text_or_identifier_in_select_alias4444  */
static	ANTLR3_BITWORD FOLLOW_text_or_identifier_in_select_alias4444_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_text_or_identifier_in_select_alias4444	= { FOLLOW_text_or_identifier_in_select_alias4444_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_limit_clause_in_select_source_and_options4462  */
static	ANTLR3_BITWORD FOLLOW_limit_clause_in_select_source_and_options4462_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_limit_clause_in_select_source_and_options4462	= { FOLLOW_limit_clause_in_select_source_and_options4462_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_into_clause_in_select_source_and_options4467  */
static	ANTLR3_BITWORD FOLLOW_into_clause_in_select_source_and_options4467_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(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_into_clause_in_select_source_and_options4467	= { FOLLOW_into_clause_in_select_source_and_options4467_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_select_from_in_select_source_and_options4469  */
static	ANTLR3_BITWORD FOLLOW_select_from_in_select_source_and_options4469_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_select_from_in_select_source_and_options4469	= { FOLLOW_select_from_in_select_source_and_options4469_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_select_from_in_select_source_and_options4475  */
static	ANTLR3_BITWORD FOLLOW_select_from_in_select_source_and_options4475_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_select_from_in_select_source_and_options4475	= { FOLLOW_select_from_in_select_source_and_options4475_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_into_clause_in_select_source_and_options4477  */
static	ANTLR3_BITWORD FOLLOW_into_clause_in_select_source_and_options4477_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_into_clause_in_select_source_and_options4477	= { FOLLOW_into_clause_in_select_source_and_options4477_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_LIMIT_SYMBOL_in_limit_clause4487  */
static	ANTLR3_BITWORD FOLLOW_LIMIT_SYMBOL_in_limit_clause4487_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008), ANTLR3_UINT64_LIT(0x0000000000000004), ANTLR3_UINT64_LIT(0x0000001000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_LIMIT_SYMBOL_in_limit_clause4487	= { FOLLOW_LIMIT_SYMBOL_in_limit_clause4487_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_limit_options_in_limit_clause4489  */
static	ANTLR3_BITWORD FOLLOW_limit_options_in_limit_clause4489_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_limit_options_in_limit_clause4489	= { FOLLOW_limit_options_in_limit_clause4489_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_limit_option_in_limit_options4498  */
static	ANTLR3_BITWORD FOLLOW_limit_option_in_limit_options4498_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_options4498	= { FOLLOW_limit_option_in_limit_options4498_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_limit_options4514  */
static	ANTLR3_BITWORD FOLLOW_set_in_limit_options4514_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008), ANTLR3_UINT64_LIT(0x0000000000000004), ANTLR3_UINT64_LIT(0x0000001000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_limit_options4514	= { FOLLOW_set_in_limit_options4514_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_limit_option_in_limit_options4522  */
static	ANTLR3_BITWORD FOLLOW_limit_option_in_limit_options4522_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_limit_option_in_limit_options4522	= { FOLLOW_limit_option_in_limit_options4522_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PARAM_MARKER_in_limit_option4533  */
static	ANTLR3_BITWORD FOLLOW_PARAM_MARKER_in_limit_option4533_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_PARAM_MARKER_in_limit_option4533	= { FOLLOW_PARAM_MARKER_in_limit_option4533_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_limit_option4538  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_limit_option4538_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_INTEGER_in_limit_option4538	= { FOLLOW_INTEGER_in_limit_option4538_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_limit_option4543  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_limit_option4543_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_limit_option4543	= { FOLLOW_identifier_in_limit_option4543_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTO_SYMBOL_in_into_clause4553  */
static	ANTLR3_BITWORD FOLLOW_INTO_SYMBOL_in_into_clause4553_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(0x0008000000000008), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000400000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_INTO_SYMBOL_in_into_clause4553	= { FOLLOW_INTO_SYMBOL_in_into_clause4553_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OUTFILE_SYMBOL_in_into_clause4560  */
static	ANTLR3_BITWORD FOLLOW_OUTFILE_SYMBOL_in_into_clause4560_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_OUTFILE_SYMBOL_in_into_clause4560	= { FOLLOW_OUTFILE_SYMBOL_in_into_clause4560_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_into_clause4562  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_into_clause4562_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(0x0000000100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_into_clause4562	= { FOLLOW_string_literal_in_into_clause4562_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_charset_clause_in_into_clause4564  */
static	ANTLR3_BITWORD FOLLOW_charset_clause_in_into_clause4564_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(0x0000000100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_charset_clause_in_into_clause4564	= { FOLLOW_charset_clause_in_into_clause4564_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_fields_clause_in_into_clause4567  */
static	ANTLR3_BITWORD FOLLOW_fields_clause_in_into_clause4567_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_fields_clause_in_into_clause4567	= { FOLLOW_fields_clause_in_into_clause4567_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_lines_clause_in_into_clause4570  */
static	ANTLR3_BITWORD FOLLOW_lines_clause_in_into_clause4570_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_lines_clause_in_into_clause4570	= { FOLLOW_lines_clause_in_into_clause4570_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DUMPFILE_SYMBOL_in_into_clause4577  */
static	ANTLR3_BITWORD FOLLOW_DUMPFILE_SYMBOL_in_into_clause4577_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_DUMPFILE_SYMBOL_in_into_clause4577	= { FOLLOW_DUMPFILE_SYMBOL_in_into_clause4577_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_into_clause4579  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_into_clause4579_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_into_clause4579	= { FOLLOW_string_literal_in_into_clause4579_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_AT_SIGN_SYMBOL_in_into_clause4585  */
static	ANTLR3_BITWORD FOLLOW_AT_SIGN_SYMBOL_in_into_clause4585_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_AT_SIGN_SYMBOL_in_into_clause4585	= { FOLLOW_AT_SIGN_SYMBOL_in_into_clause4585_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_text_or_identifier_in_into_clause4588  */
static	ANTLR3_BITWORD FOLLOW_text_or_identifier_in_into_clause4588_bits[]	= { ANTLR3_UINT64_LIT(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_clause4588	= { FOLLOW_text_or_identifier_in_into_clause4588_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_into_clause4591  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_into_clause4591_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(0x0008000000000008), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_into_clause4591	= { FOLLOW_COMMA_SYMBOL_in_into_clause4591_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_AT_SIGN_SYMBOL_in_into_clause4593  */
static	ANTLR3_BITWORD FOLLOW_AT_SIGN_SYMBOL_in_into_clause4593_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_AT_SIGN_SYMBOL_in_into_clause4593	= { FOLLOW_AT_SIGN_SYMBOL_in_into_clause4593_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_text_or_identifier_in_into_clause4596  */
static	ANTLR3_BITWORD FOLLOW_text_or_identifier_in_into_clause4596_bits[]	= { ANTLR3_UINT64_LIT(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_clause4596	= { FOLLOW_text_or_identifier_in_into_clause4596_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FROM_SYMBOL_in_select_from4610  */
static	ANTLR3_BITWORD FOLLOW_FROM_SYMBOL_in_select_from4610_bits[]	= { ANTLR3_UINT64_LIT(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(0x000800000000004A), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x000000000C000000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_FROM_SYMBOL_in_select_from4610	= { FOLLOW_FROM_SYMBOL_in_select_from4610_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DUAL_SYMBOL_in_select_from4618  */
static	ANTLR3_BITWORD FOLLOW_DUAL_SYMBOL_in_select_from4618_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_DUAL_SYMBOL_in_select_from4618	= { FOLLOW_DUAL_SYMBOL_in_select_from4618_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_where_clause_in_select_from4634  */
static	ANTLR3_BITWORD FOLLOW_where_clause_in_select_from4634_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_where_clause_in_select_from4634	= { FOLLOW_where_clause_in_select_from4634_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_limit_clause_in_select_from4652  */
static	ANTLR3_BITWORD FOLLOW_limit_clause_in_select_from4652_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_limit_clause_in_select_from4652	= { FOLLOW_limit_clause_in_select_from4652_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_references_in_select_from4660  */
static	ANTLR3_BITWORD FOLLOW_table_references_in_select_from4660_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x00000C0000000000), ANTLR3_UINT64_LIT(0x0000000020000000), ANTLR3_UINT64_LIT(0x0000200080000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_table_references_in_select_from4660	= { FOLLOW_table_references_in_select_from4660_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_where_clause_in_select_from4679  */
static	ANTLR3_BITWORD FOLLOW_where_clause_in_select_from4679_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x00000C0000000000), ANTLR3_UINT64_LIT(0x0000000020000000), ANTLR3_UINT64_LIT(0x0000200080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_where_clause_in_select_from4679	= { FOLLOW_where_clause_in_select_from4679_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_group_by_clause_in_select_from4700  */
static	ANTLR3_BITWORD FOLLOW_group_by_clause_in_select_from4700_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(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(0x0000000020000000), ANTLR3_UINT64_LIT(0x0000200080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_group_by_clause_in_select_from4700	= { FOLLOW_group_by_clause_in_select_from4700_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_having_clause_in_select_from4721  */
static	ANTLR3_BITWORD FOLLOW_having_clause_in_select_from4721_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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(0x0000200080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_having_clause_in_select_from4721	= { FOLLOW_having_clause_in_select_from4721_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_order_by_clause_in_select_from4742  */
static	ANTLR3_BITWORD FOLLOW_order_by_clause_in_select_from4742_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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(0x0000200000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_order_by_clause_in_select_from4742	= { FOLLOW_order_by_clause_in_select_from4742_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_limit_clause_in_select_from4763  */
static	ANTLR3_BITWORD FOLLOW_limit_clause_in_select_from4763_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000200000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_limit_clause_in_select_from4763	= { FOLLOW_limit_clause_in_select_from4763_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_procedure_analyse_clause_in_select_from4784  */
static	ANTLR3_BITWORD FOLLOW_procedure_analyse_clause_in_select_from4784_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_procedure_analyse_clause_in_select_from4784	= { FOLLOW_procedure_analyse_clause_in_select_from4784_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PROCEDURE_SYMBOL_in_procedure_analyse_clause4798  */
static	ANTLR3_BITWORD FOLLOW_PROCEDURE_SYMBOL_in_procedure_analyse_clause4798_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_clause4798	= { FOLLOW_PROCEDURE_SYMBOL_in_procedure_analyse_clause4798_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ANALYSE_SYMBOL_in_procedure_analyse_clause4801  */
static	ANTLR3_BITWORD FOLLOW_ANALYSE_SYMBOL_in_procedure_analyse_clause4801_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_ANALYSE_SYMBOL_in_procedure_analyse_clause4801	= { FOLLOW_ANALYSE_SYMBOL_in_procedure_analyse_clause4801_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_procedure_analyse_clause4803  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_procedure_analyse_clause4803_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000000000000004) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_procedure_analyse_clause4803	= { FOLLOW_OPEN_PAR_SYMBOL_in_procedure_analyse_clause4803_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_procedure_analyse_clause4806  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_procedure_analyse_clause4806_bits[]	= { ANTLR3_UINT64_LIT(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_clause4806	= { FOLLOW_INTEGER_in_procedure_analyse_clause4806_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_procedure_analyse_clause4809  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_procedure_analyse_clause4809_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000004) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_procedure_analyse_clause4809	= { FOLLOW_COMMA_SYMBOL_in_procedure_analyse_clause4809_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_procedure_analyse_clause4811  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_procedure_analyse_clause4811_bits[]	= { ANTLR3_UINT64_LIT(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_clause4811	= { FOLLOW_INTEGER_in_procedure_analyse_clause4811_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_procedure_analyse_clause4817  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_procedure_analyse_clause4817_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_procedure_analyse_clause4817	= { FOLLOW_CLOSE_PAR_SYMBOL_in_procedure_analyse_clause4817_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_HAVING_SYMBOL_in_having_clause4826  */
static	ANTLR3_BITWORD FOLLOW_HAVING_SYMBOL_in_having_clause4826_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C056484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_HAVING_SYMBOL_in_having_clause4826	= { FOLLOW_HAVING_SYMBOL_in_having_clause4826_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_having_clause4829  */
static	ANTLR3_BITWORD FOLLOW_expression_in_having_clause4829_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_having_clause4829	= { FOLLOW_expression_in_having_clause4829_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_GROUP_SYMBOL_in_group_by_clause4838  */
static	ANTLR3_BITWORD FOLLOW_GROUP_SYMBOL_in_group_by_clause4838_bits[]	= { ANTLR3_UINT64_LIT(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_clause4838	= { FOLLOW_GROUP_SYMBOL_in_group_by_clause4838_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BY_SYMBOL_in_group_by_clause4841  */
static	ANTLR3_BITWORD FOLLOW_BY_SYMBOL_in_group_by_clause4841_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C056484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_BY_SYMBOL_in_group_by_clause4841	= { FOLLOW_BY_SYMBOL_in_group_by_clause4841_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_list_with_direction_in_group_by_clause4843  */
static	ANTLR3_BITWORD FOLLOW_expression_list_with_direction_in_group_by_clause4843_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_list_with_direction_in_group_by_clause4843	= { FOLLOW_expression_list_with_direction_in_group_by_clause4843_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_olap_option_in_group_by_clause4845  */
static	ANTLR3_BITWORD FOLLOW_olap_option_in_group_by_clause4845_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_olap_option_in_group_by_clause4845	= { FOLLOW_olap_option_in_group_by_clause4845_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_WITH_SYMBOL_in_olap_option4855  */
static	ANTLR3_BITWORD FOLLOW_WITH_SYMBOL_in_olap_option4855_bits[]	= { ANTLR3_UINT64_LIT(0x0004000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_WITH_SYMBOL_in_olap_option4855	= { FOLLOW_WITH_SYMBOL_in_olap_option4855_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CUBE_SYMBOL_in_olap_option4857  */
static	ANTLR3_BITWORD FOLLOW_CUBE_SYMBOL_in_olap_option4857_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CUBE_SYMBOL_in_olap_option4857	= { FOLLOW_CUBE_SYMBOL_in_olap_option4857_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_WITH_SYMBOL_in_olap_option4862  */
static	ANTLR3_BITWORD FOLLOW_WITH_SYMBOL_in_olap_option4862_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_option4862	= { FOLLOW_WITH_SYMBOL_in_olap_option4862_bits, 4	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ROLLUP_SYMBOL_in_olap_option4864  */
static	ANTLR3_BITWORD FOLLOW_ROLLUP_SYMBOL_in_olap_option4864_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_ROLLUP_SYMBOL_in_olap_option4864	= { FOLLOW_ROLLUP_SYMBOL_in_olap_option4864_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ORDER_SYMBOL_in_order_by_clause4873  */
static	ANTLR3_BITWORD FOLLOW_ORDER_SYMBOL_in_order_by_clause4873_bits[]	= { ANTLR3_UINT64_LIT(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_clause4873	= { FOLLOW_ORDER_SYMBOL_in_order_by_clause4873_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BY_SYMBOL_in_order_by_clause4876  */
static	ANTLR3_BITWORD FOLLOW_BY_SYMBOL_in_order_by_clause4876_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C056484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_BY_SYMBOL_in_order_by_clause4876	= { FOLLOW_BY_SYMBOL_in_order_by_clause4876_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_list_with_direction_in_order_by_clause4878  */
static	ANTLR3_BITWORD FOLLOW_expression_list_with_direction_in_order_by_clause4878_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_list_with_direction_in_order_by_clause4878	= { FOLLOW_expression_list_with_direction_in_order_by_clause4878_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_order_by_clause_in_order_by_or_limit4887  */
static	ANTLR3_BITWORD FOLLOW_order_by_clause_in_order_by_or_limit4887_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_order_by_clause_in_order_by_or_limit4887	= { FOLLOW_order_by_clause_in_order_by_or_limit4887_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_limit_clause_in_order_by_or_limit4889  */
static	ANTLR3_BITWORD FOLLOW_limit_clause_in_order_by_or_limit4889_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_limit_clause_in_order_by_or_limit4889	= { FOLLOW_limit_clause_in_order_by_or_limit4889_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_limit_clause_in_order_by_or_limit4895  */
static	ANTLR3_BITWORD FOLLOW_limit_clause_in_order_by_or_limit4895_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_limit_clause_in_order_by_or_limit4895	= { FOLLOW_limit_clause_in_order_by_or_limit4895_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_WHERE_SYMBOL_in_where_clause4926  */
static	ANTLR3_BITWORD FOLLOW_WHERE_SYMBOL_in_where_clause4926_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C056484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_WHERE_SYMBOL_in_where_clause4926	= { FOLLOW_WHERE_SYMBOL_in_where_clause4926_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_where_clause4929  */
static	ANTLR3_BITWORD FOLLOW_expression_in_where_clause4929_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_where_clause4929	= { FOLLOW_expression_in_where_clause4929_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_escaped_table_reference_in_table_references4939  */
static	ANTLR3_BITWORD FOLLOW_escaped_table_reference_in_table_references4939_bits[]	= { ANTLR3_UINT64_LIT(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_references4939	= { FOLLOW_escaped_table_reference_in_table_references4939_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_table_references4955  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_table_references4955_bits[]	= { ANTLR3_UINT64_LIT(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(0x000800000000000A), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x000000000C000000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_table_references4955	= { FOLLOW_COMMA_SYMBOL_in_table_references4955_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_escaped_table_reference_in_table_references4957  */
static	ANTLR3_BITWORD FOLLOW_escaped_table_reference_in_table_references4957_bits[]	= { ANTLR3_UINT64_LIT(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_references4957	= { FOLLOW_escaped_table_reference_in_table_references4957_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_reference_in_escaped_table_reference4974  */
static	ANTLR3_BITWORD FOLLOW_table_reference_in_escaped_table_reference4974_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_table_reference_in_escaped_table_reference4974	= { FOLLOW_table_reference_in_escaped_table_reference4974_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_CURLY_SYMBOL_in_escaped_table_reference4979  */
static	ANTLR3_BITWORD FOLLOW_OPEN_CURLY_SYMBOL_in_escaped_table_reference4979_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_CURLY_SYMBOL_in_escaped_table_reference4979	= { FOLLOW_OPEN_CURLY_SYMBOL_in_escaped_table_reference4979_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_escaped_table_reference4981  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_escaped_table_reference4981_bits[]	= { ANTLR3_UINT64_LIT(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(0x000800000000000A), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_escaped_table_reference4981	= { FOLLOW_identifier_in_escaped_table_reference4981_bits, 11	};
/** 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(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_reference4983	= { FOLLOW_table_reference_in_escaped_table_reference4983_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_CURLY_SYMBOL_in_escaped_table_reference4985  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_CURLY_SYMBOL_in_escaped_table_reference4985_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_CURLY_SYMBOL_in_escaped_table_reference4985	= { FOLLOW_CLOSE_CURLY_SYMBOL_in_escaped_table_reference4985_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_factor_in_table_reference4994  */
static	ANTLR3_BITWORD FOLLOW_table_factor_in_table_reference4994_bits[]	= { ANTLR3_UINT64_LIT(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(0x0200000000000000), ANTLR3_UINT64_LIT(0x0000000000804000), ANTLR3_UINT64_LIT(0x8000000000000020), ANTLR3_UINT64_LIT(0x0000200000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_table_factor_in_table_reference4994	= { FOLLOW_table_factor_in_table_reference4994_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_join_in_table_reference5010  */
static	ANTLR3_BITWORD FOLLOW_join_in_table_reference5010_bits[]	= { ANTLR3_UINT64_LIT(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(0x0200000000000000), ANTLR3_UINT64_LIT(0x0000000000804000), ANTLR3_UINT64_LIT(0x8000000000000020), ANTLR3_UINT64_LIT(0x0000200000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_join_in_table_reference5010	= { FOLLOW_join_in_table_reference5010_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_join_table_in_join5021  */
static	ANTLR3_BITWORD FOLLOW_join_table_in_join5021_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_join_table_in_join5021	= { FOLLOW_join_table_in_join5021_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SELECT_SYMBOL_in_table_factor5038  */
static	ANTLR3_BITWORD FOLLOW_SELECT_SYMBOL_in_table_factor5038_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(0x1018E2000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C056494), ANTLR3_UINT64_LIT(0x000D34001C040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_SELECT_SYMBOL_in_table_factor5038	= { FOLLOW_SELECT_SYMBOL_in_table_factor5038_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_select_option_in_table_factor5054  */
static	ANTLR3_BITWORD FOLLOW_select_option_in_table_factor5054_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(0x1018E2000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C056494), ANTLR3_UINT64_LIT(0x000D34001C040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_select_option_in_table_factor5054	= { FOLLOW_select_option_in_table_factor5054_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_select_item_list_in_table_factor5058  */
static	ANTLR3_BITWORD FOLLOW_select_item_list_in_table_factor5058_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(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), ANTLR3_UINT64_LIT(0x0000000020000000) };
static  ANTLR3_BITSET_LIST FOLLOW_select_item_list_in_table_factor5058	= { FOLLOW_select_item_list_in_table_factor5058_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_factor_select_tail_in_table_factor5074  */
static	ANTLR3_BITWORD FOLLOW_table_factor_select_tail_in_table_factor5074_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_table_factor_select_tail_in_table_factor5074	= { FOLLOW_table_factor_select_tail_in_table_factor5074_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_table_factor5081  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_table_factor5081_bits[]	= { ANTLR3_UINT64_LIT(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(0x000800000000000A), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x000000000C000000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_table_factor5081	= { FOLLOW_OPEN_PAR_SYMBOL_in_table_factor5081_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_select_table_factor_union_in_table_factor5083  */
static	ANTLR3_BITWORD FOLLOW_select_table_factor_union_in_table_factor5083_bits[]	= { ANTLR3_UINT64_LIT(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_factor5083	= { FOLLOW_select_table_factor_union_in_table_factor5083_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_table_factor5085  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_table_factor5085_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(0x0008000000001008) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_table_factor5085	= { FOLLOW_CLOSE_PAR_SYMBOL_in_table_factor5085_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_alias_in_table_factor5087  */
static	ANTLR3_BITWORD FOLLOW_table_alias_in_table_factor5087_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_table_alias_in_table_factor5087	= { FOLLOW_table_alias_in_table_factor5087_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_factor_table_in_table_factor5093  */
static	ANTLR3_BITWORD FOLLOW_table_factor_table_in_table_factor5093_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_table_factor_table_in_table_factor5093	= { FOLLOW_table_factor_table_in_table_factor5093_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_select_from_in_table_factor_select_tail5102  */
static	ANTLR3_BITWORD FOLLOW_select_from_in_table_factor_select_tail5102_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(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(0x0000002000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_select_from_in_table_factor_select_tail5102	= { FOLLOW_select_from_in_table_factor_select_tail5102_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_select_lock_type_in_table_factor_select_tail5118  */
static	ANTLR3_BITWORD FOLLOW_select_lock_type_in_table_factor_select_tail5118_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_select_lock_type_in_table_factor_select_tail5118	= { FOLLOW_select_lock_type_in_table_factor_select_tail5118_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_limit_clause_in_table_factor_select_tail5125  */
static	ANTLR3_BITWORD FOLLOW_limit_clause_in_table_factor_select_tail5125_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_limit_clause_in_table_factor_select_tail5125	= { FOLLOW_limit_clause_in_table_factor_select_tail5125_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_references_in_select_table_factor_union5135  */
static	ANTLR3_BITWORD FOLLOW_table_references_in_select_table_factor_union5135_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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(0x0000000080000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000040) };
static  ANTLR3_BITSET_LIST FOLLOW_table_references_in_select_table_factor_union5135	= { FOLLOW_table_references_in_select_table_factor_union5135_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_order_by_or_limit_in_select_table_factor_union5137  */
static	ANTLR3_BITWORD FOLLOW_order_by_or_limit_in_select_table_factor_union5137_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_order_by_or_limit_in_select_table_factor_union5137	= { FOLLOW_order_by_or_limit_in_select_table_factor_union5137_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_UNION_SYMBOL_in_select_table_factor_union5142  */
static	ANTLR3_BITWORD FOLLOW_UNION_SYMBOL_in_select_table_factor_union5142_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(0x0000000008000000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_UNION_SYMBOL_in_select_table_factor_union5142	= { FOLLOW_UNION_SYMBOL_in_select_table_factor_union5142_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_union_option_in_select_table_factor_union5144  */
static	ANTLR3_BITWORD FOLLOW_union_option_in_select_table_factor_union5144_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_union_option_in_select_table_factor_union5144	= { FOLLOW_union_option_in_select_table_factor_union5144_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_join_query_specification_in_select_table_factor_union5147  */
static	ANTLR3_BITWORD FOLLOW_join_query_specification_in_select_table_factor_union5147_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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(0x0000000080000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000040) };
static  ANTLR3_BITSET_LIST FOLLOW_join_query_specification_in_select_table_factor_union5147	= { FOLLOW_join_query_specification_in_select_table_factor_union5147_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_order_by_or_limit_in_select_table_factor_union5149  */
static	ANTLR3_BITWORD FOLLOW_order_by_or_limit_in_select_table_factor_union5149_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_order_by_or_limit_in_select_table_factor_union5149	= { FOLLOW_order_by_or_limit_in_select_table_factor_union5149_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SELECT_SYMBOL_in_join_query_specification5161  */
static	ANTLR3_BITWORD FOLLOW_SELECT_SYMBOL_in_join_query_specification5161_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(0x1018E2000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C056494), ANTLR3_UINT64_LIT(0x000D34001C040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_SELECT_SYMBOL_in_join_query_specification5161	= { FOLLOW_SELECT_SYMBOL_in_join_query_specification5161_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_query_expression_option_in_join_query_specification5177  */
static	ANTLR3_BITWORD FOLLOW_query_expression_option_in_join_query_specification5177_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(0x1018E2000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C056494), ANTLR3_UINT64_LIT(0x000D34001C040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_query_expression_option_in_join_query_specification5177	= { FOLLOW_query_expression_option_in_join_query_specification5177_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_select_item_list_in_join_query_specification5181  */
static	ANTLR3_BITWORD FOLLOW_select_item_list_in_join_query_specification5181_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000500000000), ANTLR3_UINT64_LIT(0x0000002000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_select_item_list_in_join_query_specification5181	= { FOLLOW_select_item_list_in_join_query_specification5181_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_select_from_in_join_query_specification5183  */
static	ANTLR3_BITWORD FOLLOW_select_from_in_join_query_specification5183_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(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(0x0000002000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_select_from_in_join_query_specification5183	= { FOLLOW_select_from_in_join_query_specification5183_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_select_lock_type_in_join_query_specification5186  */
static	ANTLR3_BITWORD FOLLOW_select_lock_type_in_join_query_specification5186_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_select_lock_type_in_join_query_specification5186	= { FOLLOW_select_lock_type_in_join_query_specification5186_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_join_query_specification5192  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_join_query_specification5192_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_join_query_specification5192	= { FOLLOW_OPEN_PAR_SYMBOL_in_join_query_specification5192_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_join_query_specification_in_join_query_specification5194  */
static	ANTLR3_BITWORD FOLLOW_join_query_specification_in_join_query_specification5194_bits[]	= { ANTLR3_UINT64_LIT(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_specification5194	= { FOLLOW_join_query_specification_in_join_query_specification5194_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_join_query_specification5196  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_join_query_specification5196_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_join_query_specification5196	= { FOLLOW_CLOSE_PAR_SYMBOL_in_join_query_specification5196_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_identifier_in_table_factor_table5205  */
static	ANTLR3_BITWORD FOLLOW_table_identifier_in_table_factor_table5205_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(0x0028000040001008), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000001000) };
static  ANTLR3_BITSET_LIST FOLLOW_table_identifier_in_table_factor_table5205	= { FOLLOW_table_identifier_in_table_factor_table5205_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_use_partition_in_table_factor_table5207  */
static	ANTLR3_BITWORD FOLLOW_use_partition_in_table_factor_table5207_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(0x0028000040001008), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000001000) };
static  ANTLR3_BITSET_LIST FOLLOW_use_partition_in_table_factor_table5207	= { FOLLOW_use_partition_in_table_factor_table5207_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_alias_in_table_factor_table5210  */
static	ANTLR3_BITWORD FOLLOW_table_alias_in_table_factor_table5210_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0020000040000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000001000) };
static  ANTLR3_BITSET_LIST FOLLOW_table_alias_in_table_factor_table5210	= { FOLLOW_table_alias_in_table_factor_table5210_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_index_hint_list_in_table_factor_table5213  */
static	ANTLR3_BITWORD FOLLOW_index_hint_list_in_table_factor_table5213_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_index_hint_list_in_table_factor_table5213	= { FOLLOW_index_hint_list_in_table_factor_table5213_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_JOIN_SYMBOL_in_join_table5232  */
static	ANTLR3_BITWORD FOLLOW_JOIN_SYMBOL_in_join_table5232_bits[]	= { ANTLR3_UINT64_LIT(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(0x000800000000000A), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_JOIN_SYMBOL_in_join_table5232	= { FOLLOW_JOIN_SYMBOL_in_join_table5232_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_reference_in_join_table5234  */
static	ANTLR3_BITWORD FOLLOW_table_reference_in_join_table5234_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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(0x0000000000002000) };
static  ANTLR3_BITSET_LIST FOLLOW_table_reference_in_join_table5234	= { FOLLOW_table_reference_in_join_table5234_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_join_condition_in_join_table5248  */
static	ANTLR3_BITWORD FOLLOW_join_condition_in_join_table5248_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_join_condition_in_join_table5248	= { FOLLOW_join_condition_in_join_table5248_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_STRAIGHT_JOIN_SYMBOL_in_join_table5255  */
static	ANTLR3_BITWORD FOLLOW_STRAIGHT_JOIN_SYMBOL_in_join_table5255_bits[]	= { ANTLR3_UINT64_LIT(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(0x000800000000000A), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_STRAIGHT_JOIN_SYMBOL_in_join_table5255	= { FOLLOW_STRAIGHT_JOIN_SYMBOL_in_join_table5255_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_factor_in_join_table5257  */
static	ANTLR3_BITWORD FOLLOW_table_factor_in_join_table5257_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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) };
static  ANTLR3_BITSET_LIST FOLLOW_table_factor_in_join_table5257	= { FOLLOW_table_factor_in_join_table5257_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ON_SYMBOL_in_join_table5271  */
static	ANTLR3_BITWORD FOLLOW_ON_SYMBOL_in_join_table5271_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C056484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_ON_SYMBOL_in_join_table5271	= { FOLLOW_ON_SYMBOL_in_join_table5271_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_join_table5273  */
static	ANTLR3_BITWORD FOLLOW_expression_in_join_table5273_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_join_table5273	= { FOLLOW_expression_in_join_table5273_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_join_table5280  */
static	ANTLR3_BITWORD FOLLOW_set_in_join_table5280_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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), ANTLR3_UINT64_LIT(0x0000000200000000) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_join_table5280	= { FOLLOW_set_in_join_table5280_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OUTER_SYMBOL_in_join_table5288  */
static	ANTLR3_BITWORD FOLLOW_OUTER_SYMBOL_in_join_table5288_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_OUTER_SYMBOL_in_join_table5288	= { FOLLOW_OUTER_SYMBOL_in_join_table5288_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_JOIN_SYMBOL_in_join_table5291  */
static	ANTLR3_BITWORD FOLLOW_JOIN_SYMBOL_in_join_table5291_bits[]	= { ANTLR3_UINT64_LIT(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(0x000800000000000A), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_JOIN_SYMBOL_in_join_table5291	= { FOLLOW_JOIN_SYMBOL_in_join_table5291_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_reference_in_join_table5293  */
static	ANTLR3_BITWORD FOLLOW_table_reference_in_join_table5293_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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(0x0000000000002000) };
static  ANTLR3_BITSET_LIST FOLLOW_table_reference_in_join_table5293	= { FOLLOW_table_reference_in_join_table5293_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_join_condition_in_join_table5295  */
static	ANTLR3_BITWORD FOLLOW_join_condition_in_join_table5295_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_join_condition_in_join_table5295	= { FOLLOW_join_condition_in_join_table5295_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_NATURAL_SYMBOL_in_join_table5300  */
static	ANTLR3_BITWORD FOLLOW_NATURAL_SYMBOL_in_join_table5300_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000804000), ANTLR3_UINT64_LIT(0x8000000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_NATURAL_SYMBOL_in_join_table5300	= { FOLLOW_NATURAL_SYMBOL_in_join_table5300_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_join_table5303  */
static	ANTLR3_BITWORD FOLLOW_set_in_join_table5303_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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), ANTLR3_UINT64_LIT(0x0000000200000000) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_join_table5303	= { FOLLOW_set_in_join_table5303_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OUTER_SYMBOL_in_join_table5311  */
static	ANTLR3_BITWORD FOLLOW_OUTER_SYMBOL_in_join_table5311_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_OUTER_SYMBOL_in_join_table5311	= { FOLLOW_OUTER_SYMBOL_in_join_table5311_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_JOIN_SYMBOL_in_join_table5316  */
static	ANTLR3_BITWORD FOLLOW_JOIN_SYMBOL_in_join_table5316_bits[]	= { ANTLR3_UINT64_LIT(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(0x000800000000000A), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_JOIN_SYMBOL_in_join_table5316	= { FOLLOW_JOIN_SYMBOL_in_join_table5316_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_factor_in_join_table5318  */
static	ANTLR3_BITWORD FOLLOW_table_factor_in_join_table5318_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_table_factor_in_join_table5318	= { FOLLOW_table_factor_in_join_table5318_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ON_SYMBOL_in_join_condition5327  */
static	ANTLR3_BITWORD FOLLOW_ON_SYMBOL_in_join_condition5327_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C056484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_ON_SYMBOL_in_join_condition5327	= { FOLLOW_ON_SYMBOL_in_join_condition5327_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_join_condition5329  */
static	ANTLR3_BITWORD FOLLOW_expression_in_join_condition5329_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_join_condition5329	= { FOLLOW_expression_in_join_condition5329_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_USING_SYMBOL_in_join_condition5334  */
static	ANTLR3_BITWORD FOLLOW_USING_SYMBOL_in_join_condition5334_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_USING_SYMBOL_in_join_condition5334	= { FOLLOW_USING_SYMBOL_in_join_condition5334_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_list_with_parentheses_in_join_condition5336  */
static	ANTLR3_BITWORD FOLLOW_identifier_list_with_parentheses_in_join_condition5336_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_list_with_parentheses_in_join_condition5336	= { FOLLOW_identifier_list_with_parentheses_in_join_condition5336_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_UNION_SYMBOL_in_union_clause5346  */
static	ANTLR3_BITWORD FOLLOW_UNION_SYMBOL_in_union_clause5346_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(0x0000000008000000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_UNION_SYMBOL_in_union_clause5346	= { FOLLOW_UNION_SYMBOL_in_union_clause5346_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_union_option_in_union_clause5349  */
static	ANTLR3_BITWORD FOLLOW_union_option_in_union_clause5349_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_union_option_in_union_clause5349	= { FOLLOW_union_option_in_union_clause5349_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_select_statement_in_union_clause5352  */
static	ANTLR3_BITWORD FOLLOW_select_statement_in_union_clause5352_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_select_statement_in_union_clause5352	= { FOLLOW_select_statement_in_union_clause5352_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_union_clause_in_union_or_order_by_or_limit5376  */
static	ANTLR3_BITWORD FOLLOW_union_clause_in_union_or_order_by_or_limit5376_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_union_clause_in_union_or_order_by_or_limit5376	= { FOLLOW_union_clause_in_union_or_order_by_or_limit5376_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_order_by_clause_in_union_or_order_by_or_limit5381  */
static	ANTLR3_BITWORD FOLLOW_order_by_clause_in_union_or_order_by_or_limit5381_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_order_by_clause_in_union_or_order_by_or_limit5381	= { FOLLOW_order_by_clause_in_union_or_order_by_or_limit5381_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_limit_clause_in_union_or_order_by_or_limit5383  */
static	ANTLR3_BITWORD FOLLOW_limit_clause_in_union_or_order_by_or_limit5383_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_limit_clause_in_union_or_order_by_or_limit5383	= { FOLLOW_limit_clause_in_union_or_order_by_or_limit5383_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_limit_clause_in_union_or_order_by_or_limit5389  */
static	ANTLR3_BITWORD FOLLOW_limit_clause_in_union_or_order_by_or_limit5389_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_limit_clause_in_union_or_order_by_or_limit5389	= { FOLLOW_limit_clause_in_union_or_order_by_or_limit5389_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FOR_SYMBOL_in_select_lock_type5398  */
static	ANTLR3_BITWORD FOLLOW_FOR_SYMBOL_in_select_lock_type5398_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_FOR_SYMBOL_in_select_lock_type5398	= { FOLLOW_FOR_SYMBOL_in_select_lock_type5398_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_UPDATE_SYMBOL_in_select_lock_type5400  */
static	ANTLR3_BITWORD FOLLOW_UPDATE_SYMBOL_in_select_lock_type5400_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_UPDATE_SYMBOL_in_select_lock_type5400	= { FOLLOW_UPDATE_SYMBOL_in_select_lock_type5400_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_LOCK_SYMBOL_in_select_lock_type5405  */
static	ANTLR3_BITWORD FOLLOW_LOCK_SYMBOL_in_select_lock_type5405_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_LOCK_SYMBOL_in_select_lock_type5405	= { FOLLOW_LOCK_SYMBOL_in_select_lock_type5405_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_IN_SYMBOL_in_select_lock_type5407  */
static	ANTLR3_BITWORD FOLLOW_IN_SYMBOL_in_select_lock_type5407_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_type5407	= { FOLLOW_IN_SYMBOL_in_select_lock_type5407_bits, 4	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SHARE_SYMBOL_in_select_lock_type5409  */
static	ANTLR3_BITWORD FOLLOW_SHARE_SYMBOL_in_select_lock_type5409_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_SHARE_SYMBOL_in_select_lock_type5409	= { FOLLOW_SHARE_SYMBOL_in_select_lock_type5409_bits, 3	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MODE_SYMBOL_in_select_lock_type5411  */
static	ANTLR3_BITWORD FOLLOW_MODE_SYMBOL_in_select_lock_type5411_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_MODE_SYMBOL_in_select_lock_type5411	= { FOLLOW_MODE_SYMBOL_in_select_lock_type5411_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_table_alias5429  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_table_alias5429_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_table_alias5429	= { FOLLOW_identifier_in_table_alias5429_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_index_hint_in_index_hint_list5438  */
static	ANTLR3_BITWORD FOLLOW_index_hint_in_index_hint_list5438_bits[]	= { ANTLR3_UINT64_LIT(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_list5438	= { FOLLOW_index_hint_in_index_hint_list5438_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_index_hint_list5441  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_index_hint_list5441_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0020000040000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000001000) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_index_hint_list5441	= { FOLLOW_COMMA_SYMBOL_in_index_hint_list5441_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_index_hint_in_index_hint_list5443  */
static	ANTLR3_BITWORD FOLLOW_index_hint_in_index_hint_list5443_bits[]	= { ANTLR3_UINT64_LIT(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_list5443	= { FOLLOW_index_hint_in_index_hint_list5443_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_index_hint_type_in_index_hint5469  */
static	ANTLR3_BITWORD FOLLOW_index_hint_type_in_index_hint5469_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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(0x0000000000040000) };
static  ANTLR3_BITSET_LIST FOLLOW_index_hint_type_in_index_hint5469	= { FOLLOW_index_hint_type_in_index_hint5469_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_key_or_index_in_index_hint5471  */
static	ANTLR3_BITWORD FOLLOW_key_or_index_in_index_hint5471_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_key_or_index_in_index_hint5471	= { FOLLOW_key_or_index_in_index_hint5471_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_index_hint_clause_in_index_hint5473  */
static	ANTLR3_BITWORD FOLLOW_index_hint_clause_in_index_hint5473_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_index_hint_clause_in_index_hint5473	= { FOLLOW_index_hint_clause_in_index_hint5473_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_index_hint5476  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_index_hint5476_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000080000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_index_hint5476	= { FOLLOW_OPEN_PAR_SYMBOL_in_index_hint5476_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_index_list_in_index_hint5478  */
static	ANTLR3_BITWORD FOLLOW_index_list_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(0x0000000000010000) };
static  ANTLR3_BITSET_LIST FOLLOW_index_list_in_index_hint5478	= { FOLLOW_index_list_in_index_hint5478_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_index_hint5480  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_index_hint5480_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_index_hint5480	= { FOLLOW_CLOSE_PAR_SYMBOL_in_index_hint5480_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_USE_SYMBOL_in_index_hint5485  */
static	ANTLR3_BITWORD FOLLOW_USE_SYMBOL_in_index_hint5485_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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(0x0000000000040000) };
static  ANTLR3_BITSET_LIST FOLLOW_USE_SYMBOL_in_index_hint5485	= { FOLLOW_USE_SYMBOL_in_index_hint5485_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_key_or_index_in_index_hint5487  */
static	ANTLR3_BITWORD FOLLOW_key_or_index_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(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_key_or_index_in_index_hint5487	= { FOLLOW_key_or_index_in_index_hint5487_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_index_hint_clause_in_index_hint5489  */
static	ANTLR3_BITWORD FOLLOW_index_hint_clause_in_index_hint5489_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_index_hint_clause_in_index_hint5489	= { FOLLOW_index_hint_clause_in_index_hint5489_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_index_hint5492  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_index_hint5492_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000080000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_index_hint5492	= { FOLLOW_OPEN_PAR_SYMBOL_in_index_hint5492_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_index_list_in_index_hint5494  */
static	ANTLR3_BITWORD FOLLOW_index_list_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(0x0000000000010000) };
static  ANTLR3_BITSET_LIST FOLLOW_index_list_in_index_hint5494	= { FOLLOW_index_list_in_index_hint5494_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_index_hint5497  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_index_hint5497_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_index_hint5497	= { FOLLOW_CLOSE_PAR_SYMBOL_in_index_hint5497_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FOR_SYMBOL_in_index_hint_clause5533  */
static	ANTLR3_BITWORD FOLLOW_FOR_SYMBOL_in_index_hint_clause5533_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000040000000000), ANTLR3_UINT64_LIT(0x0000000000004000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_FOR_SYMBOL_in_index_hint_clause5533	= { FOLLOW_FOR_SYMBOL_in_index_hint_clause5533_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_JOIN_SYMBOL_in_index_hint_clause5536  */
static	ANTLR3_BITWORD FOLLOW_JOIN_SYMBOL_in_index_hint_clause5536_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_JOIN_SYMBOL_in_index_hint_clause5536	= { FOLLOW_JOIN_SYMBOL_in_index_hint_clause5536_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ORDER_SYMBOL_in_index_hint_clause5540  */
static	ANTLR3_BITWORD FOLLOW_ORDER_SYMBOL_in_index_hint_clause5540_bits[]	= { ANTLR3_UINT64_LIT(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_clause5540	= { FOLLOW_ORDER_SYMBOL_in_index_hint_clause5540_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BY_SYMBOL_in_index_hint_clause5542  */
static	ANTLR3_BITWORD FOLLOW_BY_SYMBOL_in_index_hint_clause5542_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_BY_SYMBOL_in_index_hint_clause5542	= { FOLLOW_BY_SYMBOL_in_index_hint_clause5542_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_GROUP_SYMBOL_in_index_hint_clause5546  */
static	ANTLR3_BITWORD FOLLOW_GROUP_SYMBOL_in_index_hint_clause5546_bits[]	= { ANTLR3_UINT64_LIT(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_clause5546	= { FOLLOW_GROUP_SYMBOL_in_index_hint_clause5546_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BY_SYMBOL_in_index_hint_clause5548  */
static	ANTLR3_BITWORD FOLLOW_BY_SYMBOL_in_index_hint_clause5548_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_BY_SYMBOL_in_index_hint_clause5548	= { FOLLOW_BY_SYMBOL_in_index_hint_clause5548_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_index_list_element_in_index_list5558  */
static	ANTLR3_BITWORD FOLLOW_index_list_element_in_index_list5558_bits[]	= { ANTLR3_UINT64_LIT(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_list5558	= { FOLLOW_index_list_element_in_index_list5558_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_index_list5561  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_index_list5561_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000080000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_index_list5561	= { FOLLOW_COMMA_SYMBOL_in_index_list5561_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_index_list_element_in_index_list5563  */
static	ANTLR3_BITWORD FOLLOW_index_list_element_in_index_list5563_bits[]	= { ANTLR3_UINT64_LIT(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_list5563	= { FOLLOW_index_list_element_in_index_list5563_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_index_list_element5574  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_index_list_element5574_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_index_list_element5574	= { FOLLOW_identifier_in_index_list_element5574_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PRIMARY_SYMBOL_in_index_list_element5579  */
static	ANTLR3_BITWORD FOLLOW_PRIMARY_SYMBOL_in_index_list_element5579_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_PRIMARY_SYMBOL_in_index_list_element5579	= { FOLLOW_PRIMARY_SYMBOL_in_index_list_element5579_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_UPDATE_SYMBOL_in_update_statement5590  */
static	ANTLR3_BITWORD FOLLOW_UPDATE_SYMBOL_in_update_statement5590_bits[]	= { ANTLR3_UINT64_LIT(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(0x002800000000000A), ANTLR3_UINT64_LIT(0x0000800000000000), ANTLR3_UINT64_LIT(0x000000000C000000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_UPDATE_SYMBOL_in_update_statement5590	= { FOLLOW_UPDATE_SYMBOL_in_update_statement5590_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_LOW_PRIORITY_SYMBOL_in_update_statement5593  */
static	ANTLR3_BITWORD FOLLOW_LOW_PRIORITY_SYMBOL_in_update_statement5593_bits[]	= { ANTLR3_UINT64_LIT(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(0x002800000000000A), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x000000000C000000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_LOW_PRIORITY_SYMBOL_in_update_statement5593	= { FOLLOW_LOW_PRIORITY_SYMBOL_in_update_statement5593_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_IGNORE_SYMBOL_in_update_statement5596  */
static	ANTLR3_BITWORD FOLLOW_IGNORE_SYMBOL_in_update_statement5596_bits[]	= { ANTLR3_UINT64_LIT(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(0x000800000000000A), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x000000000C000000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_IGNORE_SYMBOL_in_update_statement5596	= { FOLLOW_IGNORE_SYMBOL_in_update_statement5596_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_references_in_update_statement5599  */
static	ANTLR3_BITWORD FOLLOW_table_references_in_update_statement5599_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_table_references_in_update_statement5599	= { FOLLOW_table_references_in_update_statement5599_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SET_SYMBOL_in_update_statement5603  */
static	ANTLR3_BITWORD FOLLOW_SET_SYMBOL_in_update_statement5603_bits[]	= { ANTLR3_UINT64_LIT(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(0x000800000000000A) };
static  ANTLR3_BITSET_LIST FOLLOW_SET_SYMBOL_in_update_statement5603	= { FOLLOW_SET_SYMBOL_in_update_statement5603_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_column_assignment_list_with_default_in_update_statement5605  */
static	ANTLR3_BITWORD FOLLOW_column_assignment_list_with_default_in_update_statement5605_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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(0x0000000080000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_column_assignment_list_with_default_in_update_statement5605	= { FOLLOW_column_assignment_list_with_default_in_update_statement5605_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_where_clause_in_update_statement5607  */
static	ANTLR3_BITWORD FOLLOW_where_clause_in_update_statement5607_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_where_clause_in_update_statement5607	= { FOLLOW_where_clause_in_update_statement5607_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_order_by_clause_in_update_statement5610  */
static	ANTLR3_BITWORD FOLLOW_order_by_clause_in_update_statement5610_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_order_by_clause_in_update_statement5610	= { FOLLOW_order_by_clause_in_update_statement5610_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_limit_clause_in_update_statement5613  */
static	ANTLR3_BITWORD FOLLOW_limit_clause_in_update_statement5613_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_limit_clause_in_update_statement5613	= { FOLLOW_limit_clause_in_update_statement5613_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_transaction_statement_in_transaction_or_locking_statement5625  */
static	ANTLR3_BITWORD FOLLOW_transaction_statement_in_transaction_or_locking_statement5625_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_transaction_statement_in_transaction_or_locking_statement5625	= { FOLLOW_transaction_statement_in_transaction_or_locking_statement5625_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_savepoint_statement_in_transaction_or_locking_statement5630  */
static	ANTLR3_BITWORD FOLLOW_savepoint_statement_in_transaction_or_locking_statement5630_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_savepoint_statement_in_transaction_or_locking_statement5630	= { FOLLOW_savepoint_statement_in_transaction_or_locking_statement5630_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_lock_statement_in_transaction_or_locking_statement5635  */
static	ANTLR3_BITWORD FOLLOW_lock_statement_in_transaction_or_locking_statement5635_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_lock_statement_in_transaction_or_locking_statement5635	= { FOLLOW_lock_statement_in_transaction_or_locking_statement5635_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_xa_statement_in_transaction_or_locking_statement5640  */
static	ANTLR3_BITWORD FOLLOW_xa_statement_in_transaction_or_locking_statement5640_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_xa_statement_in_transaction_or_locking_statement5640	= { FOLLOW_xa_statement_in_transaction_or_locking_statement5640_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_START_SYMBOL_in_transaction_statement5649  */
static	ANTLR3_BITWORD FOLLOW_START_SYMBOL_in_transaction_statement5649_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_statement5649	= { FOLLOW_START_SYMBOL_in_transaction_statement5649_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TRANSACTION_SYMBOL_in_transaction_statement5652  */
static	ANTLR3_BITWORD FOLLOW_TRANSACTION_SYMBOL_in_transaction_statement5652_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0002000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000800000000) };
static  ANTLR3_BITSET_LIST FOLLOW_TRANSACTION_SYMBOL_in_transaction_statement5652	= { FOLLOW_TRANSACTION_SYMBOL_in_transaction_statement5652_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_transaction_characteristic_in_transaction_statement5654  */
static	ANTLR3_BITWORD FOLLOW_transaction_characteristic_in_transaction_statement5654_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0002000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000800000000) };
static  ANTLR3_BITSET_LIST FOLLOW_transaction_characteristic_in_transaction_statement5654	= { FOLLOW_transaction_characteristic_in_transaction_statement5654_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BEGIN_SYMBOL_in_transaction_statement5660  */
static	ANTLR3_BITWORD FOLLOW_BEGIN_SYMBOL_in_transaction_statement5660_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_statement5660	= { FOLLOW_BEGIN_SYMBOL_in_transaction_statement5660_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_WORK_SYMBOL_in_transaction_statement5663  */
static	ANTLR3_BITWORD FOLLOW_WORK_SYMBOL_in_transaction_statement5663_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_WORK_SYMBOL_in_transaction_statement5663	= { FOLLOW_WORK_SYMBOL_in_transaction_statement5663_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMIT_SYMBOL_in_transaction_statement5669  */
static	ANTLR3_BITWORD FOLLOW_COMMIT_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), ANTLR3_UINT64_LIT(0x0000040000000100), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0040000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMIT_SYMBOL_in_transaction_statement5669	= { FOLLOW_COMMIT_SYMBOL_in_transaction_statement5669_bits, 10	};
/** 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), 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(0x0040000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_WORK_SYMBOL_in_transaction_statement5672	= { FOLLOW_WORK_SYMBOL_in_transaction_statement5672_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_AND_SYMBOL_in_transaction_statement5676  */
static	ANTLR3_BITWORD FOLLOW_AND_SYMBOL_in_transaction_statement5676_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_statement5676	= { FOLLOW_AND_SYMBOL_in_transaction_statement5676_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_NO_SYMBOL_in_transaction_statement5678  */
static	ANTLR3_BITWORD FOLLOW_NO_SYMBOL_in_transaction_statement5678_bits[]	= { ANTLR3_UINT64_LIT(0x0000000004000000) };
static  ANTLR3_BITSET_LIST FOLLOW_NO_SYMBOL_in_transaction_statement5678	= { FOLLOW_NO_SYMBOL_in_transaction_statement5678_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CHAIN_SYMBOL_in_transaction_statement5681  */
static	ANTLR3_BITWORD FOLLOW_CHAIN_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(0x0000000000000100), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0040000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_CHAIN_SYMBOL_in_transaction_statement5681	= { FOLLOW_CHAIN_SYMBOL_in_transaction_statement5681_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_NO_SYMBOL_in_transaction_statement5686  */
static	ANTLR3_BITWORD FOLLOW_NO_SYMBOL_in_transaction_statement5686_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_NO_SYMBOL_in_transaction_statement5686	= { FOLLOW_NO_SYMBOL_in_transaction_statement5686_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_RELEASE_SYMBOL_in_transaction_statement5689  */
static	ANTLR3_BITWORD FOLLOW_RELEASE_SYMBOL_in_transaction_statement5689_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_RELEASE_SYMBOL_in_transaction_statement5689	= { FOLLOW_RELEASE_SYMBOL_in_transaction_statement5689_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ROLLBACK_SYMBOL_in_transaction_statement5696  */
static	ANTLR3_BITWORD FOLLOW_ROLLBACK_SYMBOL_in_transaction_statement5696_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(0x0040000000000000), ANTLR3_UINT64_LIT(0x2000000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_ROLLBACK_SYMBOL_in_transaction_statement5696	= { FOLLOW_ROLLBACK_SYMBOL_in_transaction_statement5696_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_WORK_SYMBOL_in_transaction_statement5699  */
static	ANTLR3_BITWORD FOLLOW_WORK_SYMBOL_in_transaction_statement5699_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(0x0040000000000000), ANTLR3_UINT64_LIT(0x2000000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_WORK_SYMBOL_in_transaction_statement5699	= { FOLLOW_WORK_SYMBOL_in_transaction_statement5699_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_AND_SYMBOL_in_transaction_statement5710  */
static	ANTLR3_BITWORD FOLLOW_AND_SYMBOL_in_transaction_statement5710_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_statement5710	= { FOLLOW_AND_SYMBOL_in_transaction_statement5710_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_NO_SYMBOL_in_transaction_statement5712  */
static	ANTLR3_BITWORD FOLLOW_NO_SYMBOL_in_transaction_statement5712_bits[]	= { ANTLR3_UINT64_LIT(0x0000000004000000) };
static  ANTLR3_BITSET_LIST FOLLOW_NO_SYMBOL_in_transaction_statement5712	= { FOLLOW_NO_SYMBOL_in_transaction_statement5712_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CHAIN_SYMBOL_in_transaction_statement5715  */
static	ANTLR3_BITWORD FOLLOW_CHAIN_SYMBOL_in_transaction_statement5715_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(0x0040000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_CHAIN_SYMBOL_in_transaction_statement5715	= { FOLLOW_CHAIN_SYMBOL_in_transaction_statement5715_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_NO_SYMBOL_in_transaction_statement5720  */
static	ANTLR3_BITWORD FOLLOW_NO_SYMBOL_in_transaction_statement5720_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_NO_SYMBOL_in_transaction_statement5720	= { FOLLOW_NO_SYMBOL_in_transaction_statement5720_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_RELEASE_SYMBOL_in_transaction_statement5723  */
static	ANTLR3_BITWORD FOLLOW_RELEASE_SYMBOL_in_transaction_statement5723_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_RELEASE_SYMBOL_in_transaction_statement5723	= { FOLLOW_RELEASE_SYMBOL_in_transaction_statement5723_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TO_SYMBOL_in_transaction_statement5732  */
static	ANTLR3_BITWORD FOLLOW_TO_SYMBOL_in_transaction_statement5732_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_TO_SYMBOL_in_transaction_statement5732	= { FOLLOW_TO_SYMBOL_in_transaction_statement5732_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SAVEPOINT_SYMBOL_in_transaction_statement5734  */
static	ANTLR3_BITWORD FOLLOW_SAVEPOINT_SYMBOL_in_transaction_statement5734_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_SAVEPOINT_SYMBOL_in_transaction_statement5734	= { FOLLOW_SAVEPOINT_SYMBOL_in_transaction_statement5734_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_transaction_statement5737  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_transaction_statement5737_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_transaction_statement5737	= { FOLLOW_identifier_in_transaction_statement5737_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_WITH_SYMBOL_in_transaction_characteristic5757  */
static	ANTLR3_BITWORD FOLLOW_WITH_SYMBOL_in_transaction_characteristic5757_bits[]	= { ANTLR3_UINT64_LIT(0x0000080000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_WITH_SYMBOL_in_transaction_characteristic5757	= { FOLLOW_WITH_SYMBOL_in_transaction_characteristic5757_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CONSISTENT_SYMBOL_in_transaction_characteristic5759  */
static	ANTLR3_BITWORD FOLLOW_CONSISTENT_SYMBOL_in_transaction_characteristic5759_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_characteristic5759	= { FOLLOW_CONSISTENT_SYMBOL_in_transaction_characteristic5759_bits, 4	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SNAPSHOT_SYMBOL_in_transaction_characteristic5761  */
static	ANTLR3_BITWORD FOLLOW_SNAPSHOT_SYMBOL_in_transaction_characteristic5761_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_SNAPSHOT_SYMBOL_in_transaction_characteristic5761	= { FOLLOW_SNAPSHOT_SYMBOL_in_transaction_characteristic5761_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_READ_SYMBOL_in_transaction_characteristic5770  */
static	ANTLR3_BITWORD FOLLOW_READ_SYMBOL_in_transaction_characteristic5770_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000001000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_READ_SYMBOL_in_transaction_characteristic5770	= { FOLLOW_READ_SYMBOL_in_transaction_characteristic5770_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_transaction_characteristic5772  */
static	ANTLR3_BITWORD FOLLOW_set_in_transaction_characteristic5772_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_transaction_characteristic5772	= { FOLLOW_set_in_transaction_characteristic5772_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ISOLATION_SYMBOL_in_set_transaction_characteristic5787  */
static	ANTLR3_BITWORD FOLLOW_ISOLATION_SYMBOL_in_set_transaction_characteristic5787_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0040000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_ISOLATION_SYMBOL_in_set_transaction_characteristic5787	= { FOLLOW_ISOLATION_SYMBOL_in_set_transaction_characteristic5787_bits, 2	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_LEVEL_SYMBOL_in_set_transaction_characteristic5789  */
static	ANTLR3_BITWORD FOLLOW_LEVEL_SYMBOL_in_set_transaction_characteristic5789_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(0x0002000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_LEVEL_SYMBOL_in_set_transaction_characteristic5789	= { FOLLOW_LEVEL_SYMBOL_in_set_transaction_characteristic5789_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_isolation_level_in_set_transaction_characteristic5791  */
static	ANTLR3_BITWORD FOLLOW_isolation_level_in_set_transaction_characteristic5791_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_isolation_level_in_set_transaction_characteristic5791	= { FOLLOW_isolation_level_in_set_transaction_characteristic5791_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_READ_SYMBOL_in_set_transaction_characteristic5800  */
static	ANTLR3_BITWORD FOLLOW_READ_SYMBOL_in_set_transaction_characteristic5800_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000001000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_READ_SYMBOL_in_set_transaction_characteristic5800	= { FOLLOW_READ_SYMBOL_in_set_transaction_characteristic5800_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_set_transaction_characteristic5802  */
static	ANTLR3_BITWORD FOLLOW_set_in_set_transaction_characteristic5802_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_set_transaction_characteristic5802	= { FOLLOW_set_in_set_transaction_characteristic5802_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_REPEATABLE_SYMBOL_in_isolation_level5817  */
static	ANTLR3_BITWORD FOLLOW_REPEATABLE_SYMBOL_in_isolation_level5817_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0002000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_REPEATABLE_SYMBOL_in_isolation_level5817	= { FOLLOW_REPEATABLE_SYMBOL_in_isolation_level5817_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_READ_SYMBOL_in_isolation_level5819  */
static	ANTLR3_BITWORD FOLLOW_READ_SYMBOL_in_isolation_level5819_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_READ_SYMBOL_in_isolation_level5819	= { FOLLOW_READ_SYMBOL_in_isolation_level5819_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_READ_SYMBOL_in_isolation_level5824  */
static	ANTLR3_BITWORD FOLLOW_READ_SYMBOL_in_isolation_level5824_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_level5824	= { FOLLOW_READ_SYMBOL_in_isolation_level5824_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_isolation_level5826  */
static	ANTLR3_BITWORD FOLLOW_set_in_isolation_level5826_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_isolation_level5826	= { FOLLOW_set_in_isolation_level5826_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SERIALIZABLE_SYMBOL_in_isolation_level5837  */
static	ANTLR3_BITWORD FOLLOW_SERIALIZABLE_SYMBOL_in_isolation_level5837_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_SERIALIZABLE_SYMBOL_in_isolation_level5837	= { FOLLOW_SERIALIZABLE_SYMBOL_in_isolation_level5837_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SAVEPOINT_SYMBOL_in_savepoint_statement5846  */
static	ANTLR3_BITWORD FOLLOW_SAVEPOINT_SYMBOL_in_savepoint_statement5846_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_SAVEPOINT_SYMBOL_in_savepoint_statement5846	= { FOLLOW_SAVEPOINT_SYMBOL_in_savepoint_statement5846_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_savepoint_statement5849  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_savepoint_statement5849_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_savepoint_statement5849	= { FOLLOW_identifier_in_savepoint_statement5849_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_RELEASE_SYMBOL_in_savepoint_statement5854  */
static	ANTLR3_BITWORD FOLLOW_RELEASE_SYMBOL_in_savepoint_statement5854_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_statement5854	= { FOLLOW_RELEASE_SYMBOL_in_savepoint_statement5854_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SAVEPOINT_SYMBOL_in_savepoint_statement5857  */
static	ANTLR3_BITWORD FOLLOW_SAVEPOINT_SYMBOL_in_savepoint_statement5857_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_SAVEPOINT_SYMBOL_in_savepoint_statement5857	= { FOLLOW_SAVEPOINT_SYMBOL_in_savepoint_statement5857_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_savepoint_statement5859  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_savepoint_statement5859_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_savepoint_statement5859	= { FOLLOW_identifier_in_savepoint_statement5859_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_LOCK_SYMBOL_in_lock_statement5868  */
static	ANTLR3_BITWORD FOLLOW_LOCK_SYMBOL_in_lock_statement5868_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(0x0080000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_LOCK_SYMBOL_in_lock_statement5868	= { FOLLOW_LOCK_SYMBOL_in_lock_statement5868_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_lock_statement5871  */
static	ANTLR3_BITWORD FOLLOW_set_in_lock_statement5871_bits[]	= { ANTLR3_UINT64_LIT(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(0x000800000000000A) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_lock_statement5871	= { FOLLOW_set_in_lock_statement5871_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_lock_item_in_lock_statement5879  */
static	ANTLR3_BITWORD FOLLOW_lock_item_in_lock_statement5879_bits[]	= { ANTLR3_UINT64_LIT(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_statement5879	= { FOLLOW_lock_item_in_lock_statement5879_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_lock_statement5882  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_lock_statement5882_bits[]	= { ANTLR3_UINT64_LIT(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(0x000800000000000A) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_lock_statement5882	= { FOLLOW_COMMA_SYMBOL_in_lock_statement5882_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_lock_item_in_lock_statement5884  */
static	ANTLR3_BITWORD FOLLOW_lock_item_in_lock_statement5884_bits[]	= { ANTLR3_UINT64_LIT(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_statement5884	= { FOLLOW_lock_item_in_lock_statement5884_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_UNLOCK_SYMBOL_in_lock_statement5891  */
static	ANTLR3_BITWORD FOLLOW_UNLOCK_SYMBOL_in_lock_statement5891_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(0x0080000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_UNLOCK_SYMBOL_in_lock_statement5891	= { FOLLOW_UNLOCK_SYMBOL_in_lock_statement5891_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_lock_statement5894  */
static	ANTLR3_BITWORD FOLLOW_set_in_lock_statement5894_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_lock_statement5894	= { FOLLOW_set_in_lock_statement5894_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_identifier_in_lock_item5909  */
static	ANTLR3_BITWORD FOLLOW_table_identifier_in_lock_item5909_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(0x0008000000001008), ANTLR3_UINT64_LIT(0x0000800000000000), ANTLR3_UINT64_LIT(0x0002000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000001000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_table_identifier_in_lock_item5909	= { FOLLOW_table_identifier_in_lock_item5909_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_alias_in_lock_item5911  */
static	ANTLR3_BITWORD FOLLOW_table_alias_in_lock_item5911_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000800000000000), ANTLR3_UINT64_LIT(0x0002000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000001000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_table_alias_in_lock_item5911	= { FOLLOW_table_alias_in_lock_item5911_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_lock_type_in_lock_item5914  */
static	ANTLR3_BITWORD FOLLOW_lock_type_in_lock_item5914_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_lock_type_in_lock_item5914	= { FOLLOW_lock_type_in_lock_item5914_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_READ_SYMBOL_in_lock_type5923  */
static	ANTLR3_BITWORD FOLLOW_READ_SYMBOL_in_lock_type5923_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0200000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_READ_SYMBOL_in_lock_type5923	= { FOLLOW_READ_SYMBOL_in_lock_type5923_bits, 2	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_LOCAL_SYMBOL_in_lock_type5925  */
static	ANTLR3_BITWORD FOLLOW_LOCAL_SYMBOL_in_lock_type5925_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_LOCAL_SYMBOL_in_lock_type5925	= { FOLLOW_LOCAL_SYMBOL_in_lock_type5925_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_LOW_PRIORITY_SYMBOL_in_lock_type5931  */
static	ANTLR3_BITWORD FOLLOW_LOW_PRIORITY_SYMBOL_in_lock_type5931_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_LOW_PRIORITY_SYMBOL_in_lock_type5931	= { FOLLOW_LOW_PRIORITY_SYMBOL_in_lock_type5931_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_WRITE_SYMBOL_in_lock_type5934  */
static	ANTLR3_BITWORD FOLLOW_WRITE_SYMBOL_in_lock_type5934_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_WRITE_SYMBOL_in_lock_type5934	= { FOLLOW_WRITE_SYMBOL_in_lock_type5934_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_XA_SYMBOL_in_xa_statement5943  */
static	ANTLR3_BITWORD FOLLOW_XA_SYMBOL_in_xa_statement5943_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_statement5943	= { FOLLOW_XA_SYMBOL_in_xa_statement5943_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_xa_statement5953  */
static	ANTLR3_BITWORD FOLLOW_set_in_xa_statement5953_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_xa_statement5953	= { FOLLOW_set_in_xa_statement5953_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_xid_in_xa_statement5961  */
static	ANTLR3_BITWORD FOLLOW_xid_in_xa_statement5961_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(0x0000000000004000) };
static  ANTLR3_BITSET_LIST FOLLOW_xid_in_xa_statement5961	= { FOLLOW_xid_in_xa_statement5961_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_END_SYMBOL_in_xa_statement5977  */
static	ANTLR3_BITWORD FOLLOW_END_SYMBOL_in_xa_statement5977_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_END_SYMBOL_in_xa_statement5977	= { FOLLOW_END_SYMBOL_in_xa_statement5977_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_xid_in_xa_statement5979  */
static	ANTLR3_BITWORD FOLLOW_xid_in_xa_statement5979_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_statement5979	= { FOLLOW_xid_in_xa_statement5979_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SUSPEND_SYMBOL_in_xa_statement5982  */
static	ANTLR3_BITWORD FOLLOW_SUSPEND_SYMBOL_in_xa_statement5982_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(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_SUSPEND_SYMBOL_in_xa_statement5982	= { FOLLOW_SUSPEND_SYMBOL_in_xa_statement5982_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FOR_SYMBOL_in_xa_statement5985  */
static	ANTLR3_BITWORD FOLLOW_FOR_SYMBOL_in_xa_statement5985_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000020000000) };
static  ANTLR3_BITSET_LIST FOLLOW_FOR_SYMBOL_in_xa_statement5985	= { FOLLOW_FOR_SYMBOL_in_xa_statement5985_bits, 3	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MIGRATE_SYMBOL_in_xa_statement5987  */
static	ANTLR3_BITWORD FOLLOW_MIGRATE_SYMBOL_in_xa_statement5987_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_MIGRATE_SYMBOL_in_xa_statement5987	= { FOLLOW_MIGRATE_SYMBOL_in_xa_statement5987_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PREPARE_SYMBOL_in_xa_statement5998  */
static	ANTLR3_BITWORD FOLLOW_PREPARE_SYMBOL_in_xa_statement5998_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_PREPARE_SYMBOL_in_xa_statement5998	= { FOLLOW_PREPARE_SYMBOL_in_xa_statement5998_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_xid_in_xa_statement6000  */
static	ANTLR3_BITWORD FOLLOW_xid_in_xa_statement6000_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_xid_in_xa_statement6000	= { FOLLOW_xid_in_xa_statement6000_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMIT_SYMBOL_in_xa_statement6007  */
static	ANTLR3_BITWORD FOLLOW_COMMIT_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(0x0000000000000008), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMIT_SYMBOL_in_xa_statement6007	= { FOLLOW_COMMIT_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), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0080000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_xid_in_xa_statement6009	= { FOLLOW_xid_in_xa_statement6009_bits, 3	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ONE_SYMBOL_in_xa_statement6012  */
static	ANTLR3_BITWORD FOLLOW_ONE_SYMBOL_in_xa_statement6012_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x4000000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_ONE_SYMBOL_in_xa_statement6012	= { FOLLOW_ONE_SYMBOL_in_xa_statement6012_bits, 3	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PHASE_SYMBOL_in_xa_statement6014  */
static	ANTLR3_BITWORD FOLLOW_PHASE_SYMBOL_in_xa_statement6014_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_PHASE_SYMBOL_in_xa_statement6014	= { FOLLOW_PHASE_SYMBOL_in_xa_statement6014_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ROLLBACK_SYMBOL_in_xa_statement6023  */
static	ANTLR3_BITWORD FOLLOW_ROLLBACK_SYMBOL_in_xa_statement6023_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_ROLLBACK_SYMBOL_in_xa_statement6023	= { FOLLOW_ROLLBACK_SYMBOL_in_xa_statement6023_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_xid_in_xa_statement6025  */
static	ANTLR3_BITWORD FOLLOW_xid_in_xa_statement6025_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_xid_in_xa_statement6025	= { FOLLOW_xid_in_xa_statement6025_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_RECOVER_SYMBOL_in_xa_statement6032  */
static	ANTLR3_BITWORD FOLLOW_RECOVER_SYMBOL_in_xa_statement6032_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_RECOVER_SYMBOL_in_xa_statement6032	= { FOLLOW_RECOVER_SYMBOL_in_xa_statement6032_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_xid6045  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_xid6045_bits[]	= { ANTLR3_UINT64_LIT(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_xid6045	= { FOLLOW_string_literal_in_xid6045_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_xid6048  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_xid6048_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_xid6048	= { FOLLOW_COMMA_SYMBOL_in_xid6048_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_xid6050  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_xid6050_bits[]	= { ANTLR3_UINT64_LIT(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_xid6050	= { FOLLOW_string_literal_in_xid6050_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_xid6053  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_xid6053_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000004) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_xid6053	= { FOLLOW_COMMA_SYMBOL_in_xid6053_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_xid6055  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_xid6055_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_INTEGER_in_xid6055	= { FOLLOW_INTEGER_in_xid6055_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PURGE_SYMBOL_in_replication_statement6094  */
static	ANTLR3_BITWORD FOLLOW_PURGE_SYMBOL_in_replication_statement6094_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_statement6094	= { FOLLOW_PURGE_SYMBOL_in_replication_statement6094_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_replication_statement6097  */
static	ANTLR3_BITWORD FOLLOW_set_in_replication_statement6097_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x1000000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_replication_statement6097	= { FOLLOW_set_in_replication_statement6097_bits, 2	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_LOGS_SYMBOL_in_replication_statement6105  */
static	ANTLR3_BITWORD FOLLOW_LOGS_SYMBOL_in_replication_statement6105_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(0x2000000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_LOGS_SYMBOL_in_replication_statement6105	= { FOLLOW_LOGS_SYMBOL_in_replication_statement6105_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TO_SYMBOL_in_replication_statement6108  */
static	ANTLR3_BITWORD FOLLOW_TO_SYMBOL_in_replication_statement6108_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_TO_SYMBOL_in_replication_statement6108	= { FOLLOW_TO_SYMBOL_in_replication_statement6108_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_replication_statement6110  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_replication_statement6110_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_replication_statement6110	= { FOLLOW_string_literal_in_replication_statement6110_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BEFORE_SYMBOL_in_replication_statement6114  */
static	ANTLR3_BITWORD FOLLOW_BEFORE_SYMBOL_in_replication_statement6114_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C056484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_BEFORE_SYMBOL_in_replication_statement6114	= { FOLLOW_BEFORE_SYMBOL_in_replication_statement6114_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_replication_statement6116  */
static	ANTLR3_BITWORD FOLLOW_expression_in_replication_statement6116_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_replication_statement6116	= { FOLLOW_expression_in_replication_statement6116_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_change_master_in_replication_statement6122  */
static	ANTLR3_BITWORD FOLLOW_change_master_in_replication_statement6122_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_change_master_in_replication_statement6122	= { FOLLOW_change_master_in_replication_statement6122_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_start_slave_in_replication_statement6130  */
static	ANTLR3_BITWORD FOLLOW_start_slave_in_replication_statement6130_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_start_slave_in_replication_statement6130	= { FOLLOW_start_slave_in_replication_statement6130_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_stop_slave_in_replication_statement6135  */
static	ANTLR3_BITWORD FOLLOW_stop_slave_in_replication_statement6135_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_stop_slave_in_replication_statement6135	= { FOLLOW_stop_slave_in_replication_statement6135_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_replication_load_in_replication_statement6144  */
static	ANTLR3_BITWORD FOLLOW_replication_load_in_replication_statement6144_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_replication_load_in_replication_statement6144	= { FOLLOW_replication_load_in_replication_statement6144_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_LOAD_SYMBOL_in_replication_load6153  */
static	ANTLR3_BITWORD FOLLOW_LOAD_SYMBOL_in_replication_load6153_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(0x0080000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_LOAD_SYMBOL_in_replication_load6153	= { FOLLOW_LOAD_SYMBOL_in_replication_load6153_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DATA_SYMBOL_in_replication_load6157  */
static	ANTLR3_BITWORD FOLLOW_DATA_SYMBOL_in_replication_load6157_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_DATA_SYMBOL_in_replication_load6157	= { FOLLOW_DATA_SYMBOL_in_replication_load6157_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TABLE_SYMBOL_in_replication_load6161  */
static	ANTLR3_BITWORD FOLLOW_TABLE_SYMBOL_in_replication_load6161_bits[]	= { ANTLR3_UINT64_LIT(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(0x000800000000000A) };
static  ANTLR3_BITSET_LIST FOLLOW_TABLE_SYMBOL_in_replication_load6161	= { FOLLOW_TABLE_SYMBOL_in_replication_load6161_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_identifier_in_replication_load6163  */
static	ANTLR3_BITWORD FOLLOW_table_identifier_in_replication_load6163_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000400000000) };
static  ANTLR3_BITSET_LIST FOLLOW_table_identifier_in_replication_load6163	= { FOLLOW_table_identifier_in_replication_load6163_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FROM_SYMBOL_in_replication_load6166  */
static	ANTLR3_BITWORD FOLLOW_FROM_SYMBOL_in_replication_load6166_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000010000) };
static  ANTLR3_BITSET_LIST FOLLOW_FROM_SYMBOL_in_replication_load6166	= { FOLLOW_FROM_SYMBOL_in_replication_load6166_bits, 3	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MASTER_SYMBOL_in_replication_load6168  */
static	ANTLR3_BITWORD FOLLOW_MASTER_SYMBOL_in_replication_load6168_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_MASTER_SYMBOL_in_replication_load6168	= { FOLLOW_MASTER_SYMBOL_in_replication_load6168_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CHANGE_SYMBOL_in_change_master6177  */
static	ANTLR3_BITWORD FOLLOW_CHANGE_SYMBOL_in_change_master6177_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000010000) };
static  ANTLR3_BITSET_LIST FOLLOW_CHANGE_SYMBOL_in_change_master6177	= { FOLLOW_CHANGE_SYMBOL_in_change_master6177_bits, 3	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MASTER_SYMBOL_in_change_master6180  */
static	ANTLR3_BITWORD FOLLOW_MASTER_SYMBOL_in_change_master6180_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x2000000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_MASTER_SYMBOL_in_change_master6180	= { FOLLOW_MASTER_SYMBOL_in_change_master6180_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TO_SYMBOL_in_change_master6182  */
static	ANTLR3_BITWORD FOLLOW_TO_SYMBOL_in_change_master6182_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(0x0003000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_TO_SYMBOL_in_change_master6182	= { FOLLOW_TO_SYMBOL_in_change_master6182_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_change_master_options_in_change_master6184  */
static	ANTLR3_BITWORD FOLLOW_change_master_options_in_change_master6184_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_change_master_options_in_change_master6184	= { FOLLOW_change_master_options_in_change_master6184_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_master_option_in_change_master_options6193  */
static	ANTLR3_BITWORD FOLLOW_master_option_in_change_master_options6193_bits[]	= { ANTLR3_UINT64_LIT(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_options6193	= { FOLLOW_master_option_in_change_master_options6193_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_change_master_options6196  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_change_master_options6196_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(0x0003000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_change_master_options6196	= { FOLLOW_COMMA_SYMBOL_in_change_master_options6196_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_master_option_in_change_master_options6198  */
static	ANTLR3_BITWORD FOLLOW_master_option_in_change_master_options6198_bits[]	= { ANTLR3_UINT64_LIT(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_options6198	= { FOLLOW_master_option_in_change_master_options6198_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MASTER_BIND_SYMBOL_in_master_option6224  */
static	ANTLR3_BITWORD FOLLOW_MASTER_BIND_SYMBOL_in_master_option6224_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_MASTER_BIND_SYMBOL_in_master_option6224	= { FOLLOW_MASTER_BIND_SYMBOL_in_master_option6224_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_master_option6226  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_master_option6226_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_master_option6226	= { FOLLOW_EQUAL_OPERATOR_in_master_option6226_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_master_option6228  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_master_option6228_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_master_option6228	= { FOLLOW_string_literal_in_master_option6228_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MASTER_HOST_SYMBOL_in_master_option6233  */
static	ANTLR3_BITWORD FOLLOW_MASTER_HOST_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(0x0000000000001000) };
static  ANTLR3_BITSET_LIST FOLLOW_MASTER_HOST_SYMBOL_in_master_option6233	= { FOLLOW_MASTER_HOST_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(0x0000000000000008), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
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_USER_SYMBOL_in_master_option6242  */
static	ANTLR3_BITWORD FOLLOW_MASTER_USER_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(0x0000000000001000) };
static  ANTLR3_BITSET_LIST FOLLOW_MASTER_USER_SYMBOL_in_master_option6242	= { FOLLOW_MASTER_USER_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(0x0000000000000008), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
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_PASSWORD_SYMBOL_in_master_option6251  */
static	ANTLR3_BITWORD FOLLOW_MASTER_PASSWORD_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(0x0000000000001000) };
static  ANTLR3_BITSET_LIST FOLLOW_MASTER_PASSWORD_SYMBOL_in_master_option6251	= { FOLLOW_MASTER_PASSWORD_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(0x0000000000000008), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
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_PORT_SYMBOL_in_master_option6260  */
static	ANTLR3_BITWORD FOLLOW_MASTER_PORT_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(0x0000000000001000) };
static  ANTLR3_BITSET_LIST FOLLOW_MASTER_PORT_SYMBOL_in_master_option6260	= { FOLLOW_MASTER_PORT_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(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000004) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_master_option6262	= { FOLLOW_EQUAL_OPERATOR_in_master_option6262_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_master_option6264  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_master_option6264_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_INTEGER_in_master_option6264	= { FOLLOW_INTEGER_in_master_option6264_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MASTER_CONNECT_RETRY_SYMBOL_in_master_option6269  */
static	ANTLR3_BITWORD FOLLOW_MASTER_CONNECT_RETRY_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(0x0000000000001000) };
static  ANTLR3_BITSET_LIST FOLLOW_MASTER_CONNECT_RETRY_SYMBOL_in_master_option6269	= { FOLLOW_MASTER_CONNECT_RETRY_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(0x0000000000000004) };
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_RETRY_COUNT_SYMBOL_in_master_option6278  */
static	ANTLR3_BITWORD FOLLOW_MASTER_RETRY_COUNT_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(0x0000000000001000) };
static  ANTLR3_BITSET_LIST FOLLOW_MASTER_RETRY_COUNT_SYMBOL_in_master_option6278	= { FOLLOW_MASTER_RETRY_COUNT_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(0x0000000000000004) };
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_DELAY_SYMBOL_in_master_option6287  */
static	ANTLR3_BITWORD FOLLOW_MASTER_DELAY_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(0x0000000000001000) };
static  ANTLR3_BITSET_LIST FOLLOW_MASTER_DELAY_SYMBOL_in_master_option6287	= { FOLLOW_MASTER_DELAY_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(0x0000000000000004) };
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_HEARTBEAT_PERIOD_SYMBOL_in_master_option6296  */
static	ANTLR3_BITWORD FOLLOW_MASTER_HEARTBEAT_PERIOD_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(0x0000000000001000) };
static  ANTLR3_BITSET_LIST FOLLOW_MASTER_HEARTBEAT_PERIOD_SYMBOL_in_master_option6296	= { FOLLOW_MASTER_HEARTBEAT_PERIOD_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(0x0000000000000004) };
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_LOG_FILE_SYMBOL_in_master_option6305  */
static	ANTLR3_BITWORD FOLLOW_MASTER_LOG_FILE_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(0x0000000000001000) };
static  ANTLR3_BITSET_LIST FOLLOW_MASTER_LOG_FILE_SYMBOL_in_master_option6305	= { FOLLOW_MASTER_LOG_FILE_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(0x0000000000000008), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_master_option6307	= { FOLLOW_EQUAL_OPERATOR_in_master_option6307_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_master_option6309  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_master_option6309_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_master_option6309	= { FOLLOW_string_literal_in_master_option6309_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MASTER_LOG_POS_SYMBOL_in_master_option6314  */
static	ANTLR3_BITWORD FOLLOW_MASTER_LOG_POS_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(0x0000000000001000) };
static  ANTLR3_BITSET_LIST FOLLOW_MASTER_LOG_POS_SYMBOL_in_master_option6314	= { FOLLOW_MASTER_LOG_POS_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(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000004) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_master_option6316	= { FOLLOW_EQUAL_OPERATOR_in_master_option6316_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_master_option6318  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_master_option6318_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_INTEGER_in_master_option6318	= { FOLLOW_INTEGER_in_master_option6318_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MASTER_AUTO_POSITION_SYMBOL_in_master_option6323  */
static	ANTLR3_BITWORD FOLLOW_MASTER_AUTO_POSITION_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(0x0000000000001000) };
static  ANTLR3_BITSET_LIST FOLLOW_MASTER_AUTO_POSITION_SYMBOL_in_master_option6323	= { FOLLOW_MASTER_AUTO_POSITION_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(0x0000000000000004) };
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_RELAY_LOG_FILE_SYMBOL_in_master_option6332  */
static	ANTLR3_BITWORD FOLLOW_RELAY_LOG_FILE_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(0x0000000000001000) };
static  ANTLR3_BITSET_LIST FOLLOW_RELAY_LOG_FILE_SYMBOL_in_master_option6332	= { FOLLOW_RELAY_LOG_FILE_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(0x0000000000000008), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_master_option6334	= { FOLLOW_EQUAL_OPERATOR_in_master_option6334_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_master_option6336  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_master_option6336_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_master_option6336	= { FOLLOW_string_literal_in_master_option6336_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_RELAY_LOG_POS_SYMBOL_in_master_option6341  */
static	ANTLR3_BITWORD FOLLOW_RELAY_LOG_POS_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(0x0000000000001000) };
static  ANTLR3_BITSET_LIST FOLLOW_RELAY_LOG_POS_SYMBOL_in_master_option6341	= { FOLLOW_RELAY_LOG_POS_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(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000004) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_master_option6343	= { FOLLOW_EQUAL_OPERATOR_in_master_option6343_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_master_option6345  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_master_option6345_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_INTEGER_in_master_option6345	= { FOLLOW_INTEGER_in_master_option6345_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MASTER_SSL_SYMBOL_in_master_option6350  */
static	ANTLR3_BITWORD FOLLOW_MASTER_SSL_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(0x0000000000001000) };
static  ANTLR3_BITSET_LIST FOLLOW_MASTER_SSL_SYMBOL_in_master_option6350	= { FOLLOW_MASTER_SSL_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(0x0000000000000004) };
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_CA_SYMBOL_in_master_option6359  */
static	ANTLR3_BITWORD FOLLOW_MASTER_SSL_CA_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(0x0000000000001000) };
static  ANTLR3_BITSET_LIST FOLLOW_MASTER_SSL_CA_SYMBOL_in_master_option6359	= { FOLLOW_MASTER_SSL_CA_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(0x0000000000000008), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_master_option6361	= { FOLLOW_EQUAL_OPERATOR_in_master_option6361_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_master_option6363  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_master_option6363_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_master_option6363	= { FOLLOW_string_literal_in_master_option6363_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MASTER_SSL_CAPATH_SYMBOL_in_master_option6368  */
static	ANTLR3_BITWORD FOLLOW_MASTER_SSL_CAPATH_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(0x0000000000001000) };
static  ANTLR3_BITSET_LIST FOLLOW_MASTER_SSL_CAPATH_SYMBOL_in_master_option6368	= { FOLLOW_MASTER_SSL_CAPATH_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(0x0000000000000008), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
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_CERT_SYMBOL_in_master_option6377  */
static	ANTLR3_BITWORD FOLLOW_MASTER_SSL_CERT_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(0x0000000000001000) };
static  ANTLR3_BITSET_LIST FOLLOW_MASTER_SSL_CERT_SYMBOL_in_master_option6377	= { FOLLOW_MASTER_SSL_CERT_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(0x0000000000000008), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
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_CRL_SYMBOL_in_master_option6386  */
static	ANTLR3_BITWORD FOLLOW_MASTER_SSL_CRL_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(0x0000000000001000) };
static  ANTLR3_BITSET_LIST FOLLOW_MASTER_SSL_CRL_SYMBOL_in_master_option6386	= { FOLLOW_MASTER_SSL_CRL_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(0x0000000000000008), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
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_CRLPATH_SYMBOL_in_master_option6395  */
static	ANTLR3_BITWORD FOLLOW_MASTER_SSL_CRLPATH_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(0x0000000000001000) };
static  ANTLR3_BITSET_LIST FOLLOW_MASTER_SSL_CRLPATH_SYMBOL_in_master_option6395	= { FOLLOW_MASTER_SSL_CRLPATH_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(0x0000000000000008), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
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_KEY_SYMBOL_in_master_option6404  */
static	ANTLR3_BITWORD FOLLOW_MASTER_SSL_KEY_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(0x0000000000001000) };
static  ANTLR3_BITSET_LIST FOLLOW_MASTER_SSL_KEY_SYMBOL_in_master_option6404	= { FOLLOW_MASTER_SSL_KEY_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(0x0000000000000008), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
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_CIPHER_SYMBOL_in_master_option6413  */
static	ANTLR3_BITWORD FOLLOW_MASTER_SSL_CIPHER_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(0x0000000000001000) };
static  ANTLR3_BITSET_LIST FOLLOW_MASTER_SSL_CIPHER_SYMBOL_in_master_option6413	= { FOLLOW_MASTER_SSL_CIPHER_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(0x0000000000000008), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
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_VERIFY_SERVER_CERT_SYMBOL_in_master_option6422  */
static	ANTLR3_BITWORD FOLLOW_MASTER_SSL_VERIFY_SERVER_CERT_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(0x0000000000001000) };
static  ANTLR3_BITSET_LIST FOLLOW_MASTER_SSL_VERIFY_SERVER_CERT_SYMBOL_in_master_option6422	= { FOLLOW_MASTER_SSL_VERIFY_SERVER_CERT_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(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000004) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_master_option6424	= { FOLLOW_EQUAL_OPERATOR_in_master_option6424_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_master_option6426  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_master_option6426_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_INTEGER_in_master_option6426	= { FOLLOW_INTEGER_in_master_option6426_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_IGNORE_SERVER_IDS_SYMBOL_in_master_option6431  */
static	ANTLR3_BITWORD FOLLOW_IGNORE_SERVER_IDS_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(0x0000000000001000) };
static  ANTLR3_BITSET_LIST FOLLOW_IGNORE_SERVER_IDS_SYMBOL_in_master_option6431	= { FOLLOW_IGNORE_SERVER_IDS_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(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_master_option6433	= { FOLLOW_EQUAL_OPERATOR_in_master_option6433_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_server_id_list_in_master_option6435  */
static	ANTLR3_BITWORD FOLLOW_server_id_list_in_master_option6435_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_server_id_list_in_master_option6435	= { FOLLOW_server_id_list_in_master_option6435_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_server_id_list6444  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_server_id_list6444_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000000000000004) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_server_id_list6444	= { FOLLOW_OPEN_PAR_SYMBOL_in_server_id_list6444_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_integer_list_in_server_id_list6446  */
static	ANTLR3_BITWORD FOLLOW_integer_list_in_server_id_list6446_bits[]	= { ANTLR3_UINT64_LIT(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_list6446	= { FOLLOW_integer_list_in_server_id_list6446_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_server_id_list6449  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_server_id_list6449_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_server_id_list6449	= { FOLLOW_CLOSE_PAR_SYMBOL_in_server_id_list6449_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_START_SYMBOL_in_start_slave6458  */
static	ANTLR3_BITWORD FOLLOW_START_SYMBOL_in_start_slave6458_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_slave6458	= { FOLLOW_START_SYMBOL_in_start_slave6458_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SLAVE_SYMBOL_in_start_slave6461  */
static	ANTLR3_BITWORD FOLLOW_SLAVE_SYMBOL_in_start_slave6461_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_slave6461	= { FOLLOW_SLAVE_SYMBOL_in_start_slave6461_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_slave_thread_options_in_start_slave6463  */
static	ANTLR3_BITWORD FOLLOW_slave_thread_options_in_start_slave6463_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_slave6463	= { FOLLOW_slave_thread_options_in_start_slave6463_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_UNTIL_SYMBOL_in_start_slave6467  */
static	ANTLR3_BITWORD FOLLOW_UNTIL_SYMBOL_in_start_slave6467_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_slave6467	= { FOLLOW_UNTIL_SYMBOL_in_start_slave6467_bits, 4	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_slave_until_options_in_start_slave6469  */
static	ANTLR3_BITWORD FOLLOW_slave_until_options_in_start_slave6469_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_slave6469	= { FOLLOW_slave_until_options_in_start_slave6469_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_slave_connection_options_in_start_slave6473  */
static	ANTLR3_BITWORD FOLLOW_slave_connection_options_in_start_slave6473_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_slave_connection_options_in_start_slave6473	= { FOLLOW_slave_connection_options_in_start_slave6473_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_master_file_def_in_slave_until_options6488  */
static	ANTLR3_BITWORD FOLLOW_master_file_def_in_slave_until_options6488_bits[]	= { ANTLR3_UINT64_LIT(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_options6488	= { FOLLOW_master_file_def_in_slave_until_options6488_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_slave_until_options6498  */
static	ANTLR3_BITWORD FOLLOW_set_in_slave_until_options6498_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_set_in_slave_until_options6498	= { FOLLOW_set_in_slave_until_options6498_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_slave_until_options6506  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_slave_until_options6506_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_slave_until_options6506	= { FOLLOW_EQUAL_OPERATOR_in_slave_until_options6506_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_gtid_set_in_slave_until_options6508  */
static	ANTLR3_BITWORD FOLLOW_gtid_set_in_slave_until_options6508_bits[]	= { ANTLR3_UINT64_LIT(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_options6508	= { FOLLOW_gtid_set_in_slave_until_options6508_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SQL_AFTER_MTS_GAPS_SYMBOL_in_slave_until_options6518  */
static	ANTLR3_BITWORD FOLLOW_SQL_AFTER_MTS_GAPS_SYMBOL_in_slave_until_options6518_bits[]	= { ANTLR3_UINT64_LIT(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_options6518	= { FOLLOW_SQL_AFTER_MTS_GAPS_SYMBOL_in_slave_until_options6518_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_slave_until_options6525  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_slave_until_options6525_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_options6525	= { FOLLOW_COMMA_SYMBOL_in_slave_until_options6525_bits, 4	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_master_file_def_in_slave_until_options6527  */
static	ANTLR3_BITWORD FOLLOW_master_file_def_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_master_file_def_in_slave_until_options6527	= { FOLLOW_master_file_def_in_slave_until_options6527_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MASTER_LOG_FILE_SYMBOL_in_master_file_def6538  */
static	ANTLR3_BITWORD FOLLOW_MASTER_LOG_FILE_SYMBOL_in_master_file_def6538_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_MASTER_LOG_FILE_SYMBOL_in_master_file_def6538	= { FOLLOW_MASTER_LOG_FILE_SYMBOL_in_master_file_def6538_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_master_file_def6540  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_master_file_def6540_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_master_file_def6540	= { FOLLOW_EQUAL_OPERATOR_in_master_file_def6540_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_master_file_def6542  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_master_file_def6542_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_master_file_def6542	= { FOLLOW_string_literal_in_master_file_def6542_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MASTER_LOG_POS_SYMBOL_in_master_file_def6547  */
static	ANTLR3_BITWORD FOLLOW_MASTER_LOG_POS_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(0x0000000000001000) };
static  ANTLR3_BITSET_LIST FOLLOW_MASTER_LOG_POS_SYMBOL_in_master_file_def6547	= { FOLLOW_MASTER_LOG_POS_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(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000004) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_master_file_def6549	= { FOLLOW_EQUAL_OPERATOR_in_master_file_def6549_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_master_file_def6551  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_master_file_def6551_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_INTEGER_in_master_file_def6551	= { FOLLOW_INTEGER_in_master_file_def6551_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_RELAY_LOG_FILE_SYMBOL_in_master_file_def6556  */
static	ANTLR3_BITWORD FOLLOW_RELAY_LOG_FILE_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(0x0000000000001000) };
static  ANTLR3_BITSET_LIST FOLLOW_RELAY_LOG_FILE_SYMBOL_in_master_file_def6556	= { FOLLOW_RELAY_LOG_FILE_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(0x0000000000000008), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_master_file_def6558	= { FOLLOW_EQUAL_OPERATOR_in_master_file_def6558_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_master_file_def6560  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_master_file_def6560_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_master_file_def6560	= { FOLLOW_string_literal_in_master_file_def6560_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_RELAY_LOG_POS_SYMBOL_in_master_file_def6565  */
static	ANTLR3_BITWORD FOLLOW_RELAY_LOG_POS_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(0x0000000000001000) };
static  ANTLR3_BITSET_LIST FOLLOW_RELAY_LOG_POS_SYMBOL_in_master_file_def6565	= { FOLLOW_RELAY_LOG_POS_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(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000004) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_master_file_def6567	= { FOLLOW_EQUAL_OPERATOR_in_master_file_def6567_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_master_file_def6569  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_master_file_def6569_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_INTEGER_in_master_file_def6569	= { FOLLOW_INTEGER_in_master_file_def6569_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_USER_SYMBOL_in_slave_connection_options6583  */
static	ANTLR3_BITWORD FOLLOW_USER_SYMBOL_in_slave_connection_options6583_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_USER_SYMBOL_in_slave_connection_options6583	= { FOLLOW_USER_SYMBOL_in_slave_connection_options6583_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_slave_connection_options6585  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_slave_connection_options6585_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_slave_connection_options6585	= { FOLLOW_EQUAL_OPERATOR_in_slave_connection_options6585_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_slave_connection_options6587  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_slave_connection_options6587_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_options6587	= { FOLLOW_string_literal_in_slave_connection_options6587_bits, 4	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PASSWORD_SYMBOL_in_slave_connection_options6592  */
static	ANTLR3_BITWORD FOLLOW_PASSWORD_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(0x0000000000001000) };
static  ANTLR3_BITSET_LIST FOLLOW_PASSWORD_SYMBOL_in_slave_connection_options6592	= { FOLLOW_PASSWORD_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(0x0000000000000008), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
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(0x0000000000000000), 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_DEFAULT_AUTH_SYMBOL_in_slave_connection_options6603  */
static	ANTLR3_BITWORD FOLLOW_DEFAULT_AUTH_SYMBOL_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(0x0000000000001000) };
static  ANTLR3_BITSET_LIST FOLLOW_DEFAULT_AUTH_SYMBOL_in_slave_connection_options6603	= { FOLLOW_DEFAULT_AUTH_SYMBOL_in_slave_connection_options6603_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_slave_connection_options6605  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_slave_connection_options6605_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_slave_connection_options6605	= { FOLLOW_EQUAL_OPERATOR_in_slave_connection_options6605_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_slave_connection_options6607  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_slave_connection_options6607_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_options6607	= { FOLLOW_string_literal_in_slave_connection_options6607_bits, 4	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PLUGIN_DIR_SYMBOL_in_slave_connection_options6612  */
static	ANTLR3_BITWORD FOLLOW_PLUGIN_DIR_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(0x0000000000001000) };
static  ANTLR3_BITSET_LIST FOLLOW_PLUGIN_DIR_SYMBOL_in_slave_connection_options6612	= { FOLLOW_PLUGIN_DIR_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(0x0000000000000008), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
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) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_slave_connection_options6616	= { FOLLOW_string_literal_in_slave_connection_options6616_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_STOP_SYMBOL_in_stop_slave6631  */
static	ANTLR3_BITWORD FOLLOW_STOP_SYMBOL_in_stop_slave6631_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_slave6631	= { FOLLOW_STOP_SYMBOL_in_stop_slave6631_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SLAVE_SYMBOL_in_stop_slave6634  */
static	ANTLR3_BITWORD FOLLOW_SLAVE_SYMBOL_in_stop_slave6634_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_slave6634	= { FOLLOW_SLAVE_SYMBOL_in_stop_slave6634_bits, 4	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_slave_thread_options_in_stop_slave6636  */
static	ANTLR3_BITWORD FOLLOW_slave_thread_options_in_stop_slave6636_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_slave_thread_options_in_stop_slave6636	= { FOLLOW_slave_thread_options_in_stop_slave6636_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_slave_thread_option_in_slave_thread_options6646  */
static	ANTLR3_BITWORD FOLLOW_slave_thread_option_in_slave_thread_options6646_bits[]	= { ANTLR3_UINT64_LIT(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_options6646	= { FOLLOW_slave_thread_option_in_slave_thread_options6646_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_slave_thread_options6649  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_slave_thread_options6649_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_options6649	= { FOLLOW_COMMA_SYMBOL_in_slave_thread_options6649_bits, 4	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_slave_thread_option_in_slave_thread_options6651  */
static	ANTLR3_BITWORD FOLLOW_slave_thread_option_in_slave_thread_options6651_bits[]	= { ANTLR3_UINT64_LIT(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_options6651	= { FOLLOW_slave_thread_option_in_slave_thread_options6651_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_gtid_set6690  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_gtid_set6690_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_gtid_set6690	= { FOLLOW_string_literal_in_gtid_set6690_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PREPARE_SYMBOL_in_prepared_statement6702  */
static	ANTLR3_BITWORD FOLLOW_PREPARE_SYMBOL_in_prepared_statement6702_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_PREPARE_SYMBOL_in_prepared_statement6702	= { FOLLOW_PREPARE_SYMBOL_in_prepared_statement6702_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_prepared_statement6705  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_prepared_statement6705_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_prepared_statement6705	= { FOLLOW_identifier_in_prepared_statement6705_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FROM_SYMBOL_in_prepared_statement6707  */
static	ANTLR3_BITWORD FOLLOW_FROM_SYMBOL_in_prepared_statement6707_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(0x0000000000000008), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_FROM_SYMBOL_in_prepared_statement6707	= { FOLLOW_FROM_SYMBOL_in_prepared_statement6707_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_prepared_statement6710  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_prepared_statement6710_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_prepared_statement6710	= { FOLLOW_string_literal_in_prepared_statement6710_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_user_variable_in_prepared_statement6714  */
static	ANTLR3_BITWORD FOLLOW_user_variable_in_prepared_statement6714_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_user_variable_in_prepared_statement6714	= { FOLLOW_user_variable_in_prepared_statement6714_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_execute_statement_in_prepared_statement6720  */
static	ANTLR3_BITWORD FOLLOW_execute_statement_in_prepared_statement6720_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_execute_statement_in_prepared_statement6720	= { FOLLOW_execute_statement_in_prepared_statement6720_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_prepared_statement6725  */
static	ANTLR3_BITWORD FOLLOW_set_in_prepared_statement6725_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_statement6725	= { FOLLOW_set_in_prepared_statement6725_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PREPARE_SYMBOL_in_prepared_statement6734  */
static	ANTLR3_BITWORD FOLLOW_PREPARE_SYMBOL_in_prepared_statement6734_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_PREPARE_SYMBOL_in_prepared_statement6734	= { FOLLOW_PREPARE_SYMBOL_in_prepared_statement6734_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_prepared_statement6736  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_prepared_statement6736_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_prepared_statement6736	= { FOLLOW_identifier_in_prepared_statement6736_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EXECUTE_SYMBOL_in_execute_statement6745  */
static	ANTLR3_BITWORD FOLLOW_EXECUTE_SYMBOL_in_execute_statement6745_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_EXECUTE_SYMBOL_in_execute_statement6745	= { FOLLOW_EXECUTE_SYMBOL_in_execute_statement6745_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_execute_statement6748  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_execute_statement6748_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_execute_statement6748	= { FOLLOW_identifier_in_execute_statement6748_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_USING_SYMBOL_in_execute_statement6750  */
static	ANTLR3_BITWORD FOLLOW_USING_SYMBOL_in_execute_statement6750_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_statement6750	= { FOLLOW_USING_SYMBOL_in_execute_statement6750_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_execute_var_list_in_execute_statement6752  */
static	ANTLR3_BITWORD FOLLOW_execute_var_list_in_execute_statement6752_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_execute_var_list_in_execute_statement6752	= { FOLLOW_execute_var_list_in_execute_statement6752_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_user_variable_in_execute_var_list6761  */
static	ANTLR3_BITWORD FOLLOW_user_variable_in_execute_var_list6761_bits[]	= { ANTLR3_UINT64_LIT(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_list6761	= { FOLLOW_user_variable_in_execute_var_list6761_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_execute_var_list6764  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_execute_var_list6764_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_list6764	= { FOLLOW_COMMA_SYMBOL_in_execute_var_list6764_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_user_variable_in_execute_var_list6766  */
static	ANTLR3_BITWORD FOLLOW_user_variable_in_execute_var_list6766_bits[]	= { ANTLR3_UINT64_LIT(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_list6766	= { FOLLOW_user_variable_in_execute_var_list6766_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_alter_user_in_account_management_statement6783  */
static	ANTLR3_BITWORD FOLLOW_alter_user_in_account_management_statement6783_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_alter_user_in_account_management_statement6783	= { FOLLOW_alter_user_in_account_management_statement6783_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_create_user_in_account_management_statement6788  */
static	ANTLR3_BITWORD FOLLOW_create_user_in_account_management_statement6788_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_create_user_in_account_management_statement6788	= { FOLLOW_create_user_in_account_management_statement6788_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_drop_user_in_account_management_statement6793  */
static	ANTLR3_BITWORD FOLLOW_drop_user_in_account_management_statement6793_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_drop_user_in_account_management_statement6793	= { FOLLOW_drop_user_in_account_management_statement6793_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_grant_proxy_in_account_management_statement6802  */
static	ANTLR3_BITWORD FOLLOW_grant_proxy_in_account_management_statement6802_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_grant_proxy_in_account_management_statement6802	= { FOLLOW_grant_proxy_in_account_management_statement6802_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_grant_in_account_management_statement6807  */
static	ANTLR3_BITWORD FOLLOW_grant_in_account_management_statement6807_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_grant_in_account_management_statement6807	= { FOLLOW_grant_in_account_management_statement6807_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_rename_user_in_account_management_statement6812  */
static	ANTLR3_BITWORD FOLLOW_rename_user_in_account_management_statement6812_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_rename_user_in_account_management_statement6812	= { FOLLOW_rename_user_in_account_management_statement6812_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_revoke_statement_in_account_management_statement6817  */
static	ANTLR3_BITWORD FOLLOW_revoke_statement_in_account_management_statement6817_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_revoke_statement_in_account_management_statement6817	= { FOLLOW_revoke_statement_in_account_management_statement6817_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_password_in_account_management_statement6822  */
static	ANTLR3_BITWORD FOLLOW_set_password_in_account_management_statement6822_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_set_password_in_account_management_statement6822	= { FOLLOW_set_password_in_account_management_statement6822_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ALTER_SYMBOL_in_alter_user6831  */
static	ANTLR3_BITWORD FOLLOW_ALTER_SYMBOL_in_alter_user6831_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_user6831	= { FOLLOW_ALTER_SYMBOL_in_alter_user6831_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_USER_SYMBOL_in_alter_user6834  */
static	ANTLR3_BITWORD FOLLOW_USER_SYMBOL_in_alter_user6834_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_USER_SYMBOL_in_alter_user6834	= { FOLLOW_USER_SYMBOL_in_alter_user6834_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_user_in_alter_user6836  */
static	ANTLR3_BITWORD FOLLOW_user_in_alter_user6836_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x2000000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_user_in_alter_user6836	= { FOLLOW_user_in_alter_user6836_bits, 3	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PASSWORD_SYMBOL_in_alter_user6838  */
static	ANTLR3_BITWORD FOLLOW_PASSWORD_SYMBOL_in_alter_user6838_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_PASSWORD_SYMBOL_in_alter_user6838	= { FOLLOW_PASSWORD_SYMBOL_in_alter_user6838_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EXPIRE_SYMBOL_in_alter_user6840  */
static	ANTLR3_BITWORD FOLLOW_EXPIRE_SYMBOL_in_alter_user6840_bits[]	= { ANTLR3_UINT64_LIT(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_user6840	= { FOLLOW_EXPIRE_SYMBOL_in_alter_user6840_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_alter_user6843  */
static	ANTLR3_BITWORD FOLLOW_COMMA_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(0x0008000000000008), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_alter_user6843	= { FOLLOW_COMMA_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(0x0000000000040000) };
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_CREATE_SYMBOL_in_create_user6860  */
static	ANTLR3_BITWORD FOLLOW_CREATE_SYMBOL_in_create_user6860_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_user6860	= { FOLLOW_CREATE_SYMBOL_in_create_user6860_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_USER_SYMBOL_in_create_user6863  */
static	ANTLR3_BITWORD FOLLOW_USER_SYMBOL_in_create_user6863_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_USER_SYMBOL_in_create_user6863	= { FOLLOW_USER_SYMBOL_in_create_user6863_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_user_specification_in_create_user6865  */
static	ANTLR3_BITWORD FOLLOW_user_specification_in_create_user6865_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_user_specification_in_create_user6865	= { FOLLOW_user_specification_in_create_user6865_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DROP_SYMBOL_in_drop_user6874  */
static	ANTLR3_BITWORD FOLLOW_DROP_SYMBOL_in_drop_user6874_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_user6874	= { FOLLOW_DROP_SYMBOL_in_drop_user6874_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_USER_SYMBOL_in_drop_user6877  */
static	ANTLR3_BITWORD FOLLOW_USER_SYMBOL_in_drop_user6877_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_USER_SYMBOL_in_drop_user6877	= { FOLLOW_USER_SYMBOL_in_drop_user6877_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_user_list_in_drop_user6879  */
static	ANTLR3_BITWORD FOLLOW_user_list_in_drop_user6879_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_user_list_in_drop_user6879	= { FOLLOW_user_list_in_drop_user6879_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_GRANT_SYMBOL_in_grant6888  */
static	ANTLR3_BITWORD FOLLOW_GRANT_SYMBOL_in_grant6888_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(0x1080004000000020), ANTLR3_UINT64_LIT(0x0000002000000000), ANTLR3_UINT64_LIT(0x0010000000000000), ANTLR3_UINT64_LIT(0x8000000000008020), ANTLR3_UINT64_LIT(0x0000000000000C00) };
static  ANTLR3_BITSET_LIST FOLLOW_GRANT_SYMBOL_in_grant6888	= { FOLLOW_GRANT_SYMBOL_in_grant6888_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_grant_privileges_in_grant6891  */
static	ANTLR3_BITWORD FOLLOW_grant_privileges_in_grant6891_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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) };
static  ANTLR3_BITSET_LIST FOLLOW_grant_privileges_in_grant6891	= { FOLLOW_grant_privileges_in_grant6891_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_privilege_target_in_grant6893  */
static	ANTLR3_BITWORD FOLLOW_privilege_target_in_grant6893_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x2000000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_privilege_target_in_grant6893	= { FOLLOW_privilege_target_in_grant6893_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TO_SYMBOL_in_grant6897  */
static	ANTLR3_BITWORD FOLLOW_TO_SYMBOL_in_grant6897_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_TO_SYMBOL_in_grant6897	= { FOLLOW_TO_SYMBOL_in_grant6897_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_user_specification_in_grant6899  */
static	ANTLR3_BITWORD FOLLOW_user_specification_in_grant6899_bits[]	= { ANTLR3_UINT64_LIT(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(0x0400000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000800000000) };
static  ANTLR3_BITSET_LIST FOLLOW_user_specification_in_grant6899	= { FOLLOW_user_specification_in_grant6899_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_grant6902  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_grant6902_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_grant6902	= { FOLLOW_COMMA_SYMBOL_in_grant6902_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_user_specification_in_grant6904  */
static	ANTLR3_BITWORD FOLLOW_user_specification_in_grant6904_bits[]	= { ANTLR3_UINT64_LIT(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(0x0400000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000800000000) };
static  ANTLR3_BITSET_LIST FOLLOW_user_specification_in_grant6904	= { FOLLOW_user_specification_in_grant6904_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_REQUIRE_SYMBOL_in_grant6911  */
static	ANTLR3_BITWORD FOLLOW_REQUIRE_SYMBOL_in_grant6911_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(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_REQUIRE_SYMBOL_in_grant6911	= { FOLLOW_REQUIRE_SYMBOL_in_grant6911_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_NONE_SYMBOL_in_grant6922  */
static	ANTLR3_BITWORD FOLLOW_NONE_SYMBOL_in_grant6922_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_NONE_SYMBOL_in_grant6922	= { FOLLOW_NONE_SYMBOL_in_grant6922_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SSL_SYMBOL_in_grant6930  */
static	ANTLR3_BITWORD FOLLOW_SSL_SYMBOL_in_grant6930_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_SSL_SYMBOL_in_grant6930	= { FOLLOW_SSL_SYMBOL_in_grant6930_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_X509_SYMBOL_in_grant6938  */
static	ANTLR3_BITWORD FOLLOW_X509_SYMBOL_in_grant6938_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_X509_SYMBOL_in_grant6938	= { FOLLOW_X509_SYMBOL_in_grant6938_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_require_list_in_grant6946  */
static	ANTLR3_BITWORD FOLLOW_require_list_in_grant6946_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(0x0000000800000000) };
static  ANTLR3_BITSET_LIST FOLLOW_require_list_in_grant6946	= { FOLLOW_require_list_in_grant6946_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_AND_SYMBOL_in_grant6949  */
static	ANTLR3_BITWORD FOLLOW_AND_SYMBOL_in_grant6949_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_grant6949	= { FOLLOW_AND_SYMBOL_in_grant6949_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_require_list_in_grant6952  */
static	ANTLR3_BITWORD FOLLOW_require_list_in_grant6952_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(0x0000000800000000) };
static  ANTLR3_BITSET_LIST FOLLOW_require_list_in_grant6952	= { FOLLOW_require_list_in_grant6952_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_WITH_SYMBOL_in_grant6969  */
static	ANTLR3_BITWORD FOLLOW_WITH_SYMBOL_in_grant6969_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(0x0000004000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_WITH_SYMBOL_in_grant6969	= { FOLLOW_WITH_SYMBOL_in_grant6969_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_grant_option_in_grant6971  */
static	ANTLR3_BITWORD FOLLOW_grant_option_in_grant6971_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(0x0000004000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_grant_option_in_grant6971	= { FOLLOW_grant_option_in_grant6971_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_GRANT_SYMBOL_in_grant_proxy6983  */
static	ANTLR3_BITWORD FOLLOW_GRANT_SYMBOL_in_grant_proxy6983_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_proxy6983	= { FOLLOW_GRANT_SYMBOL_in_grant_proxy6983_bits, 4	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PROXY_SYMBOL_in_grant_proxy6986  */
static	ANTLR3_BITWORD FOLLOW_PROXY_SYMBOL_in_grant_proxy6986_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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) };
static  ANTLR3_BITSET_LIST FOLLOW_PROXY_SYMBOL_in_grant_proxy6986	= { FOLLOW_PROXY_SYMBOL_in_grant_proxy6986_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ON_SYMBOL_in_grant_proxy6988  */
static	ANTLR3_BITWORD FOLLOW_ON_SYMBOL_in_grant_proxy6988_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_ON_SYMBOL_in_grant_proxy6988	= { FOLLOW_ON_SYMBOL_in_grant_proxy6988_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_user_specification_in_grant_proxy6990  */
static	ANTLR3_BITWORD FOLLOW_user_specification_in_grant_proxy6990_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x2000000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_user_specification_in_grant_proxy6990	= { FOLLOW_user_specification_in_grant_proxy6990_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TO_SYMBOL_in_grant_proxy6992  */
static	ANTLR3_BITWORD FOLLOW_TO_SYMBOL_in_grant_proxy6992_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_TO_SYMBOL_in_grant_proxy6992	= { FOLLOW_TO_SYMBOL_in_grant_proxy6992_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_user_specification_in_grant_proxy6994  */
static	ANTLR3_BITWORD FOLLOW_user_specification_in_grant_proxy6994_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000000800000000) };
static  ANTLR3_BITSET_LIST FOLLOW_user_specification_in_grant_proxy6994	= { FOLLOW_user_specification_in_grant_proxy6994_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_grant_proxy6997  */
static	ANTLR3_BITWORD FOLLOW_COMMA_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(0x0008000000000008), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_grant_proxy6997	= { FOLLOW_COMMA_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(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(0x0000000800000000) };
static  ANTLR3_BITSET_LIST FOLLOW_user_specification_in_grant_proxy6999	= { FOLLOW_user_specification_in_grant_proxy6999_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_WITH_SYMBOL_in_grant_proxy7006  */
static	ANTLR3_BITWORD FOLLOW_WITH_SYMBOL_in_grant_proxy7006_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_WITH_SYMBOL_in_grant_proxy7006	= { FOLLOW_WITH_SYMBOL_in_grant_proxy7006_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_GRANT_SYMBOL_in_grant_proxy7008  */
static	ANTLR3_BITWORD FOLLOW_GRANT_SYMBOL_in_grant_proxy7008_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_GRANT_SYMBOL_in_grant_proxy7008	= { FOLLOW_GRANT_SYMBOL_in_grant_proxy7008_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPTION_SYMBOL_in_grant_proxy7010  */
static	ANTLR3_BITWORD FOLLOW_OPTION_SYMBOL_in_grant_proxy7010_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_OPTION_SYMBOL_in_grant_proxy7010	= { FOLLOW_OPTION_SYMBOL_in_grant_proxy7010_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_RENAME_SYMBOL_in_rename_user7021  */
static	ANTLR3_BITWORD FOLLOW_RENAME_SYMBOL_in_rename_user7021_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_user7021	= { FOLLOW_RENAME_SYMBOL_in_rename_user7021_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_USER_SYMBOL_in_rename_user7024  */
static	ANTLR3_BITWORD FOLLOW_USER_SYMBOL_in_rename_user7024_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_USER_SYMBOL_in_rename_user7024	= { FOLLOW_USER_SYMBOL_in_rename_user7024_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_user_in_rename_user7026  */
static	ANTLR3_BITWORD FOLLOW_user_in_rename_user7026_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x2000000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_user_in_rename_user7026	= { FOLLOW_user_in_rename_user7026_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TO_SYMBOL_in_rename_user7028  */
static	ANTLR3_BITWORD FOLLOW_TO_SYMBOL_in_rename_user7028_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_TO_SYMBOL_in_rename_user7028	= { FOLLOW_TO_SYMBOL_in_rename_user7028_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_user_in_rename_user7030  */
static	ANTLR3_BITWORD FOLLOW_user_in_rename_user7030_bits[]	= { ANTLR3_UINT64_LIT(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_user7030	= { FOLLOW_user_in_rename_user7030_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_rename_user7033  */
static	ANTLR3_BITWORD FOLLOW_COMMA_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(0x0008000000000008), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_rename_user7033	= { FOLLOW_COMMA_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(0x2000000000000000) };
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(0x0008000000000008), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
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_REVOKE_SYMBOL_in_revoke_statement7050  */
static	ANTLR3_BITWORD FOLLOW_REVOKE_SYMBOL_in_revoke_statement7050_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(0x1080004000000020), ANTLR3_UINT64_LIT(0x0000002000000000), ANTLR3_UINT64_LIT(0x0010000000000000), ANTLR3_UINT64_LIT(0x8000000000008020), ANTLR3_UINT64_LIT(0x0000000000000C00) };
static  ANTLR3_BITSET_LIST FOLLOW_REVOKE_SYMBOL_in_revoke_statement7050	= { FOLLOW_REVOKE_SYMBOL_in_revoke_statement7050_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ALL_SYMBOL_in_revoke_statement7062  */
static	ANTLR3_BITWORD FOLLOW_ALL_SYMBOL_in_revoke_statement7062_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_statement7062	= { FOLLOW_ALL_SYMBOL_in_revoke_statement7062_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PRIVILEGES_SYMBOL_in_revoke_statement7064  */
static	ANTLR3_BITWORD FOLLOW_PRIVILEGES_SYMBOL_in_revoke_statement7064_bits[]	= { ANTLR3_UINT64_LIT(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_statement7064	= { FOLLOW_PRIVILEGES_SYMBOL_in_revoke_statement7064_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_revoke_statement7067  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_revoke_statement7067_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_COMMA_SYMBOL_in_revoke_statement7067	= { FOLLOW_COMMA_SYMBOL_in_revoke_statement7067_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_GRANT_SYMBOL_in_revoke_statement7069  */
static	ANTLR3_BITWORD FOLLOW_GRANT_SYMBOL_in_revoke_statement7069_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_GRANT_SYMBOL_in_revoke_statement7069	= { FOLLOW_GRANT_SYMBOL_in_revoke_statement7069_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPTION_SYMBOL_in_revoke_statement7071  */
static	ANTLR3_BITWORD FOLLOW_OPTION_SYMBOL_in_revoke_statement7071_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_OPTION_SYMBOL_in_revoke_statement7071	= { FOLLOW_OPTION_SYMBOL_in_revoke_statement7071_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FROM_SYMBOL_in_revoke_statement7073  */
static	ANTLR3_BITWORD FOLLOW_FROM_SYMBOL_in_revoke_statement7073_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_FROM_SYMBOL_in_revoke_statement7073	= { FOLLOW_FROM_SYMBOL_in_revoke_statement7073_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_user_list_in_revoke_statement7075  */
static	ANTLR3_BITWORD FOLLOW_user_list_in_revoke_statement7075_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_user_list_in_revoke_statement7075	= { FOLLOW_user_list_in_revoke_statement7075_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_grant_privileges_in_revoke_statement7081  */
static	ANTLR3_BITWORD FOLLOW_grant_privileges_in_revoke_statement7081_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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) };
static  ANTLR3_BITSET_LIST FOLLOW_grant_privileges_in_revoke_statement7081	= { FOLLOW_grant_privileges_in_revoke_statement7081_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_privilege_target_in_revoke_statement7083  */
static	ANTLR3_BITWORD FOLLOW_privilege_target_in_revoke_statement7083_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000400000000) };
static  ANTLR3_BITSET_LIST FOLLOW_privilege_target_in_revoke_statement7083	= { FOLLOW_privilege_target_in_revoke_statement7083_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FROM_SYMBOL_in_revoke_statement7085  */
static	ANTLR3_BITWORD FOLLOW_FROM_SYMBOL_in_revoke_statement7085_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_FROM_SYMBOL_in_revoke_statement7085	= { FOLLOW_FROM_SYMBOL_in_revoke_statement7085_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_user_list_in_revoke_statement7087  */
static	ANTLR3_BITWORD FOLLOW_user_list_in_revoke_statement7087_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_user_list_in_revoke_statement7087	= { FOLLOW_user_list_in_revoke_statement7087_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PROXY_SYMBOL_in_revoke_statement7097  */
static	ANTLR3_BITWORD FOLLOW_PROXY_SYMBOL_in_revoke_statement7097_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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) };
static  ANTLR3_BITSET_LIST FOLLOW_PROXY_SYMBOL_in_revoke_statement7097	= { FOLLOW_PROXY_SYMBOL_in_revoke_statement7097_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ON_SYMBOL_in_revoke_statement7099  */
static	ANTLR3_BITWORD FOLLOW_ON_SYMBOL_in_revoke_statement7099_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_ON_SYMBOL_in_revoke_statement7099	= { FOLLOW_ON_SYMBOL_in_revoke_statement7099_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_user_in_revoke_statement7101  */
static	ANTLR3_BITWORD FOLLOW_user_in_revoke_statement7101_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000400000000) };
static  ANTLR3_BITSET_LIST FOLLOW_user_in_revoke_statement7101	= { FOLLOW_user_in_revoke_statement7101_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FROM_SYMBOL_in_revoke_statement7103  */
static	ANTLR3_BITWORD FOLLOW_FROM_SYMBOL_in_revoke_statement7103_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_FROM_SYMBOL_in_revoke_statement7103	= { FOLLOW_FROM_SYMBOL_in_revoke_statement7103_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_user_list_in_revoke_statement7105  */
static	ANTLR3_BITWORD FOLLOW_user_list_in_revoke_statement7105_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_user_list_in_revoke_statement7105	= { FOLLOW_user_list_in_revoke_statement7105_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ON_SYMBOL_in_privilege_target7117  */
static	ANTLR3_BITWORD FOLLOW_ON_SYMBOL_in_privilege_target7117_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000200000000010), ANTLR3_UINT64_LIT(0x0080000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_ON_SYMBOL_in_privilege_target7117	= { FOLLOW_ON_SYMBOL_in_privilege_target7117_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_grant_object_type_in_privilege_target7119  */
static	ANTLR3_BITWORD FOLLOW_grant_object_type_in_privilege_target7119_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_grant_object_type_in_privilege_target7119	= { FOLLOW_grant_object_type_in_privilege_target7119_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_privilege_level_in_privilege_target7121  */
static	ANTLR3_BITWORD FOLLOW_privilege_level_in_privilege_target7121_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_privilege_level_in_privilege_target7121	= { FOLLOW_privilege_level_in_privilege_target7121_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SET_SYMBOL_in_set_password7142  */
static	ANTLR3_BITWORD FOLLOW_SET_SYMBOL_in_set_password7142_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x2000000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_SET_SYMBOL_in_set_password7142	= { FOLLOW_SET_SYMBOL_in_set_password7142_bits, 3	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PASSWORD_SYMBOL_in_set_password7145  */
static	ANTLR3_BITWORD FOLLOW_PASSWORD_SYMBOL_in_set_password7145_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(0x0000000100001000) };
static  ANTLR3_BITSET_LIST FOLLOW_PASSWORD_SYMBOL_in_set_password7145	= { FOLLOW_PASSWORD_SYMBOL_in_set_password7145_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FOR_SYMBOL_in_set_password7148  */
static	ANTLR3_BITWORD FOLLOW_FOR_SYMBOL_in_set_password7148_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_FOR_SYMBOL_in_set_password7148	= { FOLLOW_FOR_SYMBOL_in_set_password7148_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_user_in_set_password7150  */
static	ANTLR3_BITWORD FOLLOW_user_in_set_password7150_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(0x0000000000001000) };
static  ANTLR3_BITSET_LIST FOLLOW_user_in_set_password7150	= { FOLLOW_user_in_set_password7150_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_equal_in_set_password7154  */
static	ANTLR3_BITWORD FOLLOW_equal_in_set_password7154_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(0x0000000000000008), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_equal_in_set_password7154	= { FOLLOW_equal_in_set_password7154_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PASSWORD_SYMBOL_in_set_password7161  */
static	ANTLR3_BITWORD FOLLOW_PASSWORD_SYMBOL_in_set_password7161_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_PASSWORD_SYMBOL_in_set_password7161	= { FOLLOW_PASSWORD_SYMBOL_in_set_password7161_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_set_password7163  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_set_password7163_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_set_password7163	= { FOLLOW_OPEN_PAR_SYMBOL_in_set_password7163_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_set_password7165  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_set_password7165_bits[]	= { ANTLR3_UINT64_LIT(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_password7165	= { FOLLOW_string_literal_in_set_password7165_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_set_password7167  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_set_password7167_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_set_password7167	= { FOLLOW_CLOSE_PAR_SYMBOL_in_set_password7167_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OLD_PASSWORD_SYMBOL_in_set_password7173  */
static	ANTLR3_BITWORD FOLLOW_OLD_PASSWORD_SYMBOL_in_set_password7173_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_OLD_PASSWORD_SYMBOL_in_set_password7173	= { FOLLOW_OLD_PASSWORD_SYMBOL_in_set_password7173_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_set_password7175  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_set_password7175_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_set_password7175	= { FOLLOW_OPEN_PAR_SYMBOL_in_set_password7175_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_set_password7177  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_set_password7177_bits[]	= { ANTLR3_UINT64_LIT(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_password7177	= { FOLLOW_string_literal_in_set_password7177_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_set_password7179  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_set_password7179_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_set_password7179	= { FOLLOW_CLOSE_PAR_SYMBOL_in_set_password7179_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_set_password7185  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_set_password7185_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_set_password7185	= { FOLLOW_string_literal_in_set_password7185_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TABLE_SYMBOL_in_grant_object_type7198  */
static	ANTLR3_BITWORD FOLLOW_TABLE_SYMBOL_in_grant_object_type7198_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_TABLE_SYMBOL_in_grant_object_type7198	= { FOLLOW_TABLE_SYMBOL_in_grant_object_type7198_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FUNCTION_SYMBOL_in_grant_object_type7203  */
static	ANTLR3_BITWORD FOLLOW_FUNCTION_SYMBOL_in_grant_object_type7203_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_FUNCTION_SYMBOL_in_grant_object_type7203	= { FOLLOW_FUNCTION_SYMBOL_in_grant_object_type7203_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PROCEDURE_SYMBOL_in_grant_object_type7207  */
static	ANTLR3_BITWORD FOLLOW_PROCEDURE_SYMBOL_in_grant_object_type7207_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_PROCEDURE_SYMBOL_in_grant_object_type7207	= { FOLLOW_PROCEDURE_SYMBOL_in_grant_object_type7207_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ALL_SYMBOL_in_grant_privileges7217  */
static	ANTLR3_BITWORD FOLLOW_ALL_SYMBOL_in_grant_privileges7217_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_privileges7217	= { FOLLOW_ALL_SYMBOL_in_grant_privileges7217_bits, 4	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PRIVILEGES_SYMBOL_in_grant_privileges7219  */
static	ANTLR3_BITWORD FOLLOW_PRIVILEGES_SYMBOL_in_grant_privileges7219_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_PRIVILEGES_SYMBOL_in_grant_privileges7219	= { FOLLOW_PRIVILEGES_SYMBOL_in_grant_privileges7219_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_privilege_type_in_grant_privileges7225  */
static	ANTLR3_BITWORD FOLLOW_privilege_type_in_grant_privileges7225_bits[]	= { ANTLR3_UINT64_LIT(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_privileges7225	= { FOLLOW_privilege_type_in_grant_privileges7225_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_grant_privileges7228  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_grant_privileges7228_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(0x1080004000000020), ANTLR3_UINT64_LIT(0x0000002000000000), ANTLR3_UINT64_LIT(0x0010000000000000), ANTLR3_UINT64_LIT(0x8000000000008020), ANTLR3_UINT64_LIT(0x0000000000000C00) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_grant_privileges7228	= { FOLLOW_COMMA_SYMBOL_in_grant_privileges7228_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_privilege_type_in_grant_privileges7230  */
static	ANTLR3_BITWORD FOLLOW_privilege_type_in_grant_privileges7230_bits[]	= { ANTLR3_UINT64_LIT(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_privileges7230	= { FOLLOW_privilege_type_in_grant_privileges7230_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ALTER_SYMBOL_in_privilege_type7241  */
static	ANTLR3_BITWORD FOLLOW_ALTER_SYMBOL_in_privilege_type7241_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_type7241	= { FOLLOW_ALTER_SYMBOL_in_privilege_type7241_bits, 4	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ROUTINE_SYMBOL_in_privilege_type7243  */
static	ANTLR3_BITWORD FOLLOW_ROUTINE_SYMBOL_in_privilege_type7243_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_ROUTINE_SYMBOL_in_privilege_type7243	= { FOLLOW_ROUTINE_SYMBOL_in_privilege_type7243_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CREATE_SYMBOL_in_privilege_type7249  */
static	ANTLR3_BITWORD FOLLOW_CREATE_SYMBOL_in_privilege_type7249_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_type7249	= { FOLLOW_CREATE_SYMBOL_in_privilege_type7249_bits, 5	};
/** 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_TABLESPACE_SYMBOL_in_privilege_type7256  */
static	ANTLR3_BITWORD FOLLOW_TABLESPACE_SYMBOL_in_privilege_type7256_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_TABLESPACE_SYMBOL_in_privilege_type7256	= { FOLLOW_TABLESPACE_SYMBOL_in_privilege_type7256_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TEMPORARY_SYMBOL_in_privilege_type7260  */
static	ANTLR3_BITWORD FOLLOW_TEMPORARY_SYMBOL_in_privilege_type7260_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_type7260	= { FOLLOW_TEMPORARY_SYMBOL_in_privilege_type7260_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TABLES_SYMBOL_in_privilege_type7262  */
static	ANTLR3_BITWORD FOLLOW_TABLES_SYMBOL_in_privilege_type7262_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_TABLES_SYMBOL_in_privilege_type7262	= { FOLLOW_TABLES_SYMBOL_in_privilege_type7262_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_USER_SYMBOL_in_privilege_type7266  */
static	ANTLR3_BITWORD FOLLOW_USER_SYMBOL_in_privilege_type7266_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_USER_SYMBOL_in_privilege_type7266	= { FOLLOW_USER_SYMBOL_in_privilege_type7266_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_VIEW_SYMBOL_in_privilege_type7270  */
static	ANTLR3_BITWORD FOLLOW_VIEW_SYMBOL_in_privilege_type7270_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_VIEW_SYMBOL_in_privilege_type7270	= { FOLLOW_VIEW_SYMBOL_in_privilege_type7270_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DELETE_SYMBOL_in_privilege_type7277  */
static	ANTLR3_BITWORD FOLLOW_DELETE_SYMBOL_in_privilege_type7277_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_DELETE_SYMBOL_in_privilege_type7277	= { FOLLOW_DELETE_SYMBOL_in_privilege_type7277_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DROP_SYMBOL_in_privilege_type7282  */
static	ANTLR3_BITWORD FOLLOW_DROP_SYMBOL_in_privilege_type7282_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_DROP_SYMBOL_in_privilege_type7282	= { FOLLOW_DROP_SYMBOL_in_privilege_type7282_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EVENT_SYMBOL_in_privilege_type7287  */
static	ANTLR3_BITWORD FOLLOW_EVENT_SYMBOL_in_privilege_type7287_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_EVENT_SYMBOL_in_privilege_type7287	= { FOLLOW_EVENT_SYMBOL_in_privilege_type7287_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EXECUTE_SYMBOL_in_privilege_type7292  */
static	ANTLR3_BITWORD FOLLOW_EXECUTE_SYMBOL_in_privilege_type7292_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_EXECUTE_SYMBOL_in_privilege_type7292	= { FOLLOW_EXECUTE_SYMBOL_in_privilege_type7292_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FILE_SYMBOL_in_privilege_type7297  */
static	ANTLR3_BITWORD FOLLOW_FILE_SYMBOL_in_privilege_type7297_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_FILE_SYMBOL_in_privilege_type7297	= { FOLLOW_FILE_SYMBOL_in_privilege_type7297_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_GRANT_SYMBOL_in_privilege_type7302  */
static	ANTLR3_BITWORD FOLLOW_GRANT_SYMBOL_in_privilege_type7302_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_GRANT_SYMBOL_in_privilege_type7302	= { FOLLOW_GRANT_SYMBOL_in_privilege_type7302_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPTION_SYMBOL_in_privilege_type7304  */
static	ANTLR3_BITWORD FOLLOW_OPTION_SYMBOL_in_privilege_type7304_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_OPTION_SYMBOL_in_privilege_type7304	= { FOLLOW_OPTION_SYMBOL_in_privilege_type7304_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INDEX_SYMBOL_in_privilege_type7309  */
static	ANTLR3_BITWORD FOLLOW_INDEX_SYMBOL_in_privilege_type7309_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_INDEX_SYMBOL_in_privilege_type7309	= { FOLLOW_INDEX_SYMBOL_in_privilege_type7309_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INSERT_SYMBOL_in_privilege_type7314  */
static	ANTLR3_BITWORD FOLLOW_INSERT_SYMBOL_in_privilege_type7314_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_INSERT_SYMBOL_in_privilege_type7314	= { FOLLOW_INSERT_SYMBOL_in_privilege_type7314_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_list_with_parentheses_in_privilege_type7316  */
static	ANTLR3_BITWORD FOLLOW_identifier_list_with_parentheses_in_privilege_type7316_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_list_with_parentheses_in_privilege_type7316	= { FOLLOW_identifier_list_with_parentheses_in_privilege_type7316_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_LOCK_SYMBOL_in_privilege_type7322  */
static	ANTLR3_BITWORD FOLLOW_LOCK_SYMBOL_in_privilege_type7322_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_type7322	= { FOLLOW_LOCK_SYMBOL_in_privilege_type7322_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TABLES_SYMBOL_in_privilege_type7324  */
static	ANTLR3_BITWORD FOLLOW_TABLES_SYMBOL_in_privilege_type7324_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_TABLES_SYMBOL_in_privilege_type7324	= { FOLLOW_TABLES_SYMBOL_in_privilege_type7324_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PROCESS_SYMBOL_in_privilege_type7329  */
static	ANTLR3_BITWORD FOLLOW_PROCESS_SYMBOL_in_privilege_type7329_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_PROCESS_SYMBOL_in_privilege_type7329	= { FOLLOW_PROCESS_SYMBOL_in_privilege_type7329_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PROXY_SYMBOL_in_privilege_type7334  */
static	ANTLR3_BITWORD FOLLOW_PROXY_SYMBOL_in_privilege_type7334_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_PROXY_SYMBOL_in_privilege_type7334	= { FOLLOW_PROXY_SYMBOL_in_privilege_type7334_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_REFERENCES_SYMBOL_in_privilege_type7339  */
static	ANTLR3_BITWORD FOLLOW_REFERENCES_SYMBOL_in_privilege_type7339_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_REFERENCES_SYMBOL_in_privilege_type7339	= { FOLLOW_REFERENCES_SYMBOL_in_privilege_type7339_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_list_with_parentheses_in_privilege_type7341  */
static	ANTLR3_BITWORD FOLLOW_identifier_list_with_parentheses_in_privilege_type7341_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_list_with_parentheses_in_privilege_type7341	= { FOLLOW_identifier_list_with_parentheses_in_privilege_type7341_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_RELOAD_SYMBOL_in_privilege_type7347  */
static	ANTLR3_BITWORD FOLLOW_RELOAD_SYMBOL_in_privilege_type7347_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_RELOAD_SYMBOL_in_privilege_type7347	= { FOLLOW_RELOAD_SYMBOL_in_privilege_type7347_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_REPLICATION_SYMBOL_in_privilege_type7352  */
static	ANTLR3_BITWORD FOLLOW_REPLICATION_SYMBOL_in_privilege_type7352_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_type7352	= { FOLLOW_REPLICATION_SYMBOL_in_privilege_type7352_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_privilege_type7354  */
static	ANTLR3_BITWORD FOLLOW_set_in_privilege_type7354_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_privilege_type7354	= { FOLLOW_set_in_privilege_type7354_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SELECT_SYMBOL_in_privilege_type7365  */
static	ANTLR3_BITWORD FOLLOW_SELECT_SYMBOL_in_privilege_type7365_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_SELECT_SYMBOL_in_privilege_type7365	= { FOLLOW_SELECT_SYMBOL_in_privilege_type7365_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_list_with_parentheses_in_privilege_type7367  */
static	ANTLR3_BITWORD FOLLOW_identifier_list_with_parentheses_in_privilege_type7367_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_list_with_parentheses_in_privilege_type7367	= { FOLLOW_identifier_list_with_parentheses_in_privilege_type7367_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SHOW_SYMBOL_in_privilege_type7373  */
static	ANTLR3_BITWORD FOLLOW_SHOW_SYMBOL_in_privilege_type7373_bits[]	= { ANTLR3_UINT64_LIT(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_type7373	= { FOLLOW_SHOW_SYMBOL_in_privilege_type7373_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DATABASES_SYMBOL_in_privilege_type7375  */
static	ANTLR3_BITWORD FOLLOW_DATABASES_SYMBOL_in_privilege_type7375_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_DATABASES_SYMBOL_in_privilege_type7375	= { FOLLOW_DATABASES_SYMBOL_in_privilege_type7375_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SHOW_SYMBOL_in_privilege_type7380  */
static	ANTLR3_BITWORD FOLLOW_SHOW_SYMBOL_in_privilege_type7380_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_type7380	= { FOLLOW_SHOW_SYMBOL_in_privilege_type7380_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_VIEW_SYMBOL_in_privilege_type7382  */
static	ANTLR3_BITWORD FOLLOW_VIEW_SYMBOL_in_privilege_type7382_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_VIEW_SYMBOL_in_privilege_type7382	= { FOLLOW_VIEW_SYMBOL_in_privilege_type7382_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SHUTDOWN_SYMBOL_in_privilege_type7387  */
static	ANTLR3_BITWORD FOLLOW_SHUTDOWN_SYMBOL_in_privilege_type7387_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_SHUTDOWN_SYMBOL_in_privilege_type7387	= { FOLLOW_SHUTDOWN_SYMBOL_in_privilege_type7387_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SUPER_SYMBOL_in_privilege_type7392  */
static	ANTLR3_BITWORD FOLLOW_SUPER_SYMBOL_in_privilege_type7392_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_SUPER_SYMBOL_in_privilege_type7392	= { FOLLOW_SUPER_SYMBOL_in_privilege_type7392_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TRIGGER_SYMBOL_in_privilege_type7397  */
static	ANTLR3_BITWORD FOLLOW_TRIGGER_SYMBOL_in_privilege_type7397_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_TRIGGER_SYMBOL_in_privilege_type7397	= { FOLLOW_TRIGGER_SYMBOL_in_privilege_type7397_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_UPDATE_SYMBOL_in_privilege_type7402  */
static	ANTLR3_BITWORD FOLLOW_UPDATE_SYMBOL_in_privilege_type7402_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_UPDATE_SYMBOL_in_privilege_type7402	= { FOLLOW_UPDATE_SYMBOL_in_privilege_type7402_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_list_with_parentheses_in_privilege_type7404  */
static	ANTLR3_BITWORD FOLLOW_identifier_list_with_parentheses_in_privilege_type7404_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_list_with_parentheses_in_privilege_type7404	= { FOLLOW_identifier_list_with_parentheses_in_privilege_type7404_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_USAGE_SYMBOL_in_privilege_type7410  */
static	ANTLR3_BITWORD FOLLOW_USAGE_SYMBOL_in_privilege_type7410_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_USAGE_SYMBOL_in_privilege_type7410	= { FOLLOW_USAGE_SYMBOL_in_privilege_type7410_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MULT_OPERATOR_in_privilege_level7419  */
static	ANTLR3_BITWORD FOLLOW_MULT_OPERATOR_in_privilege_level7419_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(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_level7419	= { FOLLOW_MULT_OPERATOR_in_privilege_level7419_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DOT_SYMBOL_in_privilege_level7422  */
static	ANTLR3_BITWORD FOLLOW_DOT_SYMBOL_in_privilege_level7422_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_DOT_SYMBOL_in_privilege_level7422	= { FOLLOW_DOT_SYMBOL_in_privilege_level7422_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MULT_OPERATOR_in_privilege_level7424  */
static	ANTLR3_BITWORD FOLLOW_MULT_OPERATOR_in_privilege_level7424_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_MULT_OPERATOR_in_privilege_level7424	= { FOLLOW_MULT_OPERATOR_in_privilege_level7424_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_qualified_identifier_with_wildcard_in_privilege_level7431  */
static	ANTLR3_BITWORD FOLLOW_qualified_identifier_with_wildcard_in_privilege_level7431_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_qualified_identifier_with_wildcard_in_privilege_level7431	= { FOLLOW_qualified_identifier_with_wildcard_in_privilege_level7431_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CIPHER_SYMBOL_in_require_list7440  */
static	ANTLR3_BITWORD FOLLOW_CIPHER_SYMBOL_in_require_list7440_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_CIPHER_SYMBOL_in_require_list7440	= { FOLLOW_CIPHER_SYMBOL_in_require_list7440_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_require_list7442  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_require_list7442_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_require_list7442	= { FOLLOW_string_literal_in_require_list7442_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ISSUER_SYMBOL_in_require_list7447  */
static	ANTLR3_BITWORD FOLLOW_ISSUER_SYMBOL_in_require_list7447_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_ISSUER_SYMBOL_in_require_list7447	= { FOLLOW_ISSUER_SYMBOL_in_require_list7447_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_require_list7449  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_require_list7449_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_require_list7449	= { FOLLOW_string_literal_in_require_list7449_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SUBJECT_SYMBOL_in_require_list7454  */
static	ANTLR3_BITWORD FOLLOW_SUBJECT_SYMBOL_in_require_list7454_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_SUBJECT_SYMBOL_in_require_list7454	= { FOLLOW_SUBJECT_SYMBOL_in_require_list7454_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_require_list7456  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_require_list7456_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_require_list7456	= { FOLLOW_string_literal_in_require_list7456_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_GRANT_SYMBOL_in_grant_option7465  */
static	ANTLR3_BITWORD FOLLOW_GRANT_SYMBOL_in_grant_option7465_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_GRANT_SYMBOL_in_grant_option7465	= { FOLLOW_GRANT_SYMBOL_in_grant_option7465_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPTION_SYMBOL_in_grant_option7467  */
static	ANTLR3_BITWORD FOLLOW_OPTION_SYMBOL_in_grant_option7467_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_OPTION_SYMBOL_in_grant_option7467	= { FOLLOW_OPTION_SYMBOL_in_grant_option7467_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MAX_QUERIES_PER_HOUR_SYMBOL_in_grant_option7472  */
static	ANTLR3_BITWORD FOLLOW_MAX_QUERIES_PER_HOUR_SYMBOL_in_grant_option7472_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000004) };
static  ANTLR3_BITSET_LIST FOLLOW_MAX_QUERIES_PER_HOUR_SYMBOL_in_grant_option7472	= { FOLLOW_MAX_QUERIES_PER_HOUR_SYMBOL_in_grant_option7472_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_grant_option7474  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_grant_option7474_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_INTEGER_in_grant_option7474	= { FOLLOW_INTEGER_in_grant_option7474_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MAX_UPDATES_PER_HOUR_SYMBOL_in_grant_option7479  */
static	ANTLR3_BITWORD FOLLOW_MAX_UPDATES_PER_HOUR_SYMBOL_in_grant_option7479_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000004) };
static  ANTLR3_BITSET_LIST FOLLOW_MAX_UPDATES_PER_HOUR_SYMBOL_in_grant_option7479	= { FOLLOW_MAX_UPDATES_PER_HOUR_SYMBOL_in_grant_option7479_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_grant_option7481  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_grant_option7481_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_INTEGER_in_grant_option7481	= { FOLLOW_INTEGER_in_grant_option7481_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MAX_CONNECTIONS_PER_HOUR_SYMBOL_in_grant_option7486  */
static	ANTLR3_BITWORD FOLLOW_MAX_CONNECTIONS_PER_HOUR_SYMBOL_in_grant_option7486_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000004) };
static  ANTLR3_BITSET_LIST FOLLOW_MAX_CONNECTIONS_PER_HOUR_SYMBOL_in_grant_option7486	= { FOLLOW_MAX_CONNECTIONS_PER_HOUR_SYMBOL_in_grant_option7486_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_grant_option7488  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_grant_option7488_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_INTEGER_in_grant_option7488	= { FOLLOW_INTEGER_in_grant_option7488_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MAX_USER_CONNECTIONS_SYMBOL_in_grant_option7493  */
static	ANTLR3_BITWORD FOLLOW_MAX_USER_CONNECTIONS_SYMBOL_in_grant_option7493_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000004) };
static  ANTLR3_BITSET_LIST FOLLOW_MAX_USER_CONNECTIONS_SYMBOL_in_grant_option7493	= { FOLLOW_MAX_USER_CONNECTIONS_SYMBOL_in_grant_option7493_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_grant_option7495  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_grant_option7495_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_INTEGER_in_grant_option7495	= { FOLLOW_INTEGER_in_grant_option7495_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ANALYZE_SYMBOL_in_table_administration_statement7506  */
static	ANTLR3_BITWORD FOLLOW_ANALYZE_SYMBOL_in_table_administration_statement7506_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(0x0000000000008000), ANTLR3_UINT64_LIT(0x0080000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_ANALYZE_SYMBOL_in_table_administration_statement7506	= { FOLLOW_ANALYZE_SYMBOL_in_table_administration_statement7506_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_no_write_to_bin_log_in_table_administration_statement7509  */
static	ANTLR3_BITWORD FOLLOW_no_write_to_bin_log_in_table_administration_statement7509_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_write_to_bin_log_in_table_administration_statement7509	= { FOLLOW_no_write_to_bin_log_in_table_administration_statement7509_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TABLE_SYMBOL_in_table_administration_statement7512  */
static	ANTLR3_BITWORD FOLLOW_TABLE_SYMBOL_in_table_administration_statement7512_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_TABLE_SYMBOL_in_table_administration_statement7512	= { FOLLOW_TABLE_SYMBOL_in_table_administration_statement7512_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_qualified_identifier_list_in_table_administration_statement7514  */
static	ANTLR3_BITWORD FOLLOW_qualified_identifier_list_in_table_administration_statement7514_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_qualified_identifier_list_in_table_administration_statement7514	= { FOLLOW_qualified_identifier_list_in_table_administration_statement7514_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CHECK_SYMBOL_in_table_administration_statement7519  */
static	ANTLR3_BITWORD FOLLOW_CHECK_SYMBOL_in_table_administration_statement7519_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0080000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_CHECK_SYMBOL_in_table_administration_statement7519	= { FOLLOW_CHECK_SYMBOL_in_table_administration_statement7519_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TABLE_SYMBOL_in_table_administration_statement7522  */
static	ANTLR3_BITWORD FOLLOW_TABLE_SYMBOL_in_table_administration_statement7522_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_TABLE_SYMBOL_in_table_administration_statement7522	= { FOLLOW_TABLE_SYMBOL_in_table_administration_statement7522_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_qualified_identifier_list_in_table_administration_statement7524  */
static	ANTLR3_BITWORD FOLLOW_qualified_identifier_list_in_table_administration_statement7524_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(0x0000000100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_qualified_identifier_list_in_table_administration_statement7524	= { FOLLOW_qualified_identifier_list_in_table_administration_statement7524_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_check_option_in_table_administration_statement7526  */
static	ANTLR3_BITWORD FOLLOW_check_option_in_table_administration_statement7526_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(0x0000000100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_check_option_in_table_administration_statement7526	= { FOLLOW_check_option_in_table_administration_statement7526_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CHECKSUM_SYMBOL_in_table_administration_statement7532  */
static	ANTLR3_BITWORD FOLLOW_CHECKSUM_SYMBOL_in_table_administration_statement7532_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_CHECKSUM_SYMBOL_in_table_administration_statement7532	= { FOLLOW_CHECKSUM_SYMBOL_in_table_administration_statement7532_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TABLE_SYMBOL_in_table_administration_statement7535  */
static	ANTLR3_BITWORD FOLLOW_TABLE_SYMBOL_in_table_administration_statement7535_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_TABLE_SYMBOL_in_table_administration_statement7535	= { FOLLOW_TABLE_SYMBOL_in_table_administration_statement7535_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_qualified_identifier_list_in_table_administration_statement7537  */
static	ANTLR3_BITWORD FOLLOW_qualified_identifier_list_in_table_administration_statement7537_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_statement7537	= { FOLLOW_qualified_identifier_list_in_table_administration_statement7537_bits, 4	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPTIMIZE_SYMBOL_in_table_administration_statement7551  */
static	ANTLR3_BITWORD FOLLOW_OPTIMIZE_SYMBOL_in_table_administration_statement7551_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(0x0000000000008000), ANTLR3_UINT64_LIT(0x0080000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_OPTIMIZE_SYMBOL_in_table_administration_statement7551	= { FOLLOW_OPTIMIZE_SYMBOL_in_table_administration_statement7551_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_no_write_to_bin_log_in_table_administration_statement7554  */
static	ANTLR3_BITWORD FOLLOW_no_write_to_bin_log_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(0x0080000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_no_write_to_bin_log_in_table_administration_statement7554	= { FOLLOW_no_write_to_bin_log_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(0x0008000000000008) };
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) };
static  ANTLR3_BITSET_LIST FOLLOW_qualified_identifier_list_in_table_administration_statement7559	= { FOLLOW_qualified_identifier_list_in_table_administration_statement7559_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_REPAIR_SYMBOL_in_table_administration_statement7564  */
static	ANTLR3_BITWORD FOLLOW_REPAIR_SYMBOL_in_table_administration_statement7564_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(0x0000000000008000), ANTLR3_UINT64_LIT(0x0080000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_REPAIR_SYMBOL_in_table_administration_statement7564	= { FOLLOW_REPAIR_SYMBOL_in_table_administration_statement7564_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_no_write_to_bin_log_in_table_administration_statement7567  */
static	ANTLR3_BITWORD FOLLOW_no_write_to_bin_log_in_table_administration_statement7567_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_write_to_bin_log_in_table_administration_statement7567	= { FOLLOW_no_write_to_bin_log_in_table_administration_statement7567_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TABLE_SYMBOL_in_table_administration_statement7570  */
static	ANTLR3_BITWORD FOLLOW_TABLE_SYMBOL_in_table_administration_statement7570_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_TABLE_SYMBOL_in_table_administration_statement7570	= { FOLLOW_TABLE_SYMBOL_in_table_administration_statement7570_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_qualified_identifier_list_in_table_administration_statement7572  */
static	ANTLR3_BITWORD FOLLOW_qualified_identifier_list_in_table_administration_statement7572_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_statement7572	= { FOLLOW_qualified_identifier_list_in_table_administration_statement7572_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_repair_option_in_table_administration_statement7574  */
static	ANTLR3_BITWORD FOLLOW_repair_option_in_table_administration_statement7574_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_statement7574	= { FOLLOW_repair_option_in_table_administration_statement7574_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BACKUP_SYMBOL_in_table_administration_statement7584  */
static	ANTLR3_BITWORD FOLLOW_BACKUP_SYMBOL_in_table_administration_statement7584_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_BACKUP_SYMBOL_in_table_administration_statement7584	= { FOLLOW_BACKUP_SYMBOL_in_table_administration_statement7584_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TABLE_SYMBOL_in_table_administration_statement7587  */
static	ANTLR3_BITWORD FOLLOW_TABLE_SYMBOL_in_table_administration_statement7587_bits[]	= { ANTLR3_UINT64_LIT(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(0x000800000000000A) };
static  ANTLR3_BITSET_LIST FOLLOW_TABLE_SYMBOL_in_table_administration_statement7587	= { FOLLOW_TABLE_SYMBOL_in_table_administration_statement7587_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_identifier_list_in_table_administration_statement7589  */
static	ANTLR3_BITWORD FOLLOW_table_identifier_list_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(0x2000000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_table_identifier_list_in_table_administration_statement7589	= { FOLLOW_table_identifier_list_in_table_administration_statement7589_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TO_SYMBOL_in_table_administration_statement7591  */
static	ANTLR3_BITWORD FOLLOW_TO_SYMBOL_in_table_administration_statement7591_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_TO_SYMBOL_in_table_administration_statement7591	= { FOLLOW_TO_SYMBOL_in_table_administration_statement7591_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_table_administration_statement7593  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_table_administration_statement7593_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_table_administration_statement7593	= { FOLLOW_string_literal_in_table_administration_statement7593_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_RESTORE_SYMBOL_in_table_administration_statement7602  */
static	ANTLR3_BITWORD FOLLOW_RESTORE_SYMBOL_in_table_administration_statement7602_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_RESTORE_SYMBOL_in_table_administration_statement7602	= { FOLLOW_RESTORE_SYMBOL_in_table_administration_statement7602_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TABLE_SYMBOL_in_table_administration_statement7605  */
static	ANTLR3_BITWORD FOLLOW_TABLE_SYMBOL_in_table_administration_statement7605_bits[]	= { ANTLR3_UINT64_LIT(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(0x000800000000000A) };
static  ANTLR3_BITSET_LIST FOLLOW_TABLE_SYMBOL_in_table_administration_statement7605	= { FOLLOW_TABLE_SYMBOL_in_table_administration_statement7605_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_identifier_list_in_table_administration_statement7607  */
static	ANTLR3_BITWORD FOLLOW_table_identifier_list_in_table_administration_statement7607_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000400000000) };
static  ANTLR3_BITSET_LIST FOLLOW_table_identifier_list_in_table_administration_statement7607	= { FOLLOW_table_identifier_list_in_table_administration_statement7607_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FROM_SYMBOL_in_table_administration_statement7609  */
static	ANTLR3_BITWORD FOLLOW_FROM_SYMBOL_in_table_administration_statement7609_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_FROM_SYMBOL_in_table_administration_statement7609	= { FOLLOW_FROM_SYMBOL_in_table_administration_statement7609_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_table_administration_statement7611  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_table_administration_statement7611_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_table_administration_statement7611	= { FOLLOW_string_literal_in_table_administration_statement7611_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FOR_SYMBOL_in_check_option7620  */
static	ANTLR3_BITWORD FOLLOW_FOR_SYMBOL_in_check_option7620_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_option7620	= { FOLLOW_FOR_SYMBOL_in_check_option7620_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_UPGRADE_SYMBOL_in_check_option7622  */
static	ANTLR3_BITWORD FOLLOW_UPGRADE_SYMBOL_in_check_option7622_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_UPGRADE_SYMBOL_in_check_option7622	= { FOLLOW_UPGRADE_SYMBOL_in_check_option7622_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_QUICK_SYMBOL_in_check_option7626  */
static	ANTLR3_BITWORD FOLLOW_QUICK_SYMBOL_in_check_option7626_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_QUICK_SYMBOL_in_check_option7626	= { FOLLOW_QUICK_SYMBOL_in_check_option7626_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FAST_SYMBOL_in_check_option7630  */
static	ANTLR3_BITWORD FOLLOW_FAST_SYMBOL_in_check_option7630_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_FAST_SYMBOL_in_check_option7630	= { FOLLOW_FAST_SYMBOL_in_check_option7630_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MEDIUM_SYMBOL_in_check_option7634  */
static	ANTLR3_BITWORD FOLLOW_MEDIUM_SYMBOL_in_check_option7634_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_MEDIUM_SYMBOL_in_check_option7634	= { FOLLOW_MEDIUM_SYMBOL_in_check_option7634_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EXTENDED_SYMBOL_in_check_option7638  */
static	ANTLR3_BITWORD FOLLOW_EXTENDED_SYMBOL_in_check_option7638_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_EXTENDED_SYMBOL_in_check_option7638	= { FOLLOW_EXTENDED_SYMBOL_in_check_option7638_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CHANGED_SYMBOL_in_check_option7642  */
static	ANTLR3_BITWORD FOLLOW_CHANGED_SYMBOL_in_check_option7642_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CHANGED_SYMBOL_in_check_option7642	= { FOLLOW_CHANGED_SYMBOL_in_check_option7642_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INSTALL_SYMBOL_in_install_uninstall_statment7670  */
static	ANTLR3_BITWORD FOLLOW_INSTALL_SYMBOL_in_install_uninstall_statment7670_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_statment7670	= { FOLLOW_INSTALL_SYMBOL_in_install_uninstall_statment7670_bits, 4	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PLUGIN_SYMBOL_in_install_uninstall_statment7673  */
static	ANTLR3_BITWORD FOLLOW_PLUGIN_SYMBOL_in_install_uninstall_statment7673_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_PLUGIN_SYMBOL_in_install_uninstall_statment7673	= { FOLLOW_PLUGIN_SYMBOL_in_install_uninstall_statment7673_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_install_uninstall_statment7675  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_install_uninstall_statment7675_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_statment7675	= { FOLLOW_identifier_in_install_uninstall_statment7675_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SONAME_SYMBOL_in_install_uninstall_statment7677  */
static	ANTLR3_BITWORD FOLLOW_SONAME_SYMBOL_in_install_uninstall_statment7677_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_SONAME_SYMBOL_in_install_uninstall_statment7677	= { FOLLOW_SONAME_SYMBOL_in_install_uninstall_statment7677_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_install_uninstall_statment7679  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_install_uninstall_statment7679_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_install_uninstall_statment7679	= { FOLLOW_string_literal_in_install_uninstall_statment7679_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_UNINSTALL_SYMBOL_in_install_uninstall_statment7684  */
static	ANTLR3_BITWORD FOLLOW_UNINSTALL_SYMBOL_in_install_uninstall_statment7684_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_statment7684	= { FOLLOW_UNINSTALL_SYMBOL_in_install_uninstall_statment7684_bits, 4	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PLUGIN_SYMBOL_in_install_uninstall_statment7687  */
static	ANTLR3_BITWORD FOLLOW_PLUGIN_SYMBOL_in_install_uninstall_statment7687_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_PLUGIN_SYMBOL_in_install_uninstall_statment7687	= { FOLLOW_PLUGIN_SYMBOL_in_install_uninstall_statment7687_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_install_uninstall_statment7689  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_install_uninstall_statment7689_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_install_uninstall_statment7689	= { FOLLOW_identifier_in_install_uninstall_statment7689_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SET_SYMBOL_in_set_statement7700  */
static	ANTLR3_BITWORD FOLLOW_SET_SYMBOL_in_set_statement7700_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(0x0008000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_SET_SYMBOL_in_set_statement7700	= { FOLLOW_SET_SYMBOL_in_set_statement7700_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_option_type_in_set_statement7703  */
static	ANTLR3_BITWORD FOLLOW_option_type_in_set_statement7703_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0005800FFFFFFFFF), ANTLR3_UINT64_LIT(0x0020000000001000), ANTLR3_UINT64_LIT(0x0008000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_option_type_in_set_statement7703	= { FOLLOW_option_type_in_set_statement7703_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TRANSACTION_SYMBOL_in_set_statement7714  */
static	ANTLR3_BITWORD FOLLOW_TRANSACTION_SYMBOL_in_set_statement7714_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(0x0002000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_TRANSACTION_SYMBOL_in_set_statement7714	= { FOLLOW_TRANSACTION_SYMBOL_in_set_statement7714_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_transaction_characteristic_in_set_statement7716  */
static	ANTLR3_BITWORD FOLLOW_set_transaction_characteristic_in_set_statement7716_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_set_transaction_characteristic_in_set_statement7716	= { FOLLOW_set_transaction_characteristic_in_set_statement7716_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ONE_SHOT_SYMBOL_in_set_statement7723  */
static	ANTLR3_BITWORD FOLLOW_ONE_SHOT_SYMBOL_in_set_statement7723_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(0x0008000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_ONE_SHOT_SYMBOL_in_set_statement7723	= { FOLLOW_ONE_SHOT_SYMBOL_in_set_statement7723_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_variable_assignment_in_set_statement7726  */
static	ANTLR3_BITWORD FOLLOW_variable_assignment_in_set_statement7726_bits[]	= { ANTLR3_UINT64_LIT(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_statement7726	= { FOLLOW_variable_assignment_in_set_statement7726_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_set_statement7729  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_set_statement7729_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(0x0008000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_set_statement7729	= { FOLLOW_COMMA_SYMBOL_in_set_statement7729_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_option_value_list_in_set_statement7731  */
static	ANTLR3_BITWORD FOLLOW_option_value_list_in_set_statement7731_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_option_value_list_in_set_statement7731	= { FOLLOW_option_value_list_in_set_statement7731_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_NAMES_SYMBOL_in_variable_assignment7752  */
static	ANTLR3_BITWORD FOLLOW_NAMES_SYMBOL_in_variable_assignment7752_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(0x0008000000001008), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_NAMES_SYMBOL_in_variable_assignment7752	= { FOLLOW_NAMES_SYMBOL_in_variable_assignment7752_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_equal_in_variable_assignment7761  */
static	ANTLR3_BITWORD FOLLOW_equal_in_variable_assignment7761_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C056484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_equal_in_variable_assignment7761	= { FOLLOW_equal_in_variable_assignment7761_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_variable_assignment7763  */
static	ANTLR3_BITWORD FOLLOW_expression_in_variable_assignment7763_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_variable_assignment7763	= { FOLLOW_expression_in_variable_assignment7763_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_charset_name_or_default_in_variable_assignment7770  */
static	ANTLR3_BITWORD FOLLOW_charset_name_or_default_in_variable_assignment7770_bits[]	= { ANTLR3_UINT64_LIT(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_assignment7770	= { FOLLOW_charset_name_or_default_in_variable_assignment7770_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COLLATE_SYMBOL_in_variable_assignment7773  */
static	ANTLR3_BITWORD FOLLOW_COLLATE_SYMBOL_in_variable_assignment7773_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_COLLATE_SYMBOL_in_variable_assignment7773	= { FOLLOW_COLLATE_SYMBOL_in_variable_assignment7773_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_collation_name_or_default_in_variable_assignment7775  */
static	ANTLR3_BITWORD FOLLOW_collation_name_or_default_in_variable_assignment7775_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_collation_name_or_default_in_variable_assignment7775	= { FOLLOW_collation_name_or_default_in_variable_assignment7775_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_variable_name_in_variable_assignment7786  */
static	ANTLR3_BITWORD FOLLOW_variable_name_in_variable_assignment7786_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(0x0000000000001000) };
static  ANTLR3_BITSET_LIST FOLLOW_variable_name_in_variable_assignment7786	= { FOLLOW_variable_name_in_variable_assignment7786_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_equal_in_variable_assignment7788  */
static	ANTLR3_BITWORD FOLLOW_equal_in_variable_assignment7788_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900D056484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_equal_in_variable_assignment7788	= { FOLLOW_equal_in_variable_assignment7788_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_expression_or_default_in_variable_assignment7790  */
static	ANTLR3_BITWORD FOLLOW_set_expression_or_default_in_variable_assignment7790_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_set_expression_or_default_in_variable_assignment7790	= { FOLLOW_set_expression_or_default_in_variable_assignment7790_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_user_variable_in_variable_assignment7795  */
static	ANTLR3_BITWORD FOLLOW_user_variable_in_variable_assignment7795_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(0x0000000000001000) };
static  ANTLR3_BITSET_LIST FOLLOW_user_variable_in_variable_assignment7795	= { FOLLOW_user_variable_in_variable_assignment7795_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_equal_in_variable_assignment7797  */
static	ANTLR3_BITWORD FOLLOW_equal_in_variable_assignment7797_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C056484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_equal_in_variable_assignment7797	= { FOLLOW_equal_in_variable_assignment7797_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_variable_assignment7799  */
static	ANTLR3_BITWORD FOLLOW_expression_in_variable_assignment7799_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_variable_assignment7799	= { FOLLOW_expression_in_variable_assignment7799_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_system_variable_in_variable_assignment7804  */
static	ANTLR3_BITWORD FOLLOW_system_variable_in_variable_assignment7804_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(0x0000000000001000) };
static  ANTLR3_BITSET_LIST FOLLOW_system_variable_in_variable_assignment7804	= { FOLLOW_system_variable_in_variable_assignment7804_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_equal_in_variable_assignment7806  */
static	ANTLR3_BITWORD FOLLOW_equal_in_variable_assignment7806_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900D056484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_equal_in_variable_assignment7806	= { FOLLOW_equal_in_variable_assignment7806_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_expression_or_default_in_variable_assignment7808  */
static	ANTLR3_BITWORD FOLLOW_set_expression_or_default_in_variable_assignment7808_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_set_expression_or_default_in_variable_assignment7808	= { FOLLOW_set_expression_or_default_in_variable_assignment7808_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_charset_clause_in_variable_assignment7813  */
static	ANTLR3_BITWORD FOLLOW_charset_clause_in_variable_assignment7813_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_charset_clause_in_variable_assignment7813	= { FOLLOW_charset_clause_in_variable_assignment7813_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_set_expression_or_default7822  */
static	ANTLR3_BITWORD FOLLOW_expression_in_set_expression_or_default7822_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_set_expression_or_default7822	= { FOLLOW_expression_in_set_expression_or_default7822_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DEFAULT_SYMBOL_in_set_expression_or_default7827  */
static	ANTLR3_BITWORD FOLLOW_DEFAULT_SYMBOL_in_set_expression_or_default7827_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_DEFAULT_SYMBOL_in_set_expression_or_default7827	= { FOLLOW_DEFAULT_SYMBOL_in_set_expression_or_default7827_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ON_SYMBOL_in_set_expression_or_default7832  */
static	ANTLR3_BITWORD FOLLOW_ON_SYMBOL_in_set_expression_or_default7832_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_ON_SYMBOL_in_set_expression_or_default7832	= { FOLLOW_ON_SYMBOL_in_set_expression_or_default7832_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ALL_SYMBOL_in_set_expression_or_default7837  */
static	ANTLR3_BITWORD FOLLOW_ALL_SYMBOL_in_set_expression_or_default7837_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_ALL_SYMBOL_in_set_expression_or_default7837	= { FOLLOW_ALL_SYMBOL_in_set_expression_or_default7837_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BINARY_SYMBOL_in_set_expression_or_default7842  */
static	ANTLR3_BITWORD FOLLOW_BINARY_SYMBOL_in_set_expression_or_default7842_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_BINARY_SYMBOL_in_set_expression_or_default7842	= { FOLLOW_BINARY_SYMBOL_in_set_expression_or_default7842_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_option_value_in_option_value_list7851  */
static	ANTLR3_BITWORD FOLLOW_option_value_in_option_value_list7851_bits[]	= { ANTLR3_UINT64_LIT(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_list7851	= { FOLLOW_option_value_in_option_value_list7851_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_option_value_list7854  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_option_value_list7854_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(0x0008000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_option_value_list7854	= { FOLLOW_COMMA_SYMBOL_in_option_value_list7854_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_option_value_in_option_value_list7856  */
static	ANTLR3_BITWORD FOLLOW_option_value_in_option_value_list7856_bits[]	= { ANTLR3_UINT64_LIT(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_list7856	= { FOLLOW_option_value_in_option_value_list7856_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_option_type_in_option_value7867  */
static	ANTLR3_BITWORD FOLLOW_option_type_in_option_value7867_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_option_type_in_option_value7867	= { FOLLOW_option_type_in_option_value7867_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_variable_name_in_option_value7869  */
static	ANTLR3_BITWORD FOLLOW_variable_name_in_option_value7869_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(0x0000000000001000) };
static  ANTLR3_BITSET_LIST FOLLOW_variable_name_in_option_value7869	= { FOLLOW_variable_name_in_option_value7869_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_equal_in_option_value7871  */
static	ANTLR3_BITWORD FOLLOW_equal_in_option_value7871_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900D056484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_equal_in_option_value7871	= { FOLLOW_equal_in_option_value7871_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_expression_or_default_in_option_value7873  */
static	ANTLR3_BITWORD FOLLOW_set_expression_or_default_in_option_value7873_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_set_expression_or_default_in_option_value7873	= { FOLLOW_set_expression_or_default_in_option_value7873_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_variable_assignment_in_option_value7878  */
static	ANTLR3_BITWORD FOLLOW_variable_assignment_in_option_value7878_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_variable_assignment_in_option_value7878	= { FOLLOW_variable_assignment_in_option_value7878_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SHOW_SYMBOL_in_show_statement7889  */
static	ANTLR3_BITWORD FOLLOW_SHOW_SYMBOL_in_show_statement7889_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(0x0080000000000000), ANTLR3_UINT64_LIT(0x0000000000008000), ANTLR3_UINT64_LIT(0x0000200000000000), ANTLR3_UINT64_LIT(0x0080000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_SHOW_SYMBOL_in_show_statement7889	= { FOLLOW_SHOW_SYMBOL_in_show_statement7889_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_AUTHORS_SYMBOL_in_show_statement7897  */
static	ANTLR3_BITWORD FOLLOW_AUTHORS_SYMBOL_in_show_statement7897_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_AUTHORS_SYMBOL_in_show_statement7897	= { FOLLOW_AUTHORS_SYMBOL_in_show_statement7897_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BINARY_SYMBOL_in_show_statement7903  */
static	ANTLR3_BITWORD FOLLOW_BINARY_SYMBOL_in_show_statement7903_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x1000000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_BINARY_SYMBOL_in_show_statement7903	= { FOLLOW_BINARY_SYMBOL_in_show_statement7903_bits, 2	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_LOGS_SYMBOL_in_show_statement7905  */
static	ANTLR3_BITWORD FOLLOW_LOGS_SYMBOL_in_show_statement7905_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_LOGS_SYMBOL_in_show_statement7905	= { FOLLOW_LOGS_SYMBOL_in_show_statement7905_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_show_statement7911  */
static	ANTLR3_BITWORD FOLLOW_set_in_show_statement7911_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000004000) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_show_statement7911	= { FOLLOW_set_in_show_statement7911_bits, 2	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EVENTS_SYMBOL_in_show_statement7919  */
static	ANTLR3_BITWORD FOLLOW_EVENTS_SYMBOL_in_show_statement7919_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(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), ANTLR3_UINT64_LIT(0x0000000020000080) };
static  ANTLR3_BITSET_LIST FOLLOW_EVENTS_SYMBOL_in_show_statement7919	= { FOLLOW_EVENTS_SYMBOL_in_show_statement7919_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_IN_SYMBOL_in_show_statement7922  */
static	ANTLR3_BITWORD FOLLOW_IN_SYMBOL_in_show_statement7922_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_IN_SYMBOL_in_show_statement7922	= { FOLLOW_IN_SYMBOL_in_show_statement7922_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_show_statement7924  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_show_statement7924_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(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), ANTLR3_UINT64_LIT(0x0000000020000000) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_show_statement7924	= { FOLLOW_string_literal_in_show_statement7924_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FROM_SYMBOL_in_show_statement7929  */
static	ANTLR3_BITWORD FOLLOW_FROM_SYMBOL_in_show_statement7929_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000004) };
static  ANTLR3_BITSET_LIST FOLLOW_FROM_SYMBOL_in_show_statement7929	= { FOLLOW_FROM_SYMBOL_in_show_statement7929_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_show_statement7931  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_show_statement7931_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_INTEGER_in_show_statement7931	= { FOLLOW_INTEGER_in_show_statement7931_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_limit_clause_in_show_statement7935  */
static	ANTLR3_BITWORD FOLLOW_limit_clause_in_show_statement7935_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_limit_clause_in_show_statement7935	= { FOLLOW_limit_clause_in_show_statement7935_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CHAR_SYMBOL_in_show_statement7943  */
static	ANTLR3_BITWORD FOLLOW_CHAR_SYMBOL_in_show_statement7943_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_CHAR_SYMBOL_in_show_statement7943	= { FOLLOW_CHAR_SYMBOL_in_show_statement7943_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SET_SYMBOL_in_show_statement7945  */
static	ANTLR3_BITWORD FOLLOW_SET_SYMBOL_in_show_statement7945_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_SET_SYMBOL_in_show_statement7945	= { FOLLOW_SET_SYMBOL_in_show_statement7945_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CHARSET_SYMBOL_in_show_statement7949  */
static	ANTLR3_BITWORD FOLLOW_CHARSET_SYMBOL_in_show_statement7949_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_CHARSET_SYMBOL_in_show_statement7949	= { FOLLOW_CHARSET_SYMBOL_in_show_statement7949_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_like_or_where_in_show_statement7952  */
static	ANTLR3_BITWORD FOLLOW_like_or_where_in_show_statement7952_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_like_or_where_in_show_statement7952	= { FOLLOW_like_or_where_in_show_statement7952_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COLLATION_SYMBOL_in_show_statement7959  */
static	ANTLR3_BITWORD FOLLOW_COLLATION_SYMBOL_in_show_statement7959_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_COLLATION_SYMBOL_in_show_statement7959	= { FOLLOW_COLLATION_SYMBOL_in_show_statement7959_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_like_or_where_in_show_statement7961  */
static	ANTLR3_BITWORD FOLLOW_like_or_where_in_show_statement7961_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_like_or_where_in_show_statement7961	= { FOLLOW_like_or_where_in_show_statement7961_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FULL_SYMBOL_in_show_statement7968  */
static	ANTLR3_BITWORD FOLLOW_FULL_SYMBOL_in_show_statement7968_bits[]	= { ANTLR3_UINT64_LIT(0x0000000400000000) };
static  ANTLR3_BITSET_LIST FOLLOW_FULL_SYMBOL_in_show_statement7968	= { FOLLOW_FULL_SYMBOL_in_show_statement7968_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COLUMNS_SYMBOL_in_show_statement7971  */
static	ANTLR3_BITWORD FOLLOW_COLUMNS_SYMBOL_in_show_statement7971_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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), ANTLR3_UINT64_LIT(0x0000000000000080) };
static  ANTLR3_BITSET_LIST FOLLOW_COLUMNS_SYMBOL_in_show_statement7971	= { FOLLOW_COLUMNS_SYMBOL_in_show_statement7971_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_show_statement7973  */
static	ANTLR3_BITWORD FOLLOW_set_in_show_statement7973_bits[]	= { ANTLR3_UINT64_LIT(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(0x000800000000000A) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_show_statement7973	= { FOLLOW_set_in_show_statement7973_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_identifier_in_show_statement7981  */
static	ANTLR3_BITWORD FOLLOW_table_identifier_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(0x0000000400000000), ANTLR3_UINT64_LIT(0x0000000010000080), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_table_identifier_in_show_statement7981	= { FOLLOW_table_identifier_in_show_statement7981_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_in_db_in_show_statement7983  */
static	ANTLR3_BITWORD FOLLOW_in_db_in_show_statement7983_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_in_db_in_show_statement7983	= { FOLLOW_in_db_in_show_statement7983_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_like_or_where_in_show_statement7986  */
static	ANTLR3_BITWORD FOLLOW_like_or_where_in_show_statement7986_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_like_or_where_in_show_statement7986	= { FOLLOW_like_or_where_in_show_statement7986_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CONTRIBUTORS_SYMBOL_in_show_statement7993  */
static	ANTLR3_BITWORD FOLLOW_CONTRIBUTORS_SYMBOL_in_show_statement7993_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CONTRIBUTORS_SYMBOL_in_show_statement7993	= { FOLLOW_CONTRIBUTORS_SYMBOL_in_show_statement7993_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COUNT_SYMBOL_in_show_statement7999  */
static	ANTLR3_BITWORD FOLLOW_COUNT_SYMBOL_in_show_statement7999_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_COUNT_SYMBOL_in_show_statement7999	= { FOLLOW_COUNT_SYMBOL_in_show_statement7999_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_show_statement8001  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_show_statement8001_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_OPEN_PAR_SYMBOL_in_show_statement8001	= { FOLLOW_OPEN_PAR_SYMBOL_in_show_statement8001_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MULT_OPERATOR_in_show_statement8003  */
static	ANTLR3_BITWORD FOLLOW_MULT_OPERATOR_in_show_statement8003_bits[]	= { ANTLR3_UINT64_LIT(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_statement8003	= { FOLLOW_MULT_OPERATOR_in_show_statement8003_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_show_statement8005  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_show_statement8005_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_statement8005	= { FOLLOW_CLOSE_PAR_SYMBOL_in_show_statement8005_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_show_statement8007  */
static	ANTLR3_BITWORD FOLLOW_set_in_show_statement8007_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_show_statement8007	= { FOLLOW_set_in_show_statement8007_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CREATE_SYMBOL_in_show_statement8019  */
static	ANTLR3_BITWORD FOLLOW_CREATE_SYMBOL_in_show_statement8019_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(0x0000200000000000), ANTLR3_UINT64_LIT(0x8080000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_CREATE_SYMBOL_in_show_statement8019	= { FOLLOW_CREATE_SYMBOL_in_show_statement8019_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_show_statement8021  */
static	ANTLR3_BITWORD FOLLOW_set_in_show_statement8021_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_show_statement8021	= { FOLLOW_set_in_show_statement8021_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_qualified_identifier_in_show_statement8049  */
static	ANTLR3_BITWORD FOLLOW_qualified_identifier_in_show_statement8049_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_qualified_identifier_in_show_statement8049	= { FOLLOW_qualified_identifier_in_show_statement8049_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DATABASES_SYMBOL_in_show_statement8055  */
static	ANTLR3_BITWORD FOLLOW_DATABASES_SYMBOL_in_show_statement8055_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_DATABASES_SYMBOL_in_show_statement8055	= { FOLLOW_DATABASES_SYMBOL_in_show_statement8055_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_like_clause_in_show_statement8057  */
static	ANTLR3_BITWORD FOLLOW_like_clause_in_show_statement8057_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_like_clause_in_show_statement8057	= { FOLLOW_like_clause_in_show_statement8057_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ENGINE_SYMBOL_in_show_statement8064  */
static	ANTLR3_BITWORD FOLLOW_ENGINE_SYMBOL_in_show_statement8064_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_ENGINE_SYMBOL_in_show_statement8064	= { FOLLOW_ENGINE_SYMBOL_in_show_statement8064_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_text_or_identifier_in_show_statement8066  */
static	ANTLR3_BITWORD FOLLOW_text_or_identifier_in_show_statement8066_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_statement8066	= { FOLLOW_text_or_identifier_in_show_statement8066_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_show_statement8068  */
static	ANTLR3_BITWORD FOLLOW_set_in_show_statement8068_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_show_statement8068	= { FOLLOW_set_in_show_statement8068_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_STORAGE_SYMBOL_in_show_statement8080  */
static	ANTLR3_BITWORD FOLLOW_STORAGE_SYMBOL_in_show_statement8080_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000100) };
static  ANTLR3_BITSET_LIST FOLLOW_STORAGE_SYMBOL_in_show_statement8080	= { FOLLOW_STORAGE_SYMBOL_in_show_statement8080_bits, 2	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ENGINES_SYMBOL_in_show_statement8083  */
static	ANTLR3_BITWORD FOLLOW_ENGINES_SYMBOL_in_show_statement8083_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_ENGINES_SYMBOL_in_show_statement8083	= { FOLLOW_ENGINES_SYMBOL_in_show_statement8083_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ERRORS_SYMBOL_in_show_statement8089  */
static	ANTLR3_BITWORD FOLLOW_ERRORS_SYMBOL_in_show_statement8089_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_ERRORS_SYMBOL_in_show_statement8089	= { FOLLOW_ERRORS_SYMBOL_in_show_statement8089_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_limit_clause_in_show_statement8091  */
static	ANTLR3_BITWORD FOLLOW_limit_clause_in_show_statement8091_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_limit_clause_in_show_statement8091	= { FOLLOW_limit_clause_in_show_statement8091_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EVENTS_SYMBOL_in_show_statement8098  */
static	ANTLR3_BITWORD FOLLOW_EVENTS_SYMBOL_in_show_statement8098_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_EVENTS_SYMBOL_in_show_statement8098	= { FOLLOW_EVENTS_SYMBOL_in_show_statement8098_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FUNCTION_SYMBOL_in_show_statement8104  */
static	ANTLR3_BITWORD FOLLOW_FUNCTION_SYMBOL_in_show_statement8104_bits[]	= { ANTLR3_UINT64_LIT(0x0000000100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_FUNCTION_SYMBOL_in_show_statement8104	= { FOLLOW_FUNCTION_SYMBOL_in_show_statement8104_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CODE_SYMBOL_in_show_statement8106  */
static	ANTLR3_BITWORD FOLLOW_CODE_SYMBOL_in_show_statement8106_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_CODE_SYMBOL_in_show_statement8106	= { FOLLOW_CODE_SYMBOL_in_show_statement8106_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_qualified_identifier_in_show_statement8108  */
static	ANTLR3_BITWORD FOLLOW_qualified_identifier_in_show_statement8108_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_qualified_identifier_in_show_statement8108	= { FOLLOW_qualified_identifier_in_show_statement8108_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FUNCTION_SYMBOL_in_show_statement8114  */
static	ANTLR3_BITWORD FOLLOW_FUNCTION_SYMBOL_in_show_statement8114_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_statement8114	= { FOLLOW_FUNCTION_SYMBOL_in_show_statement8114_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_STATUS_SYMBOL_in_show_statement8116  */
static	ANTLR3_BITWORD FOLLOW_STATUS_SYMBOL_in_show_statement8116_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_STATUS_SYMBOL_in_show_statement8116	= { FOLLOW_STATUS_SYMBOL_in_show_statement8116_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_like_or_where_in_show_statement8118  */
static	ANTLR3_BITWORD FOLLOW_like_or_where_in_show_statement8118_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_like_or_where_in_show_statement8118	= { FOLLOW_like_or_where_in_show_statement8118_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_GRANTS_SYMBOL_in_show_statement8125  */
static	ANTLR3_BITWORD FOLLOW_GRANTS_SYMBOL_in_show_statement8125_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_GRANTS_SYMBOL_in_show_statement8125	= { FOLLOW_GRANTS_SYMBOL_in_show_statement8125_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FOR_SYMBOL_in_show_statement8127  */
static	ANTLR3_BITWORD FOLLOW_FOR_SYMBOL_in_show_statement8127_bits[]	= { ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFF0), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0xFFFFFFFFFFFFFFFF), ANTLR3_UINT64_LIT(0x0004000FFFFFFFFF), ANTLR3_UINT64_LIT(0x0000000200000000), ANTLR3_UINT64_LIT(0x0008000000000008), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_FOR_SYMBOL_in_show_statement8127	= { FOLLOW_FOR_SYMBOL_in_show_statement8127_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_user_in_show_statement8129  */
static	ANTLR3_BITWORD FOLLOW_user_in_show_statement8129_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_user_in_show_statement8129	= { FOLLOW_user_in_show_statement8129_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_show_statement8135  */
static	ANTLR3_BITWORD FOLLOW_set_in_show_statement8135_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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), ANTLR3_UINT64_LIT(0x0000000000000080) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_show_statement8135	= { FOLLOW_set_in_show_statement8135_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_from_or_in_in_show_statement8147  */
static	ANTLR3_BITWORD FOLLOW_from_or_in_in_show_statement8147_bits[]	= { ANTLR3_UINT64_LIT(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(0x000800000000000A) };
static  ANTLR3_BITSET_LIST FOLLOW_from_or_in_in_show_statement8147	= { FOLLOW_from_or_in_in_show_statement8147_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_identifier_in_show_statement8149  */
static	ANTLR3_BITWORD FOLLOW_table_identifier_in_show_statement8149_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(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), ANTLR3_UINT64_LIT(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_table_identifier_in_show_statement8149	= { FOLLOW_table_identifier_in_show_statement8149_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_in_db_in_show_statement8151  */
static	ANTLR3_BITWORD FOLLOW_in_db_in_show_statement8151_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_in_db_in_show_statement8151	= { FOLLOW_in_db_in_show_statement8151_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_where_clause_in_show_statement8154  */
static	ANTLR3_BITWORD FOLLOW_where_clause_in_show_statement8154_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_where_clause_in_show_statement8154	= { FOLLOW_where_clause_in_show_statement8154_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INNODB_SYMBOL_in_show_statement8165  */
static	ANTLR3_BITWORD FOLLOW_INNODB_SYMBOL_in_show_statement8165_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_statement8165	= { FOLLOW_INNODB_SYMBOL_in_show_statement8165_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_STATUS_SYMBOL_in_show_statement8167  */
static	ANTLR3_BITWORD FOLLOW_STATUS_SYMBOL_in_show_statement8167_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_STATUS_SYMBOL_in_show_statement8167	= { FOLLOW_STATUS_SYMBOL_in_show_statement8167_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MASTER_SYMBOL_in_show_statement8174  */
static	ANTLR3_BITWORD FOLLOW_MASTER_SYMBOL_in_show_statement8174_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_statement8174	= { FOLLOW_MASTER_SYMBOL_in_show_statement8174_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_STATUS_SYMBOL_in_show_statement8176  */
static	ANTLR3_BITWORD FOLLOW_STATUS_SYMBOL_in_show_statement8176_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_STATUS_SYMBOL_in_show_statement8176	= { FOLLOW_STATUS_SYMBOL_in_show_statement8176_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_SYMBOL_in_show_statement8182  */
static	ANTLR3_BITWORD FOLLOW_OPEN_SYMBOL_in_show_statement8182_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_statement8182	= { FOLLOW_OPEN_SYMBOL_in_show_statement8182_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TABLES_SYMBOL_in_show_statement8184  */
static	ANTLR3_BITWORD FOLLOW_TABLES_SYMBOL_in_show_statement8184_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(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), ANTLR3_UINT64_LIT(0x0000000010000080), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_TABLES_SYMBOL_in_show_statement8184	= { FOLLOW_TABLES_SYMBOL_in_show_statement8184_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_in_db_in_show_statement8186  */
static	ANTLR3_BITWORD FOLLOW_in_db_in_show_statement8186_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_in_db_in_show_statement8186	= { FOLLOW_in_db_in_show_statement8186_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_like_or_where_in_show_statement8189  */
static	ANTLR3_BITWORD FOLLOW_like_or_where_in_show_statement8189_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_like_or_where_in_show_statement8189	= { FOLLOW_like_or_where_in_show_statement8189_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PLUGIN_SYMBOL_in_show_statement8200  */
static	ANTLR3_BITWORD FOLLOW_PLUGIN_SYMBOL_in_show_statement8200_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_PLUGIN_SYMBOL_in_show_statement8200	= { FOLLOW_PLUGIN_SYMBOL_in_show_statement8200_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PLUGINS_SYMBOL_in_show_statement8211  */
static	ANTLR3_BITWORD FOLLOW_PLUGINS_SYMBOL_in_show_statement8211_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_PLUGINS_SYMBOL_in_show_statement8211	= { FOLLOW_PLUGINS_SYMBOL_in_show_statement8211_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PROCEDURE_SYMBOL_in_show_statement8217  */
static	ANTLR3_BITWORD FOLLOW_PROCEDURE_SYMBOL_in_show_statement8217_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_statement8217	= { FOLLOW_PROCEDURE_SYMBOL_in_show_statement8217_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_STATUS_SYMBOL_in_show_statement8219  */
static	ANTLR3_BITWORD FOLLOW_STATUS_SYMBOL_in_show_statement8219_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_STATUS_SYMBOL_in_show_statement8219	= { FOLLOW_STATUS_SYMBOL_in_show_statement8219_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_like_or_where_in_show_statement8221  */
static	ANTLR3_BITWORD FOLLOW_like_or_where_in_show_statement8221_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_like_or_where_in_show_statement8221	= { FOLLOW_like_or_where_in_show_statement8221_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PROCEDURE_SYMBOL_in_show_statement8228  */
static	ANTLR3_BITWORD FOLLOW_PROCEDURE_SYMBOL_in_show_statement8228_bits[]	= { ANTLR3_UINT64_LIT(0x0000000100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_PROCEDURE_SYMBOL_in_show_statement8228	= { FOLLOW_PROCEDURE_SYMBOL_in_show_statement8228_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CODE_SYMBOL_in_show_statement8230  */
static	ANTLR3_BITWORD FOLLOW_CODE_SYMBOL_in_show_statement8230_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_CODE_SYMBOL_in_show_statement8230	= { FOLLOW_CODE_SYMBOL_in_show_statement8230_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_qualified_identifier_in_show_statement8232  */
static	ANTLR3_BITWORD FOLLOW_qualified_identifier_in_show_statement8232_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_qualified_identifier_in_show_statement8232	= { FOLLOW_qualified_identifier_in_show_statement8232_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PRIVILEGES_SYMBOL_in_show_statement8238  */
static	ANTLR3_BITWORD FOLLOW_PRIVILEGES_SYMBOL_in_show_statement8238_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_PRIVILEGES_SYMBOL_in_show_statement8238	= { FOLLOW_PRIVILEGES_SYMBOL_in_show_statement8238_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FULL_SYMBOL_in_show_statement8244  */
static	ANTLR3_BITWORD FOLLOW_FULL_SYMBOL_in_show_statement8244_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_statement8244	= { FOLLOW_FULL_SYMBOL_in_show_statement8244_bits, 4	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PROCESSLIST_SYMBOL_in_show_statement8247  */
static	ANTLR3_BITWORD FOLLOW_PROCESSLIST_SYMBOL_in_show_statement8247_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_PROCESSLIST_SYMBOL_in_show_statement8247	= { FOLLOW_PROCESSLIST_SYMBOL_in_show_statement8247_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PROFILE_SYMBOL_in_show_statement8253  */
static	ANTLR3_BITWORD FOLLOW_PROFILE_SYMBOL_in_show_statement8253_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(0x0000000100000000), ANTLR3_UINT64_LIT(0x0000000020000000) };
static  ANTLR3_BITSET_LIST FOLLOW_PROFILE_SYMBOL_in_show_statement8253	= { FOLLOW_PROFILE_SYMBOL_in_show_statement8253_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_profile_type_in_show_statement8256  */
static	ANTLR3_BITWORD FOLLOW_profile_type_in_show_statement8256_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000000100000000), ANTLR3_UINT64_LIT(0x0000000020000000) };
static  ANTLR3_BITSET_LIST FOLLOW_profile_type_in_show_statement8256	= { FOLLOW_profile_type_in_show_statement8256_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_show_statement8259  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_show_statement8259_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_statement8259	= { FOLLOW_COMMA_SYMBOL_in_show_statement8259_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_profile_type_in_show_statement8261  */
static	ANTLR3_BITWORD FOLLOW_profile_type_in_show_statement8261_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000000100000000), ANTLR3_UINT64_LIT(0x0000000020000000) };
static  ANTLR3_BITSET_LIST FOLLOW_profile_type_in_show_statement8261	= { FOLLOW_profile_type_in_show_statement8261_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FOR_SYMBOL_in_show_statement8268  */
static	ANTLR3_BITWORD FOLLOW_FOR_SYMBOL_in_show_statement8268_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_statement8268	= { FOLLOW_FOR_SYMBOL_in_show_statement8268_bits, 4	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_QUERY_SYMBOL_in_show_statement8270  */
static	ANTLR3_BITWORD FOLLOW_QUERY_SYMBOL_in_show_statement8270_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000004) };
static  ANTLR3_BITSET_LIST FOLLOW_QUERY_SYMBOL_in_show_statement8270	= { FOLLOW_QUERY_SYMBOL_in_show_statement8270_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_show_statement8272  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_show_statement8272_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_INTEGER_in_show_statement8272	= { FOLLOW_INTEGER_in_show_statement8272_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_limit_clause_in_show_statement8276  */
static	ANTLR3_BITWORD FOLLOW_limit_clause_in_show_statement8276_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_limit_clause_in_show_statement8276	= { FOLLOW_limit_clause_in_show_statement8276_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PROFILES_SYMBOL_in_show_statement8283  */
static	ANTLR3_BITWORD FOLLOW_PROFILES_SYMBOL_in_show_statement8283_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_PROFILES_SYMBOL_in_show_statement8283	= { FOLLOW_PROFILES_SYMBOL_in_show_statement8283_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SLAVE_SYMBOL_in_show_statement8289  */
static	ANTLR3_BITWORD FOLLOW_SLAVE_SYMBOL_in_show_statement8289_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_statement8289	= { FOLLOW_SLAVE_SYMBOL_in_show_statement8289_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_show_statement8291  */
static	ANTLR3_BITWORD FOLLOW_set_in_show_statement8291_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_show_statement8291	= { FOLLOW_set_in_show_statement8291_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_option_type_in_show_statement8303  */
static	ANTLR3_BITWORD FOLLOW_option_type_in_show_statement8303_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_statement8303	= { FOLLOW_option_type_in_show_statement8303_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_show_statement8306  */
static	ANTLR3_BITWORD FOLLOW_set_in_show_statement8306_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_show_statement8306	= { FOLLOW_set_in_show_statement8306_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_like_or_where_in_show_statement8314  */
static	ANTLR3_BITWORD FOLLOW_like_or_where_in_show_statement8314_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_like_or_where_in_show_statement8314	= { FOLLOW_like_or_where_in_show_statement8314_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TABLE_SYMBOL_in_show_statement8321  */
static	ANTLR3_BITWORD FOLLOW_TABLE_SYMBOL_in_show_statement8321_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_statement8321	= { FOLLOW_TABLE_SYMBOL_in_show_statement8321_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_STATUS_SYMBOL_in_show_statement8323  */
static	ANTLR3_BITWORD FOLLOW_STATUS_SYMBOL_in_show_statement8323_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(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), ANTLR3_UINT64_LIT(0x0000000010000080), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_STATUS_SYMBOL_in_show_statement8323	= { FOLLOW_STATUS_SYMBOL_in_show_statement8323_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_in_db_in_show_statement8325  */
static	ANTLR3_BITWORD FOLLOW_in_db_in_show_statement8325_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_in_db_in_show_statement8325	= { FOLLOW_in_db_in_show_statement8325_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_like_or_where_in_show_statement8328  */
static	ANTLR3_BITWORD FOLLOW_like_or_where_in_show_statement8328_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_like_or_where_in_show_statement8328	= { FOLLOW_like_or_where_in_show_statement8328_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FULL_SYMBOL_in_show_statement8335  */
static	ANTLR3_BITWORD FOLLOW_FULL_SYMBOL_in_show_statement8335_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_statement8335	= { FOLLOW_FULL_SYMBOL_in_show_statement8335_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TABLES_SYMBOL_in_show_statement8338  */
static	ANTLR3_BITWORD FOLLOW_TABLES_SYMBOL_in_show_statement8338_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(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), ANTLR3_UINT64_LIT(0x0000000010000080), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_TABLES_SYMBOL_in_show_statement8338	= { FOLLOW_TABLES_SYMBOL_in_show_statement8338_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_in_db_in_show_statement8340  */
static	ANTLR3_BITWORD FOLLOW_in_db_in_show_statement8340_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_in_db_in_show_statement8340	= { FOLLOW_in_db_in_show_statement8340_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_like_or_where_in_show_statement8343  */
static	ANTLR3_BITWORD FOLLOW_like_or_where_in_show_statement8343_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_like_or_where_in_show_statement8343	= { FOLLOW_like_or_where_in_show_statement8343_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FULL_SYMBOL_in_show_statement8350  */
static	ANTLR3_BITWORD FOLLOW_FULL_SYMBOL_in_show_statement8350_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_statement8350	= { FOLLOW_FULL_SYMBOL_in_show_statement8350_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TRIGGERS_SYMBOL_in_show_statement8353  */
static	ANTLR3_BITWORD FOLLOW_TRIGGERS_SYMBOL_in_show_statement8353_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(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), ANTLR3_UINT64_LIT(0x0000000010000080), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_TRIGGERS_SYMBOL_in_show_statement8353	= { FOLLOW_TRIGGERS_SYMBOL_in_show_statement8353_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_in_db_in_show_statement8355  */
static	ANTLR3_BITWORD FOLLOW_in_db_in_show_statement8355_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000) };
static  ANTLR3_BITSET_LIST FOLLOW_in_db_in_show_statement8355	= { FOLLOW_in_db_in_show_statement8355_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_like_or_where_in_show_statement8358  */
static	ANTLR3_BITWORD FOLLOW_like_or_where_in_show_statement8358_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_like_or_where_in_show_statement8358	= { FOLLOW_like_or_where_in_show_statement8358_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_WARNINGS_SYMBOL_in_show_statement8365  */
static	ANTLR3_BITWORD FOLLOW_WARNINGS_SYMBOL_in_show_statement8365_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_WARNINGS_SYMBOL_in_show_statement8365	= { FOLLOW_WARNINGS_SYMBOL_in_show_statement8365_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_limit_clause_in_show_statement8367  */
static	ANTLR3_BITWORD FOLLOW_limit_clause_in_show_statement8367_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_limit_clause_in_show_statement8367	= { FOLLOW_limit_clause_in_show_statement8367_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_from_or_in_in_in_db8393  */
static	ANTLR3_BITWORD FOLLOW_from_or_in_in_in_db8393_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_from_or_in_in_in_db8393	= { FOLLOW_from_or_in_in_in_db8393_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_in_db8395  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_in_db8395_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_in_db8395	= { FOLLOW_identifier_in_in_db8395_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ALL_SYMBOL_in_profile_type8404  */
static	ANTLR3_BITWORD FOLLOW_ALL_SYMBOL_in_profile_type8404_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_ALL_SYMBOL_in_profile_type8404	= { FOLLOW_ALL_SYMBOL_in_profile_type8404_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BLOCK_SYMBOL_in_profile_type8409  */
static	ANTLR3_BITWORD FOLLOW_BLOCK_SYMBOL_in_profile_type8409_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000400000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_BLOCK_SYMBOL_in_profile_type8409	= { FOLLOW_BLOCK_SYMBOL_in_profile_type8409_bits, 2	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_IO_SYMBOL_in_profile_type8411  */
static	ANTLR3_BITWORD FOLLOW_IO_SYMBOL_in_profile_type8411_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_IO_SYMBOL_in_profile_type8411	= { FOLLOW_IO_SYMBOL_in_profile_type8411_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CONTEXT_SYMBOL_in_profile_type8416  */
static	ANTLR3_BITWORD FOLLOW_CONTEXT_SYMBOL_in_profile_type8416_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_type8416	= { FOLLOW_CONTEXT_SYMBOL_in_profile_type8416_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SWITCHES_SYMBOL_in_profile_type8418  */
static	ANTLR3_BITWORD FOLLOW_SWITCHES_SYMBOL_in_profile_type8418_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_SWITCHES_SYMBOL_in_profile_type8418	= { FOLLOW_SWITCHES_SYMBOL_in_profile_type8418_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CPU_SYMBOL_in_profile_type8423  */
static	ANTLR3_BITWORD FOLLOW_CPU_SYMBOL_in_profile_type8423_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CPU_SYMBOL_in_profile_type8423	= { FOLLOW_CPU_SYMBOL_in_profile_type8423_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_IPC_SYMBOL_in_profile_type8428  */
static	ANTLR3_BITWORD FOLLOW_IPC_SYMBOL_in_profile_type8428_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_IPC_SYMBOL_in_profile_type8428	= { FOLLOW_IPC_SYMBOL_in_profile_type8428_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MEMORY_SYMBOL_in_profile_type8433  */
static	ANTLR3_BITWORD FOLLOW_MEMORY_SYMBOL_in_profile_type8433_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_MEMORY_SYMBOL_in_profile_type8433	= { FOLLOW_MEMORY_SYMBOL_in_profile_type8433_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PAGE_SYMBOL_in_profile_type8438  */
static	ANTLR3_BITWORD FOLLOW_PAGE_SYMBOL_in_profile_type8438_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000400000) };
static  ANTLR3_BITSET_LIST FOLLOW_PAGE_SYMBOL_in_profile_type8438	= { FOLLOW_PAGE_SYMBOL_in_profile_type8438_bits, 2	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FAULTS_SYMBOL_in_profile_type8440  */
static	ANTLR3_BITWORD FOLLOW_FAULTS_SYMBOL_in_profile_type8440_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_FAULTS_SYMBOL_in_profile_type8440	= { FOLLOW_FAULTS_SYMBOL_in_profile_type8440_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SOURCE_SYMBOL_in_profile_type8445  */
static	ANTLR3_BITWORD FOLLOW_SOURCE_SYMBOL_in_profile_type8445_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_SOURCE_SYMBOL_in_profile_type8445	= { FOLLOW_SOURCE_SYMBOL_in_profile_type8445_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SWAPS_SYMBOL_in_profile_type8450  */
static	ANTLR3_BITWORD FOLLOW_SWAPS_SYMBOL_in_profile_type8450_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_SWAPS_SYMBOL_in_profile_type8450	= { FOLLOW_SWAPS_SYMBOL_in_profile_type8450_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BINLOG_SYMBOL_in_miscellaneous_statement8461  */
static	ANTLR3_BITWORD FOLLOW_BINLOG_SYMBOL_in_miscellaneous_statement8461_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_BINLOG_SYMBOL_in_miscellaneous_statement8461	= { FOLLOW_BINLOG_SYMBOL_in_miscellaneous_statement8461_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_miscellaneous_statement8464  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_miscellaneous_statement8464_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_miscellaneous_statement8464	= { FOLLOW_string_literal_in_miscellaneous_statement8464_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CACHE_SYMBOL_in_miscellaneous_statement8469  */
static	ANTLR3_BITWORD FOLLOW_CACHE_SYMBOL_in_miscellaneous_statement8469_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_CACHE_SYMBOL_in_miscellaneous_statement8469	= { FOLLOW_CACHE_SYMBOL_in_miscellaneous_statement8469_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INDEX_SYMBOL_in_miscellaneous_statement8472  */
static	ANTLR3_BITWORD FOLLOW_INDEX_SYMBOL_in_miscellaneous_statement8472_bits[]	= { ANTLR3_UINT64_LIT(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(0x000800000000000A) };
static  ANTLR3_BITSET_LIST FOLLOW_INDEX_SYMBOL_in_miscellaneous_statement8472	= { FOLLOW_INDEX_SYMBOL_in_miscellaneous_statement8472_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_key_cache_list_or_parts_in_miscellaneous_statement8474  */
static	ANTLR3_BITWORD FOLLOW_key_cache_list_or_parts_in_miscellaneous_statement8474_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_key_cache_list_or_parts_in_miscellaneous_statement8474	= { FOLLOW_key_cache_list_or_parts_in_miscellaneous_statement8474_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_IN_SYMBOL_in_miscellaneous_statement8476  */
static	ANTLR3_BITWORD FOLLOW_IN_SYMBOL_in_miscellaneous_statement8476_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_IN_SYMBOL_in_miscellaneous_statement8476	= { FOLLOW_IN_SYMBOL_in_miscellaneous_statement8476_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_miscellaneous_statement8479  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_miscellaneous_statement8479_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_miscellaneous_statement8479	= { FOLLOW_identifier_in_miscellaneous_statement8479_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DEFAULT_SYMBOL_in_miscellaneous_statement8483  */
static	ANTLR3_BITWORD FOLLOW_DEFAULT_SYMBOL_in_miscellaneous_statement8483_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_DEFAULT_SYMBOL_in_miscellaneous_statement8483	= { FOLLOW_DEFAULT_SYMBOL_in_miscellaneous_statement8483_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FLUSH_SYMBOL_in_miscellaneous_statement8489  */
static	ANTLR3_BITWORD FOLLOW_FLUSH_SYMBOL_in_miscellaneous_statement8489_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(0x0000000000008000), ANTLR3_UINT64_LIT(0x0080000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_FLUSH_SYMBOL_in_miscellaneous_statement8489	= { FOLLOW_FLUSH_SYMBOL_in_miscellaneous_statement8489_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_no_write_to_bin_log_in_miscellaneous_statement8492  */
static	ANTLR3_BITWORD FOLLOW_no_write_to_bin_log_in_miscellaneous_statement8492_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(0x0080000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_no_write_to_bin_log_in_miscellaneous_statement8492	= { FOLLOW_no_write_to_bin_log_in_miscellaneous_statement8492_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_flush_option_in_miscellaneous_statement8495  */
static	ANTLR3_BITWORD FOLLOW_flush_option_in_miscellaneous_statement8495_bits[]	= { ANTLR3_UINT64_LIT(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_statement8495	= { FOLLOW_flush_option_in_miscellaneous_statement8495_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_miscellaneous_statement8498  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_miscellaneous_statement8498_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(0x0080000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_miscellaneous_statement8498	= { FOLLOW_COMMA_SYMBOL_in_miscellaneous_statement8498_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_flush_option_in_miscellaneous_statement8500  */
static	ANTLR3_BITWORD FOLLOW_flush_option_in_miscellaneous_statement8500_bits[]	= { ANTLR3_UINT64_LIT(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_statement8500	= { FOLLOW_flush_option_in_miscellaneous_statement8500_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_KILL_SYMBOL_in_miscellaneous_statement8507  */
static	ANTLR3_BITWORD FOLLOW_KILL_SYMBOL_in_miscellaneous_statement8507_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(0x0000000000000004) };
static  ANTLR3_BITSET_LIST FOLLOW_KILL_SYMBOL_in_miscellaneous_statement8507	= { FOLLOW_KILL_SYMBOL_in_miscellaneous_statement8507_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_miscellaneous_statement8519  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_miscellaneous_statement8519_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_INTEGER_in_miscellaneous_statement8519	= { FOLLOW_INTEGER_in_miscellaneous_statement8519_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_LOAD_SYMBOL_in_miscellaneous_statement8524  */
static	ANTLR3_BITWORD FOLLOW_LOAD_SYMBOL_in_miscellaneous_statement8524_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_LOAD_SYMBOL_in_miscellaneous_statement8524	= { FOLLOW_LOAD_SYMBOL_in_miscellaneous_statement8524_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INDEX_SYMBOL_in_miscellaneous_statement8527  */
static	ANTLR3_BITWORD FOLLOW_INDEX_SYMBOL_in_miscellaneous_statement8527_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_INDEX_SYMBOL_in_miscellaneous_statement8527	= { FOLLOW_INDEX_SYMBOL_in_miscellaneous_statement8527_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTO_SYMBOL_in_miscellaneous_statement8529  */
static	ANTLR3_BITWORD FOLLOW_INTO_SYMBOL_in_miscellaneous_statement8529_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_statement8529	= { FOLLOW_INTO_SYMBOL_in_miscellaneous_statement8529_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CACHE_SYMBOL_in_miscellaneous_statement8531  */
static	ANTLR3_BITWORD FOLLOW_CACHE_SYMBOL_in_miscellaneous_statement8531_bits[]	= { ANTLR3_UINT64_LIT(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(0x000800000000000A) };
static  ANTLR3_BITSET_LIST FOLLOW_CACHE_SYMBOL_in_miscellaneous_statement8531	= { FOLLOW_CACHE_SYMBOL_in_miscellaneous_statement8531_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_load_table_index_list_in_miscellaneous_statement8533  */
static	ANTLR3_BITWORD FOLLOW_load_table_index_list_in_miscellaneous_statement8533_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_load_table_index_list_in_miscellaneous_statement8533	= { FOLLOW_load_table_index_list_in_miscellaneous_statement8533_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_RESET_SYMBOL_in_miscellaneous_statement8538  */
static	ANTLR3_BITWORD FOLLOW_RESET_SYMBOL_in_miscellaneous_statement8538_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_statement8538	= { FOLLOW_RESET_SYMBOL_in_miscellaneous_statement8538_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_reset_option_in_miscellaneous_statement8541  */
static	ANTLR3_BITWORD FOLLOW_reset_option_in_miscellaneous_statement8541_bits[]	= { ANTLR3_UINT64_LIT(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_statement8541	= { FOLLOW_reset_option_in_miscellaneous_statement8541_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_miscellaneous_statement8544  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_miscellaneous_statement8544_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_statement8544	= { FOLLOW_COMMA_SYMBOL_in_miscellaneous_statement8544_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_reset_option_in_miscellaneous_statement8546  */
static	ANTLR3_BITWORD FOLLOW_reset_option_in_miscellaneous_statement8546_bits[]	= { ANTLR3_UINT64_LIT(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_statement8546	= { FOLLOW_reset_option_in_miscellaneous_statement8546_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_key_cache_list_in_key_cache_list_or_parts8568  */
static	ANTLR3_BITWORD FOLLOW_key_cache_list_in_key_cache_list_or_parts8568_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_key_cache_list_in_key_cache_list_or_parts8568	= { FOLLOW_key_cache_list_in_key_cache_list_or_parts8568_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_assign_to_keycache_partition_in_key_cache_list_or_parts8581  */
static	ANTLR3_BITWORD FOLLOW_assign_to_keycache_partition_in_key_cache_list_or_parts8581_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_assign_to_keycache_partition_in_key_cache_list_or_parts8581	= { FOLLOW_assign_to_keycache_partition_in_key_cache_list_or_parts8581_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_assign_to_keycache_in_key_cache_list8598  */
static	ANTLR3_BITWORD FOLLOW_assign_to_keycache_in_key_cache_list8598_bits[]	= { ANTLR3_UINT64_LIT(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_list8598	= { FOLLOW_assign_to_keycache_in_key_cache_list8598_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_key_cache_list8601  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_key_cache_list8601_bits[]	= { ANTLR3_UINT64_LIT(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(0x000800000000000A) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_key_cache_list8601	= { FOLLOW_COMMA_SYMBOL_in_key_cache_list8601_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_assign_to_keycache_in_key_cache_list8603  */
static	ANTLR3_BITWORD FOLLOW_assign_to_keycache_in_key_cache_list8603_bits[]	= { ANTLR3_UINT64_LIT(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_list8603	= { FOLLOW_assign_to_keycache_in_key_cache_list8603_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_identifier_in_assign_to_keycache8614  */
static	ANTLR3_BITWORD FOLLOW_table_identifier_in_assign_to_keycache8614_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(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(0x0000000000040000) };
static  ANTLR3_BITSET_LIST FOLLOW_table_identifier_in_assign_to_keycache8614	= { FOLLOW_table_identifier_in_assign_to_keycache8614_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_cache_keys_spec_in_assign_to_keycache8616  */
static	ANTLR3_BITWORD FOLLOW_cache_keys_spec_in_assign_to_keycache8616_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_cache_keys_spec_in_assign_to_keycache8616	= { FOLLOW_cache_keys_spec_in_assign_to_keycache8616_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_identifier_in_assign_to_keycache_partition8626  */
static	ANTLR3_BITWORD FOLLOW_table_identifier_in_assign_to_keycache_partition8626_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_partition8626	= { FOLLOW_table_identifier_in_assign_to_keycache_partition8626_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PARTITION_SYMBOL_in_assign_to_keycache_partition8628  */
static	ANTLR3_BITWORD FOLLOW_PARTITION_SYMBOL_in_assign_to_keycache_partition8628_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_PARTITION_SYMBOL_in_assign_to_keycache_partition8628	= { FOLLOW_PARTITION_SYMBOL_in_assign_to_keycache_partition8628_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_assign_to_keycache_partition8630  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_assign_to_keycache_partition8630_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(0x0008000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_assign_to_keycache_partition8630	= { FOLLOW_OPEN_PAR_SYMBOL_in_assign_to_keycache_partition8630_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ALL_SYMBOL_in_assign_to_keycache_partition8633  */
static	ANTLR3_BITWORD FOLLOW_ALL_SYMBOL_in_assign_to_keycache_partition8633_bits[]	= { ANTLR3_UINT64_LIT(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_partition8633	= { FOLLOW_ALL_SYMBOL_in_assign_to_keycache_partition8633_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_list_in_assign_to_keycache_partition8637  */
static	ANTLR3_BITWORD FOLLOW_identifier_list_in_assign_to_keycache_partition8637_bits[]	= { ANTLR3_UINT64_LIT(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_partition8637	= { FOLLOW_identifier_list_in_assign_to_keycache_partition8637_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_assign_to_keycache_partition8640  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_assign_to_keycache_partition8640_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(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(0x0000000000040000) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_assign_to_keycache_partition8640	= { FOLLOW_CLOSE_PAR_SYMBOL_in_assign_to_keycache_partition8640_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_cache_keys_spec_in_assign_to_keycache_partition8642  */
static	ANTLR3_BITWORD FOLLOW_cache_keys_spec_in_assign_to_keycache_partition8642_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_cache_keys_spec_in_assign_to_keycache_partition8642	= { FOLLOW_cache_keys_spec_in_assign_to_keycache_partition8642_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_cache_keys_spec8652  */
static	ANTLR3_BITWORD FOLLOW_set_in_cache_keys_spec8652_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_cache_keys_spec8652	= { FOLLOW_set_in_cache_keys_spec8652_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_cache_keys_spec8660  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_cache_keys_spec8660_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000080000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_cache_keys_spec8660	= { FOLLOW_OPEN_PAR_SYMBOL_in_cache_keys_spec8660_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_key_usage_element_in_cache_keys_spec8663  */
static	ANTLR3_BITWORD FOLLOW_key_usage_element_in_cache_keys_spec8663_bits[]	= { ANTLR3_UINT64_LIT(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_spec8663	= { FOLLOW_key_usage_element_in_cache_keys_spec8663_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_cache_keys_spec8666  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_cache_keys_spec8666_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000080000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_cache_keys_spec8666	= { FOLLOW_COMMA_SYMBOL_in_cache_keys_spec8666_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_key_usage_element_in_cache_keys_spec8668  */
static	ANTLR3_BITWORD FOLLOW_key_usage_element_in_cache_keys_spec8668_bits[]	= { ANTLR3_UINT64_LIT(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_spec8668	= { FOLLOW_key_usage_element_in_cache_keys_spec8668_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_cache_keys_spec8674  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_cache_keys_spec8674_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_cache_keys_spec8674	= { FOLLOW_CLOSE_PAR_SYMBOL_in_cache_keys_spec8674_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_key_usage_element8683  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_key_usage_element8683_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_key_usage_element8683	= { FOLLOW_identifier_in_key_usage_element8683_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PRIMARY_SYMBOL_in_key_usage_element8688  */
static	ANTLR3_BITWORD FOLLOW_PRIMARY_SYMBOL_in_key_usage_element8688_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_PRIMARY_SYMBOL_in_key_usage_element8688	= { FOLLOW_PRIMARY_SYMBOL_in_key_usage_element8688_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DES_KEY_FILE_SYMBOL_in_flush_option8697  */
static	ANTLR3_BITWORD FOLLOW_DES_KEY_FILE_SYMBOL_in_flush_option8697_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_DES_KEY_FILE_SYMBOL_in_flush_option8697	= { FOLLOW_DES_KEY_FILE_SYMBOL_in_flush_option8697_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_HOSTS_SYMBOL_in_flush_option8702  */
static	ANTLR3_BITWORD FOLLOW_HOSTS_SYMBOL_in_flush_option8702_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_HOSTS_SYMBOL_in_flush_option8702	= { FOLLOW_HOSTS_SYMBOL_in_flush_option8702_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_log_type_in_flush_option8707  */
static	ANTLR3_BITWORD FOLLOW_log_type_in_flush_option8707_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x1000000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_log_type_in_flush_option8707	= { FOLLOW_log_type_in_flush_option8707_bits, 2	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_LOGS_SYMBOL_in_flush_option8710  */
static	ANTLR3_BITWORD FOLLOW_LOGS_SYMBOL_in_flush_option8710_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_LOGS_SYMBOL_in_flush_option8710	= { FOLLOW_LOGS_SYMBOL_in_flush_option8710_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PRIVILEGES_SYMBOL_in_flush_option8715  */
static	ANTLR3_BITWORD FOLLOW_PRIVILEGES_SYMBOL_in_flush_option8715_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_PRIVILEGES_SYMBOL_in_flush_option8715	= { FOLLOW_PRIVILEGES_SYMBOL_in_flush_option8715_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_QUERY_SYMBOL_in_flush_option8720  */
static	ANTLR3_BITWORD FOLLOW_QUERY_SYMBOL_in_flush_option8720_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_option8720	= { FOLLOW_QUERY_SYMBOL_in_flush_option8720_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CACHE_SYMBOL_in_flush_option8722  */
static	ANTLR3_BITWORD FOLLOW_CACHE_SYMBOL_in_flush_option8722_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CACHE_SYMBOL_in_flush_option8722	= { FOLLOW_CACHE_SYMBOL_in_flush_option8722_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_STATUS_SYMBOL_in_flush_option8727  */
static	ANTLR3_BITWORD FOLLOW_STATUS_SYMBOL_in_flush_option8727_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_STATUS_SYMBOL_in_flush_option8727	= { FOLLOW_STATUS_SYMBOL_in_flush_option8727_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_flush_tables_in_flush_option8732  */
static	ANTLR3_BITWORD FOLLOW_flush_tables_in_flush_option8732_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_flush_tables_in_flush_option8732	= { FOLLOW_flush_tables_in_flush_option8732_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_USER_RESOURCES_SYMBOL_in_flush_option8737  */
static	ANTLR3_BITWORD FOLLOW_USER_RESOURCES_SYMBOL_in_flush_option8737_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_USER_RESOURCES_SYMBOL_in_flush_option8737	= { FOLLOW_USER_RESOURCES_SYMBOL_in_flush_option8737_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_flush_tables8780  */
static	ANTLR3_BITWORD FOLLOW_set_in_flush_tables8780_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(0x0008000000000008), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000800000000) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_flush_tables8780	= { FOLLOW_set_in_flush_tables8780_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_WITH_SYMBOL_in_flush_tables8793  */
static	ANTLR3_BITWORD FOLLOW_WITH_SYMBOL_in_flush_tables8793_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0002000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_WITH_SYMBOL_in_flush_tables8793	= { FOLLOW_WITH_SYMBOL_in_flush_tables8793_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_READ_SYMBOL_in_flush_tables8795  */
static	ANTLR3_BITWORD FOLLOW_READ_SYMBOL_in_flush_tables8795_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_READ_SYMBOL_in_flush_tables8795	= { FOLLOW_READ_SYMBOL_in_flush_tables8795_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_LOCK_SYMBOL_in_flush_tables8797  */
static	ANTLR3_BITWORD FOLLOW_LOCK_SYMBOL_in_flush_tables8797_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_LOCK_SYMBOL_in_flush_tables8797	= { FOLLOW_LOCK_SYMBOL_in_flush_tables8797_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_list_in_flush_tables8803  */
static	ANTLR3_BITWORD FOLLOW_identifier_list_in_flush_tables8803_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(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(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000800000000) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_list_in_flush_tables8803	= { FOLLOW_identifier_list_in_flush_tables8803_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_flush_tables_options_in_flush_tables8805  */
static	ANTLR3_BITWORD FOLLOW_flush_tables_options_in_flush_tables8805_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_flush_tables_options_in_flush_tables8805	= { FOLLOW_flush_tables_options_in_flush_tables8805_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FOR_SYMBOL_in_flush_tables_options8823  */
static	ANTLR3_BITWORD FOLLOW_FOR_SYMBOL_in_flush_tables_options8823_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000040000) };
static  ANTLR3_BITSET_LIST FOLLOW_FOR_SYMBOL_in_flush_tables_options8823	= { FOLLOW_FOR_SYMBOL_in_flush_tables_options8823_bits, 2	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EXPORT_SYMBOL_in_flush_tables_options8825  */
static	ANTLR3_BITWORD FOLLOW_EXPORT_SYMBOL_in_flush_tables_options8825_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_EXPORT_SYMBOL_in_flush_tables_options8825	= { FOLLOW_EXPORT_SYMBOL_in_flush_tables_options8825_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_WITH_SYMBOL_in_flush_tables_options8830  */
static	ANTLR3_BITWORD FOLLOW_WITH_SYMBOL_in_flush_tables_options8830_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0002000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_WITH_SYMBOL_in_flush_tables_options8830	= { FOLLOW_WITH_SYMBOL_in_flush_tables_options8830_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_READ_SYMBOL_in_flush_tables_options8832  */
static	ANTLR3_BITWORD FOLLOW_READ_SYMBOL_in_flush_tables_options8832_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_READ_SYMBOL_in_flush_tables_options8832	= { FOLLOW_READ_SYMBOL_in_flush_tables_options8832_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_LOCK_SYMBOL_in_flush_tables_options8834  */
static	ANTLR3_BITWORD FOLLOW_LOCK_SYMBOL_in_flush_tables_options8834_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_LOCK_SYMBOL_in_flush_tables_options8834	= { FOLLOW_LOCK_SYMBOL_in_flush_tables_options8834_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_identifier_in_load_table_index_list8843  */
static	ANTLR3_BITWORD FOLLOW_table_identifier_in_load_table_index_list8843_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(0x00A0000000000000), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_table_identifier_in_load_table_index_list8843	= { FOLLOW_table_identifier_in_load_table_index_list8843_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_load_table_index_partion_in_load_table_index_list8845  */
static	ANTLR3_BITWORD FOLLOW_load_table_index_partion_in_load_table_index_list8845_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x00A0000000000000), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_load_table_index_partion_in_load_table_index_list8845	= { FOLLOW_load_table_index_partion_in_load_table_index_list8845_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_list_with_parentheses_in_load_table_index_list8860  */
static	ANTLR3_BITWORD FOLLOW_identifier_list_with_parentheses_in_load_table_index_list8860_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0020000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_list_with_parentheses_in_load_table_index_list8860	= { FOLLOW_identifier_list_with_parentheses_in_load_table_index_list8860_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_IGNORE_SYMBOL_in_load_table_index_list8865  */
static	ANTLR3_BITWORD FOLLOW_IGNORE_SYMBOL_in_load_table_index_list8865_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0010000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_IGNORE_SYMBOL_in_load_table_index_list8865	= { FOLLOW_IGNORE_SYMBOL_in_load_table_index_list8865_bits, 2	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_LEAVES_SYMBOL_in_load_table_index_list8867  */
static	ANTLR3_BITWORD FOLLOW_LEAVES_SYMBOL_in_load_table_index_list8867_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_LEAVES_SYMBOL_in_load_table_index_list8867	= { FOLLOW_LEAVES_SYMBOL_in_load_table_index_list8867_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PARTITION_SYMBOL_in_load_table_index_partion8883  */
static	ANTLR3_BITWORD FOLLOW_PARTITION_SYMBOL_in_load_table_index_partion8883_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_PARTITION_SYMBOL_in_load_table_index_partion8883	= { FOLLOW_PARTITION_SYMBOL_in_load_table_index_partion8883_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_load_table_index_partion8885  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_load_table_index_partion8885_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(0x0008000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_load_table_index_partion8885	= { FOLLOW_OPEN_PAR_SYMBOL_in_load_table_index_partion8885_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_list_in_load_table_index_partion8888  */
static	ANTLR3_BITWORD FOLLOW_identifier_list_in_load_table_index_partion8888_bits[]	= { ANTLR3_UINT64_LIT(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_partion8888	= { FOLLOW_identifier_list_in_load_table_index_partion8888_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ALL_SYMBOL_in_load_table_index_partion8892  */
static	ANTLR3_BITWORD FOLLOW_ALL_SYMBOL_in_load_table_index_partion8892_bits[]	= { ANTLR3_UINT64_LIT(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_partion8892	= { FOLLOW_ALL_SYMBOL_in_load_table_index_partion8892_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_load_table_index_partion8895  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_load_table_index_partion8895_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_load_table_index_partion8895	= { FOLLOW_CLOSE_PAR_SYMBOL_in_load_table_index_partion8895_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MASTER_SYMBOL_in_reset_option8905  */
static	ANTLR3_BITWORD FOLLOW_MASTER_SYMBOL_in_reset_option8905_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_MASTER_SYMBOL_in_reset_option8905	= { FOLLOW_MASTER_SYMBOL_in_reset_option8905_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_QUERY_SYMBOL_in_reset_option8909  */
static	ANTLR3_BITWORD FOLLOW_QUERY_SYMBOL_in_reset_option8909_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_option8909	= { FOLLOW_QUERY_SYMBOL_in_reset_option8909_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CACHE_SYMBOL_in_reset_option8911  */
static	ANTLR3_BITWORD FOLLOW_CACHE_SYMBOL_in_reset_option8911_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CACHE_SYMBOL_in_reset_option8911	= { FOLLOW_CACHE_SYMBOL_in_reset_option8911_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SLAVE_SYMBOL_in_reset_option8915  */
static	ANTLR3_BITWORD FOLLOW_SLAVE_SYMBOL_in_reset_option8915_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_SLAVE_SYMBOL_in_reset_option8915	= { FOLLOW_SLAVE_SYMBOL_in_reset_option8915_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_describe_command_in_utility_statement8926  */
static	ANTLR3_BITWORD FOLLOW_describe_command_in_utility_statement8926_bits[]	= { ANTLR3_UINT64_LIT(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(0x100800000000000A), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0200000008000000), ANTLR3_UINT64_LIT(0x0000000000000020), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_describe_command_in_utility_statement8926	= { FOLLOW_describe_command_in_utility_statement8926_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_identifier_in_utility_statement8935  */
static	ANTLR3_BITWORD FOLLOW_table_identifier_in_utility_statement8935_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(0x0008000000000008), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_table_identifier_in_utility_statement8935	= { FOLLOW_table_identifier_in_utility_statement8935_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_text_or_identifier_in_utility_statement8937  */
static	ANTLR3_BITWORD FOLLOW_text_or_identifier_in_utility_statement8937_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_text_or_identifier_in_utility_statement8937	= { FOLLOW_text_or_identifier_in_utility_statement8937_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EXTENDED_SYMBOL_in_utility_statement8968  */
static	ANTLR3_BITWORD FOLLOW_EXTENDED_SYMBOL_in_utility_statement8968_bits[]	= { ANTLR3_UINT64_LIT(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(0x1000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0200000008000000), ANTLR3_UINT64_LIT(0x0000000000000020), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_EXTENDED_SYMBOL_in_utility_statement8968	= { FOLLOW_EXTENDED_SYMBOL_in_utility_statement8968_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PARTITIONS_SYMBOL_in_utility_statement8981  */
static	ANTLR3_BITWORD FOLLOW_PARTITIONS_SYMBOL_in_utility_statement8981_bits[]	= { ANTLR3_UINT64_LIT(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(0x1000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0200000008000000), ANTLR3_UINT64_LIT(0x0000000000000020), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_PARTITIONS_SYMBOL_in_utility_statement8981	= { FOLLOW_PARTITIONS_SYMBOL_in_utility_statement8981_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FORMAT_SYMBOL_in_utility_statement8994  */
static	ANTLR3_BITWORD FOLLOW_FORMAT_SYMBOL_in_utility_statement8994_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_FORMAT_SYMBOL_in_utility_statement8994	= { FOLLOW_FORMAT_SYMBOL_in_utility_statement8994_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_utility_statement8996  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_utility_statement8996_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_utility_statement8996	= { FOLLOW_EQUAL_OPERATOR_in_utility_statement8996_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_text_or_identifier_in_utility_statement8998  */
static	ANTLR3_BITWORD FOLLOW_text_or_identifier_in_utility_statement8998_bits[]	= { ANTLR3_UINT64_LIT(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(0x1000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0200000008000000), ANTLR3_UINT64_LIT(0x0000000000000020), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_text_or_identifier_in_utility_statement8998	= { FOLLOW_text_or_identifier_in_utility_statement8998_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_explainable_statement_in_utility_statement9007  */
static	ANTLR3_BITWORD FOLLOW_explainable_statement_in_utility_statement9007_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_explainable_statement_in_utility_statement9007	= { FOLLOW_explainable_statement_in_utility_statement9007_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_HELP_SYMBOL_in_utility_statement9016  */
static	ANTLR3_BITWORD FOLLOW_HELP_SYMBOL_in_utility_statement9016_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_HELP_SYMBOL_in_utility_statement9016	= { FOLLOW_HELP_SYMBOL_in_utility_statement9016_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_text_or_identifier_in_utility_statement9019  */
static	ANTLR3_BITWORD FOLLOW_text_or_identifier_in_utility_statement9019_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_text_or_identifier_in_utility_statement9019	= { FOLLOW_text_or_identifier_in_utility_statement9019_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_USE_SYMBOL_in_utility_statement9024  */
static	ANTLR3_BITWORD FOLLOW_USE_SYMBOL_in_utility_statement9024_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_USE_SYMBOL_in_utility_statement9024	= { FOLLOW_USE_SYMBOL_in_utility_statement9024_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_utility_statement9027  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_utility_statement9027_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_utility_statement9027	= { FOLLOW_identifier_in_utility_statement9027_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DESCRIBE_SYMBOL_in_describe_command9036  */
static	ANTLR3_BITWORD FOLLOW_DESCRIBE_SYMBOL_in_describe_command9036_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_DESCRIBE_SYMBOL_in_describe_command9036	= { FOLLOW_DESCRIBE_SYMBOL_in_describe_command9036_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DESC_SYMBOL_in_describe_command9041  */
static	ANTLR3_BITWORD FOLLOW_DESC_SYMBOL_in_describe_command9041_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_DESC_SYMBOL_in_describe_command9041	= { FOLLOW_DESC_SYMBOL_in_describe_command9041_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_delete_statement_in_explainable_statement9063  */
static	ANTLR3_BITWORD FOLLOW_delete_statement_in_explainable_statement9063_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_delete_statement_in_explainable_statement9063	= { FOLLOW_delete_statement_in_explainable_statement9063_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_insert_statement_in_explainable_statement9070  */
static	ANTLR3_BITWORD FOLLOW_insert_statement_in_explainable_statement9070_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_insert_statement_in_explainable_statement9070	= { FOLLOW_insert_statement_in_explainable_statement9070_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_replace_statement_in_explainable_statement9077  */
static	ANTLR3_BITWORD FOLLOW_replace_statement_in_explainable_statement9077_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_replace_statement_in_explainable_statement9077	= { FOLLOW_replace_statement_in_explainable_statement9077_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_update_statement_in_explainable_statement9084  */
static	ANTLR3_BITWORD FOLLOW_update_statement_in_explainable_statement9084_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_update_statement_in_explainable_statement9084	= { FOLLOW_update_statement_in_explainable_statement9084_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_select_statement_in_explainable_statement9093  */
static	ANTLR3_BITWORD FOLLOW_select_statement_in_explainable_statement9093_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_select_statement_in_explainable_statement9093	= { FOLLOW_select_statement_in_explainable_statement9093_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_logical_or_expression_in_expression9107  */
static	ANTLR3_BITWORD FOLLOW_logical_or_expression_in_expression9107_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_logical_or_expression_in_expression9107	= { FOLLOW_logical_or_expression_in_expression9107_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_logical_xor_expression_in_logical_or_expression9116  */
static	ANTLR3_BITWORD FOLLOW_logical_xor_expression_in_logical_or_expression9116_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000020000000000), ANTLR3_UINT64_LIT(0x0000000100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_logical_xor_expression_in_logical_or_expression9116	= { FOLLOW_logical_xor_expression_in_logical_or_expression9116_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_logical_or_expression9132  */
static	ANTLR3_BITWORD FOLLOW_set_in_logical_or_expression9132_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C056484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_logical_or_expression9132	= { FOLLOW_set_in_logical_or_expression9132_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_logical_xor_expression_in_logical_or_expression9141  */
static	ANTLR3_BITWORD FOLLOW_logical_xor_expression_in_logical_or_expression9141_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000020000000000), ANTLR3_UINT64_LIT(0x0000000100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_logical_xor_expression_in_logical_or_expression9141	= { FOLLOW_logical_xor_expression_in_logical_or_expression9141_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_logical_and_expression_in_logical_xor_expression9152  */
static	ANTLR3_BITWORD FOLLOW_logical_and_expression_in_logical_xor_expression9152_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_logical_and_expression_in_logical_xor_expression9152	= { FOLLOW_logical_and_expression_in_logical_xor_expression9152_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_XOR_SYMBOL_in_logical_xor_expression9168  */
static	ANTLR3_BITWORD FOLLOW_XOR_SYMBOL_in_logical_xor_expression9168_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C056484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_XOR_SYMBOL_in_logical_xor_expression9168	= { FOLLOW_XOR_SYMBOL_in_logical_xor_expression9168_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_logical_and_expression_in_logical_xor_expression9171  */
static	ANTLR3_BITWORD FOLLOW_logical_and_expression_in_logical_xor_expression9171_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_logical_and_expression_in_logical_xor_expression9171	= { FOLLOW_logical_and_expression_in_logical_xor_expression9171_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_logical_not_expression_in_logical_and_expression9182  */
static	ANTLR3_BITWORD FOLLOW_logical_not_expression_in_logical_and_expression9182_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(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_logical_not_expression_in_logical_and_expression9182	= { FOLLOW_logical_not_expression_in_logical_and_expression9182_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_logical_and_expression9198  */
static	ANTLR3_BITWORD FOLLOW_set_in_logical_and_expression9198_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C056484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_logical_and_expression9198	= { FOLLOW_set_in_logical_and_expression9198_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_logical_not_expression_in_logical_and_expression9207  */
static	ANTLR3_BITWORD FOLLOW_logical_not_expression_in_logical_and_expression9207_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(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_logical_not_expression_in_logical_and_expression9207	= { FOLLOW_logical_not_expression_in_logical_and_expression9207_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_NOT_SYMBOL_in_logical_not_expression9218  */
static	ANTLR3_BITWORD FOLLOW_NOT_SYMBOL_in_logical_not_expression9218_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C056484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_NOT_SYMBOL_in_logical_not_expression9218	= { FOLLOW_NOT_SYMBOL_in_logical_not_expression9218_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_logical_not_expression_in_logical_not_expression9221  */
static	ANTLR3_BITWORD FOLLOW_logical_not_expression_in_logical_not_expression9221_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_logical_not_expression_in_logical_not_expression9221	= { FOLLOW_logical_not_expression_in_logical_not_expression9221_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_boolean_primary_expression_in_logical_not_expression9226  */
static	ANTLR3_BITWORD FOLLOW_boolean_primary_expression_in_logical_not_expression9226_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_boolean_primary_expression_in_logical_not_expression9226	= { FOLLOW_boolean_primary_expression_in_logical_not_expression9226_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_predicate_in_boolean_primary_expression9235  */
static	ANTLR3_BITWORD FOLLOW_predicate_in_boolean_primary_expression9235_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000018000001000), ANTLR3_UINT64_LIT(0x0000000003000800), ANTLR3_UINT64_LIT(0x0000000000021800) };
static  ANTLR3_BITSET_LIST FOLLOW_predicate_in_boolean_primary_expression9235	= { FOLLOW_predicate_in_boolean_primary_expression9235_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_comparison_operator_in_boolean_primary_expression9257  */
static	ANTLR3_BITWORD FOLLOW_comparison_operator_in_boolean_primary_expression9257_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C054484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_comparison_operator_in_boolean_primary_expression9257	= { FOLLOW_comparison_operator_in_boolean_primary_expression9257_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_boolean_primary_expression9271  */
static	ANTLR3_BITWORD FOLLOW_set_in_boolean_primary_expression9271_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_boolean_primary_expression9271	= { FOLLOW_set_in_boolean_primary_expression9271_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_subquery_in_boolean_primary_expression9279  */
static	ANTLR3_BITWORD FOLLOW_subquery_in_boolean_primary_expression9279_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000018000001000), ANTLR3_UINT64_LIT(0x0000000003000800), ANTLR3_UINT64_LIT(0x0000000000021800) };
static  ANTLR3_BITSET_LIST FOLLOW_subquery_in_boolean_primary_expression9279	= { FOLLOW_subquery_in_boolean_primary_expression9279_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_predicate_in_boolean_primary_expression9287  */
static	ANTLR3_BITWORD FOLLOW_predicate_in_boolean_primary_expression9287_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000018000001000), ANTLR3_UINT64_LIT(0x0000000003000800), ANTLR3_UINT64_LIT(0x0000000000021800) };
static  ANTLR3_BITSET_LIST FOLLOW_predicate_in_boolean_primary_expression9287	= { FOLLOW_predicate_in_boolean_primary_expression9287_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_IS_SYMBOL_in_boolean_primary_expression9316  */
static	ANTLR3_BITWORD FOLLOW_IS_SYMBOL_in_boolean_primary_expression9316_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(0x0000000000400000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000052000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_IS_SYMBOL_in_boolean_primary_expression9316	= { FOLLOW_IS_SYMBOL_in_boolean_primary_expression9316_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_NOT_SYMBOL_in_boolean_primary_expression9319  */
static	ANTLR3_BITWORD FOLLOW_NOT_SYMBOL_in_boolean_primary_expression9319_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(0x0000000000400000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000050000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_NOT_SYMBOL_in_boolean_primary_expression9319	= { FOLLOW_NOT_SYMBOL_in_boolean_primary_expression9319_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_null_literal_in_boolean_primary_expression9324  */
static	ANTLR3_BITWORD FOLLOW_null_literal_in_boolean_primary_expression9324_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000018000001000), ANTLR3_UINT64_LIT(0x0000000003000800), ANTLR3_UINT64_LIT(0x0000000000021800) };
static  ANTLR3_BITSET_LIST FOLLOW_null_literal_in_boolean_primary_expression9324	= { FOLLOW_null_literal_in_boolean_primary_expression9324_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FALSE_SYMBOL_in_boolean_primary_expression9328  */
static	ANTLR3_BITWORD FOLLOW_FALSE_SYMBOL_in_boolean_primary_expression9328_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000018000001000), ANTLR3_UINT64_LIT(0x0000000003000800), ANTLR3_UINT64_LIT(0x0000000000021800) };
static  ANTLR3_BITSET_LIST FOLLOW_FALSE_SYMBOL_in_boolean_primary_expression9328	= { FOLLOW_FALSE_SYMBOL_in_boolean_primary_expression9328_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TRUE_SYMBOL_in_boolean_primary_expression9332  */
static	ANTLR3_BITWORD FOLLOW_TRUE_SYMBOL_in_boolean_primary_expression9332_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000018000001000), ANTLR3_UINT64_LIT(0x0000000003000800), ANTLR3_UINT64_LIT(0x0000000000021800) };
static  ANTLR3_BITSET_LIST FOLLOW_TRUE_SYMBOL_in_boolean_primary_expression9332	= { FOLLOW_TRUE_SYMBOL_in_boolean_primary_expression9332_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_UNKNOWN_SYMBOL_in_boolean_primary_expression9336  */
static	ANTLR3_BITWORD FOLLOW_UNKNOWN_SYMBOL_in_boolean_primary_expression9336_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000018000001000), ANTLR3_UINT64_LIT(0x0000000003000800), ANTLR3_UINT64_LIT(0x0000000000021800) };
static  ANTLR3_BITSET_LIST FOLLOW_UNKNOWN_SYMBOL_in_boolean_primary_expression9336	= { FOLLOW_UNKNOWN_SYMBOL_in_boolean_primary_expression9336_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_bitwise_or_expression_in_predicate9353  */
static	ANTLR3_BITWORD FOLLOW_bitwise_or_expression_in_predicate9353_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(0x0000000010000080), ANTLR3_UINT64_LIT(0x0020000000002000) };
static  ANTLR3_BITSET_LIST FOLLOW_bitwise_or_expression_in_predicate9353	= { FOLLOW_bitwise_or_expression_in_predicate9353_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_NOT_SYMBOL_in_predicate9374  */
static	ANTLR3_BITWORD FOLLOW_NOT_SYMBOL_in_predicate9374_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(0x0000000010000080), ANTLR3_UINT64_LIT(0x0020000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_NOT_SYMBOL_in_predicate9374	= { FOLLOW_NOT_SYMBOL_in_predicate9374_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BETWEEN_SYMBOL_in_predicate9388  */
static	ANTLR3_BITWORD FOLLOW_BETWEEN_SYMBOL_in_predicate9388_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C054484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_BETWEEN_SYMBOL_in_predicate9388	= { FOLLOW_BETWEEN_SYMBOL_in_predicate9388_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_bitwise_or_expression_in_predicate9391  */
static	ANTLR3_BITWORD FOLLOW_bitwise_or_expression_in_predicate9391_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_predicate9391	= { FOLLOW_bitwise_or_expression_in_predicate9391_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_AND_SYMBOL_in_predicate9393  */
static	ANTLR3_BITWORD FOLLOW_AND_SYMBOL_in_predicate9393_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C054484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_AND_SYMBOL_in_predicate9393	= { FOLLOW_AND_SYMBOL_in_predicate9393_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_predicate_in_predicate9395  */
static	ANTLR3_BITWORD FOLLOW_predicate_in_predicate9395_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_predicate_in_predicate9395	= { FOLLOW_predicate_in_predicate9395_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_LIKE_SYMBOL_in_predicate9404  */
static	ANTLR3_BITWORD FOLLOW_LIKE_SYMBOL_in_predicate9404_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C054484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_LIKE_SYMBOL_in_predicate9404	= { FOLLOW_LIKE_SYMBOL_in_predicate9404_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_unary_expression_in_predicate9407  */
static	ANTLR3_BITWORD FOLLOW_unary_expression_in_predicate9407_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000002000) };
static  ANTLR3_BITSET_LIST FOLLOW_unary_expression_in_predicate9407	= { FOLLOW_unary_expression_in_predicate9407_bits, 2	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ESCAPE_SYMBOL_in_predicate9423  */
static	ANTLR3_BITWORD FOLLOW_ESCAPE_SYMBOL_in_predicate9423_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2014000000800004), ANTLR3_UINT64_LIT(0x830001100C054084), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_ESCAPE_SYMBOL_in_predicate9423	= { FOLLOW_ESCAPE_SYMBOL_in_predicate9423_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_primary_in_predicate9425  */
static	ANTLR3_BITWORD FOLLOW_primary_in_predicate9425_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_primary_in_predicate9425	= { FOLLOW_primary_in_predicate9425_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_REGEXP_SYMBOL_in_predicate9436  */
static	ANTLR3_BITWORD FOLLOW_REGEXP_SYMBOL_in_predicate9436_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C054484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_REGEXP_SYMBOL_in_predicate9436	= { FOLLOW_REGEXP_SYMBOL_in_predicate9436_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_bitwise_or_expression_in_predicate9439  */
static	ANTLR3_BITWORD FOLLOW_bitwise_or_expression_in_predicate9439_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_bitwise_or_expression_in_predicate9439	= { FOLLOW_bitwise_or_expression_in_predicate9439_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_IN_SYMBOL_in_predicate9448  */
static	ANTLR3_BITWORD FOLLOW_IN_SYMBOL_in_predicate9448_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_IN_SYMBOL_in_predicate9448	= { FOLLOW_IN_SYMBOL_in_predicate9448_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_subquery_in_predicate9453  */
static	ANTLR3_BITWORD FOLLOW_subquery_in_predicate9453_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_subquery_in_predicate9453	= { FOLLOW_subquery_in_predicate9453_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_list_with_parentheses_in_predicate9457  */
static	ANTLR3_BITWORD FOLLOW_expression_list_with_parentheses_in_predicate9457_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_list_with_parentheses_in_predicate9457	= { FOLLOW_expression_list_with_parentheses_in_predicate9457_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SOUNDS_SYMBOL_in_predicate9477  */
static	ANTLR3_BITWORD FOLLOW_SOUNDS_SYMBOL_in_predicate9477_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_SOUNDS_SYMBOL_in_predicate9477	= { FOLLOW_SOUNDS_SYMBOL_in_predicate9477_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_LIKE_SYMBOL_in_predicate9480  */
static	ANTLR3_BITWORD FOLLOW_LIKE_SYMBOL_in_predicate9480_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C054484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_LIKE_SYMBOL_in_predicate9480	= { FOLLOW_LIKE_SYMBOL_in_predicate9480_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_bitwise_or_expression_in_predicate9482  */
static	ANTLR3_BITWORD FOLLOW_bitwise_or_expression_in_predicate9482_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_bitwise_or_expression_in_predicate9482	= { FOLLOW_bitwise_or_expression_in_predicate9482_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_bitwise_and_expression_in_bitwise_or_expression9496  */
static	ANTLR3_BITWORD FOLLOW_bitwise_and_expression_in_bitwise_or_expression9496_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_expression9496	= { FOLLOW_bitwise_and_expression_in_bitwise_or_expression9496_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BITWISE_OR_OPERATOR_in_bitwise_or_expression9512  */
static	ANTLR3_BITWORD FOLLOW_BITWISE_OR_OPERATOR_in_bitwise_or_expression9512_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C054484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_BITWISE_OR_OPERATOR_in_bitwise_or_expression9512	= { FOLLOW_BITWISE_OR_OPERATOR_in_bitwise_or_expression9512_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_bitwise_and_expression_in_bitwise_or_expression9515  */
static	ANTLR3_BITWORD FOLLOW_bitwise_and_expression_in_bitwise_or_expression9515_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_expression9515	= { FOLLOW_bitwise_and_expression_in_bitwise_or_expression9515_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_shift_expression_in_bitwise_and_expression9526  */
static	ANTLR3_BITWORD FOLLOW_shift_expression_in_bitwise_and_expression9526_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_expression9526	= { FOLLOW_shift_expression_in_bitwise_and_expression9526_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BITWISE_AND_OPERATOR_in_bitwise_and_expression9542  */
static	ANTLR3_BITWORD FOLLOW_BITWISE_AND_OPERATOR_in_bitwise_and_expression9542_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C054484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_BITWISE_AND_OPERATOR_in_bitwise_and_expression9542	= { FOLLOW_BITWISE_AND_OPERATOR_in_bitwise_and_expression9542_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_shift_expression_in_bitwise_and_expression9545  */
static	ANTLR3_BITWORD FOLLOW_shift_expression_in_bitwise_and_expression9545_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_expression9545	= { FOLLOW_shift_expression_in_bitwise_and_expression9545_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_additive_expression_in_shift_expression9556  */
static	ANTLR3_BITWORD FOLLOW_additive_expression_in_shift_expression9556_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000006000) };
static  ANTLR3_BITSET_LIST FOLLOW_additive_expression_in_shift_expression9556	= { FOLLOW_additive_expression_in_shift_expression9556_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_shift_expression9572  */
static	ANTLR3_BITWORD FOLLOW_set_in_shift_expression9572_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C054484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_shift_expression9572	= { FOLLOW_set_in_shift_expression9572_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_additive_expression_in_shift_expression9581  */
static	ANTLR3_BITWORD FOLLOW_additive_expression_in_shift_expression9581_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000006000) };
static  ANTLR3_BITSET_LIST FOLLOW_additive_expression_in_shift_expression9581	= { FOLLOW_additive_expression_in_shift_expression9581_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_multiplicative_expression_in_additive_expression9592  */
static	ANTLR3_BITWORD FOLLOW_multiplicative_expression_in_additive_expression9592_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_multiplicative_expression_in_additive_expression9592	= { FOLLOW_multiplicative_expression_in_additive_expression9592_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_additive_expression9608  */
static	ANTLR3_BITWORD FOLLOW_set_in_additive_expression9608_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C054484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_additive_expression9608	= { FOLLOW_set_in_additive_expression9608_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_multiplicative_expression_in_additive_expression9617  */
static	ANTLR3_BITWORD FOLLOW_multiplicative_expression_in_additive_expression9617_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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), ANTLR3_UINT64_LIT(0x0000008000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_multiplicative_expression_in_additive_expression9617	= { FOLLOW_multiplicative_expression_in_additive_expression9617_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_bitwise_xor_expression_in_multiplicative_expression9628  */
static	ANTLR3_BITWORD FOLLOW_bitwise_xor_expression_in_multiplicative_expression9628_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000000000000016) };
static  ANTLR3_BITSET_LIST FOLLOW_bitwise_xor_expression_in_multiplicative_expression9628	= { FOLLOW_bitwise_xor_expression_in_multiplicative_expression9628_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_multiplication_operator_in_multiplicative_expression9644  */
static	ANTLR3_BITWORD FOLLOW_multiplication_operator_in_multiplicative_expression9644_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C054484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_multiplication_operator_in_multiplicative_expression9644	= { FOLLOW_multiplication_operator_in_multiplicative_expression9644_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_bitwise_xor_expression_in_multiplicative_expression9647  */
static	ANTLR3_BITWORD FOLLOW_bitwise_xor_expression_in_multiplicative_expression9647_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000000000000016) };
static  ANTLR3_BITSET_LIST FOLLOW_bitwise_xor_expression_in_multiplicative_expression9647	= { FOLLOW_bitwise_xor_expression_in_multiplicative_expression9647_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_concat_expression_in_bitwise_xor_expression9658  */
static	ANTLR3_BITWORD FOLLOW_concat_expression_in_bitwise_xor_expression9658_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_expression9658	= { FOLLOW_concat_expression_in_bitwise_xor_expression9658_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BITWISE_XOR_OPERATOR_in_bitwise_xor_expression9674  */
static	ANTLR3_BITWORD FOLLOW_BITWISE_XOR_OPERATOR_in_bitwise_xor_expression9674_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C054484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_BITWISE_XOR_OPERATOR_in_bitwise_xor_expression9674	= { FOLLOW_BITWISE_XOR_OPERATOR_in_bitwise_xor_expression9674_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_concat_expression_in_bitwise_xor_expression9677  */
static	ANTLR3_BITWORD FOLLOW_concat_expression_in_bitwise_xor_expression9677_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_expression9677	= { FOLLOW_concat_expression_in_bitwise_xor_expression9677_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_unary_expression_in_concat_expression9689  */
static	ANTLR3_BITWORD FOLLOW_unary_expression_in_concat_expression9689_bits[]	= { ANTLR3_UINT64_LIT(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_expression9689	= { FOLLOW_unary_expression_in_concat_expression9689_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CONCAT_PIPES_SYMBOL_in_concat_expression9705  */
static	ANTLR3_BITWORD FOLLOW_CONCAT_PIPES_SYMBOL_in_concat_expression9705_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C054484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_CONCAT_PIPES_SYMBOL_in_concat_expression9705	= { FOLLOW_CONCAT_PIPES_SYMBOL_in_concat_expression9705_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_unary_expression_in_concat_expression9708  */
static	ANTLR3_BITWORD FOLLOW_unary_expression_in_concat_expression9708_bits[]	= { ANTLR3_UINT64_LIT(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_expression9708	= { FOLLOW_unary_expression_in_concat_expression9708_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_unary_expression9719  */
static	ANTLR3_BITWORD FOLLOW_set_in_unary_expression9719_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C054484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_unary_expression9719	= { FOLLOW_set_in_unary_expression9719_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_unary_expression_in_unary_expression9732  */
static	ANTLR3_BITWORD FOLLOW_unary_expression_in_unary_expression9732_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_unary_expression_in_unary_expression9732	= { FOLLOW_unary_expression_in_unary_expression9732_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_not_expression_in_unary_expression9737  */
static	ANTLR3_BITWORD FOLLOW_not_expression_in_unary_expression9737_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_not_expression_in_unary_expression9737	= { FOLLOW_not_expression_in_unary_expression9737_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_not2_rule_in_not_expression9746  */
static	ANTLR3_BITWORD FOLLOW_not2_rule_in_not_expression9746_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2014000000800014), ANTLR3_UINT64_LIT(0x830001100C054084), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_not2_rule_in_not_expression9746	= { FOLLOW_not2_rule_in_not_expression9746_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_interval_expression_in_not_expression9749  */
static	ANTLR3_BITWORD FOLLOW_interval_expression_in_not_expression9749_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_interval_expression_in_not_expression9749	= { FOLLOW_interval_expression_in_not_expression9749_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTERVAL_SYMBOL_in_interval_expression9758  */
static	ANTLR3_BITWORD FOLLOW_INTERVAL_SYMBOL_in_interval_expression9758_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C056484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_INTERVAL_SYMBOL_in_interval_expression9758	= { FOLLOW_INTERVAL_SYMBOL_in_interval_expression9758_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_interval_function_in_interval_expression9790  */
static	ANTLR3_BITWORD FOLLOW_interval_function_in_interval_expression9790_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_interval_function_in_interval_expression9790	= { FOLLOW_interval_function_in_interval_expression9790_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_interval_time_span_in_interval_expression9797  */
static	ANTLR3_BITWORD FOLLOW_interval_time_span_in_interval_expression9797_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_interval_time_span_in_interval_expression9797	= { FOLLOW_interval_time_span_in_interval_expression9797_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_primary_in_interval_expression9806  */
static	ANTLR3_BITWORD FOLLOW_primary_in_interval_expression9806_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_primary_in_interval_expression9806	= { FOLLOW_primary_in_interval_expression9806_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_interval_function9815  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_interval_function9815_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C056484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_interval_function9815	= { FOLLOW_OPEN_PAR_SYMBOL_in_interval_function9815_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_interval_function9817  */
static	ANTLR3_BITWORD FOLLOW_expression_in_interval_function9817_bits[]	= { ANTLR3_UINT64_LIT(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_function9817	= { FOLLOW_expression_in_interval_function9817_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_interval_function9820  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_interval_function9820_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C056484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_interval_function9820	= { FOLLOW_COMMA_SYMBOL_in_interval_function9820_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_interval_function9822  */
static	ANTLR3_BITWORD FOLLOW_expression_in_interval_function9822_bits[]	= { ANTLR3_UINT64_LIT(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_function9822	= { FOLLOW_expression_in_interval_function9822_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_interval_function9826  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_interval_function9826_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_interval_function9826	= { FOLLOW_CLOSE_PAR_SYMBOL_in_interval_function9826_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_interval_in_interval_time_span9858  */
static	ANTLR3_BITWORD FOLLOW_interval_in_interval_time_span9858_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_interval_in_interval_time_span9858	= { FOLLOW_interval_in_interval_time_span9858_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_literal_in_primary9882  */
static	ANTLR3_BITWORD FOLLOW_literal_in_primary9882_bits[]	= { ANTLR3_UINT64_LIT(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_primary9882	= { FOLLOW_literal_in_primary9882_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_field_name_in_primary9888  */
static	ANTLR3_BITWORD FOLLOW_field_name_in_primary9888_bits[]	= { ANTLR3_UINT64_LIT(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_primary9888	= { FOLLOW_field_name_in_primary9888_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_function_call_expression_in_primary9894  */
static	ANTLR3_BITWORD FOLLOW_function_call_expression_in_primary9894_bits[]	= { ANTLR3_UINT64_LIT(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_primary9894	= { FOLLOW_function_call_expression_in_primary9894_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_generic_function_call_in_primary9908  */
static	ANTLR3_BITWORD FOLLOW_generic_function_call_in_primary9908_bits[]	= { ANTLR3_UINT64_LIT(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_primary9908	= { FOLLOW_generic_function_call_in_primary9908_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PARAM_MARKER_in_primary9914  */
static	ANTLR3_BITWORD FOLLOW_PARAM_MARKER_in_primary9914_bits[]	= { ANTLR3_UINT64_LIT(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_primary9914	= { FOLLOW_PARAM_MARKER_in_primary9914_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_variable_in_primary9920  */
static	ANTLR3_BITWORD FOLLOW_variable_in_primary9920_bits[]	= { ANTLR3_UINT64_LIT(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_primary9920	= { FOLLOW_variable_in_primary9920_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_subquery_in_primary9928  */
static	ANTLR3_BITWORD FOLLOW_subquery_in_primary9928_bits[]	= { ANTLR3_UINT64_LIT(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_primary9928	= { FOLLOW_subquery_in_primary9928_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EXISTS_SYMBOL_in_primary9934  */
static	ANTLR3_BITWORD FOLLOW_EXISTS_SYMBOL_in_primary9934_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_EXISTS_SYMBOL_in_primary9934	= { FOLLOW_EXISTS_SYMBOL_in_primary9934_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_subquery_in_primary9936  */
static	ANTLR3_BITWORD FOLLOW_subquery_in_primary9936_bits[]	= { ANTLR3_UINT64_LIT(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_primary9936	= { FOLLOW_subquery_in_primary9936_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ROW_SYMBOL_in_primary9942  */
static	ANTLR3_BITWORD FOLLOW_ROW_SYMBOL_in_primary9942_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_ROW_SYMBOL_in_primary9942	= { FOLLOW_ROW_SYMBOL_in_primary9942_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_list_with_parentheses_in_primary9945  */
static	ANTLR3_BITWORD FOLLOW_expression_list_with_parentheses_in_primary9945_bits[]	= { ANTLR3_UINT64_LIT(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_primary9945	= { FOLLOW_expression_list_with_parentheses_in_primary9945_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_CURLY_SYMBOL_in_primary9951  */
static	ANTLR3_BITWORD FOLLOW_OPEN_CURLY_SYMBOL_in_primary9951_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_CURLY_SYMBOL_in_primary9951	= { FOLLOW_OPEN_CURLY_SYMBOL_in_primary9951_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_primary9953  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_primary9953_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C056484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_primary9953	= { FOLLOW_identifier_in_primary9953_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_primary9955  */
static	ANTLR3_BITWORD FOLLOW_expression_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(0x0000000000008000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_primary9955	= { FOLLOW_expression_in_primary9955_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_CURLY_SYMBOL_in_primary9957  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_CURLY_SYMBOL_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_CLOSE_CURLY_SYMBOL_in_primary9957	= { FOLLOW_CLOSE_CURLY_SYMBOL_in_primary9957_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_match_expression_in_primary9963  */
static	ANTLR3_BITWORD FOLLOW_match_expression_in_primary9963_bits[]	= { ANTLR3_UINT64_LIT(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_primary9963	= { FOLLOW_match_expression_in_primary9963_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_case_expression_in_primary9969  */
static	ANTLR3_BITWORD FOLLOW_case_expression_in_primary9969_bits[]	= { ANTLR3_UINT64_LIT(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_primary9969	= { FOLLOW_case_expression_in_primary9969_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_cast_expression_in_primary9975  */
static	ANTLR3_BITWORD FOLLOW_cast_expression_in_primary9975_bits[]	= { ANTLR3_UINT64_LIT(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_primary9975	= { FOLLOW_cast_expression_in_primary9975_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COLLATE_SYMBOL_in_primary9997  */
static	ANTLR3_BITWORD FOLLOW_COLLATE_SYMBOL_in_primary9997_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_COLLATE_SYMBOL_in_primary9997	= { FOLLOW_COLLATE_SYMBOL_in_primary9997_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_text_or_identifier_in_primary9999  */
static	ANTLR3_BITWORD FOLLOW_text_or_identifier_in_primary9999_bits[]	= { ANTLR3_UINT64_LIT(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_primary9999	= { FOLLOW_text_or_identifier_in_primary9999_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_function_call_in_function_call_expression10076  */
static	ANTLR3_BITWORD FOLLOW_function_call_in_function_call_expression10076_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_function_call_in_function_call_expression10076	= { FOLLOW_function_call_in_function_call_expression10076_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CHAR_SYMBOL_in_function_call10095  */
static	ANTLR3_BITWORD FOLLOW_CHAR_SYMBOL_in_function_call10095_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_CHAR_SYMBOL_in_function_call10095	= { FOLLOW_CHAR_SYMBOL_in_function_call10095_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_function_call10097  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_function_call10097_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C056484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_function_call10097	= { FOLLOW_OPEN_PAR_SYMBOL_in_function_call10097_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_list_in_function_call10099  */
static	ANTLR3_BITWORD FOLLOW_expression_list_in_function_call10099_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000000000002000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_list_in_function_call10099	= { FOLLOW_expression_list_in_function_call10099_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_USING_SYMBOL_in_function_call10102  */
static	ANTLR3_BITWORD FOLLOW_USING_SYMBOL_in_function_call10102_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(0x0008000000000008), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_USING_SYMBOL_in_function_call10102	= { FOLLOW_USING_SYMBOL_in_function_call10102_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_charset_name_in_function_call10104  */
static	ANTLR3_BITWORD FOLLOW_charset_name_in_function_call10104_bits[]	= { ANTLR3_UINT64_LIT(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_call10104	= { FOLLOW_charset_name_in_function_call10104_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10108  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10108_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10108	= { FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10108_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CURRENT_USER_SYMBOL_in_function_call10113  */
static	ANTLR3_BITWORD FOLLOW_CURRENT_USER_SYMBOL_in_function_call10113_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_CURRENT_USER_SYMBOL_in_function_call10113	= { FOLLOW_CURRENT_USER_SYMBOL_in_function_call10113_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_parentheses_in_function_call10115  */
static	ANTLR3_BITWORD FOLLOW_parentheses_in_function_call10115_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_parentheses_in_function_call10115	= { FOLLOW_parentheses_in_function_call10115_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DATE_SYMBOL_in_function_call10121  */
static	ANTLR3_BITWORD FOLLOW_DATE_SYMBOL_in_function_call10121_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_DATE_SYMBOL_in_function_call10121	= { FOLLOW_DATE_SYMBOL_in_function_call10121_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_function_call10123  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_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(0xCB45800FFFFFFFFF), ANTLR3_UINT64_LIT(0x00000A4A98001181), ANTLR3_UINT64_LIT(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C056484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_function_call10123	= { FOLLOW_OPEN_PAR_SYMBOL_in_function_call10123_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_function_call10125  */
static	ANTLR3_BITWORD FOLLOW_expression_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_expression_in_function_call10125	= { FOLLOW_expression_in_function_call10125_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10127  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10127_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10127	= { FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10127_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DAY_SYMBOL_in_function_call10132  */
static	ANTLR3_BITWORD FOLLOW_DAY_SYMBOL_in_function_call10132_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_DAY_SYMBOL_in_function_call10132	= { FOLLOW_DAY_SYMBOL_in_function_call10132_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_function_call10134  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_function_call10134_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C056484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_function_call10134	= { FOLLOW_OPEN_PAR_SYMBOL_in_function_call10134_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_function_call10136  */
static	ANTLR3_BITWORD FOLLOW_expression_in_function_call10136_bits[]	= { ANTLR3_UINT64_LIT(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_call10136	= { FOLLOW_expression_in_function_call10136_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10138  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10138_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10138	= { FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10138_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_HOUR_SYMBOL_in_function_call10143  */
static	ANTLR3_BITWORD FOLLOW_HOUR_SYMBOL_in_function_call10143_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_HOUR_SYMBOL_in_function_call10143	= { FOLLOW_HOUR_SYMBOL_in_function_call10143_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_function_call10145  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_function_call10145_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C056484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_function_call10145	= { FOLLOW_OPEN_PAR_SYMBOL_in_function_call10145_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_function_call10147  */
static	ANTLR3_BITWORD FOLLOW_expression_in_function_call10147_bits[]	= { ANTLR3_UINT64_LIT(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_call10147	= { FOLLOW_expression_in_function_call10147_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10149  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10149_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10149	= { FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10149_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INSERT_SYMBOL_in_function_call10154  */
static	ANTLR3_BITWORD FOLLOW_INSERT_SYMBOL_in_function_call10154_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_INSERT_SYMBOL_in_function_call10154	= { FOLLOW_INSERT_SYMBOL_in_function_call10154_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_function_call10156  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_function_call10156_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C056484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_function_call10156	= { FOLLOW_OPEN_PAR_SYMBOL_in_function_call10156_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_function_call10158  */
static	ANTLR3_BITWORD FOLLOW_expression_in_function_call10158_bits[]	= { ANTLR3_UINT64_LIT(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_call10158	= { FOLLOW_expression_in_function_call10158_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_function_call10160  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_function_call10160_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C056484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_function_call10160	= { FOLLOW_COMMA_SYMBOL_in_function_call10160_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_function_call10162  */
static	ANTLR3_BITWORD FOLLOW_expression_in_function_call10162_bits[]	= { ANTLR3_UINT64_LIT(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_call10162	= { FOLLOW_expression_in_function_call10162_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_function_call10164  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_function_call10164_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C056484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_function_call10164	= { FOLLOW_COMMA_SYMBOL_in_function_call10164_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_function_call10166  */
static	ANTLR3_BITWORD FOLLOW_expression_in_function_call10166_bits[]	= { ANTLR3_UINT64_LIT(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_call10166	= { FOLLOW_expression_in_function_call10166_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_function_call10168  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_function_call10168_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C056484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_function_call10168	= { FOLLOW_COMMA_SYMBOL_in_function_call10168_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_function_call10170  */
static	ANTLR3_BITWORD FOLLOW_expression_in_function_call10170_bits[]	= { ANTLR3_UINT64_LIT(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_call10170	= { FOLLOW_expression_in_function_call10170_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10172  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10172_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10172	= { FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10172_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_LEFT_SYMBOL_in_function_call10179  */
static	ANTLR3_BITWORD FOLLOW_LEFT_SYMBOL_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(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_LEFT_SYMBOL_in_function_call10179	= { FOLLOW_LEFT_SYMBOL_in_function_call10179_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_function_call10181  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C056484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_function_call10181	= { FOLLOW_OPEN_PAR_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(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000004) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_function_call10185	= { FOLLOW_COMMA_SYMBOL_in_function_call10185_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_function_call10187  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_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(0x0000000000010000) };
static  ANTLR3_BITSET_LIST FOLLOW_INTEGER_in_function_call10187	= { FOLLOW_INTEGER_in_function_call10187_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10189  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10189_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10189	= { FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10189_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MINUTE_SYMBOL_in_function_call10194  */
static	ANTLR3_BITWORD FOLLOW_MINUTE_SYMBOL_in_function_call10194_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_MINUTE_SYMBOL_in_function_call10194	= { FOLLOW_MINUTE_SYMBOL_in_function_call10194_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_function_call10196  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_function_call10196_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C056484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_function_call10196	= { FOLLOW_OPEN_PAR_SYMBOL_in_function_call10196_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_function_call10198  */
static	ANTLR3_BITWORD FOLLOW_expression_in_function_call10198_bits[]	= { ANTLR3_UINT64_LIT(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_call10198	= { FOLLOW_expression_in_function_call10198_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10200  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10200_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10200	= { FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10200_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MONTH_SYMBOL_in_function_call10205  */
static	ANTLR3_BITWORD FOLLOW_MONTH_SYMBOL_in_function_call10205_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_MONTH_SYMBOL_in_function_call10205	= { FOLLOW_MONTH_SYMBOL_in_function_call10205_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_function_call10207  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_function_call10207_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C056484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_function_call10207	= { FOLLOW_OPEN_PAR_SYMBOL_in_function_call10207_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_function_call10209  */
static	ANTLR3_BITWORD FOLLOW_expression_in_function_call10209_bits[]	= { ANTLR3_UINT64_LIT(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_call10209	= { FOLLOW_expression_in_function_call10209_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10211  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10211_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10211	= { FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10211_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_RIGHT_SYMBOL_in_function_call10216  */
static	ANTLR3_BITWORD FOLLOW_RIGHT_SYMBOL_in_function_call10216_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_RIGHT_SYMBOL_in_function_call10216	= { FOLLOW_RIGHT_SYMBOL_in_function_call10216_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_function_call10218  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_function_call10218_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C056484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_function_call10218	= { FOLLOW_OPEN_PAR_SYMBOL_in_function_call10218_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_function_call10220  */
static	ANTLR3_BITWORD FOLLOW_expression_in_function_call10220_bits[]	= { ANTLR3_UINT64_LIT(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_call10220	= { FOLLOW_expression_in_function_call10220_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_function_call10222  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_function_call10222_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000004) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_function_call10222	= { FOLLOW_COMMA_SYMBOL_in_function_call10222_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_function_call10224  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_function_call10224_bits[]	= { ANTLR3_UINT64_LIT(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_call10224	= { FOLLOW_INTEGER_in_function_call10224_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10226  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10226_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10226	= { FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10226_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SECOND_SYMBOL_in_function_call10231  */
static	ANTLR3_BITWORD FOLLOW_SECOND_SYMBOL_in_function_call10231_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_SECOND_SYMBOL_in_function_call10231	= { FOLLOW_SECOND_SYMBOL_in_function_call10231_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_function_call10233  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_function_call10233_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C056484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_function_call10233	= { FOLLOW_OPEN_PAR_SYMBOL_in_function_call10233_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_function_call10235  */
static	ANTLR3_BITWORD FOLLOW_expression_in_function_call10235_bits[]	= { ANTLR3_UINT64_LIT(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_call10235	= { FOLLOW_expression_in_function_call10235_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10237  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10237_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10237	= { FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10237_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TIME_SYMBOL_in_function_call10242  */
static	ANTLR3_BITWORD FOLLOW_TIME_SYMBOL_in_function_call10242_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_TIME_SYMBOL_in_function_call10242	= { FOLLOW_TIME_SYMBOL_in_function_call10242_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_function_call10244  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_function_call10244_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C056484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_function_call10244	= { FOLLOW_OPEN_PAR_SYMBOL_in_function_call10244_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_function_call10246  */
static	ANTLR3_BITWORD FOLLOW_expression_in_function_call10246_bits[]	= { ANTLR3_UINT64_LIT(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_call10246	= { FOLLOW_expression_in_function_call10246_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10248  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10248_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10248	= { FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10248_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TIMESTAMP_SYMBOL_in_function_call10253  */
static	ANTLR3_BITWORD FOLLOW_TIMESTAMP_SYMBOL_in_function_call10253_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_TIMESTAMP_SYMBOL_in_function_call10253	= { FOLLOW_TIMESTAMP_SYMBOL_in_function_call10253_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_function_call10255  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_function_call10255_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C056484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_function_call10255	= { FOLLOW_OPEN_PAR_SYMBOL_in_function_call10255_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_function_call10257  */
static	ANTLR3_BITWORD FOLLOW_expression_in_function_call10257_bits[]	= { ANTLR3_UINT64_LIT(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_call10257	= { FOLLOW_expression_in_function_call10257_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_function_call10260  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_function_call10260_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C056484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_function_call10260	= { FOLLOW_COMMA_SYMBOL_in_function_call10260_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_function_call10262  */
static	ANTLR3_BITWORD FOLLOW_expression_in_function_call10262_bits[]	= { ANTLR3_UINT64_LIT(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_call10262	= { FOLLOW_expression_in_function_call10262_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10266  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10266_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10266	= { FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10266_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_trim_function_in_function_call10271  */
static	ANTLR3_BITWORD FOLLOW_trim_function_in_function_call10271_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_trim_function_in_function_call10271	= { FOLLOW_trim_function_in_function_call10271_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_USER_SYMBOL_in_function_call10276  */
static	ANTLR3_BITWORD FOLLOW_USER_SYMBOL_in_function_call10276_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_USER_SYMBOL_in_function_call10276	= { FOLLOW_USER_SYMBOL_in_function_call10276_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_parentheses_in_function_call10278  */
static	ANTLR3_BITWORD FOLLOW_parentheses_in_function_call10278_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_parentheses_in_function_call10278	= { FOLLOW_parentheses_in_function_call10278_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_VALUES_SYMBOL_in_function_call10283  */
static	ANTLR3_BITWORD FOLLOW_VALUES_SYMBOL_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(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_VALUES_SYMBOL_in_function_call10283	= { FOLLOW_VALUES_SYMBOL_in_function_call10283_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_function_call10285  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_function_call10285_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C056484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_function_call10285	= { FOLLOW_OPEN_PAR_SYMBOL_in_function_call10285_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_function_call10287  */
static	ANTLR3_BITWORD FOLLOW_expression_in_function_call10287_bits[]	= { ANTLR3_UINT64_LIT(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_call10287	= { FOLLOW_expression_in_function_call10287_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10289  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10289_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10289	= { FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10289_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_YEAR_SYMBOL_in_function_call10294  */
static	ANTLR3_BITWORD FOLLOW_YEAR_SYMBOL_in_function_call10294_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_YEAR_SYMBOL_in_function_call10294	= { FOLLOW_YEAR_SYMBOL_in_function_call10294_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_function_call10296  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_function_call10296_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C056484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_function_call10296	= { FOLLOW_OPEN_PAR_SYMBOL_in_function_call10296_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_function_call10298  */
static	ANTLR3_BITWORD FOLLOW_expression_in_function_call10298_bits[]	= { ANTLR3_UINT64_LIT(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_call10298	= { FOLLOW_expression_in_function_call10298_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10300  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10300_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10300	= { FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10300_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_function_call10308  */
static	ANTLR3_BITWORD FOLLOW_set_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(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_function_call10308	= { FOLLOW_set_in_function_call10308_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_function_call10316  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_function_call10316_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C056484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_function_call10316	= { FOLLOW_OPEN_PAR_SYMBOL_in_function_call10316_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_function_call10318  */
static	ANTLR3_BITWORD FOLLOW_expression_in_function_call10318_bits[]	= { ANTLR3_UINT64_LIT(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_call10318	= { FOLLOW_expression_in_function_call10318_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_function_call10320  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_function_call10320_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C056484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_function_call10320	= { FOLLOW_COMMA_SYMBOL_in_function_call10320_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_function_call10322  */
static	ANTLR3_BITWORD FOLLOW_expression_in_function_call10322_bits[]	= { ANTLR3_UINT64_LIT(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_call10322	= { FOLLOW_expression_in_function_call10322_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10324  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10324_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10324	= { FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10324_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CURDATE_SYMBOL_in_function_call10329  */
static	ANTLR3_BITWORD FOLLOW_CURDATE_SYMBOL_in_function_call10329_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_CURDATE_SYMBOL_in_function_call10329	= { FOLLOW_CURDATE_SYMBOL_in_function_call10329_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_parentheses_in_function_call10331  */
static	ANTLR3_BITWORD FOLLOW_parentheses_in_function_call10331_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_parentheses_in_function_call10331	= { FOLLOW_parentheses_in_function_call10331_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CURTIME_SYMBOL_in_function_call10337  */
static	ANTLR3_BITWORD FOLLOW_CURTIME_SYMBOL_in_function_call10337_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_CURTIME_SYMBOL_in_function_call10337	= { FOLLOW_CURTIME_SYMBOL_in_function_call10337_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_time_function_parameters_in_function_call10339  */
static	ANTLR3_BITWORD FOLLOW_time_function_parameters_in_function_call10339_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_time_function_parameters_in_function_call10339	= { FOLLOW_time_function_parameters_in_function_call10339_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_function_call10345  */
static	ANTLR3_BITWORD FOLLOW_set_in_function_call10345_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_function_call10345	= { FOLLOW_set_in_function_call10345_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_function_call10353  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_function_call10353_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C056484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_function_call10353	= { FOLLOW_OPEN_PAR_SYMBOL_in_function_call10353_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_function_call10355  */
static	ANTLR3_BITWORD FOLLOW_expression_in_function_call10355_bits[]	= { ANTLR3_UINT64_LIT(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_call10355	= { FOLLOW_expression_in_function_call10355_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_function_call10357  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_function_call10357_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_COMMA_SYMBOL_in_function_call10357	= { FOLLOW_COMMA_SYMBOL_in_function_call10357_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTERVAL_SYMBOL_in_function_call10359  */
static	ANTLR3_BITWORD FOLLOW_INTERVAL_SYMBOL_in_function_call10359_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C056484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_INTERVAL_SYMBOL_in_function_call10359	= { FOLLOW_INTERVAL_SYMBOL_in_function_call10359_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_interval_in_function_call10361  */
static	ANTLR3_BITWORD FOLLOW_interval_in_function_call10361_bits[]	= { ANTLR3_UINT64_LIT(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_call10361	= { FOLLOW_interval_in_function_call10361_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10363  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10363_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10363	= { FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10363_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EXTRACT_SYMBOL_in_function_call10368  */
static	ANTLR3_BITWORD FOLLOW_EXTRACT_SYMBOL_in_function_call10368_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_EXTRACT_SYMBOL_in_function_call10368	= { FOLLOW_EXTRACT_SYMBOL_in_function_call10368_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_function_call10370  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_function_call10370_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(0x0007000200000000), ANTLR3_UINT64_LIT(0x1800000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000008), ANTLR3_UINT64_LIT(0x0000010000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_function_call10370	= { FOLLOW_OPEN_PAR_SYMBOL_in_function_call10370_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_interval_unit_in_function_call10372  */
static	ANTLR3_BITWORD FOLLOW_interval_unit_in_function_call10372_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_interval_unit_in_function_call10372	= { FOLLOW_interval_unit_in_function_call10372_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FROM_SYMBOL_in_function_call10374  */
static	ANTLR3_BITWORD FOLLOW_FROM_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C056484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_FROM_SYMBOL_in_function_call10374	= { FOLLOW_FROM_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(0x0000000000010000) };
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_CLOSE_PAR_SYMBOL_in_function_call10378  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10378_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10378	= { FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10378_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_GET_FORMAT_SYMBOL_in_function_call10383  */
static	ANTLR3_BITWORD FOLLOW_GET_FORMAT_SYMBOL_in_function_call10383_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_GET_FORMAT_SYMBOL_in_function_call10383	= { FOLLOW_GET_FORMAT_SYMBOL_in_function_call10383_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_function_call10385  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_function_call10385_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_call10385	= { FOLLOW_OPEN_PAR_SYMBOL_in_function_call10385_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_date_time_type_in_function_call10387  */
static	ANTLR3_BITWORD FOLLOW_date_time_type_in_function_call10387_bits[]	= { ANTLR3_UINT64_LIT(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_call10387	= { FOLLOW_date_time_type_in_function_call10387_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_function_call10390  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_function_call10390_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C056484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_function_call10390	= { FOLLOW_COMMA_SYMBOL_in_function_call10390_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_function_call10392  */
static	ANTLR3_BITWORD FOLLOW_expression_in_function_call10392_bits[]	= { ANTLR3_UINT64_LIT(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_call10392	= { FOLLOW_expression_in_function_call10392_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10394  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10394_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10394	= { FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10394_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_NOW_SYMBOL_in_function_call10399  */
static	ANTLR3_BITWORD FOLLOW_NOW_SYMBOL_in_function_call10399_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_NOW_SYMBOL_in_function_call10399	= { FOLLOW_NOW_SYMBOL_in_function_call10399_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_time_function_parameters_in_function_call10401  */
static	ANTLR3_BITWORD FOLLOW_time_function_parameters_in_function_call10401_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_time_function_parameters_in_function_call10401	= { FOLLOW_time_function_parameters_in_function_call10401_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_POSITION_SYMBOL_in_function_call10407  */
static	ANTLR3_BITWORD FOLLOW_POSITION_SYMBOL_in_function_call10407_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_POSITION_SYMBOL_in_function_call10407	= { FOLLOW_POSITION_SYMBOL_in_function_call10407_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_function_call10409  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_function_call10409_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C054484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_function_call10409	= { FOLLOW_OPEN_PAR_SYMBOL_in_function_call10409_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_bitwise_or_expression_in_function_call10411  */
static	ANTLR3_BITWORD FOLLOW_bitwise_or_expression_in_function_call10411_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_bitwise_or_expression_in_function_call10411	= { FOLLOW_bitwise_or_expression_in_function_call10411_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_IN_SYMBOL_in_function_call10413  */
static	ANTLR3_BITWORD FOLLOW_IN_SYMBOL_in_function_call10413_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C056484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_IN_SYMBOL_in_function_call10413	= { FOLLOW_IN_SYMBOL_in_function_call10413_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_function_call10415  */
static	ANTLR3_BITWORD FOLLOW_expression_in_function_call10415_bits[]	= { ANTLR3_UINT64_LIT(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_call10415	= { FOLLOW_expression_in_function_call10415_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10417  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10417_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10417	= { FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10417_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_substring_function_in_function_call10422  */
static	ANTLR3_BITWORD FOLLOW_substring_function_in_function_call10422_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_substring_function_in_function_call10422	= { FOLLOW_substring_function_in_function_call10422_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SYSDATE_SYMBOL_in_function_call10427  */
static	ANTLR3_BITWORD FOLLOW_SYSDATE_SYMBOL_in_function_call10427_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_SYSDATE_SYMBOL_in_function_call10427	= { FOLLOW_SYSDATE_SYMBOL_in_function_call10427_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_time_function_parameters_in_function_call10429  */
static	ANTLR3_BITWORD FOLLOW_time_function_parameters_in_function_call10429_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_time_function_parameters_in_function_call10429	= { FOLLOW_time_function_parameters_in_function_call10429_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_function_call10435  */
static	ANTLR3_BITWORD FOLLOW_set_in_function_call10435_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_function_call10435	= { FOLLOW_set_in_function_call10435_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_function_call10443  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_function_call10443_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(0x0000000200000000) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_function_call10443	= { FOLLOW_OPEN_PAR_SYMBOL_in_function_call10443_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_interval_timestamp_unit_in_function_call10445  */
static	ANTLR3_BITWORD FOLLOW_interval_timestamp_unit_in_function_call10445_bits[]	= { ANTLR3_UINT64_LIT(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_call10445	= { FOLLOW_interval_timestamp_unit_in_function_call10445_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_function_call10447  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_function_call10447_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C056484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_function_call10447	= { FOLLOW_COMMA_SYMBOL_in_function_call10447_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_function_call10449  */
static	ANTLR3_BITWORD FOLLOW_expression_in_function_call10449_bits[]	= { ANTLR3_UINT64_LIT(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_call10449	= { FOLLOW_expression_in_function_call10449_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_function_call10451  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_function_call10451_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C056484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_function_call10451	= { FOLLOW_COMMA_SYMBOL_in_function_call10451_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_function_call10453  */
static	ANTLR3_BITWORD FOLLOW_expression_in_function_call10453_bits[]	= { ANTLR3_UINT64_LIT(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_call10453	= { FOLLOW_expression_in_function_call10453_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10455  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10455_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10455	= { FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10455_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_UTC_DATE_SYMBOL_in_function_call10460  */
static	ANTLR3_BITWORD FOLLOW_UTC_DATE_SYMBOL_in_function_call10460_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_UTC_DATE_SYMBOL_in_function_call10460	= { FOLLOW_UTC_DATE_SYMBOL_in_function_call10460_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_parentheses_in_function_call10462  */
static	ANTLR3_BITWORD FOLLOW_parentheses_in_function_call10462_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_parentheses_in_function_call10462	= { FOLLOW_parentheses_in_function_call10462_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_UTC_TIME_SYMBOL_in_function_call10468  */
static	ANTLR3_BITWORD FOLLOW_UTC_TIME_SYMBOL_in_function_call10468_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_UTC_TIME_SYMBOL_in_function_call10468	= { FOLLOW_UTC_TIME_SYMBOL_in_function_call10468_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_time_function_parameters_in_function_call10470  */
static	ANTLR3_BITWORD FOLLOW_time_function_parameters_in_function_call10470_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_time_function_parameters_in_function_call10470	= { FOLLOW_time_function_parameters_in_function_call10470_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_UTC_TIMESTAMP_SYMBOL_in_function_call10476  */
static	ANTLR3_BITWORD FOLLOW_UTC_TIMESTAMP_SYMBOL_in_function_call10476_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_UTC_TIMESTAMP_SYMBOL_in_function_call10476	= { FOLLOW_UTC_TIMESTAMP_SYMBOL_in_function_call10476_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_time_function_parameters_in_function_call10478  */
static	ANTLR3_BITWORD FOLLOW_time_function_parameters_in_function_call10478_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_time_function_parameters_in_function_call10478	= { FOLLOW_time_function_parameters_in_function_call10478_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ASCII_SYMBOL_in_function_call10487  */
static	ANTLR3_BITWORD FOLLOW_ASCII_SYMBOL_in_function_call10487_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_ASCII_SYMBOL_in_function_call10487	= { FOLLOW_ASCII_SYMBOL_in_function_call10487_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_function_call10489  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_function_call10489_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C056484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_function_call10489	= { FOLLOW_OPEN_PAR_SYMBOL_in_function_call10489_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_function_call10491  */
static	ANTLR3_BITWORD FOLLOW_expression_in_function_call10491_bits[]	= { ANTLR3_UINT64_LIT(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_call10491	= { FOLLOW_expression_in_function_call10491_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10493  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10493_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10493	= { FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10493_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CHARSET_SYMBOL_in_function_call10498  */
static	ANTLR3_BITWORD FOLLOW_CHARSET_SYMBOL_in_function_call10498_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_CHARSET_SYMBOL_in_function_call10498	= { FOLLOW_CHARSET_SYMBOL_in_function_call10498_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_function_call10500  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_function_call10500_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C056484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_function_call10500	= { FOLLOW_OPEN_PAR_SYMBOL_in_function_call10500_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_function_call10502  */
static	ANTLR3_BITWORD FOLLOW_expression_in_function_call10502_bits[]	= { ANTLR3_UINT64_LIT(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_call10502	= { FOLLOW_expression_in_function_call10502_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10504  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10504_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10504	= { FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10504_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COALESCE_SYMBOL_in_function_call10509  */
static	ANTLR3_BITWORD FOLLOW_COALESCE_SYMBOL_in_function_call10509_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_COALESCE_SYMBOL_in_function_call10509	= { FOLLOW_COALESCE_SYMBOL_in_function_call10509_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_list_with_parentheses_in_function_call10511  */
static	ANTLR3_BITWORD FOLLOW_expression_list_with_parentheses_in_function_call10511_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_list_with_parentheses_in_function_call10511	= { FOLLOW_expression_list_with_parentheses_in_function_call10511_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COLLATION_SYMBOL_in_function_call10516  */
static	ANTLR3_BITWORD FOLLOW_COLLATION_SYMBOL_in_function_call10516_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_COLLATION_SYMBOL_in_function_call10516	= { FOLLOW_COLLATION_SYMBOL_in_function_call10516_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_function_call10518  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_function_call10518_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C056484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_function_call10518	= { FOLLOW_OPEN_PAR_SYMBOL_in_function_call10518_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_function_call10520  */
static	ANTLR3_BITWORD FOLLOW_expression_in_function_call10520_bits[]	= { ANTLR3_UINT64_LIT(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_call10520	= { FOLLOW_expression_in_function_call10520_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10522  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10522_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10522	= { FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10522_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DATABASE_SYMBOL_in_function_call10527  */
static	ANTLR3_BITWORD FOLLOW_DATABASE_SYMBOL_in_function_call10527_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_DATABASE_SYMBOL_in_function_call10527	= { FOLLOW_DATABASE_SYMBOL_in_function_call10527_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_parentheses_in_function_call10529  */
static	ANTLR3_BITWORD FOLLOW_parentheses_in_function_call10529_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_parentheses_in_function_call10529	= { FOLLOW_parentheses_in_function_call10529_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_IF_SYMBOL_in_function_call10534  */
static	ANTLR3_BITWORD FOLLOW_IF_SYMBOL_in_function_call10534_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_IF_SYMBOL_in_function_call10534	= { FOLLOW_IF_SYMBOL_in_function_call10534_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_function_call10536  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_function_call10536_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C056484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_function_call10536	= { FOLLOW_OPEN_PAR_SYMBOL_in_function_call10536_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_function_call10538  */
static	ANTLR3_BITWORD FOLLOW_expression_in_function_call10538_bits[]	= { ANTLR3_UINT64_LIT(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_call10538	= { FOLLOW_expression_in_function_call10538_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_function_call10540  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_function_call10540_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C056484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_function_call10540	= { FOLLOW_COMMA_SYMBOL_in_function_call10540_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_function_call10542  */
static	ANTLR3_BITWORD FOLLOW_expression_in_function_call10542_bits[]	= { ANTLR3_UINT64_LIT(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_call10542	= { FOLLOW_expression_in_function_call10542_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_function_call10544  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_function_call10544_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C056484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_function_call10544	= { FOLLOW_COMMA_SYMBOL_in_function_call10544_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_function_call10546  */
static	ANTLR3_BITWORD FOLLOW_expression_in_function_call10546_bits[]	= { ANTLR3_UINT64_LIT(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_call10546	= { FOLLOW_expression_in_function_call10546_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10548  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10548_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10548	= { FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10548_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FORMAT_SYMBOL_in_function_call10553  */
static	ANTLR3_BITWORD FOLLOW_FORMAT_SYMBOL_in_function_call10553_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_FORMAT_SYMBOL_in_function_call10553	= { FOLLOW_FORMAT_SYMBOL_in_function_call10553_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_function_call10555  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_function_call10555_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C056484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_function_call10555	= { FOLLOW_OPEN_PAR_SYMBOL_in_function_call10555_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_function_call10557  */
static	ANTLR3_BITWORD FOLLOW_expression_in_function_call10557_bits[]	= { ANTLR3_UINT64_LIT(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_call10557	= { FOLLOW_expression_in_function_call10557_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_function_call10559  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_function_call10559_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C056484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_function_call10559	= { FOLLOW_COMMA_SYMBOL_in_function_call10559_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_function_call10561  */
static	ANTLR3_BITWORD FOLLOW_expression_in_function_call10561_bits[]	= { ANTLR3_UINT64_LIT(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_call10561	= { FOLLOW_expression_in_function_call10561_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_function_call10564  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_function_call10564_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C056484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_function_call10564	= { FOLLOW_COMMA_SYMBOL_in_function_call10564_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_function_call10566  */
static	ANTLR3_BITWORD FOLLOW_expression_in_function_call10566_bits[]	= { ANTLR3_UINT64_LIT(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_call10566	= { FOLLOW_expression_in_function_call10566_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10570  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10570_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10570	= { FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10570_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MICROSECOND_SYMBOL_in_function_call10575  */
static	ANTLR3_BITWORD FOLLOW_MICROSECOND_SYMBOL_in_function_call10575_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_MICROSECOND_SYMBOL_in_function_call10575	= { FOLLOW_MICROSECOND_SYMBOL_in_function_call10575_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_function_call10577  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_function_call10577_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C056484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_function_call10577	= { FOLLOW_OPEN_PAR_SYMBOL_in_function_call10577_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_function_call10579  */
static	ANTLR3_BITWORD FOLLOW_expression_in_function_call10579_bits[]	= { ANTLR3_UINT64_LIT(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_call10579	= { FOLLOW_expression_in_function_call10579_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10581  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10581_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10581	= { FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10581_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MOD_SYMBOL_in_function_call10586  */
static	ANTLR3_BITWORD FOLLOW_MOD_SYMBOL_in_function_call10586_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_MOD_SYMBOL_in_function_call10586	= { FOLLOW_MOD_SYMBOL_in_function_call10586_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_function_call10588  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_function_call10588_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C056484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_function_call10588	= { FOLLOW_OPEN_PAR_SYMBOL_in_function_call10588_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_function_call10590  */
static	ANTLR3_BITWORD FOLLOW_expression_in_function_call10590_bits[]	= { ANTLR3_UINT64_LIT(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_call10590	= { FOLLOW_expression_in_function_call10590_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_function_call10592  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_function_call10592_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C056484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_function_call10592	= { FOLLOW_COMMA_SYMBOL_in_function_call10592_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_function_call10594  */
static	ANTLR3_BITWORD FOLLOW_expression_in_function_call10594_bits[]	= { ANTLR3_UINT64_LIT(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_call10594	= { FOLLOW_expression_in_function_call10594_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10596  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10596_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10596	= { FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10596_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OLD_PASSWORD_SYMBOL_in_function_call10601  */
static	ANTLR3_BITWORD FOLLOW_OLD_PASSWORD_SYMBOL_in_function_call10601_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_OLD_PASSWORD_SYMBOL_in_function_call10601	= { FOLLOW_OLD_PASSWORD_SYMBOL_in_function_call10601_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_function_call10603  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_function_call10603_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C056484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_function_call10603	= { FOLLOW_OPEN_PAR_SYMBOL_in_function_call10603_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_function_call10605  */
static	ANTLR3_BITWORD FOLLOW_expression_in_function_call10605_bits[]	= { ANTLR3_UINT64_LIT(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_call10605	= { FOLLOW_expression_in_function_call10605_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10607  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10607_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10607	= { FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10607_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PASSWORD_SYMBOL_in_function_call10612  */
static	ANTLR3_BITWORD FOLLOW_PASSWORD_SYMBOL_in_function_call10612_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_PASSWORD_SYMBOL_in_function_call10612	= { FOLLOW_PASSWORD_SYMBOL_in_function_call10612_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_function_call10614  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_function_call10614_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C056484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_function_call10614	= { FOLLOW_OPEN_PAR_SYMBOL_in_function_call10614_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_function_call10616  */
static	ANTLR3_BITWORD FOLLOW_expression_in_function_call10616_bits[]	= { ANTLR3_UINT64_LIT(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_call10616	= { FOLLOW_expression_in_function_call10616_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10618  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10618_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10618	= { FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10618_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_QUARTER_SYMBOL_in_function_call10623  */
static	ANTLR3_BITWORD FOLLOW_QUARTER_SYMBOL_in_function_call10623_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_QUARTER_SYMBOL_in_function_call10623	= { FOLLOW_QUARTER_SYMBOL_in_function_call10623_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_function_call10625  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_function_call10625_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C056484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_function_call10625	= { FOLLOW_OPEN_PAR_SYMBOL_in_function_call10625_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_function_call10627  */
static	ANTLR3_BITWORD FOLLOW_expression_in_function_call10627_bits[]	= { ANTLR3_UINT64_LIT(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_call10627	= { FOLLOW_expression_in_function_call10627_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10629  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10629_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10629	= { FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10629_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_REPEAT_SYMBOL_in_function_call10634  */
static	ANTLR3_BITWORD FOLLOW_REPEAT_SYMBOL_in_function_call10634_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_REPEAT_SYMBOL_in_function_call10634	= { FOLLOW_REPEAT_SYMBOL_in_function_call10634_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_function_call10636  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_function_call10636_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C056484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_function_call10636	= { FOLLOW_OPEN_PAR_SYMBOL_in_function_call10636_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_function_call10638  */
static	ANTLR3_BITWORD FOLLOW_expression_in_function_call10638_bits[]	= { ANTLR3_UINT64_LIT(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_call10638	= { FOLLOW_expression_in_function_call10638_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_function_call10640  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_function_call10640_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C056484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_function_call10640	= { FOLLOW_COMMA_SYMBOL_in_function_call10640_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_function_call10642  */
static	ANTLR3_BITWORD FOLLOW_expression_in_function_call10642_bits[]	= { ANTLR3_UINT64_LIT(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_call10642	= { FOLLOW_expression_in_function_call10642_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10644  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10644_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10644	= { FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10644_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_REPLACE_SYMBOL_in_function_call10649  */
static	ANTLR3_BITWORD FOLLOW_REPLACE_SYMBOL_in_function_call10649_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_REPLACE_SYMBOL_in_function_call10649	= { FOLLOW_REPLACE_SYMBOL_in_function_call10649_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_function_call10651  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_function_call10651_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C056484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_function_call10651	= { FOLLOW_OPEN_PAR_SYMBOL_in_function_call10651_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_function_call10653  */
static	ANTLR3_BITWORD FOLLOW_expression_in_function_call10653_bits[]	= { ANTLR3_UINT64_LIT(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_call10653	= { FOLLOW_expression_in_function_call10653_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_function_call10655  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_function_call10655_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C056484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_function_call10655	= { FOLLOW_COMMA_SYMBOL_in_function_call10655_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_function_call10657  */
static	ANTLR3_BITWORD FOLLOW_expression_in_function_call10657_bits[]	= { ANTLR3_UINT64_LIT(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_call10657	= { FOLLOW_expression_in_function_call10657_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_function_call10659  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_function_call10659_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C056484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_function_call10659	= { FOLLOW_COMMA_SYMBOL_in_function_call10659_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_function_call10661  */
static	ANTLR3_BITWORD FOLLOW_expression_in_function_call10661_bits[]	= { ANTLR3_UINT64_LIT(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_call10661	= { FOLLOW_expression_in_function_call10661_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10663  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10663_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10663	= { FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10663_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_REVERSE_SYMBOL_in_function_call10668  */
static	ANTLR3_BITWORD FOLLOW_REVERSE_SYMBOL_in_function_call10668_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_REVERSE_SYMBOL_in_function_call10668	= { FOLLOW_REVERSE_SYMBOL_in_function_call10668_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_function_call10670  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_function_call10670_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C056484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_function_call10670	= { FOLLOW_OPEN_PAR_SYMBOL_in_function_call10670_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_function_call10672  */
static	ANTLR3_BITWORD FOLLOW_expression_in_function_call10672_bits[]	= { ANTLR3_UINT64_LIT(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_call10672	= { FOLLOW_expression_in_function_call10672_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10674  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10674_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10674	= { FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10674_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ROW_COUNT_SYMBOL_in_function_call10679  */
static	ANTLR3_BITWORD FOLLOW_ROW_COUNT_SYMBOL_in_function_call10679_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_ROW_COUNT_SYMBOL_in_function_call10679	= { FOLLOW_ROW_COUNT_SYMBOL_in_function_call10679_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_parentheses_in_function_call10681  */
static	ANTLR3_BITWORD FOLLOW_parentheses_in_function_call10681_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_parentheses_in_function_call10681	= { FOLLOW_parentheses_in_function_call10681_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TRUNCATE_SYMBOL_in_function_call10686  */
static	ANTLR3_BITWORD FOLLOW_TRUNCATE_SYMBOL_in_function_call10686_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_TRUNCATE_SYMBOL_in_function_call10686	= { FOLLOW_TRUNCATE_SYMBOL_in_function_call10686_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_function_call10688  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_function_call10688_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C056484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_function_call10688	= { FOLLOW_OPEN_PAR_SYMBOL_in_function_call10688_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_function_call10690  */
static	ANTLR3_BITWORD FOLLOW_expression_in_function_call10690_bits[]	= { ANTLR3_UINT64_LIT(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_call10690	= { FOLLOW_expression_in_function_call10690_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_function_call10692  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_function_call10692_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C056484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_function_call10692	= { FOLLOW_COMMA_SYMBOL_in_function_call10692_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_function_call10694  */
static	ANTLR3_BITWORD FOLLOW_expression_in_function_call10694_bits[]	= { ANTLR3_UINT64_LIT(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_call10694	= { FOLLOW_expression_in_function_call10694_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10696  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10696_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10696	= { FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10696_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_WEEK_SYMBOL_in_function_call10701  */
static	ANTLR3_BITWORD FOLLOW_WEEK_SYMBOL_in_function_call10701_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_WEEK_SYMBOL_in_function_call10701	= { FOLLOW_WEEK_SYMBOL_in_function_call10701_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_function_call10703  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_function_call10703_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C056484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_function_call10703	= { FOLLOW_OPEN_PAR_SYMBOL_in_function_call10703_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_function_call10705  */
static	ANTLR3_BITWORD FOLLOW_expression_in_function_call10705_bits[]	= { ANTLR3_UINT64_LIT(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_call10705	= { FOLLOW_expression_in_function_call10705_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_function_call10708  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_function_call10708_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C056484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_function_call10708	= { FOLLOW_COMMA_SYMBOL_in_function_call10708_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_function_call10710  */
static	ANTLR3_BITWORD FOLLOW_expression_in_function_call10710_bits[]	= { ANTLR3_UINT64_LIT(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_call10710	= { FOLLOW_expression_in_function_call10710_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10714  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10714_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10714	= { FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10714_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_WEIGHT_STRING_SYMBOL_in_function_call10723  */
static	ANTLR3_BITWORD FOLLOW_WEIGHT_STRING_SYMBOL_in_function_call10723_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_WEIGHT_STRING_SYMBOL_in_function_call10723	= { FOLLOW_WEIGHT_STRING_SYMBOL_in_function_call10723_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_function_call10725  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_function_call10725_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C056484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_function_call10725	= { FOLLOW_OPEN_PAR_SYMBOL_in_function_call10725_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_function_call10727  */
static	ANTLR3_BITWORD FOLLOW_expression_in_function_call10727_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_call10727	= { FOLLOW_expression_in_function_call10727_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_AS_SYMBOL_in_function_call10737  */
static	ANTLR3_BITWORD FOLLOW_AS_SYMBOL_in_function_call10737_bits[]	= { ANTLR3_UINT64_LIT(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_call10737	= { FOLLOW_AS_SYMBOL_in_function_call10737_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CHAR_SYMBOL_in_function_call10739  */
static	ANTLR3_BITWORD FOLLOW_CHAR_SYMBOL_in_function_call10739_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_CHAR_SYMBOL_in_function_call10739	= { FOLLOW_CHAR_SYMBOL_in_function_call10739_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_field_length_in_function_call10741  */
static	ANTLR3_BITWORD FOLLOW_field_length_in_function_call10741_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_call10741	= { FOLLOW_field_length_in_function_call10741_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_weight_string_levels_in_function_call10745  */
static	ANTLR3_BITWORD FOLLOW_weight_string_levels_in_function_call10745_bits[]	= { ANTLR3_UINT64_LIT(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_call10745	= { FOLLOW_weight_string_levels_in_function_call10745_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_AS_SYMBOL_in_function_call10753  */
static	ANTLR3_BITWORD FOLLOW_AS_SYMBOL_in_function_call10753_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_call10753	= { FOLLOW_AS_SYMBOL_in_function_call10753_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BINARY_SYMBOL_in_function_call10755  */
static	ANTLR3_BITWORD FOLLOW_BINARY_SYMBOL_in_function_call10755_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_BINARY_SYMBOL_in_function_call10755	= { FOLLOW_BINARY_SYMBOL_in_function_call10755_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_field_length_in_function_call10757  */
static	ANTLR3_BITWORD FOLLOW_field_length_in_function_call10757_bits[]	= { ANTLR3_UINT64_LIT(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_call10757	= { FOLLOW_field_length_in_function_call10757_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_function_call10764  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_function_call10764_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000004) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_function_call10764	= { FOLLOW_COMMA_SYMBOL_in_function_call10764_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_function_call10766  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_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(0x0000000000200000) };
static  ANTLR3_BITSET_LIST FOLLOW_INTEGER_in_function_call10766	= { FOLLOW_INTEGER_in_function_call10766_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_function_call10768  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_function_call10768_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000004) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_function_call10768	= { FOLLOW_COMMA_SYMBOL_in_function_call10768_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_function_call10770  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_function_call10770_bits[]	= { ANTLR3_UINT64_LIT(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_call10770	= { FOLLOW_INTEGER_in_function_call10770_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_function_call10772  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_function_call10772_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000004) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_function_call10772	= { FOLLOW_COMMA_SYMBOL_in_function_call10772_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_function_call10774  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_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(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000010000) };
static  ANTLR3_BITSET_LIST FOLLOW_INTEGER_in_function_call10774	= { FOLLOW_INTEGER_in_function_call10774_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10782  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10782_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10782	= { FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10782_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_geometry_function_in_function_call10787  */
static	ANTLR3_BITWORD FOLLOW_geometry_function_in_function_call10787_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_geometry_function_in_function_call10787	= { FOLLOW_geometry_function_in_function_call10787_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_aggregate_function_in_function_call10792  */
static	ANTLR3_BITWORD FOLLOW_aggregate_function_in_function_call10792_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_aggregate_function_in_function_call10792	= { FOLLOW_aggregate_function_in_function_call10792_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_time_function_parameters10801  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_time_function_parameters10801_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000000000000004) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_time_function_parameters10801	= { FOLLOW_OPEN_PAR_SYMBOL_in_time_function_parameters10801_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_fractional_precision_in_time_function_parameters10803  */
static	ANTLR3_BITWORD FOLLOW_fractional_precision_in_time_function_parameters10803_bits[]	= { ANTLR3_UINT64_LIT(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_parameters10803	= { FOLLOW_fractional_precision_in_time_function_parameters10803_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_time_function_parameters10806  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_time_function_parameters10806_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_time_function_parameters10806	= { FOLLOW_CLOSE_PAR_SYMBOL_in_time_function_parameters10806_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_fractional_precision10819  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_fractional_precision10819_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_INTEGER_in_fractional_precision10819	= { FOLLOW_INTEGER_in_fractional_precision10819_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_LEVEL_SYMBOL_in_weight_string_levels10828  */
static	ANTLR3_BITWORD FOLLOW_LEVEL_SYMBOL_in_weight_string_levels10828_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000004) };
static  ANTLR3_BITSET_LIST FOLLOW_LEVEL_SYMBOL_in_weight_string_levels10828	= { FOLLOW_LEVEL_SYMBOL_in_weight_string_levels10828_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_weight_string_levels10837  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_weight_string_levels10837_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_INTEGER_in_weight_string_levels10837	= { FOLLOW_INTEGER_in_weight_string_levels10837_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MINUS_OPERATOR_in_weight_string_levels10839  */
static	ANTLR3_BITWORD FOLLOW_MINUS_OPERATOR_in_weight_string_levels10839_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000004) };
static  ANTLR3_BITSET_LIST FOLLOW_MINUS_OPERATOR_in_weight_string_levels10839	= { FOLLOW_MINUS_OPERATOR_in_weight_string_levels10839_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_weight_string_levels10841  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_weight_string_levels10841_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_INTEGER_in_weight_string_levels10841	= { FOLLOW_INTEGER_in_weight_string_levels10841_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_weight_string_level_list_item_in_weight_string_levels10848  */
static	ANTLR3_BITWORD FOLLOW_weight_string_level_list_item_in_weight_string_levels10848_bits[]	= { ANTLR3_UINT64_LIT(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_levels10848	= { FOLLOW_weight_string_level_list_item_in_weight_string_levels10848_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_weight_string_levels10851  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_weight_string_levels10851_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000004) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_weight_string_levels10851	= { FOLLOW_COMMA_SYMBOL_in_weight_string_levels10851_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_weight_string_level_list_item_in_weight_string_levels10853  */
static	ANTLR3_BITWORD FOLLOW_weight_string_level_list_item_in_weight_string_levels10853_bits[]	= { ANTLR3_UINT64_LIT(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_levels10853	= { FOLLOW_weight_string_level_list_item_in_weight_string_levels10853_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_weight_string_level_list_item10868  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_weight_string_level_list_item10868_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_item10868	= { FOLLOW_INTEGER_in_weight_string_level_list_item10868_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_weight_string_level_list_item10877  */
static	ANTLR3_BITWORD FOLLOW_set_in_weight_string_level_list_item10877_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_item10877	= { FOLLOW_set_in_weight_string_level_list_item10877_bits, 4	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_REVERSE_SYMBOL_in_weight_string_level_list_item10885  */
static	ANTLR3_BITWORD FOLLOW_REVERSE_SYMBOL_in_weight_string_level_list_item10885_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_REVERSE_SYMBOL_in_weight_string_level_list_item10885	= { FOLLOW_REVERSE_SYMBOL_in_weight_string_level_list_item10885_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_REVERSE_SYMBOL_in_weight_string_level_list_item10893  */
static	ANTLR3_BITWORD FOLLOW_REVERSE_SYMBOL_in_weight_string_level_list_item10893_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_REVERSE_SYMBOL_in_weight_string_level_list_item10893	= { FOLLOW_REVERSE_SYMBOL_in_weight_string_level_list_item10893_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_qualified_identifier_in_generic_function_call10907  */
static	ANTLR3_BITWORD FOLLOW_qualified_identifier_in_generic_function_call10907_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_qualified_identifier_in_generic_function_call10907	= { FOLLOW_qualified_identifier_in_generic_function_call10907_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_generic_function_call10909  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_generic_function_call10909_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C056484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_generic_function_call10909	= { FOLLOW_OPEN_PAR_SYMBOL_in_generic_function_call10909_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_list_in_generic_function_call10911  */
static	ANTLR3_BITWORD FOLLOW_expression_list_in_generic_function_call10911_bits[]	= { ANTLR3_UINT64_LIT(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_call10911	= { FOLLOW_expression_list_in_generic_function_call10911_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_generic_function_call10914  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_generic_function_call10914_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_generic_function_call10914	= { FOLLOW_CLOSE_PAR_SYMBOL_in_generic_function_call10914_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TRIM_SYMBOL_in_trim_function10965  */
static	ANTLR3_BITWORD FOLLOW_TRIM_SYMBOL_in_trim_function10965_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_TRIM_SYMBOL_in_trim_function10965	= { FOLLOW_TRIM_SYMBOL_in_trim_function10965_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_trim_function10967  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_trim_function10967_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000A00014), ANTLR3_UINT64_LIT(0x830001900C056484), ANTLR3_UINT64_LIT(0x400D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_trim_function10967	= { FOLLOW_OPEN_PAR_SYMBOL_in_trim_function10967_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_trim_function10974  */
static	ANTLR3_BITWORD FOLLOW_expression_in_trim_function10974_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000000400000000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_trim_function10974	= { FOLLOW_expression_in_trim_function10974_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FROM_SYMBOL_in_trim_function10977  */
static	ANTLR3_BITWORD FOLLOW_FROM_SYMBOL_in_trim_function10977_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C056484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_FROM_SYMBOL_in_trim_function10977	= { FOLLOW_FROM_SYMBOL_in_trim_function10977_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_trim_function10979  */
static	ANTLR3_BITWORD FOLLOW_expression_in_trim_function10979_bits[]	= { ANTLR3_UINT64_LIT(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_function10979	= { FOLLOW_expression_in_trim_function10979_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_LEADING_SYMBOL_in_trim_function10987  */
static	ANTLR3_BITWORD FOLLOW_LEADING_SYMBOL_in_trim_function10987_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(0x101862040461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C056484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_LEADING_SYMBOL_in_trim_function10987	= { FOLLOW_LEADING_SYMBOL_in_trim_function10987_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_trim_function10989  */
static	ANTLR3_BITWORD FOLLOW_expression_in_trim_function10989_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_expression_in_trim_function10989	= { FOLLOW_expression_in_trim_function10989_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FROM_SYMBOL_in_trim_function10992  */
static	ANTLR3_BITWORD FOLLOW_FROM_SYMBOL_in_trim_function10992_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C056484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_FROM_SYMBOL_in_trim_function10992	= { FOLLOW_FROM_SYMBOL_in_trim_function10992_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_trim_function10994  */
static	ANTLR3_BITWORD FOLLOW_expression_in_trim_function10994_bits[]	= { ANTLR3_UINT64_LIT(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_function10994	= { FOLLOW_expression_in_trim_function10994_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TRAILING_SYMBOL_in_trim_function11000  */
static	ANTLR3_BITWORD FOLLOW_TRAILING_SYMBOL_in_trim_function11000_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(0x101862040461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C056484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_TRAILING_SYMBOL_in_trim_function11000	= { FOLLOW_TRAILING_SYMBOL_in_trim_function11000_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_trim_function11002  */
static	ANTLR3_BITWORD FOLLOW_expression_in_trim_function11002_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_expression_in_trim_function11002	= { FOLLOW_expression_in_trim_function11002_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FROM_SYMBOL_in_trim_function11005  */
static	ANTLR3_BITWORD FOLLOW_FROM_SYMBOL_in_trim_function11005_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C056484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_FROM_SYMBOL_in_trim_function11005	= { FOLLOW_FROM_SYMBOL_in_trim_function11005_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_trim_function11007  */
static	ANTLR3_BITWORD FOLLOW_expression_in_trim_function11007_bits[]	= { ANTLR3_UINT64_LIT(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_function11007	= { FOLLOW_expression_in_trim_function11007_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BOTH_SYMBOL_in_trim_function11013  */
static	ANTLR3_BITWORD FOLLOW_BOTH_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(0x101862040461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C056484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_BOTH_SYMBOL_in_trim_function11013	= { FOLLOW_BOTH_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(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000400000000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_trim_function11015	= { FOLLOW_expression_in_trim_function11015_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FROM_SYMBOL_in_trim_function11018  */
static	ANTLR3_BITWORD FOLLOW_FROM_SYMBOL_in_trim_function11018_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C056484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_FROM_SYMBOL_in_trim_function11018	= { FOLLOW_FROM_SYMBOL_in_trim_function11018_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_trim_function11020  */
static	ANTLR3_BITWORD FOLLOW_expression_in_trim_function11020_bits[]	= { ANTLR3_UINT64_LIT(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_function11020	= { FOLLOW_expression_in_trim_function11020_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_trim_function11026  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_trim_function11026_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_trim_function11026	= { FOLLOW_CLOSE_PAR_SYMBOL_in_trim_function11026_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SUBSTRING_SYMBOL_in_substring_function11035  */
static	ANTLR3_BITWORD FOLLOW_SUBSTRING_SYMBOL_in_substring_function11035_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_SUBSTRING_SYMBOL_in_substring_function11035	= { FOLLOW_SUBSTRING_SYMBOL_in_substring_function11035_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_substring_function11037  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_substring_function11037_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C056484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_substring_function11037	= { FOLLOW_OPEN_PAR_SYMBOL_in_substring_function11037_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_substring_function11039  */
static	ANTLR3_BITWORD FOLLOW_expression_in_substring_function11039_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000000400000000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_substring_function11039	= { FOLLOW_expression_in_substring_function11039_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_substring_function11046  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_substring_function11046_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C056484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_substring_function11046	= { FOLLOW_COMMA_SYMBOL_in_substring_function11046_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_substring_function11048  */
static	ANTLR3_BITWORD FOLLOW_expression_in_substring_function11048_bits[]	= { ANTLR3_UINT64_LIT(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_function11048	= { FOLLOW_expression_in_substring_function11048_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_substring_function11051  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_substring_function11051_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C056484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_substring_function11051	= { FOLLOW_COMMA_SYMBOL_in_substring_function11051_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_substring_function11053  */
static	ANTLR3_BITWORD FOLLOW_expression_in_substring_function11053_bits[]	= { ANTLR3_UINT64_LIT(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_function11053	= { FOLLOW_expression_in_substring_function11053_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FROM_SYMBOL_in_substring_function11061  */
static	ANTLR3_BITWORD FOLLOW_FROM_SYMBOL_in_substring_function11061_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C056484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_FROM_SYMBOL_in_substring_function11061	= { FOLLOW_FROM_SYMBOL_in_substring_function11061_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_substring_function11063  */
static	ANTLR3_BITWORD FOLLOW_expression_in_substring_function11063_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000000100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_substring_function11063	= { FOLLOW_expression_in_substring_function11063_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FOR_SYMBOL_in_substring_function11066  */
static	ANTLR3_BITWORD FOLLOW_FOR_SYMBOL_in_substring_function11066_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C056484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_FOR_SYMBOL_in_substring_function11066	= { FOLLOW_FOR_SYMBOL_in_substring_function11066_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_substring_function11068  */
static	ANTLR3_BITWORD FOLLOW_expression_in_substring_function11068_bits[]	= { ANTLR3_UINT64_LIT(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_function11068	= { FOLLOW_expression_in_substring_function11068_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_substring_function11076  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_substring_function11076_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_substring_function11076	= { FOLLOW_CLOSE_PAR_SYMBOL_in_substring_function11076_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CONTAINS_SYMBOL_in_geometry_function11086  */
static	ANTLR3_BITWORD FOLLOW_CONTAINS_SYMBOL_in_geometry_function11086_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_CONTAINS_SYMBOL_in_geometry_function11086	= { FOLLOW_CONTAINS_SYMBOL_in_geometry_function11086_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_geometry_function11088  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_geometry_function11088_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C056484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_geometry_function11088	= { FOLLOW_OPEN_PAR_SYMBOL_in_geometry_function11088_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_geometry_function11090  */
static	ANTLR3_BITWORD FOLLOW_expression_in_geometry_function11090_bits[]	= { ANTLR3_UINT64_LIT(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_function11090	= { FOLLOW_expression_in_geometry_function11090_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_geometry_function11092  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_geometry_function11092_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C056484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_geometry_function11092	= { FOLLOW_COMMA_SYMBOL_in_geometry_function11092_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_geometry_function11094  */
static	ANTLR3_BITWORD FOLLOW_expression_in_geometry_function11094_bits[]	= { ANTLR3_UINT64_LIT(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_function11094	= { FOLLOW_expression_in_geometry_function11094_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_geometry_function11096  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_geometry_function11096_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_geometry_function11096	= { FOLLOW_CLOSE_PAR_SYMBOL_in_geometry_function11096_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_GEOMETRYCOLLECTION_SYMBOL_in_geometry_function11101  */
static	ANTLR3_BITWORD FOLLOW_GEOMETRYCOLLECTION_SYMBOL_in_geometry_function11101_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_GEOMETRYCOLLECTION_SYMBOL_in_geometry_function11101	= { FOLLOW_GEOMETRYCOLLECTION_SYMBOL_in_geometry_function11101_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_list_with_parentheses_in_geometry_function11103  */
static	ANTLR3_BITWORD FOLLOW_expression_list_with_parentheses_in_geometry_function11103_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_list_with_parentheses_in_geometry_function11103	= { FOLLOW_expression_list_with_parentheses_in_geometry_function11103_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_LINESTRING_SYMBOL_in_geometry_function11108  */
static	ANTLR3_BITWORD FOLLOW_LINESTRING_SYMBOL_in_geometry_function11108_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_LINESTRING_SYMBOL_in_geometry_function11108	= { FOLLOW_LINESTRING_SYMBOL_in_geometry_function11108_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_list_with_parentheses_in_geometry_function11110  */
static	ANTLR3_BITWORD FOLLOW_expression_list_with_parentheses_in_geometry_function11110_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_list_with_parentheses_in_geometry_function11110	= { FOLLOW_expression_list_with_parentheses_in_geometry_function11110_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MULTILINESTRING_SYMBOL_in_geometry_function11115  */
static	ANTLR3_BITWORD FOLLOW_MULTILINESTRING_SYMBOL_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(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_MULTILINESTRING_SYMBOL_in_geometry_function11115	= { FOLLOW_MULTILINESTRING_SYMBOL_in_geometry_function11115_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_list_with_parentheses_in_geometry_function11117  */
static	ANTLR3_BITWORD FOLLOW_expression_list_with_parentheses_in_geometry_function11117_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_list_with_parentheses_in_geometry_function11117	= { FOLLOW_expression_list_with_parentheses_in_geometry_function11117_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MULTIPOINT_SYMBOL_in_geometry_function11122  */
static	ANTLR3_BITWORD FOLLOW_MULTIPOINT_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(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_MULTIPOINT_SYMBOL_in_geometry_function11122	= { FOLLOW_MULTIPOINT_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_MULTIPOLYGON_SYMBOL_in_geometry_function11129  */
static	ANTLR3_BITWORD FOLLOW_MULTIPOLYGON_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(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_MULTIPOLYGON_SYMBOL_in_geometry_function11129	= { FOLLOW_MULTIPOLYGON_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_POINT_SYMBOL_in_geometry_function11136  */
static	ANTLR3_BITWORD FOLLOW_POINT_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(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_POINT_SYMBOL_in_geometry_function11136	= { FOLLOW_POINT_SYMBOL_in_geometry_function11136_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_geometry_function11138  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_geometry_function11138_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C056484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_geometry_function11138	= { FOLLOW_OPEN_PAR_SYMBOL_in_geometry_function11138_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_geometry_function11140  */
static	ANTLR3_BITWORD FOLLOW_expression_in_geometry_function11140_bits[]	= { ANTLR3_UINT64_LIT(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_function11140	= { FOLLOW_expression_in_geometry_function11140_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_geometry_function11142  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_geometry_function11142_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C056484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_geometry_function11142	= { FOLLOW_COMMA_SYMBOL_in_geometry_function11142_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_geometry_function11144  */
static	ANTLR3_BITWORD FOLLOW_expression_in_geometry_function11144_bits[]	= { ANTLR3_UINT64_LIT(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_function11144	= { FOLLOW_expression_in_geometry_function11144_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_geometry_function11146  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_geometry_function11146_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_geometry_function11146	= { FOLLOW_CLOSE_PAR_SYMBOL_in_geometry_function11146_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_POLYGON_SYMBOL_in_geometry_function11151  */
static	ANTLR3_BITWORD FOLLOW_POLYGON_SYMBOL_in_geometry_function11151_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_POLYGON_SYMBOL_in_geometry_function11151	= { FOLLOW_POLYGON_SYMBOL_in_geometry_function11151_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_list_with_parentheses_in_geometry_function11153  */
static	ANTLR3_BITWORD FOLLOW_expression_list_with_parentheses_in_geometry_function11153_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_list_with_parentheses_in_geometry_function11153	= { FOLLOW_expression_list_with_parentheses_in_geometry_function11153_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_AVG_SYMBOL_in_aggregate_function11162  */
static	ANTLR3_BITWORD FOLLOW_AVG_SYMBOL_in_aggregate_function11162_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_AVG_SYMBOL_in_aggregate_function11162	= { FOLLOW_AVG_SYMBOL_in_aggregate_function11162_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function11164  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function11164_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C056484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function11164	= { FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function11164_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DISTINCT_SYMBOL_in_aggregate_function11166  */
static	ANTLR3_BITWORD FOLLOW_DISTINCT_SYMBOL_in_aggregate_function11166_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C056484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_DISTINCT_SYMBOL_in_aggregate_function11166	= { FOLLOW_DISTINCT_SYMBOL_in_aggregate_function11166_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_aggregate_function11169  */
static	ANTLR3_BITWORD FOLLOW_expression_in_aggregate_function11169_bits[]	= { ANTLR3_UINT64_LIT(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_function11169	= { FOLLOW_expression_in_aggregate_function11169_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function11171  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function11171_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function11171	= { FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function11171_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BIT_AND_SYMBOL_in_aggregate_function11176  */
static	ANTLR3_BITWORD FOLLOW_BIT_AND_SYMBOL_in_aggregate_function11176_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_BIT_AND_SYMBOL_in_aggregate_function11176	= { FOLLOW_BIT_AND_SYMBOL_in_aggregate_function11176_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function11178  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function11178_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C056484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function11178	= { FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function11178_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_aggregate_function11180  */
static	ANTLR3_BITWORD FOLLOW_expression_in_aggregate_function11180_bits[]	= { ANTLR3_UINT64_LIT(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_function11180	= { FOLLOW_expression_in_aggregate_function11180_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function11182  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function11182_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function11182	= { FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function11182_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BIT_OR_SYMBOL_in_aggregate_function11187  */
static	ANTLR3_BITWORD FOLLOW_BIT_OR_SYMBOL_in_aggregate_function11187_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_BIT_OR_SYMBOL_in_aggregate_function11187	= { FOLLOW_BIT_OR_SYMBOL_in_aggregate_function11187_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function11189  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function11189_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C056484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function11189	= { FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function11189_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_aggregate_function11191  */
static	ANTLR3_BITWORD FOLLOW_expression_in_aggregate_function11191_bits[]	= { ANTLR3_UINT64_LIT(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_function11191	= { FOLLOW_expression_in_aggregate_function11191_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function11193  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function11193_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function11193	= { FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function11193_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BIT_XOR_SYMBOL_in_aggregate_function11198  */
static	ANTLR3_BITWORD FOLLOW_BIT_XOR_SYMBOL_in_aggregate_function11198_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_BIT_XOR_SYMBOL_in_aggregate_function11198	= { FOLLOW_BIT_XOR_SYMBOL_in_aggregate_function11198_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function11200  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function11200_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C056484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function11200	= { FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function11200_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_aggregate_function11202  */
static	ANTLR3_BITWORD FOLLOW_expression_in_aggregate_function11202_bits[]	= { ANTLR3_UINT64_LIT(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_function11202	= { FOLLOW_expression_in_aggregate_function11202_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function11204  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function11204_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function11204	= { FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function11204_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_count_function_in_aggregate_function11209  */
static	ANTLR3_BITWORD FOLLOW_count_function_in_aggregate_function11209_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_count_function_in_aggregate_function11209	= { FOLLOW_count_function_in_aggregate_function11209_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MIN_SYMBOL_in_aggregate_function11214  */
static	ANTLR3_BITWORD FOLLOW_MIN_SYMBOL_in_aggregate_function11214_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_MIN_SYMBOL_in_aggregate_function11214	= { FOLLOW_MIN_SYMBOL_in_aggregate_function11214_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function11216  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function11216_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C056484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function11216	= { FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function11216_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DISTINCT_SYMBOL_in_aggregate_function11218  */
static	ANTLR3_BITWORD FOLLOW_DISTINCT_SYMBOL_in_aggregate_function11218_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C056484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_DISTINCT_SYMBOL_in_aggregate_function11218	= { FOLLOW_DISTINCT_SYMBOL_in_aggregate_function11218_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_aggregate_function11221  */
static	ANTLR3_BITWORD FOLLOW_expression_in_aggregate_function11221_bits[]	= { ANTLR3_UINT64_LIT(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_function11221	= { FOLLOW_expression_in_aggregate_function11221_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function11223  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function11223_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function11223	= { FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function11223_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MAX_SYMBOL_in_aggregate_function11228  */
static	ANTLR3_BITWORD FOLLOW_MAX_SYMBOL_in_aggregate_function11228_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_MAX_SYMBOL_in_aggregate_function11228	= { FOLLOW_MAX_SYMBOL_in_aggregate_function11228_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function11230  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function11230_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C056484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function11230	= { FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function11230_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DISTINCT_SYMBOL_in_aggregate_function11232  */
static	ANTLR3_BITWORD FOLLOW_DISTINCT_SYMBOL_in_aggregate_function11232_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C056484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_DISTINCT_SYMBOL_in_aggregate_function11232	= { FOLLOW_DISTINCT_SYMBOL_in_aggregate_function11232_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_aggregate_function11235  */
static	ANTLR3_BITWORD FOLLOW_expression_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(0x0000000000010000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_aggregate_function11235	= { FOLLOW_expression_in_aggregate_function11235_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function11237  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function11237_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function11237	= { FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function11237_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_STD_SYMBOL_in_aggregate_function11242  */
static	ANTLR3_BITWORD FOLLOW_STD_SYMBOL_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(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_STD_SYMBOL_in_aggregate_function11242	= { FOLLOW_STD_SYMBOL_in_aggregate_function11242_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function11244  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function11244_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C056484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function11244	= { FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function11244_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_aggregate_function11246  */
static	ANTLR3_BITWORD FOLLOW_expression_in_aggregate_function11246_bits[]	= { ANTLR3_UINT64_LIT(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_function11246	= { FOLLOW_expression_in_aggregate_function11246_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function11248  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function11248_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function11248	= { FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function11248_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_VARIANCE_SYMBOL_in_aggregate_function11253  */
static	ANTLR3_BITWORD FOLLOW_VARIANCE_SYMBOL_in_aggregate_function11253_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_VARIANCE_SYMBOL_in_aggregate_function11253	= { FOLLOW_VARIANCE_SYMBOL_in_aggregate_function11253_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function11255  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function11255_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C056484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function11255	= { FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function11255_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_aggregate_function11257  */
static	ANTLR3_BITWORD FOLLOW_expression_in_aggregate_function11257_bits[]	= { ANTLR3_UINT64_LIT(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_function11257	= { FOLLOW_expression_in_aggregate_function11257_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function11259  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function11259_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function11259	= { FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function11259_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_STDDEV_SAMP_SYMBOL_in_aggregate_function11264  */
static	ANTLR3_BITWORD FOLLOW_STDDEV_SAMP_SYMBOL_in_aggregate_function11264_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_STDDEV_SAMP_SYMBOL_in_aggregate_function11264	= { FOLLOW_STDDEV_SAMP_SYMBOL_in_aggregate_function11264_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function11266  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function11266_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C056484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function11266	= { FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function11266_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_aggregate_function11268  */
static	ANTLR3_BITWORD FOLLOW_expression_in_aggregate_function11268_bits[]	= { ANTLR3_UINT64_LIT(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_function11268	= { FOLLOW_expression_in_aggregate_function11268_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function11270  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function11270_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function11270	= { FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function11270_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_VAR_SAMP_SYMBOL_in_aggregate_function11275  */
static	ANTLR3_BITWORD FOLLOW_VAR_SAMP_SYMBOL_in_aggregate_function11275_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_VAR_SAMP_SYMBOL_in_aggregate_function11275	= { FOLLOW_VAR_SAMP_SYMBOL_in_aggregate_function11275_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function11277  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function11277_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C056484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function11277	= { FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function11277_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_aggregate_function11279  */
static	ANTLR3_BITWORD FOLLOW_expression_in_aggregate_function11279_bits[]	= { ANTLR3_UINT64_LIT(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_function11279	= { FOLLOW_expression_in_aggregate_function11279_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function11281  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function11281_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function11281	= { FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function11281_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SUM_SYMBOL_in_aggregate_function11286  */
static	ANTLR3_BITWORD FOLLOW_SUM_SYMBOL_in_aggregate_function11286_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_SUM_SYMBOL_in_aggregate_function11286	= { FOLLOW_SUM_SYMBOL_in_aggregate_function11286_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function11288  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function11288_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C056484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function11288	= { FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function11288_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DISTINCT_SYMBOL_in_aggregate_function11290  */
static	ANTLR3_BITWORD FOLLOW_DISTINCT_SYMBOL_in_aggregate_function11290_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C056484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_DISTINCT_SYMBOL_in_aggregate_function11290	= { FOLLOW_DISTINCT_SYMBOL_in_aggregate_function11290_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_aggregate_function11293  */
static	ANTLR3_BITWORD FOLLOW_expression_in_aggregate_function11293_bits[]	= { ANTLR3_UINT64_LIT(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_function11293	= { FOLLOW_expression_in_aggregate_function11293_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function11295  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function11295_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function11295	= { FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function11295_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_GROUP_CONCAT_SYMBOL_in_aggregate_function11300  */
static	ANTLR3_BITWORD FOLLOW_GROUP_CONCAT_SYMBOL_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(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_GROUP_CONCAT_SYMBOL_in_aggregate_function11300	= { FOLLOW_GROUP_CONCAT_SYMBOL_in_aggregate_function11300_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function11302  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function11302_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C056484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function11302	= { FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function11302_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DISTINCT_SYMBOL_in_aggregate_function11304  */
static	ANTLR3_BITWORD FOLLOW_DISTINCT_SYMBOL_in_aggregate_function11304_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C056484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_DISTINCT_SYMBOL_in_aggregate_function11304	= { FOLLOW_DISTINCT_SYMBOL_in_aggregate_function11304_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_list_in_aggregate_function11307  */
static	ANTLR3_BITWORD FOLLOW_expression_list_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(0x0000000000010000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000080000000), ANTLR3_UINT64_LIT(0x0000000000000100) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_list_in_aggregate_function11307	= { FOLLOW_expression_list_in_aggregate_function11307_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_order_by_clause_in_aggregate_function11309  */
static	ANTLR3_BITWORD FOLLOW_order_by_clause_in_aggregate_function11309_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000000000000100) };
static  ANTLR3_BITSET_LIST FOLLOW_order_by_clause_in_aggregate_function11309	= { FOLLOW_order_by_clause_in_aggregate_function11309_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SEPARATOR_SYMBOL_in_aggregate_function11313  */
static	ANTLR3_BITWORD FOLLOW_SEPARATOR_SYMBOL_in_aggregate_function11313_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_SEPARATOR_SYMBOL_in_aggregate_function11313	= { FOLLOW_SEPARATOR_SYMBOL_in_aggregate_function11313_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_aggregate_function11315  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_aggregate_function11315_bits[]	= { ANTLR3_UINT64_LIT(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_function11315	= { FOLLOW_string_literal_in_aggregate_function11315_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function11319  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function11319_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function11319	= { FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function11319_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COUNT_SYMBOL_in_count_function11328  */
static	ANTLR3_BITWORD FOLLOW_COUNT_SYMBOL_in_count_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(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_COUNT_SYMBOL_in_count_function11328	= { FOLLOW_COUNT_SYMBOL_in_count_function11328_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_count_function11330  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_count_function11330_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C056494), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_count_function11330	= { FOLLOW_OPEN_PAR_SYMBOL_in_count_function11330_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ALL_SYMBOL_in_count_function11337  */
static	ANTLR3_BITWORD FOLLOW_ALL_SYMBOL_in_count_function11337_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_ALL_SYMBOL_in_count_function11337	= { FOLLOW_ALL_SYMBOL_in_count_function11337_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MULT_OPERATOR_in_count_function11340  */
static	ANTLR3_BITWORD FOLLOW_MULT_OPERATOR_in_count_function11340_bits[]	= { ANTLR3_UINT64_LIT(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_function11340	= { FOLLOW_MULT_OPERATOR_in_count_function11340_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_count_function11342  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_count_function11342_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_count_function11342	= { FOLLOW_CLOSE_PAR_SYMBOL_in_count_function11342_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DISTINCT_SYMBOL_in_count_function11348  */
static	ANTLR3_BITWORD FOLLOW_DISTINCT_SYMBOL_in_count_function11348_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C056484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_DISTINCT_SYMBOL_in_count_function11348	= { FOLLOW_DISTINCT_SYMBOL_in_count_function11348_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_list_in_count_function11351  */
static	ANTLR3_BITWORD FOLLOW_expression_list_in_count_function11351_bits[]	= { ANTLR3_UINT64_LIT(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_function11351	= { FOLLOW_expression_list_in_count_function11351_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_count_function11353  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_count_function11353_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_count_function11353	= { FOLLOW_CLOSE_PAR_SYMBOL_in_count_function11353_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_aliased_expression_in_aliased_expression_list11365  */
static	ANTLR3_BITWORD FOLLOW_aliased_expression_in_aliased_expression_list11365_bits[]	= { ANTLR3_UINT64_LIT(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_list11365	= { FOLLOW_aliased_expression_in_aliased_expression_list11365_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_aliased_expression_list11368  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_aliased_expression_list11368_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C056484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_aliased_expression_list11368	= { FOLLOW_COMMA_SYMBOL_in_aliased_expression_list11368_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_aliased_expression_in_aliased_expression_list11370  */
static	ANTLR3_BITWORD FOLLOW_aliased_expression_in_aliased_expression_list11370_bits[]	= { ANTLR3_UINT64_LIT(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_list11370	= { FOLLOW_aliased_expression_in_aliased_expression_list11370_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_aliased_expression11381  */
static	ANTLR3_BITWORD FOLLOW_expression_in_aliased_expression11381_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(0x0008000000000008), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_aliased_expression11381	= { FOLLOW_expression_in_aliased_expression11381_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_select_alias_in_aliased_expression11383  */
static	ANTLR3_BITWORD FOLLOW_select_alias_in_aliased_expression11383_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_select_alias_in_aliased_expression11383	= { FOLLOW_select_alias_in_aliased_expression11383_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_user_variable_in_variable11404  */
static	ANTLR3_BITWORD FOLLOW_user_variable_in_variable11404_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_variable11404	= { FOLLOW_user_variable_in_variable11404_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ASSIGN_OPERATOR_in_variable11407  */
static	ANTLR3_BITWORD FOLLOW_ASSIGN_OPERATOR_in_variable11407_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C056484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_ASSIGN_OPERATOR_in_variable11407	= { FOLLOW_ASSIGN_OPERATOR_in_variable11407_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_variable11410  */
static	ANTLR3_BITWORD FOLLOW_expression_in_variable11410_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_variable11410	= { FOLLOW_expression_in_variable11410_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_system_variable_in_variable11417  */
static	ANTLR3_BITWORD FOLLOW_system_variable_in_variable11417_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_system_variable_in_variable11417	= { FOLLOW_system_variable_in_variable11417_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_AT_SIGN_SYMBOL_in_user_variable11426  */
static	ANTLR3_BITWORD FOLLOW_AT_SIGN_SYMBOL_in_user_variable11426_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_AT_SIGN_SYMBOL_in_user_variable11426	= { FOLLOW_AT_SIGN_SYMBOL_in_user_variable11426_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_text_or_identifier_in_user_variable11428  */
static	ANTLR3_BITWORD FOLLOW_text_or_identifier_in_user_variable11428_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_text_or_identifier_in_user_variable11428	= { FOLLOW_text_or_identifier_in_user_variable11428_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_AT_AT_SIGN_SYMBOL_in_system_variable11438  */
static	ANTLR3_BITWORD FOLLOW_AT_AT_SIGN_SYMBOL_in_system_variable11438_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_AT_AT_SIGN_SYMBOL_in_system_variable11438	= { FOLLOW_AT_AT_SIGN_SYMBOL_in_system_variable11438_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_option_type_in_system_variable11454  */
static	ANTLR3_BITWORD FOLLOW_option_type_in_system_variable11454_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_variable11454	= { FOLLOW_option_type_in_system_variable11454_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DOT_SYMBOL_in_system_variable11456  */
static	ANTLR3_BITWORD FOLLOW_DOT_SYMBOL_in_system_variable11456_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_DOT_SYMBOL_in_system_variable11456	= { FOLLOW_DOT_SYMBOL_in_system_variable11456_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_variable_name_in_system_variable11460  */
static	ANTLR3_BITWORD FOLLOW_variable_name_in_system_variable11460_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_variable_name_in_system_variable11460	= { FOLLOW_variable_name_in_system_variable11460_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_variable_name11469  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_variable_name11469_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(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_name11469	= { FOLLOW_identifier_in_variable_name11469_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DOT_SYMBOL_in_variable_name11472  */
static	ANTLR3_BITWORD FOLLOW_DOT_SYMBOL_in_variable_name11472_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_DOT_SYMBOL_in_variable_name11472	= { FOLLOW_DOT_SYMBOL_in_variable_name11472_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_variable_name11474  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_variable_name11474_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_variable_name11474	= { FOLLOW_identifier_in_variable_name11474_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DEFAULT_SYMBOL_in_variable_name11485  */
static	ANTLR3_BITWORD FOLLOW_DEFAULT_SYMBOL_in_variable_name11485_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_name11485	= { FOLLOW_DEFAULT_SYMBOL_in_variable_name11485_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DOT_SYMBOL_in_variable_name11487  */
static	ANTLR3_BITWORD FOLLOW_DOT_SYMBOL_in_variable_name11487_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_DOT_SYMBOL_in_variable_name11487	= { FOLLOW_DOT_SYMBOL_in_variable_name11487_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_variable_name11489  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_variable_name11489_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_variable_name11489	= { FOLLOW_identifier_in_variable_name11489_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MATCH_SYMBOL_in_match_expression11498  */
static	ANTLR3_BITWORD FOLLOW_MATCH_SYMBOL_in_match_expression11498_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_MATCH_SYMBOL_in_match_expression11498	= { FOLLOW_MATCH_SYMBOL_in_match_expression11498_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_match_expression11501  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_match_expression11501_bits[]	= { ANTLR3_UINT64_LIT(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(0x000800000000000A) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_match_expression11501	= { FOLLOW_OPEN_PAR_SYMBOL_in_match_expression11501_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_field_name_list_in_match_expression11503  */
static	ANTLR3_BITWORD FOLLOW_field_name_list_in_match_expression11503_bits[]	= { ANTLR3_UINT64_LIT(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_expression11503	= { FOLLOW_field_name_list_in_match_expression11503_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_match_expression11505  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_match_expression11505_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000080) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_match_expression11505	= { FOLLOW_CLOSE_PAR_SYMBOL_in_match_expression11505_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_AGAINST_SYMBOL_in_match_expression11507  */
static	ANTLR3_BITWORD FOLLOW_AGAINST_SYMBOL_in_match_expression11507_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_AGAINST_SYMBOL_in_match_expression11507	= { FOLLOW_AGAINST_SYMBOL_in_match_expression11507_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_match_expression11509  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_match_expression11509_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C054484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_match_expression11509	= { FOLLOW_OPEN_PAR_SYMBOL_in_match_expression11509_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_bitwise_or_expression_in_match_expression11511  */
static	ANTLR3_BITWORD FOLLOW_bitwise_or_expression_in_match_expression11511_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000010000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000800000000) };
static  ANTLR3_BITSET_LIST FOLLOW_bitwise_or_expression_in_match_expression11511	= { FOLLOW_bitwise_or_expression_in_match_expression11511_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_IN_SYMBOL_in_match_expression11520  */
static	ANTLR3_BITWORD FOLLOW_IN_SYMBOL_in_match_expression11520_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000200000) };
static  ANTLR3_BITSET_LIST FOLLOW_IN_SYMBOL_in_match_expression11520	= { FOLLOW_IN_SYMBOL_in_match_expression11520_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BOOLEAN_SYMBOL_in_match_expression11522  */
static	ANTLR3_BITWORD FOLLOW_BOOLEAN_SYMBOL_in_match_expression11522_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_BOOLEAN_SYMBOL_in_match_expression11522	= { FOLLOW_BOOLEAN_SYMBOL_in_match_expression11522_bits, 3	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MODE_SYMBOL_in_match_expression11524  */
static	ANTLR3_BITWORD FOLLOW_MODE_SYMBOL_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_MODE_SYMBOL_in_match_expression11524	= { FOLLOW_MODE_SYMBOL_in_match_expression11524_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_IN_SYMBOL_in_match_expression11532  */
static	ANTLR3_BITWORD FOLLOW_IN_SYMBOL_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(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_IN_SYMBOL_in_match_expression11532	= { FOLLOW_IN_SYMBOL_in_match_expression11532_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_NATURAL_SYMBOL_in_match_expression11534  */
static	ANTLR3_BITWORD FOLLOW_NATURAL_SYMBOL_in_match_expression11534_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_expression11534	= { FOLLOW_NATURAL_SYMBOL_in_match_expression11534_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_LANGUAGE_SYMBOL_in_match_expression11536  */
static	ANTLR3_BITWORD FOLLOW_LANGUAGE_SYMBOL_in_match_expression11536_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_LANGUAGE_SYMBOL_in_match_expression11536	= { FOLLOW_LANGUAGE_SYMBOL_in_match_expression11536_bits, 3	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MODE_SYMBOL_in_match_expression11538  */
static	ANTLR3_BITWORD FOLLOW_MODE_SYMBOL_in_match_expression11538_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000000800000000) };
static  ANTLR3_BITSET_LIST FOLLOW_MODE_SYMBOL_in_match_expression11538	= { FOLLOW_MODE_SYMBOL_in_match_expression11538_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_WITH_SYMBOL_in_match_expression11543  */
static	ANTLR3_BITWORD FOLLOW_WITH_SYMBOL_in_match_expression11543_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_expression11543	= { FOLLOW_WITH_SYMBOL_in_match_expression11543_bits, 4	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_QUERY_SYMBOL_in_match_expression11545  */
static	ANTLR3_BITWORD FOLLOW_QUERY_SYMBOL_in_match_expression11545_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000020000) };
static  ANTLR3_BITSET_LIST FOLLOW_QUERY_SYMBOL_in_match_expression11545	= { FOLLOW_QUERY_SYMBOL_in_match_expression11545_bits, 2	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EXPANSION_SYMBOL_in_match_expression11547  */
static	ANTLR3_BITWORD FOLLOW_EXPANSION_SYMBOL_in_match_expression11547_bits[]	= { ANTLR3_UINT64_LIT(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_expression11547	= { FOLLOW_EXPANSION_SYMBOL_in_match_expression11547_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_match_expression11557  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_match_expression11557_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_match_expression11557	= { FOLLOW_CLOSE_PAR_SYMBOL_in_match_expression11557_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CASE_SYMBOL_in_case_expression11567  */
static	ANTLR3_BITWORD FOLLOW_CASE_SYMBOL_in_case_expression11567_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C056484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000004123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_CASE_SYMBOL_in_case_expression11567	= { FOLLOW_CASE_SYMBOL_in_case_expression11567_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_case_expression11569  */
static	ANTLR3_BITWORD FOLLOW_expression_in_case_expression11569_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000040000000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_case_expression11569	= { FOLLOW_expression_in_case_expression11569_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_when_expression_in_case_expression11573  */
static	ANTLR3_BITWORD FOLLOW_when_expression_in_case_expression11573_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_when_expression_in_case_expression11573	= { FOLLOW_when_expression_in_case_expression11573_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_then_expression_in_case_expression11575  */
static	ANTLR3_BITWORD FOLLOW_then_expression_in_case_expression11575_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(0x0000000000000200), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000040000000) };
static  ANTLR3_BITSET_LIST FOLLOW_then_expression_in_case_expression11575	= { FOLLOW_then_expression_in_case_expression11575_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_else_expression_in_case_expression11579  */
static	ANTLR3_BITWORD FOLLOW_else_expression_in_case_expression11579_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_expression11579	= { FOLLOW_else_expression_in_case_expression11579_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_END_SYMBOL_in_case_expression11582  */
static	ANTLR3_BITWORD FOLLOW_END_SYMBOL_in_case_expression11582_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_END_SYMBOL_in_case_expression11582	= { FOLLOW_END_SYMBOL_in_case_expression11582_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_WHEN_SYMBOL_in_when_expression11591  */
static	ANTLR3_BITWORD FOLLOW_WHEN_SYMBOL_in_when_expression11591_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C056484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_WHEN_SYMBOL_in_when_expression11591	= { FOLLOW_WHEN_SYMBOL_in_when_expression11591_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_when_expression11594  */
static	ANTLR3_BITWORD FOLLOW_expression_in_when_expression11594_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_when_expression11594	= { FOLLOW_expression_in_when_expression11594_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_THEN_SYMBOL_in_then_expression11603  */
static	ANTLR3_BITWORD FOLLOW_THEN_SYMBOL_in_then_expression11603_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C056484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_THEN_SYMBOL_in_then_expression11603	= { FOLLOW_THEN_SYMBOL_in_then_expression11603_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_then_expression11606  */
static	ANTLR3_BITWORD FOLLOW_expression_in_then_expression11606_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_then_expression11606	= { FOLLOW_expression_in_then_expression11606_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ELSE_SYMBOL_in_else_expression11615  */
static	ANTLR3_BITWORD FOLLOW_ELSE_SYMBOL_in_else_expression11615_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C056484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_ELSE_SYMBOL_in_else_expression11615	= { FOLLOW_ELSE_SYMBOL_in_else_expression11615_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_else_expression11618  */
static	ANTLR3_BITWORD FOLLOW_expression_in_else_expression11618_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_else_expression11618	= { FOLLOW_expression_in_else_expression11618_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BINARY_SYMBOL_in_cast_expression11627  */
static	ANTLR3_BITWORD FOLLOW_BINARY_SYMBOL_in_cast_expression11627_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2014000000800004), ANTLR3_UINT64_LIT(0x830001100C054084), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_BINARY_SYMBOL_in_cast_expression11627	= { FOLLOW_BINARY_SYMBOL_in_cast_expression11627_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_primary_in_cast_expression11629  */
static	ANTLR3_BITWORD FOLLOW_primary_in_cast_expression11629_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_primary_in_cast_expression11629	= { FOLLOW_primary_in_cast_expression11629_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CAST_SYMBOL_in_cast_expression11634  */
static	ANTLR3_BITWORD FOLLOW_CAST_SYMBOL_in_cast_expression11634_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_CAST_SYMBOL_in_cast_expression11634	= { FOLLOW_CAST_SYMBOL_in_cast_expression11634_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_cast_expression11636  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_cast_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C056484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_cast_expression11636	= { FOLLOW_OPEN_PAR_SYMBOL_in_cast_expression11636_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_cast_expression11638  */
static	ANTLR3_BITWORD FOLLOW_expression_in_cast_expression11638_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_expression11638	= { FOLLOW_expression_in_cast_expression11638_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_AS_SYMBOL_in_cast_expression11640  */
static	ANTLR3_BITWORD FOLLOW_AS_SYMBOL_in_cast_expression11640_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(0x0000000000000200) };
static  ANTLR3_BITSET_LIST FOLLOW_AS_SYMBOL_in_cast_expression11640	= { FOLLOW_AS_SYMBOL_in_cast_expression11640_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_cast_type_in_cast_expression11642  */
static	ANTLR3_BITWORD FOLLOW_cast_type_in_cast_expression11642_bits[]	= { ANTLR3_UINT64_LIT(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_expression11642	= { FOLLOW_cast_type_in_cast_expression11642_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_cast_expression11644  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_cast_expression11644_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_cast_expression11644	= { FOLLOW_CLOSE_PAR_SYMBOL_in_cast_expression11644_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CONVERT_SYMBOL_in_cast_expression11649  */
static	ANTLR3_BITWORD FOLLOW_CONVERT_SYMBOL_in_cast_expression11649_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_CONVERT_SYMBOL_in_cast_expression11649	= { FOLLOW_CONVERT_SYMBOL_in_cast_expression11649_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_cast_expression11651  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_cast_expression11651_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C056484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_cast_expression11651	= { FOLLOW_OPEN_PAR_SYMBOL_in_cast_expression11651_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_cast_expression11653  */
static	ANTLR3_BITWORD FOLLOW_expression_in_cast_expression11653_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000000000002000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_cast_expression11653	= { FOLLOW_expression_in_cast_expression11653_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_cast_expression11656  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_cast_expression11656_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(0x0000000000000200) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_cast_expression11656	= { FOLLOW_COMMA_SYMBOL_in_cast_expression11656_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_cast_type_in_cast_expression11658  */
static	ANTLR3_BITWORD FOLLOW_cast_type_in_cast_expression11658_bits[]	= { ANTLR3_UINT64_LIT(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_expression11658	= { FOLLOW_cast_type_in_cast_expression11658_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_USING_SYMBOL_in_cast_expression11662  */
static	ANTLR3_BITWORD FOLLOW_USING_SYMBOL_in_cast_expression11662_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(0x0008000000000008), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_USING_SYMBOL_in_cast_expression11662	= { FOLLOW_USING_SYMBOL_in_cast_expression11662_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_charset_name_in_cast_expression11664  */
static	ANTLR3_BITWORD FOLLOW_charset_name_in_cast_expression11664_bits[]	= { ANTLR3_UINT64_LIT(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_expression11664	= { FOLLOW_charset_name_in_cast_expression11664_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_cast_expression11667  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_cast_expression11667_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_cast_expression11667	= { FOLLOW_CLOSE_PAR_SYMBOL_in_cast_expression11667_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BINARY_SYMBOL_in_cast_type11676  */
static	ANTLR3_BITWORD FOLLOW_BINARY_SYMBOL_in_cast_type11676_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_BINARY_SYMBOL_in_cast_type11676	= { FOLLOW_BINARY_SYMBOL_in_cast_type11676_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_field_length_in_cast_type11678  */
static	ANTLR3_BITWORD FOLLOW_field_length_in_cast_type11678_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_field_length_in_cast_type11678	= { FOLLOW_field_length_in_cast_type11678_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CHAR_SYMBOL_in_cast_type11684  */
static	ANTLR3_BITWORD FOLLOW_CHAR_SYMBOL_in_cast_type11684_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(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_CHAR_SYMBOL_in_cast_type11684	= { FOLLOW_CHAR_SYMBOL_in_cast_type11684_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_field_length_in_cast_type11686  */
static	ANTLR3_BITWORD FOLLOW_field_length_in_cast_type11686_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_type11686	= { FOLLOW_field_length_in_cast_type11686_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_encoding_in_cast_type11689  */
static	ANTLR3_BITWORD FOLLOW_encoding_in_cast_type11689_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_encoding_in_cast_type11689	= { FOLLOW_encoding_in_cast_type11689_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_NCHAR_SYMBOL_in_cast_type11695  */
static	ANTLR3_BITWORD FOLLOW_NCHAR_SYMBOL_in_cast_type11695_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_NCHAR_SYMBOL_in_cast_type11695	= { FOLLOW_NCHAR_SYMBOL_in_cast_type11695_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_field_length_in_cast_type11697  */
static	ANTLR3_BITWORD FOLLOW_field_length_in_cast_type11697_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_field_length_in_cast_type11697	= { FOLLOW_field_length_in_cast_type11697_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SIGNED_SYMBOL_in_cast_type11703  */
static	ANTLR3_BITWORD FOLLOW_SIGNED_SYMBOL_in_cast_type11703_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_SIGNED_SYMBOL_in_cast_type11703	= { FOLLOW_SIGNED_SYMBOL_in_cast_type11703_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INT_SYMBOL_in_cast_type11705  */
static	ANTLR3_BITWORD FOLLOW_INT_SYMBOL_in_cast_type11705_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_INT_SYMBOL_in_cast_type11705	= { FOLLOW_INT_SYMBOL_in_cast_type11705_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_UNSIGNED_SYMBOL_in_cast_type11711  */
static	ANTLR3_BITWORD FOLLOW_UNSIGNED_SYMBOL_in_cast_type11711_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_UNSIGNED_SYMBOL_in_cast_type11711	= { FOLLOW_UNSIGNED_SYMBOL_in_cast_type11711_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INT_SYMBOL_in_cast_type11713  */
static	ANTLR3_BITWORD FOLLOW_INT_SYMBOL_in_cast_type11713_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_INT_SYMBOL_in_cast_type11713	= { FOLLOW_INT_SYMBOL_in_cast_type11713_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DATE_SYMBOL_in_cast_type11719  */
static	ANTLR3_BITWORD FOLLOW_DATE_SYMBOL_in_cast_type11719_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_DATE_SYMBOL_in_cast_type11719	= { FOLLOW_DATE_SYMBOL_in_cast_type11719_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TIME_SYMBOL_in_cast_type11724  */
static	ANTLR3_BITWORD FOLLOW_TIME_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(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_TIME_SYMBOL_in_cast_type11724	= { FOLLOW_TIME_SYMBOL_in_cast_type11724_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_type_datetime_precision_in_cast_type11726  */
static	ANTLR3_BITWORD FOLLOW_type_datetime_precision_in_cast_type11726_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_type_datetime_precision_in_cast_type11726	= { FOLLOW_type_datetime_precision_in_cast_type11726_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DATETIME_SYMBOL_in_cast_type11732  */
static	ANTLR3_BITWORD FOLLOW_DATETIME_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(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_DATETIME_SYMBOL_in_cast_type11732	= { FOLLOW_DATETIME_SYMBOL_in_cast_type11732_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_type_datetime_precision_in_cast_type11734  */
static	ANTLR3_BITWORD FOLLOW_type_datetime_precision_in_cast_type11734_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_type_datetime_precision_in_cast_type11734	= { FOLLOW_type_datetime_precision_in_cast_type11734_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DECIMAL_SYMBOL_in_cast_type11740  */
static	ANTLR3_BITWORD FOLLOW_DECIMAL_SYMBOL_in_cast_type11740_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_DECIMAL_SYMBOL_in_cast_type11740	= { FOLLOW_DECIMAL_SYMBOL_in_cast_type11740_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_float_options_in_cast_type11742  */
static	ANTLR3_BITWORD FOLLOW_float_options_in_cast_type11742_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_float_options_in_cast_type11742	= { FOLLOW_float_options_in_cast_type11742_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ASCII_SYMBOL_in_encoding11752  */
static	ANTLR3_BITWORD FOLLOW_ASCII_SYMBOL_in_encoding11752_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_encoding11752	= { FOLLOW_ASCII_SYMBOL_in_encoding11752_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BINARY_SYMBOL_in_encoding11754  */
static	ANTLR3_BITWORD FOLLOW_BINARY_SYMBOL_in_encoding11754_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_BINARY_SYMBOL_in_encoding11754	= { FOLLOW_BINARY_SYMBOL_in_encoding11754_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BINARY_SYMBOL_in_encoding11760  */
static	ANTLR3_BITWORD FOLLOW_BINARY_SYMBOL_in_encoding11760_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_encoding11760	= { FOLLOW_BINARY_SYMBOL_in_encoding11760_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ASCII_SYMBOL_in_encoding11763  */
static	ANTLR3_BITWORD FOLLOW_ASCII_SYMBOL_in_encoding11763_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_ASCII_SYMBOL_in_encoding11763	= { FOLLOW_ASCII_SYMBOL_in_encoding11763_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_UNICODE_SYMBOL_in_encoding11767  */
static	ANTLR3_BITWORD FOLLOW_UNICODE_SYMBOL_in_encoding11767_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_UNICODE_SYMBOL_in_encoding11767	= { FOLLOW_UNICODE_SYMBOL_in_encoding11767_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_charset_in_encoding11771  */
static	ANTLR3_BITWORD FOLLOW_charset_in_encoding11771_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(0x0008000000000008), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_charset_in_encoding11771	= { FOLLOW_charset_in_encoding11771_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_charset_name_in_encoding11773  */
static	ANTLR3_BITWORD FOLLOW_charset_name_in_encoding11773_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_charset_name_in_encoding11773	= { FOLLOW_charset_name_in_encoding11773_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_UNICODE_SYMBOL_in_encoding11780  */
static	ANTLR3_BITWORD FOLLOW_UNICODE_SYMBOL_in_encoding11780_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_encoding11780	= { FOLLOW_UNICODE_SYMBOL_in_encoding11780_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BINARY_SYMBOL_in_encoding11782  */
static	ANTLR3_BITWORD FOLLOW_BINARY_SYMBOL_in_encoding11782_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_BINARY_SYMBOL_in_encoding11782	= { FOLLOW_BINARY_SYMBOL_in_encoding11782_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BYTE_SYMBOL_in_encoding11788  */
static	ANTLR3_BITWORD FOLLOW_BYTE_SYMBOL_in_encoding11788_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_BYTE_SYMBOL_in_encoding11788	= { FOLLOW_BYTE_SYMBOL_in_encoding11788_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_charset_in_encoding11793  */
static	ANTLR3_BITWORD FOLLOW_charset_in_encoding11793_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(0x0008000000000008), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_charset_in_encoding11793	= { FOLLOW_charset_in_encoding11793_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_charset_name_in_encoding11795  */
static	ANTLR3_BITWORD FOLLOW_charset_name_in_encoding11795_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_encoding11795	= { FOLLOW_charset_name_in_encoding11795_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BINARY_SYMBOL_in_encoding11797  */
static	ANTLR3_BITWORD FOLLOW_BINARY_SYMBOL_in_encoding11797_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_BINARY_SYMBOL_in_encoding11797	= { FOLLOW_BINARY_SYMBOL_in_encoding11797_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CHAR_SYMBOL_in_charset11807  */
static	ANTLR3_BITWORD FOLLOW_CHAR_SYMBOL_in_charset11807_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_CHAR_SYMBOL_in_charset11807	= { FOLLOW_CHAR_SYMBOL_in_charset11807_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SET_SYMBOL_in_charset11809  */
static	ANTLR3_BITWORD FOLLOW_SET_SYMBOL_in_charset11809_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_SET_SYMBOL_in_charset11809	= { FOLLOW_SET_SYMBOL_in_charset11809_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CHARSET_SYMBOL_in_charset11813  */
static	ANTLR3_BITWORD FOLLOW_CHARSET_SYMBOL_in_charset11813_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CHARSET_SYMBOL_in_charset11813	= { FOLLOW_CHARSET_SYMBOL_in_charset11813_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_interval11894  */
static	ANTLR3_BITWORD FOLLOW_expression_in_interval11894_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(0x0007000200000000), ANTLR3_UINT64_LIT(0x1800000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000008), ANTLR3_UINT64_LIT(0x0000010000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_interval11894	= { FOLLOW_expression_in_interval11894_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_interval_unit_in_interval11896  */
static	ANTLR3_BITWORD FOLLOW_interval_unit_in_interval11896_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_interval_unit_in_interval11896	= { FOLLOW_interval_unit_in_interval11896_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_interval_timestamp_unit_in_interval_unit11906  */
static	ANTLR3_BITWORD FOLLOW_interval_timestamp_unit_in_interval_unit11906_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_interval_timestamp_unit_in_interval_unit11906	= { FOLLOW_interval_timestamp_unit_in_interval_unit11906_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SECOND_MICROSECOND_SYMBOL_in_interval_unit11911  */
static	ANTLR3_BITWORD FOLLOW_SECOND_MICROSECOND_SYMBOL_in_interval_unit11911_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_SECOND_MICROSECOND_SYMBOL_in_interval_unit11911	= { FOLLOW_SECOND_MICROSECOND_SYMBOL_in_interval_unit11911_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MINUTE_MICROSECOND_SYMBOL_in_interval_unit11916  */
static	ANTLR3_BITWORD FOLLOW_MINUTE_MICROSECOND_SYMBOL_in_interval_unit11916_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_MINUTE_MICROSECOND_SYMBOL_in_interval_unit11916	= { FOLLOW_MINUTE_MICROSECOND_SYMBOL_in_interval_unit11916_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MINUTE_SECOND_SYMBOL_in_interval_unit11921  */
static	ANTLR3_BITWORD FOLLOW_MINUTE_SECOND_SYMBOL_in_interval_unit11921_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_MINUTE_SECOND_SYMBOL_in_interval_unit11921	= { FOLLOW_MINUTE_SECOND_SYMBOL_in_interval_unit11921_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_HOUR_MICROSECOND_SYMBOL_in_interval_unit11926  */
static	ANTLR3_BITWORD FOLLOW_HOUR_MICROSECOND_SYMBOL_in_interval_unit11926_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_HOUR_MICROSECOND_SYMBOL_in_interval_unit11926	= { FOLLOW_HOUR_MICROSECOND_SYMBOL_in_interval_unit11926_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_HOUR_SECOND_SYMBOL_in_interval_unit11931  */
static	ANTLR3_BITWORD FOLLOW_HOUR_SECOND_SYMBOL_in_interval_unit11931_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_HOUR_SECOND_SYMBOL_in_interval_unit11931	= { FOLLOW_HOUR_SECOND_SYMBOL_in_interval_unit11931_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_HOUR_MINUTE_SYMBOL_in_interval_unit11936  */
static	ANTLR3_BITWORD FOLLOW_HOUR_MINUTE_SYMBOL_in_interval_unit11936_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_HOUR_MINUTE_SYMBOL_in_interval_unit11936	= { FOLLOW_HOUR_MINUTE_SYMBOL_in_interval_unit11936_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DAY_MICROSECOND_SYMBOL_in_interval_unit11941  */
static	ANTLR3_BITWORD FOLLOW_DAY_MICROSECOND_SYMBOL_in_interval_unit11941_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_DAY_MICROSECOND_SYMBOL_in_interval_unit11941	= { FOLLOW_DAY_MICROSECOND_SYMBOL_in_interval_unit11941_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DAY_SECOND_SYMBOL_in_interval_unit11946  */
static	ANTLR3_BITWORD FOLLOW_DAY_SECOND_SYMBOL_in_interval_unit11946_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_DAY_SECOND_SYMBOL_in_interval_unit11946	= { FOLLOW_DAY_SECOND_SYMBOL_in_interval_unit11946_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DAY_MINUTE_SYMBOL_in_interval_unit11951  */
static	ANTLR3_BITWORD FOLLOW_DAY_MINUTE_SYMBOL_in_interval_unit11951_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_DAY_MINUTE_SYMBOL_in_interval_unit11951	= { FOLLOW_DAY_MINUTE_SYMBOL_in_interval_unit11951_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DAY_HOUR_SYMBOL_in_interval_unit11956  */
static	ANTLR3_BITWORD FOLLOW_DAY_HOUR_SYMBOL_in_interval_unit11956_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_DAY_HOUR_SYMBOL_in_interval_unit11956	= { FOLLOW_DAY_HOUR_SYMBOL_in_interval_unit11956_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_YEAR_MONTH_SYMBOL_in_interval_unit11961  */
static	ANTLR3_BITWORD FOLLOW_YEAR_MONTH_SYMBOL_in_interval_unit11961_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_YEAR_MONTH_SYMBOL_in_interval_unit11961	= { FOLLOW_YEAR_MONTH_SYMBOL_in_interval_unit11961_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MICROSECOND_SYMBOL_in_interval_timestamp_unit11971  */
static	ANTLR3_BITWORD FOLLOW_MICROSECOND_SYMBOL_in_interval_timestamp_unit11971_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_MICROSECOND_SYMBOL_in_interval_timestamp_unit11971	= { FOLLOW_MICROSECOND_SYMBOL_in_interval_timestamp_unit11971_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FRAC_SECOND_SYMBOL_in_interval_timestamp_unit11980  */
static	ANTLR3_BITWORD FOLLOW_FRAC_SECOND_SYMBOL_in_interval_timestamp_unit11980_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_FRAC_SECOND_SYMBOL_in_interval_timestamp_unit11980	= { FOLLOW_FRAC_SECOND_SYMBOL_in_interval_timestamp_unit11980_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SECOND_SYMBOL_in_interval_timestamp_unit11985  */
static	ANTLR3_BITWORD FOLLOW_SECOND_SYMBOL_in_interval_timestamp_unit11985_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_SECOND_SYMBOL_in_interval_timestamp_unit11985	= { FOLLOW_SECOND_SYMBOL_in_interval_timestamp_unit11985_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MINUTE_SYMBOL_in_interval_timestamp_unit11990  */
static	ANTLR3_BITWORD FOLLOW_MINUTE_SYMBOL_in_interval_timestamp_unit11990_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_MINUTE_SYMBOL_in_interval_timestamp_unit11990	= { FOLLOW_MINUTE_SYMBOL_in_interval_timestamp_unit11990_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_HOUR_SYMBOL_in_interval_timestamp_unit11995  */
static	ANTLR3_BITWORD FOLLOW_HOUR_SYMBOL_in_interval_timestamp_unit11995_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_HOUR_SYMBOL_in_interval_timestamp_unit11995	= { FOLLOW_HOUR_SYMBOL_in_interval_timestamp_unit11995_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DAY_SYMBOL_in_interval_timestamp_unit12000  */
static	ANTLR3_BITWORD FOLLOW_DAY_SYMBOL_in_interval_timestamp_unit12000_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_DAY_SYMBOL_in_interval_timestamp_unit12000	= { FOLLOW_DAY_SYMBOL_in_interval_timestamp_unit12000_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_WEEK_SYMBOL_in_interval_timestamp_unit12008  */
static	ANTLR3_BITWORD FOLLOW_WEEK_SYMBOL_in_interval_timestamp_unit12008_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_WEEK_SYMBOL_in_interval_timestamp_unit12008	= { FOLLOW_WEEK_SYMBOL_in_interval_timestamp_unit12008_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MONTH_SYMBOL_in_interval_timestamp_unit12013  */
static	ANTLR3_BITWORD FOLLOW_MONTH_SYMBOL_in_interval_timestamp_unit12013_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_MONTH_SYMBOL_in_interval_timestamp_unit12013	= { FOLLOW_MONTH_SYMBOL_in_interval_timestamp_unit12013_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_QUARTER_SYMBOL_in_interval_timestamp_unit12018  */
static	ANTLR3_BITWORD FOLLOW_QUARTER_SYMBOL_in_interval_timestamp_unit12018_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_QUARTER_SYMBOL_in_interval_timestamp_unit12018	= { FOLLOW_QUARTER_SYMBOL_in_interval_timestamp_unit12018_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_YEAR_SYMBOL_in_interval_timestamp_unit12023  */
static	ANTLR3_BITWORD FOLLOW_YEAR_SYMBOL_in_interval_timestamp_unit12023_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_YEAR_SYMBOL_in_interval_timestamp_unit12023	= { FOLLOW_YEAR_SYMBOL_in_interval_timestamp_unit12023_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_expression_list_with_parentheses12032  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_expression_list_with_parentheses12032_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C056484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_expression_list_with_parentheses12032	= { FOLLOW_OPEN_PAR_SYMBOL_in_expression_list_with_parentheses12032_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_list_in_expression_list_with_parentheses12034  */
static	ANTLR3_BITWORD FOLLOW_expression_list_in_expression_list_with_parentheses12034_bits[]	= { ANTLR3_UINT64_LIT(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_parentheses12034	= { FOLLOW_expression_list_in_expression_list_with_parentheses12034_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_expression_list_with_parentheses12036  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_expression_list_with_parentheses12036_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_expression_list_with_parentheses12036	= { FOLLOW_CLOSE_PAR_SYMBOL_in_expression_list_with_parentheses12036_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_expression_list12057  */
static	ANTLR3_BITWORD FOLLOW_expression_in_expression_list12057_bits[]	= { ANTLR3_UINT64_LIT(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_list12057	= { FOLLOW_expression_in_expression_list12057_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_expression_list12060  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_expression_list12060_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C056484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_expression_list12060	= { FOLLOW_COMMA_SYMBOL_in_expression_list12060_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_expression_list12062  */
static	ANTLR3_BITWORD FOLLOW_expression_in_expression_list12062_bits[]	= { ANTLR3_UINT64_LIT(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_list12062	= { FOLLOW_expression_in_expression_list12062_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_expression_list_with_direction12073  */
static	ANTLR3_BITWORD FOLLOW_expression_in_expression_list_with_direction12073_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_direction12073	= { FOLLOW_expression_in_expression_list_with_direction12073_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_direction_in_expression_list_with_direction12075  */
static	ANTLR3_BITWORD FOLLOW_direction_in_expression_list_with_direction12075_bits[]	= { ANTLR3_UINT64_LIT(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_direction12075	= { FOLLOW_direction_in_expression_list_with_direction12075_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_expression_list_with_direction12092  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_expression_list_with_direction12092_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C056484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_expression_list_with_direction12092	= { FOLLOW_COMMA_SYMBOL_in_expression_list_with_direction12092_bits, 12	};
/** 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_statement_in_compound_statement12112  */
static	ANTLR3_BITWORD FOLLOW_statement_in_compound_statement12112_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_statement_in_compound_statement12112	= { FOLLOW_statement_in_compound_statement12112_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_label_in_compound_statement12117  */
static	ANTLR3_BITWORD FOLLOW_label_in_compound_statement12117_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(0x0000400000000000), ANTLR3_UINT64_LIT(0x0100000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000100000000) };
static  ANTLR3_BITSET_LIST FOLLOW_label_in_compound_statement12117	= { FOLLOW_label_in_compound_statement12117_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_begin_end_block_in_compound_statement12129  */
static	ANTLR3_BITWORD FOLLOW_begin_end_block_in_compound_statement12129_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_begin_end_block_in_compound_statement12129	= { FOLLOW_begin_end_block_in_compound_statement12129_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_loop_block_in_compound_statement12136  */
static	ANTLR3_BITWORD FOLLOW_loop_block_in_compound_statement12136_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_loop_block_in_compound_statement12136	= { FOLLOW_loop_block_in_compound_statement12136_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_repeat_until_block_in_compound_statement12143  */
static	ANTLR3_BITWORD FOLLOW_repeat_until_block_in_compound_statement12143_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_repeat_until_block_in_compound_statement12143	= { FOLLOW_repeat_until_block_in_compound_statement12143_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_while_do_block_in_compound_statement12150  */
static	ANTLR3_BITWORD FOLLOW_while_do_block_in_compound_statement12150_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_while_do_block_in_compound_statement12150	= { FOLLOW_while_do_block_in_compound_statement12150_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_case_statement_in_compound_statement12159  */
static	ANTLR3_BITWORD FOLLOW_case_statement_in_compound_statement12159_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_case_statement_in_compound_statement12159	= { FOLLOW_case_statement_in_compound_statement12159_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_if_statement_in_compound_statement12164  */
static	ANTLR3_BITWORD FOLLOW_if_statement_in_compound_statement12164_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_if_statement_in_compound_statement12164	= { FOLLOW_if_statement_in_compound_statement12164_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_iterate_statement_in_compound_statement12169  */
static	ANTLR3_BITWORD FOLLOW_iterate_statement_in_compound_statement12169_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_iterate_statement_in_compound_statement12169	= { FOLLOW_iterate_statement_in_compound_statement12169_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_leave_statement_in_compound_statement12175  */
static	ANTLR3_BITWORD FOLLOW_leave_statement_in_compound_statement12175_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_leave_statement_in_compound_statement12175	= { FOLLOW_leave_statement_in_compound_statement12175_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_return_statement_in_compound_statement12180  */
static	ANTLR3_BITWORD FOLLOW_return_statement_in_compound_statement12180_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_return_statement_in_compound_statement12180	= { FOLLOW_return_statement_in_compound_statement12180_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_cursor_open_in_compound_statement12187  */
static	ANTLR3_BITWORD FOLLOW_cursor_open_in_compound_statement12187_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_cursor_open_in_compound_statement12187	= { FOLLOW_cursor_open_in_compound_statement12187_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_cursor_fetch_in_compound_statement12192  */
static	ANTLR3_BITWORD FOLLOW_cursor_fetch_in_compound_statement12192_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_cursor_fetch_in_compound_statement12192	= { FOLLOW_cursor_fetch_in_compound_statement12192_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_cursor_close_in_compound_statement12197  */
static	ANTLR3_BITWORD FOLLOW_cursor_close_in_compound_statement12197_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_cursor_close_in_compound_statement12197	= { FOLLOW_cursor_close_in_compound_statement12197_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_get_diagnostics_in_compound_statement12208  */
static	ANTLR3_BITWORD FOLLOW_get_diagnostics_in_compound_statement12208_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_get_diagnostics_in_compound_statement12208	= { FOLLOW_get_diagnostics_in_compound_statement12208_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_signal_statement_in_compound_statement12217  */
static	ANTLR3_BITWORD FOLLOW_signal_statement_in_compound_statement12217_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_signal_statement_in_compound_statement12217	= { FOLLOW_signal_statement_in_compound_statement12217_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_resignal_statement_in_compound_statement12226  */
static	ANTLR3_BITWORD FOLLOW_resignal_statement_in_compound_statement12226_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_resignal_statement_in_compound_statement12226	= { FOLLOW_resignal_statement_in_compound_statement12226_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_compound_statement_in_compound_statement_list12236  */
static	ANTLR3_BITWORD FOLLOW_compound_statement_in_compound_statement_list12236_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_compound_statement_in_compound_statement_list12236	= { FOLLOW_compound_statement_in_compound_statement_list12236_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SEMICOLON_SYMBOL_in_compound_statement_list12238  */
static	ANTLR3_BITWORD FOLLOW_SEMICOLON_SYMBOL_in_compound_statement_list12238_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(0x1018006000800028), ANTLR3_UINT64_LIT(0x0000402200481000), ANTLR3_UINT64_LIT(0x6BC0400018000000), ANTLR3_UINT64_LIT(0x0000000000018820), ANTLR3_UINT64_LIT(0x0000000100001500) };
static  ANTLR3_BITSET_LIST FOLLOW_SEMICOLON_SYMBOL_in_compound_statement_list12238	= { FOLLOW_SEMICOLON_SYMBOL_in_compound_statement_list12238_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_label_identifier_in_label12249  */
static	ANTLR3_BITWORD FOLLOW_label_identifier_in_label12249_bits[]	= { ANTLR3_UINT64_LIT(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_label12249	= { FOLLOW_label_identifier_in_label12249_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COLON_SYMBOL_in_label12251  */
static	ANTLR3_BITWORD FOLLOW_COLON_SYMBOL_in_label12251_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_COLON_SYMBOL_in_label12251	= { FOLLOW_COLON_SYMBOL_in_label12251_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_pure_identifier_in_label_identifier12270  */
static	ANTLR3_BITWORD FOLLOW_pure_identifier_in_label_identifier12270_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_pure_identifier_in_label_identifier12270	= { FOLLOW_pure_identifier_in_label_identifier12270_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_keyword_sp_in_label_identifier12274  */
static	ANTLR3_BITWORD FOLLOW_keyword_sp_in_label_identifier12274_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_keyword_sp_in_label_identifier12274	= { FOLLOW_keyword_sp_in_label_identifier12274_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BEGIN_SYMBOL_in_begin_end_block12286  */
static	ANTLR3_BITWORD FOLLOW_BEGIN_SYMBOL_in_begin_end_block12286_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(0x03880000200024A0), ANTLR3_UINT64_LIT(0x1018006000800028), ANTLR3_UINT64_LIT(0x0000402200481000), ANTLR3_UINT64_LIT(0x6BC0400018000000), ANTLR3_UINT64_LIT(0x0000000000018820), ANTLR3_UINT64_LIT(0x0000000100001500) };
static  ANTLR3_BITSET_LIST FOLLOW_BEGIN_SYMBOL_in_begin_end_block12286	= { FOLLOW_BEGIN_SYMBOL_in_begin_end_block12286_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_declarations_in_begin_end_block12289  */
static	ANTLR3_BITWORD FOLLOW_declarations_in_begin_end_block12289_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(0x1018006000800028), ANTLR3_UINT64_LIT(0x0000402200481000), ANTLR3_UINT64_LIT(0x6BC0400018000000), ANTLR3_UINT64_LIT(0x0000000000018820), ANTLR3_UINT64_LIT(0x0000000100001500) };
static  ANTLR3_BITSET_LIST FOLLOW_declarations_in_begin_end_block12289	= { FOLLOW_declarations_in_begin_end_block12289_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_compound_statement_list_in_begin_end_block12291  */
static	ANTLR3_BITWORD FOLLOW_compound_statement_list_in_begin_end_block12291_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_block12291	= { FOLLOW_compound_statement_list_in_begin_end_block12291_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_END_SYMBOL_in_begin_end_block12293  */
static	ANTLR3_BITWORD FOLLOW_END_SYMBOL_in_begin_end_block12293_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(0x0008000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_END_SYMBOL_in_begin_end_block12293	= { FOLLOW_END_SYMBOL_in_begin_end_block12293_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_label_identifier_in_begin_end_block12295  */
static	ANTLR3_BITWORD FOLLOW_label_identifier_in_begin_end_block12295_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_label_identifier_in_begin_end_block12295	= { FOLLOW_label_identifier_in_begin_end_block12295_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_LOOP_SYMBOL_in_loop_block12305  */
static	ANTLR3_BITWORD FOLLOW_LOOP_SYMBOL_in_loop_block12305_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(0x1018006000800028), ANTLR3_UINT64_LIT(0x0000402200481000), ANTLR3_UINT64_LIT(0x6BC0400018000000), ANTLR3_UINT64_LIT(0x0000000000018820), ANTLR3_UINT64_LIT(0x0000000100001500) };
static  ANTLR3_BITSET_LIST FOLLOW_LOOP_SYMBOL_in_loop_block12305	= { FOLLOW_LOOP_SYMBOL_in_loop_block12305_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_compound_statement_list_in_loop_block12308  */
static	ANTLR3_BITWORD FOLLOW_compound_statement_list_in_loop_block12308_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_block12308	= { FOLLOW_compound_statement_list_in_loop_block12308_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_END_SYMBOL_in_loop_block12310  */
static	ANTLR3_BITWORD FOLLOW_END_SYMBOL_in_loop_block12310_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_END_SYMBOL_in_loop_block12310	= { FOLLOW_END_SYMBOL_in_loop_block12310_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_LOOP_SYMBOL_in_loop_block12312  */
static	ANTLR3_BITWORD FOLLOW_LOOP_SYMBOL_in_loop_block12312_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(0x0008000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_LOOP_SYMBOL_in_loop_block12312	= { FOLLOW_LOOP_SYMBOL_in_loop_block12312_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_label_identifier_in_loop_block12314  */
static	ANTLR3_BITWORD FOLLOW_label_identifier_in_loop_block12314_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_label_identifier_in_loop_block12314	= { FOLLOW_label_identifier_in_loop_block12314_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_REPEAT_SYMBOL_in_repeat_until_block12324  */
static	ANTLR3_BITWORD FOLLOW_REPEAT_SYMBOL_in_repeat_until_block12324_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(0x1018006000800028), ANTLR3_UINT64_LIT(0x0000402200481000), ANTLR3_UINT64_LIT(0x6BC0400018000000), ANTLR3_UINT64_LIT(0x0000000000018820), ANTLR3_UINT64_LIT(0x0000000100001500) };
static  ANTLR3_BITSET_LIST FOLLOW_REPEAT_SYMBOL_in_repeat_until_block12324	= { FOLLOW_REPEAT_SYMBOL_in_repeat_until_block12324_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_compound_statement_list_in_repeat_until_block12327  */
static	ANTLR3_BITWORD FOLLOW_compound_statement_list_in_repeat_until_block12327_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_block12327	= { FOLLOW_compound_statement_list_in_repeat_until_block12327_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_UNTIL_SYMBOL_in_repeat_until_block12329  */
static	ANTLR3_BITWORD FOLLOW_UNTIL_SYMBOL_in_repeat_until_block12329_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C056484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_UNTIL_SYMBOL_in_repeat_until_block12329	= { FOLLOW_UNTIL_SYMBOL_in_repeat_until_block12329_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_repeat_until_block12331  */
static	ANTLR3_BITWORD FOLLOW_expression_in_repeat_until_block12331_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_block12331	= { FOLLOW_expression_in_repeat_until_block12331_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_END_SYMBOL_in_repeat_until_block12333  */
static	ANTLR3_BITWORD FOLLOW_END_SYMBOL_in_repeat_until_block12333_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_END_SYMBOL_in_repeat_until_block12333	= { FOLLOW_END_SYMBOL_in_repeat_until_block12333_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_REPEAT_SYMBOL_in_repeat_until_block12335  */
static	ANTLR3_BITWORD FOLLOW_REPEAT_SYMBOL_in_repeat_until_block12335_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(0x0008000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_REPEAT_SYMBOL_in_repeat_until_block12335	= { FOLLOW_REPEAT_SYMBOL_in_repeat_until_block12335_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_label_identifier_in_repeat_until_block12337  */
static	ANTLR3_BITWORD FOLLOW_label_identifier_in_repeat_until_block12337_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_label_identifier_in_repeat_until_block12337	= { FOLLOW_label_identifier_in_repeat_until_block12337_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_WHILE_SYMBOL_in_while_do_block12347  */
static	ANTLR3_BITWORD FOLLOW_WHILE_SYMBOL_in_while_do_block12347_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C056484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_WHILE_SYMBOL_in_while_do_block12347	= { FOLLOW_WHILE_SYMBOL_in_while_do_block12347_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_while_do_block12350  */
static	ANTLR3_BITWORD FOLLOW_expression_in_while_do_block12350_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_block12350	= { FOLLOW_expression_in_while_do_block12350_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DO_SYMBOL_in_while_do_block12352  */
static	ANTLR3_BITWORD FOLLOW_DO_SYMBOL_in_while_do_block12352_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(0x1018006000800028), ANTLR3_UINT64_LIT(0x0000402200481000), ANTLR3_UINT64_LIT(0x6BC0400018000000), ANTLR3_UINT64_LIT(0x0000000000018820), ANTLR3_UINT64_LIT(0x0000000100001500) };
static  ANTLR3_BITSET_LIST FOLLOW_DO_SYMBOL_in_while_do_block12352	= { FOLLOW_DO_SYMBOL_in_while_do_block12352_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_compound_statement_list_in_while_do_block12354  */
static	ANTLR3_BITWORD FOLLOW_compound_statement_list_in_while_do_block12354_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_block12354	= { FOLLOW_compound_statement_list_in_while_do_block12354_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_END_SYMBOL_in_while_do_block12356  */
static	ANTLR3_BITWORD FOLLOW_END_SYMBOL_in_while_do_block12356_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_END_SYMBOL_in_while_do_block12356	= { FOLLOW_END_SYMBOL_in_while_do_block12356_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_WHILE_SYMBOL_in_while_do_block12358  */
static	ANTLR3_BITWORD FOLLOW_WHILE_SYMBOL_in_while_do_block12358_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(0x0008000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_WHILE_SYMBOL_in_while_do_block12358	= { FOLLOW_WHILE_SYMBOL_in_while_do_block12358_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_label_identifier_in_while_do_block12360  */
static	ANTLR3_BITWORD FOLLOW_label_identifier_in_while_do_block12360_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_label_identifier_in_while_do_block12360	= { FOLLOW_label_identifier_in_while_do_block12360_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DECLARE_SYMBOL_in_declarations12385  */
static	ANTLR3_BITWORD FOLLOW_DECLARE_SYMBOL_in_declarations12385_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_DECLARE_SYMBOL_in_declarations12385	= { FOLLOW_DECLARE_SYMBOL_in_declarations12385_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_declarations12387  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_declarations12387_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(0x0000000020000010), ANTLR3_UINT64_LIT(0x00E02C0000000048), ANTLR3_UINT64_LIT(0x0008000000080000), ANTLR3_UINT64_LIT(0x1C00000000100800), ANTLR3_UINT64_LIT(0x0000000000140000) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_declarations12387	= { FOLLOW_identifier_in_declarations12387_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_variable_declaration_in_declarations12390  */
static	ANTLR3_BITWORD FOLLOW_variable_declaration_in_declarations12390_bits[]	= { ANTLR3_UINT64_LIT(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_declarations12390	= { FOLLOW_variable_declaration_in_declarations12390_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_condition_declaration_in_declarations12394  */
static	ANTLR3_BITWORD FOLLOW_condition_declaration_in_declarations12394_bits[]	= { ANTLR3_UINT64_LIT(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_declarations12394	= { FOLLOW_condition_declaration_in_declarations12394_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_cursor_declaration_in_declarations12401  */
static	ANTLR3_BITWORD FOLLOW_cursor_declaration_in_declarations12401_bits[]	= { ANTLR3_UINT64_LIT(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_declarations12401	= { FOLLOW_cursor_declaration_in_declarations12401_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_handler_declaration_in_declarations12404  */
static	ANTLR3_BITWORD FOLLOW_handler_declaration_in_declarations12404_bits[]	= { ANTLR3_UINT64_LIT(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_declarations12404	= { FOLLOW_handler_declaration_in_declarations12404_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_variable_declaration12415  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_variable_declaration12415_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_variable_declaration12415	= { FOLLOW_COMMA_SYMBOL_in_variable_declaration12415_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_variable_declaration12417  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_variable_declaration12417_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(0x0000000020000010), ANTLR3_UINT64_LIT(0x00E02C0000000048), ANTLR3_UINT64_LIT(0x0008000000080000), ANTLR3_UINT64_LIT(0x1C00000000100800), ANTLR3_UINT64_LIT(0x0000000000140000) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_variable_declaration12417	= { FOLLOW_identifier_in_variable_declaration12417_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_data_type_in_variable_declaration12421  */
static	ANTLR3_BITWORD FOLLOW_data_type_in_variable_declaration12421_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000000000000040) };
static  ANTLR3_BITSET_LIST FOLLOW_data_type_in_variable_declaration12421	= { FOLLOW_data_type_in_variable_declaration12421_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DEFAULT_SYMBOL_in_variable_declaration12424  */
static	ANTLR3_BITWORD FOLLOW_DEFAULT_SYMBOL_in_variable_declaration12424_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C056484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_DEFAULT_SYMBOL_in_variable_declaration12424	= { FOLLOW_DEFAULT_SYMBOL_in_variable_declaration12424_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_variable_declaration12426  */
static	ANTLR3_BITWORD FOLLOW_expression_in_variable_declaration12426_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_expression_in_variable_declaration12426	= { FOLLOW_expression_in_variable_declaration12426_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SEMICOLON_SYMBOL_in_variable_declaration12430  */
static	ANTLR3_BITWORD FOLLOW_SEMICOLON_SYMBOL_in_variable_declaration12430_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_SEMICOLON_SYMBOL_in_variable_declaration12430	= { FOLLOW_SEMICOLON_SYMBOL_in_variable_declaration12430_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CONDITION_SYMBOL_in_condition_declaration12439  */
static	ANTLR3_BITWORD FOLLOW_CONDITION_SYMBOL_in_condition_declaration12439_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_CONDITION_SYMBOL_in_condition_declaration12439	= { FOLLOW_CONDITION_SYMBOL_in_condition_declaration12439_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FOR_SYMBOL_in_condition_declaration12441  */
static	ANTLR3_BITWORD FOLLOW_FOR_SYMBOL_in_condition_declaration12441_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000004), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000001000000) };
static  ANTLR3_BITSET_LIST FOLLOW_FOR_SYMBOL_in_condition_declaration12441	= { FOLLOW_FOR_SYMBOL_in_condition_declaration12441_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_condition_declaration12444  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_condition_declaration12444_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_INTEGER_in_condition_declaration12444	= { FOLLOW_INTEGER_in_condition_declaration12444_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SQLSTATE_SYMBOL_in_condition_declaration12448  */
static	ANTLR3_BITWORD FOLLOW_SQLSTATE_SYMBOL_in_condition_declaration12448_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(0x0000000000000008), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_SQLSTATE_SYMBOL_in_condition_declaration12448	= { FOLLOW_SQLSTATE_SYMBOL_in_condition_declaration12448_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_VALUE_SYMBOL_in_condition_declaration12450  */
static	ANTLR3_BITWORD FOLLOW_VALUE_SYMBOL_in_condition_declaration12450_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_VALUE_SYMBOL_in_condition_declaration12450	= { FOLLOW_VALUE_SYMBOL_in_condition_declaration12450_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_condition_declaration12453  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_condition_declaration12453_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_string_literal_in_condition_declaration12453	= { FOLLOW_string_literal_in_condition_declaration12453_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SEMICOLON_SYMBOL_in_condition_declaration12456  */
static	ANTLR3_BITWORD FOLLOW_SEMICOLON_SYMBOL_in_condition_declaration12456_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_SEMICOLON_SYMBOL_in_condition_declaration12456	= { FOLLOW_SEMICOLON_SYMBOL_in_condition_declaration12456_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DECLARE_SYMBOL_in_cursor_declaration12465  */
static	ANTLR3_BITWORD FOLLOW_DECLARE_SYMBOL_in_cursor_declaration12465_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_DECLARE_SYMBOL_in_cursor_declaration12465	= { FOLLOW_DECLARE_SYMBOL_in_cursor_declaration12465_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_cursor_declaration12467  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_cursor_declaration12467_bits[]	= { ANTLR3_UINT64_LIT(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_declaration12467	= { FOLLOW_identifier_in_cursor_declaration12467_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CURSOR_SYMBOL_in_cursor_declaration12469  */
static	ANTLR3_BITWORD FOLLOW_CURSOR_SYMBOL_in_cursor_declaration12469_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000040) };
static  ANTLR3_BITSET_LIST FOLLOW_CURSOR_SYMBOL_in_cursor_declaration12469	= { FOLLOW_CURSOR_SYMBOL_in_cursor_declaration12469_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SEMICOLON_SYMBOL_in_cursor_declaration12471  */
static	ANTLR3_BITWORD FOLLOW_SEMICOLON_SYMBOL_in_cursor_declaration12471_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_SEMICOLON_SYMBOL_in_cursor_declaration12471	= { FOLLOW_SEMICOLON_SYMBOL_in_cursor_declaration12471_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DECLARE_SYMBOL_in_handler_declaration12480  */
static	ANTLR3_BITWORD FOLLOW_DECLARE_SYMBOL_in_handler_declaration12480_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000000000020000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000020) };
static  ANTLR3_BITSET_LIST FOLLOW_DECLARE_SYMBOL_in_handler_declaration12480	= { FOLLOW_DECLARE_SYMBOL_in_handler_declaration12480_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_handler_declaration12482  */
static	ANTLR3_BITWORD FOLLOW_set_in_handler_declaration12482_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_declaration12482	= { FOLLOW_set_in_handler_declaration12482_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_HANDLER_SYMBOL_in_handler_declaration12494  */
static	ANTLR3_BITWORD FOLLOW_HANDLER_SYMBOL_in_handler_declaration12494_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_HANDLER_SYMBOL_in_handler_declaration12494	= { FOLLOW_HANDLER_SYMBOL_in_handler_declaration12494_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FOR_SYMBOL_in_handler_declaration12498  */
static	ANTLR3_BITWORD FOLLOW_FOR_SYMBOL_in_handler_declaration12498_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008), ANTLR3_UINT64_LIT(0x0000000000000004), ANTLR3_UINT64_LIT(0x0000000000002000), ANTLR3_UINT64_LIT(0x0000000003800000) };
static  ANTLR3_BITSET_LIST FOLLOW_FOR_SYMBOL_in_handler_declaration12498	= { FOLLOW_FOR_SYMBOL_in_handler_declaration12498_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_handler_condition_in_handler_declaration12500  */
static	ANTLR3_BITWORD FOLLOW_handler_condition_in_handler_declaration12500_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(0x1018006000800028), ANTLR3_UINT64_LIT(0x0000402200481000), ANTLR3_UINT64_LIT(0x6BC0400018000000), ANTLR3_UINT64_LIT(0x0000000000018820), ANTLR3_UINT64_LIT(0x0000000100001500) };
static  ANTLR3_BITSET_LIST FOLLOW_handler_condition_in_handler_declaration12500	= { FOLLOW_handler_condition_in_handler_declaration12500_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_handler_declaration12503  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_handler_declaration12503_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008), ANTLR3_UINT64_LIT(0x0000000000000004), ANTLR3_UINT64_LIT(0x0000000000002000), ANTLR3_UINT64_LIT(0x0000000003800000) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_handler_declaration12503	= { FOLLOW_COMMA_SYMBOL_in_handler_declaration12503_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_handler_condition_in_handler_declaration12505  */
static	ANTLR3_BITWORD FOLLOW_handler_condition_in_handler_declaration12505_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(0x1018006000800028), ANTLR3_UINT64_LIT(0x0000402200481000), ANTLR3_UINT64_LIT(0x6BC0400018000000), ANTLR3_UINT64_LIT(0x0000000000018820), ANTLR3_UINT64_LIT(0x0000000100001500) };
static  ANTLR3_BITSET_LIST FOLLOW_handler_condition_in_handler_declaration12505	= { FOLLOW_handler_condition_in_handler_declaration12505_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_compound_statement_in_handler_declaration12509  */
static	ANTLR3_BITWORD FOLLOW_compound_statement_in_handler_declaration12509_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_compound_statement_in_handler_declaration12509	= { FOLLOW_compound_statement_in_handler_declaration12509_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SEMICOLON_SYMBOL_in_handler_declaration12511  */
static	ANTLR3_BITWORD FOLLOW_SEMICOLON_SYMBOL_in_handler_declaration12511_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_SEMICOLON_SYMBOL_in_handler_declaration12511	= { FOLLOW_SEMICOLON_SYMBOL_in_handler_declaration12511_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_handler_condition12520  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_handler_condition12520_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_INTEGER_in_handler_condition12520	= { FOLLOW_INTEGER_in_handler_condition12520_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SQLSTATE_SYMBOL_in_handler_condition12525  */
static	ANTLR3_BITWORD FOLLOW_SQLSTATE_SYMBOL_in_handler_condition12525_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(0x0000000000000008), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_SQLSTATE_SYMBOL_in_handler_condition12525	= { FOLLOW_SQLSTATE_SYMBOL_in_handler_condition12525_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_VALUE_SYMBOL_in_handler_condition12527  */
static	ANTLR3_BITWORD FOLLOW_VALUE_SYMBOL_in_handler_condition12527_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_VALUE_SYMBOL_in_handler_condition12527	= { FOLLOW_VALUE_SYMBOL_in_handler_condition12527_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_handler_condition12530  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_handler_condition12530_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_handler_condition12530	= { FOLLOW_string_literal_in_handler_condition12530_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_handler_condition12535  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_handler_condition12535_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_handler_condition12535	= { FOLLOW_identifier_in_handler_condition12535_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SQLWARNING_SYMBOL_in_handler_condition12540  */
static	ANTLR3_BITWORD FOLLOW_SQLWARNING_SYMBOL_in_handler_condition12540_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_SQLWARNING_SYMBOL_in_handler_condition12540	= { FOLLOW_SQLWARNING_SYMBOL_in_handler_condition12540_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_NOT_SYMBOL_in_handler_condition12545  */
static	ANTLR3_BITWORD FOLLOW_NOT_SYMBOL_in_handler_condition12545_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000004000000) };
static  ANTLR3_BITSET_LIST FOLLOW_NOT_SYMBOL_in_handler_condition12545	= { FOLLOW_NOT_SYMBOL_in_handler_condition12545_bits, 2	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FOUND_SYMBOL_in_handler_condition12547  */
static	ANTLR3_BITWORD FOLLOW_FOUND_SYMBOL_in_handler_condition12547_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_FOUND_SYMBOL_in_handler_condition12547	= { FOLLOW_FOUND_SYMBOL_in_handler_condition12547_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SQLEXCEPTION_SYMBOL_in_handler_condition12552  */
static	ANTLR3_BITWORD FOLLOW_SQLEXCEPTION_SYMBOL_in_handler_condition12552_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_SQLEXCEPTION_SYMBOL_in_handler_condition12552	= { FOLLOW_SQLEXCEPTION_SYMBOL_in_handler_condition12552_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CASE_SYMBOL_in_case_statement12562  */
static	ANTLR3_BITWORD FOLLOW_CASE_SYMBOL_in_case_statement12562_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C056484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000004123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_CASE_SYMBOL_in_case_statement12562	= { FOLLOW_CASE_SYMBOL_in_case_statement12562_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_case_statement12565  */
static	ANTLR3_BITWORD FOLLOW_expression_in_case_statement12565_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000040000000) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_case_statement12565	= { FOLLOW_expression_in_case_statement12565_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_when_expression_in_case_statement12569  */
static	ANTLR3_BITWORD FOLLOW_when_expression_in_case_statement12569_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_when_expression_in_case_statement12569	= { FOLLOW_when_expression_in_case_statement12569_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_then_statement_in_case_statement12571  */
static	ANTLR3_BITWORD FOLLOW_then_statement_in_case_statement12571_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(0x0000000000000200), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000040000000) };
static  ANTLR3_BITSET_LIST FOLLOW_then_statement_in_case_statement12571	= { FOLLOW_then_statement_in_case_statement12571_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_else_statement_in_case_statement12575  */
static	ANTLR3_BITWORD FOLLOW_else_statement_in_case_statement12575_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_statement12575	= { FOLLOW_else_statement_in_case_statement12575_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_END_SYMBOL_in_case_statement12578  */
static	ANTLR3_BITWORD FOLLOW_END_SYMBOL_in_case_statement12578_bits[]	= { ANTLR3_UINT64_LIT(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_statement12578	= { FOLLOW_END_SYMBOL_in_case_statement12578_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CASE_SYMBOL_in_case_statement12580  */
static	ANTLR3_BITWORD FOLLOW_CASE_SYMBOL_in_case_statement12580_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CASE_SYMBOL_in_case_statement12580	= { FOLLOW_CASE_SYMBOL_in_case_statement12580_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_THEN_SYMBOL_in_then_statement12589  */
static	ANTLR3_BITWORD FOLLOW_THEN_SYMBOL_in_then_statement12589_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(0x1018006000800028), ANTLR3_UINT64_LIT(0x0000402200481000), ANTLR3_UINT64_LIT(0x6BC0400018000000), ANTLR3_UINT64_LIT(0x0000000000018820), ANTLR3_UINT64_LIT(0x0000000100001500) };
static  ANTLR3_BITSET_LIST FOLLOW_THEN_SYMBOL_in_then_statement12589	= { FOLLOW_THEN_SYMBOL_in_then_statement12589_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_compound_statement_list_in_then_statement12592  */
static	ANTLR3_BITWORD FOLLOW_compound_statement_list_in_then_statement12592_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_compound_statement_list_in_then_statement12592	= { FOLLOW_compound_statement_list_in_then_statement12592_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ELSE_SYMBOL_in_else_statement12601  */
static	ANTLR3_BITWORD FOLLOW_ELSE_SYMBOL_in_else_statement12601_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(0x1018006000800028), ANTLR3_UINT64_LIT(0x0000402200481000), ANTLR3_UINT64_LIT(0x6BC0400018000000), ANTLR3_UINT64_LIT(0x0000000000018820), ANTLR3_UINT64_LIT(0x0000000100001500) };
static  ANTLR3_BITSET_LIST FOLLOW_ELSE_SYMBOL_in_else_statement12601	= { FOLLOW_ELSE_SYMBOL_in_else_statement12601_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_compound_statement_list_in_else_statement12604  */
static	ANTLR3_BITWORD FOLLOW_compound_statement_list_in_else_statement12604_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_compound_statement_list_in_else_statement12604	= { FOLLOW_compound_statement_list_in_else_statement12604_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_IF_SYMBOL_in_if_statement12613  */
static	ANTLR3_BITWORD FOLLOW_IF_SYMBOL_in_if_statement12613_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C056484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_IF_SYMBOL_in_if_statement12613	= { FOLLOW_IF_SYMBOL_in_if_statement12613_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_if_body_in_if_statement12616  */
static	ANTLR3_BITWORD FOLLOW_if_body_in_if_statement12616_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_statement12616	= { FOLLOW_if_body_in_if_statement12616_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_END_SYMBOL_in_if_statement12618  */
static	ANTLR3_BITWORD FOLLOW_END_SYMBOL_in_if_statement12618_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_END_SYMBOL_in_if_statement12618	= { FOLLOW_END_SYMBOL_in_if_statement12618_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_IF_SYMBOL_in_if_statement12620  */
static	ANTLR3_BITWORD FOLLOW_IF_SYMBOL_in_if_statement12620_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_IF_SYMBOL_in_if_statement12620	= { FOLLOW_IF_SYMBOL_in_if_statement12620_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_if_body12629  */
static	ANTLR3_BITWORD FOLLOW_expression_in_if_body12629_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_expression_in_if_body12629	= { FOLLOW_expression_in_if_body12629_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_then_statement_in_if_body12631  */
static	ANTLR3_BITWORD FOLLOW_then_statement_in_if_body12631_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000300) };
static  ANTLR3_BITSET_LIST FOLLOW_then_statement_in_if_body12631	= { FOLLOW_then_statement_in_if_body12631_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ELSEIF_SYMBOL_in_if_body12634  */
static	ANTLR3_BITWORD FOLLOW_ELSEIF_SYMBOL_in_if_body12634_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C056484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_ELSEIF_SYMBOL_in_if_body12634	= { FOLLOW_ELSEIF_SYMBOL_in_if_body12634_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_if_body_in_if_body12636  */
static	ANTLR3_BITWORD FOLLOW_if_body_in_if_body12636_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_if_body_in_if_body12636	= { FOLLOW_if_body_in_if_body12636_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ELSE_SYMBOL_in_if_body12640  */
static	ANTLR3_BITWORD FOLLOW_ELSE_SYMBOL_in_if_body12640_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(0x1018006000800028), ANTLR3_UINT64_LIT(0x0000402200481000), ANTLR3_UINT64_LIT(0x6BC0400018000000), ANTLR3_UINT64_LIT(0x0000000000018820), ANTLR3_UINT64_LIT(0x0000000100001500) };
static  ANTLR3_BITSET_LIST FOLLOW_ELSE_SYMBOL_in_if_body12640	= { FOLLOW_ELSE_SYMBOL_in_if_body12640_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_compound_statement_list_in_if_body12642  */
static	ANTLR3_BITWORD FOLLOW_compound_statement_list_in_if_body12642_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_compound_statement_list_in_if_body12642	= { FOLLOW_compound_statement_list_in_if_body12642_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ITERATE_SYMBOL_in_iterate_statement12653  */
static	ANTLR3_BITWORD FOLLOW_ITERATE_SYMBOL_in_iterate_statement12653_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(0x0008000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_ITERATE_SYMBOL_in_iterate_statement12653	= { FOLLOW_ITERATE_SYMBOL_in_iterate_statement12653_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_label_identifier_in_iterate_statement12655  */
static	ANTLR3_BITWORD FOLLOW_label_identifier_in_iterate_statement12655_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_label_identifier_in_iterate_statement12655	= { FOLLOW_label_identifier_in_iterate_statement12655_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_LEAVE_SYMBOL_in_leave_statement12664  */
static	ANTLR3_BITWORD FOLLOW_LEAVE_SYMBOL_in_leave_statement12664_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(0x0008000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_LEAVE_SYMBOL_in_leave_statement12664	= { FOLLOW_LEAVE_SYMBOL_in_leave_statement12664_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_label_identifier_in_leave_statement12666  */
static	ANTLR3_BITWORD FOLLOW_label_identifier_in_leave_statement12666_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_label_identifier_in_leave_statement12666	= { FOLLOW_label_identifier_in_leave_statement12666_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_RETURN_SYMBOL_in_return_statement12675  */
static	ANTLR3_BITWORD FOLLOW_RETURN_SYMBOL_in_return_statement12675_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C056484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_RETURN_SYMBOL_in_return_statement12675	= { FOLLOW_RETURN_SYMBOL_in_return_statement12675_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_return_statement12677  */
static	ANTLR3_BITWORD FOLLOW_expression_in_return_statement12677_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_return_statement12677	= { FOLLOW_expression_in_return_statement12677_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_GET_SYMBOL_in_get_diagnostics12686  */
static	ANTLR3_BITWORD FOLLOW_GET_SYMBOL_in_get_diagnostics12686_bits[]	= { ANTLR3_UINT64_LIT(0x4008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_GET_SYMBOL_in_get_diagnostics12686	= { FOLLOW_GET_SYMBOL_in_get_diagnostics12686_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CURRENT_SYMBOL_in_get_diagnostics12688  */
static	ANTLR3_BITWORD FOLLOW_CURRENT_SYMBOL_in_get_diagnostics12688_bits[]	= { ANTLR3_UINT64_LIT(0x4000000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_CURRENT_SYMBOL_in_get_diagnostics12688	= { FOLLOW_CURRENT_SYMBOL_in_get_diagnostics12688_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DIAGNOSTICS_SYMBOL_in_get_diagnostics12691  */
static	ANTLR3_BITWORD FOLLOW_DIAGNOSTICS_SYMBOL_in_get_diagnostics12691_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(0x0008000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_DIAGNOSTICS_SYMBOL_in_get_diagnostics12691	= { FOLLOW_DIAGNOSTICS_SYMBOL_in_get_diagnostics12691_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_statement_information_item_in_get_diagnostics12698  */
static	ANTLR3_BITWORD FOLLOW_statement_information_item_in_get_diagnostics12698_bits[]	= { ANTLR3_UINT64_LIT(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_diagnostics12698	= { FOLLOW_statement_information_item_in_get_diagnostics12698_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_get_diagnostics12701  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_get_diagnostics12701_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(0x0008000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_get_diagnostics12701	= { FOLLOW_COMMA_SYMBOL_in_get_diagnostics12701_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_statement_information_item_in_get_diagnostics12703  */
static	ANTLR3_BITWORD FOLLOW_statement_information_item_in_get_diagnostics12703_bits[]	= { ANTLR3_UINT64_LIT(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_diagnostics12703	= { FOLLOW_statement_information_item_in_get_diagnostics12703_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CONDITION_SYMBOL_in_get_diagnostics12711  */
static	ANTLR3_BITWORD FOLLOW_CONDITION_SYMBOL_in_get_diagnostics12711_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000004) };
static  ANTLR3_BITSET_LIST FOLLOW_CONDITION_SYMBOL_in_get_diagnostics12711	= { FOLLOW_CONDITION_SYMBOL_in_get_diagnostics12711_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_get_diagnostics12713  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_get_diagnostics12713_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(0x0008000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_INTEGER_in_get_diagnostics12713	= { FOLLOW_INTEGER_in_get_diagnostics12713_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_condition_information_item_in_get_diagnostics12715  */
static	ANTLR3_BITWORD FOLLOW_condition_information_item_in_get_diagnostics12715_bits[]	= { ANTLR3_UINT64_LIT(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_diagnostics12715	= { FOLLOW_condition_information_item_in_get_diagnostics12715_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_get_diagnostics12718  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_get_diagnostics12718_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(0x0008000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_get_diagnostics12718	= { FOLLOW_COMMA_SYMBOL_in_get_diagnostics12718_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_condition_information_item_in_get_diagnostics12720  */
static	ANTLR3_BITWORD FOLLOW_condition_information_item_in_get_diagnostics12720_bits[]	= { ANTLR3_UINT64_LIT(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_diagnostics12720	= { FOLLOW_condition_information_item_in_get_diagnostics12720_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_variable_in_statement_information_item12735  */
static	ANTLR3_BITWORD FOLLOW_variable_in_statement_information_item12735_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_variable_in_statement_information_item12735	= { FOLLOW_variable_in_statement_information_item12735_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_statement_information_item12739  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_statement_information_item12739_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000001000) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_statement_information_item12739	= { FOLLOW_identifier_in_statement_information_item12739_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_statement_information_item12742  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_statement_information_item12742_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_item12742	= { FOLLOW_EQUAL_OPERATOR_in_statement_information_item12742_bits, 4	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_statement_information_item12744  */
static	ANTLR3_BITWORD FOLLOW_set_in_statement_information_item12744_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_statement_information_item12744	= { FOLLOW_set_in_statement_information_item12744_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_variable_in_condition_information_item12760  */
static	ANTLR3_BITWORD FOLLOW_variable_in_condition_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(0x0000000000001000) };
static  ANTLR3_BITSET_LIST FOLLOW_variable_in_condition_information_item12760	= { FOLLOW_variable_in_condition_information_item12760_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_condition_information_item12764  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_condition_information_item12764_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000001000) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_condition_information_item12764	= { FOLLOW_identifier_in_condition_information_item12764_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_condition_information_item12767  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_condition_information_item12767_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_item12767	= { FOLLOW_EQUAL_OPERATOR_in_condition_information_item12767_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_condition_information_item_name_in_condition_information_item12769  */
static	ANTLR3_BITWORD FOLLOW_condition_information_item_name_in_condition_information_item12769_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_condition_information_item_name_in_condition_information_item12769	= { FOLLOW_condition_information_item_name_in_condition_information_item12769_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SIGNAL_SYMBOL_in_signal_statement12847  */
static	ANTLR3_BITWORD FOLLOW_SIGNAL_SYMBOL_in_signal_statement12847_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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) };
static  ANTLR3_BITSET_LIST FOLLOW_SIGNAL_SYMBOL_in_signal_statement12847	= { FOLLOW_SIGNAL_SYMBOL_in_signal_statement12847_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SQLSTATE_SYMBOL_in_signal_statement12850  */
static	ANTLR3_BITWORD FOLLOW_SQLSTATE_SYMBOL_in_signal_statement12850_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_SQLSTATE_SYMBOL_in_signal_statement12850	= { FOLLOW_SQLSTATE_SYMBOL_in_signal_statement12850_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_VALUE_SYMBOL_in_signal_statement12852  */
static	ANTLR3_BITWORD FOLLOW_VALUE_SYMBOL_in_signal_statement12852_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_VALUE_SYMBOL_in_signal_statement12852	= { FOLLOW_VALUE_SYMBOL_in_signal_statement12852_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_text_or_identifier_in_signal_statement12855  */
static	ANTLR3_BITWORD FOLLOW_text_or_identifier_in_signal_statement12855_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_text_or_identifier_in_signal_statement12855	= { FOLLOW_text_or_identifier_in_signal_statement12855_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SET_SYMBOL_in_signal_statement12861  */
static	ANTLR3_BITWORD FOLLOW_SET_SYMBOL_in_signal_statement12861_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_statement12861	= { FOLLOW_SET_SYMBOL_in_signal_statement12861_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_signal_information_item_in_signal_statement12863  */
static	ANTLR3_BITWORD FOLLOW_signal_information_item_in_signal_statement12863_bits[]	= { ANTLR3_UINT64_LIT(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_statement12863	= { FOLLOW_signal_information_item_in_signal_statement12863_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_signal_statement12866  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_signal_statement12866_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_statement12866	= { FOLLOW_COMMA_SYMBOL_in_signal_statement12866_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_signal_information_item_in_signal_statement12868  */
static	ANTLR3_BITWORD FOLLOW_signal_information_item_in_signal_statement12868_bits[]	= { ANTLR3_UINT64_LIT(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_statement12868	= { FOLLOW_signal_information_item_in_signal_statement12868_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_RESIGNAL_SYMBOL_in_resignal_statement12881  */
static	ANTLR3_BITWORD FOLLOW_RESIGNAL_SYMBOL_in_resignal_statement12881_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000001000800) };
static  ANTLR3_BITSET_LIST FOLLOW_RESIGNAL_SYMBOL_in_resignal_statement12881	= { FOLLOW_RESIGNAL_SYMBOL_in_resignal_statement12881_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SQLSTATE_SYMBOL_in_resignal_statement12884  */
static	ANTLR3_BITWORD FOLLOW_SQLSTATE_SYMBOL_in_resignal_statement12884_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_SQLSTATE_SYMBOL_in_resignal_statement12884	= { FOLLOW_SQLSTATE_SYMBOL_in_resignal_statement12884_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_VALUE_SYMBOL_in_resignal_statement12886  */
static	ANTLR3_BITWORD FOLLOW_VALUE_SYMBOL_in_resignal_statement12886_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_VALUE_SYMBOL_in_resignal_statement12886	= { FOLLOW_VALUE_SYMBOL_in_resignal_statement12886_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_text_or_identifier_in_resignal_statement12889  */
static	ANTLR3_BITWORD FOLLOW_text_or_identifier_in_resignal_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(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000800) };
static  ANTLR3_BITSET_LIST FOLLOW_text_or_identifier_in_resignal_statement12889	= { FOLLOW_text_or_identifier_in_resignal_statement12889_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SET_SYMBOL_in_resignal_statement12896  */
static	ANTLR3_BITWORD FOLLOW_SET_SYMBOL_in_resignal_statement12896_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_statement12896	= { FOLLOW_SET_SYMBOL_in_resignal_statement12896_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_signal_information_item_in_resignal_statement12898  */
static	ANTLR3_BITWORD FOLLOW_signal_information_item_in_resignal_statement12898_bits[]	= { ANTLR3_UINT64_LIT(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_statement12898	= { FOLLOW_signal_information_item_in_resignal_statement12898_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_resignal_statement12901  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_resignal_statement12901_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_statement12901	= { FOLLOW_COMMA_SYMBOL_in_resignal_statement12901_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_signal_information_item_in_resignal_statement12903  */
static	ANTLR3_BITWORD FOLLOW_signal_information_item_in_resignal_statement12903_bits[]	= { ANTLR3_UINT64_LIT(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_statement12903	= { FOLLOW_signal_information_item_in_resignal_statement12903_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_condition_information_item_name_in_signal_information_item12916  */
static	ANTLR3_BITWORD FOLLOW_condition_information_item_name_in_signal_information_item12916_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_condition_information_item_name_in_signal_information_item12916	= { FOLLOW_condition_information_item_name_in_signal_information_item12916_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_signal_information_item12918  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_signal_information_item12918_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(0x0000600004400008), ANTLR3_UINT64_LIT(0x0000000000000004), ANTLR3_UINT64_LIT(0x0000000000050080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000012) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_signal_information_item12918	= { FOLLOW_EQUAL_OPERATOR_in_signal_information_item12918_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_literal_in_signal_information_item12920  */
static	ANTLR3_BITWORD FOLLOW_literal_in_signal_information_item12920_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_literal_in_signal_information_item12920	= { FOLLOW_literal_in_signal_information_item12920_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_SYMBOL_in_cursor_close12929  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_SYMBOL_in_cursor_close12929_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_SYMBOL_in_cursor_close12929	= { FOLLOW_CLOSE_SYMBOL_in_cursor_close12929_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_cursor_close12931  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_cursor_close12931_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_cursor_close12931	= { FOLLOW_identifier_in_cursor_close12931_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FETCH_SYMBOL_in_cursor_fetch12940  */
static	ANTLR3_BITWORD FOLLOW_FETCH_SYMBOL_in_cursor_fetch12940_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_FETCH_SYMBOL_in_cursor_fetch12940	= { FOLLOW_FETCH_SYMBOL_in_cursor_fetch12940_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_cursor_fetch12942  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_cursor_fetch12942_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_identifier_in_cursor_fetch12942	= { FOLLOW_identifier_in_cursor_fetch12942_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTO_SYMBOL_in_cursor_fetch12944  */
static	ANTLR3_BITWORD FOLLOW_INTO_SYMBOL_in_cursor_fetch12944_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_INTO_SYMBOL_in_cursor_fetch12944	= { FOLLOW_INTO_SYMBOL_in_cursor_fetch12944_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_list_in_cursor_fetch12946  */
static	ANTLR3_BITWORD FOLLOW_identifier_list_in_cursor_fetch12946_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_list_in_cursor_fetch12946	= { FOLLOW_identifier_list_in_cursor_fetch12946_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_SYMBOL_in_cursor_open12955  */
static	ANTLR3_BITWORD FOLLOW_OPEN_SYMBOL_in_cursor_open12955_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_SYMBOL_in_cursor_open12955	= { FOLLOW_OPEN_SYMBOL_in_cursor_open12955_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_cursor_open12957  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_cursor_open12957_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_cursor_open12957	= { FOLLOW_identifier_in_cursor_open12957_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_AT_SYMBOL_in_schedule12969  */
static	ANTLR3_BITWORD FOLLOW_AT_SYMBOL_in_schedule12969_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C056484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_AT_SYMBOL_in_schedule12969	= { FOLLOW_AT_SYMBOL_in_schedule12969_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_schedule12971  */
static	ANTLR3_BITWORD FOLLOW_expression_in_schedule12971_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_schedule12971	= { FOLLOW_expression_in_schedule12971_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EVERY_SYMBOL_in_schedule12976  */
static	ANTLR3_BITWORD FOLLOW_EVERY_SYMBOL_in_schedule12976_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C056484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_EVERY_SYMBOL_in_schedule12976	= { FOLLOW_EVERY_SYMBOL_in_schedule12976_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_interval_in_schedule12978  */
static	ANTLR3_BITWORD FOLLOW_interval_in_schedule12978_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x2000000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_interval_in_schedule12978	= { FOLLOW_interval_in_schedule12978_bits, 4	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_STARTS_SYMBOL_in_schedule12981  */
static	ANTLR3_BITWORD FOLLOW_STARTS_SYMBOL_in_schedule12981_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C056484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_STARTS_SYMBOL_in_schedule12981	= { FOLLOW_STARTS_SYMBOL_in_schedule12981_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_schedule12983  */
static	ANTLR3_BITWORD FOLLOW_expression_in_schedule12983_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000080) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_schedule12983	= { FOLLOW_expression_in_schedule12983_bits, 2	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ENDS_SYMBOL_in_schedule12988  */
static	ANTLR3_BITWORD FOLLOW_ENDS_SYMBOL_in_schedule12988_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C056484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_ENDS_SYMBOL_in_schedule12988	= { FOLLOW_ENDS_SYMBOL_in_schedule12988_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_schedule12990  */
static	ANTLR3_BITWORD FOLLOW_expression_in_schedule12990_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_schedule12990	= { FOLLOW_expression_in_schedule12990_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DEFAULT_SYMBOL_in_database_option13001  */
static	ANTLR3_BITWORD FOLLOW_DEFAULT_SYMBOL_in_database_option13001_bits[]	= { ANTLR3_UINT64_LIT(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_option13001	= { FOLLOW_DEFAULT_SYMBOL_in_database_option13001_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CHAR_SYMBOL_in_database_option13011  */
static	ANTLR3_BITWORD FOLLOW_CHAR_SYMBOL_in_database_option13011_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_CHAR_SYMBOL_in_database_option13011	= { FOLLOW_CHAR_SYMBOL_in_database_option13011_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SET_SYMBOL_in_database_option13013  */
static	ANTLR3_BITWORD FOLLOW_SET_SYMBOL_in_database_option13013_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(0x0008000000001008), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_SET_SYMBOL_in_database_option13013	= { FOLLOW_SET_SYMBOL_in_database_option13013_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_database_option13015  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_database_option13015_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(0x0008000000000008), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_database_option13015	= { FOLLOW_EQUAL_OPERATOR_in_database_option13015_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_charset_name_or_default_in_database_option13018  */
static	ANTLR3_BITWORD FOLLOW_charset_name_or_default_in_database_option13018_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_charset_name_or_default_in_database_option13018	= { FOLLOW_charset_name_or_default_in_database_option13018_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COLLATE_SYMBOL_in_database_option13025  */
static	ANTLR3_BITWORD FOLLOW_COLLATE_SYMBOL_in_database_option13025_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000001008), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_COLLATE_SYMBOL_in_database_option13025	= { FOLLOW_COLLATE_SYMBOL_in_database_option13025_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_database_option13027  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_database_option13027_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_database_option13027	= { FOLLOW_EQUAL_OPERATOR_in_database_option13027_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_collation_name_or_default_in_database_option13030  */
static	ANTLR3_BITWORD FOLLOW_collation_name_or_default_in_database_option13030_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_collation_name_or_default_in_database_option13030	= { FOLLOW_collation_name_or_default_in_database_option13030_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_field_spec_in_column_definition13043  */
static	ANTLR3_BITWORD FOLLOW_field_spec_in_column_definition13043_bits[]	= { ANTLR3_UINT64_LIT(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(0x0010000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_field_spec_in_column_definition13043	= { FOLLOW_field_spec_in_column_definition13043_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_reference_definition_in_column_definition13046  */
static	ANTLR3_BITWORD FOLLOW_reference_definition_in_column_definition13046_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_reference_definition_in_column_definition13046	= { FOLLOW_reference_definition_in_column_definition13046_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CHECK_SYMBOL_in_column_definition13051  */
static	ANTLR3_BITWORD FOLLOW_CHECK_SYMBOL_in_column_definition13051_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_CHECK_SYMBOL_in_column_definition13051	= { FOLLOW_CHECK_SYMBOL_in_column_definition13051_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_column_definition13053  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_column_definition13053_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C056484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_column_definition13053	= { FOLLOW_OPEN_PAR_SYMBOL_in_column_definition13053_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_column_definition13055  */
static	ANTLR3_BITWORD FOLLOW_expression_in_column_definition13055_bits[]	= { ANTLR3_UINT64_LIT(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_definition13055	= { FOLLOW_expression_in_column_definition13055_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_column_definition13057  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_column_definition13057_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_column_definition13057	= { FOLLOW_CLOSE_PAR_SYMBOL_in_column_definition13057_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_field_spec13069  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_field_spec13069_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(0x0000000020000010), ANTLR3_UINT64_LIT(0x00E02C0000000048), ANTLR3_UINT64_LIT(0x0008000000080000), ANTLR3_UINT64_LIT(0x1C00000000100800), ANTLR3_UINT64_LIT(0x0000000000140000) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_field_spec13069	= { FOLLOW_identifier_in_field_spec13069_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_data_type_in_field_spec13071  */
static	ANTLR3_BITWORD FOLLOW_data_type_in_field_spec13071_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(0x0000000000040000), ANTLR3_UINT64_LIT(0x0010080001052000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000080) };
static  ANTLR3_BITSET_LIST FOLLOW_data_type_in_field_spec13071	= { FOLLOW_data_type_in_field_spec13071_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_attribute_in_field_spec13073  */
static	ANTLR3_BITWORD FOLLOW_attribute_in_field_spec13073_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(0x0000000000040000), ANTLR3_UINT64_LIT(0x0010080001052000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000080) };
static  ANTLR3_BITSET_LIST FOLLOW_attribute_in_field_spec13073	= { FOLLOW_attribute_in_field_spec13073_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_reference_definition_in_field_spec13090  */
static	ANTLR3_BITWORD FOLLOW_reference_definition_in_field_spec13090_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_reference_definition_in_field_spec13090	= { FOLLOW_reference_definition_in_field_spec13090_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_NOT_SYMBOL_in_attribute13101  */
static	ANTLR3_BITWORD FOLLOW_NOT_SYMBOL_in_attribute13101_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000050000) };
static  ANTLR3_BITSET_LIST FOLLOW_NOT_SYMBOL_in_attribute13101	= { FOLLOW_NOT_SYMBOL_in_attribute13101_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_null_literal_in_attribute13104  */
static	ANTLR3_BITWORD FOLLOW_null_literal_in_attribute13104_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_null_literal_in_attribute13104	= { FOLLOW_null_literal_in_attribute13104_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DEFAULT_SYMBOL_in_attribute13109  */
static	ANTLR3_BITWORD FOLLOW_DEFAULT_SYMBOL_in_attribute13109_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(0x0000600004400008), ANTLR3_UINT64_LIT(0x0000000000000004), ANTLR3_UINT64_LIT(0x0000000000054080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000012) };
static  ANTLR3_BITSET_LIST FOLLOW_DEFAULT_SYMBOL_in_attribute13109	= { FOLLOW_DEFAULT_SYMBOL_in_attribute13109_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_literal_in_attribute13112  */
static	ANTLR3_BITWORD FOLLOW_literal_in_attribute13112_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_literal_in_attribute13112	= { FOLLOW_literal_in_attribute13112_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_NOW_SYMBOL_in_attribute13116  */
static	ANTLR3_BITWORD FOLLOW_NOW_SYMBOL_in_attribute13116_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_NOW_SYMBOL_in_attribute13116	= { FOLLOW_NOW_SYMBOL_in_attribute13116_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_time_function_parameters_in_attribute13118  */
static	ANTLR3_BITWORD FOLLOW_time_function_parameters_in_attribute13118_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_time_function_parameters_in_attribute13118	= { FOLLOW_time_function_parameters_in_attribute13118_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ON_SYMBOL_in_attribute13125  */
static	ANTLR3_BITWORD FOLLOW_ON_SYMBOL_in_attribute13125_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_ON_SYMBOL_in_attribute13125	= { FOLLOW_ON_SYMBOL_in_attribute13125_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_UPDATE_SYMBOL_in_attribute13127  */
static	ANTLR3_BITWORD FOLLOW_UPDATE_SYMBOL_in_attribute13127_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_UPDATE_SYMBOL_in_attribute13127	= { FOLLOW_UPDATE_SYMBOL_in_attribute13127_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_NOW_SYMBOL_in_attribute13129  */
static	ANTLR3_BITWORD FOLLOW_NOW_SYMBOL_in_attribute13129_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_NOW_SYMBOL_in_attribute13129	= { FOLLOW_NOW_SYMBOL_in_attribute13129_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_time_function_parameters_in_attribute13131  */
static	ANTLR3_BITWORD FOLLOW_time_function_parameters_in_attribute13131_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_time_function_parameters_in_attribute13131	= { FOLLOW_time_function_parameters_in_attribute13131_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_AUTO_INCREMENT_SYMBOL_in_attribute13137  */
static	ANTLR3_BITWORD FOLLOW_AUTO_INCREMENT_SYMBOL_in_attribute13137_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_AUTO_INCREMENT_SYMBOL_in_attribute13137	= { FOLLOW_AUTO_INCREMENT_SYMBOL_in_attribute13137_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SERIAL_SYMBOL_in_attribute13142  */
static	ANTLR3_BITWORD FOLLOW_SERIAL_SYMBOL_in_attribute13142_bits[]	= { ANTLR3_UINT64_LIT(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_attribute13142	= { FOLLOW_SERIAL_SYMBOL_in_attribute13142_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DEFAULT_SYMBOL_in_attribute13144  */
static	ANTLR3_BITWORD FOLLOW_DEFAULT_SYMBOL_in_attribute13144_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_attribute13144	= { FOLLOW_DEFAULT_SYMBOL_in_attribute13144_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_VALUE_SYMBOL_in_attribute13146  */
static	ANTLR3_BITWORD FOLLOW_VALUE_SYMBOL_in_attribute13146_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_VALUE_SYMBOL_in_attribute13146	= { FOLLOW_VALUE_SYMBOL_in_attribute13146_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_UNIQUE_SYMBOL_in_attribute13153  */
static	ANTLR3_BITWORD FOLLOW_UNIQUE_SYMBOL_in_attribute13153_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_UNIQUE_SYMBOL_in_attribute13153	= { FOLLOW_UNIQUE_SYMBOL_in_attribute13153_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_attribute13158  */
static	ANTLR3_BITWORD FOLLOW_set_in_attribute13158_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_set_in_attribute13158	= { FOLLOW_set_in_attribute13158_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_KEY_SYMBOL_in_attribute13166  */
static	ANTLR3_BITWORD FOLLOW_KEY_SYMBOL_in_attribute13166_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_KEY_SYMBOL_in_attribute13166	= { FOLLOW_KEY_SYMBOL_in_attribute13166_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_KEY_SYMBOL_in_attribute13171  */
static	ANTLR3_BITWORD FOLLOW_KEY_SYMBOL_in_attribute13171_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_KEY_SYMBOL_in_attribute13171	= { FOLLOW_KEY_SYMBOL_in_attribute13171_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMENT_SYMBOL_in_attribute13176  */
static	ANTLR3_BITWORD FOLLOW_COMMENT_SYMBOL_in_attribute13176_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMENT_SYMBOL_in_attribute13176	= { FOLLOW_COMMENT_SYMBOL_in_attribute13176_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_attribute13178  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_attribute13178_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_attribute13178	= { FOLLOW_string_literal_in_attribute13178_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COLLATE_SYMBOL_in_attribute13183  */
static	ANTLR3_BITWORD FOLLOW_COLLATE_SYMBOL_in_attribute13183_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_COLLATE_SYMBOL_in_attribute13183	= { FOLLOW_COLLATE_SYMBOL_in_attribute13183_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_text_or_identifier_in_attribute13185  */
static	ANTLR3_BITWORD FOLLOW_text_or_identifier_in_attribute13185_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_text_or_identifier_in_attribute13185	= { FOLLOW_text_or_identifier_in_attribute13185_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COLUMN_FORMAT_SYMBOL_in_attribute13190  */
static	ANTLR3_BITWORD FOLLOW_COLUMN_FORMAT_SYMBOL_in_attribute13190_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_attribute13190	= { FOLLOW_COLUMN_FORMAT_SYMBOL_in_attribute13190_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_attribute13192  */
static	ANTLR3_BITWORD FOLLOW_set_in_attribute13192_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_attribute13192	= { FOLLOW_set_in_attribute13192_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_STORAGE_SYMBOL_in_attribute13207  */
static	ANTLR3_BITWORD FOLLOW_STORAGE_SYMBOL_in_attribute13207_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_attribute13207	= { FOLLOW_STORAGE_SYMBOL_in_attribute13207_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_attribute13209  */
static	ANTLR3_BITWORD FOLLOW_set_in_attribute13209_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_attribute13209	= { FOLLOW_set_in_attribute13209_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_REFERENCES_SYMBOL_in_reference_definition13228  */
static	ANTLR3_BITWORD FOLLOW_REFERENCES_SYMBOL_in_reference_definition13228_bits[]	= { ANTLR3_UINT64_LIT(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(0x000800000000000A) };
static  ANTLR3_BITSET_LIST FOLLOW_REFERENCES_SYMBOL_in_reference_definition13228	= { FOLLOW_REFERENCES_SYMBOL_in_reference_definition13228_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_identifier_in_reference_definition13231  */
static	ANTLR3_BITWORD FOLLOW_table_identifier_in_reference_definition13231_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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(0x0000000009000000) };
static  ANTLR3_BITSET_LIST FOLLOW_table_identifier_in_reference_definition13231	= { FOLLOW_table_identifier_in_reference_definition13231_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_reference_definition13234  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_reference_definition13234_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_reference_definition13234	= { FOLLOW_OPEN_PAR_SYMBOL_in_reference_definition13234_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_index_column_in_reference_definition13236  */
static	ANTLR3_BITWORD FOLLOW_index_column_in_reference_definition13236_bits[]	= { ANTLR3_UINT64_LIT(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_definition13236	= { FOLLOW_index_column_in_reference_definition13236_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_reference_definition13239  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_reference_definition13239_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_reference_definition13239	= { FOLLOW_COMMA_SYMBOL_in_reference_definition13239_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_index_column_in_reference_definition13241  */
static	ANTLR3_BITWORD FOLLOW_index_column_in_reference_definition13241_bits[]	= { ANTLR3_UINT64_LIT(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_definition13241	= { FOLLOW_index_column_in_reference_definition13241_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_reference_definition13245  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_reference_definition13245_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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(0x0000000001000000) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_reference_definition13245	= { FOLLOW_CLOSE_PAR_SYMBOL_in_reference_definition13245_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MATCH_SYMBOL_in_reference_definition13252  */
static	ANTLR3_BITWORD FOLLOW_MATCH_SYMBOL_in_reference_definition13252_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_definition13252	= { FOLLOW_MATCH_SYMBOL_in_reference_definition13252_bits, 4	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_reference_definition13254  */
static	ANTLR3_BITWORD FOLLOW_set_in_reference_definition13254_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_reference_definition13254	= { FOLLOW_set_in_reference_definition13254_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ON_SYMBOL_in_reference_definition13271  */
static	ANTLR3_BITWORD FOLLOW_ON_SYMBOL_in_reference_definition13271_bits[]	= { ANTLR3_UINT64_LIT(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_definition13271	= { FOLLOW_ON_SYMBOL_in_reference_definition13271_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DELETE_SYMBOL_in_reference_definition13273  */
static	ANTLR3_BITWORD FOLLOW_DELETE_SYMBOL_in_reference_definition13273_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(0x1000000000000000), ANTLR3_UINT64_LIT(0x0000000000000800) };
static  ANTLR3_BITSET_LIST FOLLOW_DELETE_SYMBOL_in_reference_definition13273	= { FOLLOW_DELETE_SYMBOL_in_reference_definition13273_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_reference_option_in_reference_definition13275  */
static	ANTLR3_BITWORD FOLLOW_reference_option_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(0x0000000001000000) };
static  ANTLR3_BITSET_LIST FOLLOW_reference_option_in_reference_definition13275	= { FOLLOW_reference_option_in_reference_definition13275_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ON_SYMBOL_in_reference_definition13282  */
static	ANTLR3_BITWORD FOLLOW_ON_SYMBOL_in_reference_definition13282_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_ON_SYMBOL_in_reference_definition13282	= { FOLLOW_ON_SYMBOL_in_reference_definition13282_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_UPDATE_SYMBOL_in_reference_definition13284  */
static	ANTLR3_BITWORD FOLLOW_UPDATE_SYMBOL_in_reference_definition13284_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(0x1000000000000000), ANTLR3_UINT64_LIT(0x0000000000000800) };
static  ANTLR3_BITSET_LIST FOLLOW_UPDATE_SYMBOL_in_reference_definition13284	= { FOLLOW_UPDATE_SYMBOL_in_reference_definition13284_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_reference_option_in_reference_definition13286  */
static	ANTLR3_BITWORD FOLLOW_reference_option_in_reference_definition13286_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_reference_option_in_reference_definition13286	= { FOLLOW_reference_option_in_reference_definition13286_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_index_columns13297  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_index_columns13297_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_index_columns13297	= { FOLLOW_OPEN_PAR_SYMBOL_in_index_columns13297_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_index_column_in_index_columns13299  */
static	ANTLR3_BITWORD FOLLOW_index_column_in_index_columns13299_bits[]	= { ANTLR3_UINT64_LIT(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_columns13299	= { FOLLOW_index_column_in_index_columns13299_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_index_columns13302  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_index_columns13302_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_index_columns13302	= { FOLLOW_COMMA_SYMBOL_in_index_columns13302_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_index_column_in_index_columns13304  */
static	ANTLR3_BITWORD FOLLOW_index_column_in_index_columns13304_bits[]	= { ANTLR3_UINT64_LIT(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_columns13304	= { FOLLOW_index_column_in_index_columns13304_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_index_columns13308  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_index_columns13308_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_index_columns13308	= { FOLLOW_CLOSE_PAR_SYMBOL_in_index_columns13308_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_index_column13317  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_index_column13317_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(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_index_column13317	= { FOLLOW_identifier_in_index_column13317_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_field_length_in_index_column13319  */
static	ANTLR3_BITWORD FOLLOW_field_length_in_index_column13319_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_column13319	= { FOLLOW_field_length_in_index_column13319_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_direction_in_index_column13322  */
static	ANTLR3_BITWORD FOLLOW_direction_in_index_column13322_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_direction_in_index_column13322	= { FOLLOW_direction_in_index_column13322_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_index_type13332  */
static	ANTLR3_BITWORD FOLLOW_set_in_index_type13332_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_type13332	= { FOLLOW_set_in_index_type13332_bits, 4	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_index_type13340  */
static	ANTLR3_BITWORD FOLLOW_set_in_index_type13340_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_index_type13340	= { FOLLOW_set_in_index_type13340_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_index_type_in_index_option13359  */
static	ANTLR3_BITWORD FOLLOW_index_type_in_index_option13359_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_index_type_in_index_option13359	= { FOLLOW_index_type_in_index_option13359_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_spatial_index_option_in_index_option13364  */
static	ANTLR3_BITWORD FOLLOW_spatial_index_option_in_index_option13364_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_spatial_index_option_in_index_option13364	= { FOLLOW_spatial_index_option_in_index_option13364_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_WITH_SYMBOL_in_fulltext_index_option13373  */
static	ANTLR3_BITWORD FOLLOW_WITH_SYMBOL_in_fulltext_index_option13373_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_option13373	= { FOLLOW_WITH_SYMBOL_in_fulltext_index_option13373_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PARSER_SYMBOL_in_fulltext_index_option13375  */
static	ANTLR3_BITWORD FOLLOW_PARSER_SYMBOL_in_fulltext_index_option13375_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_PARSER_SYMBOL_in_fulltext_index_option13375	= { FOLLOW_PARSER_SYMBOL_in_fulltext_index_option13375_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_fulltext_index_option13377  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_fulltext_index_option13377_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_fulltext_index_option13377	= { FOLLOW_identifier_in_fulltext_index_option13377_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_spatial_index_option_in_fulltext_index_option13382  */
static	ANTLR3_BITWORD FOLLOW_spatial_index_option_in_fulltext_index_option13382_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_spatial_index_option_in_fulltext_index_option13382	= { FOLLOW_spatial_index_option_in_fulltext_index_option13382_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_KEY_BLOCK_SIZE_SYMBOL_in_spatial_index_option13391  */
static	ANTLR3_BITWORD FOLLOW_KEY_BLOCK_SIZE_SYMBOL_in_spatial_index_option13391_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000001000), ANTLR3_UINT64_LIT(0x0000000000000004) };
static  ANTLR3_BITSET_LIST FOLLOW_KEY_BLOCK_SIZE_SYMBOL_in_spatial_index_option13391	= { FOLLOW_KEY_BLOCK_SIZE_SYMBOL_in_spatial_index_option13391_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_spatial_index_option13393  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_spatial_index_option13393_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000004) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_spatial_index_option13393	= { FOLLOW_EQUAL_OPERATOR_in_spatial_index_option13393_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_spatial_index_option13396  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_spatial_index_option13396_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_INTEGER_in_spatial_index_option13396	= { FOLLOW_INTEGER_in_spatial_index_option13396_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMENT_SYMBOL_in_spatial_index_option13405  */
static	ANTLR3_BITWORD FOLLOW_COMMENT_SYMBOL_in_spatial_index_option13405_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMENT_SYMBOL_in_spatial_index_option13405	= { FOLLOW_COMMENT_SYMBOL_in_spatial_index_option13405_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_spatial_index_option13407  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_spatial_index_option13407_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_spatial_index_option13407	= { FOLLOW_string_literal_in_spatial_index_option13407_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_RESTRICT_SYMBOL_in_reference_option13416  */
static	ANTLR3_BITWORD FOLLOW_RESTRICT_SYMBOL_in_reference_option13416_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_RESTRICT_SYMBOL_in_reference_option13416	= { FOLLOW_RESTRICT_SYMBOL_in_reference_option13416_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CASCADE_SYMBOL_in_reference_option13420  */
static	ANTLR3_BITWORD FOLLOW_CASCADE_SYMBOL_in_reference_option13420_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CASCADE_SYMBOL_in_reference_option13420	= { FOLLOW_CASCADE_SYMBOL_in_reference_option13420_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SET_SYMBOL_in_reference_option13424  */
static	ANTLR3_BITWORD FOLLOW_SET_SYMBOL_in_reference_option13424_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000050000) };
static  ANTLR3_BITSET_LIST FOLLOW_SET_SYMBOL_in_reference_option13424	= { FOLLOW_SET_SYMBOL_in_reference_option13424_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_null_literal_in_reference_option13426  */
static	ANTLR3_BITWORD FOLLOW_null_literal_in_reference_option13426_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_null_literal_in_reference_option13426	= { FOLLOW_null_literal_in_reference_option13426_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_NO_SYMBOL_in_reference_option13430  */
static	ANTLR3_BITWORD FOLLOW_NO_SYMBOL_in_reference_option13430_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_NO_SYMBOL_in_reference_option13430	= { FOLLOW_NO_SYMBOL_in_reference_option13430_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ACTION_SYMBOL_in_reference_option13432  */
static	ANTLR3_BITWORD FOLLOW_ACTION_SYMBOL_in_reference_option13432_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_ACTION_SYMBOL_in_reference_option13432	= { FOLLOW_ACTION_SYMBOL_in_reference_option13432_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_data_type_elements_in_data_type13441  */
static	ANTLR3_BITWORD FOLLOW_data_type_elements_in_data_type13441_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_data_type_elements_in_data_type13441	= { FOLLOW_data_type_elements_in_data_type13441_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_integer_type_in_data_type_elements13458  */
static	ANTLR3_BITWORD FOLLOW_integer_type_in_data_type_elements13458_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(0x0000000008000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000020000000200) };
static  ANTLR3_BITSET_LIST FOLLOW_integer_type_in_data_type_elements13458	= { FOLLOW_integer_type_in_data_type_elements13458_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_field_length_in_data_type_elements13460  */
static	ANTLR3_BITWORD FOLLOW_field_length_in_data_type_elements13460_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(0x0000020000000200) };
static  ANTLR3_BITSET_LIST FOLLOW_field_length_in_data_type_elements13460	= { FOLLOW_field_length_in_data_type_elements13460_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_field_options_in_data_type_elements13463  */
static	ANTLR3_BITWORD FOLLOW_field_options_in_data_type_elements13463_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_field_options_in_data_type_elements13463	= { FOLLOW_field_options_in_data_type_elements13463_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_real_literal_in_data_type_elements13470  */
static	ANTLR3_BITWORD FOLLOW_real_literal_in_data_type_elements13470_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(0x0000000008000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000020000000200) };
static  ANTLR3_BITSET_LIST FOLLOW_real_literal_in_data_type_elements13470	= { FOLLOW_real_literal_in_data_type_elements13470_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_precision_in_data_type_elements13472  */
static	ANTLR3_BITWORD FOLLOW_precision_in_data_type_elements13472_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(0x0000020000000200) };
static  ANTLR3_BITSET_LIST FOLLOW_precision_in_data_type_elements13472	= { FOLLOW_precision_in_data_type_elements13472_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_field_options_in_data_type_elements13475  */
static	ANTLR3_BITWORD FOLLOW_field_options_in_data_type_elements13475_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_field_options_in_data_type_elements13475	= { FOLLOW_field_options_in_data_type_elements13475_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FLOAT_SYMBOL_in_data_type_elements13481  */
static	ANTLR3_BITWORD FOLLOW_FLOAT_SYMBOL_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(0x0000000008000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000020000000200) };
static  ANTLR3_BITSET_LIST FOLLOW_FLOAT_SYMBOL_in_data_type_elements13481	= { FOLLOW_FLOAT_SYMBOL_in_data_type_elements13481_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_float_options_in_data_type_elements13483  */
static	ANTLR3_BITWORD FOLLOW_float_options_in_data_type_elements13483_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(0x0000020000000200) };
static  ANTLR3_BITSET_LIST FOLLOW_float_options_in_data_type_elements13483	= { FOLLOW_float_options_in_data_type_elements13483_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_field_options_in_data_type_elements13486  */
static	ANTLR3_BITWORD FOLLOW_field_options_in_data_type_elements13486_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_field_options_in_data_type_elements13486	= { FOLLOW_field_options_in_data_type_elements13486_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BIT_SYMBOL_in_data_type_elements13494  */
static	ANTLR3_BITWORD FOLLOW_BIT_SYMBOL_in_data_type_elements13494_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_BIT_SYMBOL_in_data_type_elements13494	= { FOLLOW_BIT_SYMBOL_in_data_type_elements13494_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_field_length_in_data_type_elements13496  */
static	ANTLR3_BITWORD FOLLOW_field_length_in_data_type_elements13496_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_field_length_in_data_type_elements13496	= { FOLLOW_field_length_in_data_type_elements13496_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BOOL_SYMBOL_in_data_type_elements13502  */
static	ANTLR3_BITWORD FOLLOW_BOOL_SYMBOL_in_data_type_elements13502_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_BOOL_SYMBOL_in_data_type_elements13502	= { FOLLOW_BOOL_SYMBOL_in_data_type_elements13502_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BOOLEAN_SYMBOL_in_data_type_elements13507  */
static	ANTLR3_BITWORD FOLLOW_BOOLEAN_SYMBOL_in_data_type_elements13507_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_BOOLEAN_SYMBOL_in_data_type_elements13507	= { FOLLOW_BOOLEAN_SYMBOL_in_data_type_elements13507_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CHAR_SYMBOL_in_data_type_elements13514  */
static	ANTLR3_BITWORD FOLLOW_CHAR_SYMBOL_in_data_type_elements13514_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(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_CHAR_SYMBOL_in_data_type_elements13514	= { FOLLOW_CHAR_SYMBOL_in_data_type_elements13514_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_field_length_in_data_type_elements13516  */
static	ANTLR3_BITWORD FOLLOW_field_length_in_data_type_elements13516_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_elements13516	= { FOLLOW_field_length_in_data_type_elements13516_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_binary_in_data_type_elements13519  */
static	ANTLR3_BITWORD FOLLOW_string_binary_in_data_type_elements13519_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_binary_in_data_type_elements13519	= { FOLLOW_string_binary_in_data_type_elements13519_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_nchar_literal_in_data_type_elements13525  */
static	ANTLR3_BITWORD FOLLOW_nchar_literal_in_data_type_elements13525_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(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_nchar_literal_in_data_type_elements13525	= { FOLLOW_nchar_literal_in_data_type_elements13525_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_field_length_in_data_type_elements13527  */
static	ANTLR3_BITWORD FOLLOW_field_length_in_data_type_elements13527_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_elements13527	= { FOLLOW_field_length_in_data_type_elements13527_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BINARY_SYMBOL_in_data_type_elements13530  */
static	ANTLR3_BITWORD FOLLOW_BINARY_SYMBOL_in_data_type_elements13530_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_BINARY_SYMBOL_in_data_type_elements13530	= { FOLLOW_BINARY_SYMBOL_in_data_type_elements13530_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BINARY_SYMBOL_in_data_type_elements13536  */
static	ANTLR3_BITWORD FOLLOW_BINARY_SYMBOL_in_data_type_elements13536_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_BINARY_SYMBOL_in_data_type_elements13536	= { FOLLOW_BINARY_SYMBOL_in_data_type_elements13536_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_field_length_in_data_type_elements13538  */
static	ANTLR3_BITWORD FOLLOW_field_length_in_data_type_elements13538_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_field_length_in_data_type_elements13538	= { FOLLOW_field_length_in_data_type_elements13538_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_varchar_literal_in_data_type_elements13544  */
static	ANTLR3_BITWORD FOLLOW_varchar_literal_in_data_type_elements13544_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_varchar_literal_in_data_type_elements13544	= { FOLLOW_varchar_literal_in_data_type_elements13544_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_field_length_in_data_type_elements13546  */
static	ANTLR3_BITWORD FOLLOW_field_length_in_data_type_elements13546_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_elements13546	= { FOLLOW_field_length_in_data_type_elements13546_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_binary_in_data_type_elements13548  */
static	ANTLR3_BITWORD FOLLOW_string_binary_in_data_type_elements13548_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_binary_in_data_type_elements13548	= { FOLLOW_string_binary_in_data_type_elements13548_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_nvarchar_literal_in_data_type_elements13554  */
static	ANTLR3_BITWORD FOLLOW_nvarchar_literal_in_data_type_elements13554_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_nvarchar_literal_in_data_type_elements13554	= { FOLLOW_nvarchar_literal_in_data_type_elements13554_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_field_length_in_data_type_elements13556  */
static	ANTLR3_BITWORD FOLLOW_field_length_in_data_type_elements13556_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_elements13556	= { FOLLOW_field_length_in_data_type_elements13556_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_binary_in_data_type_elements13558  */
static	ANTLR3_BITWORD FOLLOW_string_binary_in_data_type_elements13558_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_binary_in_data_type_elements13558	= { FOLLOW_string_binary_in_data_type_elements13558_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_VARBINARY_SYMBOL_in_data_type_elements13565  */
static	ANTLR3_BITWORD FOLLOW_VARBINARY_SYMBOL_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(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_VARBINARY_SYMBOL_in_data_type_elements13565	= { FOLLOW_VARBINARY_SYMBOL_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) };
static  ANTLR3_BITSET_LIST FOLLOW_field_length_in_data_type_elements13567	= { FOLLOW_field_length_in_data_type_elements13567_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_YEAR_SYMBOL_in_data_type_elements13573  */
static	ANTLR3_BITWORD FOLLOW_YEAR_SYMBOL_in_data_type_elements13573_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(0x0000000008000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000020000000200) };
static  ANTLR3_BITSET_LIST FOLLOW_YEAR_SYMBOL_in_data_type_elements13573	= { FOLLOW_YEAR_SYMBOL_in_data_type_elements13573_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_field_length_in_data_type_elements13575  */
static	ANTLR3_BITWORD FOLLOW_field_length_in_data_type_elements13575_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(0x0000020000000200) };
static  ANTLR3_BITSET_LIST FOLLOW_field_length_in_data_type_elements13575	= { FOLLOW_field_length_in_data_type_elements13575_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_field_options_in_data_type_elements13578  */
static	ANTLR3_BITWORD FOLLOW_field_options_in_data_type_elements13578_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_field_options_in_data_type_elements13578	= { FOLLOW_field_options_in_data_type_elements13578_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DATE_SYMBOL_in_data_type_elements13584  */
static	ANTLR3_BITWORD FOLLOW_DATE_SYMBOL_in_data_type_elements13584_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_DATE_SYMBOL_in_data_type_elements13584	= { FOLLOW_DATE_SYMBOL_in_data_type_elements13584_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TIME_SYMBOL_in_data_type_elements13589  */
static	ANTLR3_BITWORD FOLLOW_TIME_SYMBOL_in_data_type_elements13589_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_TIME_SYMBOL_in_data_type_elements13589	= { FOLLOW_TIME_SYMBOL_in_data_type_elements13589_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_type_datetime_precision_in_data_type_elements13591  */
static	ANTLR3_BITWORD FOLLOW_type_datetime_precision_in_data_type_elements13591_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_type_datetime_precision_in_data_type_elements13591	= { FOLLOW_type_datetime_precision_in_data_type_elements13591_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TIMESTAMP_SYMBOL_in_data_type_elements13597  */
static	ANTLR3_BITWORD FOLLOW_TIMESTAMP_SYMBOL_in_data_type_elements13597_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_TIMESTAMP_SYMBOL_in_data_type_elements13597	= { FOLLOW_TIMESTAMP_SYMBOL_in_data_type_elements13597_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_type_datetime_precision_in_data_type_elements13599  */
static	ANTLR3_BITWORD FOLLOW_type_datetime_precision_in_data_type_elements13599_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_type_datetime_precision_in_data_type_elements13599	= { FOLLOW_type_datetime_precision_in_data_type_elements13599_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DATETIME_SYMBOL_in_data_type_elements13605  */
static	ANTLR3_BITWORD FOLLOW_DATETIME_SYMBOL_in_data_type_elements13605_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_DATETIME_SYMBOL_in_data_type_elements13605	= { FOLLOW_DATETIME_SYMBOL_in_data_type_elements13605_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_type_datetime_precision_in_data_type_elements13607  */
static	ANTLR3_BITWORD FOLLOW_type_datetime_precision_in_data_type_elements13607_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_type_datetime_precision_in_data_type_elements13607	= { FOLLOW_type_datetime_precision_in_data_type_elements13607_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TINYBLOB_SYMBOL_in_data_type_elements13614  */
static	ANTLR3_BITWORD FOLLOW_TINYBLOB_SYMBOL_in_data_type_elements13614_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_TINYBLOB_SYMBOL_in_data_type_elements13614	= { FOLLOW_TINYBLOB_SYMBOL_in_data_type_elements13614_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BLOB_SYMBOL_in_data_type_elements13619  */
static	ANTLR3_BITWORD FOLLOW_BLOB_SYMBOL_in_data_type_elements13619_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_BLOB_SYMBOL_in_data_type_elements13619	= { FOLLOW_BLOB_SYMBOL_in_data_type_elements13619_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_field_length_in_data_type_elements13621  */
static	ANTLR3_BITWORD FOLLOW_field_length_in_data_type_elements13621_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_field_length_in_data_type_elements13621	= { FOLLOW_field_length_in_data_type_elements13621_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MEDIUMBLOB_SYMBOL_in_data_type_elements13627  */
static	ANTLR3_BITWORD FOLLOW_MEDIUMBLOB_SYMBOL_in_data_type_elements13627_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_MEDIUMBLOB_SYMBOL_in_data_type_elements13627	= { FOLLOW_MEDIUMBLOB_SYMBOL_in_data_type_elements13627_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_LONGBLOB_SYMBOL_in_data_type_elements13632  */
static	ANTLR3_BITWORD FOLLOW_LONGBLOB_SYMBOL_in_data_type_elements13632_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_LONGBLOB_SYMBOL_in_data_type_elements13632	= { FOLLOW_LONGBLOB_SYMBOL_in_data_type_elements13632_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_LONG_SYMBOL_in_data_type_elements13637  */
static	ANTLR3_BITWORD FOLLOW_LONG_SYMBOL_in_data_type_elements13637_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_LONG_SYMBOL_in_data_type_elements13637	= { FOLLOW_LONG_SYMBOL_in_data_type_elements13637_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_VARBINARY_SYMBOL_in_data_type_elements13639  */
static	ANTLR3_BITWORD FOLLOW_VARBINARY_SYMBOL_in_data_type_elements13639_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_VARBINARY_SYMBOL_in_data_type_elements13639	= { FOLLOW_VARBINARY_SYMBOL_in_data_type_elements13639_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_LONG_SYMBOL_in_data_type_elements13644  */
static	ANTLR3_BITWORD FOLLOW_LONG_SYMBOL_in_data_type_elements13644_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(0x0000000000100000) };
static  ANTLR3_BITSET_LIST FOLLOW_LONG_SYMBOL_in_data_type_elements13644	= { FOLLOW_LONG_SYMBOL_in_data_type_elements13644_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_varchar_literal_in_data_type_elements13646  */
static	ANTLR3_BITWORD FOLLOW_varchar_literal_in_data_type_elements13646_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_elements13646	= { FOLLOW_varchar_literal_in_data_type_elements13646_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_binary_in_data_type_elements13649  */
static	ANTLR3_BITWORD FOLLOW_string_binary_in_data_type_elements13649_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_binary_in_data_type_elements13649	= { FOLLOW_string_binary_in_data_type_elements13649_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TINYTEXT_SYMBOL_in_data_type_elements13656  */
static	ANTLR3_BITWORD FOLLOW_TINYTEXT_SYMBOL_in_data_type_elements13656_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_elements13656	= { FOLLOW_TINYTEXT_SYMBOL_in_data_type_elements13656_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_binary_in_data_type_elements13658  */
static	ANTLR3_BITWORD FOLLOW_string_binary_in_data_type_elements13658_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_binary_in_data_type_elements13658	= { FOLLOW_string_binary_in_data_type_elements13658_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TEXT_SYMBOL_in_data_type_elements13664  */
static	ANTLR3_BITWORD FOLLOW_TEXT_SYMBOL_in_data_type_elements13664_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(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_TEXT_SYMBOL_in_data_type_elements13664	= { FOLLOW_TEXT_SYMBOL_in_data_type_elements13664_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_field_length_in_data_type_elements13666  */
static	ANTLR3_BITWORD FOLLOW_field_length_in_data_type_elements13666_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_elements13666	= { FOLLOW_field_length_in_data_type_elements13666_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_binary_in_data_type_elements13669  */
static	ANTLR3_BITWORD FOLLOW_string_binary_in_data_type_elements13669_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_binary_in_data_type_elements13669	= { FOLLOW_string_binary_in_data_type_elements13669_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MEDIUMTEXT_SYMBOL_in_data_type_elements13675  */
static	ANTLR3_BITWORD FOLLOW_MEDIUMTEXT_SYMBOL_in_data_type_elements13675_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_elements13675	= { FOLLOW_MEDIUMTEXT_SYMBOL_in_data_type_elements13675_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_binary_in_data_type_elements13677  */
static	ANTLR3_BITWORD FOLLOW_string_binary_in_data_type_elements13677_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_binary_in_data_type_elements13677	= { FOLLOW_string_binary_in_data_type_elements13677_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_LONGTEXT_SYMBOL_in_data_type_elements13683  */
static	ANTLR3_BITWORD FOLLOW_LONGTEXT_SYMBOL_in_data_type_elements13683_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_elements13683	= { FOLLOW_LONGTEXT_SYMBOL_in_data_type_elements13683_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_binary_in_data_type_elements13685  */
static	ANTLR3_BITWORD FOLLOW_string_binary_in_data_type_elements13685_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_binary_in_data_type_elements13685	= { FOLLOW_string_binary_in_data_type_elements13685_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DECIMAL_SYMBOL_in_data_type_elements13693  */
static	ANTLR3_BITWORD FOLLOW_DECIMAL_SYMBOL_in_data_type_elements13693_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(0x0000000008000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000020000000200) };
static  ANTLR3_BITSET_LIST FOLLOW_DECIMAL_SYMBOL_in_data_type_elements13693	= { FOLLOW_DECIMAL_SYMBOL_in_data_type_elements13693_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_float_options_in_data_type_elements13695  */
static	ANTLR3_BITWORD FOLLOW_float_options_in_data_type_elements13695_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(0x0000020000000200) };
static  ANTLR3_BITSET_LIST FOLLOW_float_options_in_data_type_elements13695	= { FOLLOW_float_options_in_data_type_elements13695_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_field_options_in_data_type_elements13698  */
static	ANTLR3_BITWORD FOLLOW_field_options_in_data_type_elements13698_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_field_options_in_data_type_elements13698	= { FOLLOW_field_options_in_data_type_elements13698_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_NUMERIC_SYMBOL_in_data_type_elements13704  */
static	ANTLR3_BITWORD FOLLOW_NUMERIC_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(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000800000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000020000000200) };
static  ANTLR3_BITSET_LIST FOLLOW_NUMERIC_SYMBOL_in_data_type_elements13704	= { FOLLOW_NUMERIC_SYMBOL_in_data_type_elements13704_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_float_options_in_data_type_elements13706  */
static	ANTLR3_BITWORD FOLLOW_float_options_in_data_type_elements13706_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(0x0000020000000200) };
static  ANTLR3_BITSET_LIST FOLLOW_float_options_in_data_type_elements13706	= { FOLLOW_float_options_in_data_type_elements13706_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_field_options_in_data_type_elements13709  */
static	ANTLR3_BITWORD FOLLOW_field_options_in_data_type_elements13709_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_field_options_in_data_type_elements13709	= { FOLLOW_field_options_in_data_type_elements13709_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_FIXED_SYMBOL_in_data_type_elements13715  */
static	ANTLR3_BITWORD FOLLOW_FIXED_SYMBOL_in_data_type_elements13715_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(0x0000000008000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000020000000200) };
static  ANTLR3_BITSET_LIST FOLLOW_FIXED_SYMBOL_in_data_type_elements13715	= { FOLLOW_FIXED_SYMBOL_in_data_type_elements13715_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_float_options_in_data_type_elements13717  */
static	ANTLR3_BITWORD FOLLOW_float_options_in_data_type_elements13717_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(0x0000020000000200) };
static  ANTLR3_BITSET_LIST FOLLOW_float_options_in_data_type_elements13717	= { FOLLOW_float_options_in_data_type_elements13717_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_field_options_in_data_type_elements13720  */
static	ANTLR3_BITWORD FOLLOW_field_options_in_data_type_elements13720_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_field_options_in_data_type_elements13720	= { FOLLOW_field_options_in_data_type_elements13720_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ENUM_SYMBOL_in_data_type_elements13728  */
static	ANTLR3_BITWORD FOLLOW_ENUM_SYMBOL_in_data_type_elements13728_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_ENUM_SYMBOL_in_data_type_elements13728	= { FOLLOW_ENUM_SYMBOL_in_data_type_elements13728_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_list_in_data_type_elements13730  */
static	ANTLR3_BITWORD FOLLOW_string_list_in_data_type_elements13730_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_elements13730	= { FOLLOW_string_list_in_data_type_elements13730_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_binary_in_data_type_elements13732  */
static	ANTLR3_BITWORD FOLLOW_string_binary_in_data_type_elements13732_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_binary_in_data_type_elements13732	= { FOLLOW_string_binary_in_data_type_elements13732_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SET_SYMBOL_in_data_type_elements13738  */
static	ANTLR3_BITWORD FOLLOW_SET_SYMBOL_in_data_type_elements13738_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_SET_SYMBOL_in_data_type_elements13738	= { FOLLOW_SET_SYMBOL_in_data_type_elements13738_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_list_in_data_type_elements13740  */
static	ANTLR3_BITWORD FOLLOW_string_list_in_data_type_elements13740_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_elements13740	= { FOLLOW_string_list_in_data_type_elements13740_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_binary_in_data_type_elements13742  */
static	ANTLR3_BITWORD FOLLOW_string_binary_in_data_type_elements13742_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_binary_in_data_type_elements13742	= { FOLLOW_string_binary_in_data_type_elements13742_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SERIAL_SYMBOL_in_data_type_elements13748  */
static	ANTLR3_BITWORD FOLLOW_SERIAL_SYMBOL_in_data_type_elements13748_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_SERIAL_SYMBOL_in_data_type_elements13748	= { FOLLOW_SERIAL_SYMBOL_in_data_type_elements13748_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_spatial_type_in_data_type_elements13753  */
static	ANTLR3_BITWORD FOLLOW_spatial_type_in_data_type_elements13753_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_spatial_type_in_data_type_elements13753	= { FOLLOW_spatial_type_in_data_type_elements13753_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_field_length13762  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_field_length13762_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000004) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_field_length13762	= { FOLLOW_OPEN_PAR_SYMBOL_in_field_length13762_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_field_length13764  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_field_length13764_bits[]	= { ANTLR3_UINT64_LIT(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_length13764	= { FOLLOW_INTEGER_in_field_length13764_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_field_length13766  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_field_length13766_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_field_length13766	= { FOLLOW_CLOSE_PAR_SYMBOL_in_field_length13766_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ascii_in_string_binary13795  */
static	ANTLR3_BITWORD FOLLOW_ascii_in_string_binary13795_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_ascii_in_string_binary13795	= { FOLLOW_ascii_in_string_binary13795_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_unicode_in_string_binary13800  */
static	ANTLR3_BITWORD FOLLOW_unicode_in_string_binary13800_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_unicode_in_string_binary13800	= { FOLLOW_unicode_in_string_binary13800_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BYTE_SYMBOL_in_string_binary13805  */
static	ANTLR3_BITWORD FOLLOW_BYTE_SYMBOL_in_string_binary13805_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_BYTE_SYMBOL_in_string_binary13805	= { FOLLOW_BYTE_SYMBOL_in_string_binary13805_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_charset_in_string_binary13810  */
static	ANTLR3_BITWORD FOLLOW_charset_in_string_binary13810_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(0x0008000000000008), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_charset_in_string_binary13810	= { FOLLOW_charset_in_string_binary13810_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_charset_name_in_string_binary13812  */
static	ANTLR3_BITWORD FOLLOW_charset_name_in_string_binary13812_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_binary13812	= { FOLLOW_charset_name_in_string_binary13812_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BINARY_SYMBOL_in_string_binary13814  */
static	ANTLR3_BITWORD FOLLOW_BINARY_SYMBOL_in_string_binary13814_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_BINARY_SYMBOL_in_string_binary13814	= { FOLLOW_BINARY_SYMBOL_in_string_binary13814_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BINARY_SYMBOL_in_string_binary13820  */
static	ANTLR3_BITWORD FOLLOW_BINARY_SYMBOL_in_string_binary13820_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_binary13820	= { FOLLOW_BINARY_SYMBOL_in_string_binary13820_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_charset_in_string_binary13823  */
static	ANTLR3_BITWORD FOLLOW_charset_in_string_binary13823_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(0x0008000000000008), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_charset_in_string_binary13823	= { FOLLOW_charset_in_string_binary13823_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_charset_name_in_string_binary13825  */
static	ANTLR3_BITWORD FOLLOW_charset_name_in_string_binary13825_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_charset_name_in_string_binary13825	= { FOLLOW_charset_name_in_string_binary13825_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ASCII_SYMBOL_in_ascii13836  */
static	ANTLR3_BITWORD FOLLOW_ASCII_SYMBOL_in_ascii13836_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_ascii13836	= { FOLLOW_ASCII_SYMBOL_in_ascii13836_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BINARY_SYMBOL_in_ascii13838  */
static	ANTLR3_BITWORD FOLLOW_BINARY_SYMBOL_in_ascii13838_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_BINARY_SYMBOL_in_ascii13838	= { FOLLOW_BINARY_SYMBOL_in_ascii13838_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BINARY_SYMBOL_in_ascii13848  */
static	ANTLR3_BITWORD FOLLOW_BINARY_SYMBOL_in_ascii13848_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_ascii13848	= { FOLLOW_BINARY_SYMBOL_in_ascii13848_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ASCII_SYMBOL_in_ascii13850  */
static	ANTLR3_BITWORD FOLLOW_ASCII_SYMBOL_in_ascii13850_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_ASCII_SYMBOL_in_ascii13850	= { FOLLOW_ASCII_SYMBOL_in_ascii13850_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_UNICODE_SYMBOL_in_unicode13859  */
static	ANTLR3_BITWORD FOLLOW_UNICODE_SYMBOL_in_unicode13859_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_unicode13859	= { FOLLOW_UNICODE_SYMBOL_in_unicode13859_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BINARY_SYMBOL_in_unicode13861  */
static	ANTLR3_BITWORD FOLLOW_BINARY_SYMBOL_in_unicode13861_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_BINARY_SYMBOL_in_unicode13861	= { FOLLOW_BINARY_SYMBOL_in_unicode13861_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BINARY_SYMBOL_in_unicode13871  */
static	ANTLR3_BITWORD FOLLOW_BINARY_SYMBOL_in_unicode13871_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_unicode13871	= { FOLLOW_BINARY_SYMBOL_in_unicode13871_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_UNICODE_SYMBOL_in_unicode13873  */
static	ANTLR3_BITWORD FOLLOW_UNICODE_SYMBOL_in_unicode13873_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_UNICODE_SYMBOL_in_unicode13873	= { FOLLOW_UNICODE_SYMBOL_in_unicode13873_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_type_datetime_precision13886  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_type_datetime_precision13886_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000004) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_type_datetime_precision13886	= { FOLLOW_OPEN_PAR_SYMBOL_in_type_datetime_precision13886_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_type_datetime_precision13888  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_type_datetime_precision13888_bits[]	= { ANTLR3_UINT64_LIT(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_precision13888	= { FOLLOW_INTEGER_in_type_datetime_precision13888_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_type_datetime_precision13890  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_type_datetime_precision13890_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_type_datetime_precision13890	= { FOLLOW_CLOSE_PAR_SYMBOL_in_type_datetime_precision13890_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_text_or_identifier_in_charset_name13899  */
static	ANTLR3_BITWORD FOLLOW_text_or_identifier_in_charset_name13899_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_text_or_identifier_in_charset_name13899	= { FOLLOW_text_or_identifier_in_charset_name13899_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BINARY_SYMBOL_in_charset_name13904  */
static	ANTLR3_BITWORD FOLLOW_BINARY_SYMBOL_in_charset_name13904_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_BINARY_SYMBOL_in_charset_name13904	= { FOLLOW_BINARY_SYMBOL_in_charset_name13904_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_charset_name_in_charset_name_or_default13913  */
static	ANTLR3_BITWORD FOLLOW_charset_name_in_charset_name_or_default13913_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_charset_name_in_charset_name_or_default13913	= { FOLLOW_charset_name_in_charset_name_or_default13913_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DEFAULT_SYMBOL_in_charset_name_or_default13918  */
static	ANTLR3_BITWORD FOLLOW_DEFAULT_SYMBOL_in_charset_name_or_default13918_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_DEFAULT_SYMBOL_in_charset_name_or_default13918	= { FOLLOW_DEFAULT_SYMBOL_in_charset_name_or_default13918_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_text_or_identifier_in_collation_name_or_default13927  */
static	ANTLR3_BITWORD FOLLOW_text_or_identifier_in_collation_name_or_default13927_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_text_or_identifier_in_collation_name_or_default13927	= { FOLLOW_text_or_identifier_in_collation_name_or_default13927_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DEFAULT_SYMBOL_in_collation_name_or_default13932  */
static	ANTLR3_BITWORD FOLLOW_DEFAULT_SYMBOL_in_collation_name_or_default13932_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_DEFAULT_SYMBOL_in_collation_name_or_default13932	= { FOLLOW_DEFAULT_SYMBOL_in_collation_name_or_default13932_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_create_table_option_in_alter_table_options13985  */
static	ANTLR3_BITWORD FOLLOW_create_table_option_in_alter_table_options13985_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(0x0080000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000040) };
static  ANTLR3_BITSET_LIST FOLLOW_create_table_option_in_alter_table_options13985	= { FOLLOW_create_table_option_in_alter_table_options13985_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_create_table_option_in_create_table_options13995  */
static	ANTLR3_BITWORD FOLLOW_create_table_option_in_create_table_options13995_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(0x0080000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000040) };
static  ANTLR3_BITSET_LIST FOLLOW_create_table_option_in_create_table_options13995	= { FOLLOW_create_table_option_in_create_table_options13995_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_create_table_options13998  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_create_table_options13998_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(0x0080000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000040) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_create_table_options13998	= { FOLLOW_COMMA_SYMBOL_in_create_table_options13998_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_create_table_option_in_create_table_options14001  */
static	ANTLR3_BITWORD FOLLOW_create_table_option_in_create_table_options14001_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(0x0080000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000040) };
static  ANTLR3_BITSET_LIST FOLLOW_create_table_option_in_create_table_options14001	= { FOLLOW_create_table_option_in_create_table_options14001_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ENGINE_SYMBOL_in_create_table_option14014  */
static	ANTLR3_BITWORD FOLLOW_ENGINE_SYMBOL_in_create_table_option14014_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000001008), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_ENGINE_SYMBOL_in_create_table_option14014	= { FOLLOW_ENGINE_SYMBOL_in_create_table_option14014_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TYPE_SYMBOL_in_create_table_option14022  */
static	ANTLR3_BITWORD FOLLOW_TYPE_SYMBOL_in_create_table_option14022_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000001008), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_TYPE_SYMBOL_in_create_table_option14022	= { FOLLOW_TYPE_SYMBOL_in_create_table_option14022_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_create_table_option14025  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_create_table_option14025_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_create_table_option14025	= { FOLLOW_EQUAL_OPERATOR_in_create_table_option14025_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_text_or_identifier_in_create_table_option14028  */
static	ANTLR3_BITWORD FOLLOW_text_or_identifier_in_create_table_option14028_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_text_or_identifier_in_create_table_option14028	= { FOLLOW_text_or_identifier_in_create_table_option14028_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MAX_ROWS_SYMBOL_in_create_table_option14033  */
static	ANTLR3_BITWORD FOLLOW_MAX_ROWS_SYMBOL_in_create_table_option14033_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000001000), ANTLR3_UINT64_LIT(0x0000000000000004), ANTLR3_UINT64_LIT(0x0000001000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_MAX_ROWS_SYMBOL_in_create_table_option14033	= { FOLLOW_MAX_ROWS_SYMBOL_in_create_table_option14033_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_create_table_option14035  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_create_table_option14035_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000004), ANTLR3_UINT64_LIT(0x0000001000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_create_table_option14035	= { FOLLOW_EQUAL_OPERATOR_in_create_table_option14035_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_int_or_param_marker_in_create_table_option14038  */
static	ANTLR3_BITWORD FOLLOW_int_or_param_marker_in_create_table_option14038_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_int_or_param_marker_in_create_table_option14038	= { FOLLOW_int_or_param_marker_in_create_table_option14038_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MIN_ROWS_SYMBOL_in_create_table_option14043  */
static	ANTLR3_BITWORD FOLLOW_MIN_ROWS_SYMBOL_in_create_table_option14043_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000001000), ANTLR3_UINT64_LIT(0x0000000000000004), ANTLR3_UINT64_LIT(0x0000001000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_MIN_ROWS_SYMBOL_in_create_table_option14043	= { FOLLOW_MIN_ROWS_SYMBOL_in_create_table_option14043_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_create_table_option14045  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_create_table_option14045_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000004), ANTLR3_UINT64_LIT(0x0000001000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_create_table_option14045	= { FOLLOW_EQUAL_OPERATOR_in_create_table_option14045_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_int_or_param_marker_in_create_table_option14048  */
static	ANTLR3_BITWORD FOLLOW_int_or_param_marker_in_create_table_option14048_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_int_or_param_marker_in_create_table_option14048	= { FOLLOW_int_or_param_marker_in_create_table_option14048_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_AVG_ROW_LENGTH_SYMBOL_in_create_table_option14053  */
static	ANTLR3_BITWORD FOLLOW_AVG_ROW_LENGTH_SYMBOL_in_create_table_option14053_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000001000), ANTLR3_UINT64_LIT(0x0000000000000004), ANTLR3_UINT64_LIT(0x0000001000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_AVG_ROW_LENGTH_SYMBOL_in_create_table_option14053	= { FOLLOW_AVG_ROW_LENGTH_SYMBOL_in_create_table_option14053_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_create_table_option14055  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_create_table_option14055_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000004), ANTLR3_UINT64_LIT(0x0000001000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_create_table_option14055	= { FOLLOW_EQUAL_OPERATOR_in_create_table_option14055_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_int_or_param_marker_in_create_table_option14058  */
static	ANTLR3_BITWORD FOLLOW_int_or_param_marker_in_create_table_option14058_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_int_or_param_marker_in_create_table_option14058	= { FOLLOW_int_or_param_marker_in_create_table_option14058_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PASSWORD_SYMBOL_in_create_table_option14063  */
static	ANTLR3_BITWORD FOLLOW_PASSWORD_SYMBOL_in_create_table_option14063_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000001008), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000001000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_PASSWORD_SYMBOL_in_create_table_option14063	= { FOLLOW_PASSWORD_SYMBOL_in_create_table_option14063_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_create_table_option14065  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_create_table_option14065_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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(0x0000001000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_create_table_option14065	= { FOLLOW_EQUAL_OPERATOR_in_create_table_option14065_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_text_or_param_marker_in_create_table_option14068  */
static	ANTLR3_BITWORD FOLLOW_text_or_param_marker_in_create_table_option14068_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_text_or_param_marker_in_create_table_option14068	= { FOLLOW_text_or_param_marker_in_create_table_option14068_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMENT_SYMBOL_in_create_table_option14073  */
static	ANTLR3_BITWORD FOLLOW_COMMENT_SYMBOL_in_create_table_option14073_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000001008), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000001000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMENT_SYMBOL_in_create_table_option14073	= { FOLLOW_COMMENT_SYMBOL_in_create_table_option14073_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_create_table_option14075  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_create_table_option14075_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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(0x0000001000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_create_table_option14075	= { FOLLOW_EQUAL_OPERATOR_in_create_table_option14075_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_text_or_param_marker_in_create_table_option14078  */
static	ANTLR3_BITWORD FOLLOW_text_or_param_marker_in_create_table_option14078_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_text_or_param_marker_in_create_table_option14078	= { FOLLOW_text_or_param_marker_in_create_table_option14078_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_AUTO_INCREMENT_SYMBOL_in_create_table_option14083  */
static	ANTLR3_BITWORD FOLLOW_AUTO_INCREMENT_SYMBOL_in_create_table_option14083_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000001000), ANTLR3_UINT64_LIT(0x0000000000000004), ANTLR3_UINT64_LIT(0x0000001000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_AUTO_INCREMENT_SYMBOL_in_create_table_option14083	= { FOLLOW_AUTO_INCREMENT_SYMBOL_in_create_table_option14083_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_create_table_option14085  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_create_table_option14085_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000004), ANTLR3_UINT64_LIT(0x0000001000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_create_table_option14085	= { FOLLOW_EQUAL_OPERATOR_in_create_table_option14085_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_int_or_param_marker_in_create_table_option14088  */
static	ANTLR3_BITWORD FOLLOW_int_or_param_marker_in_create_table_option14088_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_int_or_param_marker_in_create_table_option14088	= { FOLLOW_int_or_param_marker_in_create_table_option14088_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PACK_KEYS_SYMBOL_in_create_table_option14093  */
static	ANTLR3_BITWORD FOLLOW_PACK_KEYS_SYMBOL_in_create_table_option14093_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000000000001000), ANTLR3_UINT64_LIT(0x0000000000000004) };
static  ANTLR3_BITSET_LIST FOLLOW_PACK_KEYS_SYMBOL_in_create_table_option14093	= { FOLLOW_PACK_KEYS_SYMBOL_in_create_table_option14093_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_create_table_option14095  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_create_table_option14095_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000000000000004) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_create_table_option14095	= { FOLLOW_EQUAL_OPERATOR_in_create_table_option14095_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_create_table_option14098  */
static	ANTLR3_BITWORD FOLLOW_set_in_create_table_option14098_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_create_table_option14098	= { FOLLOW_set_in_create_table_option14098_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_create_table_option14113  */
static	ANTLR3_BITWORD FOLLOW_set_in_create_table_option14113_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000000000001000), ANTLR3_UINT64_LIT(0x0000000000000004), ANTLR3_UINT64_LIT(0x0000001000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_create_table_option14113	= { FOLLOW_set_in_create_table_option14113_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_create_table_option14127  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_create_table_option14127_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000000000000004), ANTLR3_UINT64_LIT(0x0000001000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_create_table_option14127	= { FOLLOW_EQUAL_OPERATOR_in_create_table_option14127_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_int_or_param_marker_in_create_table_option14131  */
static	ANTLR3_BITWORD FOLLOW_int_or_param_marker_in_create_table_option14131_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_int_or_param_marker_in_create_table_option14131	= { FOLLOW_int_or_param_marker_in_create_table_option14131_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DEFAULT_SYMBOL_in_create_table_option14135  */
static	ANTLR3_BITWORD FOLLOW_DEFAULT_SYMBOL_in_create_table_option14135_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_DEFAULT_SYMBOL_in_create_table_option14135	= { FOLLOW_DEFAULT_SYMBOL_in_create_table_option14135_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_create_table_option14141  */
static	ANTLR3_BITWORD FOLLOW_set_in_create_table_option14141_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000001000), ANTLR3_UINT64_LIT(0x0000000000000004) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_create_table_option14141	= { FOLLOW_set_in_create_table_option14141_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_create_table_option14149  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_create_table_option14149_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000004) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_create_table_option14149	= { FOLLOW_EQUAL_OPERATOR_in_create_table_option14149_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_create_table_option14152  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_create_table_option14152_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_INTEGER_in_create_table_option14152	= { FOLLOW_INTEGER_in_create_table_option14152_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DELAY_KEY_WRITE_SYMBOL_in_create_table_option14158  */
static	ANTLR3_BITWORD FOLLOW_DELAY_KEY_WRITE_SYMBOL_in_create_table_option14158_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000001000), ANTLR3_UINT64_LIT(0x0000000000000004) };
static  ANTLR3_BITSET_LIST FOLLOW_DELAY_KEY_WRITE_SYMBOL_in_create_table_option14158	= { FOLLOW_DELAY_KEY_WRITE_SYMBOL_in_create_table_option14158_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_create_table_option14160  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_create_table_option14160_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000004) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_create_table_option14160	= { FOLLOW_EQUAL_OPERATOR_in_create_table_option14160_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_create_table_option14163  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_create_table_option14163_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_INTEGER_in_create_table_option14163	= { FOLLOW_INTEGER_in_create_table_option14163_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ROW_FORMAT_SYMBOL_in_create_table_option14168  */
static	ANTLR3_BITWORD FOLLOW_ROW_FORMAT_SYMBOL_in_create_table_option14168_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(0x0000000000001000) };
static  ANTLR3_BITSET_LIST FOLLOW_ROW_FORMAT_SYMBOL_in_create_table_option14168	= { FOLLOW_ROW_FORMAT_SYMBOL_in_create_table_option14168_bits, 8	};
/** 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(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_option14170	= { FOLLOW_EQUAL_OPERATOR_in_create_table_option14170_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_create_table_option14173  */
static	ANTLR3_BITWORD FOLLOW_set_in_create_table_option14173_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_create_table_option14173	= { FOLLOW_set_in_create_table_option14173_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_UNION_SYMBOL_in_create_table_option14200  */
static	ANTLR3_BITWORD FOLLOW_UNION_SYMBOL_in_create_table_option14200_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000001000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_UNION_SYMBOL_in_create_table_option14200	= { FOLLOW_UNION_SYMBOL_in_create_table_option14200_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_create_table_option14202  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_create_table_option14202_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_create_table_option14202	= { FOLLOW_EQUAL_OPERATOR_in_create_table_option14202_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_create_table_option14205  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_create_table_option14205_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_create_table_option14205	= { FOLLOW_OPEN_PAR_SYMBOL_in_create_table_option14205_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_qualified_identifier_list_in_create_table_option14207  */
static	ANTLR3_BITWORD FOLLOW_qualified_identifier_list_in_create_table_option14207_bits[]	= { ANTLR3_UINT64_LIT(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_option14207	= { FOLLOW_qualified_identifier_list_in_create_table_option14207_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_create_table_option14209  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_create_table_option14209_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_create_table_option14209	= { FOLLOW_CLOSE_PAR_SYMBOL_in_create_table_option14209_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DEFAULT_SYMBOL_in_create_table_option14214  */
static	ANTLR3_BITWORD FOLLOW_DEFAULT_SYMBOL_in_create_table_option14214_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_option14214	= { FOLLOW_DEFAULT_SYMBOL_in_create_table_option14214_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COLLATE_SYMBOL_in_create_table_option14224  */
static	ANTLR3_BITWORD FOLLOW_COLLATE_SYMBOL_in_create_table_option14224_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000001008), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_COLLATE_SYMBOL_in_create_table_option14224	= { FOLLOW_COLLATE_SYMBOL_in_create_table_option14224_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_create_table_option14226  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_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(0x0020000000000000), ANTLR3_UINT64_LIT(0x0008000000000008), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_create_table_option14226	= { FOLLOW_EQUAL_OPERATOR_in_create_table_option14226_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_collation_name_or_default_in_create_table_option14229  */
static	ANTLR3_BITWORD FOLLOW_collation_name_or_default_in_create_table_option14229_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_collation_name_or_default_in_create_table_option14229	= { FOLLOW_collation_name_or_default_in_create_table_option14229_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_charset_in_create_table_option14236  */
static	ANTLR3_BITWORD FOLLOW_charset_in_create_table_option14236_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(0x0008000000001008), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_charset_in_create_table_option14236	= { FOLLOW_charset_in_create_table_option14236_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_create_table_option14238  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_create_table_option14238_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(0x0008000000000008), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_create_table_option14238	= { FOLLOW_EQUAL_OPERATOR_in_create_table_option14238_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_charset_name_or_default_in_create_table_option14241  */
static	ANTLR3_BITWORD FOLLOW_charset_name_or_default_in_create_table_option14241_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_charset_name_or_default_in_create_table_option14241	= { FOLLOW_charset_name_or_default_in_create_table_option14241_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INSERT_METHOD_SYMBOL_in_create_table_option14251  */
static	ANTLR3_BITWORD FOLLOW_INSERT_METHOD_SYMBOL_in_create_table_option14251_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(0x0000000000001000) };
static  ANTLR3_BITSET_LIST FOLLOW_INSERT_METHOD_SYMBOL_in_create_table_option14251	= { FOLLOW_INSERT_METHOD_SYMBOL_in_create_table_option14251_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_create_table_option14253  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_create_table_option14253_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_option14253	= { FOLLOW_EQUAL_OPERATOR_in_create_table_option14253_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_create_table_option14256  */
static	ANTLR3_BITWORD FOLLOW_set_in_create_table_option14256_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_create_table_option14256	= { FOLLOW_set_in_create_table_option14256_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DATA_SYMBOL_in_create_table_option14271  */
static	ANTLR3_BITWORD FOLLOW_DATA_SYMBOL_in_create_table_option14271_bits[]	= { ANTLR3_UINT64_LIT(0x8000000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_DATA_SYMBOL_in_create_table_option14271	= { FOLLOW_DATA_SYMBOL_in_create_table_option14271_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DIRECTORY_SYMBOL_in_create_table_option14273  */
static	ANTLR3_BITWORD FOLLOW_DIRECTORY_SYMBOL_in_create_table_option14273_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000001008), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000001000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_DIRECTORY_SYMBOL_in_create_table_option14273	= { FOLLOW_DIRECTORY_SYMBOL_in_create_table_option14273_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_create_table_option14275  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_create_table_option14275_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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(0x0000001000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_create_table_option14275	= { FOLLOW_EQUAL_OPERATOR_in_create_table_option14275_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_text_or_param_marker_in_create_table_option14278  */
static	ANTLR3_BITWORD FOLLOW_text_or_param_marker_in_create_table_option14278_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_text_or_param_marker_in_create_table_option14278	= { FOLLOW_text_or_param_marker_in_create_table_option14278_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INDEX_SYMBOL_in_create_table_option14283  */
static	ANTLR3_BITWORD FOLLOW_INDEX_SYMBOL_in_create_table_option14283_bits[]	= { ANTLR3_UINT64_LIT(0x8000000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_INDEX_SYMBOL_in_create_table_option14283	= { FOLLOW_INDEX_SYMBOL_in_create_table_option14283_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DIRECTORY_SYMBOL_in_create_table_option14285  */
static	ANTLR3_BITWORD FOLLOW_DIRECTORY_SYMBOL_in_create_table_option14285_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000001008), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000001000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_DIRECTORY_SYMBOL_in_create_table_option14285	= { FOLLOW_DIRECTORY_SYMBOL_in_create_table_option14285_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_create_table_option14287  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_create_table_option14287_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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(0x0000001000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_create_table_option14287	= { FOLLOW_EQUAL_OPERATOR_in_create_table_option14287_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_text_or_param_marker_in_create_table_option14290  */
static	ANTLR3_BITWORD FOLLOW_text_or_param_marker_in_create_table_option14290_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_text_or_param_marker_in_create_table_option14290	= { FOLLOW_text_or_param_marker_in_create_table_option14290_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TABLESPACE_SYMBOL_in_create_table_option14295  */
static	ANTLR3_BITWORD FOLLOW_TABLESPACE_SYMBOL_in_create_table_option14295_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_TABLESPACE_SYMBOL_in_create_table_option14295	= { FOLLOW_TABLESPACE_SYMBOL_in_create_table_option14295_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_create_table_option14297  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_create_table_option14297_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_create_table_option14297	= { FOLLOW_identifier_in_create_table_option14297_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_STORAGE_SYMBOL_in_create_table_option14302  */
static	ANTLR3_BITWORD FOLLOW_STORAGE_SYMBOL_in_create_table_option14302_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000004), ANTLR3_UINT64_LIT(0x0000000002000000) };
static  ANTLR3_BITSET_LIST FOLLOW_STORAGE_SYMBOL_in_create_table_option14302	= { FOLLOW_STORAGE_SYMBOL_in_create_table_option14302_bits, 3	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_create_table_option14304  */
static	ANTLR3_BITWORD FOLLOW_set_in_create_table_option14304_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_create_table_option14304	= { FOLLOW_set_in_create_table_option14304_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CONNECTION_SYMBOL_in_create_table_option14315  */
static	ANTLR3_BITWORD FOLLOW_CONNECTION_SYMBOL_in_create_table_option14315_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000001008), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000001000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_CONNECTION_SYMBOL_in_create_table_option14315	= { FOLLOW_CONNECTION_SYMBOL_in_create_table_option14315_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_create_table_option14317  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_create_table_option14317_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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(0x0000001000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_create_table_option14317	= { FOLLOW_EQUAL_OPERATOR_in_create_table_option14317_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_text_or_param_marker_in_create_table_option14320  */
static	ANTLR3_BITWORD FOLLOW_text_or_param_marker_in_create_table_option14320_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_text_or_param_marker_in_create_table_option14320	= { FOLLOW_text_or_param_marker_in_create_table_option14320_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_KEY_BLOCK_SIZE_SYMBOL_in_create_table_option14325  */
static	ANTLR3_BITWORD FOLLOW_KEY_BLOCK_SIZE_SYMBOL_in_create_table_option14325_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000001000), ANTLR3_UINT64_LIT(0x0000000000000004), ANTLR3_UINT64_LIT(0x0000001000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_KEY_BLOCK_SIZE_SYMBOL_in_create_table_option14325	= { FOLLOW_KEY_BLOCK_SIZE_SYMBOL_in_create_table_option14325_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_create_table_option14327  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_create_table_option14327_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000004), ANTLR3_UINT64_LIT(0x0000001000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_create_table_option14327	= { FOLLOW_EQUAL_OPERATOR_in_create_table_option14327_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_int_or_param_marker_in_create_table_option14330  */
static	ANTLR3_BITWORD FOLLOW_int_or_param_marker_in_create_table_option14330_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_int_or_param_marker_in_create_table_option14330	= { FOLLOW_int_or_param_marker_in_create_table_option14330_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PARTITION_SYMBOL_in_partitioning14344  */
static	ANTLR3_BITWORD FOLLOW_PARTITION_SYMBOL_in_partitioning14344_bits[]	= { ANTLR3_UINT64_LIT(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_partitioning14344	= { FOLLOW_PARTITION_SYMBOL_in_partitioning14344_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BY_SYMBOL_in_partitioning14347  */
static	ANTLR3_BITWORD FOLLOW_BY_SYMBOL_in_partitioning14347_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(0x0000000040040000), ANTLR3_UINT64_LIT(0x0000800000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_BY_SYMBOL_in_partitioning14347	= { FOLLOW_BY_SYMBOL_in_partitioning14347_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_LINEAR_SYMBOL_in_partitioning14356  */
static	ANTLR3_BITWORD FOLLOW_LINEAR_SYMBOL_in_partitioning14356_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000800000000) };
static  ANTLR3_BITSET_LIST FOLLOW_LINEAR_SYMBOL_in_partitioning14356	= { FOLLOW_LINEAR_SYMBOL_in_partitioning14356_bits, 2	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_HASH_SYMBOL_in_partitioning14359  */
static	ANTLR3_BITWORD FOLLOW_HASH_SYMBOL_in_partitioning14359_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_HASH_SYMBOL_in_partitioning14359	= { FOLLOW_HASH_SYMBOL_in_partitioning14359_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_partitioning14361  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_partitioning14361_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C056484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_partitioning14361	= { FOLLOW_OPEN_PAR_SYMBOL_in_partitioning14361_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_partitioning14363  */
static	ANTLR3_BITWORD FOLLOW_expression_in_partitioning14363_bits[]	= { ANTLR3_UINT64_LIT(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_partitioning14363	= { FOLLOW_expression_in_partitioning14363_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_partitioning14365  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_partitioning14365_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(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_partitioning14365	= { FOLLOW_CLOSE_PAR_SYMBOL_in_partitioning14365_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_LINEAR_SYMBOL_in_partitioning14372  */
static	ANTLR3_BITWORD FOLLOW_LINEAR_SYMBOL_in_partitioning14372_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_LINEAR_SYMBOL_in_partitioning14372	= { FOLLOW_LINEAR_SYMBOL_in_partitioning14372_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_KEY_SYMBOL_in_partitioning14375  */
static	ANTLR3_BITWORD FOLLOW_KEY_SYMBOL_in_partitioning14375_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_KEY_SYMBOL_in_partitioning14375	= { FOLLOW_KEY_SYMBOL_in_partitioning14375_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_list_with_parentheses_in_partitioning14377  */
static	ANTLR3_BITWORD FOLLOW_identifier_list_with_parentheses_in_partitioning14377_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(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_list_with_parentheses_in_partitioning14377	= { FOLLOW_identifier_list_with_parentheses_in_partitioning14377_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_partitioning14384  */
static	ANTLR3_BITWORD FOLLOW_set_in_partitioning14384_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(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_partitioning14384	= { FOLLOW_set_in_partitioning14384_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_partitioning14404  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_partitioning14404_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C056484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_partitioning14404	= { FOLLOW_OPEN_PAR_SYMBOL_in_partitioning14404_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_partitioning14406  */
static	ANTLR3_BITWORD FOLLOW_expression_in_partitioning14406_bits[]	= { ANTLR3_UINT64_LIT(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_partitioning14406	= { FOLLOW_expression_in_partitioning14406_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_partitioning14408  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_partitioning14408_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(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_partitioning14408	= { FOLLOW_CLOSE_PAR_SYMBOL_in_partitioning14408_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COLUMNS_SYMBOL_in_partitioning14421  */
static	ANTLR3_BITWORD FOLLOW_COLUMNS_SYMBOL_in_partitioning14421_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_COLUMNS_SYMBOL_in_partitioning14421	= { FOLLOW_COLUMNS_SYMBOL_in_partitioning14421_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_list_with_parentheses_in_partitioning14423  */
static	ANTLR3_BITWORD FOLLOW_identifier_list_with_parentheses_in_partitioning14423_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(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_list_with_parentheses_in_partitioning14423	= { FOLLOW_identifier_list_with_parentheses_in_partitioning14423_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PARTITIONS_SYMBOL_in_partitioning14438  */
static	ANTLR3_BITWORD FOLLOW_PARTITIONS_SYMBOL_in_partitioning14438_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000004) };
static  ANTLR3_BITSET_LIST FOLLOW_PARTITIONS_SYMBOL_in_partitioning14438	= { FOLLOW_PARTITIONS_SYMBOL_in_partitioning14438_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_partitioning14440  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_partitioning14440_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(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_INTEGER_in_partitioning14440	= { FOLLOW_INTEGER_in_partitioning14440_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SUBPARTITION_SYMBOL_in_partitioning14451  */
static	ANTLR3_BITWORD FOLLOW_SUBPARTITION_SYMBOL_in_partitioning14451_bits[]	= { ANTLR3_UINT64_LIT(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_partitioning14451	= { FOLLOW_SUBPARTITION_SYMBOL_in_partitioning14451_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BY_SYMBOL_in_partitioning14453  */
static	ANTLR3_BITWORD FOLLOW_BY_SYMBOL_in_partitioning14453_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(0x0000000040040000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_BY_SYMBOL_in_partitioning14453	= { FOLLOW_BY_SYMBOL_in_partitioning14453_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_LINEAR_SYMBOL_in_partitioning14455  */
static	ANTLR3_BITWORD FOLLOW_LINEAR_SYMBOL_in_partitioning14455_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(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_LINEAR_SYMBOL_in_partitioning14455	= { FOLLOW_LINEAR_SYMBOL_in_partitioning14455_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_HASH_SYMBOL_in_partitioning14475  */
static	ANTLR3_BITWORD FOLLOW_HASH_SYMBOL_in_partitioning14475_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_HASH_SYMBOL_in_partitioning14475	= { FOLLOW_HASH_SYMBOL_in_partitioning14475_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_partitioning14477  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_partitioning14477_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C056484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_partitioning14477	= { FOLLOW_OPEN_PAR_SYMBOL_in_partitioning14477_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_partitioning14479  */
static	ANTLR3_BITWORD FOLLOW_expression_in_partitioning14479_bits[]	= { ANTLR3_UINT64_LIT(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_partitioning14479	= { FOLLOW_expression_in_partitioning14479_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_partitioning14481  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_partitioning14481_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(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_partitioning14481	= { FOLLOW_CLOSE_PAR_SYMBOL_in_partitioning14481_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_KEY_SYMBOL_in_partitioning14490  */
static	ANTLR3_BITWORD FOLLOW_KEY_SYMBOL_in_partitioning14490_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_KEY_SYMBOL_in_partitioning14490	= { FOLLOW_KEY_SYMBOL_in_partitioning14490_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_list_with_parentheses_in_partitioning14492  */
static	ANTLR3_BITWORD FOLLOW_identifier_list_with_parentheses_in_partitioning14492_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(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_list_with_parentheses_in_partitioning14492	= { FOLLOW_identifier_list_with_parentheses_in_partitioning14492_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SUBPARTITIONS_SYMBOL_in_partitioning14505  */
static	ANTLR3_BITWORD FOLLOW_SUBPARTITIONS_SYMBOL_in_partitioning14505_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000004) };
static  ANTLR3_BITSET_LIST FOLLOW_SUBPARTITIONS_SYMBOL_in_partitioning14505	= { FOLLOW_SUBPARTITIONS_SYMBOL_in_partitioning14505_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_partitioning14507  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_partitioning14507_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_INTEGER_in_partitioning14507	= { FOLLOW_INTEGER_in_partitioning14507_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_partition_definitions_in_partitioning14530  */
static	ANTLR3_BITWORD FOLLOW_partition_definitions_in_partitioning14530_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_partition_definitions_in_partitioning14530	= { FOLLOW_partition_definitions_in_partitioning14530_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_partition_definitions14540  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_partition_definitions14540_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_definitions14540	= { FOLLOW_OPEN_PAR_SYMBOL_in_partition_definitions14540_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_partition_definition_in_partition_definitions14542  */
static	ANTLR3_BITWORD FOLLOW_partition_definition_in_partition_definitions14542_bits[]	= { ANTLR3_UINT64_LIT(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_definitions14542	= { FOLLOW_partition_definition_in_partition_definitions14542_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_partition_definitions14545  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_partition_definitions14545_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_definitions14545	= { FOLLOW_COMMA_SYMBOL_in_partition_definitions14545_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_partition_definition_in_partition_definitions14547  */
static	ANTLR3_BITWORD FOLLOW_partition_definition_in_partition_definitions14547_bits[]	= { ANTLR3_UINT64_LIT(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_definitions14547	= { FOLLOW_partition_definition_in_partition_definitions14547_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_partition_definitions14551  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_partition_definitions14551_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_partition_definitions14551	= { FOLLOW_CLOSE_PAR_SYMBOL_in_partition_definitions14551_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PARTITION_SYMBOL_in_partition_definition14560  */
static	ANTLR3_BITWORD FOLLOW_PARTITION_SYMBOL_in_partition_definition14560_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_PARTITION_SYMBOL_in_partition_definition14560	= { FOLLOW_PARTITION_SYMBOL_in_partition_definition14560_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_partition_definition14562  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_partition_definition14562_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(0x0080000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000020000) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_partition_definition14562	= { FOLLOW_identifier_in_partition_definition14562_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_VALUES_SYMBOL_in_partition_definition14569  */
static	ANTLR3_BITWORD FOLLOW_VALUES_SYMBOL_in_partition_definition14569_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(0x0000000000000080) };
static  ANTLR3_BITSET_LIST FOLLOW_VALUES_SYMBOL_in_partition_definition14569	= { FOLLOW_VALUES_SYMBOL_in_partition_definition14569_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_LESS_SYMBOL_in_partition_definition14578  */
static	ANTLR3_BITWORD FOLLOW_LESS_SYMBOL_in_partition_definition14578_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_definition14578	= { FOLLOW_LESS_SYMBOL_in_partition_definition14578_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_THAN_SYMBOL_in_partition_definition14580  */
static	ANTLR3_BITWORD FOLLOW_THAN_SYMBOL_in_partition_definition14580_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_THAN_SYMBOL_in_partition_definition14580	= { FOLLOW_THAN_SYMBOL_in_partition_definition14580_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_partition_value_list_in_partition_definition14583  */
static	ANTLR3_BITWORD FOLLOW_partition_value_list_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(0x0080000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_partition_value_list_in_partition_definition14583	= { FOLLOW_partition_value_list_in_partition_definition14583_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MAXVALUE_SYMBOL_in_partition_definition14587  */
static	ANTLR3_BITWORD FOLLOW_MAXVALUE_SYMBOL_in_partition_definition14587_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(0x0080000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_MAXVALUE_SYMBOL_in_partition_definition14587	= { FOLLOW_MAXVALUE_SYMBOL_in_partition_definition14587_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_IN_SYMBOL_in_partition_definition14595  */
static	ANTLR3_BITWORD FOLLOW_IN_SYMBOL_in_partition_definition14595_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_IN_SYMBOL_in_partition_definition14595	= { FOLLOW_IN_SYMBOL_in_partition_definition14595_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_partition_value_list_in_partition_definition14597  */
static	ANTLR3_BITWORD FOLLOW_partition_value_list_in_partition_definition14597_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(0x0080000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_partition_value_list_in_partition_definition14597	= { FOLLOW_partition_value_list_in_partition_definition14597_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_STORAGE_SYMBOL_in_partition_definition14609  */
static	ANTLR3_BITWORD FOLLOW_STORAGE_SYMBOL_in_partition_definition14609_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000200) };
static  ANTLR3_BITSET_LIST FOLLOW_STORAGE_SYMBOL_in_partition_definition14609	= { FOLLOW_STORAGE_SYMBOL_in_partition_definition14609_bits, 2	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ENGINE_SYMBOL_in_partition_definition14612  */
static	ANTLR3_BITWORD FOLLOW_ENGINE_SYMBOL_in_partition_definition14612_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000001000) };
static  ANTLR3_BITSET_LIST FOLLOW_ENGINE_SYMBOL_in_partition_definition14612	= { FOLLOW_ENGINE_SYMBOL_in_partition_definition14612_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_partition_definition14614  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_partition_definition14614_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_partition_definition14614	= { FOLLOW_EQUAL_OPERATOR_in_partition_definition14614_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_IDENTIFIER_in_partition_definition14617  */
static	ANTLR3_BITWORD FOLLOW_IDENTIFIER_in_partition_definition14617_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(0x0080000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_IDENTIFIER_in_partition_definition14617	= { FOLLOW_IDENTIFIER_in_partition_definition14617_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMENT_SYMBOL_in_partition_definition14623  */
static	ANTLR3_BITWORD FOLLOW_COMMENT_SYMBOL_in_partition_definition14623_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000001008), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMENT_SYMBOL_in_partition_definition14623	= { FOLLOW_COMMENT_SYMBOL_in_partition_definition14623_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_partition_definition14625  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_partition_definition14625_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_partition_definition14625	= { FOLLOW_EQUAL_OPERATOR_in_partition_definition14625_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_partition_definition14628  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_partition_definition14628_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(0x0080000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_partition_definition14628	= { FOLLOW_string_literal_in_partition_definition14628_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DATA_SYMBOL_in_partition_definition14634  */
static	ANTLR3_BITWORD FOLLOW_DATA_SYMBOL_in_partition_definition14634_bits[]	= { ANTLR3_UINT64_LIT(0x8000000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_DATA_SYMBOL_in_partition_definition14634	= { FOLLOW_DATA_SYMBOL_in_partition_definition14634_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DIRECTORY_SYMBOL_in_partition_definition14636  */
static	ANTLR3_BITWORD FOLLOW_DIRECTORY_SYMBOL_in_partition_definition14636_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000001008), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_DIRECTORY_SYMBOL_in_partition_definition14636	= { FOLLOW_DIRECTORY_SYMBOL_in_partition_definition14636_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_partition_definition14638  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_partition_definition14638_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_partition_definition14638	= { FOLLOW_EQUAL_OPERATOR_in_partition_definition14638_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_partition_definition14641  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_partition_definition14641_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(0x0080000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_partition_definition14641	= { FOLLOW_string_literal_in_partition_definition14641_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INDEX_SYMBOL_in_partition_definition14647  */
static	ANTLR3_BITWORD FOLLOW_INDEX_SYMBOL_in_partition_definition14647_bits[]	= { ANTLR3_UINT64_LIT(0x8000000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_INDEX_SYMBOL_in_partition_definition14647	= { FOLLOW_INDEX_SYMBOL_in_partition_definition14647_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DIRECTORY_SYMBOL_in_partition_definition14649  */
static	ANTLR3_BITWORD FOLLOW_DIRECTORY_SYMBOL_in_partition_definition14649_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000001008), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_DIRECTORY_SYMBOL_in_partition_definition14649	= { FOLLOW_DIRECTORY_SYMBOL_in_partition_definition14649_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_partition_definition14651  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_partition_definition14651_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_partition_definition14651	= { FOLLOW_EQUAL_OPERATOR_in_partition_definition14651_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_partition_definition14654  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_partition_definition14654_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(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_partition_definition14654	= { FOLLOW_string_literal_in_partition_definition14654_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MAX_ROWS_SYMBOL_in_partition_definition14660  */
static	ANTLR3_BITWORD FOLLOW_MAX_ROWS_SYMBOL_in_partition_definition14660_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000001000), ANTLR3_UINT64_LIT(0x0000000000000004) };
static  ANTLR3_BITSET_LIST FOLLOW_MAX_ROWS_SYMBOL_in_partition_definition14660	= { FOLLOW_MAX_ROWS_SYMBOL_in_partition_definition14660_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_partition_definition14662  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_partition_definition14662_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000004) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_partition_definition14662	= { FOLLOW_EQUAL_OPERATOR_in_partition_definition14662_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_partition_definition14665  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_partition_definition14665_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(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_INTEGER_in_partition_definition14665	= { FOLLOW_INTEGER_in_partition_definition14665_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MIN_ROWS_SYMBOL_in_partition_definition14671  */
static	ANTLR3_BITWORD FOLLOW_MIN_ROWS_SYMBOL_in_partition_definition14671_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000001000), ANTLR3_UINT64_LIT(0x0000000000000004) };
static  ANTLR3_BITSET_LIST FOLLOW_MIN_ROWS_SYMBOL_in_partition_definition14671	= { FOLLOW_MIN_ROWS_SYMBOL_in_partition_definition14671_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_partition_definition14673  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_partition_definition14673_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000004) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_partition_definition14673	= { FOLLOW_EQUAL_OPERATOR_in_partition_definition14673_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_partition_definition14676  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_partition_definition14676_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(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_INTEGER_in_partition_definition14676	= { FOLLOW_INTEGER_in_partition_definition14676_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TABLESPACE_SYMBOL_in_partition_definition14682  */
static	ANTLR3_BITWORD FOLLOW_TABLESPACE_SYMBOL_in_partition_definition14682_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000001008) };
static  ANTLR3_BITSET_LIST FOLLOW_TABLESPACE_SYMBOL_in_partition_definition14682	= { FOLLOW_TABLESPACE_SYMBOL_in_partition_definition14682_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_partition_definition14684  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_partition_definition14684_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_partition_definition14684	= { FOLLOW_EQUAL_OPERATOR_in_partition_definition14684_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_partition_definition14687  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_partition_definition14687_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(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_partition_definition14687	= { FOLLOW_identifier_in_partition_definition14687_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_NODEGROUP_SYMBOL_in_partition_definition14693  */
static	ANTLR3_BITWORD FOLLOW_NODEGROUP_SYMBOL_in_partition_definition14693_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000001008) };
static  ANTLR3_BITSET_LIST FOLLOW_NODEGROUP_SYMBOL_in_partition_definition14693	= { FOLLOW_NODEGROUP_SYMBOL_in_partition_definition14693_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_partition_definition14695  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_partition_definition14695_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_partition_definition14695	= { FOLLOW_EQUAL_OPERATOR_in_partition_definition14695_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_partition_definition14698  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_partition_definition14698_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_partition_definition14698	= { FOLLOW_identifier_in_partition_definition14698_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_partition_definition14704  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_partition_definition14704_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_definition14704	= { FOLLOW_OPEN_PAR_SYMBOL_in_partition_definition14704_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_subpartition_definition_in_partition_definition14706  */
static	ANTLR3_BITWORD FOLLOW_subpartition_definition_in_partition_definition14706_bits[]	= { ANTLR3_UINT64_LIT(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_definition14706	= { FOLLOW_subpartition_definition_in_partition_definition14706_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_partition_definition14709  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_partition_definition14709_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_definition14709	= { FOLLOW_COMMA_SYMBOL_in_partition_definition14709_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_subpartition_definition_in_partition_definition14711  */
static	ANTLR3_BITWORD FOLLOW_subpartition_definition_in_partition_definition14711_bits[]	= { ANTLR3_UINT64_LIT(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_definition14711	= { FOLLOW_subpartition_definition_in_partition_definition14711_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_partition_definition14715  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_partition_definition14715_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_partition_definition14715	= { FOLLOW_CLOSE_PAR_SYMBOL_in_partition_definition14715_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SUBPARTITION_SYMBOL_in_subpartition_definition14726  */
static	ANTLR3_BITWORD FOLLOW_SUBPARTITION_SYMBOL_in_subpartition_definition14726_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_SUBPARTITION_SYMBOL_in_subpartition_definition14726	= { FOLLOW_SUBPARTITION_SYMBOL_in_subpartition_definition14726_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_subpartition_definition14728  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_subpartition_definition14728_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(0x0080000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_subpartition_definition14728	= { FOLLOW_identifier_in_subpartition_definition14728_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_STORAGE_SYMBOL_in_subpartition_definition14733  */
static	ANTLR3_BITWORD FOLLOW_STORAGE_SYMBOL_in_subpartition_definition14733_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000200) };
static  ANTLR3_BITSET_LIST FOLLOW_STORAGE_SYMBOL_in_subpartition_definition14733	= { FOLLOW_STORAGE_SYMBOL_in_subpartition_definition14733_bits, 2	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ENGINE_SYMBOL_in_subpartition_definition14736  */
static	ANTLR3_BITWORD FOLLOW_ENGINE_SYMBOL_in_subpartition_definition14736_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000001000) };
static  ANTLR3_BITSET_LIST FOLLOW_ENGINE_SYMBOL_in_subpartition_definition14736	= { FOLLOW_ENGINE_SYMBOL_in_subpartition_definition14736_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_subpartition_definition14738  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_subpartition_definition14738_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_subpartition_definition14738	= { FOLLOW_EQUAL_OPERATOR_in_subpartition_definition14738_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_IDENTIFIER_in_subpartition_definition14741  */
static	ANTLR3_BITWORD FOLLOW_IDENTIFIER_in_subpartition_definition14741_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(0x0080000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_IDENTIFIER_in_subpartition_definition14741	= { FOLLOW_IDENTIFIER_in_subpartition_definition14741_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMENT_SYMBOL_in_subpartition_definition14748  */
static	ANTLR3_BITWORD FOLLOW_COMMENT_SYMBOL_in_subpartition_definition14748_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000001008), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMENT_SYMBOL_in_subpartition_definition14748	= { FOLLOW_COMMENT_SYMBOL_in_subpartition_definition14748_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_subpartition_definition14750  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_subpartition_definition14750_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_subpartition_definition14750	= { FOLLOW_EQUAL_OPERATOR_in_subpartition_definition14750_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_subpartition_definition14753  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_subpartition_definition14753_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(0x0080000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_subpartition_definition14753	= { FOLLOW_string_literal_in_subpartition_definition14753_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DATA_SYMBOL_in_subpartition_definition14760  */
static	ANTLR3_BITWORD FOLLOW_DATA_SYMBOL_in_subpartition_definition14760_bits[]	= { ANTLR3_UINT64_LIT(0x8000000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_DATA_SYMBOL_in_subpartition_definition14760	= { FOLLOW_DATA_SYMBOL_in_subpartition_definition14760_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DIRECTORY_SYMBOL_in_subpartition_definition14762  */
static	ANTLR3_BITWORD FOLLOW_DIRECTORY_SYMBOL_in_subpartition_definition14762_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000001008), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_DIRECTORY_SYMBOL_in_subpartition_definition14762	= { FOLLOW_DIRECTORY_SYMBOL_in_subpartition_definition14762_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_subpartition_definition14764  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_subpartition_definition14764_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_subpartition_definition14764	= { FOLLOW_EQUAL_OPERATOR_in_subpartition_definition14764_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_subpartition_definition14767  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_subpartition_definition14767_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(0x0080000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_subpartition_definition14767	= { FOLLOW_string_literal_in_subpartition_definition14767_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INDEX_SYMBOL_in_subpartition_definition14774  */
static	ANTLR3_BITWORD FOLLOW_INDEX_SYMBOL_in_subpartition_definition14774_bits[]	= { ANTLR3_UINT64_LIT(0x8000000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_INDEX_SYMBOL_in_subpartition_definition14774	= { FOLLOW_INDEX_SYMBOL_in_subpartition_definition14774_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DIRECTORY_SYMBOL_in_subpartition_definition14776  */
static	ANTLR3_BITWORD FOLLOW_DIRECTORY_SYMBOL_in_subpartition_definition14776_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000001008), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_DIRECTORY_SYMBOL_in_subpartition_definition14776	= { FOLLOW_DIRECTORY_SYMBOL_in_subpartition_definition14776_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_subpartition_definition14778  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_subpartition_definition14778_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_subpartition_definition14778	= { FOLLOW_EQUAL_OPERATOR_in_subpartition_definition14778_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_subpartition_definition14781  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_subpartition_definition14781_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_definition14781	= { FOLLOW_string_literal_in_subpartition_definition14781_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MAX_ROWS_SYMBOL_in_subpartition_definition14788  */
static	ANTLR3_BITWORD FOLLOW_MAX_ROWS_SYMBOL_in_subpartition_definition14788_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000001000), ANTLR3_UINT64_LIT(0x0000000000000004) };
static  ANTLR3_BITSET_LIST FOLLOW_MAX_ROWS_SYMBOL_in_subpartition_definition14788	= { FOLLOW_MAX_ROWS_SYMBOL_in_subpartition_definition14788_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_subpartition_definition14790  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_subpartition_definition14790_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000004) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_subpartition_definition14790	= { FOLLOW_EQUAL_OPERATOR_in_subpartition_definition14790_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_subpartition_definition14793  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_subpartition_definition14793_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_definition14793	= { FOLLOW_INTEGER_in_subpartition_definition14793_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MIN_ROWS_SYMBOL_in_subpartition_definition14800  */
static	ANTLR3_BITWORD FOLLOW_MIN_ROWS_SYMBOL_in_subpartition_definition14800_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000001000), ANTLR3_UINT64_LIT(0x0000000000000004) };
static  ANTLR3_BITSET_LIST FOLLOW_MIN_ROWS_SYMBOL_in_subpartition_definition14800	= { FOLLOW_MIN_ROWS_SYMBOL_in_subpartition_definition14800_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_subpartition_definition14802  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_subpartition_definition14802_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000004) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_subpartition_definition14802	= { FOLLOW_EQUAL_OPERATOR_in_subpartition_definition14802_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_subpartition_definition14805  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_subpartition_definition14805_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_definition14805	= { FOLLOW_INTEGER_in_subpartition_definition14805_bits, 5	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TABLESPACE_SYMBOL_in_subpartition_definition14812  */
static	ANTLR3_BITWORD FOLLOW_TABLESPACE_SYMBOL_in_subpartition_definition14812_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000001008) };
static  ANTLR3_BITSET_LIST FOLLOW_TABLESPACE_SYMBOL_in_subpartition_definition14812	= { FOLLOW_TABLESPACE_SYMBOL_in_subpartition_definition14812_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_subpartition_definition14814  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_subpartition_definition14814_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_subpartition_definition14814	= { FOLLOW_EQUAL_OPERATOR_in_subpartition_definition14814_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_subpartition_definition14817  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_subpartition_definition14817_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000800000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_subpartition_definition14817	= { FOLLOW_identifier_in_subpartition_definition14817_bits, 3	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_NODEGROUP_SYMBOL_in_subpartition_definition14824  */
static	ANTLR3_BITWORD FOLLOW_NODEGROUP_SYMBOL_in_subpartition_definition14824_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000001008) };
static  ANTLR3_BITSET_LIST FOLLOW_NODEGROUP_SYMBOL_in_subpartition_definition14824	= { FOLLOW_NODEGROUP_SYMBOL_in_subpartition_definition14824_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_subpartition_definition14826  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_subpartition_definition14826_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_subpartition_definition14826	= { FOLLOW_EQUAL_OPERATOR_in_subpartition_definition14826_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_subpartition_definition14829  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_subpartition_definition14829_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_subpartition_definition14829	= { FOLLOW_identifier_in_subpartition_definition14829_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_partition_value_list14840  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_partition_value_list14840_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x241C010000800014), ANTLR3_UINT64_LIT(0x830001900C056484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_partition_value_list14840	= { FOLLOW_OPEN_PAR_SYMBOL_in_partition_value_list14840_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_partition_value_list14843  */
static	ANTLR3_BITWORD FOLLOW_expression_in_partition_value_list14843_bits[]	= { ANTLR3_UINT64_LIT(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_list14843	= { FOLLOW_expression_in_partition_value_list14843_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MAXVALUE_SYMBOL_in_partition_value_list14847  */
static	ANTLR3_BITWORD FOLLOW_MAXVALUE_SYMBOL_in_partition_value_list14847_bits[]	= { ANTLR3_UINT64_LIT(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_list14847	= { FOLLOW_MAXVALUE_SYMBOL_in_partition_value_list14847_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_partition_value_list14851  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_partition_value_list14851_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x241C010000800014), ANTLR3_UINT64_LIT(0x830001900C056484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_partition_value_list14851	= { FOLLOW_COMMA_SYMBOL_in_partition_value_list14851_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_partition_value_list14854  */
static	ANTLR3_BITWORD FOLLOW_expression_in_partition_value_list14854_bits[]	= { ANTLR3_UINT64_LIT(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_list14854	= { FOLLOW_expression_in_partition_value_list14854_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MAXVALUE_SYMBOL_in_partition_value_list14858  */
static	ANTLR3_BITWORD FOLLOW_MAXVALUE_SYMBOL_in_partition_value_list14858_bits[]	= { ANTLR3_UINT64_LIT(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_list14858	= { FOLLOW_MAXVALUE_SYMBOL_in_partition_value_list14858_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_partition_value_list14863  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_partition_value_list14863_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_partition_value_list14863	= { FOLLOW_CLOSE_PAR_SYMBOL_in_partition_value_list14863_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DEFINER_SYMBOL_in_definer_clause14872  */
static	ANTLR3_BITWORD FOLLOW_DEFINER_SYMBOL_in_definer_clause14872_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_DEFINER_SYMBOL_in_definer_clause14872	= { FOLLOW_DEFINER_SYMBOL_in_definer_clause14872_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_definer_clause14875  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_definer_clause14875_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_definer_clause14875	= { FOLLOW_EQUAL_OPERATOR_in_definer_clause14875_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_user_in_definer_clause14877  */
static	ANTLR3_BITWORD FOLLOW_user_in_definer_clause14877_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_user_in_definer_clause14877	= { FOLLOW_user_in_definer_clause14877_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_IF_SYMBOL_in_if_exists14886  */
static	ANTLR3_BITWORD FOLLOW_IF_SYMBOL_in_if_exists14886_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_IF_SYMBOL_in_if_exists14886	= { FOLLOW_IF_SYMBOL_in_if_exists14886_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EXISTS_SYMBOL_in_if_exists14888  */
static	ANTLR3_BITWORD FOLLOW_EXISTS_SYMBOL_in_if_exists14888_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_EXISTS_SYMBOL_in_if_exists14888	= { FOLLOW_EXISTS_SYMBOL_in_if_exists14888_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_IF_SYMBOL_in_if_not_exists14897  */
static	ANTLR3_BITWORD FOLLOW_IF_SYMBOL_in_if_not_exists14897_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_IF_SYMBOL_in_if_not_exists14897	= { FOLLOW_IF_SYMBOL_in_if_not_exists14897_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_NOT_SYMBOL_in_if_not_exists14899  */
static	ANTLR3_BITWORD FOLLOW_NOT_SYMBOL_in_if_not_exists14899_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_NOT_SYMBOL_in_if_not_exists14899	= { FOLLOW_NOT_SYMBOL_in_if_not_exists14899_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EXISTS_SYMBOL_in_if_not_exists14901  */
static	ANTLR3_BITWORD FOLLOW_EXISTS_SYMBOL_in_if_not_exists14901_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_EXISTS_SYMBOL_in_if_not_exists14901	= { FOLLOW_EXISTS_SYMBOL_in_if_not_exists14901_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_function_parameter_in_procedure_parameter14923  */
static	ANTLR3_BITWORD FOLLOW_function_parameter_in_procedure_parameter14923_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_function_parameter_in_procedure_parameter14923	= { FOLLOW_function_parameter_in_procedure_parameter14923_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_function_parameter14932  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_function_parameter14932_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(0x0000000020000010), ANTLR3_UINT64_LIT(0x00E02C0000000048), ANTLR3_UINT64_LIT(0x0008000000080000), ANTLR3_UINT64_LIT(0x1C00000000100800), ANTLR3_UINT64_LIT(0x0000000000140000) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_function_parameter14932	= { FOLLOW_identifier_in_function_parameter14932_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_data_type_in_function_parameter14934  */
static	ANTLR3_BITWORD FOLLOW_data_type_in_function_parameter14934_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_data_type_in_function_parameter14934	= { FOLLOW_data_type_in_function_parameter14934_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_identifier_variants_in_table_identifier14943  */
static	ANTLR3_BITWORD FOLLOW_table_identifier_variants_in_table_identifier14943_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_table_identifier_variants_in_table_identifier14943	= { FOLLOW_table_identifier_variants_in_table_identifier14943_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_table_identifier_variants14964  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_table_identifier_variants14964_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(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_variants14964	= { FOLLOW_identifier_in_table_identifier_variants14964_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DOT_SYMBOL_in_table_identifier_variants14980  */
static	ANTLR3_BITWORD FOLLOW_DOT_SYMBOL_in_table_identifier_variants14980_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_DOT_SYMBOL_in_table_identifier_variants14980	= { FOLLOW_DOT_SYMBOL_in_table_identifier_variants14980_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_table_identifier_variants14982  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_table_identifier_variants14982_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_table_identifier_variants14982	= { FOLLOW_identifier_in_table_identifier_variants14982_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DOT_SYMBOL_in_table_identifier_variants14989  */
static	ANTLR3_BITWORD FOLLOW_DOT_SYMBOL_in_table_identifier_variants14989_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_DOT_SYMBOL_in_table_identifier_variants14989	= { FOLLOW_DOT_SYMBOL_in_table_identifier_variants14989_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_table_identifier_variants14991  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_table_identifier_variants14991_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_table_identifier_variants14991	= { FOLLOW_identifier_in_table_identifier_variants14991_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_identifier_in_table_identifier_list15000  */
static	ANTLR3_BITWORD FOLLOW_table_identifier_in_table_identifier_list15000_bits[]	= { ANTLR3_UINT64_LIT(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_list15000	= { FOLLOW_table_identifier_in_table_identifier_list15000_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_table_identifier_list15003  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_table_identifier_list15003_bits[]	= { ANTLR3_UINT64_LIT(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(0x000800000000000A) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_table_identifier_list15003	= { FOLLOW_COMMA_SYMBOL_in_table_identifier_list15003_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_table_identifier_in_table_identifier_list15005  */
static	ANTLR3_BITWORD FOLLOW_table_identifier_in_table_identifier_list15005_bits[]	= { ANTLR3_UINT64_LIT(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_list15005	= { FOLLOW_table_identifier_in_table_identifier_list15005_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_qualified_identifier_in_qualified_identifier_list15023  */
static	ANTLR3_BITWORD FOLLOW_qualified_identifier_in_qualified_identifier_list15023_bits[]	= { ANTLR3_UINT64_LIT(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_list15023	= { FOLLOW_qualified_identifier_in_qualified_identifier_list15023_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_qualified_identifier_list15026  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_qualified_identifier_list15026_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_qualified_identifier_list15026	= { FOLLOW_COMMA_SYMBOL_in_qualified_identifier_list15026_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_qualified_identifier_in_qualified_identifier_list15028  */
static	ANTLR3_BITWORD FOLLOW_qualified_identifier_in_qualified_identifier_list15028_bits[]	= { ANTLR3_UINT64_LIT(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_list15028	= { FOLLOW_qualified_identifier_in_qualified_identifier_list15028_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_qualified_identifier15046  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_qualified_identifier15046_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(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_identifier15046	= { FOLLOW_identifier_in_qualified_identifier15046_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DOT_SYMBOL_in_qualified_identifier15049  */
static	ANTLR3_BITWORD FOLLOW_DOT_SYMBOL_in_qualified_identifier15049_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_DOT_SYMBOL_in_qualified_identifier15049	= { FOLLOW_DOT_SYMBOL_in_qualified_identifier15049_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_qualified_identifier15051  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_qualified_identifier15051_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_qualified_identifier15051	= { FOLLOW_identifier_in_qualified_identifier15051_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_qualified_identifier_in_qualified_identifier_with_wildcard15062  */
static	ANTLR3_BITWORD FOLLOW_qualified_identifier_in_qualified_identifier_with_wildcard15062_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_wildcard15062	= { FOLLOW_qualified_identifier_in_qualified_identifier_with_wildcard15062_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DOT_SYMBOL_in_qualified_identifier_with_wildcard15064  */
static	ANTLR3_BITWORD FOLLOW_DOT_SYMBOL_in_qualified_identifier_with_wildcard15064_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_DOT_SYMBOL_in_qualified_identifier_with_wildcard15064	= { FOLLOW_DOT_SYMBOL_in_qualified_identifier_with_wildcard15064_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MULT_OPERATOR_in_qualified_identifier_with_wildcard15066  */
static	ANTLR3_BITWORD FOLLOW_MULT_OPERATOR_in_qualified_identifier_with_wildcard15066_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_MULT_OPERATOR_in_qualified_identifier_with_wildcard15066	= { FOLLOW_MULT_OPERATOR_in_qualified_identifier_with_wildcard15066_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_qualified_identifier_in_target_table15084  */
static	ANTLR3_BITWORD FOLLOW_qualified_identifier_in_target_table15084_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_qualified_identifier_in_target_table15084	= { FOLLOW_qualified_identifier_in_target_table15084_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_qualified_identifier_in_target_table_with_optional_wildcard15102  */
static	ANTLR3_BITWORD FOLLOW_qualified_identifier_in_target_table_with_optional_wildcard15102_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(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_wildcard15102	= { FOLLOW_qualified_identifier_in_target_table_with_optional_wildcard15102_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DOT_SYMBOL_in_target_table_with_optional_wildcard15105  */
static	ANTLR3_BITWORD FOLLOW_DOT_SYMBOL_in_target_table_with_optional_wildcard15105_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_DOT_SYMBOL_in_target_table_with_optional_wildcard15105	= { FOLLOW_DOT_SYMBOL_in_target_table_with_optional_wildcard15105_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_MULT_OPERATOR_in_target_table_with_optional_wildcard15107  */
static	ANTLR3_BITWORD FOLLOW_MULT_OPERATOR_in_target_table_with_optional_wildcard15107_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_MULT_OPERATOR_in_target_table_with_optional_wildcard15107	= { FOLLOW_MULT_OPERATOR_in_target_table_with_optional_wildcard15107_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_field_name_in_column_assignment15134  */
static	ANTLR3_BITWORD FOLLOW_field_name_in_column_assignment15134_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_field_name_in_column_assignment15134	= { FOLLOW_field_name_in_column_assignment15134_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_column_assignment15136  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_column_assignment15136_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C056484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_column_assignment15136	= { FOLLOW_EQUAL_OPERATOR_in_column_assignment15136_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_column_assignment15138  */
static	ANTLR3_BITWORD FOLLOW_expression_in_column_assignment15138_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_column_assignment15138	= { FOLLOW_expression_in_column_assignment15138_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_field_name_in_field_name_list15147  */
static	ANTLR3_BITWORD FOLLOW_field_name_in_field_name_list15147_bits[]	= { ANTLR3_UINT64_LIT(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_list15147	= { FOLLOW_field_name_in_field_name_list15147_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_field_name_list15150  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_field_name_list15150_bits[]	= { ANTLR3_UINT64_LIT(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(0x000800000000000A) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_field_name_list15150	= { FOLLOW_COMMA_SYMBOL_in_field_name_list15150_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_field_name_in_field_name_list15152  */
static	ANTLR3_BITWORD FOLLOW_field_name_in_field_name_list15152_bits[]	= { ANTLR3_UINT64_LIT(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_list15152	= { FOLLOW_field_name_in_field_name_list15152_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_field_name_entry_in_field_name15163  */
static	ANTLR3_BITWORD FOLLOW_field_name_entry_in_field_name15163_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_field_name_entry_in_field_name15163	= { FOLLOW_field_name_entry_in_field_name15163_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_field_name_entry15182  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_field_name_entry15182_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_entry15182	= { FOLLOW_identifier_in_field_name_entry15182_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DOT_SYMBOL_in_field_name_entry15185  */
static	ANTLR3_BITWORD FOLLOW_DOT_SYMBOL_in_field_name_entry15185_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_DOT_SYMBOL_in_field_name_entry15185	= { FOLLOW_DOT_SYMBOL_in_field_name_entry15185_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_field_name_entry15188  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_field_name_entry15188_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_entry15188	= { FOLLOW_identifier_in_field_name_entry15188_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DOT_SYMBOL_in_field_name_entry15190  */
static	ANTLR3_BITWORD FOLLOW_DOT_SYMBOL_in_field_name_entry15190_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_DOT_SYMBOL_in_field_name_entry15190	= { FOLLOW_DOT_SYMBOL_in_field_name_entry15190_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_field_name_entry15196  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_field_name_entry15196_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_field_name_entry15196	= { FOLLOW_identifier_in_field_name_entry15196_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_column_assignment_with_default_in_column_assignment_list_with_default15205  */
static	ANTLR3_BITWORD FOLLOW_column_assignment_with_default_in_column_assignment_list_with_default15205_bits[]	= { ANTLR3_UINT64_LIT(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_default15205	= { FOLLOW_column_assignment_with_default_in_column_assignment_list_with_default15205_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_column_assignment_list_with_default15208  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_column_assignment_list_with_default15208_bits[]	= { ANTLR3_UINT64_LIT(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(0x000800000000000A) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_column_assignment_list_with_default15208	= { FOLLOW_COMMA_SYMBOL_in_column_assignment_list_with_default15208_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_column_assignment_with_default_in_column_assignment_list_with_default15210  */
static	ANTLR3_BITWORD FOLLOW_column_assignment_with_default_in_column_assignment_list_with_default15210_bits[]	= { ANTLR3_UINT64_LIT(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_default15210	= { FOLLOW_column_assignment_with_default_in_column_assignment_list_with_default15210_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_field_name_in_column_assignment_with_default15238  */
static	ANTLR3_BITWORD FOLLOW_field_name_in_column_assignment_with_default15238_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_field_name_in_column_assignment_with_default15238	= { FOLLOW_field_name_in_column_assignment_with_default15238_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_EQUAL_OPERATOR_in_column_assignment_with_default15240  */
static	ANTLR3_BITWORD FOLLOW_EQUAL_OPERATOR_in_column_assignment_with_default15240_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C056484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_EQUAL_OPERATOR_in_column_assignment_with_default15240	= { FOLLOW_EQUAL_OPERATOR_in_column_assignment_with_default15240_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_column_assignment_with_default15243  */
static	ANTLR3_BITWORD FOLLOW_expression_in_column_assignment_with_default15243_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_expression_in_column_assignment_with_default15243	= { FOLLOW_expression_in_column_assignment_with_default15243_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DEFAULT_SYMBOL_in_column_assignment_with_default15247  */
static	ANTLR3_BITWORD FOLLOW_DEFAULT_SYMBOL_in_column_assignment_with_default15247_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_DEFAULT_SYMBOL_in_column_assignment_with_default15247	= { FOLLOW_DEFAULT_SYMBOL_in_column_assignment_with_default15247_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_charset_in_charset_clause15257  */
static	ANTLR3_BITWORD FOLLOW_charset_in_charset_clause15257_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(0x0008000000000008), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_charset_in_charset_clause15257	= { FOLLOW_charset_in_charset_clause15257_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_text_or_identifier_in_charset_clause15260  */
static	ANTLR3_BITWORD FOLLOW_text_or_identifier_in_charset_clause15260_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_text_or_identifier_in_charset_clause15260	= { FOLLOW_text_or_identifier_in_charset_clause15260_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DEFAULT_SYMBOL_in_charset_clause15264  */
static	ANTLR3_BITWORD FOLLOW_DEFAULT_SYMBOL_in_charset_clause15264_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_DEFAULT_SYMBOL_in_charset_clause15264	= { FOLLOW_DEFAULT_SYMBOL_in_charset_clause15264_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BINARY_SYMBOL_in_charset_clause15268  */
static	ANTLR3_BITWORD FOLLOW_BINARY_SYMBOL_in_charset_clause15268_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_BINARY_SYMBOL_in_charset_clause15268	= { FOLLOW_BINARY_SYMBOL_in_charset_clause15268_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COLUMNS_SYMBOL_in_fields_clause15278  */
static	ANTLR3_BITWORD FOLLOW_COLUMNS_SYMBOL_in_fields_clause15278_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000002400), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000020000000), ANTLR3_UINT64_LIT(0x0100000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_COLUMNS_SYMBOL_in_fields_clause15278	= { FOLLOW_COLUMNS_SYMBOL_in_fields_clause15278_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_field_term_in_fields_clause15280  */
static	ANTLR3_BITWORD FOLLOW_field_term_in_fields_clause15280_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000002400), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000020000000), ANTLR3_UINT64_LIT(0x0100000000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_field_term_in_fields_clause15280	= { FOLLOW_field_term_in_fields_clause15280_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TERMINATED_SYMBOL_in_field_term15290  */
static	ANTLR3_BITWORD FOLLOW_TERMINATED_SYMBOL_in_field_term15290_bits[]	= { ANTLR3_UINT64_LIT(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_term15290	= { FOLLOW_TERMINATED_SYMBOL_in_field_term15290_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BY_SYMBOL_in_field_term15292  */
static	ANTLR3_BITWORD FOLLOW_BY_SYMBOL_in_field_term15292_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_BY_SYMBOL_in_field_term15292	= { FOLLOW_BY_SYMBOL_in_field_term15292_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_field_term15294  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_field_term15294_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_field_term15294	= { FOLLOW_string_literal_in_field_term15294_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPTIONALLY_SYMBOL_in_field_term15299  */
static	ANTLR3_BITWORD FOLLOW_OPTIONALLY_SYMBOL_in_field_term15299_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000400) };
static  ANTLR3_BITSET_LIST FOLLOW_OPTIONALLY_SYMBOL_in_field_term15299	= { FOLLOW_OPTIONALLY_SYMBOL_in_field_term15299_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ENCLOSED_SYMBOL_in_field_term15302  */
static	ANTLR3_BITWORD FOLLOW_ENCLOSED_SYMBOL_in_field_term15302_bits[]	= { ANTLR3_UINT64_LIT(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_term15302	= { FOLLOW_ENCLOSED_SYMBOL_in_field_term15302_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BY_SYMBOL_in_field_term15304  */
static	ANTLR3_BITWORD FOLLOW_BY_SYMBOL_in_field_term15304_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_BY_SYMBOL_in_field_term15304	= { FOLLOW_BY_SYMBOL_in_field_term15304_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_field_term15306  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_field_term15306_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_field_term15306	= { FOLLOW_string_literal_in_field_term15306_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_ESCAPED_SYMBOL_in_field_term15311  */
static	ANTLR3_BITWORD FOLLOW_ESCAPED_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_ESCAPED_SYMBOL_in_field_term15311	= { FOLLOW_ESCAPED_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(0x0000000000000008), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
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_LINES_SYMBOL_in_lines_clause15324  */
static	ANTLR3_BITWORD FOLLOW_LINES_SYMBOL_in_lines_clause15324_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0100010000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_LINES_SYMBOL_in_lines_clause15324	= { FOLLOW_LINES_SYMBOL_in_lines_clause15324_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_line_term_in_lines_clause15326  */
static	ANTLR3_BITWORD FOLLOW_line_term_in_lines_clause15326_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0100010000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_line_term_in_lines_clause15326	= { FOLLOW_line_term_in_lines_clause15326_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_line_term15336  */
static	ANTLR3_BITWORD FOLLOW_set_in_line_term15336_bits[]	= { ANTLR3_UINT64_LIT(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_term15336	= { FOLLOW_set_in_line_term15336_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BY_SYMBOL_in_line_term15344  */
static	ANTLR3_BITWORD FOLLOW_BY_SYMBOL_in_line_term15344_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_BY_SYMBOL_in_line_term15344	= { FOLLOW_BY_SYMBOL_in_line_term15344_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_line_term15346  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_line_term15346_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_line_term15346	= { FOLLOW_string_literal_in_line_term15346_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_user_in_user_list15355  */
static	ANTLR3_BITWORD FOLLOW_user_in_user_list15355_bits[]	= { ANTLR3_UINT64_LIT(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_list15355	= { FOLLOW_user_in_user_list15355_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_user_list15358  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_user_list15358_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_user_list15358	= { FOLLOW_COMMA_SYMBOL_in_user_list15358_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_user_in_user_list15360  */
static	ANTLR3_BITWORD FOLLOW_user_in_user_list15360_bits[]	= { ANTLR3_UINT64_LIT(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_list15360	= { FOLLOW_user_in_user_list15360_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_user_in_user_specification15371  */
static	ANTLR3_BITWORD FOLLOW_user_in_user_specification15371_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000004000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_user_in_user_specification15371	= { FOLLOW_user_in_user_specification15371_bits, 2	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_IDENTIFIED_SYMBOL_in_user_specification15378  */
static	ANTLR3_BITWORD FOLLOW_IDENTIFIED_SYMBOL_in_user_specification15378_bits[]	= { ANTLR3_UINT64_LIT(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(0x0000000800000000) };
static  ANTLR3_BITSET_LIST FOLLOW_IDENTIFIED_SYMBOL_in_user_specification15378	= { FOLLOW_IDENTIFIED_SYMBOL_in_user_specification15378_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BY_SYMBOL_in_user_specification15387  */
static	ANTLR3_BITWORD FOLLOW_BY_SYMBOL_in_user_specification15387_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(0x0000000000000008), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_BY_SYMBOL_in_user_specification15387	= { FOLLOW_BY_SYMBOL_in_user_specification15387_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PASSWORD_SYMBOL_in_user_specification15389  */
static	ANTLR3_BITWORD FOLLOW_PASSWORD_SYMBOL_in_user_specification15389_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_PASSWORD_SYMBOL_in_user_specification15389	= { FOLLOW_PASSWORD_SYMBOL_in_user_specification15389_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_user_specification15392  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_user_specification15392_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_user_specification15392	= { FOLLOW_string_literal_in_user_specification15392_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_WITH_SYMBOL_in_user_specification15399  */
static	ANTLR3_BITWORD FOLLOW_WITH_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(0x0004000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0008000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_WITH_SYMBOL_in_user_specification15399	= { FOLLOW_WITH_SYMBOL_in_user_specification15399_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_pure_identifier_in_user_specification15401  */
static	ANTLR3_BITWORD FOLLOW_pure_identifier_in_user_specification15401_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_specification15401	= { FOLLOW_pure_identifier_in_user_specification15401_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_AS_SYMBOL_in_user_specification15404  */
static	ANTLR3_BITWORD FOLLOW_AS_SYMBOL_in_user_specification15404_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_AS_SYMBOL_in_user_specification15404	= { FOLLOW_AS_SYMBOL_in_user_specification15404_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_user_specification15406  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_user_specification15406_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_user_specification15406	= { FOLLOW_string_literal_in_user_specification15406_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_text_or_identifier_in_user15425  */
static	ANTLR3_BITWORD FOLLOW_text_or_identifier_in_user15425_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_user15425	= { FOLLOW_text_or_identifier_in_user15425_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_AT_SIGN_SYMBOL_in_user15428  */
static	ANTLR3_BITWORD FOLLOW_AT_SIGN_SYMBOL_in_user15428_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_AT_SIGN_SYMBOL_in_user15428	= { FOLLOW_AT_SIGN_SYMBOL_in_user15428_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_text_or_identifier_in_user15430  */
static	ANTLR3_BITWORD FOLLOW_text_or_identifier_in_user15430_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_text_or_identifier_in_user15430	= { FOLLOW_text_or_identifier_in_user15430_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CURRENT_USER_SYMBOL_in_user15437  */
static	ANTLR3_BITWORD FOLLOW_CURRENT_USER_SYMBOL_in_user15437_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_CURRENT_USER_SYMBOL_in_user15437	= { FOLLOW_CURRENT_USER_SYMBOL_in_user15437_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_parentheses_in_user15439  */
static	ANTLR3_BITWORD FOLLOW_parentheses_in_user15439_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_parentheses_in_user15439	= { FOLLOW_parentheses_in_user15439_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_LIKE_SYMBOL_in_like_clause15449  */
static	ANTLR3_BITWORD FOLLOW_LIKE_SYMBOL_in_like_clause15449_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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(0x0000001000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_LIKE_SYMBOL_in_like_clause15449	= { FOLLOW_LIKE_SYMBOL_in_like_clause15449_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_text_or_param_marker_in_like_clause15451  */
static	ANTLR3_BITWORD FOLLOW_text_or_param_marker_in_like_clause15451_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_text_or_param_marker_in_like_clause15451	= { FOLLOW_text_or_param_marker_in_like_clause15451_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_like_clause_in_like_or_where15460  */
static	ANTLR3_BITWORD FOLLOW_like_clause_in_like_or_where15460_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_like_clause_in_like_or_where15460	= { FOLLOW_like_clause_in_like_or_where15460_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_where_clause_in_like_or_where15464  */
static	ANTLR3_BITWORD FOLLOW_where_clause_in_like_or_where15464_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_where_clause_in_like_or_where15464	= { FOLLOW_where_clause_in_like_or_where15464_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_online_option15477  */
static	ANTLR3_BITWORD FOLLOW_set_in_online_option15477_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_online_option15477	= { FOLLOW_set_in_online_option15477_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_LOCAL_SYMBOL_in_no_write_to_bin_log15496  */
static	ANTLR3_BITWORD FOLLOW_LOCAL_SYMBOL_in_no_write_to_bin_log15496_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_LOCAL_SYMBOL_in_no_write_to_bin_log15496	= { FOLLOW_LOCAL_SYMBOL_in_no_write_to_bin_log15496_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_NO_WRITE_TO_BINLOG_SYMBOL_in_no_write_to_bin_log15502  */
static	ANTLR3_BITWORD FOLLOW_NO_WRITE_TO_BINLOG_SYMBOL_in_no_write_to_bin_log15502_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_NO_WRITE_TO_BINLOG_SYMBOL_in_no_write_to_bin_log15502	= { FOLLOW_NO_WRITE_TO_BINLOG_SYMBOL_in_no_write_to_bin_log15502_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PARTITION_SYMBOL_in_use_partition15515  */
static	ANTLR3_BITWORD FOLLOW_PARTITION_SYMBOL_in_use_partition15515_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_PARTITION_SYMBOL_in_use_partition15515	= { FOLLOW_PARTITION_SYMBOL_in_use_partition15515_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_list_with_parentheses_in_use_partition15517  */
static	ANTLR3_BITWORD FOLLOW_identifier_list_with_parentheses_in_use_partition15517_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_list_with_parentheses_in_use_partition15517	= { FOLLOW_identifier_list_with_parentheses_in_use_partition15517_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_IDENTIFIER_in_pure_identifier15529  */
static	ANTLR3_BITWORD FOLLOW_IDENTIFIER_in_pure_identifier15529_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_IDENTIFIER_in_pure_identifier15529	= { FOLLOW_IDENTIFIER_in_pure_identifier15529_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_BACK_TICK_QUOTED_ID_in_pure_identifier15534  */
static	ANTLR3_BITWORD FOLLOW_BACK_TICK_QUOTED_ID_in_pure_identifier15534_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_BACK_TICK_QUOTED_ID_in_pure_identifier15534	= { FOLLOW_BACK_TICK_QUOTED_ID_in_pure_identifier15534_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DOUBLE_QUOTED_TEXT_in_pure_identifier15543  */
static	ANTLR3_BITWORD FOLLOW_DOUBLE_QUOTED_TEXT_in_pure_identifier15543_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_DOUBLE_QUOTED_TEXT_in_pure_identifier15543	= { FOLLOW_DOUBLE_QUOTED_TEXT_in_pure_identifier15543_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_pure_identifier_in_identifier15553  */
static	ANTLR3_BITWORD FOLLOW_pure_identifier_in_identifier15553_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_pure_identifier_in_identifier15553	= { FOLLOW_pure_identifier_in_identifier15553_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_keyword_in_identifier15558  */
static	ANTLR3_BITWORD FOLLOW_keyword_in_identifier15558_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_keyword_in_identifier15558	= { FOLLOW_keyword_in_identifier15558_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_identifier_list15567  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_identifier_list15567_bits[]	= { ANTLR3_UINT64_LIT(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_list15567	= { FOLLOW_identifier_in_identifier_list15567_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_identifier_list15583  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_identifier_list15583_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_identifier_list15583	= { FOLLOW_COMMA_SYMBOL_in_identifier_list15583_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_identifier_list15585  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_identifier_list15585_bits[]	= { ANTLR3_UINT64_LIT(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_list15585	= { FOLLOW_identifier_in_identifier_list15585_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_identifier_list_with_parentheses15596  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_identifier_list_with_parentheses15596_bits[]	= { ANTLR3_UINT64_LIT(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(0x0008000000000008) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_identifier_list_with_parentheses15596	= { FOLLOW_OPEN_PAR_SYMBOL_in_identifier_list_with_parentheses15596_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_list_in_identifier_list_with_parentheses15598  */
static	ANTLR3_BITWORD FOLLOW_identifier_list_in_identifier_list_with_parentheses15598_bits[]	= { ANTLR3_UINT64_LIT(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_parentheses15598	= { FOLLOW_identifier_list_in_identifier_list_with_parentheses15598_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_identifier_list_with_parentheses15600  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_identifier_list_with_parentheses15600_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_identifier_list_with_parentheses15600	= { FOLLOW_CLOSE_PAR_SYMBOL_in_identifier_list_with_parentheses15600_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_integer_list15609  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_integer_list15609_bits[]	= { ANTLR3_UINT64_LIT(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_list15609	= { FOLLOW_INTEGER_in_integer_list15609_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_integer_list15612  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_integer_list15612_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000004) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_integer_list15612	= { FOLLOW_COMMA_SYMBOL_in_integer_list15612_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_integer_list15614  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_integer_list15614_bits[]	= { ANTLR3_UINT64_LIT(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_list15614	= { FOLLOW_INTEGER_in_integer_list15614_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_string_list15625  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_string_list15625_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_string_list15625	= { FOLLOW_OPEN_PAR_SYMBOL_in_string_list15625_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_string_list15627  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_string_list15627_bits[]	= { ANTLR3_UINT64_LIT(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_list15627	= { FOLLOW_string_literal_in_string_list15627_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_string_list15630  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_string_list15630_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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(0x0000000000000080), ANTLR3_UINT64_LIT(0x0000000000040000), ANTLR3_UINT64_LIT(0x0000000000000010) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_string_list15630	= { FOLLOW_COMMA_SYMBOL_in_string_list15630_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_string_list15632  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_string_list15632_bits[]	= { ANTLR3_UINT64_LIT(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_list15632	= { FOLLOW_string_literal_in_string_list15632_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_string_list15636  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_string_list15636_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_string_list15636	= { FOLLOW_CLOSE_PAR_SYMBOL_in_string_list15636_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_literal15645  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_literal15645_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_literal15645	= { FOLLOW_string_literal_in_literal15645_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_number_literal_in_literal15650  */
static	ANTLR3_BITWORD FOLLOW_number_literal_in_literal15650_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_number_literal_in_literal15650	= { FOLLOW_number_literal_in_literal15650_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_hex_literal_in_literal15655  */
static	ANTLR3_BITWORD FOLLOW_hex_literal_in_literal15655_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_hex_literal_in_literal15655	= { FOLLOW_hex_literal_in_literal15655_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_bool_literal_in_literal15660  */
static	ANTLR3_BITWORD FOLLOW_bool_literal_in_literal15660_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_bool_literal_in_literal15660	= { FOLLOW_bool_literal_in_literal15660_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_bit_literal_in_literal15669  */
static	ANTLR3_BITWORD FOLLOW_bit_literal_in_literal15669_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_bit_literal_in_literal15669	= { FOLLOW_bit_literal_in_literal15669_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_null_literal_in_literal15674  */
static	ANTLR3_BITWORD FOLLOW_null_literal_in_literal15674_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_null_literal_in_literal15674	= { FOLLOW_null_literal_in_literal15674_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_temporal_literal_in_literal15686  */
static	ANTLR3_BITWORD FOLLOW_temporal_literal_in_literal15686_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_temporal_literal_in_literal15686	= { FOLLOW_temporal_literal_in_literal15686_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_in_string_literal15697  */
static	ANTLR3_BITWORD FOLLOW_string_in_string_literal15697_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_in_string_literal15697	= { FOLLOW_string_in_string_literal15697_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_NCHAR_TEXT_in_string15714  */
static	ANTLR3_BITWORD FOLLOW_NCHAR_TEXT_in_string15714_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_NCHAR_TEXT_in_string15714	= { FOLLOW_NCHAR_TEXT_in_string15714_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_UNDERSCORE_CHARSET_in_string15719  */
static	ANTLR3_BITWORD FOLLOW_UNDERSCORE_CHARSET_in_string15719_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000040000) };
static  ANTLR3_BITSET_LIST FOLLOW_UNDERSCORE_CHARSET_in_string15719	= { FOLLOW_UNDERSCORE_CHARSET_in_string15719_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SINGLE_QUOTED_TEXT_in_string15736  */
static	ANTLR3_BITWORD FOLLOW_SINGLE_QUOTED_TEXT_in_string15736_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(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(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000040000) };
static  ANTLR3_BITSET_LIST FOLLOW_SINGLE_QUOTED_TEXT_in_string15736	= { FOLLOW_SINGLE_QUOTED_TEXT_in_string15736_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DOUBLE_QUOTED_TEXT_in_string15744  */
static	ANTLR3_BITWORD FOLLOW_DOUBLE_QUOTED_TEXT_in_string15744_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(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(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000040000) };
static  ANTLR3_BITSET_LIST FOLLOW_DOUBLE_QUOTED_TEXT_in_string15744	= { FOLLOW_DOUBLE_QUOTED_TEXT_in_string15744_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_UNDERSCORE_CHARSET_in_hex_literal15769  */
static	ANTLR3_BITWORD FOLLOW_UNDERSCORE_CHARSET_in_hex_literal15769_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000600000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_UNDERSCORE_CHARSET_in_hex_literal15769	= { FOLLOW_UNDERSCORE_CHARSET_in_hex_literal15769_bits, 8	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_hex_literal15772  */
static	ANTLR3_BITWORD FOLLOW_set_in_hex_literal15772_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_hex_literal15772	= { FOLLOW_set_in_hex_literal15772_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_UNDERSCORE_CHARSET_in_bit_literal15801  */
static	ANTLR3_BITWORD FOLLOW_UNDERSCORE_CHARSET_in_bit_literal15801_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_literal15801	= { FOLLOW_UNDERSCORE_CHARSET_in_bit_literal15801_bits, 6	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_bit_literal15804  */
static	ANTLR3_BITWORD FOLLOW_set_in_bit_literal15804_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_bit_literal15804	= { FOLLOW_set_in_bit_literal15804_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DATE_SYMBOL_in_temporal_literal15833  */
static	ANTLR3_BITWORD FOLLOW_DATE_SYMBOL_in_temporal_literal15833_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_DATE_SYMBOL_in_temporal_literal15833	= { FOLLOW_DATE_SYMBOL_in_temporal_literal15833_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SINGLE_QUOTED_TEXT_in_temporal_literal15835  */
static	ANTLR3_BITWORD FOLLOW_SINGLE_QUOTED_TEXT_in_temporal_literal15835_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_SINGLE_QUOTED_TEXT_in_temporal_literal15835	= { FOLLOW_SINGLE_QUOTED_TEXT_in_temporal_literal15835_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TIME_SYMBOL_in_temporal_literal15840  */
static	ANTLR3_BITWORD FOLLOW_TIME_SYMBOL_in_temporal_literal15840_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_TIME_SYMBOL_in_temporal_literal15840	= { FOLLOW_TIME_SYMBOL_in_temporal_literal15840_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SINGLE_QUOTED_TEXT_in_temporal_literal15842  */
static	ANTLR3_BITWORD FOLLOW_SINGLE_QUOTED_TEXT_in_temporal_literal15842_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_SINGLE_QUOTED_TEXT_in_temporal_literal15842	= { FOLLOW_SINGLE_QUOTED_TEXT_in_temporal_literal15842_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_TIMESTAMP_SYMBOL_in_temporal_literal15847  */
static	ANTLR3_BITWORD FOLLOW_TIMESTAMP_SYMBOL_in_temporal_literal15847_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_TIMESTAMP_SYMBOL_in_temporal_literal15847	= { FOLLOW_TIMESTAMP_SYMBOL_in_temporal_literal15847_bits, 11	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_SINGLE_QUOTED_TEXT_in_temporal_literal15849  */
static	ANTLR3_BITWORD FOLLOW_SINGLE_QUOTED_TEXT_in_temporal_literal15849_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_SINGLE_QUOTED_TEXT_in_temporal_literal15849	= { FOLLOW_SINGLE_QUOTED_TEXT_in_temporal_literal15849_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_REAL_SYMBOL_in_real_literal15894  */
static	ANTLR3_BITWORD FOLLOW_REAL_SYMBOL_in_real_literal15894_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_REAL_SYMBOL_in_real_literal15894	= { FOLLOW_REAL_SYMBOL_in_real_literal15894_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_DOUBLE_SYMBOL_in_real_literal15898  */
static	ANTLR3_BITWORD FOLLOW_DOUBLE_SYMBOL_in_real_literal15898_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000040000000000) };
static  ANTLR3_BITSET_LIST FOLLOW_DOUBLE_SYMBOL_in_real_literal15898	= { FOLLOW_DOUBLE_SYMBOL_in_real_literal15898_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PRECISION_SYMBOL_in_real_literal15900  */
static	ANTLR3_BITWORD FOLLOW_PRECISION_SYMBOL_in_real_literal15900_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_PRECISION_SYMBOL_in_real_literal15900	= { FOLLOW_PRECISION_SYMBOL_in_real_literal15900_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_float_options15912  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_float_options15912_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000004) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_float_options15912	= { FOLLOW_OPEN_PAR_SYMBOL_in_float_options15912_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_float_options15914  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_float_options15914_bits[]	= { ANTLR3_UINT64_LIT(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_options15914	= { FOLLOW_INTEGER_in_float_options15914_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_float_options15917  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_float_options15917_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000004) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_float_options15917	= { FOLLOW_COMMA_SYMBOL_in_float_options15917_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_float_options15919  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_float_options15919_bits[]	= { ANTLR3_UINT64_LIT(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_options15919	= { FOLLOW_INTEGER_in_float_options15919_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_float_options15923  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_float_options15923_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_float_options15923	= { FOLLOW_CLOSE_PAR_SYMBOL_in_float_options15923_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_precision15932  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_precision15932_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000004) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_precision15932	= { FOLLOW_OPEN_PAR_SYMBOL_in_precision15932_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_precision15934  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_precision15934_bits[]	= { ANTLR3_UINT64_LIT(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_precision15934	= { FOLLOW_INTEGER_in_precision15934_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_precision15936  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_precision15936_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000004) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_precision15936	= { FOLLOW_COMMA_SYMBOL_in_precision15936_bits, 9	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_INTEGER_in_precision15938  */
static	ANTLR3_BITWORD FOLLOW_INTEGER_in_precision15938_bits[]	= { ANTLR3_UINT64_LIT(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_precision15938	= { FOLLOW_INTEGER_in_precision15938_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_precision15940  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_precision15940_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_precision15940	= { FOLLOW_CLOSE_PAR_SYMBOL_in_precision15940_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_NCHAR_SYMBOL_in_nchar_literal15949  */
static	ANTLR3_BITWORD FOLLOW_NCHAR_SYMBOL_in_nchar_literal15949_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_NCHAR_SYMBOL_in_nchar_literal15949	= { FOLLOW_NCHAR_SYMBOL_in_nchar_literal15949_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_NATIONAL_SYMBOL_in_nchar_literal15956  */
static	ANTLR3_BITWORD FOLLOW_NATIONAL_SYMBOL_in_nchar_literal15956_bits[]	= { ANTLR3_UINT64_LIT(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_literal15956	= { FOLLOW_NATIONAL_SYMBOL_in_nchar_literal15956_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CHAR_SYMBOL_in_nchar_literal15958  */
static	ANTLR3_BITWORD FOLLOW_CHAR_SYMBOL_in_nchar_literal15958_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CHAR_SYMBOL_in_nchar_literal15958	= { FOLLOW_CHAR_SYMBOL_in_nchar_literal15958_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CHAR_SYMBOL_in_varchar_literal15968  */
static	ANTLR3_BITWORD FOLLOW_CHAR_SYMBOL_in_varchar_literal15968_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_CHAR_SYMBOL_in_varchar_literal15968	= { FOLLOW_CHAR_SYMBOL_in_varchar_literal15968_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_VARYING_SYMBOL_in_varchar_literal15970  */
static	ANTLR3_BITWORD FOLLOW_VARYING_SYMBOL_in_varchar_literal15970_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_VARYING_SYMBOL_in_varchar_literal15970	= { FOLLOW_VARYING_SYMBOL_in_varchar_literal15970_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_VARCHAR_SYMBOL_in_varchar_literal15975  */
static	ANTLR3_BITWORD FOLLOW_VARCHAR_SYMBOL_in_varchar_literal15975_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_VARCHAR_SYMBOL_in_varchar_literal15975	= { FOLLOW_VARCHAR_SYMBOL_in_varchar_literal15975_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_NATIONAL_SYMBOL_in_nvarchar_literal15984  */
static	ANTLR3_BITWORD FOLLOW_NATIONAL_SYMBOL_in_nvarchar_literal15984_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000100000) };
static  ANTLR3_BITSET_LIST FOLLOW_NATIONAL_SYMBOL_in_nvarchar_literal15984	= { FOLLOW_NATIONAL_SYMBOL_in_nvarchar_literal15984_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_VARCHAR_SYMBOL_in_nvarchar_literal15986  */
static	ANTLR3_BITWORD FOLLOW_VARCHAR_SYMBOL_in_nvarchar_literal15986_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_VARCHAR_SYMBOL_in_nvarchar_literal15986	= { FOLLOW_VARCHAR_SYMBOL_in_nvarchar_literal15986_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_NVARCHAR_SYMBOL_in_nvarchar_literal15991  */
static	ANTLR3_BITWORD FOLLOW_NVARCHAR_SYMBOL_in_nvarchar_literal15991_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_NVARCHAR_SYMBOL_in_nvarchar_literal15991	= { FOLLOW_NVARCHAR_SYMBOL_in_nvarchar_literal15991_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_NCHAR_SYMBOL_in_nvarchar_literal15996  */
static	ANTLR3_BITWORD FOLLOW_NCHAR_SYMBOL_in_nvarchar_literal15996_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000100000) };
static  ANTLR3_BITSET_LIST FOLLOW_NCHAR_SYMBOL_in_nvarchar_literal15996	= { FOLLOW_NCHAR_SYMBOL_in_nvarchar_literal15996_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_VARCHAR_SYMBOL_in_nvarchar_literal15998  */
static	ANTLR3_BITWORD FOLLOW_VARCHAR_SYMBOL_in_nvarchar_literal15998_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_VARCHAR_SYMBOL_in_nvarchar_literal15998	= { FOLLOW_VARCHAR_SYMBOL_in_nvarchar_literal15998_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_NATIONAL_SYMBOL_in_nvarchar_literal16003  */
static	ANTLR3_BITWORD FOLLOW_NATIONAL_SYMBOL_in_nvarchar_literal16003_bits[]	= { ANTLR3_UINT64_LIT(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_literal16003	= { FOLLOW_NATIONAL_SYMBOL_in_nvarchar_literal16003_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CHAR_SYMBOL_in_nvarchar_literal16005  */
static	ANTLR3_BITWORD FOLLOW_CHAR_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(0x0000000000400000) };
static  ANTLR3_BITSET_LIST FOLLOW_CHAR_SYMBOL_in_nvarchar_literal16005	= { FOLLOW_CHAR_SYMBOL_in_nvarchar_literal16005_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_VARYING_SYMBOL_in_nvarchar_literal16007  */
static	ANTLR3_BITWORD FOLLOW_VARYING_SYMBOL_in_nvarchar_literal16007_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_VARYING_SYMBOL_in_nvarchar_literal16007	= { FOLLOW_VARYING_SYMBOL_in_nvarchar_literal16007_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_NCHAR_SYMBOL_in_nvarchar_literal16012  */
static	ANTLR3_BITWORD FOLLOW_NCHAR_SYMBOL_in_nvarchar_literal16012_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(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_NCHAR_SYMBOL_in_nvarchar_literal16012	= { FOLLOW_NCHAR_SYMBOL_in_nvarchar_literal16012_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_VARYING_SYMBOL_in_nvarchar_literal16014  */
static	ANTLR3_BITWORD FOLLOW_VARYING_SYMBOL_in_nvarchar_literal16014_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_VARYING_SYMBOL_in_nvarchar_literal16014	= { FOLLOW_VARYING_SYMBOL_in_nvarchar_literal16014_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_text_or_param_marker16036  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_text_or_param_marker16036_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_text_or_param_marker16036	= { FOLLOW_string_literal_in_text_or_param_marker16036_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PARAM_MARKER_in_text_or_param_marker16040  */
static	ANTLR3_BITWORD FOLLOW_PARAM_MARKER_in_text_or_param_marker16040_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_PARAM_MARKER_in_text_or_param_marker16040	= { FOLLOW_PARAM_MARKER_in_text_or_param_marker16040_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_string_literal_in_text_or_identifier16049  */
static	ANTLR3_BITWORD FOLLOW_string_literal_in_text_or_identifier16049_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_string_literal_in_text_or_identifier16049	= { FOLLOW_string_literal_in_text_or_identifier16049_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_identifier_in_text_or_identifier16053  */
static	ANTLR3_BITWORD FOLLOW_identifier_in_text_or_identifier16053_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_identifier_in_text_or_identifier16053	= { FOLLOW_identifier_in_text_or_identifier16053_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_parentheses16095  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_parentheses16095_bits[]	= { ANTLR3_UINT64_LIT(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_parentheses16095	= { FOLLOW_OPEN_PAR_SYMBOL_in_parentheses16095_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_CLOSE_PAR_SYMBOL_in_parentheses16097  */
static	ANTLR3_BITWORD FOLLOW_CLOSE_PAR_SYMBOL_in_parentheses16097_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_CLOSE_PAR_SYMBOL_in_parentheses16097	= { FOLLOW_CLOSE_PAR_SYMBOL_in_parentheses16097_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_keyword_sp_in_keyword16137  */
static	ANTLR3_BITWORD FOLLOW_keyword_sp_in_keyword16137_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_keyword_sp_in_keyword16137	= { FOLLOW_keyword_sp_in_keyword16137_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_PARTITION_SYMBOL_in_keyword16144  */
static	ANTLR3_BITWORD FOLLOW_PARTITION_SYMBOL_in_keyword16144_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_PARTITION_SYMBOL_in_keyword16144	= { FOLLOW_PARTITION_SYMBOL_in_keyword16144_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_set_in_keyword16149  */
static	ANTLR3_BITWORD FOLLOW_set_in_keyword16149_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_set_in_keyword16149	= { FOLLOW_set_in_keyword16149_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_qualified_identifier_with_wildcard_in_synpred1_MySQL4400  */
static	ANTLR3_BITWORD FOLLOW_qualified_identifier_with_wildcard_in_synpred1_MySQL4400_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_qualified_identifier_with_wildcard_in_synpred1_MySQL4400	= { FOLLOW_qualified_identifier_with_wildcard_in_synpred1_MySQL4400_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_synpred2_MySQL9781  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_synpred2_MySQL9781_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(0x101862000461000A), ANTLR3_UINT64_LIT(0x2414010000800014), ANTLR3_UINT64_LIT(0x830001900C056484), ANTLR3_UINT64_LIT(0x000D140000040000), ANTLR3_UINT64_LIT(0x000000000123C013) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_synpred2_MySQL9781	= { FOLLOW_OPEN_PAR_SYMBOL_in_synpred2_MySQL9781_bits, 12	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_expression_in_synpred2_MySQL9783  */
static	ANTLR3_BITWORD FOLLOW_expression_in_synpred2_MySQL9783_bits[]	= { ANTLR3_UINT64_LIT(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_MySQL9783	= { FOLLOW_expression_in_synpred2_MySQL9783_bits, 7	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_COMMA_SYMBOL_in_synpred2_MySQL9785  */
static	ANTLR3_BITWORD FOLLOW_COMMA_SYMBOL_in_synpred2_MySQL9785_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_COMMA_SYMBOL_in_synpred2_MySQL9785	= { FOLLOW_COMMA_SYMBOL_in_synpred2_MySQL9785_bits, 1	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_qualified_identifier_in_synpred3_MySQL9901  */
static	ANTLR3_BITWORD FOLLOW_qualified_identifier_in_synpred3_MySQL9901_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000000000000), ANTLR3_UINT64_LIT(0x0000000008000000) };
static  ANTLR3_BITSET_LIST FOLLOW_qualified_identifier_in_synpred3_MySQL9901	= { FOLLOW_qualified_identifier_in_synpred3_MySQL9901_bits, 10	};
/** Bitset defining follow set for error recovery in rule state: FOLLOW_OPEN_PAR_SYMBOL_in_synpred3_MySQL9903  */
static	ANTLR3_BITWORD FOLLOW_OPEN_PAR_SYMBOL_in_synpred3_MySQL9903_bits[]	= { ANTLR3_UINT64_LIT(0x0000000000000002) };
static  ANTLR3_BITSET_LIST FOLLOW_OPEN_PAR_SYMBOL_in_synpred3_MySQL9903	= { FOLLOW_OPEN_PAR_SYMBOL_in_synpred3_MySQL9903_bits, 1	};


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


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

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

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

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

            	            switch (alt1)
            	            {
            	        	case 1:
            	        	    // MySQL.g:247:13: SEMICOLON_SYMBOL
            	        	    {
            	        	        SEMICOLON_SYMBOL2 = (pANTLR3_COMMON_TOKEN) MATCHT(SEMICOLON_SYMBOL, &FOLLOW_SEMICOLON_SYMBOL_in_query242);
            	        	        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_query247);
            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:250: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:250: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:252:2: alter_statement
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


        	        FOLLOWPUSH(FOLLOW_install_uninstall_statment_in_statement375);
        	        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:281: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_statement382);
        	        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:282:4: show_statement
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


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


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


        	        FOLLOWPUSH(FOLLOW_utility_statement_in_statement402);
        	        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:291: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:291: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:292: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_statement414);
            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:293: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:294:2: alter_database
            	    {
            	        FOLLOWPUSH(FOLLOW_alter_database_in_alter_statement422);
            	        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:295:4: alter_log_file_group
            	    {
            	        FOLLOWPUSH(FOLLOW_alter_log_file_group_in_alter_statement427);
            	        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:296:4: FUNCTION_SYMBOL alter_routine
            	    {
            	        FUNCTION_SYMBOL32 = (pANTLR3_COMMON_TOKEN) MATCHT(FUNCTION_SYMBOL, &FOLLOW_FUNCTION_SYMBOL_in_alter_statement432);
            	        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_statement434);
            	        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:297:4: PROCEDURE_SYMBOL alter_routine
            	    {
            	        PROCEDURE_SYMBOL34 = (pANTLR3_COMMON_TOKEN) MATCHT(PROCEDURE_SYMBOL, &FOLLOW_PROCEDURE_SYMBOL_in_alter_statement439);
            	        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_statement441);
            	        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:298:4: alter_server
            	    {
            	        FOLLOWPUSH(FOLLOW_alter_server_in_alter_statement446);
            	        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:299:4: alter_table
            	    {
            	        FOLLOWPUSH(FOLLOW_alter_table_in_alter_statement451);
            	        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:300:4: alter_tablespace
            	    {
            	        FOLLOWPUSH(FOLLOW_alter_tablespace_in_alter_statement456);
            	        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:301: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_statement465);
            	        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:302:4: alter_view
            	    {
            	        FOLLOWPUSH(FOLLOW_alter_view_in_alter_statement470);
            	        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:306: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:306:15: ( DATABASE_SYMBOL ( ( identifier )? ( database_option )+ | identifier UPGRADE_SYMBOL DATA_SYMBOL DIRECTORY_SYMBOL NAME_SYMBOL ) )
        // MySQL.g:307: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_database483);
            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:308: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:309:3: ( identifier )? ( database_option )+
            	    {
            	        // MySQL.g:309: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:309:3: identifier
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_identifier_in_alter_database490);
            	        	        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:309: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:309:15: database_option
            	        	        {
            	        	            FOLLOWPUSH(FOLLOW_database_option_in_alter_database493);
            	        	            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:310:5: identifier UPGRADE_SYMBOL DATA_SYMBOL DIRECTORY_SYMBOL NAME_SYMBOL
            	    {
            	        FOLLOWPUSH(FOLLOW_identifier_in_alter_database500);
            	        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_database502);
            	        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_database504);
            	        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_database506);
            	        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_database508);
            	        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:314: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:314: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:315: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:315:2: ( definer_clause )?
            {
                int alt8=2;
                switch ( LA(1) )
                {
                    case DEFINER_SYMBOL:
                    	{
                    		alt8=1;
                    	}
                        break;
                }

                switch (alt8)
                {
            	case 1:
            	    // MySQL.g:315:2: definer_clause
            	    {
            	        FOLLOWPUSH(FOLLOW_definer_clause_in_alter_event520);
            	        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_event525);
            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_event527);
            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:317: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:317:4: ON_SYMBOL SCHEDULE_SYMBOL schedule
            	    {
            	        ON_SYMBOL52 = (pANTLR3_COMMON_TOKEN) MATCHT(ON_SYMBOL, &FOLLOW_ON_SYMBOL_in_alter_event532);
            	        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_event534);
            	        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_event536);
            	        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:318: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:318:4: ON_SYMBOL COMPLETION_SYMBOL ( NOT_SYMBOL )? PRESERVE_SYMBOL
            	    {
            	        ON_SYMBOL55 = (pANTLR3_COMMON_TOKEN) MATCHT(ON_SYMBOL, &FOLLOW_ON_SYMBOL_in_alter_event543);
            	        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_event545);
            	        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:318:32: ( NOT_SYMBOL )?
            	        {
            	            int alt10=2;
            	            switch ( LA(1) )
            	            {
            	                case NOT_SYMBOL:
            	                	{
            	                		alt10=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt10)
            	            {
            	        	case 1:
            	        	    // MySQL.g:318:32: NOT_SYMBOL
            	        	    {
            	        	        NOT_SYMBOL57 = (pANTLR3_COMMON_TOKEN) MATCHT(NOT_SYMBOL, &FOLLOW_NOT_SYMBOL_in_alter_event547);
            	        	        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_event550);
            	        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:319:3: ( RENAME_SYMBOL TO_SYMBOL identifier )?
            {
                int alt12=2;
                switch ( LA(1) )
                {
                    case RENAME_SYMBOL:
                    	{
                    		alt12=1;
                    	}
                        break;
                }

                switch (alt12)
                {
            	case 1:
            	    // MySQL.g:319:4: RENAME_SYMBOL TO_SYMBOL identifier
            	    {
            	        RENAME_SYMBOL59 = (pANTLR3_COMMON_TOKEN) MATCHT(RENAME_SYMBOL, &FOLLOW_RENAME_SYMBOL_in_alter_event557);
            	        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_event559);
            	        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_event561);
            	        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:320: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:320:4: ENABLE_SYMBOL
            	    {
            	        ENABLE_SYMBOL62 = (pANTLR3_COMMON_TOKEN) MATCHT(ENABLE_SYMBOL, &FOLLOW_ENABLE_SYMBOL_in_alter_event568);
            	        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:320:20: DISABLE_SYMBOL ( ON_SYMBOL SLAVE_SYMBOL )?
            	    {
            	        DISABLE_SYMBOL63 = (pANTLR3_COMMON_TOKEN) MATCHT(DISABLE_SYMBOL, &FOLLOW_DISABLE_SYMBOL_in_alter_event572);
            	        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:320:35: ( ON_SYMBOL SLAVE_SYMBOL )?
            	        {
            	            int alt13=2;
            	            switch ( LA(1) )
            	            {
            	                case ON_SYMBOL:
            	                	{
            	                		alt13=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt13)
            	            {
            	        	case 1:
            	        	    // MySQL.g:320:36: ON_SYMBOL SLAVE_SYMBOL
            	        	    {
            	        	        ON_SYMBOL64 = (pANTLR3_COMMON_TOKEN) MATCHT(ON_SYMBOL, &FOLLOW_ON_SYMBOL_in_alter_event575);
            	        	        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_event577);
            	        	        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:321:3: ( COMMENT_SYMBOL string_literal )?
            {
                int alt15=2;
                switch ( LA(1) )
                {
                    case COMMENT_SYMBOL:
                    	{
                    		alt15=1;
                    	}
                        break;
                }

                switch (alt15)
                {
            	case 1:
            	    // MySQL.g:321:4: COMMENT_SYMBOL string_literal
            	    {
            	        COMMENT_SYMBOL66 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMENT_SYMBOL, &FOLLOW_COMMENT_SYMBOL_in_alter_event586);
            	        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_event588);
            	        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:322:3: ( DO_SYMBOL compound_statement )?
            {
                int alt16=2;
                switch ( LA(1) )
                {
                    case DO_SYMBOL:
                    	{
                    		alt16=1;
                    	}
                        break;
                }

                switch (alt16)
                {
            	case 1:
            	    // MySQL.g:322:4: DO_SYMBOL compound_statement
            	    {
            	        DO_SYMBOL68 = (pANTLR3_COMMON_TOKEN) MATCHT(DO_SYMBOL, &FOLLOW_DO_SYMBOL_in_alter_event595);
            	        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_event597);
            	        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:325: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:325: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:326: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_group608);
            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_group610);
            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_group612);
            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_group614);
            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_group616);
            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_group618);
            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:327: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:327: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_group623);
            	        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:327:24: ( EQUAL_OPERATOR )?
            	        {
            	            int alt17=2;
            	            switch ( LA(1) )
            	            {
            	                case EQUAL_OPERATOR:
            	                	{
            	                		alt17=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt17)
            	            {
            	        	case 1:
            	        	    // MySQL.g:327:24: EQUAL_OPERATOR
            	        	    {
            	        	        EQUAL_OPERATOR77 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_alter_log_file_group625);
            	        	        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_group628);
            	        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:327:54: ( WAIT_SYMBOL )?
            {
                int alt19=2;
                switch ( LA(1) )
                {
                    case WAIT_SYMBOL:
                    	{
                    		alt19=1;
                    	}
                        break;
                }

                switch (alt19)
                {
            	case 1:
            	    // MySQL.g:327:54: WAIT_SYMBOL
            	    {
            	        WAIT_SYMBOL79 = (pANTLR3_COMMON_TOKEN) MATCHT(WAIT_SYMBOL, &FOLLOW_WAIT_SYMBOL_in_alter_log_file_group632);
            	        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_group635);
            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:327:81: ( EQUAL_OPERATOR )?
            {
                int alt20=2;
                switch ( LA(1) )
                {
                    case EQUAL_OPERATOR:
                    	{
                    		alt20=1;
                    	}
                        break;
                }

                switch (alt20)
                {
            	case 1:
            	    // MySQL.g:327:81: EQUAL_OPERATOR
            	    {
            	        EQUAL_OPERATOR81 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_alter_log_file_group637);
            	        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_group640);
            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:330: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:330:14: ( identifier ( routine_option )* )
        // MySQL.g:331:2: identifier ( routine_option )*
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            FOLLOWPUSH(FOLLOW_identifier_in_alter_routine649);
            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:331: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:331:13: routine_option
            	    {
            	        FOLLOWPUSH(FOLLOW_routine_option_in_alter_routine651);
            	        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:334: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:334:13: ( SERVER_SYMBOL text_or_identifier server_options )
        // MySQL.g:335: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_server661);
            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_server663);
            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_server665);
            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:338: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:338:12: ( ( online_option )? ( IGNORE_SYMBOL )? TABLE_SYMBOL table_identifier ( alter_table_commands )? )
        // MySQL.g:339:2: ( online_option )? ( IGNORE_SYMBOL )? TABLE_SYMBOL table_identifier ( alter_table_commands )?
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            // MySQL.g:339: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:339:2: online_option
            	    {
            	        FOLLOWPUSH(FOLLOW_online_option_in_alter_table674);
            	        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:339:17: ( IGNORE_SYMBOL )?
            {
                int alt23=2;
                switch ( LA(1) )
                {
                    case IGNORE_SYMBOL:
                    	{
                    		alt23=1;
                    	}
                        break;
                }

                switch (alt23)
                {
            	case 1:
            	    // MySQL.g:339:17: IGNORE_SYMBOL
            	    {
            	        IGNORE_SYMBOL89 = (pANTLR3_COMMON_TOKEN) MATCHT(IGNORE_SYMBOL, &FOLLOW_IGNORE_SYMBOL_in_alter_table677);
            	        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_table680);
            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_table682);
            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:339: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:339:62: alter_table_commands
            	    {
            	        FOLLOWPUSH(FOLLOW_alter_table_commands_in_alter_table684);
            	        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:342: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:342: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:343: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_commands694);
        	        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_commands696);
        	        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:344: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_commands701);
        	        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_commands703);
        	        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:345: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_commands708);
        	        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:345: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:345:27: COMMA_SYMBOL alter_table_list_item
        	        	    {
        	        	        COMMA_SYMBOL98 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_alter_table_commands711);
        	        	        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_commands713);
        	        	        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:345: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:345:65: ( partitioning )?
        	        	    {
        	        	        // MySQL.g:345: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:345:65: partitioning
        	        	        	    {
        	        	        	        FOLLOWPUSH(FOLLOW_partitioning_in_alter_table_commands718);
        	        	        	        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:345:81: remove_partitioning
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_remove_partitioning_in_alter_table_commands723);
        	        	        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:346:4: remove_partitioning
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


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


        	        FOLLOWPUSH(FOLLOW_partitioning_in_alter_table_commands734);
        	        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:348: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_commands743);
        	        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:351: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:351:22: ( alter_table_list_entry -> ^( ALTER_TABLE_ITEM alter_table_list_entry ) )
        // MySQL.g:352:2: alter_table_list_entry
        {
            FOLLOWPUSH(FOLLOW_alter_table_list_entry_in_alter_table_list_item752);
            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;
            	// 352:25: -> ^( ALTER_TABLE_ITEM alter_table_list_entry )
            	{
            	    // MySQL.g:352: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:355: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:355: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:356:2: alter_table_options
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


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

        	            switch (alt29)
        	            {
        	        	case 1:
        	        	    // MySQL.g:357:15: COLUMN_SYMBOL
        	        	    {
        	        	        COLUMN_SYMBOL108 = (pANTLR3_COMMON_TOKEN) MATCHT(COLUMN_SYMBOL, &FOLLOW_COLUMN_SYMBOL_in_alter_table_list_entry776);
        	        	        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:358: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:359:4: column_definition ( FIRST_SYMBOL | AFTER_SYMBOL identifier )?
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_column_definition_in_alter_table_list_entry786);
        	        	        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:359: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:359:23: FIRST_SYMBOL
        	        	        	    {
        	        	        	        FIRST_SYMBOL110 = (pANTLR3_COMMON_TOKEN) MATCHT(FIRST_SYMBOL, &FOLLOW_FIRST_SYMBOL_in_alter_table_list_entry789);
        	        	        	        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:359:38: AFTER_SYMBOL identifier
        	        	        	    {
        	        	        	        AFTER_SYMBOL111 = (pANTLR3_COMMON_TOKEN) MATCHT(AFTER_SYMBOL, &FOLLOW_AFTER_SYMBOL_in_alter_table_list_entry793);
        	        	        	        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_entry795);
        	        	        	        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:360: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_entry804);
        	        	        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_entry806);
        	        	        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:360:40: ( COMMA_SYMBOL column_definition )*

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

        	        	            }

        	        	            switch (alt31)
        	        	            {
        	        	        	case 1:
        	        	        	    // MySQL.g:360:41: COMMA_SYMBOL column_definition
        	        	        	    {
        	        	        	        COMMA_SYMBOL115 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_alter_table_list_entry809);
        	        	        	        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_entry811);
        	        	        	        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_entry815);
        	        	        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:362: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_entry824);
        	        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:362: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:362:43: identifier
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_identifier_in_alter_table_list_entry834);
        	        	        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:362:55: ( index_type )?
        	        {
        	            int alt34=2;
        	            switch ( LA(1) )
        	            {
        	                case TYPE_SYMBOL:
        	                case USING_SYMBOL:
        	                	{
        	                		alt34=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt34)
        	            {
        	        	case 1:
        	        	    // MySQL.g:362:55: index_type
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_index_type_in_alter_table_list_entry837);
        	        	        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_entry840);
        	        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:362: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:362:81: index_option
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_index_option_in_alter_table_list_entry842);
        	        	        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:363: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_entry848);
        	        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:363:15: ( CONSTRAINT_SYMBOL ( identifier )? )?
        	        {
        	            int alt37=2;
        	            switch ( LA(1) )
        	            {
        	                case CONSTRAINT_SYMBOL:
        	                	{
        	                		alt37=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt37)
        	            {
        	        	case 1:
        	        	    // MySQL.g:363:16: CONSTRAINT_SYMBOL ( identifier )?
        	        	    {
        	        	        CONSTRAINT_SYMBOL125 = (pANTLR3_COMMON_TOKEN) MATCHT(CONSTRAINT_SYMBOL, &FOLLOW_CONSTRAINT_SYMBOL_in_alter_table_list_entry851);
        	        	        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:363: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:363:34: identifier
        	        	        	    {
        	        	        	        FOLLOWPUSH(FOLLOW_identifier_in_alter_table_list_entry853);
        	        	        	        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:364: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:365: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_entry865);
        	        	        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_entry867);
        	        	        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:365:30: ( index_type )?
        	        	        {
        	        	            int alt38=2;
        	        	            switch ( LA(1) )
        	        	            {
        	        	                case TYPE_SYMBOL:
        	        	                case USING_SYMBOL:
        	        	                	{
        	        	                		alt38=1;
        	        	                	}
        	        	                    break;
        	        	            }

        	        	            switch (alt38)
        	        	            {
        	        	        	case 1:
        	        	        	    // MySQL.g:365:30: index_type
        	        	        	    {
        	        	        	        FOLLOWPUSH(FOLLOW_index_type_in_alter_table_list_entry869);
        	        	        	        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_entry872);
        	        	        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:365: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:365:56: index_option
        	        	        	    {
        	        	        	        FOLLOWPUSH(FOLLOW_index_option_in_alter_table_list_entry874);
        	        	        	        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:366: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_entry882);
        	        	        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:366: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:366: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:366:49: identifier
        	        	        	    {
        	        	        	        FOLLOWPUSH(FOLLOW_identifier_in_alter_table_list_entry893);
        	        	        	        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:366:61: ( index_type )?
        	        	        {
        	        	            int alt42=2;
        	        	            switch ( LA(1) )
        	        	            {
        	        	                case TYPE_SYMBOL:
        	        	                case USING_SYMBOL:
        	        	                	{
        	        	                		alt42=1;
        	        	                	}
        	        	                    break;
        	        	            }

        	        	            switch (alt42)
        	        	            {
        	        	        	case 1:
        	        	        	    // MySQL.g:366:61: index_type
        	        	        	    {
        	        	        	        FOLLOWPUSH(FOLLOW_index_type_in_alter_table_list_entry896);
        	        	        	        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_entry899);
        	        	        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:366: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:366:87: index_option
        	        	        	    {
        	        	        	        FOLLOWPUSH(FOLLOW_index_option_in_alter_table_list_entry901);
        	        	        	        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:367: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_entry909);
        	        	        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_entry911);
        	        	        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:367: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:367:32: identifier
        	        	        	    {
        	        	        	        FOLLOWPUSH(FOLLOW_identifier_in_alter_table_list_entry913);
        	        	        	        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_entry916);
        	        	        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_entry918);
        	        	        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:369: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_entry927);
        	        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_entry929);
        	        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:369: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:369: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:369:60: identifier
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_identifier_in_alter_table_list_entry940);
        	        	        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_entry943);
        	        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:369: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:369:86: index_option
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_index_option_in_alter_table_list_entry945);
        	        	        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:370: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_entry951);
        	        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_entry953);
        	        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:370: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:370: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:370:59: identifier
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_identifier_in_alter_table_list_entry964);
        	        	        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_entry967);
        	        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:370: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:370:85: index_option
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_index_option_in_alter_table_list_entry969);
        	        	        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:371: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_entry975);
        	        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:371:17: ( COLUMN_SYMBOL )?
        	        {
        	            int alt52=2;
        	            switch ( LA(1) )
        	            {
        	                case COLUMN_SYMBOL:
        	                	{
        	                		alt52=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt52)
        	            {
        	        	case 1:
        	        	    // MySQL.g:371:17: COLUMN_SYMBOL
        	        	    {
        	        	        COLUMN_SYMBOL156 = (pANTLR3_COMMON_TOKEN) MATCHT(COLUMN_SYMBOL, &FOLLOW_COLUMN_SYMBOL_in_alter_table_list_entry977);
        	        	        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_entry980);
        	        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:371: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:371:44: SET_SYMBOL DEFAULT_SYMBOL literal
        	        	    {
        	        	        SET_SYMBOL158 = (pANTLR3_COMMON_TOKEN) MATCHT(SET_SYMBOL, &FOLLOW_SET_SYMBOL_in_alter_table_list_entry983);
        	        	        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_entry985);
        	        	        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_entry987);
        	        	        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:371:80: DROP_SYMBOL DEFAULT_SYMBOL
        	        	    {
        	        	        DROP_SYMBOL161 = (pANTLR3_COMMON_TOKEN) MATCHT(DROP_SYMBOL, &FOLLOW_DROP_SYMBOL_in_alter_table_list_entry991);
        	        	        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_entry993);
        	        	        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:372: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_entry999);
        	        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:372:18: ( COLUMN_SYMBOL )?
        	        {
        	            int alt54=2;
        	            switch ( LA(1) )
        	            {
        	                case COLUMN_SYMBOL:
        	                	{
        	                		alt54=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt54)
        	            {
        	        	case 1:
        	        	    // MySQL.g:372:18: COLUMN_SYMBOL
        	        	    {
        	        	        COLUMN_SYMBOL164 = (pANTLR3_COMMON_TOKEN) MATCHT(COLUMN_SYMBOL, &FOLLOW_COLUMN_SYMBOL_in_alter_table_list_entry1001);
        	        	        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_entry1004);
        	        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_entry1006);
        	        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:372: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:372:56: FIRST_SYMBOL
        	        	    {
        	        	        FIRST_SYMBOL167 = (pANTLR3_COMMON_TOKEN) MATCHT(FIRST_SYMBOL, &FOLLOW_FIRST_SYMBOL_in_alter_table_list_entry1009);
        	        	        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:372:71: AFTER_SYMBOL identifier
        	        	    {
        	        	        AFTER_SYMBOL168 = (pANTLR3_COMMON_TOKEN) MATCHT(AFTER_SYMBOL, &FOLLOW_AFTER_SYMBOL_in_alter_table_list_entry1013);
        	        	        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_entry1015);
        	        	        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:373: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_entry1022);
        	        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:373:18: ( COLUMN_SYMBOL )?
        	        {
        	            int alt56=2;
        	            switch ( LA(1) )
        	            {
        	                case COLUMN_SYMBOL:
        	                	{
        	                		alt56=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt56)
        	            {
        	        	case 1:
        	        	    // MySQL.g:373:18: COLUMN_SYMBOL
        	        	    {
        	        	        COLUMN_SYMBOL171 = (pANTLR3_COMMON_TOKEN) MATCHT(COLUMN_SYMBOL, &FOLLOW_COLUMN_SYMBOL_in_alter_table_list_entry1024);
        	        	        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_entry1027);
        	        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_entry1029);
        	        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:373: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:373:56: FIRST_SYMBOL
        	        	    {
        	        	        FIRST_SYMBOL174 = (pANTLR3_COMMON_TOKEN) MATCHT(FIRST_SYMBOL, &FOLLOW_FIRST_SYMBOL_in_alter_table_list_entry1032);
        	        	        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:373:71: AFTER_SYMBOL identifier
        	        	    {
        	        	        AFTER_SYMBOL175 = (pANTLR3_COMMON_TOKEN) MATCHT(AFTER_SYMBOL, &FOLLOW_AFTER_SYMBOL_in_alter_table_list_entry1036);
        	        	        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_entry1038);
        	        	        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:374: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_entry1045);
        	        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:375: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:376: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_entry1062);
        	        	        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:377:6: ( COLUMN_SYMBOL )? identifier
        	        	    {
        	        	        // MySQL.g:377:6: ( COLUMN_SYMBOL )?
        	        	        {
        	        	            int alt58=2;
        	        	            switch ( LA(1) )
        	        	            {
        	        	                case COLUMN_SYMBOL:
        	        	                	{
        	        	                		alt58=1;
        	        	                	}
        	        	                    break;
        	        	            }

        	        	            switch (alt58)
        	        	            {
        	        	        	case 1:
        	        	        	    // MySQL.g:377:6: COLUMN_SYMBOL
        	        	        	    {
        	        	        	        COLUMN_SYMBOL180 = (pANTLR3_COMMON_TOKEN) MATCHT(COLUMN_SYMBOL, &FOLLOW_COLUMN_SYMBOL_in_alter_table_list_entry1069);
        	        	        	        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_entry1072);
        	        	        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:378:6: PRIMARY_SYMBOL KEY_SYMBOL
        	        	    {
        	        	        PRIMARY_SYMBOL182 = (pANTLR3_COMMON_TOKEN) MATCHT(PRIMARY_SYMBOL, &FOLLOW_PRIMARY_SYMBOL_in_alter_table_list_entry1079);
        	        	        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_entry1081);
        	        	        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:379:6: FOREIGN_SYMBOL KEY_SYMBOL identifier
        	        	    {
        	        	        FOREIGN_SYMBOL184 = (pANTLR3_COMMON_TOKEN) MATCHT(FOREIGN_SYMBOL, &FOLLOW_FOREIGN_SYMBOL_in_alter_table_list_entry1088);
        	        	        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_entry1090);
        	        	        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_entry1092);
        	        	        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:381: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_entry1101);
        	        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_entry1103);
        	        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:382: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_entry1108);
        	        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_entry1110);
        	        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:383: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_entry1115);
        	        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:383: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_entry1126);
        	        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:384:4: alter_order_by
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_alter_order_by_in_alter_table_list_entry1131);
        	        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:385: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_entry1136);
        	        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_entry1138);
        	        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_entry1140);
        	        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_entry1142);
        	        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_entry1144);
        	        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:385: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:385:77: COLLATE_SYMBOL collation_name_or_default
        	        	    {
        	        	        COLLATE_SYMBOL200 = (pANTLR3_COMMON_TOKEN) MATCHT(COLLATE_SYMBOL, &FOLLOW_COLLATE_SYMBOL_in_alter_table_list_entry1147);
        	        	        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_entry1149);
        	        	        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:386: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_entry1156);
        	        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:387: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_entry1165);
        	        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:388: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_entry1174);
        	        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:391: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:391:15: ( ORDER_SYMBOL BY_SYMBOL identifier direction ( options {k=3; } : COMMA_SYMBOL identifier direction )* )
        // MySQL.g:392: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_by1183);
            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_by1185);
            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_by1187);
            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_by1189);
            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:392: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:392:67: COMMA_SYMBOL identifier direction
            	    {
            	        COMMA_SYMBOL209 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_alter_order_by1204);
            	        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_by1206);
            	        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_by1208);
            	        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:395: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:395:23: ( ALGORITHM_SYMBOL ( EQUAL_OPERATOR )? ( DEFAULT_SYMBOL | identifier ) )
        // MySQL.g:396: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_option1219);
            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:396:19: ( EQUAL_OPERATOR )?
            {
                int alt64=2;
                switch ( LA(1) )
                {
                    case EQUAL_OPERATOR:
                    	{
                    		alt64=1;
                    	}
                        break;
                }

                switch (alt64)
                {
            	case 1:
            	    // MySQL.g:396:19: EQUAL_OPERATOR
            	    {
            	        EQUAL_OPERATOR213 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_alter_algorithm_option1221);
            	        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:396: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:396:37: DEFAULT_SYMBOL
            	    {
            	        DEFAULT_SYMBOL214 = (pANTLR3_COMMON_TOKEN) MATCHT(DEFAULT_SYMBOL, &FOLLOW_DEFAULT_SYMBOL_in_alter_algorithm_option1226);
            	        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:396:54: identifier
            	    {
            	        FOLLOWPUSH(FOLLOW_identifier_in_alter_algorithm_option1230);
            	        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:399: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:399:18: ( LOCK_SYMBOL ( EQUAL_OPERATOR )? ( DEFAULT_SYMBOL | identifier ) )
        // MySQL.g:400: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_option1241);
            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:400:14: ( EQUAL_OPERATOR )?
            {
                int alt66=2;
                switch ( LA(1) )
                {
                    case EQUAL_OPERATOR:
                    	{
                    		alt66=1;
                    	}
                        break;
                }

                switch (alt66)
                {
            	case 1:
            	    // MySQL.g:400:14: EQUAL_OPERATOR
            	    {
            	        EQUAL_OPERATOR217 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_alter_lock_option1243);
            	        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:400: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:400:31: DEFAULT_SYMBOL
            	    {
            	        DEFAULT_SYMBOL218 = (pANTLR3_COMMON_TOKEN) MATCHT(DEFAULT_SYMBOL, &FOLLOW_DEFAULT_SYMBOL_in_alter_lock_option1247);
            	        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:400:48: identifier
            	    {
            	        FOLLOWPUSH(FOLLOW_identifier_in_alter_lock_option1251);
            	        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:403: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:403:21: ({...}? => ( alter_algorithm_option ( alter_lock_option )? | alter_lock_option ( alter_algorithm_option )? ) )
        // MySQL.g:404: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:405: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:406:4: alter_algorithm_option ( alter_lock_option )?
            	    {
            	        FOLLOWPUSH(FOLLOW_alter_algorithm_option_in_index_lock_algorithm1273);
            	        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:406:27: ( alter_lock_option )?
            	        {
            	            int alt68=2;
            	            switch ( LA(1) )
            	            {
            	                case LOCK_SYMBOL:
            	                	{
            	                		alt68=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt68)
            	            {
            	        	case 1:
            	        	    // MySQL.g:406:27: alter_lock_option
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_alter_lock_option_in_index_lock_algorithm1275);
            	        	        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:407:6: alter_lock_option ( alter_algorithm_option )?
            	    {
            	        FOLLOWPUSH(FOLLOW_alter_lock_option_in_index_lock_algorithm1283);
            	        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:407:24: ( alter_algorithm_option )?
            	        {
            	            int alt69=2;
            	            switch ( LA(1) )
            	            {
            	                case ALGORITHM_SYMBOL:
            	                	{
            	                		alt69=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt69)
            	            {
            	        	case 1:
            	        	    // MySQL.g:407:24: alter_algorithm_option
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_alter_algorithm_option_in_index_lock_algorithm1285);
            	        	        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:411: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:411: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:412: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_partition1303);
        	        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_partition1305);
        	        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:412: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:412:85: no_write_to_bin_log
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_no_write_to_bin_log_in_alter_partition1307);
        	        	        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:413: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:414: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_partition1317);
        	        	        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_partition1319);
        	        	        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_partition1321);
        	        	        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:415:6: PARTITIONS_SYMBOL INTEGER
        	        	    {
        	        	        PARTITIONS_SYMBOL230 = (pANTLR3_COMMON_TOKEN) MATCHT(PARTITIONS_SYMBOL, &FOLLOW_PARTITIONS_SYMBOL_in_alter_partition1328);
        	        	        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_partition1330);
        	        	        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:417: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_partition1339);
        	        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_partition1341);
        	        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_partition1343);
        	        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:418: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_partition1348);
        	        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_partition1350);
        	        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:418: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:418:36: no_write_to_bin_log
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_no_write_to_bin_log_in_alter_partition1352);
        	        	        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_partition1355);
        	        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:419: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_partition1360);
        	        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_partition1362);
        	        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:419: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:419:37: no_write_to_bin_log
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_no_write_to_bin_log_in_alter_partition1364);
        	        	        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_partition1367);
        	        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:419: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:419:85: no_write_to_bin_log
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_no_write_to_bin_log_in_alter_partition1369);
        	        	        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:420: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_partition1376);
        	        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_partition1378);
        	        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:420: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:420:36: no_write_to_bin_log
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_no_write_to_bin_log_in_alter_partition1380);
        	        	        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_partition1383);
        	        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:421: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_partition1388);
        	        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_partition1390);
        	        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_partition1392);
        	        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:421: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:421:61: check_option
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_check_option_in_alter_partition1394);
        	        	        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:422: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_partition1400);
        	        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_partition1402);
        	        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:422: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:422:35: no_write_to_bin_log
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_no_write_to_bin_log_in_alter_partition1404);
        	        	        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_partition1407);
        	        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:422: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:422:83: repair_option
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_repair_option_in_alter_partition1409);
        	        	        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:423: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_partition1415);
        	        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_partition1417);
        	        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:423: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:423:37: no_write_to_bin_log
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_no_write_to_bin_log_in_alter_partition1419);
        	        	        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_partition1422);
        	        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:424: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_partition1431);
        	        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_partition1433);
        	        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_partition1435);
        	        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:425: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_partition1440);
        	        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_partition1442);
        	        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_partition1444);
        	        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_partition1446);
        	        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_partition1448);
        	        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_partition1450);
        	        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:426: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_partition1455);
        	        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_partition1457);
        	        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:426: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:426:39: no_write_to_bin_log
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_no_write_to_bin_log_in_alter_partition1459);
        	        	        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:426: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:426:61: identifier_list INTO_SYMBOL partition_definitions
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_identifier_list_in_alter_partition1463);
        	        	        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_partition1465);
        	        	        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_partition1467);
        	        	        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:429: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:429:20: ({...}? => REMOVE_SYMBOL PARTITIONING_SYMBOL )
        // MySQL.g:430: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_partitioning1482);
            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_partitioning1484);
            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:433: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:433: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:434: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_list1493);
        	        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:435:4: identifier_list
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_identifier_list_in_all_or_partition_name_list1498);
        	        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:438: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:438: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:439: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_tablespace1507);
            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_tablespace1509);
            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_tablespace1519);
            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:439: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:439:76: INITIAL_SIZE_SYMBOL ( EQUAL_OPERATOR )? size_number
            	    {
            	        INITIAL_SIZE_SYMBOL284 = (pANTLR3_COMMON_TOKEN) MATCHT(INITIAL_SIZE_SYMBOL, &FOLLOW_INITIAL_SIZE_SYMBOL_in_alter_tablespace1523);
            	        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:439:96: ( EQUAL_OPERATOR )?
            	        {
            	            int alt85=2;
            	            switch ( LA(1) )
            	            {
            	                case EQUAL_OPERATOR:
            	                	{
            	                		alt85=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt85)
            	            {
            	        	case 1:
            	        	    // MySQL.g:439:96: EQUAL_OPERATOR
            	        	    {
            	        	        EQUAL_OPERATOR285 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_alter_tablespace1525);
            	        	        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_tablespace1528);
            	        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:440:3: ( WAIT_SYMBOL )?
            {
                int alt87=2;
                switch ( LA(1) )
                {
                    case WAIT_SYMBOL:
                    	{
                    		alt87=1;
                    	}
                        break;
                }

                switch (alt87)
                {
            	case 1:
            	    // MySQL.g:440:3: WAIT_SYMBOL
            	    {
            	        WAIT_SYMBOL287 = (pANTLR3_COMMON_TOKEN) MATCHT(WAIT_SYMBOL, &FOLLOW_WAIT_SYMBOL_in_alter_tablespace1534);
            	        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_tablespace1537);
            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:440:30: ( EQUAL_OPERATOR )?
            {
                int alt88=2;
                switch ( LA(1) )
                {
                    case EQUAL_OPERATOR:
                    	{
                    		alt88=1;
                    	}
                        break;
                }

                switch (alt88)
                {
            	case 1:
            	    // MySQL.g:440:30: EQUAL_OPERATOR
            	    {
            	        EQUAL_OPERATOR289 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_alter_tablespace1539);
            	        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_tablespace1542);
            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:443: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:443: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:444: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:444: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:444:3: ALGORITHM_SYMBOL EQUAL_OPERATOR ( UNDEFINED_SYMBOL | MERGE_SYMBOL | TEMPTABLE_SYMBOL )
            	    {
            	        ALGORITHM_SYMBOL291 = (pANTLR3_COMMON_TOKEN) MATCHT(ALGORITHM_SYMBOL, &FOLLOW_ALGORITHM_SYMBOL_in_alter_view1552);
            	        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_view1554);
            	        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:445:3: ( definer_clause )?
            {
                int alt90=2;
                switch ( LA(1) )
                {
                    case DEFINER_SYMBOL:
                    	{
                    		alt90=1;
                    	}
                        break;
                }

                switch (alt90)
                {
            	case 1:
            	    // MySQL.g:445:3: definer_clause
            	    {
            	        FOLLOWPUSH(FOLLOW_definer_clause_in_alter_view1572);
            	        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:446: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:446:4: SQL_SYMBOL SECURITY_SYMBOL ( DEFINER_SYMBOL | INVOKER_SYMBOL )
            	    {
            	        SQL_SYMBOL295 = (pANTLR3_COMMON_TOKEN) MATCHT(SQL_SYMBOL, &FOLLOW_SQL_SYMBOL_in_alter_view1578);
            	        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_view1580);
            	        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_view1594);
            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_view1596);
            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:447:26: ( identifier_list_with_parentheses )?
            {
                int alt92=2;
                switch ( LA(1) )
                {
                    case OPEN_PAR_SYMBOL:
                    	{
                    		alt92=1;
                    	}
                        break;
                }

                switch (alt92)
                {
            	case 1:
            	    // MySQL.g:447:26: identifier_list_with_parentheses
            	    {
            	        FOLLOWPUSH(FOLLOW_identifier_list_with_parentheses_in_alter_view1598);
            	        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_view1601);
            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_view1603);
            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:448: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:448:4: WITH_SYMBOL ( CASCADED_SYMBOL | LOCAL_SYMBOL )? CHECK_SYMBOL OPTION_SYMBOL
            	    {
            	        WITH_SYMBOL303 = (pANTLR3_COMMON_TOKEN) MATCHT(WITH_SYMBOL, &FOLLOW_WITH_SYMBOL_in_alter_view1608);
            	        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:448: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_view1619);
            	        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_view1621);
            	        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:453: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:453: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:454: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_statement1634);
            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:455: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:456:3: create_table
            	    {
            	        FOLLOWPUSH(FOLLOW_create_table_in_create_statement1642);
            	        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:457:5: create_index
            	    {
            	        FOLLOWPUSH(FOLLOW_create_index_in_create_statement1648);
            	        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:458:5: create_database
            	    {
            	        FOLLOWPUSH(FOLLOW_create_database_in_create_statement1654);
            	        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:459:5: ( definer_clause )? ({...}? => create_event | create_view | create_routine_or_udf | create_trigger )
            	    {
            	        // MySQL.g:459:5: ( definer_clause )?
            	        {
            	            int alt95=2;
            	            switch ( LA(1) )
            	            {
            	                case DEFINER_SYMBOL:
            	                	{
            	                		alt95=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt95)
            	            {
            	        	case 1:
            	        	    // MySQL.g:459:5: definer_clause
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_definer_clause_in_create_statement1660);
            	        	        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:460: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:461: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_statement1676);
            	        	        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:462:7: create_view
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_create_view_in_create_statement1684);
            	        	        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:463:7: create_routine_or_udf
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_create_routine_or_udf_in_create_statement1692);
            	        	        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:464:7: create_trigger
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_create_trigger_in_create_statement1700);
            	        	        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:466:5: view_replace_or_algorithm ( definer_clause )? create_view
            	    {
            	        FOLLOWPUSH(FOLLOW_view_replace_or_algorithm_in_create_statement1711);
            	        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:466:31: ( definer_clause )?
            	        {
            	            int alt97=2;
            	            switch ( LA(1) )
            	            {
            	                case DEFINER_SYMBOL:
            	                	{
            	                		alt97=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt97)
            	            {
            	        	case 1:
            	        	    // MySQL.g:466:31: definer_clause
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_definer_clause_in_create_statement1713);
            	        	        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_statement1716);
            	        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:467:5: create_logfile_group
            	    {
            	        FOLLOWPUSH(FOLLOW_create_logfile_group_in_create_statement1722);
            	        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:468:5: create_server
            	    {
            	        FOLLOWPUSH(FOLLOW_create_server_in_create_statement1728);
            	        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:469:5: create_tablespace
            	    {
            	        FOLLOWPUSH(FOLLOW_create_tablespace_in_create_statement1734);
            	        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:473: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:473:16: ( DATABASE_SYMBOL ( if_not_exists )? identifier ( database_option )* )
        // MySQL.g:474: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_database1746);
            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:474:18: ( if_not_exists )?
            {
                int alt99=2;
                switch ( LA(1) )
                {
                    case IF_SYMBOL:
                    	{
                    		alt99=1;
                    	}
                        break;
                }

                switch (alt99)
                {
            	case 1:
            	    // MySQL.g:474:18: if_not_exists
            	    {
            	        FOLLOWPUSH(FOLLOW_if_not_exists_in_create_database1748);
            	        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_database1751);
            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:474: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:474:44: database_option
            	    {
            	        FOLLOWPUSH(FOLLOW_database_option_in_create_database1753);
            	        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:477: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:477: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:478: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_event1763);
            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:478:15: ( if_not_exists )?
            {
                int alt101=2;
                switch ( LA(1) )
                {
                    case IF_SYMBOL:
                    	{
                    		alt101=1;
                    	}
                        break;
                }

                switch (alt101)
                {
            	case 1:
            	    // MySQL.g:478:15: if_not_exists
            	    {
            	        FOLLOWPUSH(FOLLOW_if_not_exists_in_create_event1765);
            	        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_event1768);
            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_event1770);
            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_event1772);
            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_event1774);
            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:479: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:479:4: ON_SYMBOL COMPLETION_SYMBOL ( NOT_SYMBOL )? PRESERVE_SYMBOL
            	    {
            	        ON_SYMBOL332 = (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_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_event1781);
            	        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:479:32: ( NOT_SYMBOL )?
            	        {
            	            int alt102=2;
            	            switch ( LA(1) )
            	            {
            	                case NOT_SYMBOL:
            	                	{
            	                		alt102=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt102)
            	            {
            	        	case 1:
            	        	    // MySQL.g:479:32: NOT_SYMBOL
            	        	    {
            	        	        NOT_SYMBOL334 = (pANTLR3_COMMON_TOKEN) MATCHT(NOT_SYMBOL, &FOLLOW_NOT_SYMBOL_in_create_event1783);
            	        	        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_event1786);
            	        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:480: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:480:4: ENABLE_SYMBOL
            	    {
            	        ENABLE_SYMBOL336 = (pANTLR3_COMMON_TOKEN) MATCHT(ENABLE_SYMBOL, &FOLLOW_ENABLE_SYMBOL_in_create_event1793);
            	        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:480:20: DISABLE_SYMBOL ( ON_SYMBOL SLAVE_SYMBOL )?
            	    {
            	        DISABLE_SYMBOL337 = (pANTLR3_COMMON_TOKEN) MATCHT(DISABLE_SYMBOL, &FOLLOW_DISABLE_SYMBOL_in_create_event1797);
            	        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:480:35: ( ON_SYMBOL SLAVE_SYMBOL )?
            	        {
            	            int alt104=2;
            	            switch ( LA(1) )
            	            {
            	                case ON_SYMBOL:
            	                	{
            	                		alt104=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt104)
            	            {
            	        	case 1:
            	        	    // MySQL.g:480:36: ON_SYMBOL SLAVE_SYMBOL
            	        	    {
            	        	        ON_SYMBOL338 = (pANTLR3_COMMON_TOKEN) MATCHT(ON_SYMBOL, &FOLLOW_ON_SYMBOL_in_create_event1800);
            	        	        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_event1802);
            	        	        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:481:3: ( COMMENT_SYMBOL string_literal )?
            {
                int alt106=2;
                switch ( LA(1) )
                {
                    case COMMENT_SYMBOL:
                    	{
                    		alt106=1;
                    	}
                        break;
                }

                switch (alt106)
                {
            	case 1:
            	    // MySQL.g:481:4: COMMENT_SYMBOL string_literal
            	    {
            	        COMMENT_SYMBOL340 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMENT_SYMBOL, &FOLLOW_COMMENT_SYMBOL_in_create_event1811);
            	        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_event1813);
            	        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_event1819);
            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_event1821);
            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:485: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:485: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:486: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_udf1830);
        	        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_udf1832);
        	        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_udf1834);
        	        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:486: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:486:57: procedure_parameter ( COMMA_SYMBOL procedure_parameter )*
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_procedure_parameter_in_create_routine_or_udf1837);
        	        	        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:486:77: ( COMMA_SYMBOL procedure_parameter )*

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

        	        	            }

        	        	            switch (alt107)
        	        	            {
        	        	        	case 1:
        	        	        	    // MySQL.g:486:78: COMMA_SYMBOL procedure_parameter
        	        	        	    {
        	        	        	        COMMA_SYMBOL348 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_create_routine_or_udf1840);
        	        	        	        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_udf1842);
        	        	        	        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_udf1848);
        	        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:487: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:487:3: routine_create_option
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_routine_create_option_in_create_routine_or_udf1852);
        	        	        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_udf1855);
        	        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:488: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_udf1860);
        	        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:489: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:490: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_udf1869);
        	        	        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_udf1871);
        	        	        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:490: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:490:42: function_parameter ( COMMA_SYMBOL function_parameter )*
        	        	        	    {
        	        	        	        FOLLOWPUSH(FOLLOW_function_parameter_in_create_routine_or_udf1874);
        	        	        	        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:490:61: ( COMMA_SYMBOL function_parameter )*

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

        	        	        	            }

        	        	        	            switch (alt110)
        	        	        	            {
        	        	        	        	case 1:
        	        	        	        	    // MySQL.g:490:62: COMMA_SYMBOL function_parameter
        	        	        	        	    {
        	        	        	        	        COMMA_SYMBOL357 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_create_routine_or_udf1877);
        	        	        	        	        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_udf1879);
        	        	        	        	        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_udf1885);
        	        	        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_udf1887);
        	        	        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_udf1893);
        	        	        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:491: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:491:15: routine_create_option
        	        	        	    {
        	        	        	        FOLLOWPUSH(FOLLOW_routine_create_option_in_create_routine_or_udf1895);
        	        	        	        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_udf1898);
        	        	        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:492:6: udf_tail
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_udf_tail_in_create_routine_or_udf1905);
        	        	        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:494: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_udf1914);
        	        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_udf1916);
        	        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_udf1918);
        	        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:497: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:497:9: ( identifier RETURNS_SYMBOL ( STRING_SYMBOL | INTEGER_SYMBOL | REAL_SYMBOL | DECIMAL_SYMBOL ) SONAME_SYMBOL string_literal )
        // MySQL.g:498: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_tail1928);
            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_tail1930);
            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_tail1948);
            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_tail1950);
            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:501: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:501: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:502:2: routine_option
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_routine_option_in_routine_create_option1959);
        	        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:503:4: ( NOT_SYMBOL )? DETERMINISTIC_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        // MySQL.g:503:4: ( NOT_SYMBOL )?
        	        {
        	            int alt115=2;
        	            switch ( LA(1) )
        	            {
        	                case NOT_SYMBOL:
        	                	{
        	                		alt115=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt115)
        	            {
        	        	case 1:
        	        	    // MySQL.g:503:4: NOT_SYMBOL
        	        	    {
        	        	        NOT_SYMBOL374 = (pANTLR3_COMMON_TOKEN) MATCHT(NOT_SYMBOL, &FOLLOW_NOT_SYMBOL_in_routine_create_option1964);
        	        	        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_option1967);
        	        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:506: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:506: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:507: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_option1976);
        	        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_option1978);
        	        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:508: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_option1983);
        	        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_option1985);
        	        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:509: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_option1990);
        	        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_option1992);
        	        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:510: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_option1997);
        	        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_option1999);
        	        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:511: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_option2004);
        	        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_option2006);
        	        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_option2008);
        	        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:512: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_option2013);
        	        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_option2015);
        	        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_option2017);
        	        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:513: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_option2022);
        	        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_option2024);
        	        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:516: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:516: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:517: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:517: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:517:2: online_option
            	    {
            	        FOLLOWPUSH(FOLLOW_online_option_in_create_index2041);
            	        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:518: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:519:3: ( UNIQUE_SYMBOL )? INDEX_SYMBOL identifier ( index_type )? create_index_target ( index_option )* ( index_lock_algorithm )?
            	    {
            	        // MySQL.g:519:3: ( UNIQUE_SYMBOL )?
            	        {
            	            int alt119=2;
            	            switch ( LA(1) )
            	            {
            	                case UNIQUE_SYMBOL:
            	                	{
            	                		alt119=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt119)
            	            {
            	        	case 1:
            	        	    // MySQL.g:519:3: UNIQUE_SYMBOL
            	        	    {
            	        	        UNIQUE_SYMBOL394 = (pANTLR3_COMMON_TOKEN) MATCHT(UNIQUE_SYMBOL, &FOLLOW_UNIQUE_SYMBOL_in_create_index2049);
            	        	        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_index2052);
            	        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_index2054);
            	        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:519:42: ( index_type )?
            	        {
            	            int alt120=2;
            	            switch ( LA(1) )
            	            {
            	                case TYPE_SYMBOL:
            	                case USING_SYMBOL:
            	                	{
            	                		alt120=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt120)
            	            {
            	        	case 1:
            	        	    // MySQL.g:519:42: index_type
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_index_type_in_create_index2056);
            	        	        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_index2059);
            	        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:519: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:519:74: index_option
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_index_option_in_create_index2061);
            	        	        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:519: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:519:88: index_lock_algorithm
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_index_lock_algorithm_in_create_index2064);
            	        	        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:520: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_index2071);
            	        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_index2073);
            	        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_index2075);
            	        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_index2077);
            	        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:520: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:520:65: fulltext_index_option
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_fulltext_index_option_in_create_index2079);
            	        	        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:520: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:520:88: index_lock_algorithm
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_index_lock_algorithm_in_create_index2082);
            	        	        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:521: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_index2089);
            	        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_index2091);
            	        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_index2093);
            	        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_index2095);
            	        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:521: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:521:64: spatial_index_option
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_spatial_index_option_in_create_index2097);
            	        	        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:521: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:521:86: index_lock_algorithm
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_index_lock_algorithm_in_create_index2100);
            	        	        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:525: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:525:20: ( ON_SYMBOL ^ table_identifier index_columns )
        // MySQL.g:526: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_target2113);
            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_target2116);
            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_target2118);
            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:529: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:529:21: ( LOGFILE_SYMBOL GROUP_SYMBOL identifier ADD_SYMBOL ( UNDOFILE_SYMBOL | REDOFILE_SYMBOL ) string_literal ( logfile_group_options )? )
        // MySQL.g:530: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_group2127);
            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_group2129);
            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_group2131);
            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_group2133);
            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_group2143);
            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:531: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:531:3: logfile_group_options
            	    {
            	        FOLLOWPUSH(FOLLOW_logfile_group_options_in_create_logfile_group2147);
            	        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:534: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:534:22: ( ( logfile_group_option ( ( COMMA_SYMBOL )? logfile_group_option )* ) -> ^( LOGFILE_GROUP_OPTIONS logfile_group_option ( ( COMMA_SYMBOL )? logfile_group_option )* ) )
        // MySQL.g:535:2: ( logfile_group_option ( ( COMMA_SYMBOL )? logfile_group_option )* )
        {
            // MySQL.g:535:2: ( logfile_group_option ( ( COMMA_SYMBOL )? logfile_group_option )* )
            // MySQL.g:535:3: logfile_group_option ( ( COMMA_SYMBOL )? logfile_group_option )*
            {
                FOLLOWPUSH(FOLLOW_logfile_group_option_in_logfile_group_options2158);
                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:535: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:535:25: ( COMMA_SYMBOL )? logfile_group_option
                	    {
                	        // MySQL.g:535:25: ( COMMA_SYMBOL )?
                	        {
                	            int alt129=2;
                	            switch ( LA(1) )
                	            {
                	                case COMMA_SYMBOL:
                	                	{
                	                		alt129=1;
                	                	}
                	                    break;
                	            }

                	            switch (alt129)
                	            {
                	        	case 1:
                	        	    // MySQL.g:535:25: COMMA_SYMBOL
                	        	    {
                	        	        COMMA_SYMBOL424 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_logfile_group_options2161);
                	        	        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_options2164);
                	        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;
            	// 536:3: -> ^( LOGFILE_GROUP_OPTIONS logfile_group_option ( ( COMMA_SYMBOL )? logfile_group_option )* )
            	{
            	    // MySQL.g:536: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:536:51: ( ( COMMA_SYMBOL )? logfile_group_option )*
            	        {
            	        	while ( (stream_logfile_group_option != NULL && stream_logfile_group_option->hasNext(stream_logfile_group_option))  )
            	        	{
            	        		// MySQL.g:536: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:539: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:539: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:540: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_option2194);
        	        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:540:22: ( EQUAL_OPERATOR )?
        	        {
        	            int alt131=2;
        	            switch ( LA(1) )
        	            {
        	                case EQUAL_OPERATOR:
        	                	{
        	                		alt131=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt131)
        	            {
        	        	case 1:
        	        	    // MySQL.g:540:22: EQUAL_OPERATOR
        	        	    {
        	        	        EQUAL_OPERATOR427 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_logfile_group_option2196);
        	        	        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_option2199);
        	        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:541: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:541:56: ( EQUAL_OPERATOR )?
        	        {
        	            int alt132=2;
        	            switch ( LA(1) )
        	            {
        	                case EQUAL_OPERATOR:
        	                	{
        	                		alt132=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt132)
        	            {
        	        	case 1:
        	        	    // MySQL.g:541:56: EQUAL_OPERATOR
        	        	    {
        	        	        EQUAL_OPERATOR430 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_logfile_group_option2212);
        	        	        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_option2215);
        	        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:542: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_option2220);
        	        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:542:21: ( EQUAL_OPERATOR )?
        	        {
        	            int alt133=2;
        	            switch ( LA(1) )
        	            {
        	                case EQUAL_OPERATOR:
        	                	{
        	                		alt133=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt133)
        	            {
        	        	case 1:
        	        	    // MySQL.g:542:21: EQUAL_OPERATOR
        	        	    {
        	        	        EQUAL_OPERATOR433 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_logfile_group_option2222);
        	        	        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:543: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:544: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_option2247);
        	        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:544:19: ( EQUAL_OPERATOR )?
        	        {
        	            int alt134=2;
        	            switch ( LA(1) )
        	            {
        	                case EQUAL_OPERATOR:
        	                	{
        	                		alt134=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt134)
        	            {
        	        	case 1:
        	        	    // MySQL.g:544:19: EQUAL_OPERATOR
        	        	    {
        	        	        EQUAL_OPERATOR437 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_logfile_group_option2249);
        	        	        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_option2252);
        	        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:545:4: ( STORAGE_SYMBOL )? ENGINE_SYMBOL ( EQUAL_OPERATOR )? text_or_identifier
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        // MySQL.g:545:4: ( STORAGE_SYMBOL )?
        	        {
        	            int alt135=2;
        	            switch ( LA(1) )
        	            {
        	                case STORAGE_SYMBOL:
        	                	{
        	                		alt135=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt135)
        	            {
        	        	case 1:
        	        	    // MySQL.g:545:4: STORAGE_SYMBOL
        	        	    {
        	        	        STORAGE_SYMBOL439 = (pANTLR3_COMMON_TOKEN) MATCHT(STORAGE_SYMBOL, &FOLLOW_STORAGE_SYMBOL_in_logfile_group_option2257);
        	        	        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_option2260);
        	        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:545:34: ( EQUAL_OPERATOR )?
        	        {
        	            int alt136=2;
        	            switch ( LA(1) )
        	            {
        	                case EQUAL_OPERATOR:
        	                	{
        	                		alt136=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt136)
        	            {
        	        	case 1:
        	        	    // MySQL.g:545:34: EQUAL_OPERATOR
        	        	    {
        	        	        EQUAL_OPERATOR441 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_logfile_group_option2262);
        	        	        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_option2265);
        	        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:548: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:548:14: ( SERVER_SYMBOL text_or_identifier FOREIGN_SYMBOL DATA_SYMBOL WRAPPER_SYMBOL text_or_identifier server_options )
        // MySQL.g:549: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_server2275);
            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_server2277);
            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_server2281);
            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_server2283);
            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_server2285);
            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_server2287);
            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_server2289);
            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:553: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:553:15: ( OPTIONS_SYMBOL ^ OPEN_PAR_SYMBOL server_option ( COMMA_SYMBOL server_option )* CLOSE_PAR_SYMBOL )
        // MySQL.g:554: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_options2298);
            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_options2301);
            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_options2303);
            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:554:48: ( COMMA_SYMBOL server_option )*

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

                }

                switch (alt138)
                {
            	case 1:
            	    // MySQL.g:554:49: COMMA_SYMBOL server_option
            	    {
            	        COMMA_SYMBOL453 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_server_options2306);
            	        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_options2308);
            	        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_options2312);
            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:558: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:558: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:559: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_option2322);
        	        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_option2324);
        	        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:560: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_option2329);
        	        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_option2331);
        	        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:561: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_option2336);
        	        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_option2338);
        	        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:562: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_option2343);
        	        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_option2345);
        	        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:563: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_option2350);
        	        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_option2352);
        	        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:564: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_option2357);
        	        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_option2359);
        	        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:565: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_option2364);
        	        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_option2366);
        	        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:568: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:568: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:569: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:569:2: ( TEMPORARY_SYMBOL )?
            {
                int alt140=2;
                switch ( LA(1) )
                {
                    case TEMPORARY_SYMBOL:
                    	{
                    		alt140=1;
                    	}
                        break;
                }

                switch (alt140)
                {
            	case 1:
            	    // MySQL.g:569:2: TEMPORARY_SYMBOL
            	    {
            	        TEMPORARY_SYMBOL470 = (pANTLR3_COMMON_TOKEN) MATCHT(TEMPORARY_SYMBOL, &FOLLOW_TEMPORARY_SYMBOL_in_create_table2375);
            	        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_table2378);
            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:569:33: ( if_not_exists )?
            {
                int alt141=2;
                switch ( LA(1) )
                {
                    case IF_SYMBOL:
                    	{
                    		alt141=1;
                    	}
                        break;
                }

                switch (alt141)
                {
            	case 1:
            	    // MySQL.g:569:33: if_not_exists
            	    {
            	        FOLLOWPUSH(FOLLOW_if_not_exists_in_create_table2380);
            	        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_table2383);
            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:570: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:571: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_table2392);
            	        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:572: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:573:6: create_field_list CLOSE_PAR_SYMBOL ( create_table_options )? ( partitioning )? ( table_creation_source )?
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_create_field_list_in_create_table2405);
            	        	        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_table2407);
            	        	        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:573: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:573:41: create_table_options
            	        	        	    {
            	        	        	        FOLLOWPUSH(FOLLOW_create_table_options_in_create_table2409);
            	        	        	        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:573: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:573:63: partitioning
            	        	        	    {
            	        	        	        FOLLOWPUSH(FOLLOW_partitioning_in_create_table2412);
            	        	        	        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:573: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:573:77: table_creation_source
            	        	        	    {
            	        	        	        FOLLOWPUSH(FOLLOW_table_creation_source_in_create_table2415);
            	        	        	        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:574:8: partitioning create_select CLOSE_PAR_SYMBOL ( union_clause )?
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_partitioning_in_create_table2425);
            	        	        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_table2427);
            	        	        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_table2429);
            	        	        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:574:52: ( union_clause )?
            	        	        {
            	        	            int alt145=2;
            	        	            switch ( LA(1) )
            	        	            {
            	        	                case UNION_SYMBOL:
            	        	                	{
            	        	                		alt145=1;
            	        	                	}
            	        	                    break;
            	        	            }

            	        	            switch (alt145)
            	        	            {
            	        	        	case 1:
            	        	        	    // MySQL.g:574:52: union_clause
            	        	        	    {
            	        	        	        FOLLOWPUSH(FOLLOW_union_clause_in_create_table2431);
            	        	        	        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:576:6: ( create_table_options )? ( partitioning )? table_creation_source
            	    {
            	        // MySQL.g:576: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:576:6: create_table_options
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_create_table_options_in_create_table2445);
            	        	        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:576: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:576:28: partitioning
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_partitioning_in_create_table2448);
            	        	        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_table2451);
            	        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:577:6: LIKE_SYMBOL table_identifier
            	    {
            	        LIKE_SYMBOL487 = (pANTLR3_COMMON_TOKEN) MATCHT(LIKE_SYMBOL, &FOLLOW_LIKE_SYMBOL_in_create_table2458);
            	        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_table2460);
            	        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:578: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_table2467);
            	        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_table2469);
            	        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_table2471);
            	        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_table2473);
            	        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:582: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:582:18: ( create_field_list_item ( COMMA_SYMBOL create_field_list_item )* )
        // MySQL.g:583: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_list2486);
            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:583: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:583:26: COMMA_SYMBOL create_field_list_item
            	    {
            	        COMMA_SYMBOL494 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_create_field_list2489);
            	        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_list2491);
            	        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:586: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:586: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:587:2: column_definition
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_column_definition_in_create_field_list_item2502);
        	        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:588: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:588:4: ( CONSTRAINT_SYMBOL ( identifier )? )?
        	        {
        	            int alt152=2;
        	            switch ( LA(1) )
        	            {
        	                case CONSTRAINT_SYMBOL:
        	                	{
        	                		alt152=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt152)
        	            {
        	        	case 1:
        	        	    // MySQL.g:588:5: CONSTRAINT_SYMBOL ( identifier )?
        	        	    {
        	        	        CONSTRAINT_SYMBOL497 = (pANTLR3_COMMON_TOKEN) MATCHT(CONSTRAINT_SYMBOL, &FOLLOW_CONSTRAINT_SYMBOL_in_create_field_list_item2508);
        	        	        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:588: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:588:23: identifier
        	        	        	    {
        	        	        	        FOLLOWPUSH(FOLLOW_identifier_in_create_field_list_item2510);
        	        	        	        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:589: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:590: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_item2522);
        	        	        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_item2524);
        	        	        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:590:30: ( index_type )?
        	        	        {
        	        	            int alt153=2;
        	        	            switch ( LA(1) )
        	        	            {
        	        	                case TYPE_SYMBOL:
        	        	                case USING_SYMBOL:
        	        	                	{
        	        	                		alt153=1;
        	        	                	}
        	        	                    break;
        	        	            }

        	        	            switch (alt153)
        	        	            {
        	        	        	case 1:
        	        	        	    // MySQL.g:590:30: index_type
        	        	        	    {
        	        	        	        FOLLOWPUSH(FOLLOW_index_type_in_create_field_list_item2526);
        	        	        	        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_item2529);
        	        	        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:590: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:590:56: index_option
        	        	        	    {
        	        	        	        FOLLOWPUSH(FOLLOW_index_option_in_create_field_list_item2531);
        	        	        	        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:591: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_item2539);
        	        	        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_item2541);
        	        	        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:591: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:591:32: pure_identifier
        	        	        	    {
        	        	        	        FOLLOWPUSH(FOLLOW_pure_identifier_in_create_field_list_item2543);
        	        	        	        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_item2546);
        	        	        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_item2548);
        	        	        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:592: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_item2555);
        	        	        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:592: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:592: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:592:49: identifier
        	        	        	    {
        	        	        	        FOLLOWPUSH(FOLLOW_identifier_in_create_field_list_item2566);
        	        	        	        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:592:61: ( index_type )?
        	        	        {
        	        	            int alt158=2;
        	        	            switch ( LA(1) )
        	        	            {
        	        	                case TYPE_SYMBOL:
        	        	                case USING_SYMBOL:
        	        	                	{
        	        	                		alt158=1;
        	        	                	}
        	        	                    break;
        	        	            }

        	        	            switch (alt158)
        	        	            {
        	        	        	case 1:
        	        	        	    // MySQL.g:592:61: index_type
        	        	        	    {
        	        	        	        FOLLOWPUSH(FOLLOW_index_type_in_create_field_list_item2569);
        	        	        	        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_item2572);
        	        	        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:592: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:592:87: index_option
        	        	        	    {
        	        	        	        FOLLOWPUSH(FOLLOW_index_option_in_create_field_list_item2574);
        	        	        	        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:594: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:594: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:594:32: identifier
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_identifier_in_create_field_list_item2592);
        	        	        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:594:44: ( index_type )?
        	        {
        	            int alt162=2;
        	            switch ( LA(1) )
        	            {
        	                case TYPE_SYMBOL:
        	                case USING_SYMBOL:
        	                	{
        	                		alt162=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt162)
        	            {
        	        	case 1:
        	        	    // MySQL.g:594:44: index_type
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_index_type_in_create_field_list_item2595);
        	        	        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_item2598);
        	        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:594: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:594:70: index_option
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_index_option_in_create_field_list_item2600);
        	        	        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:595: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:595: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:595: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:595:68: identifier
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_identifier_in_create_field_list_item2623);
        	        	        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_item2626);
        	        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:595: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:595:94: index_option
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_index_option_in_create_field_list_item2628);
        	        	        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:596: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_item2634);
        	        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_item2636);
        	        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_item2638);
        	        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_item2640);
        	        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:599: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:599:22: ( ( REPLACE_SYMBOL | IGNORE_SYMBOL )? ( AS_SYMBOL )? ( create_select | OPEN_PAR_SYMBOL create_select CLOSE_PAR_SYMBOL ) ( union_clause )? )
        // MySQL.g:600: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:600: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:600:36: ( AS_SYMBOL )?
            {
                int alt169=2;
                switch ( LA(1) )
                {
                    case AS_SYMBOL:
                    	{
                    		alt169=1;
                    	}
                        break;
                }

                switch (alt169)
                {
            	case 1:
            	    // MySQL.g:600:36: AS_SYMBOL
            	    {
            	        AS_SYMBOL530 = (pANTLR3_COMMON_TOKEN) MATCHT(AS_SYMBOL, &FOLLOW_AS_SYMBOL_in_table_creation_source2658);
            	        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:600: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:600:48: create_select
            	    {
            	        FOLLOWPUSH(FOLLOW_create_select_in_table_creation_source2662);
            	        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:600: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_source2666);
            	        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_source2668);
            	        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_source2670);
            	        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:600:112: ( union_clause )?
            {
                int alt171=2;
                switch ( LA(1) )
                {
                    case UNION_SYMBOL:
                    	{
                    		alt171=1;
                    	}
                        break;
                }

                switch (alt171)
                {
            	case 1:
            	    // MySQL.g:600:112: union_clause
            	    {
            	        FOLLOWPUSH(FOLLOW_union_clause_in_table_creation_source2673);
            	        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:604: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:604:14: ( SELECT_SYMBOL ( options {greedy=true; } : select_option )* select_item_list ( select_source_and_options )? ( select_lock_type )? )
        // MySQL.g:605: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_select2684);
            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:605: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:605:46: select_option
            	    {
            	        FOLLOWPUSH(FOLLOW_select_option_in_create_select2700);
            	        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_select2704);
            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:605: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:605:79: select_source_and_options
            	    {
            	        FOLLOWPUSH(FOLLOW_select_source_and_options_in_create_select2706);
            	        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:605: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:605:106: select_lock_type
            	    {
            	        FOLLOWPUSH(FOLLOW_select_lock_type_in_create_select2709);
            	        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:608: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:608: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:609: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_tablespace2719);
            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_tablespace2721);
            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_tablespace2723);
            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_tablespace2725);
            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_tablespace2727);
            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:610: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:610:4: USE_SYMBOL LOGFILE_SYMBOL GROUP_SYMBOL identifier
            	    {
            	        USE_SYMBOL546 = (pANTLR3_COMMON_TOKEN) MATCHT(USE_SYMBOL, &FOLLOW_USE_SYMBOL_in_create_tablespace2732);
            	        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_tablespace2734);
            	        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_tablespace2736);
            	        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_tablespace2738);
            	        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:610: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:610:57: tablespace_option ( ( COMMA_SYMBOL )? tablespace_option )*
            	    {
            	        FOLLOWPUSH(FOLLOW_tablespace_option_in_create_tablespace2743);
            	        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:610: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:610:76: ( COMMA_SYMBOL )? tablespace_option
            	        	    {
            	        	        // MySQL.g:610:76: ( COMMA_SYMBOL )?
            	        	        {
            	        	            int alt176=2;
            	        	            switch ( LA(1) )
            	        	            {
            	        	                case COMMA_SYMBOL:
            	        	                	{
            	        	                		alt176=1;
            	        	                	}
            	        	                    break;
            	        	            }

            	        	            switch (alt176)
            	        	            {
            	        	        	case 1:
            	        	        	    // MySQL.g:610:76: COMMA_SYMBOL
            	        	        	    {
            	        	        	        COMMA_SYMBOL551 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_create_tablespace2746);
            	        	        	        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_tablespace2749);
            	        	        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:613: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:613: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:614: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_option2762);
        	        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:614:22: ( EQUAL_OPERATOR )?
        	        {
        	            int alt179=2;
        	            switch ( LA(1) )
        	            {
        	                case EQUAL_OPERATOR:
        	                	{
        	                		alt179=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt179)
        	            {
        	        	case 1:
        	        	    // MySQL.g:614:22: EQUAL_OPERATOR
        	        	    {
        	        	        EQUAL_OPERATOR554 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_tablespace_option2764);
        	        	        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_option2767);
        	        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:615: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_option2772);
        	        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:615:27: ( EQUAL_OPERATOR )?
        	        {
        	            int alt180=2;
        	            switch ( LA(1) )
        	            {
        	                case EQUAL_OPERATOR:
        	                	{
        	                		alt180=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt180)
        	            {
        	        	case 1:
        	        	    // MySQL.g:615:27: EQUAL_OPERATOR
        	        	    {
        	        	        EQUAL_OPERATOR557 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_tablespace_option2774);
        	        	        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_option2777);
        	        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:616: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_option2782);
        	        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:616:20: ( EQUAL_OPERATOR )?
        	        {
        	            int alt181=2;
        	            switch ( LA(1) )
        	            {
        	                case EQUAL_OPERATOR:
        	                	{
        	                		alt181=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt181)
        	            {
        	        	case 1:
        	        	    // MySQL.g:616:20: EQUAL_OPERATOR
        	        	    {
        	        	        EQUAL_OPERATOR560 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_tablespace_option2784);
        	        	        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_option2787);
        	        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:617: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_option2792);
        	        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:617:23: ( EQUAL_OPERATOR )?
        	        {
        	            int alt182=2;
        	            switch ( LA(1) )
        	            {
        	                case EQUAL_OPERATOR:
        	                	{
        	                		alt182=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt182)
        	            {
        	        	case 1:
        	        	    // MySQL.g:617:23: EQUAL_OPERATOR
        	        	    {
        	        	        EQUAL_OPERATOR563 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_tablespace_option2794);
        	        	        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_option2797);
        	        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:618: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_option2802);
        	        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:618:21: ( EQUAL_OPERATOR )?
        	        {
        	            int alt183=2;
        	            switch ( LA(1) )
        	            {
        	                case EQUAL_OPERATOR:
        	                	{
        	                		alt183=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt183)
        	            {
        	        	case 1:
        	        	    // MySQL.g:618:21: EQUAL_OPERATOR
        	        	    {
        	        	        EQUAL_OPERATOR566 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_tablespace_option2804);
        	        	        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:619: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:620: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_option2829);
        	        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:620:19: ( EQUAL_OPERATOR )?
        	        {
        	            int alt184=2;
        	            switch ( LA(1) )
        	            {
        	                case EQUAL_OPERATOR:
        	                	{
        	                		alt184=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt184)
        	            {
        	        	case 1:
        	        	    // MySQL.g:620:19: EQUAL_OPERATOR
        	        	    {
        	        	        EQUAL_OPERATOR570 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_tablespace_option2831);
        	        	        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_option2834);
        	        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:621:4: ( STORAGE_SYMBOL )? ENGINE_SYMBOL ( EQUAL_OPERATOR )? text_or_identifier
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        // MySQL.g:621:4: ( STORAGE_SYMBOL )?
        	        {
        	            int alt185=2;
        	            switch ( LA(1) )
        	            {
        	                case STORAGE_SYMBOL:
        	                	{
        	                		alt185=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt185)
        	            {
        	        	case 1:
        	        	    // MySQL.g:621:4: STORAGE_SYMBOL
        	        	    {
        	        	        STORAGE_SYMBOL572 = (pANTLR3_COMMON_TOKEN) MATCHT(STORAGE_SYMBOL, &FOLLOW_STORAGE_SYMBOL_in_tablespace_option2839);
        	        	        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_option2842);
        	        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:621:34: ( EQUAL_OPERATOR )?
        	        {
        	            int alt186=2;
        	            switch ( LA(1) )
        	            {
        	                case EQUAL_OPERATOR:
        	                	{
        	                		alt186=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt186)
        	            {
        	        	case 1:
        	        	    // MySQL.g:621:34: EQUAL_OPERATOR
        	        	    {
        	        	        EQUAL_OPERATOR574 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_tablespace_option2844);
        	        	        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_option2847);
        	        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:624: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:624: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:625: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_trigger2856);
            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_trigger2858);
            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_trigger2882);
            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_trigger2884);
            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_trigger2886);
            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_trigger2888);
            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_trigger2890);
            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_trigger2892);
            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:629: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:629: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:630: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:630: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:630:3: SQL_SYMBOL SECURITY_SYMBOL ( DEFINER_SYMBOL | INVOKER_SYMBOL )
            	    {
            	        SQL_SYMBOL586 = (pANTLR3_COMMON_TOKEN) MATCHT(SQL_SYMBOL, &FOLLOW_SQL_SYMBOL_in_create_view2902);
            	        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_view2904);
            	        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_view2918);
            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_view2920);
            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:631:36: ( identifier_list_with_parentheses )?
            {
                int alt189=2;
                switch ( LA(1) )
                {
                    case OPEN_PAR_SYMBOL:
                    	{
                    		alt189=1;
                    	}
                        break;
                }

                switch (alt189)
                {
            	case 1:
            	    // MySQL.g:631:36: identifier_list_with_parentheses
            	    {
            	        FOLLOWPUSH(FOLLOW_identifier_list_with_parentheses_in_create_view2922);
            	        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_view2927);
            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_view2929);
            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:633: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:633:4: WITH_SYMBOL ( CASCADED_SYMBOL | LOCAL_SYMBOL )? CHECK_SYMBOL OPTION_SYMBOL
            	    {
            	        WITH_SYMBOL594 = (pANTLR3_COMMON_TOKEN) MATCHT(WITH_SYMBOL, &FOLLOW_WITH_SYMBOL_in_create_view2934);
            	        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:633: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_view2945);
            	        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_view2947);
            	        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:636: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:636: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:637: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_algorithm2958);
        	        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_algorithm2960);
        	        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:637:27: ( view_algorithm )?
        	        {
        	            int alt192=2;
        	            switch ( LA(1) )
        	            {
        	                case ALGORITHM_SYMBOL:
        	                	{
        	                		alt192=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt192)
        	            {
        	        	case 1:
        	        	    // MySQL.g:637:27: view_algorithm
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_view_algorithm_in_view_replace_or_algorithm2962);
        	        	        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:638:4: view_algorithm
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_view_algorithm_in_view_replace_or_algorithm2968);
        	        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:641: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:641:15: ( ALGORITHM_SYMBOL EQUAL_OPERATOR ( UNDEFINED_SYMBOL | MERGE_SYMBOL | TEMPTABLE_SYMBOL ) )
        // MySQL.g:642: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_algorithm2977);
            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_algorithm2979);
            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:647: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:647: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:648: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_statement3002);
            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:649: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:650:3: DATABASE_SYMBOL ( if_exists )? identifier
            	    {
            	        DATABASE_SYMBOL606 = (pANTLR3_COMMON_TOKEN) MATCHT(DATABASE_SYMBOL, &FOLLOW_DATABASE_SYMBOL_in_drop_statement3010);
            	        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:650:19: ( if_exists )?
            	        {
            	            int alt194=2;
            	            switch ( LA(1) )
            	            {
            	                case IF_SYMBOL:
            	                	{
            	                		alt194=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt194)
            	            {
            	        	case 1:
            	        	    // MySQL.g:650:19: if_exists
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_if_exists_in_drop_statement3012);
            	        	        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_statement3016);
            	        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:651: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_statement3026);
            	        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:651:48: ( if_exists )?
            	        {
            	            int alt195=2;
            	            switch ( LA(1) )
            	            {
            	                case IF_SYMBOL:
            	                	{
            	                		alt195=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt195)
            	            {
            	        	case 1:
            	        	    // MySQL.g:651:48: if_exists
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_if_exists_in_drop_statement3028);
            	        	        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_statement3031);
            	        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:652: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:652:42: ( if_exists )?
            	        {
            	            int alt196=2;
            	            switch ( LA(1) )
            	            {
            	                case IF_SYMBOL:
            	                	{
            	                		alt196=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt196)
            	            {
            	        	case 1:
            	        	    // MySQL.g:652:42: if_exists
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_if_exists_in_drop_statement3045);
            	        	        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_statement3048);
            	        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:653:5: ( online_option )? INDEX_SYMBOL identifier ON_SYMBOL table_identifier ( index_lock_algorithm )?
            	    {
            	        // MySQL.g:653: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:653:5: online_option
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_online_option_in_drop_statement3055);
            	        	        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_statement3058);
            	        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_statement3060);
            	        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_statement3062);
            	        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_statement3064);
            	        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:653: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:653:71: index_lock_algorithm
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_index_lock_algorithm_in_drop_statement3066);
            	        	        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:654: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_statement3073);
            	        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_statement3075);
            	        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_statement3077);
            	        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:654: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:654:45: drop_logfile_group_option ( ( COMMA_SYMBOL )? drop_logfile_group_option )*
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_drop_logfile_group_option_in_drop_statement3080);
            	        	        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:654: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:654:72: ( COMMA_SYMBOL )? drop_logfile_group_option
            	        	        	    {
            	        	        	        // MySQL.g:654:72: ( COMMA_SYMBOL )?
            	        	        	        {
            	        	        	            int alt199=2;
            	        	        	            switch ( LA(1) )
            	        	        	            {
            	        	        	                case COMMA_SYMBOL:
            	        	        	                	{
            	        	        	                		alt199=1;
            	        	        	                	}
            	        	        	                    break;
            	        	        	            }

            	        	        	            switch (alt199)
            	        	        	            {
            	        	        	        	case 1:
            	        	        	        	    // MySQL.g:654:72: COMMA_SYMBOL
            	        	        	        	    {
            	        	        	        	        COMMA_SYMBOL625 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_drop_statement3083);
            	        	        	        	        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_statement3086);
            	        	        	        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:655:5: SERVER_SYMBOL ( if_exists )? text_or_identifier
            	    {
            	        SERVER_SYMBOL627 = (pANTLR3_COMMON_TOKEN) MATCHT(SERVER_SYMBOL, &FOLLOW_SERVER_SYMBOL_in_drop_statement3096);
            	        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:655:19: ( if_exists )?
            	        {
            	            int alt202=2;
            	            switch ( LA(1) )
            	            {
            	                case IF_SYMBOL:
            	                	{
            	                		alt202=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt202)
            	            {
            	        	case 1:
            	        	    // MySQL.g:655:19: if_exists
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_if_exists_in_drop_statement3098);
            	        	        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_statement3101);
            	        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:656:5: ( TEMPORARY_SYMBOL )? ( TABLE_SYMBOL | TABLES_SYMBOL ) ( if_exists )? table_identifier_list ( RESTRICT_SYMBOL | CASCADE_SYMBOL )?
            	    {
            	        // MySQL.g:656:5: ( TEMPORARY_SYMBOL )?
            	        {
            	            int alt203=2;
            	            switch ( LA(1) )
            	            {
            	                case TEMPORARY_SYMBOL:
            	                	{
            	                		alt203=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt203)
            	            {
            	        	case 1:
            	        	    // MySQL.g:656:5: TEMPORARY_SYMBOL
            	        	    {
            	        	        TEMPORARY_SYMBOL630 = (pANTLR3_COMMON_TOKEN) MATCHT(TEMPORARY_SYMBOL, &FOLLOW_TEMPORARY_SYMBOL_in_drop_statement3107);
            	        	        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:656:54: ( if_exists )?
            	        {
            	            int alt204=2;
            	            switch ( LA(1) )
            	            {
            	                case IF_SYMBOL:
            	                	{
            	                		alt204=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt204)
            	            {
            	        	case 1:
            	        	    // MySQL.g:656:54: if_exists
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_if_exists_in_drop_statement3118);
            	        	        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_statement3121);
            	        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:656: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:657: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_statement3136);
            	        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_statement3138);
            	        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:657: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:657:35: drop_logfile_group_option ( ( COMMA_SYMBOL )? drop_logfile_group_option )*
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_drop_logfile_group_option_in_drop_statement3141);
            	        	        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:657: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:657:62: ( COMMA_SYMBOL )? drop_logfile_group_option
            	        	        	    {
            	        	        	        // MySQL.g:657:62: ( COMMA_SYMBOL )?
            	        	        	        {
            	        	        	            int alt206=2;
            	        	        	            switch ( LA(1) )
            	        	        	            {
            	        	        	                case COMMA_SYMBOL:
            	        	        	                	{
            	        	        	                		alt206=1;
            	        	        	                	}
            	        	        	                    break;
            	        	        	            }

            	        	        	            switch (alt206)
            	        	        	            {
            	        	        	        	case 1:
            	        	        	        	    // MySQL.g:657:62: COMMA_SYMBOL
            	        	        	        	    {
            	        	        	        	        COMMA_SYMBOL638 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_drop_statement3144);
            	        	        	        	        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_statement3147);
            	        	        	        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:658:5: TRIGGER_SYMBOL ( if_exists )? qualified_identifier
            	    {
            	        TRIGGER_SYMBOL640 = (pANTLR3_COMMON_TOKEN) MATCHT(TRIGGER_SYMBOL, &FOLLOW_TRIGGER_SYMBOL_in_drop_statement3157);
            	        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:658:20: ( if_exists )?
            	        {
            	            int alt209=2;
            	            switch ( LA(1) )
            	            {
            	                case IF_SYMBOL:
            	                	{
            	                		alt209=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt209)
            	            {
            	        	case 1:
            	        	    // MySQL.g:658:20: if_exists
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_if_exists_in_drop_statement3159);
            	        	        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_statement3162);
            	        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:659: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_statement3168);
            	        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:659:17: ( if_exists )?
            	        {
            	            int alt210=2;
            	            switch ( LA(1) )
            	            {
            	                case IF_SYMBOL:
            	                	{
            	                		alt210=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt210)
            	            {
            	        	case 1:
            	        	    // MySQL.g:659:17: if_exists
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_if_exists_in_drop_statement3170);
            	        	        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_statement3173);
            	        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:659: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:663: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:663: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:664: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:665:4: ( STORAGE_SYMBOL )? ENGINE_SYMBOL ( EQUAL_OPERATOR )? text_or_identifier
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        // MySQL.g:665:4: ( STORAGE_SYMBOL )?
        	        {
        	            int alt213=2;
        	            switch ( LA(1) )
        	            {
        	                case STORAGE_SYMBOL:
        	                	{
        	                		alt213=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt213)
        	            {
        	        	case 1:
        	        	    // MySQL.g:665:4: STORAGE_SYMBOL
        	        	    {
        	        	        STORAGE_SYMBOL648 = (pANTLR3_COMMON_TOKEN) MATCHT(STORAGE_SYMBOL, &FOLLOW_STORAGE_SYMBOL_in_drop_logfile_group_option3205);
        	        	        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_option3208);
        	        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:665:34: ( EQUAL_OPERATOR )?
        	        {
        	            int alt214=2;
        	            switch ( LA(1) )
        	            {
        	                case EQUAL_OPERATOR:
        	                	{
        	                		alt214=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt214)
        	            {
        	        	case 1:
        	        	    // MySQL.g:665:34: EQUAL_OPERATOR
        	        	    {
        	        	        EQUAL_OPERATOR650 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_drop_logfile_group_option3210);
        	        	        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_option3213);
        	        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:669: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:669:23: ( RENAME_SYMBOL ^ ( TABLE_SYMBOL | TABLES_SYMBOL ) table_identifier TO_SYMBOL table_identifier ( COMMA_SYMBOL table_identifier TO_SYMBOL table_identifier )* )
        // MySQL.g:670: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_statement3223);
            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_statement3236);
            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_statement3238);
            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_statement3240);
            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:671: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:671:48: COMMA_SYMBOL table_identifier TO_SYMBOL table_identifier
            	    {
            	        COMMA_SYMBOL657 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_rename_table_statement3243);
            	        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_statement3245);
            	        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_statement3247);
            	        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_statement3249);
            	        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:676: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:676:25: ( TRUNCATE_SYMBOL ^ ( TABLE_SYMBOL )? table_identifier )
        // MySQL.g:677: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_statement3263);
            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:677:19: ( TABLE_SYMBOL )?
            {
                int alt217=2;
                switch ( LA(1) )
                {
                    case TABLE_SYMBOL:
                    	{
                    		alt217=1;
                    	}
                        break;
                }

                switch (alt217)
                {
            	case 1:
            	    // MySQL.g:677:19: TABLE_SYMBOL
            	    {
            	        TABLE_SYMBOL662 = (pANTLR3_COMMON_TOKEN) MATCHT(TABLE_SYMBOL, &FOLLOW_TABLE_SYMBOL_in_truncate_table_statement3266);
            	        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_statement3269);
            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:682: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:682:15: ( CALL_SYMBOL ^ qualified_identifier ( OPEN_PAR_SYMBOL ( expression_list )? CLOSE_PAR_SYMBOL )? )
        // MySQL.g:683: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_statement3280);
            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_statement3283);
            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:683: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:683: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_statement3286);
            	        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:683: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:683:53: expression_list
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_expression_list_in_call_statement3288);
            	        	        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_statement3291);
            	        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:686: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:686: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:687: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_statement3302);
            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:687: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:687:47: delete_option
            	    {
            	        FOLLOWPUSH(FOLLOW_delete_option_in_delete_statement3319);
            	        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:688: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:689: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_statement3330);
            	        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:692: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:693:6: table_name_list_with_wildcards USING_SYMBOL table_references ( where_clause )?
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_table_name_list_with_wildcards_in_delete_statement3365);
            	        	        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_statement3367);
            	        	        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_statement3369);
            	        	        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:693:67: ( where_clause )?
            	        	        {
            	        	            int alt221=2;
            	        	            switch ( LA(1) )
            	        	            {
            	        	                case WHERE_SYMBOL:
            	        	                	{
            	        	                		alt221=1;
            	        	                	}
            	        	                    break;
            	        	            }

            	        	            switch (alt221)
            	        	            {
            	        	        	case 1:
            	        	        	    // MySQL.g:693:67: where_clause
            	        	        	    {
            	        	        	        FOLLOWPUSH(FOLLOW_where_clause_in_delete_statement3371);
            	        	        	        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:694:8: table_identifier ( partition_delete )? ( where_clause )? ( order_by_clause )? ( LIMIT_SYMBOL limit_option )?
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_table_identifier_in_delete_statement3382);
            	        	        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:694: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:694:25: partition_delete
            	        	        	    {
            	        	        	        FOLLOWPUSH(FOLLOW_partition_delete_in_delete_statement3384);
            	        	        	        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:694:43: ( where_clause )?
            	        	        {
            	        	            int alt223=2;
            	        	            switch ( LA(1) )
            	        	            {
            	        	                case WHERE_SYMBOL:
            	        	                	{
            	        	                		alt223=1;
            	        	                	}
            	        	                    break;
            	        	            }

            	        	            switch (alt223)
            	        	            {
            	        	        	case 1:
            	        	        	    // MySQL.g:694:43: where_clause
            	        	        	    {
            	        	        	        FOLLOWPUSH(FOLLOW_where_clause_in_delete_statement3387);
            	        	        	        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:694:57: ( order_by_clause )?
            	        	        {
            	        	            int alt224=2;
            	        	            switch ( LA(1) )
            	        	            {
            	        	                case ORDER_SYMBOL:
            	        	                	{
            	        	                		alt224=1;
            	        	                	}
            	        	                    break;
            	        	            }

            	        	            switch (alt224)
            	        	            {
            	        	        	case 1:
            	        	        	    // MySQL.g:694:57: order_by_clause
            	        	        	    {
            	        	        	        FOLLOWPUSH(FOLLOW_order_by_clause_in_delete_statement3390);
            	        	        	        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:694:74: ( LIMIT_SYMBOL limit_option )?
            	        	        {
            	        	            int alt225=2;
            	        	            switch ( LA(1) )
            	        	            {
            	        	                case LIMIT_SYMBOL:
            	        	                	{
            	        	                		alt225=1;
            	        	                	}
            	        	                    break;
            	        	            }

            	        	            switch (alt225)
            	        	            {
            	        	        	case 1:
            	        	        	    // MySQL.g:694:75: LIMIT_SYMBOL limit_option
            	        	        	    {
            	        	        	        LIMIT_SYMBOL680 = (pANTLR3_COMMON_TOKEN) MATCHT(LIMIT_SYMBOL, &FOLLOW_LIMIT_SYMBOL_in_delete_statement3394);
            	        	        	        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_statement3396);
            	        	        	        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:696:7: table_name_list_with_wildcards FROM_SYMBOL table_references ( where_clause )?
            	    {
            	        FOLLOWPUSH(FOLLOW_table_name_list_with_wildcards_in_delete_statement3413);
            	        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_statement3415);
            	        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_statement3417);
            	        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:696:67: ( where_clause )?
            	        {
            	            int alt227=2;
            	            switch ( LA(1) )
            	            {
            	                case WHERE_SYMBOL:
            	                	{
            	                		alt227=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt227)
            	            {
            	        	case 1:
            	        	    // MySQL.g:696:67: where_clause
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_where_clause_in_delete_statement3419);
            	        	        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:700: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:700:17: ({...}? => PARTITION_SYMBOL OPEN_PAR_SYMBOL identifier_list CLOSE_PAR_SYMBOL )
        // MySQL.g:701: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_delete3438);
            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_delete3440);
            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_delete3442);
            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_delete3444);
            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:704: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:704: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:708: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:708:31: ( target_table_with_optional_wildcard ( COMMA_SYMBOL target_table_with_optional_wildcard )* )
        // MySQL.g:709: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_wildcards3470);
            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:709: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:709:39: COMMA_SYMBOL target_table_with_optional_wildcard
            	    {
            	        COMMA_SYMBOL692 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_table_name_list_with_wildcards3473);
            	        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_wildcards3475);
            	        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:712: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:712:13: ( DO_SYMBOL ^ expression_list )
        // MySQL.g:713: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_statement3486);
            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_statement3489);
            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:716: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:716: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:717: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_statement3498);
            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:718: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:719:3: table_identifier OPEN_SYMBOL ( ( AS_SYMBOL )? identifier )?
            	    {
            	        FOLLOWPUSH(FOLLOW_table_identifier_in_handler_statement3506);
            	        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_statement3508);
            	        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:719: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:719:33: ( AS_SYMBOL )? identifier
            	        	    {
            	        	        // MySQL.g:719:33: ( AS_SYMBOL )?
            	        	        {
            	        	            int alt230=2;
            	        	            switch ( LA(1) )
            	        	            {
            	        	                case AS_SYMBOL:
            	        	                	{
            	        	                		alt230=1;
            	        	                	}
            	        	                    break;
            	        	            }

            	        	            switch (alt230)
            	        	            {
            	        	        	case 1:
            	        	        	    // MySQL.g:719:33: AS_SYMBOL
            	        	        	    {
            	        	        	        AS_SYMBOL699 = (pANTLR3_COMMON_TOKEN) MATCHT(AS_SYMBOL, &FOLLOW_AS_SYMBOL_in_handler_statement3511);
            	        	        	        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_statement3514);
            	        	        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:720:5: identifier CLOSE_SYMBOL
            	    {
            	        FOLLOWPUSH(FOLLOW_identifier_in_handler_statement3522);
            	        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_statement3524);
            	        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:721: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_statement3530);
            	        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_statement3532);
            	        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:722: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:723: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:724: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_statement3557);
            	        	        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:725: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:726: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:727: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_statement3623);
            	        	        	        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:731:4: ( where_clause )?
            	        {
            	            int alt234=2;
            	            switch ( LA(1) )
            	            {
            	                case WHERE_SYMBOL:
            	                	{
            	                		alt234=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt234)
            	            {
            	        	case 1:
            	        	    // MySQL.g:731:4: where_clause
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_where_clause_in_handler_statement3640);
            	        	        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:731:18: ( limit_clause )?
            	        {
            	            int alt235=2;
            	            switch ( LA(1) )
            	            {
            	                case LIMIT_SYMBOL:
            	                	{
            	                		alt235=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt235)
            	            {
            	        	case 1:
            	        	    // MySQL.g:731:18: limit_clause
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_limit_clause_in_handler_statement3643);
            	        	        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:737: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:737:17: ( INSERT_SYMBOL ^ ( insert_option )? ( IGNORE_SYMBOL )? ( INTO_SYMBOL )? table_identifier ( use_partition )? insert_field_spec ( duplicate_key_update )? )
        // MySQL.g:738: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_statement3658);
            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:738: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:738:17: insert_option
            	    {
            	        FOLLOWPUSH(FOLLOW_insert_option_in_insert_statement3661);
            	        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:738:32: ( IGNORE_SYMBOL )?
            {
                int alt238=2;
                switch ( LA(1) )
                {
                    case IGNORE_SYMBOL:
                    	{
                    		alt238=1;
                    	}
                        break;
                }

                switch (alt238)
                {
            	case 1:
            	    // MySQL.g:738:32: IGNORE_SYMBOL
            	    {
            	        IGNORE_SYMBOL714 = (pANTLR3_COMMON_TOKEN) MATCHT(IGNORE_SYMBOL, &FOLLOW_IGNORE_SYMBOL_in_insert_statement3664);
            	        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:738:47: ( INTO_SYMBOL )?
            {
                int alt239=2;
                switch ( LA(1) )
                {
                    case INTO_SYMBOL:
                    	{
                    		alt239=1;
                    	}
                        break;
                }

                switch (alt239)
                {
            	case 1:
            	    // MySQL.g:738:47: INTO_SYMBOL
            	    {
            	        INTO_SYMBOL715 = (pANTLR3_COMMON_TOKEN) MATCHT(INTO_SYMBOL, &FOLLOW_INTO_SYMBOL_in_insert_statement3667);
            	        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_statement3670);
            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:738: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:738:77: use_partition
            	    {
            	        FOLLOWPUSH(FOLLOW_use_partition_in_insert_statement3672);
            	        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_statement3675);
            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:738:110: ( duplicate_key_update )?
            {
                int alt241=2;
                switch ( LA(1) )
                {
                    case ON_SYMBOL:
                    	{
                    		alt241=1;
                    	}
                        break;
                }

                switch (alt241)
                {
            	case 1:
            	    // MySQL.g:738:110: duplicate_key_update
            	    {
            	        FOLLOWPUSH(FOLLOW_duplicate_key_update_in_insert_statement3677);
            	        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:741: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:741: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:747: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:747: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:748:2: ( OPEN_PAR_SYMBOL ( fields )? CLOSE_PAR_SYMBOL )? insert_values
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        // MySQL.g:748: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:748: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_spec3709);
        	        	        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:748: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:748:19: fields
        	        	        	    {
        	        	        	        FOLLOWPUSH(FOLLOW_fields_in_insert_field_spec3711);
        	        	        	        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_spec3714);
        	        	        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_spec3718);
        	        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:749: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_spec3723);
        	        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_spec3725);
        	        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:752: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:752:7: ( insert_identifier ( COMMA_SYMBOL insert_identifier )* )
        // MySQL.g:753:2: insert_identifier ( COMMA_SYMBOL insert_identifier )*
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            FOLLOWPUSH(FOLLOW_insert_identifier_in_fields3734);
            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:753:20: ( COMMA_SYMBOL insert_identifier )*

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

                }

                switch (alt245)
                {
            	case 1:
            	    // MySQL.g:753:21: COMMA_SYMBOL insert_identifier
            	    {
            	        COMMA_SYMBOL728 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_fields3737);
            	        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_fields3739);
            	        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:756: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:756:18: ( insert_identifier_ref -> ^( FIELD_REF_ID insert_identifier_ref ) )
        // MySQL.g:757:2: insert_identifier_ref
        {
            FOLLOWPUSH(FOLLOW_insert_identifier_ref_in_insert_identifier3750);
            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;
            	// 757:24: -> ^( FIELD_REF_ID insert_identifier_ref )
            	{
            	    // MySQL.g:757: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:761: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:761:22: ( ( identifier DOT_SYMBOL ( identifier DOT_SYMBOL )? )? ( identifier | MULT_OPERATOR ) )
        // MySQL.g:762:2: ( identifier DOT_SYMBOL ( identifier DOT_SYMBOL )? )? ( identifier | MULT_OPERATOR )
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            // MySQL.g:762: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:762:3: identifier DOT_SYMBOL ( identifier DOT_SYMBOL )?
            	    {
            	        FOLLOWPUSH(FOLLOW_identifier_in_insert_identifier_ref3769);
            	        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_ref3771);
            	        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:762: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:762:26: identifier DOT_SYMBOL
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_identifier_in_insert_identifier_ref3774);
            	        	        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_ref3776);
            	        	        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:762: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:762:53: identifier
            	    {
            	        FOLLOWPUSH(FOLLOW_identifier_in_insert_identifier_ref3783);
            	        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:762:66: MULT_OPERATOR
            	    {
            	        MULT_OPERATOR736 = (pANTLR3_COMMON_TOKEN) MATCHT(MULT_OPERATOR, &FOLLOW_MULT_OPERATOR_in_insert_identifier_ref3787);
            	        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:765: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:765: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:766: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_values3805);
        	        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:767:4: create_select ( union_clause )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_create_select_in_insert_values3810);
        	        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:767:18: ( union_clause )?
        	        {
        	            int alt249=2;
        	            switch ( LA(1) )
        	            {
        	                case UNION_SYMBOL:
        	                	{
        	                		alt249=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt249)
        	            {
        	        	case 1:
        	        	    // MySQL.g:767:18: union_clause
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_union_clause_in_insert_values3812);
        	        	        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:768: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_values3818);
        	        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_values3820);
        	        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_values3822);
        	        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:768: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:768:51: union_or_order_by_or_limit
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_union_or_order_by_or_limit_in_insert_values3824);
        	        	        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:771: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:771:18: ( values ( COMMA_SYMBOL values )* )
        // MySQL.g:772:2: values ( COMMA_SYMBOL values )*
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            FOLLOWPUSH(FOLLOW_values_in_insert_value_list3834);
            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:772:9: ( COMMA_SYMBOL values )*

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

                }

                switch (alt252)
                {
            	case 1:
            	    // MySQL.g:772:10: COMMA_SYMBOL values
            	    {
            	        COMMA_SYMBOL746 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_insert_value_list3837);
            	        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_list3839);
            	        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:776: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:776:7: ( OPEN_PAR_SYMBOL ( ( expression | DEFAULT_SYMBOL ) ( COMMA_SYMBOL ( expression | DEFAULT_SYMBOL ) )* )? CLOSE_PAR_SYMBOL )
        // MySQL.g:777: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_values3851);
            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:777: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:777:19: ( expression | DEFAULT_SYMBOL ) ( COMMA_SYMBOL ( expression | DEFAULT_SYMBOL ) )*
            	    {
            	        // MySQL.g:777: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:777:20: expression
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_expression_in_values3855);
            	        	        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:777:33: DEFAULT_SYMBOL
            	        	    {
            	        	        DEFAULT_SYMBOL750 = (pANTLR3_COMMON_TOKEN) MATCHT(DEFAULT_SYMBOL, &FOLLOW_DEFAULT_SYMBOL_in_values3859);
            	        	        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:777: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:777:50: COMMA_SYMBOL ( expression | DEFAULT_SYMBOL )
            	        	    {
            	        	        COMMA_SYMBOL751 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_values3863);
            	        	        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:777: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:777:64: expression
            	        	        	    {
            	        	        	        FOLLOWPUSH(FOLLOW_expression_in_values3866);
            	        	        	        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:777:77: DEFAULT_SYMBOL
            	        	        	    {
            	        	        	        DEFAULT_SYMBOL753 = (pANTLR3_COMMON_TOKEN) MATCHT(DEFAULT_SYMBOL, &FOLLOW_DEFAULT_SYMBOL_in_values3870);
            	        	        	        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_values3877);
            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:780: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:780:21: ( ON_SYMBOL DUPLICATE_SYMBOL KEY_SYMBOL UPDATE_SYMBOL column_assignment ( COMMA_SYMBOL column_assignment )* )
        // MySQL.g:781: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_update3886);
            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_update3888);
            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_update3890);
            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_update3892);
            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_update3894);
            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:781:72: ( COMMA_SYMBOL column_assignment )*

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

                }

                switch (alt257)
                {
            	case 1:
            	    // MySQL.g:781:73: COMMA_SYMBOL column_assignment
            	    {
            	        COMMA_SYMBOL760 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_duplicate_key_update3897);
            	        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_update3899);
            	        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:786: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:786: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:787: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_statement3912);
            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_statement3915);
            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:787: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:787:70: ( LOCAL_SYMBOL )?
            {
                int alt259=2;
                switch ( LA(1) )
                {
                    case LOCAL_SYMBOL:
                    	{
                    		alt259=1;
                    	}
                        break;
                }

                switch (alt259)
                {
            	case 1:
            	    // MySQL.g:787:70: LOCAL_SYMBOL
            	    {
            	        LOCAL_SYMBOL765 = (pANTLR3_COMMON_TOKEN) MATCHT(LOCAL_SYMBOL, &FOLLOW_LOCAL_SYMBOL_in_load_statement3926);
            	        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_statement3929);
            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_statement3931);
            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:788: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_statement3944);
            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_statement3946);
            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_statement3948);
            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:789: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:789:3: use_partition
            	    {
            	        FOLLOWPUSH(FOLLOW_use_partition_in_load_statement3952);
            	        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:789:18: ( charset_clause )?
            {
                int alt262=2;
                switch ( LA(1) )
                {
                    case CHARSET_SYMBOL:
                    case CHAR_SYMBOL:
                    	{
                    		alt262=1;
                    	}
                        break;
                }

                switch (alt262)
                {
            	case 1:
            	    // MySQL.g:789:18: charset_clause
            	    {
            	        FOLLOWPUSH(FOLLOW_charset_clause_in_load_statement3955);
            	        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:790: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:790:3: xml_rows_identified_by
            	    {
            	        FOLLOWPUSH(FOLLOW_xml_rows_identified_by_in_load_statement3960);
            	        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:791:3: ( fields_clause )?
            {
                int alt264=2;
                switch ( LA(1) )
                {
                    case COLUMNS_SYMBOL:
                    	{
                    		alt264=1;
                    	}
                        break;
                }

                switch (alt264)
                {
            	case 1:
            	    // MySQL.g:791:3: fields_clause
            	    {
            	        FOLLOWPUSH(FOLLOW_fields_clause_in_load_statement3965);
            	        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:791:18: ( lines_clause )?
            {
                int alt265=2;
                switch ( LA(1) )
                {
                    case LINES_SYMBOL:
                    	{
                    		alt265=1;
                    	}
                        break;
                }

                switch (alt265)
                {
            	case 1:
            	    // MySQL.g:791:18: lines_clause
            	    {
            	        FOLLOWPUSH(FOLLOW_lines_clause_in_load_statement3968);
            	        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_statement3973);
            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:795: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:795: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:796: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_xml3982);
        	        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:797: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_xml3991);
        	        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:800: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:800:23: ({...}? => ROWS_SYMBOL IDENTIFIED_SYMBOL BY_SYMBOL string_literal )
        // MySQL.g:801: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_by4004);
            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_by4006);
            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_by4008);
            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_by4010);
            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:804: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:804:20: ( ( IGNORE_SYMBOL INTEGER ( LINES_SYMBOL | ROWS_SYMBOL ) )? ( load_data_file_target_list )? ( SET_SYMBOL column_assignment_list_with_default )? )
        // MySQL.g:805: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:805: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:805:3: IGNORE_SYMBOL INTEGER ( LINES_SYMBOL | ROWS_SYMBOL )
            	    {
            	        IGNORE_SYMBOL784 = (pANTLR3_COMMON_TOKEN) MATCHT(IGNORE_SYMBOL, &FOLLOW_IGNORE_SYMBOL_in_load_data_file_tail4020);
            	        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_tail4022);
            	        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:805: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:805:56: load_data_file_target_list
            	    {
            	        FOLLOWPUSH(FOLLOW_load_data_file_target_list_in_load_data_file_tail4034);
            	        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:805: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:805:85: SET_SYMBOL column_assignment_list_with_default
            	    {
            	        SET_SYMBOL788 = (pANTLR3_COMMON_TOKEN) MATCHT(SET_SYMBOL, &FOLLOW_SET_SYMBOL_in_load_data_file_tail4038);
            	        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_tail4040);
            	        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:808: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:808:27: ( OPEN_PAR_SYMBOL ( field_or_variable_list )? CLOSE_PAR_SYMBOL )
        // MySQL.g:809: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_list4051);
            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:809: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:809:18: field_or_variable_list
            	    {
            	        FOLLOWPUSH(FOLLOW_field_or_variable_list_in_load_data_file_target_list4053);
            	        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_list4056);
            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:812: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:812:23: ( ( field_name | user_variable ) ( COMMA_SYMBOL ( field_name | user_variable ) )* )
        // MySQL.g:813:2: ( field_name | user_variable ) ( COMMA_SYMBOL ( field_name | user_variable ) )*
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            // MySQL.g:813: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:813:3: field_name
            	    {
            	        FOLLOWPUSH(FOLLOW_field_name_in_field_or_variable_list4066);
            	        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:813:16: user_variable
            	    {
            	        FOLLOWPUSH(FOLLOW_user_variable_in_field_or_variable_list4070);
            	        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:813: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:813:32: COMMA_SYMBOL ( field_name | user_variable )
            	    {
            	        COMMA_SYMBOL795 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_field_or_variable_list4074);
            	        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:813: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:813:46: field_name
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_field_name_in_field_or_variable_list4077);
            	        	        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:813:59: user_variable
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_user_variable_in_field_or_variable_list4081);
            	        	        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:818: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:818:18: ( REPLACE_SYMBOL ^ ( LOW_PRIORITY_SYMBOL | DELAYED_SYMBOL )? ( INTO_SYMBOL )? table_identifier ( use_partition )? insert_field_spec )
        // MySQL.g:819: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_statement4095);
            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:819: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:819:58: ( INTO_SYMBOL )?
            {
                int alt275=2;
                switch ( LA(1) )
                {
                    case INTO_SYMBOL:
                    	{
                    		alt275=1;
                    	}
                        break;
                }

                switch (alt275)
                {
            	case 1:
            	    // MySQL.g:819:58: INTO_SYMBOL
            	    {
            	        INTO_SYMBOL800 = (pANTLR3_COMMON_TOKEN) MATCHT(INTO_SYMBOL, &FOLLOW_INTO_SYMBOL_in_replace_statement4107);
            	        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_statement4110);
            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:820: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:820:3: use_partition
            	    {
            	        FOLLOWPUSH(FOLLOW_use_partition_in_replace_statement4114);
            	        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_statement4117);
            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:825: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:825: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:826: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_statement4128);
        	        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_statement4131);
        	        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:826:30: ( union_clause )?
        	        {
        	            int alt277=2;
        	            switch ( LA(1) )
        	            {
        	                case UNION_SYMBOL:
        	                	{
        	                		alt277=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt277)
        	            {
        	        	case 1:
        	        	    // MySQL.g:826:30: union_clause
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_union_clause_in_select_statement4133);
        	        	        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:827: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_statement4139);
        	        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_statement4141);
        	        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_statement4143);
        	        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:827: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:827:50: union_or_order_by_or_limit
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_union_or_order_by_or_limit_in_select_statement4145);
        	        	        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:830: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:830: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:831: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_paren4155);
        	        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_paren4158);
        	        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:832: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_paren4163);
        	        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_paren4165);
        	        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_paren4167);
        	        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:835: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:835:13: ( ( options {greedy=true; } : select_option )* select_item_list ( select_source_and_options )? ( select_lock_type )? )
        // MySQL.g:836: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:836: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:836:32: select_option
            	    {
            	        FOLLOWPUSH(FOLLOW_select_option_in_select_part24190);
            	        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_part24194);
            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:836: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:836:65: select_source_and_options
            	    {
            	        FOLLOWPUSH(FOLLOW_select_source_and_options_in_select_part24196);
            	        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:836: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:836:92: select_lock_type
            	    {
            	        FOLLOWPUSH(FOLLOW_select_lock_type_in_select_part24199);
            	        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:839: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:839: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:840: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_subquery4209);
            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_subquery4211);
            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_subquery4213);
            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:840:53: ( union_clause )?
            {
                int alt284=2;
                switch ( LA(1) )
                {
                    case UNION_SYMBOL:
                    	{
                    		alt284=1;
                    	}
                        break;
                }

                switch (alt284)
                {
            	case 1:
            	    // MySQL.g:840:53: union_clause
            	    {
            	        FOLLOWPUSH(FOLLOW_union_clause_in_subquery4215);
            	        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_subquery4218);
            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          : SELECT_SYMBOL, select_part2_derived, CLOSE_PAR_SYMBOL, OPEN_PAR_SYMBOL, union_clause
             * 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;
            	// 841:3: -> ^( SUBQUERY OPEN_PAR_SYMBOL SELECT_SYMBOL select_part2_derived ( union_clause )? CLOSE_PAR_SYMBOL )
            	{
            	    // MySQL.g:841: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:841: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:844: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:844: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:845: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:845: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:846:3: query_expression_option
            	    {
            	        FOLLOWPUSH(FOLLOW_query_expression_option_in_select_part2_derived4263);
            	        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:847: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_derived4285);
            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:848: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:848:22: select_source_and_options
            	    {
            	        FOLLOWPUSH(FOLLOW_select_source_and_options_in_select_part2_derived4287);
            	        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:848: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:848:49: select_lock_type
            	    {
            	        FOLLOWPUSH(FOLLOW_select_lock_type_in_select_part2_derived4290);
            	        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:851: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:851: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:852:2: query_expression_option
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_query_expression_option_in_select_option4300);
        	        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:853: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_option4305);
        	        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:854: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_option4310);
        	        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:857: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:857: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:867: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:867:17: ( ( select_item | MULT_OPERATOR ) ( options {greedy=true; } : COMMA_SYMBOL select_item )* )
        // MySQL.g:868:2: ( select_item | MULT_OPERATOR ) ( options {greedy=true; } : COMMA_SYMBOL select_item )*
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            // MySQL.g:868: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:868:3: select_item
            	    {
            	        FOLLOWPUSH(FOLLOW_select_item_in_select_item_list4365);
            	        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:868:17: MULT_OPERATOR
            	    {
            	        MULT_OPERATOR835 = (pANTLR3_COMMON_TOKEN) MATCHT(MULT_OPERATOR, &FOLLOW_MULT_OPERATOR_in_select_item_list4369);
            	        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:868: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:868:62: COMMA_SYMBOL select_item
            	    {
            	        COMMA_SYMBOL836 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_select_item_list4386);
            	        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_list4388);
            	        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:871: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:871: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:872:2: ( qualified_identifier_with_wildcard )=> qualified_identifier_with_wildcard
        	    {
        	        FOLLOWPUSH(FOLLOW_qualified_identifier_with_wildcard_in_select_item4405);
        	        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;
        	        	// 872:77: -> ^( SELECT_EXPR qualified_identifier_with_wildcard )
        	        	{
        	        	    // MySQL.g:872: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:873:4: expression ( select_alias )?
        	    {
        	        FOLLOWPUSH(FOLLOW_expression_in_select_item4418);
        	        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:873: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:873:15: select_alias
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_select_alias_in_select_item4420);
        	        	        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          : select_alias, expression
        	         * token labels      : 
        	         * rule labels       : retval
        	         * token list labels : 
        	         * rule list labels  : 
        	         */
        	        if ( BACKTRACKING==0 ) 

        	        {
        	        	pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_retval;

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

        	        	root_0			    = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
        	        	retval.tree    = root_0;
        	        	// 873:29: -> ^( SELECT_EXPR expression ( select_alias )? )
        	        	{
        	        	    // MySQL.g:873: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:873: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:876: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:876:13: ( ( AS_SYMBOL )? text_or_identifier )
        // MySQL.g:877:2: ( AS_SYMBOL )? text_or_identifier
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            // MySQL.g:877:2: ( AS_SYMBOL )?
            {
                int alt293=2;
                switch ( LA(1) )
                {
                    case AS_SYMBOL:
                    	{
                    		alt293=1;
                    	}
                        break;
                }

                switch (alt293)
                {
            	case 1:
            	    // MySQL.g:877:2: AS_SYMBOL
            	    {
            	        AS_SYMBOL841 = (pANTLR3_COMMON_TOKEN) MATCHT(AS_SYMBOL, &FOLLOW_AS_SYMBOL_in_select_alias4441);
            	        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_alias4444);
            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:880: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:880: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:881:2: limit_clause
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_limit_clause_in_select_source_and_options4462);
        	        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:882:4: into_clause ( select_from )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_into_clause_in_select_source_and_options4467);
        	        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:882:16: ( select_from )?
        	        {
        	            int alt294=2;
        	            switch ( LA(1) )
        	            {
        	                case FROM_SYMBOL:
        	                	{
        	                		alt294=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt294)
        	            {
        	        	case 1:
        	        	    // MySQL.g:882:16: select_from
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_select_from_in_select_source_and_options4469);
        	        	        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:883:4: select_from ( into_clause )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_select_from_in_select_source_and_options4475);
        	        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:883:16: ( into_clause )?
        	        {
        	            int alt295=2;
        	            switch ( LA(1) )
        	            {
        	                case INTO_SYMBOL:
        	                	{
        	                		alt295=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt295)
        	            {
        	        	case 1:
        	        	    // MySQL.g:883:16: into_clause
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_into_clause_in_select_source_and_options4477);
        	        	        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:886: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:886:13: ( LIMIT_SYMBOL limit_options )
        // MySQL.g:887: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_clause4487);
            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_clause4489);
            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:890: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:890:14: ( limit_option ( options {greedy=true; } : ( COMMA_SYMBOL | OFFSET_SYMBOL ) limit_option )? )
        // MySQL.g:891: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_options4498);
            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:891: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:891: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_options4522);
            	        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:894: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:894: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:895:2: PARAM_MARKER
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        PARAM_MARKER853 = (pANTLR3_COMMON_TOKEN) MATCHT(PARAM_MARKER, &FOLLOW_PARAM_MARKER_in_limit_option4533);
        	        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:896:4: INTEGER
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        INTEGER854 = (pANTLR3_COMMON_TOKEN) MATCHT(INTEGER, &FOLLOW_INTEGER_in_limit_option4538);
        	        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:897:4: identifier
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_identifier_in_limit_option4543);
        	        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:900: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:900: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:901: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_clause4553);
            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:902: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:903:3: OUTFILE_SYMBOL string_literal ( charset_clause )? ( fields_clause )? ( lines_clause )?
            	    {
            	        OUTFILE_SYMBOL857 = (pANTLR3_COMMON_TOKEN) MATCHT(OUTFILE_SYMBOL, &FOLLOW_OUTFILE_SYMBOL_in_into_clause4560);
            	        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_clause4562);
            	        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:903:33: ( charset_clause )?
            	        {
            	            int alt299=2;
            	            switch ( LA(1) )
            	            {
            	                case CHARSET_SYMBOL:
            	                case CHAR_SYMBOL:
            	                	{
            	                		alt299=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt299)
            	            {
            	        	case 1:
            	        	    // MySQL.g:903:33: charset_clause
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_charset_clause_in_into_clause4564);
            	        	        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:903:49: ( fields_clause )?
            	        {
            	            int alt300=2;
            	            switch ( LA(1) )
            	            {
            	                case COLUMNS_SYMBOL:
            	                	{
            	                		alt300=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt300)
            	            {
            	        	case 1:
            	        	    // MySQL.g:903:49: fields_clause
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_fields_clause_in_into_clause4567);
            	        	        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:903:64: ( lines_clause )?
            	        {
            	            int alt301=2;
            	            switch ( LA(1) )
            	            {
            	                case LINES_SYMBOL:
            	                	{
            	                		alt301=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt301)
            	            {
            	        	case 1:
            	        	    // MySQL.g:903:64: lines_clause
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_lines_clause_in_into_clause4570);
            	        	        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:904:5: DUMPFILE_SYMBOL string_literal
            	    {
            	        DUMPFILE_SYMBOL862 = (pANTLR3_COMMON_TOKEN) MATCHT(DUMPFILE_SYMBOL, &FOLLOW_DUMPFILE_SYMBOL_in_into_clause4577);
            	        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_clause4579);
            	        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:905:5: ( AT_SIGN_SYMBOL )? text_or_identifier ( COMMA_SYMBOL ( AT_SIGN_SYMBOL )? text_or_identifier )*
            	    {
            	        // MySQL.g:905:5: ( AT_SIGN_SYMBOL )?
            	        {
            	            int alt302=2;
            	            switch ( LA(1) )
            	            {
            	                case AT_SIGN_SYMBOL:
            	                	{
            	                		alt302=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt302)
            	            {
            	        	case 1:
            	        	    // MySQL.g:905:5: AT_SIGN_SYMBOL
            	        	    {
            	        	        AT_SIGN_SYMBOL864 = (pANTLR3_COMMON_TOKEN) MATCHT(AT_SIGN_SYMBOL, &FOLLOW_AT_SIGN_SYMBOL_in_into_clause4585);
            	        	        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_clause4588);
            	        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:905: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:905:41: COMMA_SYMBOL ( AT_SIGN_SYMBOL )? text_or_identifier
            	        	    {
            	        	        COMMA_SYMBOL866 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_into_clause4591);
            	        	        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:905:54: ( AT_SIGN_SYMBOL )?
            	        	        {
            	        	            int alt303=2;
            	        	            switch ( LA(1) )
            	        	            {
            	        	                case AT_SIGN_SYMBOL:
            	        	                	{
            	        	                		alt303=1;
            	        	                	}
            	        	                    break;
            	        	            }

            	        	            switch (alt303)
            	        	            {
            	        	        	case 1:
            	        	        	    // MySQL.g:905:54: AT_SIGN_SYMBOL
            	        	        	    {
            	        	        	        AT_SIGN_SYMBOL867 = (pANTLR3_COMMON_TOKEN) MATCHT(AT_SIGN_SYMBOL, &FOLLOW_AT_SIGN_SYMBOL_in_into_clause4593);
            	        	        	        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_clause4596);
            	        	        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:909: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:909: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:910: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_from4610);
            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:911: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:912: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_from4618);
            	        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:912: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:912:45: where_clause
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_where_clause_in_select_from4634);
            	        	        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:912: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:912:90: limit_clause
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_limit_clause_in_select_from4652);
            	        	        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:913: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_from4660);
            	        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:914:4: ( options {greedy=true; } : where_clause )?
            	        {
            	            int alt308=2;
            	            switch ( LA(1) )
            	            {
            	                case WHERE_SYMBOL:
            	                	{
            	                		alt308=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt308)
            	            {
            	        	case 1:
            	        	    // MySQL.g:914:34: where_clause
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_where_clause_in_select_from4679);
            	        	        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:915: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:915:34: group_by_clause
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_group_by_clause_in_select_from4700);
            	        	        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:916:4: ( options {greedy=true; } : having_clause )?
            	        {
            	            int alt310=2;
            	            switch ( LA(1) )
            	            {
            	                case HAVING_SYMBOL:
            	                	{
            	                		alt310=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt310)
            	            {
            	        	case 1:
            	        	    // MySQL.g:916:34: having_clause
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_having_clause_in_select_from4721);
            	        	        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:917: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:917:34: order_by_clause
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_order_by_clause_in_select_from4742);
            	        	        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:918:4: ( options {greedy=true; } : limit_clause )?
            	        {
            	            int alt312=2;
            	            switch ( LA(1) )
            	            {
            	                case LIMIT_SYMBOL:
            	                	{
            	                		alt312=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt312)
            	            {
            	        	case 1:
            	        	    // MySQL.g:918:34: limit_clause
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_limit_clause_in_select_from4763);
            	        	        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:919: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:919:34: procedure_analyse_clause
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_procedure_analyse_clause_in_select_from4784);
            	        	        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:923: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:923:25: ( PROCEDURE_SYMBOL ^ ANALYSE_SYMBOL OPEN_PAR_SYMBOL ( INTEGER ( COMMA_SYMBOL INTEGER )? )? CLOSE_PAR_SYMBOL )
        // MySQL.g:924: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_clause4798);
            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_clause4801);
            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_clause4803);
            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:924:51: ( INTEGER ( COMMA_SYMBOL INTEGER )? )?
            {
                int alt316=2;
                switch ( LA(1) )
                {
                    case INTEGER:
                    	{
                    		alt316=1;
                    	}
                        break;
                }

                switch (alt316)
                {
            	case 1:
            	    // MySQL.g:924:52: INTEGER ( COMMA_SYMBOL INTEGER )?
            	    {
            	        INTEGER883 = (pANTLR3_COMMON_TOKEN) MATCHT(INTEGER, &FOLLOW_INTEGER_in_procedure_analyse_clause4806);
            	        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:924:60: ( COMMA_SYMBOL INTEGER )?
            	        {
            	            int alt315=2;
            	            switch ( LA(1) )
            	            {
            	                case COMMA_SYMBOL:
            	                	{
            	                		alt315=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt315)
            	            {
            	        	case 1:
            	        	    // MySQL.g:924:61: COMMA_SYMBOL INTEGER
            	        	    {
            	        	        COMMA_SYMBOL884 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_procedure_analyse_clause4809);
            	        	        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_clause4811);
            	        	        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_clause4817);
            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:927: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:927:14: ( HAVING_SYMBOL ^ expression )
        // MySQL.g:928: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_clause4826);
            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_clause4829);
            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:931: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:931:16: ( GROUP_SYMBOL ^ BY_SYMBOL expression_list_with_direction ( olap_option )? )
        // MySQL.g:932: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_clause4838);
            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_clause4841);
            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_clause4843);
            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:932: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:932:57: olap_option
            	    {
            	        FOLLOWPUSH(FOLLOW_olap_option_in_group_by_clause4845);
            	        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:935: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:935: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:936: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_option4855);
        	        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_option4857);
        	        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:937: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_option4862);
        	        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_option4864);
        	        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:940: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:940:16: ( ORDER_SYMBOL ^ BY_SYMBOL expression_list_with_direction )
        // MySQL.g:941: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_clause4873);
            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_clause4876);
            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_clause4878);
            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:944: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:944: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:945:2: order_by_clause ( limit_clause )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_order_by_clause_in_order_by_or_limit4887);
        	        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:945:18: ( limit_clause )?
        	        {
        	            int alt319=2;
        	            switch ( LA(1) )
        	            {
        	                case LIMIT_SYMBOL:
        	                	{
        	                		alt319=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt319)
        	            {
        	        	case 1:
        	        	    // MySQL.g:945:18: limit_clause
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_limit_clause_in_order_by_or_limit4889);
        	        	        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:946:4: limit_clause
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_limit_clause_in_order_by_or_limit4895);
        	        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:949: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:949: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:954: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:954:13: ( WHERE_SYMBOL ^ expression )
        // MySQL.g:955: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_clause4926);
            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_clause4929);
            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:958: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:958:17: ( escaped_table_reference ( options {greedy=true; } : COMMA_SYMBOL escaped_table_reference )* )
        // MySQL.g:959: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_references4939);
            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:959: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:959:57: COMMA_SYMBOL escaped_table_reference
            	    {
            	        COMMA_SYMBOL907 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_table_references4955);
            	        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_references4957);
            	        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:968: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:968: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:969:2: table_reference
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_table_reference_in_escaped_table_reference4974);
        	        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:970: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_reference4979);
        	        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_reference4981);
        	        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_reference4983);
        	        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_reference4985);
        	        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:973: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:973:16: ( table_factor ( options {greedy=true; } : join )* )
        // MySQL.g:974:2: table_factor ( options {greedy=true; } : join )*
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            FOLLOWPUSH(FOLLOW_table_factor_in_table_reference4994);
            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:974: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:974:45: join
            	    {
            	        FOLLOWPUSH(FOLLOW_join_in_table_reference5010);
            	        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:977: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:977:5: ( join_table -> ^( JOIN_EXPR join_table ) )
        // MySQL.g:978:2: join_table
        {
            FOLLOWPUSH(FOLLOW_join_table_in_join5021);
            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;
            	// 978:13: -> ^( JOIN_EXPR join_table )
            	{
            	    // MySQL.g:978: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:981: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:981: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:982: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_factor5038);
        	        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:982: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:982:46: select_option
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_select_option_in_table_factor5054);
        	        	        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_factor5058);
        	        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:982: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:982:109: table_factor_select_tail
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_table_factor_select_tail_in_table_factor5074);
        	        	        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:983: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_factor5081);
        	        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_factor5083);
        	        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_factor5085);
        	        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:983: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:983:63: table_alias
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_table_alias_in_table_factor5087);
        	        	        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:984:4: table_factor_table
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_table_factor_table_in_table_factor5093);
        	        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:987: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:987: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:988: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_tail5102);
        	        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:988: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:988:44: select_lock_type
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_select_lock_type_in_table_factor_select_tail5118);
        	        	        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:989:4: limit_clause
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_limit_clause_in_table_factor_select_tail5125);
        	        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:992: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:992:26: ( ( table_references ( order_by_or_limit )? ) ( UNION_SYMBOL ( union_option )? join_query_specification ( order_by_or_limit )? )* )
        // MySQL.g:993: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:993:2: ( table_references ( order_by_or_limit )? )
            // MySQL.g:993:3: table_references ( order_by_or_limit )?
            {
                FOLLOWPUSH(FOLLOW_table_references_in_select_table_factor_union5135);
                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:993: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:993:20: order_by_or_limit
                	    {
                	        FOLLOWPUSH(FOLLOW_order_by_or_limit_in_select_table_factor_union5137);
                	        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:993: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:993: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_union5142);
            	        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:993:54: ( union_option )?
            	        {
            	            int alt331=2;
            	            switch ( LA(1) )
            	            {
            	                case ALL_SYMBOL:
            	                case DISTINCT_SYMBOL:
            	                	{
            	                		alt331=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt331)
            	            {
            	        	case 1:
            	        	    // MySQL.g:993:54: union_option
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_union_option_in_select_table_factor_union5144);
            	        	        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_union5147);
            	        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:993: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:993:93: order_by_or_limit
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_order_by_or_limit_in_select_table_factor_union5149);
            	        	        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:996: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:996: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:997: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_specification5161);
        	        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:997: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:997:46: query_expression_option
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_query_expression_option_in_join_query_specification5177);
        	        	        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_specification5181);
        	        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:997:89: ( select_from )?
        	        {
        	            int alt335=2;
        	            switch ( LA(1) )
        	            {
        	                case FROM_SYMBOL:
        	                	{
        	                		alt335=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt335)
        	            {
        	        	case 1:
        	        	    // MySQL.g:997:89: select_from
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_select_from_in_join_query_specification5183);
        	        	        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:997: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:997:102: select_lock_type
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_select_lock_type_in_join_query_specification5186);
        	        	        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:998: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_specification5192);
        	        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_specification5194);
        	        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_specification5196);
        	        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:1001: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:1001:19: ( table_identifier ( use_partition )? ( table_alias )? ( index_hint_list )? )
        // MySQL.g:1002: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_table5205);
            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:1002: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:1002:19: use_partition
            	    {
            	        FOLLOWPUSH(FOLLOW_use_partition_in_table_factor_table5207);
            	        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:1002: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:1002:34: table_alias
            	    {
            	        FOLLOWPUSH(FOLLOW_table_alias_in_table_factor_table5210);
            	        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:1002: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:1002:47: index_hint_list
            	    {
            	        FOLLOWPUSH(FOLLOW_index_hint_list_in_table_factor_table5213);
            	        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:1005: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:1005: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:1006:2: ( INNER_SYMBOL | CROSS_SYMBOL )? JOIN_SYMBOL table_reference ( options {greedy=true; } : join_condition )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        // MySQL.g:1006: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_table5232);
        	        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_table5234);
        	        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:1006: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:1006:89: join_condition
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_join_condition_in_join_table5248);
        	        	        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:1007: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_table5255);
        	        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_table5257);
        	        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:1007: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:1007:66: ON_SYMBOL expression
        	        	    {
        	        	        ON_SYMBOL953 = (pANTLR3_COMMON_TOKEN) MATCHT(ON_SYMBOL, &FOLLOW_ON_SYMBOL_in_join_table5271);
        	        	        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_table5273);
        	        	        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:1008: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:1008:33: ( OUTER_SYMBOL )?
        	        {
        	            int alt344=2;
        	            switch ( LA(1) )
        	            {
        	                case OUTER_SYMBOL:
        	                	{
        	                		alt344=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt344)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1008:33: OUTER_SYMBOL
        	        	    {
        	        	        OUTER_SYMBOL956 = (pANTLR3_COMMON_TOKEN) MATCHT(OUTER_SYMBOL, &FOLLOW_OUTER_SYMBOL_in_join_table5288);
        	        	        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_table5291);
        	        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_table5293);
        	        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_table5295);
        	        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:1009: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_table5300);
        	        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:1009: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:1009: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:1009:49: ( OUTER_SYMBOL )?
        	        	        {
        	        	            int alt345=2;
        	        	            switch ( LA(1) )
        	        	            {
        	        	                case OUTER_SYMBOL:
        	        	                	{
        	        	                		alt345=1;
        	        	                	}
        	        	                    break;
        	        	            }

        	        	            switch (alt345)
        	        	            {
        	        	        	case 1:
        	        	        	    // MySQL.g:1009:49: OUTER_SYMBOL
        	        	        	    {
        	        	        	        OUTER_SYMBOL962 = (pANTLR3_COMMON_TOKEN) MATCHT(OUTER_SYMBOL, &FOLLOW_OUTER_SYMBOL_in_join_table5311);
        	        	        	        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_table5316);
        	        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_table5318);
        	        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:1012: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:1012: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:1013: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_condition5327);
        	        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_condition5329);
        	        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:1014: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_condition5334);
        	        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_condition5336);
        	        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:1017: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:1017:13: ( UNION_SYMBOL ^ ( union_option )? select_statement )
        // MySQL.g:1018: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_clause5346);
            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:1018:17: ( union_option )?
            {
                int alt349=2;
                switch ( LA(1) )
                {
                    case ALL_SYMBOL:
                    case DISTINCT_SYMBOL:
                    	{
                    		alt349=1;
                    	}
                        break;
                }

                switch (alt349)
                {
            	case 1:
            	    // MySQL.g:1018:17: union_option
            	    {
            	        FOLLOWPUSH(FOLLOW_union_option_in_union_clause5349);
            	        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_clause5352);
            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:1021: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:1021: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:1026: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:1026: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:1027:2: union_clause
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_union_clause_in_union_or_order_by_or_limit5376);
        	        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:1028: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_limit5381);
        	        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:1028:20: ( limit_clause )?
        	        {
        	            int alt350=2;
        	            switch ( LA(1) )
        	            {
        	                case LIMIT_SYMBOL:
        	                	{
        	                		alt350=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt350)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1028:20: limit_clause
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_limit_clause_in_union_or_order_by_or_limit5383);
        	        	        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:1029:4: limit_clause
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_limit_clause_in_union_or_order_by_or_limit5389);
        	        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:1032: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:1032: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:1033: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_type5398);
        	        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_type5400);
        	        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:1034: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_type5405);
        	        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_type5407);
        	        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_type5409);
        	        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_type5411);
        	        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:1037: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:1037:12: ( ( AS_SYMBOL | EQUAL_OPERATOR )? identifier )
        // MySQL.g:1038:2: ( AS_SYMBOL | EQUAL_OPERATOR )? identifier
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            // MySQL.g:1038: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_alias5429);
            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:1041: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:1041:16: ( index_hint ( COMMA_SYMBOL index_hint )* -> ^( INDEX_HINT_LIST index_hint ( COMMA_SYMBOL index_hint )* ) )
        // MySQL.g:1042:2: index_hint ( COMMA_SYMBOL index_hint )*
        {
            FOLLOWPUSH(FOLLOW_index_hint_in_index_hint_list5438);
            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:1042: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:1042:14: COMMA_SYMBOL index_hint
            	    {
            	        COMMA_SYMBOL986 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_index_hint_list5441);
            	        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_list5443);
            	        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;
            	// 1042:40: -> ^( INDEX_HINT_LIST index_hint ( COMMA_SYMBOL index_hint )* )
            	{
            	    // MySQL.g:1042: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:1042: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:1045: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:1045: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:1046: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_hint5469);
        	        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_hint5471);
        	        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:1046:31: ( index_hint_clause )?
        	        {
        	            int alt355=2;
        	            switch ( LA(1) )
        	            {
        	                case FOR_SYMBOL:
        	                	{
        	                		alt355=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt355)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1046:31: index_hint_clause
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_index_hint_clause_in_index_hint5473);
        	        	        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_hint5476);
        	        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_hint5478);
        	        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_hint5480);
        	        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:1047: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_hint5485);
        	        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_hint5487);
        	        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:1047:28: ( index_hint_clause )?
        	        {
        	            int alt356=2;
        	            switch ( LA(1) )
        	            {
        	                case FOR_SYMBOL:
        	                	{
        	                		alt356=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt356)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1047:28: index_hint_clause
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_index_hint_clause_in_index_hint5489);
        	        	        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_hint5492);
        	        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:1047: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:1047:63: index_list
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_index_list_in_index_hint5494);
        	        	        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_hint5497);
        	        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:1049: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:1049: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:1054: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:1054: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:1059: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:1059:18: ( FOR_SYMBOL ( JOIN_SYMBOL | ORDER_SYMBOL BY_SYMBOL | GROUP_SYMBOL BY_SYMBOL ) )
        // MySQL.g:1060: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_clause5533);
            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:1060: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:1060:14: JOIN_SYMBOL
            	    {
            	        JOIN_SYMBOL1003 = (pANTLR3_COMMON_TOKEN) MATCHT(JOIN_SYMBOL, &FOLLOW_JOIN_SYMBOL_in_index_hint_clause5536);
            	        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:1060:28: ORDER_SYMBOL BY_SYMBOL
            	    {
            	        ORDER_SYMBOL1004 = (pANTLR3_COMMON_TOKEN) MATCHT(ORDER_SYMBOL, &FOLLOW_ORDER_SYMBOL_in_index_hint_clause5540);
            	        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_clause5542);
            	        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:1060:53: GROUP_SYMBOL BY_SYMBOL
            	    {
            	        GROUP_SYMBOL1006 = (pANTLR3_COMMON_TOKEN) MATCHT(GROUP_SYMBOL, &FOLLOW_GROUP_SYMBOL_in_index_hint_clause5546);
            	        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_clause5548);
            	        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:1063: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:1063:11: ( index_list_element ( COMMA_SYMBOL index_list_element )* )
        // MySQL.g:1064:2: index_list_element ( COMMA_SYMBOL index_list_element )*
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            FOLLOWPUSH(FOLLOW_index_list_element_in_index_list5558);
            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:1064: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:1064:22: COMMA_SYMBOL index_list_element
            	    {
            	        COMMA_SYMBOL1009 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_index_list5561);
            	        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_list5563);
            	        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:1067: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:1067: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:1068:2: identifier
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_identifier_in_index_list_element5574);
        	        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:1069: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_element5579);
        	        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:1074: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:1074: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:1075: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_statement5590);
            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:1075:17: ( LOW_PRIORITY_SYMBOL )?
            {
                int alt362=2;
                switch ( LA(1) )
                {
                    case LOW_PRIORITY_SYMBOL:
                    	{
                    		alt362=1;
                    	}
                        break;
                }

                switch (alt362)
                {
            	case 1:
            	    // MySQL.g:1075:17: LOW_PRIORITY_SYMBOL
            	    {
            	        LOW_PRIORITY_SYMBOL1014 = (pANTLR3_COMMON_TOKEN) MATCHT(LOW_PRIORITY_SYMBOL, &FOLLOW_LOW_PRIORITY_SYMBOL_in_update_statement5593);
            	        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:1075:38: ( IGNORE_SYMBOL )?
            {
                int alt363=2;
                switch ( LA(1) )
                {
                    case IGNORE_SYMBOL:
                    	{
                    		alt363=1;
                    	}
                        break;
                }

                switch (alt363)
                {
            	case 1:
            	    // MySQL.g:1075:38: IGNORE_SYMBOL
            	    {
            	        IGNORE_SYMBOL1015 = (pANTLR3_COMMON_TOKEN) MATCHT(IGNORE_SYMBOL, &FOLLOW_IGNORE_SYMBOL_in_update_statement5596);
            	        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_statement5599);
            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_statement5603);
            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_statement5605);
            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:1076:50: ( where_clause )?
            {
                int alt364=2;
                switch ( LA(1) )
                {
                    case WHERE_SYMBOL:
                    	{
                    		alt364=1;
                    	}
                        break;
                }

                switch (alt364)
                {
            	case 1:
            	    // MySQL.g:1076:50: where_clause
            	    {
            	        FOLLOWPUSH(FOLLOW_where_clause_in_update_statement5607);
            	        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:1076:64: ( order_by_clause )?
            {
                int alt365=2;
                switch ( LA(1) )
                {
                    case ORDER_SYMBOL:
                    	{
                    		alt365=1;
                    	}
                        break;
                }

                switch (alt365)
                {
            	case 1:
            	    // MySQL.g:1076:64: order_by_clause
            	    {
            	        FOLLOWPUSH(FOLLOW_order_by_clause_in_update_statement5610);
            	        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:1076:81: ( limit_clause )?
            {
                int alt366=2;
                switch ( LA(1) )
                {
                    case LIMIT_SYMBOL:
                    	{
                    		alt366=1;
                    	}
                        break;
                }

                switch (alt366)
                {
            	case 1:
            	    // MySQL.g:1076:81: limit_clause
            	    {
            	        FOLLOWPUSH(FOLLOW_limit_clause_in_update_statement5613);
            	        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:1081: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:1081: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:1082:2: transaction_statement
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_transaction_statement_in_transaction_or_locking_statement5625);
        	        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:1083:4: savepoint_statement
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_savepoint_statement_in_transaction_or_locking_statement5630);
        	        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:1084:4: lock_statement
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_lock_statement_in_transaction_or_locking_statement5635);
        	        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:1085:4: xa_statement
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_xa_statement_in_transaction_or_locking_statement5640);
        	        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:1088: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:1088: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:1089: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_statement5649);
        	        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_statement5652);
        	        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:1089: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:1089:35: transaction_characteristic
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_transaction_characteristic_in_transaction_statement5654);
        	        	        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:1090: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_statement5660);
        	        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:1090:18: ( WORK_SYMBOL )?
        	        {
        	            int alt369=2;
        	            switch ( LA(1) )
        	            {
        	                case WORK_SYMBOL:
        	                	{
        	                		alt369=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt369)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1090:18: WORK_SYMBOL
        	        	    {
        	        	        WORK_SYMBOL1030 = (pANTLR3_COMMON_TOKEN) MATCHT(WORK_SYMBOL, &FOLLOW_WORK_SYMBOL_in_transaction_statement5663);
        	        	        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:1091: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_statement5669);
        	        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:1091:19: ( WORK_SYMBOL )?
        	        {
        	            int alt370=2;
        	            switch ( LA(1) )
        	            {
        	                case WORK_SYMBOL:
        	                	{
        	                		alt370=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt370)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1091:19: WORK_SYMBOL
        	        	    {
        	        	        WORK_SYMBOL1032 = (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_SYMBOL1032_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, WORK_SYMBOL1032));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, WORK_SYMBOL1032_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	        // MySQL.g:1091: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:1091:33: AND_SYMBOL ( NO_SYMBOL )? CHAIN_SYMBOL
        	        	    {
        	        	        AND_SYMBOL1033 = (pANTLR3_COMMON_TOKEN) MATCHT(AND_SYMBOL, &FOLLOW_AND_SYMBOL_in_transaction_statement5676);
        	        	        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:1091:44: ( NO_SYMBOL )?
        	        	        {
        	        	            int alt371=2;
        	        	            switch ( LA(1) )
        	        	            {
        	        	                case NO_SYMBOL:
        	        	                	{
        	        	                		alt371=1;
        	        	                	}
        	        	                    break;
        	        	            }

        	        	            switch (alt371)
        	        	            {
        	        	        	case 1:
        	        	        	    // MySQL.g:1091:44: NO_SYMBOL
        	        	        	    {
        	        	        	        NO_SYMBOL1034 = (pANTLR3_COMMON_TOKEN) MATCHT(NO_SYMBOL, &FOLLOW_NO_SYMBOL_in_transaction_statement5678);
        	        	        	        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_statement5681);
        	        	        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:1091: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:1091:71: ( NO_SYMBOL )? RELEASE_SYMBOL
        	        	    {
        	        	        // MySQL.g:1091:71: ( NO_SYMBOL )?
        	        	        {
        	        	            int alt373=2;
        	        	            switch ( LA(1) )
        	        	            {
        	        	                case NO_SYMBOL:
        	        	                	{
        	        	                		alt373=1;
        	        	                	}
        	        	                    break;
        	        	            }

        	        	            switch (alt373)
        	        	            {
        	        	        	case 1:
        	        	        	    // MySQL.g:1091:71: NO_SYMBOL
        	        	        	    {
        	        	        	        NO_SYMBOL1036 = (pANTLR3_COMMON_TOKEN) MATCHT(NO_SYMBOL, &FOLLOW_NO_SYMBOL_in_transaction_statement5686);
        	        	        	        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_statement5689);
        	        	        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:1092: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_statement5696);
        	        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:1092:21: ( WORK_SYMBOL )?
        	        {
        	            int alt375=2;
        	            switch ( LA(1) )
        	            {
        	                case WORK_SYMBOL:
        	                	{
        	                		alt375=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt375)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1092:21: WORK_SYMBOL
        	        	    {
        	        	        WORK_SYMBOL1039 = (pANTLR3_COMMON_TOKEN) MATCHT(WORK_SYMBOL, &FOLLOW_WORK_SYMBOL_in_transaction_statement5699);
        	        	        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:1093: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:1094:4: ( AND_SYMBOL ( NO_SYMBOL )? CHAIN_SYMBOL )? ( ( NO_SYMBOL )? RELEASE_SYMBOL )?
        	        	    {
        	        	        // MySQL.g:1094: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:1094:5: AND_SYMBOL ( NO_SYMBOL )? CHAIN_SYMBOL
        	        	        	    {
        	        	        	        AND_SYMBOL1040 = (pANTLR3_COMMON_TOKEN) MATCHT(AND_SYMBOL, &FOLLOW_AND_SYMBOL_in_transaction_statement5710);
        	        	        	        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:1094:16: ( NO_SYMBOL )?
        	        	        	        {
        	        	        	            int alt376=2;
        	        	        	            switch ( LA(1) )
        	        	        	            {
        	        	        	                case NO_SYMBOL:
        	        	        	                	{
        	        	        	                		alt376=1;
        	        	        	                	}
        	        	        	                    break;
        	        	        	            }

        	        	        	            switch (alt376)
        	        	        	            {
        	        	        	        	case 1:
        	        	        	        	    // MySQL.g:1094:16: NO_SYMBOL
        	        	        	        	    {
        	        	        	        	        NO_SYMBOL1041 = (pANTLR3_COMMON_TOKEN) MATCHT(NO_SYMBOL, &FOLLOW_NO_SYMBOL_in_transaction_statement5712);
        	        	        	        	        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_statement5715);
        	        	        	        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:1094: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:1094:43: ( NO_SYMBOL )? RELEASE_SYMBOL
        	        	        	    {
        	        	        	        // MySQL.g:1094:43: ( NO_SYMBOL )?
        	        	        	        {
        	        	        	            int alt378=2;
        	        	        	            switch ( LA(1) )
        	        	        	            {
        	        	        	                case NO_SYMBOL:
        	        	        	                	{
        	        	        	                		alt378=1;
        	        	        	                	}
        	        	        	                    break;
        	        	        	            }

        	        	        	            switch (alt378)
        	        	        	            {
        	        	        	        	case 1:
        	        	        	        	    // MySQL.g:1094:43: NO_SYMBOL
        	        	        	        	    {
        	        	        	        	        NO_SYMBOL1043 = (pANTLR3_COMMON_TOKEN) MATCHT(NO_SYMBOL, &FOLLOW_NO_SYMBOL_in_transaction_statement5720);
        	        	        	        	        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_statement5723);
        	        	        	        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:1095:6: TO_SYMBOL ( SAVEPOINT_SYMBOL )? identifier
        	        	    {
        	        	        TO_SYMBOL1045 = (pANTLR3_COMMON_TOKEN) MATCHT(TO_SYMBOL, &FOLLOW_TO_SYMBOL_in_transaction_statement5732);
        	        	        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:1095: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:1095:16: SAVEPOINT_SYMBOL
        	        	        	    {
        	        	        	        SAVEPOINT_SYMBOL1046 = (pANTLR3_COMMON_TOKEN) MATCHT(SAVEPOINT_SYMBOL, &FOLLOW_SAVEPOINT_SYMBOL_in_transaction_statement5734);
        	        	        	        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_statement5737);
        	        	        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:1102: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:1102: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:1103: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_characteristic5757);
        	        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_characteristic5759);
        	        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_characteristic5761);
        	        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:1104: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_characteristic5770);
        	        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:1107: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:1107: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:1108: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_characteristic5787);
        	        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_characteristic5789);
        	        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_characteristic5791);
        	        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:1109: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_characteristic5800);
        	        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:1112: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:1112: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:1113: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_level5817);
        	        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_level5819);
        	        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:1114: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_level5824);
        	        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:1115:4: SERIALIZABLE_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        SERIALIZABLE_SYMBOL1062 = (pANTLR3_COMMON_TOKEN) MATCHT(SERIALIZABLE_SYMBOL, &FOLLOW_SERIALIZABLE_SYMBOL_in_isolation_level5837);
        	        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:1118: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:1118: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:1119: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_statement5846);
        	        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_statement5849);
        	        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:1120: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_statement5854);
        	        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_statement5857);
        	        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_statement5859);
        	        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:1123: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:1123: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:1124: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_statement5868);
        	        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_statement5879);
        	        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:1124:56: ( COMMA_SYMBOL lock_item )*

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

        	            }

        	            switch (alt387)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1124:57: COMMA_SYMBOL lock_item
        	        	    {
        	        	        COMMA_SYMBOL1071 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_lock_statement5882);
        	        	        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_statement5884);
        	        	        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:1125: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_statement5891);
        	        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:1128: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:1128:10: ( table_identifier ( table_alias )? lock_type )
        // MySQL.g:1129:2: table_identifier ( table_alias )? lock_type
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            FOLLOWPUSH(FOLLOW_table_identifier_in_lock_item5909);
            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:1129: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:1129:19: table_alias
            	    {
            	        FOLLOWPUSH(FOLLOW_table_alias_in_lock_item5911);
            	        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_item5914);
            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:1132: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:1132: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:1133: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_type5923);
        	        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:1133:14: ( LOCAL_SYMBOL )?
        	        {
        	            int alt390=2;
        	            switch ( LA(1) )
        	            {
        	                case LOCAL_SYMBOL:
        	                	{
        	                		alt390=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt390)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1133:14: LOCAL_SYMBOL
        	        	    {
        	        	        LOCAL_SYMBOL1079 = (pANTLR3_COMMON_TOKEN) MATCHT(LOCAL_SYMBOL, &FOLLOW_LOCAL_SYMBOL_in_lock_type5925);
        	        	        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:1134:4: ( LOW_PRIORITY_SYMBOL )? WRITE_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        // MySQL.g:1134:4: ( LOW_PRIORITY_SYMBOL )?
        	        {
        	            int alt391=2;
        	            switch ( LA(1) )
        	            {
        	                case LOW_PRIORITY_SYMBOL:
        	                	{
        	                		alt391=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt391)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1134:4: LOW_PRIORITY_SYMBOL
        	        	    {
        	        	        LOW_PRIORITY_SYMBOL1080 = (pANTLR3_COMMON_TOKEN) MATCHT(LOW_PRIORITY_SYMBOL, &FOLLOW_LOW_PRIORITY_SYMBOL_in_lock_type5931);
        	        	        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_type5934);
        	        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:1137: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:1137: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:1138: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_statement5943);
            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:1139: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:1140: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_statement5961);
            	        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:1140: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:1141:6: END_SYMBOL xid ( SUSPEND_SYMBOL ( FOR_SYMBOL MIGRATE_SYMBOL )? )?
            	    {
            	        END_SYMBOL1086 = (pANTLR3_COMMON_TOKEN) MATCHT(END_SYMBOL, &FOLLOW_END_SYMBOL_in_xa_statement5977);
            	        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_statement5979);
            	        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:1141: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:1141:22: SUSPEND_SYMBOL ( FOR_SYMBOL MIGRATE_SYMBOL )?
            	        	    {
            	        	        SUSPEND_SYMBOL1088 = (pANTLR3_COMMON_TOKEN) MATCHT(SUSPEND_SYMBOL, &FOLLOW_SUSPEND_SYMBOL_in_xa_statement5982);
            	        	        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:1141:37: ( FOR_SYMBOL MIGRATE_SYMBOL )?
            	        	        {
            	        	            int alt394=2;
            	        	            switch ( LA(1) )
            	        	            {
            	        	                case FOR_SYMBOL:
            	        	                	{
            	        	                		alt394=1;
            	        	                	}
            	        	                    break;
            	        	            }

            	        	            switch (alt394)
            	        	            {
            	        	        	case 1:
            	        	        	    // MySQL.g:1141:38: FOR_SYMBOL MIGRATE_SYMBOL
            	        	        	    {
            	        	        	        FOR_SYMBOL1089 = (pANTLR3_COMMON_TOKEN) MATCHT(FOR_SYMBOL, &FOLLOW_FOR_SYMBOL_in_xa_statement5985);
            	        	        	        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_statement5987);
            	        	        	        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:1142:6: PREPARE_SYMBOL xid
            	    {
            	        PREPARE_SYMBOL1091 = (pANTLR3_COMMON_TOKEN) MATCHT(PREPARE_SYMBOL, &FOLLOW_PREPARE_SYMBOL_in_xa_statement5998);
            	        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_statement6000);
            	        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:1143:6: COMMIT_SYMBOL xid ( ONE_SYMBOL PHASE_SYMBOL )?
            	    {
            	        COMMIT_SYMBOL1093 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMIT_SYMBOL, &FOLLOW_COMMIT_SYMBOL_in_xa_statement6007);
            	        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_statement6009);
            	        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:1143:24: ( ONE_SYMBOL PHASE_SYMBOL )?
            	        {
            	            int alt396=2;
            	            switch ( LA(1) )
            	            {
            	                case ONE_SYMBOL:
            	                	{
            	                		alt396=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt396)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1143:25: ONE_SYMBOL PHASE_SYMBOL
            	        	    {
            	        	        ONE_SYMBOL1095 = (pANTLR3_COMMON_TOKEN) MATCHT(ONE_SYMBOL, &FOLLOW_ONE_SYMBOL_in_xa_statement6012);
            	        	        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_statement6014);
            	        	        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:1144:6: ROLLBACK_SYMBOL xid
            	    {
            	        ROLLBACK_SYMBOL1097 = (pANTLR3_COMMON_TOKEN) MATCHT(ROLLBACK_SYMBOL, &FOLLOW_ROLLBACK_SYMBOL_in_xa_statement6023);
            	        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_statement6025);
            	        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:1145:6: RECOVER_SYMBOL
            	    {
            	        RECOVER_SYMBOL1099 = (pANTLR3_COMMON_TOKEN) MATCHT(RECOVER_SYMBOL, &FOLLOW_RECOVER_SYMBOL_in_xa_statement6032);
            	        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:1149: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:1149:4: ( string_literal ( COMMA_SYMBOL string_literal ( COMMA_SYMBOL INTEGER )? )? -> ^( XA_ID string_literal ( COMMA_SYMBOL string_literal ( COMMA_SYMBOL INTEGER )? )? ) )
        // MySQL.g:1150:2: string_literal ( COMMA_SYMBOL string_literal ( COMMA_SYMBOL INTEGER )? )?
        {
            FOLLOWPUSH(FOLLOW_string_literal_in_xid6045);
            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:1150: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:1150:18: COMMA_SYMBOL string_literal ( COMMA_SYMBOL INTEGER )?
            	    {
            	        COMMA_SYMBOL1101 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_xid6048);
            	        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_xid6050);
            	        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:1150:46: ( COMMA_SYMBOL INTEGER )?
            	        {
            	            int alt398=2;
            	            switch ( LA(1) )
            	            {
            	                case COMMA_SYMBOL:
            	                	{
            	                		alt398=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt398)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1150:47: COMMA_SYMBOL INTEGER
            	        	    {
            	        	        COMMA_SYMBOL1103 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_xid6053);
            	        	        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_xid6055);
            	        	        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          : string_literal, string_literal, COMMA_SYMBOL, INTEGER, 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;
            	// 1151:3: -> ^( XA_ID string_literal ( COMMA_SYMBOL string_literal ( COMMA_SYMBOL INTEGER )? )? )
            	{
            	    // MySQL.g:1151: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:1151:29: ( COMMA_SYMBOL string_literal ( COMMA_SYMBOL INTEGER )? )?
            	        {
            	        	if ( (stream_string_literal != NULL && stream_string_literal->hasNext(stream_string_literal)) || (stream_COMMA_SYMBOL != NULL && stream_COMMA_SYMBOL->hasNext(stream_COMMA_SYMBOL)) || (stream_INTEGER != NULL && stream_INTEGER->hasNext(stream_INTEGER)) || (stream_COMMA_SYMBOL != NULL && stream_COMMA_SYMBOL->hasNext(stream_COMMA_SYMBOL))  )
            	        	{
            	        		ADAPTOR->addChild(ADAPTOR, root_1, 
            	        		stream_COMMA_SYMBOL == NULL ? NULL : stream_COMMA_SYMBOL->nextNode(stream_COMMA_SYMBOL)
            	        		);

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

            	        		// MySQL.g:1151:58: ( COMMA_SYMBOL INTEGER )?
            	        		{
            	        			if ( (stream_COMMA_SYMBOL != NULL && stream_COMMA_SYMBOL->hasNext(stream_COMMA_SYMBOL)) || (stream_INTEGER != NULL && stream_INTEGER->hasNext(stream_INTEGER))  )
            	        			{
            	        				ADAPTOR->addChild(ADAPTOR, root_1, 
            	        				stream_COMMA_SYMBOL == NULL ? NULL : stream_COMMA_SYMBOL->nextNode(stream_COMMA_SYMBOL)
            	        				);

            	        				ADAPTOR->addChild(ADAPTOR, root_1, 
            	        				stream_INTEGER == NULL ? NULL : stream_INTEGER->nextNode(stream_INTEGER)
            	        				);

            	        			}
            	        			if ( stream_COMMA_SYMBOL != NULL) stream_COMMA_SYMBOL->reset(stream_COMMA_SYMBOL);
            	        			if ( stream_INTEGER != NULL) stream_INTEGER->reset(stream_INTEGER);

            	        		}

            	        	}
            	        	if ( stream_string_literal != NULL) stream_string_literal->reset(stream_string_literal);
            	        	if ( stream_COMMA_SYMBOL != NULL) stream_COMMA_SYMBOL->reset(stream_COMMA_SYMBOL);
            	        	if ( stream_INTEGER != NULL) stream_INTEGER->reset(stream_INTEGER);
            	        	if ( stream_COMMA_SYMBOL != NULL) stream_COMMA_SYMBOL->reset(stream_COMMA_SYMBOL);

            	        }

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

            	}


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


            }
        }

    }

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


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
        if (stream_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:1156: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:1156: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:1157: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_statement6094);
        	        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_statement6105);
        	        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:1157: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:1157:61: TO_SYMBOL string_literal
        	        	    {
        	        	        TO_SYMBOL1108 = (pANTLR3_COMMON_TOKEN) MATCHT(TO_SYMBOL, &FOLLOW_TO_SYMBOL_in_replication_statement6108);
        	        	        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_statement6110);
        	        	        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:1157:88: BEFORE_SYMBOL expression
        	        	    {
        	        	        BEFORE_SYMBOL1110 = (pANTLR3_COMMON_TOKEN) MATCHT(BEFORE_SYMBOL, &FOLLOW_BEFORE_SYMBOL_in_replication_statement6114);
        	        	        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_statement6116);
        	        	        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:1158:4: change_master
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_change_master_in_replication_statement6122);
        	        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:1163:4: start_slave
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_start_slave_in_replication_statement6130);
        	        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:1164:4: stop_slave
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_stop_slave_in_replication_statement6135);
        	        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:1165: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_statement6144);
        	        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:1168: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:1168:17: ( LOAD_SYMBOL ^ ( DATA_SYMBOL | TABLE_SYMBOL table_identifier ) FROM_SYMBOL MASTER_SYMBOL )
        // MySQL.g:1169: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_load6153);
            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:1169: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:1169:16: DATA_SYMBOL
            	    {
            	        DATA_SYMBOL1117 = (pANTLR3_COMMON_TOKEN) MATCHT(DATA_SYMBOL, &FOLLOW_DATA_SYMBOL_in_replication_load6157);
            	        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:1169:30: TABLE_SYMBOL table_identifier
            	    {
            	        TABLE_SYMBOL1118 = (pANTLR3_COMMON_TOKEN) MATCHT(TABLE_SYMBOL, &FOLLOW_TABLE_SYMBOL_in_replication_load6161);
            	        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_load6163);
            	        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_load6166);
            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_load6168);
            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:1172: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:1172:14: ( CHANGE_SYMBOL ^ MASTER_SYMBOL TO_SYMBOL change_master_options )
        // MySQL.g:1173: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_master6177);
            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_master6180);
            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_master6182);
            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_master6184);
            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:1176: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:1176:22: ( master_option ( COMMA_SYMBOL master_option )* -> ^( CHANGE_MASTER_OPTIONS master_option ( COMMA_SYMBOL master_option )* ) )
        // MySQL.g:1177:2: master_option ( COMMA_SYMBOL master_option )*
        {
            FOLLOWPUSH(FOLLOW_master_option_in_change_master_options6193);
            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:1177:16: ( COMMA_SYMBOL master_option )*

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

                }

                switch (alt403)
                {
            	case 1:
            	    // MySQL.g:1177:17: COMMA_SYMBOL master_option
            	    {
            	        COMMA_SYMBOL1127 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_change_master_options6196);
            	        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_options6198);
            	        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, COMMA_SYMBOL, master_option
             * token labels      : 
             * rule labels       : retval
             * token list labels : 
             * rule list labels  : 
             */
            if ( BACKTRACKING==0 ) 

            {
            	pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_retval;

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

            	root_0			    = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
            	retval.tree    = root_0;
            	// 1177:46: -> ^( CHANGE_MASTER_OPTIONS master_option ( COMMA_SYMBOL master_option )* )
            	{
            	    // MySQL.g:1177: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:1177:87: ( COMMA_SYMBOL master_option )*
            	        {
            	        	while ( (stream_COMMA_SYMBOL != NULL && stream_COMMA_SYMBOL->hasNext(stream_COMMA_SYMBOL)) || (stream_master_option != NULL && stream_master_option->hasNext(stream_master_option))  )
            	        	{
            	        		ADAPTOR->addChild(ADAPTOR, root_1, 
            	        		stream_COMMA_SYMBOL == NULL ? NULL : stream_COMMA_SYMBOL->nextNode(stream_COMMA_SYMBOL)
            	        		);

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

            	        	}
            	        	if (stream_COMMA_SYMBOL != NULL) stream_COMMA_SYMBOL->reset(stream_COMMA_SYMBOL);
            	        	if (stream_master_option != NULL) stream_master_option->reset(stream_master_option);

            	        }

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

            	}


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


            }
        }

    }

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


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

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


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

/**
 * $ANTLR start master_option
 * MySQL.g:1180: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:1180: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:1181: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_option6224);
        	        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_option6226);
        	        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_option6228);
        	        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:1182: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_option6233);
        	        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_option6235);
        	        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_option6237);
        	        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:1183: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_option6242);
        	        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_option6244);
        	        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_option6246);
        	        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:1184: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_option6251);
        	        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_option6253);
        	        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_option6255);
        	        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:1185: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_option6260);
        	        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_option6262);
        	        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_option6264);
        	        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:1186: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_option6269);
        	        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_option6271);
        	        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_option6273);
        	        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:1187: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_option6278);
        	        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_option6280);
        	        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_option6282);
        	        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:1188: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_option6287);
        	        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_option6289);
        	        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_option6291);
        	        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:1189: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_option6296);
        	        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_option6298);
        	        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_option6300);
        	        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:1190: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_option6305);
        	        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_option6307);
        	        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_option6309);
        	        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:1191: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_option6314);
        	        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_option6316);
        	        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_option6318);
        	        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:1192: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_option6323);
        	        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_option6325);
        	        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_option6327);
        	        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:1193: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_option6332);
        	        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_option6334);
        	        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_option6336);
        	        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:1194: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_option6341);
        	        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_option6343);
        	        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_option6345);
        	        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:1195: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_option6350);
        	        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_option6352);
        	        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_option6354);
        	        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:1196: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_option6359);
        	        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_option6361);
        	        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_option6363);
        	        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:1197: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_option6368);
        	        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_option6370);
        	        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_option6372);
        	        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:1198: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_option6377);
        	        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_option6379);
        	        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_option6381);
        	        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:1199: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_option6386);
        	        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_option6388);
        	        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_option6390);
        	        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:1200: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_option6395);
        	        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_option6397);
        	        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_option6399);
        	        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:1201: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_option6404);
        	        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_option6406);
        	        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_option6408);
        	        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:1202: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_option6413);
        	        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_option6415);
        	        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_option6417);
        	        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:1203: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_option6422);
        	        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_option6424);
        	        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_option6426);
        	        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:1204: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_option6431);
        	        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_option6433);
        	        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_option6435);
        	        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:1207: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:1207:15: ( OPEN_PAR_SYMBOL ( integer_list )? CLOSE_PAR_SYMBOL )
        // MySQL.g:1208: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_list6444);
            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:1208:18: ( integer_list )?
            {
                int alt405=2;
                switch ( LA(1) )
                {
                    case INTEGER:
                    	{
                    		alt405=1;
                    	}
                        break;
                }

                switch (alt405)
                {
            	case 1:
            	    // MySQL.g:1208:18: integer_list
            	    {
            	        FOLLOWPUSH(FOLLOW_integer_list_in_server_id_list6446);
            	        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_list6449);
            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:1211: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:1211:12: ( START_SYMBOL ^ SLAVE_SYMBOL ( slave_thread_options )? ( UNTIL_SYMBOL slave_until_options )? slave_connection_options )
        // MySQL.g:1212: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_slave6458);
            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_slave6461);
            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:1212: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:1212:29: slave_thread_options
            	    {
            	        FOLLOWPUSH(FOLLOW_slave_thread_options_in_start_slave6463);
            	        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:1212:51: ( UNTIL_SYMBOL slave_until_options )?
            {
                int alt407=2;
                switch ( LA(1) )
                {
                    case UNTIL_SYMBOL:
                    	{
                    		alt407=1;
                    	}
                        break;
                }

                switch (alt407)
                {
            	case 1:
            	    // MySQL.g:1212:52: UNTIL_SYMBOL slave_until_options
            	    {
            	        UNTIL_SYMBOL1207 = (pANTLR3_COMMON_TOKEN) MATCHT(UNTIL_SYMBOL, &FOLLOW_UNTIL_SYMBOL_in_start_slave6467);
            	        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_slave6469);
            	        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_slave6473);
            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:1215: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:1215: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:1216: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:1216: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:1217:3: master_file_def
            	    {
            	        FOLLOWPUSH(FOLLOW_master_file_def_in_slave_until_options6488);
            	        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:1218: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_options6506);
            	        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_options6508);
            	        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:1219: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_options6518);
            	        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:1221: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:1221:3: COMMA_SYMBOL master_file_def
            	    {
            	        COMMA_SYMBOL1215 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_slave_until_options6525);
            	        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_options6527);
            	        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:1224: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:1224: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:1225: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_def6538);
        	        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_def6540);
        	        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_def6542);
        	        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:1226: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_def6547);
        	        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_def6549);
        	        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_def6551);
        	        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:1227: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_def6556);
        	        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_def6558);
        	        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_def6560);
        	        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:1228: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_def6565);
        	        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_def6567);
        	        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_def6569);
        	        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:1231: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:1231: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:1232: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:1232: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:1232:33: USER_SYMBOL EQUAL_OPERATOR string_literal
        	        	    {
        	        	        USER_SYMBOL1229 = (pANTLR3_COMMON_TOKEN) MATCHT(USER_SYMBOL, &FOLLOW_USER_SYMBOL_in_slave_connection_options6583);
        	        	        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_options6585);
        	        	        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_options6587);
        	        	        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:1232: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:1232:78: PASSWORD_SYMBOL EQUAL_OPERATOR string_literal
        	        	    {
        	        	        PASSWORD_SYMBOL1232 = (pANTLR3_COMMON_TOKEN) MATCHT(PASSWORD_SYMBOL, &FOLLOW_PASSWORD_SYMBOL_in_slave_connection_options6592);
        	        	        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_options6594);
        	        	        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_options6596);
        	        	        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:1233: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:1233: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_options6603);
        	        	        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_options6605);
        	        	        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_options6607);
        	        	        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:1233: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:1233: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_options6612);
        	        	        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_options6614);
        	        	        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_options6616);
        	        	        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:1235: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:1237: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:1237:11: ( STOP_SYMBOL ^ SLAVE_SYMBOL ( slave_thread_options )? )
        // MySQL.g:1238: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_slave6631);
            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_slave6634);
            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:1238: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:1238:28: slave_thread_options
            	    {
            	        FOLLOWPUSH(FOLLOW_slave_thread_options_in_stop_slave6636);
            	        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:1241: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:1241:21: ( slave_thread_option ( COMMA_SYMBOL slave_thread_option )* -> ^( SLAVE_THREAD_OPTIONS slave_thread_option ( COMMA_SYMBOL slave_thread_option )* ) )
        // MySQL.g:1242:2: slave_thread_option ( COMMA_SYMBOL slave_thread_option )*
        {
            FOLLOWPUSH(FOLLOW_slave_thread_option_in_slave_thread_options6646);
            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:1242: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:1242:23: COMMA_SYMBOL slave_thread_option
            	    {
            	        COMMA_SYMBOL1245 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_slave_thread_options6649);
            	        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_options6651);
            	        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          : slave_thread_option, slave_thread_option, COMMA_SYMBOL
             * token labels      : 
             * rule labels       : retval
             * token list labels : 
             * rule list labels  : 
             */
            if ( BACKTRACKING==0 ) 

            {
            	pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_retval;

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

            	root_0			    = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
            	retval.tree    = root_0;
            	// 1242:58: -> ^( SLAVE_THREAD_OPTIONS slave_thread_option ( COMMA_SYMBOL slave_thread_option )* )
            	{
            	    // MySQL.g:1242: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:1242:104: ( COMMA_SYMBOL slave_thread_option )*
            	        {
            	        	while ( (stream_slave_thread_option != NULL && stream_slave_thread_option->hasNext(stream_slave_thread_option)) || (stream_COMMA_SYMBOL != NULL && stream_COMMA_SYMBOL->hasNext(stream_COMMA_SYMBOL))  )
            	        	{
            	        		ADAPTOR->addChild(ADAPTOR, root_1, 
            	        		stream_COMMA_SYMBOL == NULL ? NULL : stream_COMMA_SYMBOL->nextNode(stream_COMMA_SYMBOL)
            	        		);

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

            	        	}
            	        	if (stream_slave_thread_option != NULL) stream_slave_thread_option->reset(stream_slave_thread_option);
            	        	if (stream_COMMA_SYMBOL != NULL) stream_COMMA_SYMBOL->reset(stream_COMMA_SYMBOL);

            	        }

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

            	}


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


            }
        }

    }

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


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

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


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

/**
 * $ANTLR start slave_thread_option
 * MySQL.g:1245: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:1245: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:1249: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:1249:9: ( string_literal )
        // MySQL.g:1250:2: string_literal
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            FOLLOWPUSH(FOLLOW_string_literal_in_gtid_set6690);
            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:1255: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:1255: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:1256: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_statement6702);
        	        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_statement6705);
        	        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_statement6707);
        	        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:1256: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:1256:42: string_literal
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_string_literal_in_prepared_statement6710);
        	        	        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:1256:59: user_variable
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_user_variable_in_prepared_statement6714);
        	        	        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:1257:4: execute_statement
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_execute_statement_in_prepared_statement6720);
        	        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:1258: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_statement6734);
        	        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_statement6736);
        	        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:1261: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:1261:18: ( EXECUTE_SYMBOL ^ identifier USING_SYMBOL execute_var_list )
        // MySQL.g:1262: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_statement6745);
            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_statement6748);
            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_statement6750);
            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_statement6752);
            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:1265: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:1265:17: ( user_variable ( COMMA_SYMBOL user_variable )* )
        // MySQL.g:1266:2: user_variable ( COMMA_SYMBOL user_variable )*
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            FOLLOWPUSH(FOLLOW_user_variable_in_execute_var_list6761);
            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:1266:16: ( COMMA_SYMBOL user_variable )*

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

                }

                switch (alt420)
                {
            	case 1:
            	    // MySQL.g:1266:17: COMMA_SYMBOL user_variable
            	    {
            	        COMMA_SYMBOL1263 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_execute_var_list6764);
            	        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_list6766);
            	        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:1271: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:1271: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:1272: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_statement6783);
        	        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:1273:4: create_user
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_create_user_in_account_management_statement6788);
        	        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:1274:4: drop_user
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_drop_user_in_account_management_statement6793);
        	        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:1275: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_statement6802);
        	        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:1276:4: grant
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_grant_in_account_management_statement6807);
        	        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:1277:4: rename_user
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_rename_user_in_account_management_statement6812);
        	        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:1278:4: revoke_statement
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_revoke_statement_in_account_management_statement6817);
        	        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:1279:4: set_password
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_set_password_in_account_management_statement6822);
        	        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:1282: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:1282:11: ( ALTER_SYMBOL ^ USER_SYMBOL user PASSWORD_SYMBOL EXPIRE_SYMBOL ( COMMA_SYMBOL user PASSWORD_SYMBOL EXPIRE_SYMBOL )* )
        // MySQL.g:1283: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_user6831);
            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_user6834);
            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_user6836);
            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_user6838);
            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_user6840);
            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:1283: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:1283:64: COMMA_SYMBOL user PASSWORD_SYMBOL EXPIRE_SYMBOL
            	    {
            	        COMMA_SYMBOL1278 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_alter_user6843);
            	        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_user6845);
            	        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_user6847);
            	        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_user6849);
            	        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:1286: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:1286:12: ( CREATE_SYMBOL ^ USER_SYMBOL user_specification )
        // MySQL.g:1287: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_user6860);
            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_user6863);
            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_user6865);
            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:1290: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:1290:10: ( DROP_SYMBOL ^ USER_SYMBOL user_list )
        // MySQL.g:1291: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_user6874);
            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_user6877);
            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_user6879);
            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:1294: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:1294: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:1295: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_grant6888);
            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_grant6891);
            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_grant6893);
            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_grant6897);
            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_grant6899);
            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:1296:32: ( COMMA_SYMBOL user_specification )*

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

                }

                switch (alt423)
                {
            	case 1:
            	    // MySQL.g:1296:33: COMMA_SYMBOL user_specification
            	    {
            	        COMMA_SYMBOL1293 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_grant6902);
            	        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_grant6904);
            	        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:1297: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:1297: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_grant6911);
            	        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:1298: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:1299:5: NONE_SYMBOL
            	        	    {
            	        	        NONE_SYMBOL1296 = (pANTLR3_COMMON_TOKEN) MATCHT(NONE_SYMBOL, &FOLLOW_NONE_SYMBOL_in_grant6922);
            	        	        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:1300:7: SSL_SYMBOL
            	        	    {
            	        	        SSL_SYMBOL1297 = (pANTLR3_COMMON_TOKEN) MATCHT(SSL_SYMBOL, &FOLLOW_SSL_SYMBOL_in_grant6930);
            	        	        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:1301:7: X509_SYMBOL
            	        	    {
            	        	        X509_SYMBOL1298 = (pANTLR3_COMMON_TOKEN) MATCHT(X509_SYMBOL, &FOLLOW_X509_SYMBOL_in_grant6938);
            	        	        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:1302:7: require_list ( ( AND_SYMBOL )? require_list )*
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_require_list_in_grant6946);
            	        	        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:1302: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:1302:21: ( AND_SYMBOL )? require_list
            	        	        	    {
            	        	        	        // MySQL.g:1302:21: ( AND_SYMBOL )?
            	        	        	        {
            	        	        	            int alt424=2;
            	        	        	            switch ( LA(1) )
            	        	        	            {
            	        	        	                case AND_SYMBOL:
            	        	        	                	{
            	        	        	                		alt424=1;
            	        	        	                	}
            	        	        	                    break;
            	        	        	            }

            	        	        	            switch (alt424)
            	        	        	            {
            	        	        	        	case 1:
            	        	        	        	    // MySQL.g:1302:21: AND_SYMBOL
            	        	        	        	    {
            	        	        	        	        AND_SYMBOL1300 = (pANTLR3_COMMON_TOKEN) MATCHT(AND_SYMBOL, &FOLLOW_AND_SYMBOL_in_grant6949);
            	        	        	        	        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_grant6952);
            	        	        	        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:1305:3: ( WITH_SYMBOL ( grant_option )+ )?
            {
                int alt429=2;
                switch ( LA(1) )
                {
                    case WITH_SYMBOL:
                    	{
                    		alt429=1;
                    	}
                        break;
                }

                switch (alt429)
                {
            	case 1:
            	    // MySQL.g:1305:4: WITH_SYMBOL ( grant_option )+
            	    {
            	        WITH_SYMBOL1302 = (pANTLR3_COMMON_TOKEN) MATCHT(WITH_SYMBOL, &FOLLOW_WITH_SYMBOL_in_grant6969);
            	        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:1305: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:1305:16: grant_option
            	        	        {
            	        	            FOLLOWPUSH(FOLLOW_grant_option_in_grant6971);
            	        	            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:1308: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:1308: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:1309: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_proxy6983);
            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_proxy6986);
            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_proxy6988);
            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_proxy6990);
            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_proxy6992);
            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_proxy6994);
            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:1309:87: ( COMMA_SYMBOL user_specification )*

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

                }

                switch (alt430)
                {
            	case 1:
            	    // MySQL.g:1309:88: COMMA_SYMBOL user_specification
            	    {
            	        COMMA_SYMBOL1310 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_grant_proxy6997);
            	        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_proxy6999);
            	        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:1310: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:1310:4: WITH_SYMBOL GRANT_SYMBOL OPTION_SYMBOL
            	    {
            	        WITH_SYMBOL1312 = (pANTLR3_COMMON_TOKEN) MATCHT(WITH_SYMBOL, &FOLLOW_WITH_SYMBOL_in_grant_proxy7006);
            	        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_proxy7008);
            	        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_proxy7010);
            	        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:1313: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:1313:12: ( RENAME_SYMBOL ^ USER_SYMBOL user TO_SYMBOL user ( COMMA_SYMBOL user TO_SYMBOL user )* )
        // MySQL.g:1314: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_user7021);
            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_user7024);
            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_user7026);
            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_user7028);
            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_user7030);
            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:1314: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:1314:50: COMMA_SYMBOL user TO_SYMBOL user
            	    {
            	        COMMA_SYMBOL1320 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_rename_user7033);
            	        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_user7035);
            	        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_user7037);
            	        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_user7039);
            	        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:1317: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:1317: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:1318: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_statement7050);
            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:1319: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:1320: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_statement7062);
            	        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:1320:40: ( PRIVILEGES_SYMBOL )?
            	        {
            	            int alt433=2;
            	            switch ( LA(1) )
            	            {
            	                case PRIVILEGES_SYMBOL:
            	                	{
            	                		alt433=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt433)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1320:40: PRIVILEGES_SYMBOL
            	        	    {
            	        	        PRIVILEGES_SYMBOL1326 = (pANTLR3_COMMON_TOKEN) MATCHT(PRIVILEGES_SYMBOL, &FOLLOW_PRIVILEGES_SYMBOL_in_revoke_statement7064);
            	        	        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_statement7067);
            	        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_statement7069);
            	        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_statement7071);
            	        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_statement7073);
            	        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_statement7075);
            	        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:1321:5: grant_privileges privilege_target FROM_SYMBOL user_list
            	    {
            	        FOLLOWPUSH(FOLLOW_grant_privileges_in_revoke_statement7081);
            	        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_statement7083);
            	        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_statement7085);
            	        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_statement7087);
            	        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:1322: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_statement7097);
            	        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_statement7099);
            	        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_statement7101);
            	        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_statement7103);
            	        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_statement7105);
            	        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:1326: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:1326:17: ( ON_SYMBOL grant_object_type privilege_level -> ^( PRIVILEGE_TARGET ON_SYMBOL grant_object_type privilege_level ) )
        // MySQL.g:1327:2: ON_SYMBOL grant_object_type privilege_level
        {
            ON_SYMBOL1341 = (pANTLR3_COMMON_TOKEN) MATCHT(ON_SYMBOL, &FOLLOW_ON_SYMBOL_in_privilege_target7117);
            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_target7119);
            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_target7121);
            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;
            	// 1327:46: -> ^( PRIVILEGE_TARGET ON_SYMBOL grant_object_type privilege_level )
            	{
            	    // MySQL.g:1327: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:1330: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:1330: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:1331: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_password7142);
            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_password7145);
            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:1331:30: ( FOR_SYMBOL user )?
            {
                int alt435=2;
                switch ( LA(1) )
                {
                    case FOR_SYMBOL:
                    	{
                    		alt435=1;
                    	}
                        break;
                }

                switch (alt435)
                {
            	case 1:
            	    // MySQL.g:1331:31: FOR_SYMBOL user
            	    {
            	        FOR_SYMBOL1346 = (pANTLR3_COMMON_TOKEN) MATCHT(FOR_SYMBOL, &FOLLOW_FOR_SYMBOL_in_set_password7148);
            	        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_password7150);
            	        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_password7154);
            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:1332: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:1333:3: PASSWORD_SYMBOL OPEN_PAR_SYMBOL string_literal CLOSE_PAR_SYMBOL
            	    {
            	        PASSWORD_SYMBOL1349 = (pANTLR3_COMMON_TOKEN) MATCHT(PASSWORD_SYMBOL, &FOLLOW_PASSWORD_SYMBOL_in_set_password7161);
            	        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_password7163);
            	        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_password7165);
            	        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_password7167);
            	        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:1334: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_password7173);
            	        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_password7175);
            	        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_password7177);
            	        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_password7179);
            	        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:1335:5: string_literal
            	    {
            	        FOLLOWPUSH(FOLLOW_string_literal_in_set_password7185);
            	        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:1339: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:1339:18: ( ( ( TABLE_SYMBOL )? | FUNCTION_SYMBOL | PROCEDURE_SYMBOL ) )
        // MySQL.g:1340:2: ( ( TABLE_SYMBOL )? | FUNCTION_SYMBOL | PROCEDURE_SYMBOL )
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            // MySQL.g:1340: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))
                            {
                                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:1340:3: ( TABLE_SYMBOL )?
            	    {
            	        // MySQL.g:1340:3: ( TABLE_SYMBOL )?
            	        {
            	            int alt437=2;
            	            switch ( LA(1) )
            	            {
            	                case TABLE_SYMBOL:
            	                	{
            	                		alt437=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt437)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1340:3: TABLE_SYMBOL
            	        	    {
            	        	        TABLE_SYMBOL1358 = (pANTLR3_COMMON_TOKEN) MATCHT(TABLE_SYMBOL, &FOLLOW_TABLE_SYMBOL_in_grant_object_type7198);
            	        	        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:1340:19: FUNCTION_SYMBOL
            	    {
            	        FUNCTION_SYMBOL1359 = (pANTLR3_COMMON_TOKEN) MATCHT(FUNCTION_SYMBOL, &FOLLOW_FUNCTION_SYMBOL_in_grant_object_type7203);
            	        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:1340:37: PROCEDURE_SYMBOL
            	    {
            	        PROCEDURE_SYMBOL1360 = (pANTLR3_COMMON_TOKEN) MATCHT(PROCEDURE_SYMBOL, &FOLLOW_PROCEDURE_SYMBOL_in_grant_object_type7207);
            	        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:1343: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:1343: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:1344: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_privileges7217);
        	        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:1344:13: ( PRIVILEGES_SYMBOL )?
        	        {
        	            int alt439=2;
        	            switch ( LA(1) )
        	            {
        	                case PRIVILEGES_SYMBOL:
        	                	{
        	                		alt439=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt439)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1344:13: PRIVILEGES_SYMBOL
        	        	    {
        	        	        PRIVILEGES_SYMBOL1362 = (pANTLR3_COMMON_TOKEN) MATCHT(PRIVILEGES_SYMBOL, &FOLLOW_PRIVILEGES_SYMBOL_in_grant_privileges7219);
        	        	        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:1345:4: privilege_type ( COMMA_SYMBOL privilege_type )*
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_privilege_type_in_grant_privileges7225);
        	        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:1345:19: ( COMMA_SYMBOL privilege_type )*

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

        	            }

        	            switch (alt440)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1345:20: COMMA_SYMBOL privilege_type
        	        	    {
        	        	        COMMA_SYMBOL1364 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_grant_privileges7228);
        	        	        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_privileges7230);
        	        	        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:1348: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:1348: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:1349: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_type7241);
        	        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:1349:15: ( ROUTINE_SYMBOL )?
        	        {
        	            int alt442=2;
        	            switch ( LA(1) )
        	            {
        	                case ROUTINE_SYMBOL:
        	                	{
        	                		alt442=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt442)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1349:15: ROUTINE_SYMBOL
        	        	    {
        	        	        ROUTINE_SYMBOL1367 = (pANTLR3_COMMON_TOKEN) MATCHT(ROUTINE_SYMBOL, &FOLLOW_ROUTINE_SYMBOL_in_privilege_type7243);
        	        	        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:1350: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_type7249);
        	        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:1350: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:1350:19: ROUTINE_SYMBOL
        	        	    {
        	        	        ROUTINE_SYMBOL1369 = (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_SYMBOL1369_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ROUTINE_SYMBOL1369));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, ROUTINE_SYMBOL1369_tree);
        	        	        }

        	        	    }
        	        	    break;
        	        	case 2:
        	        	    // MySQL.g:1350:36: TABLESPACE_SYMBOL
        	        	    {
        	        	        TABLESPACE_SYMBOL1370 = (pANTLR3_COMMON_TOKEN) MATCHT(TABLESPACE_SYMBOL, &FOLLOW_TABLESPACE_SYMBOL_in_privilege_type7256);
        	        	        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:1350:56: TEMPORARY_SYMBOL TABLES_SYMBOL
        	        	    {
        	        	        TEMPORARY_SYMBOL1371 = (pANTLR3_COMMON_TOKEN) MATCHT(TEMPORARY_SYMBOL, &FOLLOW_TEMPORARY_SYMBOL_in_privilege_type7260);
        	        	        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_type7262);
        	        	        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:1350:89: USER_SYMBOL
        	        	    {
        	        	        USER_SYMBOL1373 = (pANTLR3_COMMON_TOKEN) MATCHT(USER_SYMBOL, &FOLLOW_USER_SYMBOL_in_privilege_type7266);
        	        	        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:1350:103: VIEW_SYMBOL
        	        	    {
        	        	        VIEW_SYMBOL1374 = (pANTLR3_COMMON_TOKEN) MATCHT(VIEW_SYMBOL, &FOLLOW_VIEW_SYMBOL_in_privilege_type7270);
        	        	        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:1351:4: DELETE_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        DELETE_SYMBOL1375 = (pANTLR3_COMMON_TOKEN) MATCHT(DELETE_SYMBOL, &FOLLOW_DELETE_SYMBOL_in_privilege_type7277);
        	        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:1352:4: DROP_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        DROP_SYMBOL1376 = (pANTLR3_COMMON_TOKEN) MATCHT(DROP_SYMBOL, &FOLLOW_DROP_SYMBOL_in_privilege_type7282);
        	        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:1353:4: EVENT_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        EVENT_SYMBOL1377 = (pANTLR3_COMMON_TOKEN) MATCHT(EVENT_SYMBOL, &FOLLOW_EVENT_SYMBOL_in_privilege_type7287);
        	        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:1354:4: EXECUTE_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        EXECUTE_SYMBOL1378 = (pANTLR3_COMMON_TOKEN) MATCHT(EXECUTE_SYMBOL, &FOLLOW_EXECUTE_SYMBOL_in_privilege_type7292);
        	        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:1355:4: FILE_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FILE_SYMBOL1379 = (pANTLR3_COMMON_TOKEN) MATCHT(FILE_SYMBOL, &FOLLOW_FILE_SYMBOL_in_privilege_type7297);
        	        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:1356: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_type7302);
        	        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_type7304);
        	        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:1357:4: INDEX_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        INDEX_SYMBOL1382 = (pANTLR3_COMMON_TOKEN) MATCHT(INDEX_SYMBOL, &FOLLOW_INDEX_SYMBOL_in_privilege_type7309);
        	        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:1358: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_type7314);
        	        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:1358:18: ( identifier_list_with_parentheses )?
        	        {
        	            int alt444=2;
        	            switch ( LA(1) )
        	            {
        	                case OPEN_PAR_SYMBOL:
        	                	{
        	                		alt444=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt444)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1358:18: identifier_list_with_parentheses
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_identifier_list_with_parentheses_in_privilege_type7316);
        	        	        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:1359: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_type7322);
        	        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_type7324);
        	        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:1360:4: PROCESS_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        PROCESS_SYMBOL1387 = (pANTLR3_COMMON_TOKEN) MATCHT(PROCESS_SYMBOL, &FOLLOW_PROCESS_SYMBOL_in_privilege_type7329);
        	        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:1361:4: PROXY_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        PROXY_SYMBOL1388 = (pANTLR3_COMMON_TOKEN) MATCHT(PROXY_SYMBOL, &FOLLOW_PROXY_SYMBOL_in_privilege_type7334);
        	        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:1362: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_type7339);
        	        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:1362:22: ( identifier_list_with_parentheses )?
        	        {
        	            int alt445=2;
        	            switch ( LA(1) )
        	            {
        	                case OPEN_PAR_SYMBOL:
        	                	{
        	                		alt445=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt445)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1362:22: identifier_list_with_parentheses
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_identifier_list_with_parentheses_in_privilege_type7341);
        	        	        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:1363:4: RELOAD_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        RELOAD_SYMBOL1391 = (pANTLR3_COMMON_TOKEN) MATCHT(RELOAD_SYMBOL, &FOLLOW_RELOAD_SYMBOL_in_privilege_type7347);
        	        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:1364: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_type7352);
        	        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:1365: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_type7365);
        	        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:1365:18: ( identifier_list_with_parentheses )?
        	        {
        	            int alt446=2;
        	            switch ( LA(1) )
        	            {
        	                case OPEN_PAR_SYMBOL:
        	                	{
        	                		alt446=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt446)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1365:18: identifier_list_with_parentheses
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_identifier_list_with_parentheses_in_privilege_type7367);
        	        	        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:1366: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_type7373);
        	        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_type7375);
        	        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:1367: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_type7380);
        	        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_type7382);
        	        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:1368:4: SHUTDOWN_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        SHUTDOWN_SYMBOL1400 = (pANTLR3_COMMON_TOKEN) MATCHT(SHUTDOWN_SYMBOL, &FOLLOW_SHUTDOWN_SYMBOL_in_privilege_type7387);
        	        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:1369:4: SUPER_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        SUPER_SYMBOL1401 = (pANTLR3_COMMON_TOKEN) MATCHT(SUPER_SYMBOL, &FOLLOW_SUPER_SYMBOL_in_privilege_type7392);
        	        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:1370:4: TRIGGER_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        TRIGGER_SYMBOL1402 = (pANTLR3_COMMON_TOKEN) MATCHT(TRIGGER_SYMBOL, &FOLLOW_TRIGGER_SYMBOL_in_privilege_type7397);
        	        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:1371: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_type7402);
        	        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:1371:18: ( identifier_list_with_parentheses )?
        	        {
        	            int alt447=2;
        	            switch ( LA(1) )
        	            {
        	                case OPEN_PAR_SYMBOL:
        	                	{
        	                		alt447=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt447)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1371:18: identifier_list_with_parentheses
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_identifier_list_with_parentheses_in_privilege_type7404);
        	        	        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:1372:4: USAGE_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        USAGE_SYMBOL1405 = (pANTLR3_COMMON_TOKEN) MATCHT(USAGE_SYMBOL, &FOLLOW_USAGE_SYMBOL_in_privilege_type7410);
        	        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:1375:1: privilege_level : ( MULT_OPERATOR ( DOT_SYMBOL MULT_OPERATOR )? | qualified_identifier_with_wildcard );
 */
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;
    MySQLParser_qualified_identifier_with_wildcard_return qualified_identifier_with_wildcard1409;
    #undef	RETURN_TYPE_qualified_identifier_with_wildcard1409
    #define	RETURN_TYPE_qualified_identifier_with_wildcard1409 MySQLParser_qualified_identifier_with_wildcard_return

    pANTLR3_BASE_TREE MULT_OPERATOR1406_tree;
    pANTLR3_BASE_TREE DOT_SYMBOL1407_tree;
    pANTLR3_BASE_TREE MULT_OPERATOR1408_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    MULT_OPERATOR1406       = NULL;
    DOT_SYMBOL1407       = NULL;
    MULT_OPERATOR1408       = NULL;
    qualified_identifier_with_wildcard1409.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    MULT_OPERATOR1406_tree   = NULL;
    DOT_SYMBOL1407_tree   = NULL;
    MULT_OPERATOR1408_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:1375:16: ( MULT_OPERATOR ( DOT_SYMBOL MULT_OPERATOR )? | qualified_identifier_with_wildcard )

            ANTLR3_UINT32 alt450;

            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:1376: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_level7419);
        	        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:1376:16: ( DOT_SYMBOL MULT_OPERATOR )?
        	        {
        	            int alt449=2;
        	            switch ( LA(1) )
        	            {
        	                case DOT_SYMBOL:
        	                	{
        	                		alt449=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt449)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1376:17: DOT_SYMBOL MULT_OPERATOR
        	        	    {
        	        	        DOT_SYMBOL1407 = (pANTLR3_COMMON_TOKEN) MATCHT(DOT_SYMBOL, &FOLLOW_DOT_SYMBOL_in_privilege_level7422);
        	        	        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_level7424);
        	        	        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:1377:4: qualified_identifier_with_wildcard
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_qualified_identifier_with_wildcard_in_privilege_level7431);
        	        qualified_identifier_with_wildcard1409=qualified_identifier_with_wildcard(ctx);

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

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

        	    }
        	    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:1380: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_SYMBOL1410;
    pANTLR3_COMMON_TOKEN    ISSUER_SYMBOL1412;
    pANTLR3_COMMON_TOKEN    SUBJECT_SYMBOL1414;
    MySQLParser_string_literal_return string_literal1411;
    #undef	RETURN_TYPE_string_literal1411
    #define	RETURN_TYPE_string_literal1411 MySQLParser_string_literal_return

    MySQLParser_string_literal_return string_literal1413;
    #undef	RETURN_TYPE_string_literal1413
    #define	RETURN_TYPE_string_literal1413 MySQLParser_string_literal_return

    MySQLParser_string_literal_return string_literal1415;
    #undef	RETURN_TYPE_string_literal1415
    #define	RETURN_TYPE_string_literal1415 MySQLParser_string_literal_return

    pANTLR3_BASE_TREE CIPHER_SYMBOL1410_tree;
    pANTLR3_BASE_TREE ISSUER_SYMBOL1412_tree;
    pANTLR3_BASE_TREE SUBJECT_SYMBOL1414_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    CIPHER_SYMBOL1410       = NULL;
    ISSUER_SYMBOL1412       = NULL;
    SUBJECT_SYMBOL1414       = NULL;
    string_literal1411.tree = NULL;

    string_literal1413.tree = NULL;

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


    CIPHER_SYMBOL1410_tree   = NULL;
    ISSUER_SYMBOL1412_tree   = NULL;
    SUBJECT_SYMBOL1414_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:1380:13: ( CIPHER_SYMBOL string_literal | ISSUER_SYMBOL string_literal | SUBJECT_SYMBOL string_literal )

            ANTLR3_UINT32 alt451;

            alt451=3;

            switch ( LA(1) )
            {
            case CIPHER_SYMBOL:
            	{
            		alt451=1;
            	}
                break;
            case ISSUER_SYMBOL:
            	{
            		alt451=2;
            	}
                break;
            case SUBJECT_SYMBOL:
            	{
            		alt451=3;
            	}
                break;

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

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


                goto rulerequire_listEx;

            }

            switch (alt451)
            {
        	case 1:
        	    // MySQL.g:1381:2: CIPHER_SYMBOL string_literal
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        CIPHER_SYMBOL1410 = (pANTLR3_COMMON_TOKEN) MATCHT(CIPHER_SYMBOL, &FOLLOW_CIPHER_SYMBOL_in_require_list7440);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulerequire_listEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

        	        FOLLOWPUSH(FOLLOW_string_literal_in_require_list7442);
        	        string_literal1411=string_literal(ctx);

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

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

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


        	        ISSUER_SYMBOL1412 = (pANTLR3_COMMON_TOKEN) MATCHT(ISSUER_SYMBOL, &FOLLOW_ISSUER_SYMBOL_in_require_list7447);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulerequire_listEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

        	        FOLLOWPUSH(FOLLOW_string_literal_in_require_list7449);
        	        string_literal1413=string_literal(ctx);

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

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

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


        	        SUBJECT_SYMBOL1414 = (pANTLR3_COMMON_TOKEN) MATCHT(SUBJECT_SYMBOL, &FOLLOW_SUBJECT_SYMBOL_in_require_list7454);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulerequire_listEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

        	        FOLLOWPUSH(FOLLOW_string_literal_in_require_list7456);
        	        string_literal1415=string_literal(ctx);

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

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_literal1415.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:1386: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_SYMBOL1416;
    pANTLR3_COMMON_TOKEN    OPTION_SYMBOL1417;
    pANTLR3_COMMON_TOKEN    MAX_QUERIES_PER_HOUR_SYMBOL1418;
    pANTLR3_COMMON_TOKEN    INTEGER1419;
    pANTLR3_COMMON_TOKEN    MAX_UPDATES_PER_HOUR_SYMBOL1420;
    pANTLR3_COMMON_TOKEN    INTEGER1421;
    pANTLR3_COMMON_TOKEN    MAX_CONNECTIONS_PER_HOUR_SYMBOL1422;
    pANTLR3_COMMON_TOKEN    INTEGER1423;
    pANTLR3_COMMON_TOKEN    MAX_USER_CONNECTIONS_SYMBOL1424;
    pANTLR3_COMMON_TOKEN    INTEGER1425;

    pANTLR3_BASE_TREE GRANT_SYMBOL1416_tree;
    pANTLR3_BASE_TREE OPTION_SYMBOL1417_tree;
    pANTLR3_BASE_TREE MAX_QUERIES_PER_HOUR_SYMBOL1418_tree;
    pANTLR3_BASE_TREE INTEGER1419_tree;
    pANTLR3_BASE_TREE MAX_UPDATES_PER_HOUR_SYMBOL1420_tree;
    pANTLR3_BASE_TREE INTEGER1421_tree;
    pANTLR3_BASE_TREE MAX_CONNECTIONS_PER_HOUR_SYMBOL1422_tree;
    pANTLR3_BASE_TREE INTEGER1423_tree;
    pANTLR3_BASE_TREE MAX_USER_CONNECTIONS_SYMBOL1424_tree;
    pANTLR3_BASE_TREE INTEGER1425_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    GRANT_SYMBOL1416       = NULL;
    OPTION_SYMBOL1417       = NULL;
    MAX_QUERIES_PER_HOUR_SYMBOL1418       = NULL;
    INTEGER1419       = NULL;
    MAX_UPDATES_PER_HOUR_SYMBOL1420       = NULL;
    INTEGER1421       = NULL;
    MAX_CONNECTIONS_PER_HOUR_SYMBOL1422       = NULL;
    INTEGER1423       = NULL;
    MAX_USER_CONNECTIONS_SYMBOL1424       = NULL;
    INTEGER1425       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    GRANT_SYMBOL1416_tree   = NULL;
    OPTION_SYMBOL1417_tree   = NULL;
    MAX_QUERIES_PER_HOUR_SYMBOL1418_tree   = NULL;
    INTEGER1419_tree   = NULL;
    MAX_UPDATES_PER_HOUR_SYMBOL1420_tree   = NULL;
    INTEGER1421_tree   = NULL;
    MAX_CONNECTIONS_PER_HOUR_SYMBOL1422_tree   = NULL;
    INTEGER1423_tree   = NULL;
    MAX_USER_CONNECTIONS_SYMBOL1424_tree   = NULL;
    INTEGER1425_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:1386: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 alt452;

            alt452=5;

            switch ( LA(1) )
            {
            case GRANT_SYMBOL:
            	{
            		alt452=1;
            	}
                break;
            case MAX_QUERIES_PER_HOUR_SYMBOL:
            	{
            		alt452=2;
            	}
                break;
            case MAX_UPDATES_PER_HOUR_SYMBOL:
            	{
            		alt452=3;
            	}
                break;
            case MAX_CONNECTIONS_PER_HOUR_SYMBOL:
            	{
            		alt452=4;
            	}
                break;
            case MAX_USER_CONNECTIONS_SYMBOL:
            	{
            		alt452=5;
            	}
                break;

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

            }

            switch (alt452)
            {
        	case 1:
        	    // MySQL.g:1387:2: GRANT_SYMBOL OPTION_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        GRANT_SYMBOL1416 = (pANTLR3_COMMON_TOKEN) MATCHT(GRANT_SYMBOL, &FOLLOW_GRANT_SYMBOL_in_grant_option7465);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulegrant_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

        	        OPTION_SYMBOL1417 = (pANTLR3_COMMON_TOKEN) MATCHT(OPTION_SYMBOL, &FOLLOW_OPTION_SYMBOL_in_grant_option7467);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulegrant_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

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


        	        MAX_QUERIES_PER_HOUR_SYMBOL1418 = (pANTLR3_COMMON_TOKEN) MATCHT(MAX_QUERIES_PER_HOUR_SYMBOL, &FOLLOW_MAX_QUERIES_PER_HOUR_SYMBOL_in_grant_option7472);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulegrant_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

        	        INTEGER1419 = (pANTLR3_COMMON_TOKEN) MATCHT(INTEGER, &FOLLOW_INTEGER_in_grant_option7474);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulegrant_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

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


        	        MAX_UPDATES_PER_HOUR_SYMBOL1420 = (pANTLR3_COMMON_TOKEN) MATCHT(MAX_UPDATES_PER_HOUR_SYMBOL, &FOLLOW_MAX_UPDATES_PER_HOUR_SYMBOL_in_grant_option7479);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulegrant_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

        	        INTEGER1421 = (pANTLR3_COMMON_TOKEN) MATCHT(INTEGER, &FOLLOW_INTEGER_in_grant_option7481);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulegrant_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

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


        	        MAX_CONNECTIONS_PER_HOUR_SYMBOL1422 = (pANTLR3_COMMON_TOKEN) MATCHT(MAX_CONNECTIONS_PER_HOUR_SYMBOL, &FOLLOW_MAX_CONNECTIONS_PER_HOUR_SYMBOL_in_grant_option7486);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulegrant_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

        	        INTEGER1423 = (pANTLR3_COMMON_TOKEN) MATCHT(INTEGER, &FOLLOW_INTEGER_in_grant_option7488);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulegrant_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

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


        	        MAX_USER_CONNECTIONS_SYMBOL1424 = (pANTLR3_COMMON_TOKEN) MATCHT(MAX_USER_CONNECTIONS_SYMBOL, &FOLLOW_MAX_USER_CONNECTIONS_SYMBOL_in_grant_option7493);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulegrant_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

        	        INTEGER1425 = (pANTLR3_COMMON_TOKEN) MATCHT(INTEGER, &FOLLOW_INTEGER_in_grant_option7495);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulegrant_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        INTEGER1425_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INTEGER1425));
        	        ADAPTOR->addChild(ADAPTOR, root_0, INTEGER1425_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:1396: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_SYMBOL1426;
    pANTLR3_COMMON_TOKEN    TABLE_SYMBOL1428;
    pANTLR3_COMMON_TOKEN    CHECK_SYMBOL1430;
    pANTLR3_COMMON_TOKEN    TABLE_SYMBOL1431;
    pANTLR3_COMMON_TOKEN    CHECKSUM_SYMBOL1434;
    pANTLR3_COMMON_TOKEN    TABLE_SYMBOL1435;
    pANTLR3_COMMON_TOKEN    set1437;
    pANTLR3_COMMON_TOKEN    OPTIMIZE_SYMBOL1438;
    pANTLR3_COMMON_TOKEN    TABLE_SYMBOL1440;
    pANTLR3_COMMON_TOKEN    REPAIR_SYMBOL1442;
    pANTLR3_COMMON_TOKEN    TABLE_SYMBOL1444;
    pANTLR3_COMMON_TOKEN    BACKUP_SYMBOL1447;
    pANTLR3_COMMON_TOKEN    TABLE_SYMBOL1448;
    pANTLR3_COMMON_TOKEN    TO_SYMBOL1450;
    pANTLR3_COMMON_TOKEN    RESTORE_SYMBOL1452;
    pANTLR3_COMMON_TOKEN    TABLE_SYMBOL1453;
    pANTLR3_COMMON_TOKEN    FROM_SYMBOL1455;
    MySQLParser_no_write_to_bin_log_return no_write_to_bin_log1427;
    #undef	RETURN_TYPE_no_write_to_bin_log1427
    #define	RETURN_TYPE_no_write_to_bin_log1427 MySQLParser_no_write_to_bin_log_return

    MySQLParser_qualified_identifier_list_return qualified_identifier_list1429;
    #undef	RETURN_TYPE_qualified_identifier_list1429
    #define	RETURN_TYPE_qualified_identifier_list1429 MySQLParser_qualified_identifier_list_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_check_option_return check_option1433;
    #undef	RETURN_TYPE_check_option1433
    #define	RETURN_TYPE_check_option1433 MySQLParser_check_option_return

    MySQLParser_qualified_identifier_list_return qualified_identifier_list1436;
    #undef	RETURN_TYPE_qualified_identifier_list1436
    #define	RETURN_TYPE_qualified_identifier_list1436 MySQLParser_qualified_identifier_list_return

    MySQLParser_no_write_to_bin_log_return no_write_to_bin_log1439;
    #undef	RETURN_TYPE_no_write_to_bin_log1439
    #define	RETURN_TYPE_no_write_to_bin_log1439 MySQLParser_no_write_to_bin_log_return

    MySQLParser_qualified_identifier_list_return qualified_identifier_list1441;
    #undef	RETURN_TYPE_qualified_identifier_list1441
    #define	RETURN_TYPE_qualified_identifier_list1441 MySQLParser_qualified_identifier_list_return

    MySQLParser_no_write_to_bin_log_return no_write_to_bin_log1443;
    #undef	RETURN_TYPE_no_write_to_bin_log1443
    #define	RETURN_TYPE_no_write_to_bin_log1443 MySQLParser_no_write_to_bin_log_return

    MySQLParser_qualified_identifier_list_return qualified_identifier_list1445;
    #undef	RETURN_TYPE_qualified_identifier_list1445
    #define	RETURN_TYPE_qualified_identifier_list1445 MySQLParser_qualified_identifier_list_return

    MySQLParser_repair_option_return repair_option1446;
    #undef	RETURN_TYPE_repair_option1446
    #define	RETURN_TYPE_repair_option1446 MySQLParser_repair_option_return

    MySQLParser_table_identifier_list_return table_identifier_list1449;
    #undef	RETURN_TYPE_table_identifier_list1449
    #define	RETURN_TYPE_table_identifier_list1449 MySQLParser_table_identifier_list_return

    MySQLParser_string_literal_return string_literal1451;
    #undef	RETURN_TYPE_string_literal1451
    #define	RETURN_TYPE_string_literal1451 MySQLParser_string_literal_return

    MySQLParser_table_identifier_list_return table_identifier_list1454;
    #undef	RETURN_TYPE_table_identifier_list1454
    #define	RETURN_TYPE_table_identifier_list1454 MySQLParser_table_identifier_list_return

    MySQLParser_string_literal_return string_literal1456;
    #undef	RETURN_TYPE_string_literal1456
    #define	RETURN_TYPE_string_literal1456 MySQLParser_string_literal_return

    pANTLR3_BASE_TREE ANALYZE_SYMBOL1426_tree;
    pANTLR3_BASE_TREE TABLE_SYMBOL1428_tree;
    pANTLR3_BASE_TREE CHECK_SYMBOL1430_tree;
    pANTLR3_BASE_TREE TABLE_SYMBOL1431_tree;
    pANTLR3_BASE_TREE CHECKSUM_SYMBOL1434_tree;
    pANTLR3_BASE_TREE TABLE_SYMBOL1435_tree;
    pANTLR3_BASE_TREE set1437_tree;
    pANTLR3_BASE_TREE OPTIMIZE_SYMBOL1438_tree;
    pANTLR3_BASE_TREE TABLE_SYMBOL1440_tree;
    pANTLR3_BASE_TREE REPAIR_SYMBOL1442_tree;
    pANTLR3_BASE_TREE TABLE_SYMBOL1444_tree;
    pANTLR3_BASE_TREE BACKUP_SYMBOL1447_tree;
    pANTLR3_BASE_TREE TABLE_SYMBOL1448_tree;
    pANTLR3_BASE_TREE TO_SYMBOL1450_tree;
    pANTLR3_BASE_TREE RESTORE_SYMBOL1452_tree;
    pANTLR3_BASE_TREE TABLE_SYMBOL1453_tree;
    pANTLR3_BASE_TREE FROM_SYMBOL1455_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    ANALYZE_SYMBOL1426       = NULL;
    TABLE_SYMBOL1428       = NULL;
    CHECK_SYMBOL1430       = NULL;
    TABLE_SYMBOL1431       = NULL;
    CHECKSUM_SYMBOL1434       = NULL;
    TABLE_SYMBOL1435       = NULL;
    set1437       = NULL;
    OPTIMIZE_SYMBOL1438       = NULL;
    TABLE_SYMBOL1440       = NULL;
    REPAIR_SYMBOL1442       = NULL;
    TABLE_SYMBOL1444       = NULL;
    BACKUP_SYMBOL1447       = NULL;
    TABLE_SYMBOL1448       = NULL;
    TO_SYMBOL1450       = NULL;
    RESTORE_SYMBOL1452       = NULL;
    TABLE_SYMBOL1453       = NULL;
    FROM_SYMBOL1455       = NULL;
    no_write_to_bin_log1427.tree = NULL;

    qualified_identifier_list1429.tree = NULL;

    qualified_identifier_list1432.tree = NULL;

    check_option1433.tree = NULL;

    qualified_identifier_list1436.tree = NULL;

    no_write_to_bin_log1439.tree = NULL;

    qualified_identifier_list1441.tree = NULL;

    no_write_to_bin_log1443.tree = NULL;

    qualified_identifier_list1445.tree = NULL;

    repair_option1446.tree = NULL;

    table_identifier_list1449.tree = NULL;

    string_literal1451.tree = NULL;

    table_identifier_list1454.tree = NULL;

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


    ANALYZE_SYMBOL1426_tree   = NULL;
    TABLE_SYMBOL1428_tree   = NULL;
    CHECK_SYMBOL1430_tree   = NULL;
    TABLE_SYMBOL1431_tree   = NULL;
    CHECKSUM_SYMBOL1434_tree   = NULL;
    TABLE_SYMBOL1435_tree   = NULL;
    set1437_tree   = NULL;
    OPTIMIZE_SYMBOL1438_tree   = NULL;
    TABLE_SYMBOL1440_tree   = NULL;
    REPAIR_SYMBOL1442_tree   = NULL;
    TABLE_SYMBOL1444_tree   = NULL;
    BACKUP_SYMBOL1447_tree   = NULL;
    TABLE_SYMBOL1448_tree   = NULL;
    TO_SYMBOL1450_tree   = NULL;
    RESTORE_SYMBOL1452_tree   = NULL;
    TABLE_SYMBOL1453_tree   = NULL;
    FROM_SYMBOL1455_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:1396: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 alt459;

            alt459=7;

            {
                int LA459_0 = LA(1);
                if ( (LA459_0 == ANALYZE_SYMBOL))
                {
                    alt459=1;
                }
                else if ( (LA459_0 == CHECK_SYMBOL))
                {
                    alt459=2;
                }
                else if ( (LA459_0 == CHECKSUM_SYMBOL))
                {
                    alt459=3;
                }
                else if ( (LA459_0 == OPTIMIZE_SYMBOL))
                {
                    alt459=4;
                }
                else if ( (LA459_0 == REPAIR_SYMBOL))
                {
                    alt459=5;
                }
                else if ( ((SERVER_VERSION < 50500)) && (LA459_0 == BACKUP_SYMBOL))
                {
                    alt459=6;
                }
                else if ( ((SERVER_VERSION < 50500)) && (LA459_0 == RESTORE_SYMBOL))
                {
                    alt459=7;
                }
                else
                {
                    if (BACKTRACKING>0)
                    {
                        FAILEDFLAG = ANTLR3_TRUE;
                        return retval;
                    }


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


                    goto ruletable_administration_statementEx;

                }
            }
            switch (alt459)
            {
        	case 1:
        	    // MySQL.g:1397:2: ANALYZE_SYMBOL ^ ( no_write_to_bin_log )? TABLE_SYMBOL qualified_identifier_list
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        ANALYZE_SYMBOL1426 = (pANTLR3_COMMON_TOKEN) MATCHT(ANALYZE_SYMBOL, &FOLLOW_ANALYZE_SYMBOL_in_table_administration_statement7506);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruletable_administration_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

        	        // MySQL.g:1397:18: ( no_write_to_bin_log )?
        	        {
        	            int alt453=2;
        	            {
        	                int LA453_0 = LA(1);
        	                if ( ((LA(1) == LOCAL_SYMBOL)) && (LA453_0 == LOCAL_SYMBOL))
        	                {
        	                    alt453=1;
        	                }
        	                else if ( (LA453_0 == NO_WRITE_TO_BINLOG_SYMBOL))
        	                {
        	                    alt453=1;
        	                }
        	            }
        	            switch (alt453)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1397:18: no_write_to_bin_log
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_no_write_to_bin_log_in_table_administration_statement7509);
        	        	        no_write_to_bin_log1427=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_log1427.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	        TABLE_SYMBOL1428 = (pANTLR3_COMMON_TOKEN) MATCHT(TABLE_SYMBOL, &FOLLOW_TABLE_SYMBOL_in_table_administration_statement7512);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruletable_administration_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

        	        FOLLOWPUSH(FOLLOW_qualified_identifier_list_in_table_administration_statement7514);
        	        qualified_identifier_list1429=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_list1429.tree);

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:1398:4: CHECK_SYMBOL ^ TABLE_SYMBOL qualified_identifier_list ( check_option )*
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        CHECK_SYMBOL1430 = (pANTLR3_COMMON_TOKEN) MATCHT(CHECK_SYMBOL, &FOLLOW_CHECK_SYMBOL_in_table_administration_statement7519);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruletable_administration_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

        	        TABLE_SYMBOL1431 = (pANTLR3_COMMON_TOKEN) MATCHT(TABLE_SYMBOL, &FOLLOW_TABLE_SYMBOL_in_table_administration_statement7522);
        	        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_statement7524);
        	        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);

        	        // MySQL.g:1398:57: ( check_option )*

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

        	            }

        	            switch (alt454)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1398:57: check_option
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_check_option_in_table_administration_statement7526);
        	        	        check_option1433=check_option(ctx);

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

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

        	        	    }
        	        	    break;

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


        	    }
        	    break;
        	case 3:
        	    // MySQL.g:1399:4: CHECKSUM_SYMBOL ^ TABLE_SYMBOL qualified_identifier_list ( QUICK_SYMBOL | EXTENDED_SYMBOL )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        CHECKSUM_SYMBOL1434 = (pANTLR3_COMMON_TOKEN) MATCHT(CHECKSUM_SYMBOL, &FOLLOW_CHECKSUM_SYMBOL_in_table_administration_statement7532);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruletable_administration_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

        	        TABLE_SYMBOL1435 = (pANTLR3_COMMON_TOKEN) MATCHT(TABLE_SYMBOL, &FOLLOW_TABLE_SYMBOL_in_table_administration_statement7535);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruletable_administration_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

        	        FOLLOWPUSH(FOLLOW_qualified_identifier_list_in_table_administration_statement7537);
        	        qualified_identifier_list1436=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_list1436.tree);

        	        // MySQL.g:1399:60: ( QUICK_SYMBOL | EXTENDED_SYMBOL )?
        	        {
        	            int alt455=2;
        	            switch ( LA(1) )
        	            {
        	                case EXTENDED_SYMBOL:
        	                case QUICK_SYMBOL:
        	                	{
        	                		alt455=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt455)
        	            {
        	        	case 1:
        	        	    // MySQL.g:
        	        	    {
        	        	        set1437=(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, set1437))
        	        	            );
        	        	            PERRORRECOVERY=ANTLR3_FALSE;
        	        	            FAILEDFLAG=ANTLR3_FALSE;

        	        	        }
        	        	        else
        	        	        {
        	        	            if (BACKTRACKING>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:1400:4: OPTIMIZE_SYMBOL ^ ( no_write_to_bin_log )? TABLE_SYMBOL qualified_identifier_list
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        OPTIMIZE_SYMBOL1438 = (pANTLR3_COMMON_TOKEN) MATCHT(OPTIMIZE_SYMBOL, &FOLLOW_OPTIMIZE_SYMBOL_in_table_administration_statement7551);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruletable_administration_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

        	        // MySQL.g:1400:21: ( no_write_to_bin_log )?
        	        {
        	            int alt456=2;
        	            {
        	                int LA456_0 = LA(1);
        	                if ( ((LA(1) == LOCAL_SYMBOL)) && (LA456_0 == LOCAL_SYMBOL))
        	                {
        	                    alt456=1;
        	                }
        	                else if ( (LA456_0 == NO_WRITE_TO_BINLOG_SYMBOL))
        	                {
        	                    alt456=1;
        	                }
        	            }
        	            switch (alt456)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1400:21: no_write_to_bin_log
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_no_write_to_bin_log_in_table_administration_statement7554);
        	        	        no_write_to_bin_log1439=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_log1439.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	        TABLE_SYMBOL1440 = (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_SYMBOL1440_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, TABLE_SYMBOL1440));
        	        ADAPTOR->addChild(ADAPTOR, root_0, TABLE_SYMBOL1440_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_qualified_identifier_list_in_table_administration_statement7559);
        	        qualified_identifier_list1441=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_list1441.tree);

        	    }
        	    break;
        	case 5:
        	    // MySQL.g:1401:4: REPAIR_SYMBOL ^ ( no_write_to_bin_log )? TABLE_SYMBOL qualified_identifier_list ( repair_option )*
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        REPAIR_SYMBOL1442 = (pANTLR3_COMMON_TOKEN) MATCHT(REPAIR_SYMBOL, &FOLLOW_REPAIR_SYMBOL_in_table_administration_statement7564);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruletable_administration_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

        	        // MySQL.g:1401:19: ( no_write_to_bin_log )?
        	        {
        	            int alt457=2;
        	            {
        	                int LA457_0 = LA(1);
        	                if ( ((LA(1) == LOCAL_SYMBOL)) && (LA457_0 == LOCAL_SYMBOL))
        	                {
        	                    alt457=1;
        	                }
        	                else if ( (LA457_0 == NO_WRITE_TO_BINLOG_SYMBOL))
        	                {
        	                    alt457=1;
        	                }
        	            }
        	            switch (alt457)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1401:19: no_write_to_bin_log
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_no_write_to_bin_log_in_table_administration_statement7567);
        	        	        no_write_to_bin_log1443=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_log1443.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	        TABLE_SYMBOL1444 = (pANTLR3_COMMON_TOKEN) MATCHT(TABLE_SYMBOL, &FOLLOW_TABLE_SYMBOL_in_table_administration_statement7570);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruletable_administration_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

        	        FOLLOWPUSH(FOLLOW_qualified_identifier_list_in_table_administration_statement7572);
        	        qualified_identifier_list1445=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_list1445.tree);

        	        // MySQL.g:1401:79: ( repair_option )*

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

        	            }

        	            switch (alt458)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1401:79: repair_option
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_repair_option_in_table_administration_statement7574);
        	        	        repair_option1446=repair_option(ctx);

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

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

        	        	    }
        	        	    break;

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


        	    }
        	    break;
        	case 6:
        	    // MySQL.g:1402: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_SYMBOL1447 = (pANTLR3_COMMON_TOKEN) MATCHT(BACKUP_SYMBOL, &FOLLOW_BACKUP_SYMBOL_in_table_administration_statement7584);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruletable_administration_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

        	        TABLE_SYMBOL1448 = (pANTLR3_COMMON_TOKEN) MATCHT(TABLE_SYMBOL, &FOLLOW_TABLE_SYMBOL_in_table_administration_statement7587);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruletable_administration_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

        	        FOLLOWPUSH(FOLLOW_table_identifier_list_in_table_administration_statement7589);
        	        table_identifier_list1449=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_list1449.tree);

        	        TO_SYMBOL1450 = (pANTLR3_COMMON_TOKEN) MATCHT(TO_SYMBOL, &FOLLOW_TO_SYMBOL_in_table_administration_statement7591);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruletable_administration_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

        	        FOLLOWPUSH(FOLLOW_string_literal_in_table_administration_statement7593);
        	        string_literal1451=string_literal(ctx);

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

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

        	    }
        	    break;
        	case 7:
        	    // MySQL.g:1403: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_SYMBOL1452 = (pANTLR3_COMMON_TOKEN) MATCHT(RESTORE_SYMBOL, &FOLLOW_RESTORE_SYMBOL_in_table_administration_statement7602);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruletable_administration_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

        	        TABLE_SYMBOL1453 = (pANTLR3_COMMON_TOKEN) MATCHT(TABLE_SYMBOL, &FOLLOW_TABLE_SYMBOL_in_table_administration_statement7605);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruletable_administration_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

        	        FOLLOWPUSH(FOLLOW_table_identifier_list_in_table_administration_statement7607);
        	        table_identifier_list1454=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_list1454.tree);

        	        FROM_SYMBOL1455 = (pANTLR3_COMMON_TOKEN) MATCHT(FROM_SYMBOL, &FOLLOW_FROM_SYMBOL_in_table_administration_statement7609);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruletable_administration_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

        	        FOLLOWPUSH(FOLLOW_string_literal_in_table_administration_statement7611);
        	        string_literal1456=string_literal(ctx);

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

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_literal1456.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:1406: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_SYMBOL1457;
    pANTLR3_COMMON_TOKEN    UPGRADE_SYMBOL1458;
    pANTLR3_COMMON_TOKEN    QUICK_SYMBOL1459;
    pANTLR3_COMMON_TOKEN    FAST_SYMBOL1460;
    pANTLR3_COMMON_TOKEN    MEDIUM_SYMBOL1461;
    pANTLR3_COMMON_TOKEN    EXTENDED_SYMBOL1462;
    pANTLR3_COMMON_TOKEN    CHANGED_SYMBOL1463;

    pANTLR3_BASE_TREE FOR_SYMBOL1457_tree;
    pANTLR3_BASE_TREE UPGRADE_SYMBOL1458_tree;
    pANTLR3_BASE_TREE QUICK_SYMBOL1459_tree;
    pANTLR3_BASE_TREE FAST_SYMBOL1460_tree;
    pANTLR3_BASE_TREE MEDIUM_SYMBOL1461_tree;
    pANTLR3_BASE_TREE EXTENDED_SYMBOL1462_tree;
    pANTLR3_BASE_TREE CHANGED_SYMBOL1463_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    FOR_SYMBOL1457       = NULL;
    UPGRADE_SYMBOL1458       = NULL;
    QUICK_SYMBOL1459       = NULL;
    FAST_SYMBOL1460       = NULL;
    MEDIUM_SYMBOL1461       = NULL;
    EXTENDED_SYMBOL1462       = NULL;
    CHANGED_SYMBOL1463       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    FOR_SYMBOL1457_tree   = NULL;
    UPGRADE_SYMBOL1458_tree   = NULL;
    QUICK_SYMBOL1459_tree   = NULL;
    FAST_SYMBOL1460_tree   = NULL;
    MEDIUM_SYMBOL1461_tree   = NULL;
    EXTENDED_SYMBOL1462_tree   = NULL;
    CHANGED_SYMBOL1463_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:1406:13: ( FOR_SYMBOL UPGRADE_SYMBOL | QUICK_SYMBOL | FAST_SYMBOL | MEDIUM_SYMBOL | EXTENDED_SYMBOL | CHANGED_SYMBOL )

            ANTLR3_UINT32 alt460;

            alt460=6;

            switch ( LA(1) )
            {
            case FOR_SYMBOL:
            	{
            		alt460=1;
            	}
                break;
            case QUICK_SYMBOL:
            	{
            		alt460=2;
            	}
                break;
            case FAST_SYMBOL:
            	{
            		alt460=3;
            	}
                break;
            case MEDIUM_SYMBOL:
            	{
            		alt460=4;
            	}
                break;
            case EXTENDED_SYMBOL:
            	{
            		alt460=5;
            	}
                break;
            case CHANGED_SYMBOL:
            	{
            		alt460=6;
            	}
                break;

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

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


                goto rulecheck_optionEx;

            }

            switch (alt460)
            {
        	case 1:
        	    // MySQL.g:1407:2: FOR_SYMBOL UPGRADE_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOR_SYMBOL1457 = (pANTLR3_COMMON_TOKEN) MATCHT(FOR_SYMBOL, &FOLLOW_FOR_SYMBOL_in_check_option7620);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecheck_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

        	        UPGRADE_SYMBOL1458 = (pANTLR3_COMMON_TOKEN) MATCHT(UPGRADE_SYMBOL, &FOLLOW_UPGRADE_SYMBOL_in_check_option7622);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecheck_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:1407:30: QUICK_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        QUICK_SYMBOL1459 = (pANTLR3_COMMON_TOKEN) MATCHT(QUICK_SYMBOL, &FOLLOW_QUICK_SYMBOL_in_check_option7626);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecheck_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

        	    }
        	    break;
        	case 3:
        	    // MySQL.g:1407:45: FAST_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FAST_SYMBOL1460 = (pANTLR3_COMMON_TOKEN) MATCHT(FAST_SYMBOL, &FOLLOW_FAST_SYMBOL_in_check_option7630);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecheck_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

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


        	        MEDIUM_SYMBOL1461 = (pANTLR3_COMMON_TOKEN) MATCHT(MEDIUM_SYMBOL, &FOLLOW_MEDIUM_SYMBOL_in_check_option7634);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecheck_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

        	    }
        	    break;
        	case 5:
        	    // MySQL.g:1407:75: EXTENDED_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        EXTENDED_SYMBOL1462 = (pANTLR3_COMMON_TOKEN) MATCHT(EXTENDED_SYMBOL, &FOLLOW_EXTENDED_SYMBOL_in_check_option7638);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecheck_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

        	    }
        	    break;
        	case 6:
        	    // MySQL.g:1407:93: CHANGED_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        CHANGED_SYMBOL1463 = (pANTLR3_COMMON_TOKEN) MATCHT(CHANGED_SYMBOL, &FOLLOW_CHANGED_SYMBOL_in_check_option7642);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecheck_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CHANGED_SYMBOL1463_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CHANGED_SYMBOL1463));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CHANGED_SYMBOL1463_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:1410: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    set1464;

    pANTLR3_BASE_TREE set1464_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    set1464       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    set1464_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1410:14: ( QUICK_SYMBOL | EXTENDED_SYMBOL | USE_FRM_SYMBOL )
        // MySQL.g:
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            set1464=(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, set1464))
                );
                PERRORRECOVERY=ANTLR3_FALSE;
                FAILEDFLAG=ANTLR3_FALSE;

            }
            else
            {
                if (BACKTRACKING>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:1416: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_SYMBOL1465;
    pANTLR3_COMMON_TOKEN    PLUGIN_SYMBOL1466;
    pANTLR3_COMMON_TOKEN    SONAME_SYMBOL1468;
    pANTLR3_COMMON_TOKEN    UNINSTALL_SYMBOL1470;
    pANTLR3_COMMON_TOKEN    PLUGIN_SYMBOL1471;
    MySQLParser_identifier_return identifier1467;
    #undef	RETURN_TYPE_identifier1467
    #define	RETURN_TYPE_identifier1467 MySQLParser_identifier_return

    MySQLParser_string_literal_return string_literal1469;
    #undef	RETURN_TYPE_string_literal1469
    #define	RETURN_TYPE_string_literal1469 MySQLParser_string_literal_return

    MySQLParser_identifier_return identifier1472;
    #undef	RETURN_TYPE_identifier1472
    #define	RETURN_TYPE_identifier1472 MySQLParser_identifier_return

    pANTLR3_BASE_TREE INSTALL_SYMBOL1465_tree;
    pANTLR3_BASE_TREE PLUGIN_SYMBOL1466_tree;
    pANTLR3_BASE_TREE SONAME_SYMBOL1468_tree;
    pANTLR3_BASE_TREE UNINSTALL_SYMBOL1470_tree;
    pANTLR3_BASE_TREE PLUGIN_SYMBOL1471_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    INSTALL_SYMBOL1465       = NULL;
    PLUGIN_SYMBOL1466       = NULL;
    SONAME_SYMBOL1468       = NULL;
    UNINSTALL_SYMBOL1470       = NULL;
    PLUGIN_SYMBOL1471       = NULL;
    identifier1467.tree = NULL;

    string_literal1469.tree = NULL;

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


    INSTALL_SYMBOL1465_tree   = NULL;
    PLUGIN_SYMBOL1466_tree   = NULL;
    SONAME_SYMBOL1468_tree   = NULL;
    UNINSTALL_SYMBOL1470_tree   = NULL;
    PLUGIN_SYMBOL1471_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:1416:27: ( INSTALL_SYMBOL ^ PLUGIN_SYMBOL identifier SONAME_SYMBOL string_literal | UNINSTALL_SYMBOL ^ PLUGIN_SYMBOL identifier )

            ANTLR3_UINT32 alt461;

            alt461=2;

            switch ( LA(1) )
            {
            case INSTALL_SYMBOL:
            	{
            		alt461=1;
            	}
                break;
            case UNINSTALL_SYMBOL:
            	{
            		alt461=2;
            	}
                break;

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

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


                goto ruleinstall_uninstall_statmentEx;

            }

            switch (alt461)
            {
        	case 1:
        	    // MySQL.g:1417:2: INSTALL_SYMBOL ^ PLUGIN_SYMBOL identifier SONAME_SYMBOL string_literal
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        INSTALL_SYMBOL1465 = (pANTLR3_COMMON_TOKEN) MATCHT(INSTALL_SYMBOL, &FOLLOW_INSTALL_SYMBOL_in_install_uninstall_statment7670);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleinstall_uninstall_statmentEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

        	        PLUGIN_SYMBOL1466 = (pANTLR3_COMMON_TOKEN) MATCHT(PLUGIN_SYMBOL, &FOLLOW_PLUGIN_SYMBOL_in_install_uninstall_statment7673);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleinstall_uninstall_statmentEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

        	        FOLLOWPUSH(FOLLOW_identifier_in_install_uninstall_statment7675);
        	        identifier1467=identifier(ctx);

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

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

        	        SONAME_SYMBOL1468 = (pANTLR3_COMMON_TOKEN) MATCHT(SONAME_SYMBOL, &FOLLOW_SONAME_SYMBOL_in_install_uninstall_statment7677);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleinstall_uninstall_statmentEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

        	        FOLLOWPUSH(FOLLOW_string_literal_in_install_uninstall_statment7679);
        	        string_literal1469=string_literal(ctx);

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

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

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:1418:4: UNINSTALL_SYMBOL ^ PLUGIN_SYMBOL identifier
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        UNINSTALL_SYMBOL1470 = (pANTLR3_COMMON_TOKEN) MATCHT(UNINSTALL_SYMBOL, &FOLLOW_UNINSTALL_SYMBOL_in_install_uninstall_statment7684);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleinstall_uninstall_statmentEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

        	        PLUGIN_SYMBOL1471 = (pANTLR3_COMMON_TOKEN) MATCHT(PLUGIN_SYMBOL, &FOLLOW_PLUGIN_SYMBOL_in_install_uninstall_statment7687);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleinstall_uninstall_statmentEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

        	        FOLLOWPUSH(FOLLOW_identifier_in_install_uninstall_statment7689);
        	        identifier1472=identifier(ctx);

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

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier1472.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:1423: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_SYMBOL1473;
    pANTLR3_COMMON_TOKEN    TRANSACTION_SYMBOL1475;
    pANTLR3_COMMON_TOKEN    ONE_SHOT_SYMBOL1477;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL1479;
    MySQLParser_option_type_return option_type1474;
    #undef	RETURN_TYPE_option_type1474
    #define	RETURN_TYPE_option_type1474 MySQLParser_option_type_return

    MySQLParser_set_transaction_characteristic_return set_transaction_characteristic1476;
    #undef	RETURN_TYPE_set_transaction_characteristic1476
    #define	RETURN_TYPE_set_transaction_characteristic1476 MySQLParser_set_transaction_characteristic_return

    MySQLParser_variable_assignment_return variable_assignment1478;
    #undef	RETURN_TYPE_variable_assignment1478
    #define	RETURN_TYPE_variable_assignment1478 MySQLParser_variable_assignment_return

    MySQLParser_option_value_list_return option_value_list1480;
    #undef	RETURN_TYPE_option_value_list1480
    #define	RETURN_TYPE_option_value_list1480 MySQLParser_option_value_list_return

    pANTLR3_BASE_TREE SET_SYMBOL1473_tree;
    pANTLR3_BASE_TREE TRANSACTION_SYMBOL1475_tree;
    pANTLR3_BASE_TREE ONE_SHOT_SYMBOL1477_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL1479_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    SET_SYMBOL1473       = NULL;
    TRANSACTION_SYMBOL1475       = NULL;
    ONE_SHOT_SYMBOL1477       = NULL;
    COMMA_SYMBOL1479       = NULL;
    option_type1474.tree = NULL;

    set_transaction_characteristic1476.tree = NULL;

    variable_assignment1478.tree = NULL;

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


    SET_SYMBOL1473_tree   = NULL;
    TRANSACTION_SYMBOL1475_tree   = NULL;
    ONE_SHOT_SYMBOL1477_tree   = NULL;
    COMMA_SYMBOL1479_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1423:14: ( SET_SYMBOL ^ ( option_type )? ( TRANSACTION_SYMBOL set_transaction_characteristic | ( ONE_SHOT_SYMBOL )? variable_assignment ( COMMA_SYMBOL option_value_list )? ) )
        // MySQL.g:1424: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_SYMBOL1473 = (pANTLR3_COMMON_TOKEN) MATCHT(SET_SYMBOL, &FOLLOW_SET_SYMBOL_in_set_statement7700);
            if  (HASEXCEPTION())
            {
                goto ruleset_statementEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

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

            // MySQL.g:1424:14: ( option_type )?
            {
                int alt462=2;
                switch ( LA(1) )
                {
                    case GLOBAL_SYMBOL:
                    case LOCAL_SYMBOL:
                    case SESSION_SYMBOL:
                    	{
                    		{
                    		    int LA462_1 = LA(2);
                    		    if ( (((LA462_1 >= ACTION_SYMBOL) && (LA462_1 <= PARTITION_SYMBOL)) || ((LA462_1 >= AT_AT_SIGN_SYMBOL) && (LA462_1 <= AT_SIGN_SYMBOL)) || LA462_1 == BACK_TICK_QUOTED_ID || LA462_1 == CHAR_SYMBOL || LA462_1 == DEFAULT_SYMBOL || LA462_1 == DOUBLE_QUOTED_TEXT || LA462_1 == IDENTIFIER))
                    		    {
                    		        alt462=1;
                    		    }
                    		}
                    	}
                        break;
                }

                switch (alt462)
                {
            	case 1:
            	    // MySQL.g:1424:14: option_type
            	    {
            	        FOLLOWPUSH(FOLLOW_option_type_in_set_statement7703);
            	        option_type1474=option_type(ctx);

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

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

            	    }
            	    break;

                }
            }

            // MySQL.g:1425:3: ( TRANSACTION_SYMBOL set_transaction_characteristic | ( ONE_SHOT_SYMBOL )? variable_assignment ( COMMA_SYMBOL option_value_list )? )
            {
                int alt465=2;
                {
                    int LA465_0 = LA(1);
                    if ( (LA465_0 == TRANSACTION_SYMBOL))
                    {
                        switch ( LA(2) )
                        {
                        case ISOLATION_SYMBOL:
                        case READ_SYMBOL:
                        	{
                        		alt465=1;
                        	}
                            break;
                        case ASSIGN_OPERATOR:
                        case DOT_SYMBOL:
                        case EQUAL_OPERATOR:
                        	{
                        		alt465=2;
                        	}
                            break;

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

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


                            goto ruleset_statementEx;

                        }

                    }
                    else if ( (LA465_0 == NAMES_SYMBOL || LA465_0 == ONE_SHOT_SYMBOL || LA465_0 == BACK_TICK_QUOTED_ID || LA465_0 == IDENTIFIER))
                    {
                        alt465=2;
                    }
                    else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA465_0 == DOUBLE_QUOTED_TEXT))
                    {
                        alt465=2;
                    }
                    else if ( (((LA465_0 >= ACTION_SYMBOL) && (LA465_0 <= MYSQL_ERRNO_SYMBOL)) || ((LA465_0 >= NAME_SYMBOL) && (LA465_0 <= OLD_PASSWORD_SYMBOL)) || ((LA465_0 >= ONE_SYMBOL) && (LA465_0 <= TIME_SYMBOL)) || ((LA465_0 >= TRIGGERS_SYMBOL) && (LA465_0 <= PARTITION_SYMBOL)) || ((LA465_0 >= AT_AT_SIGN_SYMBOL) && (LA465_0 <= AT_SIGN_SYMBOL)) || LA465_0 == CHAR_SYMBOL || LA465_0 == DEFAULT_SYMBOL))
                    {
                        alt465=2;
                    }
                    else
                    {
                        if (BACKTRACKING>0)
                        {
                            FAILEDFLAG = ANTLR3_TRUE;
                            return retval;
                        }


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


                        goto ruleset_statementEx;

                    }
                }
                switch (alt465)
                {
            	case 1:
            	    // MySQL.g:1426:5: TRANSACTION_SYMBOL set_transaction_characteristic
            	    {
            	        TRANSACTION_SYMBOL1475 = (pANTLR3_COMMON_TOKEN) MATCHT(TRANSACTION_SYMBOL, &FOLLOW_TRANSACTION_SYMBOL_in_set_statement7714);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleset_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

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

            	        FOLLOWPUSH(FOLLOW_set_transaction_characteristic_in_set_statement7716);
            	        set_transaction_characteristic1476=set_transaction_characteristic(ctx);

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

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

            	    }
            	    break;
            	case 2:
            	    // MySQL.g:1427:6: ( ONE_SHOT_SYMBOL )? variable_assignment ( COMMA_SYMBOL option_value_list )?
            	    {
            	        // MySQL.g:1427:6: ( ONE_SHOT_SYMBOL )?
            	        {
            	            int alt463=2;
            	            switch ( LA(1) )
            	            {
            	                case ONE_SHOT_SYMBOL:
            	                	{
            	                		{
            	                		    int LA463_1 = LA(2);
            	                		    if ( (((LA463_1 >= ACTION_SYMBOL) && (LA463_1 <= PARTITION_SYMBOL)) || ((LA463_1 >= AT_AT_SIGN_SYMBOL) && (LA463_1 <= AT_SIGN_SYMBOL)) || LA463_1 == BACK_TICK_QUOTED_ID || LA463_1 == CHAR_SYMBOL || LA463_1 == DEFAULT_SYMBOL || LA463_1 == DOUBLE_QUOTED_TEXT || LA463_1 == IDENTIFIER))
            	                		    {
            	                		        alt463=1;
            	                		    }
            	                		}
            	                	}
            	                    break;
            	            }

            	            switch (alt463)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1427:6: ONE_SHOT_SYMBOL
            	        	    {
            	        	        ONE_SHOT_SYMBOL1477 = (pANTLR3_COMMON_TOKEN) MATCHT(ONE_SHOT_SYMBOL, &FOLLOW_ONE_SHOT_SYMBOL_in_set_statement7723);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleset_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

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

            	        	    }
            	        	    break;

            	            }
            	        }

            	        FOLLOWPUSH(FOLLOW_variable_assignment_in_set_statement7726);
            	        variable_assignment1478=variable_assignment(ctx);

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

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

            	        // MySQL.g:1427:43: ( COMMA_SYMBOL option_value_list )?
            	        {
            	            int alt464=2;
            	            switch ( LA(1) )
            	            {
            	                case COMMA_SYMBOL:
            	                	{
            	                		alt464=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt464)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1427:44: COMMA_SYMBOL option_value_list
            	        	    {
            	        	        COMMA_SYMBOL1479 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_set_statement7729);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleset_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

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

            	        	        FOLLOWPUSH(FOLLOW_option_value_list_in_set_statement7731);
            	        	        option_value_list1480=option_value_list(ctx);

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

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, option_value_list1480.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:1432: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_SYMBOL1481;
    pANTLR3_COMMON_TOKEN    COLLATE_SYMBOL1485;
    MySQLParser_equal_return equal1482;
    #undef	RETURN_TYPE_equal1482
    #define	RETURN_TYPE_equal1482 MySQLParser_equal_return

    MySQLParser_expression_return expression1483;
    #undef	RETURN_TYPE_expression1483
    #define	RETURN_TYPE_expression1483 MySQLParser_expression_return

    MySQLParser_charset_name_or_default_return charset_name_or_default1484;
    #undef	RETURN_TYPE_charset_name_or_default1484
    #define	RETURN_TYPE_charset_name_or_default1484 MySQLParser_charset_name_or_default_return

    MySQLParser_collation_name_or_default_return collation_name_or_default1486;
    #undef	RETURN_TYPE_collation_name_or_default1486
    #define	RETURN_TYPE_collation_name_or_default1486 MySQLParser_collation_name_or_default_return

    MySQLParser_variable_name_return variable_name1487;
    #undef	RETURN_TYPE_variable_name1487
    #define	RETURN_TYPE_variable_name1487 MySQLParser_variable_name_return

    MySQLParser_equal_return equal1488;
    #undef	RETURN_TYPE_equal1488
    #define	RETURN_TYPE_equal1488 MySQLParser_equal_return

    MySQLParser_set_expression_or_default_return set_expression_or_default1489;
    #undef	RETURN_TYPE_set_expression_or_default1489
    #define	RETURN_TYPE_set_expression_or_default1489 MySQLParser_set_expression_or_default_return

    MySQLParser_user_variable_return user_variable1490;
    #undef	RETURN_TYPE_user_variable1490
    #define	RETURN_TYPE_user_variable1490 MySQLParser_user_variable_return

    MySQLParser_equal_return equal1491;
    #undef	RETURN_TYPE_equal1491
    #define	RETURN_TYPE_equal1491 MySQLParser_equal_return

    MySQLParser_expression_return expression1492;
    #undef	RETURN_TYPE_expression1492
    #define	RETURN_TYPE_expression1492 MySQLParser_expression_return

    MySQLParser_system_variable_return system_variable1493;
    #undef	RETURN_TYPE_system_variable1493
    #define	RETURN_TYPE_system_variable1493 MySQLParser_system_variable_return

    MySQLParser_equal_return equal1494;
    #undef	RETURN_TYPE_equal1494
    #define	RETURN_TYPE_equal1494 MySQLParser_equal_return

    MySQLParser_set_expression_or_default_return set_expression_or_default1495;
    #undef	RETURN_TYPE_set_expression_or_default1495
    #define	RETURN_TYPE_set_expression_or_default1495 MySQLParser_set_expression_or_default_return

    MySQLParser_charset_clause_return charset_clause1496;
    #undef	RETURN_TYPE_charset_clause1496
    #define	RETURN_TYPE_charset_clause1496 MySQLParser_charset_clause_return

    pANTLR3_BASE_TREE NAMES_SYMBOL1481_tree;
    pANTLR3_BASE_TREE COLLATE_SYMBOL1485_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    NAMES_SYMBOL1481       = NULL;
    COLLATE_SYMBOL1485       = NULL;
    equal1482.tree = NULL;

    expression1483.tree = NULL;

    charset_name_or_default1484.tree = NULL;

    collation_name_or_default1486.tree = NULL;

    variable_name1487.tree = NULL;

    equal1488.tree = NULL;

    set_expression_or_default1489.tree = NULL;

    user_variable1490.tree = NULL;

    equal1491.tree = NULL;

    expression1492.tree = NULL;

    system_variable1493.tree = NULL;

    equal1494.tree = NULL;

    set_expression_or_default1495.tree = NULL;

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


    NAMES_SYMBOL1481_tree   = NULL;
    COLLATE_SYMBOL1485_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:1432: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 alt468;

            alt468=5;

            {
                int LA468_0 = LA(1);
                if ( (LA468_0 == NAMES_SYMBOL))
                {
                    {
                        int LA468_1 = LA(2);
                        if ( (LA468_1 == ASSIGN_OPERATOR || LA468_1 == EQUAL_OPERATOR))
                        {
                            {
                                int LA468_13 = LA(3);
                                if ( ((LA(1) == NAMES_SYMBOL)))
                                {
                                    alt468=1;
                                }
                                else if ( (ANTLR3_TRUE))
                                {
                                    alt468=2;
                                }
                                else
                                {
                                    if (BACKTRACKING>0)
                                    {
                                        FAILEDFLAG = ANTLR3_TRUE;
                                        return retval;
                                    }


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


                                    goto rulevariable_assignmentEx;

                                }
                            }
                        }
                        else if ( (((LA468_1 >= ACTION_SYMBOL) && (LA468_1 <= PARTITION_SYMBOL)) || LA468_1 == BACK_TICK_QUOTED_ID || LA468_1 == BINARY_SYMBOL || LA468_1 == DEFAULT_SYMBOL || LA468_1 == DOUBLE_QUOTED_TEXT || LA468_1 == IDENTIFIER || LA468_1 == NCHAR_TEXT || LA468_1 == SINGLE_QUOTED_TEXT || LA468_1 == UNDERSCORE_CHARSET))
                        {
                            alt468=1;
                        }
                        else if ( (LA468_1 == DOT_SYMBOL))
                        {
                            alt468=2;
                        }
                        else
                        {
                            if (BACKTRACKING>0)
                            {
                                FAILEDFLAG = ANTLR3_TRUE;
                                return retval;
                            }


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


                            goto rulevariable_assignmentEx;

                        }
                    }
                }
                else if ( (LA468_0 == BACK_TICK_QUOTED_ID || LA468_0 == IDENTIFIER))
                {
                    alt468=2;
                }
                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA468_0 == DOUBLE_QUOTED_TEXT))
                {
                    alt468=2;
                }
                else if ( (((LA468_0 >= ACTION_SYMBOL) && (LA468_0 <= MYSQL_ERRNO_SYMBOL)) || ((LA468_0 >= NAME_SYMBOL) && (LA468_0 <= CACHE_SYMBOL)) || ((LA468_0 >= CHECKSUM_SYMBOL) && (LA468_0 <= PARTITION_SYMBOL)) || LA468_0 == DEFAULT_SYMBOL))
                {
                    alt468=2;
                }
                else if ( (LA468_0 == CHARSET_SYMBOL))
                {
                    {
                        int LA468_7 = LA(2);
                        if ( (LA468_7 == ASSIGN_OPERATOR || LA468_7 == DOT_SYMBOL || LA468_7 == EQUAL_OPERATOR))
                        {
                            alt468=2;
                        }
                        else if ( (((LA468_7 >= ACTION_SYMBOL) && (LA468_7 <= PARTITION_SYMBOL)) || LA468_7 == BACK_TICK_QUOTED_ID || LA468_7 == BINARY_SYMBOL || LA468_7 == DEFAULT_SYMBOL || LA468_7 == DOUBLE_QUOTED_TEXT || LA468_7 == IDENTIFIER || LA468_7 == NCHAR_TEXT || LA468_7 == SINGLE_QUOTED_TEXT || LA468_7 == UNDERSCORE_CHARSET))
                        {
                            alt468=5;
                        }
                        else
                        {
                            if (BACKTRACKING>0)
                            {
                                FAILEDFLAG = ANTLR3_TRUE;
                                return retval;
                            }


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


                            goto rulevariable_assignmentEx;

                        }
                    }
                }
                else if ( (LA468_0 == AT_SIGN_SYMBOL))
                {
                    alt468=3;
                }
                else if ( (LA468_0 == AT_AT_SIGN_SYMBOL))
                {
                    alt468=4;
                }
                else if ( (LA468_0 == CHAR_SYMBOL))
                {
                    alt468=5;
                }
                else
                {
                    if (BACKTRACKING>0)
                    {
                        FAILEDFLAG = ANTLR3_TRUE;
                        return retval;
                    }


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


                    goto rulevariable_assignmentEx;

                }
            }
            switch (alt468)
            {
        	case 1:
        	    // MySQL.g:1433: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_SYMBOL1481 = (pANTLR3_COMMON_TOKEN) MATCHT(NAMES_SYMBOL, &FOLLOW_NAMES_SYMBOL_in_variable_assignment7752);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulevariable_assignmentEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

        	        // MySQL.g:1434:3: ( equal expression | charset_name_or_default ( COLLATE_SYMBOL collation_name_or_default )? )
        	        {
        	            int alt467=2;
        	            {
        	                int LA467_0 = LA(1);
        	                if ( (LA467_0 == ASSIGN_OPERATOR || LA467_0 == EQUAL_OPERATOR))
        	                {
        	                    alt467=1;
        	                }
        	                else if ( (LA467_0 == NCHAR_TEXT || LA467_0 == SINGLE_QUOTED_TEXT || LA467_0 == UNDERSCORE_CHARSET))
        	                {
        	                    alt467=2;
        	                }
        	                else if ( ((((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES)))||((!SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))))) && (LA467_0 == DOUBLE_QUOTED_TEXT))
        	                {
        	                    alt467=2;
        	                }
        	                else if ( (((LA467_0 >= ACTION_SYMBOL) && (LA467_0 <= PARTITION_SYMBOL)) || LA467_0 == BACK_TICK_QUOTED_ID || LA467_0 == BINARY_SYMBOL || LA467_0 == DEFAULT_SYMBOL || LA467_0 == IDENTIFIER))
        	                {
        	                    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 rulevariable_assignmentEx;

        	                }
        	            }
        	            switch (alt467)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1435:4: equal expression
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_equal_in_variable_assignment7761);
        	        	        equal1482=equal(ctx);

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

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

        	        	        FOLLOWPUSH(FOLLOW_expression_in_variable_assignment7763);
        	        	        expression1483=expression(ctx);

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

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

        	        	    }
        	        	    break;
        	        	case 2:
        	        	    // MySQL.g:1436:6: charset_name_or_default ( COLLATE_SYMBOL collation_name_or_default )?
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_charset_name_or_default_in_variable_assignment7770);
        	        	        charset_name_or_default1484=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_default1484.tree);

        	        	        // MySQL.g:1436:30: ( COLLATE_SYMBOL collation_name_or_default )?
        	        	        {
        	        	            int alt466=2;
        	        	            switch ( LA(1) )
        	        	            {
        	        	                case COLLATE_SYMBOL:
        	        	                	{
        	        	                		alt466=1;
        	        	                	}
        	        	                    break;
        	        	            }

        	        	            switch (alt466)
        	        	            {
        	        	        	case 1:
        	        	        	    // MySQL.g:1436:31: COLLATE_SYMBOL collation_name_or_default
        	        	        	    {
        	        	        	        COLLATE_SYMBOL1485 = (pANTLR3_COMMON_TOKEN) MATCHT(COLLATE_SYMBOL, &FOLLOW_COLLATE_SYMBOL_in_variable_assignment7773);
        	        	        	        if  (HASEXCEPTION())
        	        	        	        {
        	        	        	            goto rulevariable_assignmentEx;
        	        	        	        }
        	        	        	        if (HASFAILED())
        	        	        	        {
        	        	        	            return retval;
        	        	        	        }

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

        	        	        	        FOLLOWPUSH(FOLLOW_collation_name_or_default_in_variable_assignment7775);
        	        	        	        collation_name_or_default1486=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_default1486.tree);

        	        	        	    }
        	        	        	    break;

        	        	            }
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:1438:4: variable_name equal set_expression_or_default
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_variable_name_in_variable_assignment7786);
        	        variable_name1487=variable_name(ctx);

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

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

        	        FOLLOWPUSH(FOLLOW_equal_in_variable_assignment7788);
        	        equal1488=equal(ctx);

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

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

        	        FOLLOWPUSH(FOLLOW_set_expression_or_default_in_variable_assignment7790);
        	        set_expression_or_default1489=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_default1489.tree);

        	    }
        	    break;
        	case 3:
        	    // MySQL.g:1439:4: user_variable equal expression
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_user_variable_in_variable_assignment7795);
        	        user_variable1490=user_variable(ctx);

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

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

        	        FOLLOWPUSH(FOLLOW_equal_in_variable_assignment7797);
        	        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_expression_in_variable_assignment7799);
        	        expression1492=expression(ctx);

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

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

        	    }
        	    break;
        	case 4:
        	    // MySQL.g:1440:4: system_variable equal set_expression_or_default
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_system_variable_in_variable_assignment7804);
        	        system_variable1493=system_variable(ctx);

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

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

        	        FOLLOWPUSH(FOLLOW_equal_in_variable_assignment7806);
        	        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_set_expression_or_default_in_variable_assignment7808);
        	        set_expression_or_default1495=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_default1495.tree);

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


        	        FOLLOWPUSH(FOLLOW_charset_clause_in_variable_assignment7813);
        	        charset_clause1496=charset_clause(ctx);

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

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, charset_clause1496.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:1444: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_SYMBOL1498;
    pANTLR3_COMMON_TOKEN    ON_SYMBOL1499;
    pANTLR3_COMMON_TOKEN    ALL_SYMBOL1500;
    pANTLR3_COMMON_TOKEN    BINARY_SYMBOL1501;
    MySQLParser_expression_return expression1497;
    #undef	RETURN_TYPE_expression1497
    #define	RETURN_TYPE_expression1497 MySQLParser_expression_return

    pANTLR3_BASE_TREE DEFAULT_SYMBOL1498_tree;
    pANTLR3_BASE_TREE ON_SYMBOL1499_tree;
    pANTLR3_BASE_TREE ALL_SYMBOL1500_tree;
    pANTLR3_BASE_TREE BINARY_SYMBOL1501_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    DEFAULT_SYMBOL1498       = NULL;
    ON_SYMBOL1499       = NULL;
    ALL_SYMBOL1500       = NULL;
    BINARY_SYMBOL1501       = NULL;
    expression1497.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    DEFAULT_SYMBOL1498_tree   = NULL;
    ON_SYMBOL1499_tree   = NULL;
    ALL_SYMBOL1500_tree   = NULL;
    BINARY_SYMBOL1501_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:1444:26: ( expression | DEFAULT_SYMBOL | ON_SYMBOL | ALL_SYMBOL | BINARY_SYMBOL )

            ANTLR3_UINT32 alt469;

            alt469=5;

            {
                int LA469_0 = LA(1);
                if ( (LA469_0 == BITWISE_NOT_OPERATOR || LA469_0 == INTERVAL_SYMBOL || LA469_0 == LOGICAL_NOT_OPERATOR || LA469_0 == MINUS_OPERATOR || LA469_0 == NCHAR_TEXT || LA469_0 == NOT2_SYMBOL || LA469_0 == NOT_SYMBOL || LA469_0 == PLUS_OPERATOR || LA469_0 == SINGLE_QUOTED_TEXT || LA469_0 == UNDERSCORE_CHARSET))
                {
                    alt469=1;
                }
                else if ( ((((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES)))||((!SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))))) && (LA469_0 == DOUBLE_QUOTED_TEXT))
                {
                    alt469=1;
                }
                else if ( (LA469_0 == FALSE_SYMBOL || LA469_0 == FLOAT || ((LA469_0 >= HEXNUMBER) && (LA469_0 <= HEXSTRING)) || LA469_0 == INTEGER || LA469_0 == TRUE_SYMBOL))
                {
                    alt469=1;
                }
                else if ( ((SERVER_VERSION >= 50003)) && (((LA469_0 >= BITNUMBER) && (LA469_0 <= BITSTRING))))
                {
                    alt469=1;
                }
                else if ( (((LA469_0 >= ACTION_SYMBOL) && (LA469_0 <= PARTITION_SYMBOL)) || ((LA469_0 >= AT_AT_SIGN_SYMBOL) && (LA469_0 <= AT_SIGN_SYMBOL)) || LA469_0 == BACK_TICK_QUOTED_ID || ((LA469_0 >= BIT_AND_SYMBOL) && (LA469_0 <= BIT_XOR_SYMBOL)) || ((LA469_0 >= CASE_SYMBOL) && (LA469_0 <= CAST_SYMBOL)) || LA469_0 == CHAR_SYMBOL || ((LA469_0 >= CONVERT_SYMBOL) && (LA469_0 <= COUNT_SYMBOL)) || LA469_0 == CURDATE_SYMBOL || LA469_0 == CURRENT_USER_SYMBOL || LA469_0 == CURTIME_SYMBOL || LA469_0 == DATABASE_SYMBOL || LA469_0 == DATE_ADD_SYMBOL || LA469_0 == DATE_SUB_SYMBOL || LA469_0 == DOT_SYMBOL || LA469_0 == EXISTS_SYMBOL || LA469_0 == EXTRACT_SYMBOL || LA469_0 == GROUP_CONCAT_SYMBOL || ((LA469_0 >= IDENTIFIER) && (LA469_0 <= IF_SYMBOL)) || LA469_0 == INSERT_SYMBOL || LA469_0 == LEFT_SYMBOL || LA469_0 == MATCH_SYMBOL || LA469_0 == MAX_SYMBOL || LA469_0 == MIN_SYMBOL || LA469_0 == MOD_SYMBOL || LA469_0 == NOW_SYMBOL || LA469_0 == NULL2_SYMBOL || LA469_0 == NULL_SYMBOL || ((LA469_0 >= OPEN_CURLY_SYMBOL) && (LA469_0 <= OPEN_PAR_SYMBOL)) || LA469_0 == PARAM_MARKER || LA469_0 == POSITION_SYMBOL || ((LA469_0 >= REPEAT_SYMBOL) && (LA469_0 <= REPLACE_SYMBOL)) || LA469_0 == RIGHT_SYMBOL || LA469_0 == STDDEV_SAMP_SYMBOL || LA469_0 == STD_SYMBOL || LA469_0 == SUBSTRING_SYMBOL || ((LA469_0 >= SUM_SYMBOL) && (LA469_0 <= SYSDATE_SYMBOL)) || LA469_0 == TRIM_SYMBOL || ((LA469_0 >= UTC_DATE_SYMBOL) && (LA469_0 <= VALUES_SYMBOL)) || LA469_0 == VARIANCE_SYMBOL || LA469_0 == VAR_SAMP_SYMBOL))
                {
                    alt469=1;
                }
                else if ( (LA469_0 == BINARY_SYMBOL))
                {
                    {
                        int LA469_100 = LA(2);
                        if ( (((LA469_100 >= ACTION_SYMBOL) && (LA469_100 <= PARTITION_SYMBOL)) || ((LA469_100 >= AT_AT_SIGN_SYMBOL) && (LA469_100 <= AT_SIGN_SYMBOL)) || LA469_100 == BACK_TICK_QUOTED_ID || LA469_100 == BINARY_SYMBOL || ((LA469_100 >= BITNUMBER) && (LA469_100 <= BITSTRING)) || ((LA469_100 >= BIT_AND_SYMBOL) && (LA469_100 <= BIT_XOR_SYMBOL)) || ((LA469_100 >= CASE_SYMBOL) && (LA469_100 <= CAST_SYMBOL)) || LA469_100 == CHAR_SYMBOL || ((LA469_100 >= CONVERT_SYMBOL) && (LA469_100 <= COUNT_SYMBOL)) || LA469_100 == CURDATE_SYMBOL || LA469_100 == CURRENT_USER_SYMBOL || LA469_100 == CURTIME_SYMBOL || LA469_100 == DATABASE_SYMBOL || LA469_100 == DATE_ADD_SYMBOL || LA469_100 == DATE_SUB_SYMBOL || LA469_100 == DOT_SYMBOL || LA469_100 == DOUBLE_QUOTED_TEXT || LA469_100 == EXISTS_SYMBOL || ((LA469_100 >= EXTRACT_SYMBOL) && (LA469_100 <= FALSE_SYMBOL)) || LA469_100 == FLOAT || LA469_100 == GROUP_CONCAT_SYMBOL || ((LA469_100 >= HEXNUMBER) && (LA469_100 <= HEXSTRING)) || ((LA469_100 >= IDENTIFIER) && (LA469_100 <= IF_SYMBOL)) || LA469_100 == INSERT_SYMBOL || LA469_100 == INTEGER || LA469_100 == LEFT_SYMBOL || LA469_100 == MATCH_SYMBOL || LA469_100 == MAX_SYMBOL || LA469_100 == MIN_SYMBOL || LA469_100 == MOD_SYMBOL || LA469_100 == NCHAR_TEXT || LA469_100 == NOW_SYMBOL || LA469_100 == NULL2_SYMBOL || LA469_100 == NULL_SYMBOL || ((LA469_100 >= OPEN_CURLY_SYMBOL) && (LA469_100 <= OPEN_PAR_SYMBOL)) || LA469_100 == PARAM_MARKER || LA469_100 == POSITION_SYMBOL || ((LA469_100 >= REPEAT_SYMBOL) && (LA469_100 <= REPLACE_SYMBOL)) || LA469_100 == RIGHT_SYMBOL || LA469_100 == SINGLE_QUOTED_TEXT || LA469_100 == STDDEV_SAMP_SYMBOL || LA469_100 == STD_SYMBOL || LA469_100 == SUBSTRING_SYMBOL || ((LA469_100 >= SUM_SYMBOL) && (LA469_100 <= SYSDATE_SYMBOL)) || ((LA469_100 >= TRIM_SYMBOL) && (LA469_100 <= TRUE_SYMBOL)) || LA469_100 == UNDERSCORE_CHARSET || ((LA469_100 >= UTC_DATE_SYMBOL) && (LA469_100 <= VALUES_SYMBOL)) || LA469_100 == VARIANCE_SYMBOL || LA469_100 == VAR_SAMP_SYMBOL))
                        {
                            alt469=1;
                        }
                        else if ( (LA469_100 == EOF || LA469_100 == COMMA_SYMBOL || LA469_100 == SEMICOLON_SYMBOL))
                        {
                            alt469=5;
                        }
                        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        = 100;


                            goto ruleset_expression_or_defaultEx;

                        }
                    }
                }
                else if ( (LA469_0 == DEFAULT_SYMBOL))
                {
                    alt469=2;
                }
                else if ( (LA469_0 == ON_SYMBOL))
                {
                    alt469=3;
                }
                else if ( (LA469_0 == ALL_SYMBOL))
                {
                    alt469=4;
                }
                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 ruleset_expression_or_defaultEx;

                }
            }
            switch (alt469)
            {
        	case 1:
        	    // MySQL.g:1445:2: expression
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_expression_in_set_expression_or_default7822);
        	        expression1497=expression(ctx);

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

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

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


        	        DEFAULT_SYMBOL1498 = (pANTLR3_COMMON_TOKEN) MATCHT(DEFAULT_SYMBOL, &FOLLOW_DEFAULT_SYMBOL_in_set_expression_or_default7827);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleset_expression_or_defaultEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

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


        	        ON_SYMBOL1499 = (pANTLR3_COMMON_TOKEN) MATCHT(ON_SYMBOL, &FOLLOW_ON_SYMBOL_in_set_expression_or_default7832);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleset_expression_or_defaultEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

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


        	        ALL_SYMBOL1500 = (pANTLR3_COMMON_TOKEN) MATCHT(ALL_SYMBOL, &FOLLOW_ALL_SYMBOL_in_set_expression_or_default7837);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleset_expression_or_defaultEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

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


        	        BINARY_SYMBOL1501 = (pANTLR3_COMMON_TOKEN) MATCHT(BINARY_SYMBOL, &FOLLOW_BINARY_SYMBOL_in_set_expression_or_default7842);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleset_expression_or_defaultEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        BINARY_SYMBOL1501_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, BINARY_SYMBOL1501));
        	        ADAPTOR->addChild(ADAPTOR, root_0, BINARY_SYMBOL1501_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:1452: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_SYMBOL1503;
    MySQLParser_option_value_return option_value1502;
    #undef	RETURN_TYPE_option_value1502
    #define	RETURN_TYPE_option_value1502 MySQLParser_option_value_return

    MySQLParser_option_value_return option_value1504;
    #undef	RETURN_TYPE_option_value1504
    #define	RETURN_TYPE_option_value1504 MySQLParser_option_value_return

    pANTLR3_BASE_TREE COMMA_SYMBOL1503_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    COMMA_SYMBOL1503       = NULL;
    option_value1502.tree = NULL;

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


    COMMA_SYMBOL1503_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1452:18: ( option_value ( COMMA_SYMBOL option_value )* )
        // MySQL.g:1453:2: option_value ( COMMA_SYMBOL option_value )*
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            FOLLOWPUSH(FOLLOW_option_value_in_option_value_list7851);
            option_value1502=option_value(ctx);

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

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

            // MySQL.g:1453:15: ( COMMA_SYMBOL option_value )*

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

                }

                switch (alt470)
                {
            	case 1:
            	    // MySQL.g:1453:16: COMMA_SYMBOL option_value
            	    {
            	        COMMA_SYMBOL1503 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_option_value_list7854);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleoption_value_listEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

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

            	        FOLLOWPUSH(FOLLOW_option_value_in_option_value_list7856);
            	        option_value1504=option_value(ctx);

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

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

            	    }
            	    break;

            	default:
            	    goto loop470;	/* break out of the loop */
            	    break;
                }
            }
            loop470: ; /* 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:1456: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_type1505;
    #undef	RETURN_TYPE_option_type1505
    #define	RETURN_TYPE_option_type1505 MySQLParser_option_type_return

    MySQLParser_variable_name_return variable_name1506;
    #undef	RETURN_TYPE_variable_name1506
    #define	RETURN_TYPE_variable_name1506 MySQLParser_variable_name_return

    MySQLParser_equal_return equal1507;
    #undef	RETURN_TYPE_equal1507
    #define	RETURN_TYPE_equal1507 MySQLParser_equal_return

    MySQLParser_set_expression_or_default_return set_expression_or_default1508;
    #undef	RETURN_TYPE_set_expression_or_default1508
    #define	RETURN_TYPE_set_expression_or_default1508 MySQLParser_set_expression_or_default_return

    MySQLParser_variable_assignment_return variable_assignment1509;
    #undef	RETURN_TYPE_variable_assignment1509
    #define	RETURN_TYPE_variable_assignment1509 MySQLParser_variable_assignment_return


    /* Initialize rule variables
     */

    root_0 = NULL;

    option_type1505.tree = NULL;

    variable_name1506.tree = NULL;

    equal1507.tree = NULL;

    set_expression_or_default1508.tree = NULL;

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




    retval.tree  = NULL;

    {
        {
            //  MySQL.g:1456:13: ( option_type variable_name equal set_expression_or_default | variable_assignment )

            ANTLR3_UINT32 alt471;

            alt471=2;

            {
                int LA471_0 = LA(1);
                if ( (LA471_0 == GLOBAL_SYMBOL || LA471_0 == LOCAL_SYMBOL || LA471_0 == SESSION_SYMBOL))
                {
                    {
                        int LA471_1 = LA(2);
                        if ( (((LA471_1 >= ACTION_SYMBOL) && (LA471_1 <= PARTITION_SYMBOL)) || LA471_1 == BACK_TICK_QUOTED_ID || LA471_1 == DEFAULT_SYMBOL || LA471_1 == DOUBLE_QUOTED_TEXT || LA471_1 == IDENTIFIER))
                        {
                            alt471=1;
                        }
                        else if ( (LA471_1 == ASSIGN_OPERATOR || LA471_1 == DOT_SYMBOL || LA471_1 == EQUAL_OPERATOR))
                        {
                            alt471=2;
                        }
                        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        = 1;


                            goto ruleoption_valueEx;

                        }
                    }
                }
                else if ( (LA471_0 == NAMES_SYMBOL || LA471_0 == BACK_TICK_QUOTED_ID || LA471_0 == IDENTIFIER))
                {
                    alt471=2;
                }
                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA471_0 == DOUBLE_QUOTED_TEXT))
                {
                    alt471=2;
                }
                else if ( (((LA471_0 >= ACTION_SYMBOL) && (LA471_0 <= GET_FORMAT_SYMBOL)) || ((LA471_0 >= GRANTS_SYMBOL) && (LA471_0 <= LIST_SYMBOL)) || ((LA471_0 >= LOCKS_SYMBOL) && (LA471_0 <= MYSQL_ERRNO_SYMBOL)) || ((LA471_0 >= NAME_SYMBOL) && (LA471_0 <= SERIAL_SYMBOL)) || ((LA471_0 >= SHARE_SYMBOL) && (LA471_0 <= PARTITION_SYMBOL)) || ((LA471_0 >= AT_AT_SIGN_SYMBOL) && (LA471_0 <= AT_SIGN_SYMBOL)) || LA471_0 == CHAR_SYMBOL || LA471_0 == DEFAULT_SYMBOL))
                {
                    alt471=2;
                }
                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 ruleoption_valueEx;

                }
            }
            switch (alt471)
            {
        	case 1:
        	    // MySQL.g:1457:2: option_type variable_name equal set_expression_or_default
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_option_type_in_option_value7867);
        	        option_type1505=option_type(ctx);

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

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

        	        FOLLOWPUSH(FOLLOW_variable_name_in_option_value7869);
        	        variable_name1506=variable_name(ctx);

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

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

        	        FOLLOWPUSH(FOLLOW_equal_in_option_value7871);
        	        equal1507=equal(ctx);

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

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

        	        FOLLOWPUSH(FOLLOW_set_expression_or_default_in_option_value7873);
        	        set_expression_or_default1508=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_default1508.tree);

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


        	        FOLLOWPUSH(FOLLOW_variable_assignment_in_option_value7878);
        	        variable_assignment1509=variable_assignment(ctx);

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

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, variable_assignment1509.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:1463: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_SYMBOL1510;
    pANTLR3_COMMON_TOKEN    AUTHORS_SYMBOL1511;
    pANTLR3_COMMON_TOKEN    BINARY_SYMBOL1512;
    pANTLR3_COMMON_TOKEN    LOGS_SYMBOL1513;
    pANTLR3_COMMON_TOKEN    set1514;
    pANTLR3_COMMON_TOKEN    EVENTS_SYMBOL1515;
    pANTLR3_COMMON_TOKEN    IN_SYMBOL1516;
    pANTLR3_COMMON_TOKEN    FROM_SYMBOL1518;
    pANTLR3_COMMON_TOKEN    INTEGER1519;
    pANTLR3_COMMON_TOKEN    CHAR_SYMBOL1521;
    pANTLR3_COMMON_TOKEN    SET_SYMBOL1522;
    pANTLR3_COMMON_TOKEN    CHARSET_SYMBOL1523;
    pANTLR3_COMMON_TOKEN    COLLATION_SYMBOL1525;
    pANTLR3_COMMON_TOKEN    FULL_SYMBOL1527;
    pANTLR3_COMMON_TOKEN    COLUMNS_SYMBOL1528;
    pANTLR3_COMMON_TOKEN    set1529;
    pANTLR3_COMMON_TOKEN    CONTRIBUTORS_SYMBOL1533;
    pANTLR3_COMMON_TOKEN    COUNT_SYMBOL1534;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL1535;
    pANTLR3_COMMON_TOKEN    MULT_OPERATOR1536;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL1537;
    pANTLR3_COMMON_TOKEN    set1538;
    pANTLR3_COMMON_TOKEN    CREATE_SYMBOL1539;
    pANTLR3_COMMON_TOKEN    set1540;
    pANTLR3_COMMON_TOKEN    DATABASES_SYMBOL1542;
    pANTLR3_COMMON_TOKEN    ENGINE_SYMBOL1544;
    pANTLR3_COMMON_TOKEN    set1546;
    pANTLR3_COMMON_TOKEN    STORAGE_SYMBOL1547;
    pANTLR3_COMMON_TOKEN    ENGINES_SYMBOL1548;
    pANTLR3_COMMON_TOKEN    ERRORS_SYMBOL1549;
    pANTLR3_COMMON_TOKEN    EVENTS_SYMBOL1551;
    pANTLR3_COMMON_TOKEN    FUNCTION_SYMBOL1552;
    pANTLR3_COMMON_TOKEN    CODE_SYMBOL1553;
    pANTLR3_COMMON_TOKEN    FUNCTION_SYMBOL1555;
    pANTLR3_COMMON_TOKEN    STATUS_SYMBOL1556;
    pANTLR3_COMMON_TOKEN    GRANTS_SYMBOL1558;
    pANTLR3_COMMON_TOKEN    FOR_SYMBOL1559;
    pANTLR3_COMMON_TOKEN    set1561;
    pANTLR3_COMMON_TOKEN    INNODB_SYMBOL1566;
    pANTLR3_COMMON_TOKEN    STATUS_SYMBOL1567;
    pANTLR3_COMMON_TOKEN    MASTER_SYMBOL1568;
    pANTLR3_COMMON_TOKEN    STATUS_SYMBOL1569;
    pANTLR3_COMMON_TOKEN    OPEN_SYMBOL1570;
    pANTLR3_COMMON_TOKEN    TABLES_SYMBOL1571;
    pANTLR3_COMMON_TOKEN    PLUGIN_SYMBOL1574;
    pANTLR3_COMMON_TOKEN    PLUGINS_SYMBOL1575;
    pANTLR3_COMMON_TOKEN    PROCEDURE_SYMBOL1576;
    pANTLR3_COMMON_TOKEN    STATUS_SYMBOL1577;
    pANTLR3_COMMON_TOKEN    PROCEDURE_SYMBOL1579;
    pANTLR3_COMMON_TOKEN    CODE_SYMBOL1580;
    pANTLR3_COMMON_TOKEN    PRIVILEGES_SYMBOL1582;
    pANTLR3_COMMON_TOKEN    FULL_SYMBOL1583;
    pANTLR3_COMMON_TOKEN    PROCESSLIST_SYMBOL1584;
    pANTLR3_COMMON_TOKEN    PROFILE_SYMBOL1585;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL1587;
    pANTLR3_COMMON_TOKEN    FOR_SYMBOL1589;
    pANTLR3_COMMON_TOKEN    QUERY_SYMBOL1590;
    pANTLR3_COMMON_TOKEN    INTEGER1591;
    pANTLR3_COMMON_TOKEN    PROFILES_SYMBOL1593;
    pANTLR3_COMMON_TOKEN    SLAVE_SYMBOL1594;
    pANTLR3_COMMON_TOKEN    set1595;
    pANTLR3_COMMON_TOKEN    set1597;
    pANTLR3_COMMON_TOKEN    TABLE_SYMBOL1599;
    pANTLR3_COMMON_TOKEN    STATUS_SYMBOL1600;
    pANTLR3_COMMON_TOKEN    FULL_SYMBOL1603;
    pANTLR3_COMMON_TOKEN    TABLES_SYMBOL1604;
    pANTLR3_COMMON_TOKEN    FULL_SYMBOL1607;
    pANTLR3_COMMON_TOKEN    TRIGGERS_SYMBOL1608;
    pANTLR3_COMMON_TOKEN    WARNINGS_SYMBOL1611;
    MySQLParser_string_literal_return string_literal1517;
    #undef	RETURN_TYPE_string_literal1517
    #define	RETURN_TYPE_string_literal1517 MySQLParser_string_literal_return

    MySQLParser_limit_clause_return limit_clause1520;
    #undef	RETURN_TYPE_limit_clause1520
    #define	RETURN_TYPE_limit_clause1520 MySQLParser_limit_clause_return

    MySQLParser_like_or_where_return like_or_where1524;
    #undef	RETURN_TYPE_like_or_where1524
    #define	RETURN_TYPE_like_or_where1524 MySQLParser_like_or_where_return

    MySQLParser_like_or_where_return like_or_where1526;
    #undef	RETURN_TYPE_like_or_where1526
    #define	RETURN_TYPE_like_or_where1526 MySQLParser_like_or_where_return

    MySQLParser_table_identifier_return table_identifier1530;
    #undef	RETURN_TYPE_table_identifier1530
    #define	RETURN_TYPE_table_identifier1530 MySQLParser_table_identifier_return

    MySQLParser_in_db_return in_db1531;
    #undef	RETURN_TYPE_in_db1531
    #define	RETURN_TYPE_in_db1531 MySQLParser_in_db_return

    MySQLParser_like_or_where_return like_or_where1532;
    #undef	RETURN_TYPE_like_or_where1532
    #define	RETURN_TYPE_like_or_where1532 MySQLParser_like_or_where_return

    MySQLParser_qualified_identifier_return qualified_identifier1541;
    #undef	RETURN_TYPE_qualified_identifier1541
    #define	RETURN_TYPE_qualified_identifier1541 MySQLParser_qualified_identifier_return

    MySQLParser_like_clause_return like_clause1543;
    #undef	RETURN_TYPE_like_clause1543
    #define	RETURN_TYPE_like_clause1543 MySQLParser_like_clause_return

    MySQLParser_text_or_identifier_return text_or_identifier1545;
    #undef	RETURN_TYPE_text_or_identifier1545
    #define	RETURN_TYPE_text_or_identifier1545 MySQLParser_text_or_identifier_return

    MySQLParser_limit_clause_return limit_clause1550;
    #undef	RETURN_TYPE_limit_clause1550
    #define	RETURN_TYPE_limit_clause1550 MySQLParser_limit_clause_return

    MySQLParser_qualified_identifier_return qualified_identifier1554;
    #undef	RETURN_TYPE_qualified_identifier1554
    #define	RETURN_TYPE_qualified_identifier1554 MySQLParser_qualified_identifier_return

    MySQLParser_like_or_where_return like_or_where1557;
    #undef	RETURN_TYPE_like_or_where1557
    #define	RETURN_TYPE_like_or_where1557 MySQLParser_like_or_where_return

    MySQLParser_user_return user1560;
    #undef	RETURN_TYPE_user1560
    #define	RETURN_TYPE_user1560 MySQLParser_user_return

    MySQLParser_from_or_in_return from_or_in1562;
    #undef	RETURN_TYPE_from_or_in1562
    #define	RETURN_TYPE_from_or_in1562 MySQLParser_from_or_in_return

    MySQLParser_table_identifier_return table_identifier1563;
    #undef	RETURN_TYPE_table_identifier1563
    #define	RETURN_TYPE_table_identifier1563 MySQLParser_table_identifier_return

    MySQLParser_in_db_return in_db1564;
    #undef	RETURN_TYPE_in_db1564
    #define	RETURN_TYPE_in_db1564 MySQLParser_in_db_return

    MySQLParser_where_clause_return where_clause1565;
    #undef	RETURN_TYPE_where_clause1565
    #define	RETURN_TYPE_where_clause1565 MySQLParser_where_clause_return

    MySQLParser_in_db_return in_db1572;
    #undef	RETURN_TYPE_in_db1572
    #define	RETURN_TYPE_in_db1572 MySQLParser_in_db_return

    MySQLParser_like_or_where_return like_or_where1573;
    #undef	RETURN_TYPE_like_or_where1573
    #define	RETURN_TYPE_like_or_where1573 MySQLParser_like_or_where_return

    MySQLParser_like_or_where_return like_or_where1578;
    #undef	RETURN_TYPE_like_or_where1578
    #define	RETURN_TYPE_like_or_where1578 MySQLParser_like_or_where_return

    MySQLParser_qualified_identifier_return qualified_identifier1581;
    #undef	RETURN_TYPE_qualified_identifier1581
    #define	RETURN_TYPE_qualified_identifier1581 MySQLParser_qualified_identifier_return

    MySQLParser_profile_type_return profile_type1586;
    #undef	RETURN_TYPE_profile_type1586
    #define	RETURN_TYPE_profile_type1586 MySQLParser_profile_type_return

    MySQLParser_profile_type_return profile_type1588;
    #undef	RETURN_TYPE_profile_type1588
    #define	RETURN_TYPE_profile_type1588 MySQLParser_profile_type_return

    MySQLParser_limit_clause_return limit_clause1592;
    #undef	RETURN_TYPE_limit_clause1592
    #define	RETURN_TYPE_limit_clause1592 MySQLParser_limit_clause_return

    MySQLParser_option_type_return option_type1596;
    #undef	RETURN_TYPE_option_type1596
    #define	RETURN_TYPE_option_type1596 MySQLParser_option_type_return

    MySQLParser_like_or_where_return like_or_where1598;
    #undef	RETURN_TYPE_like_or_where1598
    #define	RETURN_TYPE_like_or_where1598 MySQLParser_like_or_where_return

    MySQLParser_in_db_return in_db1601;
    #undef	RETURN_TYPE_in_db1601
    #define	RETURN_TYPE_in_db1601 MySQLParser_in_db_return

    MySQLParser_like_or_where_return like_or_where1602;
    #undef	RETURN_TYPE_like_or_where1602
    #define	RETURN_TYPE_like_or_where1602 MySQLParser_like_or_where_return

    MySQLParser_in_db_return in_db1605;
    #undef	RETURN_TYPE_in_db1605
    #define	RETURN_TYPE_in_db1605 MySQLParser_in_db_return

    MySQLParser_like_or_where_return like_or_where1606;
    #undef	RETURN_TYPE_like_or_where1606
    #define	RETURN_TYPE_like_or_where1606 MySQLParser_like_or_where_return

    MySQLParser_in_db_return in_db1609;
    #undef	RETURN_TYPE_in_db1609
    #define	RETURN_TYPE_in_db1609 MySQLParser_in_db_return

    MySQLParser_like_or_where_return like_or_where1610;
    #undef	RETURN_TYPE_like_or_where1610
    #define	RETURN_TYPE_like_or_where1610 MySQLParser_like_or_where_return

    MySQLParser_limit_clause_return limit_clause1612;
    #undef	RETURN_TYPE_limit_clause1612
    #define	RETURN_TYPE_limit_clause1612 MySQLParser_limit_clause_return

    pANTLR3_BASE_TREE SHOW_SYMBOL1510_tree;
    pANTLR3_BASE_TREE AUTHORS_SYMBOL1511_tree;
    pANTLR3_BASE_TREE BINARY_SYMBOL1512_tree;
    pANTLR3_BASE_TREE LOGS_SYMBOL1513_tree;
    pANTLR3_BASE_TREE set1514_tree;
    pANTLR3_BASE_TREE EVENTS_SYMBOL1515_tree;
    pANTLR3_BASE_TREE IN_SYMBOL1516_tree;
    pANTLR3_BASE_TREE FROM_SYMBOL1518_tree;
    pANTLR3_BASE_TREE INTEGER1519_tree;
    pANTLR3_BASE_TREE CHAR_SYMBOL1521_tree;
    pANTLR3_BASE_TREE SET_SYMBOL1522_tree;
    pANTLR3_BASE_TREE CHARSET_SYMBOL1523_tree;
    pANTLR3_BASE_TREE COLLATION_SYMBOL1525_tree;
    pANTLR3_BASE_TREE FULL_SYMBOL1527_tree;
    pANTLR3_BASE_TREE COLUMNS_SYMBOL1528_tree;
    pANTLR3_BASE_TREE set1529_tree;
    pANTLR3_BASE_TREE CONTRIBUTORS_SYMBOL1533_tree;
    pANTLR3_BASE_TREE COUNT_SYMBOL1534_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL1535_tree;
    pANTLR3_BASE_TREE MULT_OPERATOR1536_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL1537_tree;
    pANTLR3_BASE_TREE set1538_tree;
    pANTLR3_BASE_TREE CREATE_SYMBOL1539_tree;
    pANTLR3_BASE_TREE set1540_tree;
    pANTLR3_BASE_TREE DATABASES_SYMBOL1542_tree;
    pANTLR3_BASE_TREE ENGINE_SYMBOL1544_tree;
    pANTLR3_BASE_TREE set1546_tree;
    pANTLR3_BASE_TREE STORAGE_SYMBOL1547_tree;
    pANTLR3_BASE_TREE ENGINES_SYMBOL1548_tree;
    pANTLR3_BASE_TREE ERRORS_SYMBOL1549_tree;
    pANTLR3_BASE_TREE EVENTS_SYMBOL1551_tree;
    pANTLR3_BASE_TREE FUNCTION_SYMBOL1552_tree;
    pANTLR3_BASE_TREE CODE_SYMBOL1553_tree;
    pANTLR3_BASE_TREE FUNCTION_SYMBOL1555_tree;
    pANTLR3_BASE_TREE STATUS_SYMBOL1556_tree;
    pANTLR3_BASE_TREE GRANTS_SYMBOL1558_tree;
    pANTLR3_BASE_TREE FOR_SYMBOL1559_tree;
    pANTLR3_BASE_TREE set1561_tree;
    pANTLR3_BASE_TREE INNODB_SYMBOL1566_tree;
    pANTLR3_BASE_TREE STATUS_SYMBOL1567_tree;
    pANTLR3_BASE_TREE MASTER_SYMBOL1568_tree;
    pANTLR3_BASE_TREE STATUS_SYMBOL1569_tree;
    pANTLR3_BASE_TREE OPEN_SYMBOL1570_tree;
    pANTLR3_BASE_TREE TABLES_SYMBOL1571_tree;
    pANTLR3_BASE_TREE PLUGIN_SYMBOL1574_tree;
    pANTLR3_BASE_TREE PLUGINS_SYMBOL1575_tree;
    pANTLR3_BASE_TREE PROCEDURE_SYMBOL1576_tree;
    pANTLR3_BASE_TREE STATUS_SYMBOL1577_tree;
    pANTLR3_BASE_TREE PROCEDURE_SYMBOL1579_tree;
    pANTLR3_BASE_TREE CODE_SYMBOL1580_tree;
    pANTLR3_BASE_TREE PRIVILEGES_SYMBOL1582_tree;
    pANTLR3_BASE_TREE FULL_SYMBOL1583_tree;
    pANTLR3_BASE_TREE PROCESSLIST_SYMBOL1584_tree;
    pANTLR3_BASE_TREE PROFILE_SYMBOL1585_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL1587_tree;
    pANTLR3_BASE_TREE FOR_SYMBOL1589_tree;
    pANTLR3_BASE_TREE QUERY_SYMBOL1590_tree;
    pANTLR3_BASE_TREE INTEGER1591_tree;
    pANTLR3_BASE_TREE PROFILES_SYMBOL1593_tree;
    pANTLR3_BASE_TREE SLAVE_SYMBOL1594_tree;
    pANTLR3_BASE_TREE set1595_tree;
    pANTLR3_BASE_TREE set1597_tree;
    pANTLR3_BASE_TREE TABLE_SYMBOL1599_tree;
    pANTLR3_BASE_TREE STATUS_SYMBOL1600_tree;
    pANTLR3_BASE_TREE FULL_SYMBOL1603_tree;
    pANTLR3_BASE_TREE TABLES_SYMBOL1604_tree;
    pANTLR3_BASE_TREE FULL_SYMBOL1607_tree;
    pANTLR3_BASE_TREE TRIGGERS_SYMBOL1608_tree;
    pANTLR3_BASE_TREE WARNINGS_SYMBOL1611_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    SHOW_SYMBOL1510       = NULL;
    AUTHORS_SYMBOL1511       = NULL;
    BINARY_SYMBOL1512       = NULL;
    LOGS_SYMBOL1513       = NULL;
    set1514       = NULL;
    EVENTS_SYMBOL1515       = NULL;
    IN_SYMBOL1516       = NULL;
    FROM_SYMBOL1518       = NULL;
    INTEGER1519       = NULL;
    CHAR_SYMBOL1521       = NULL;
    SET_SYMBOL1522       = NULL;
    CHARSET_SYMBOL1523       = NULL;
    COLLATION_SYMBOL1525       = NULL;
    FULL_SYMBOL1527       = NULL;
    COLUMNS_SYMBOL1528       = NULL;
    set1529       = NULL;
    CONTRIBUTORS_SYMBOL1533       = NULL;
    COUNT_SYMBOL1534       = NULL;
    OPEN_PAR_SYMBOL1535       = NULL;
    MULT_OPERATOR1536       = NULL;
    CLOSE_PAR_SYMBOL1537       = NULL;
    set1538       = NULL;
    CREATE_SYMBOL1539       = NULL;
    set1540       = NULL;
    DATABASES_SYMBOL1542       = NULL;
    ENGINE_SYMBOL1544       = NULL;
    set1546       = NULL;
    STORAGE_SYMBOL1547       = NULL;
    ENGINES_SYMBOL1548       = NULL;
    ERRORS_SYMBOL1549       = NULL;
    EVENTS_SYMBOL1551       = NULL;
    FUNCTION_SYMBOL1552       = NULL;
    CODE_SYMBOL1553       = NULL;
    FUNCTION_SYMBOL1555       = NULL;
    STATUS_SYMBOL1556       = NULL;
    GRANTS_SYMBOL1558       = NULL;
    FOR_SYMBOL1559       = NULL;
    set1561       = NULL;
    INNODB_SYMBOL1566       = NULL;
    STATUS_SYMBOL1567       = NULL;
    MASTER_SYMBOL1568       = NULL;
    STATUS_SYMBOL1569       = NULL;
    OPEN_SYMBOL1570       = NULL;
    TABLES_SYMBOL1571       = NULL;
    PLUGIN_SYMBOL1574       = NULL;
    PLUGINS_SYMBOL1575       = NULL;
    PROCEDURE_SYMBOL1576       = NULL;
    STATUS_SYMBOL1577       = NULL;
    PROCEDURE_SYMBOL1579       = NULL;
    CODE_SYMBOL1580       = NULL;
    PRIVILEGES_SYMBOL1582       = NULL;
    FULL_SYMBOL1583       = NULL;
    PROCESSLIST_SYMBOL1584       = NULL;
    PROFILE_SYMBOL1585       = NULL;
    COMMA_SYMBOL1587       = NULL;
    FOR_SYMBOL1589       = NULL;
    QUERY_SYMBOL1590       = NULL;
    INTEGER1591       = NULL;
    PROFILES_SYMBOL1593       = NULL;
    SLAVE_SYMBOL1594       = NULL;
    set1595       = NULL;
    set1597       = NULL;
    TABLE_SYMBOL1599       = NULL;
    STATUS_SYMBOL1600       = NULL;
    FULL_SYMBOL1603       = NULL;
    TABLES_SYMBOL1604       = NULL;
    FULL_SYMBOL1607       = NULL;
    TRIGGERS_SYMBOL1608       = NULL;
    WARNINGS_SYMBOL1611       = NULL;
    string_literal1517.tree = NULL;

    limit_clause1520.tree = NULL;

    like_or_where1524.tree = NULL;

    like_or_where1526.tree = NULL;

    table_identifier1530.tree = NULL;

    in_db1531.tree = NULL;

    like_or_where1532.tree = NULL;

    qualified_identifier1541.tree = NULL;

    like_clause1543.tree = NULL;

    text_or_identifier1545.tree = NULL;

    limit_clause1550.tree = NULL;

    qualified_identifier1554.tree = NULL;

    like_or_where1557.tree = NULL;

    user1560.tree = NULL;

    from_or_in1562.tree = NULL;

    table_identifier1563.tree = NULL;

    in_db1564.tree = NULL;

    where_clause1565.tree = NULL;

    in_db1572.tree = NULL;

    like_or_where1573.tree = NULL;

    like_or_where1578.tree = NULL;

    qualified_identifier1581.tree = NULL;

    profile_type1586.tree = NULL;

    profile_type1588.tree = NULL;

    limit_clause1592.tree = NULL;

    option_type1596.tree = NULL;

    like_or_where1598.tree = NULL;

    in_db1601.tree = NULL;

    like_or_where1602.tree = NULL;

    in_db1605.tree = NULL;

    like_or_where1606.tree = NULL;

    in_db1609.tree = NULL;

    like_or_where1610.tree = NULL;

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


    SHOW_SYMBOL1510_tree   = NULL;
    AUTHORS_SYMBOL1511_tree   = NULL;
    BINARY_SYMBOL1512_tree   = NULL;
    LOGS_SYMBOL1513_tree   = NULL;
    set1514_tree   = NULL;
    EVENTS_SYMBOL1515_tree   = NULL;
    IN_SYMBOL1516_tree   = NULL;
    FROM_SYMBOL1518_tree   = NULL;
    INTEGER1519_tree   = NULL;
    CHAR_SYMBOL1521_tree   = NULL;
    SET_SYMBOL1522_tree   = NULL;
    CHARSET_SYMBOL1523_tree   = NULL;
    COLLATION_SYMBOL1525_tree   = NULL;
    FULL_SYMBOL1527_tree   = NULL;
    COLUMNS_SYMBOL1528_tree   = NULL;
    set1529_tree   = NULL;
    CONTRIBUTORS_SYMBOL1533_tree   = NULL;
    COUNT_SYMBOL1534_tree   = NULL;
    OPEN_PAR_SYMBOL1535_tree   = NULL;
    MULT_OPERATOR1536_tree   = NULL;
    CLOSE_PAR_SYMBOL1537_tree   = NULL;
    set1538_tree   = NULL;
    CREATE_SYMBOL1539_tree   = NULL;
    set1540_tree   = NULL;
    DATABASES_SYMBOL1542_tree   = NULL;
    ENGINE_SYMBOL1544_tree   = NULL;
    set1546_tree   = NULL;
    STORAGE_SYMBOL1547_tree   = NULL;
    ENGINES_SYMBOL1548_tree   = NULL;
    ERRORS_SYMBOL1549_tree   = NULL;
    EVENTS_SYMBOL1551_tree   = NULL;
    FUNCTION_SYMBOL1552_tree   = NULL;
    CODE_SYMBOL1553_tree   = NULL;
    FUNCTION_SYMBOL1555_tree   = NULL;
    STATUS_SYMBOL1556_tree   = NULL;
    GRANTS_SYMBOL1558_tree   = NULL;
    FOR_SYMBOL1559_tree   = NULL;
    set1561_tree   = NULL;
    INNODB_SYMBOL1566_tree   = NULL;
    STATUS_SYMBOL1567_tree   = NULL;
    MASTER_SYMBOL1568_tree   = NULL;
    STATUS_SYMBOL1569_tree   = NULL;
    OPEN_SYMBOL1570_tree   = NULL;
    TABLES_SYMBOL1571_tree   = NULL;
    PLUGIN_SYMBOL1574_tree   = NULL;
    PLUGINS_SYMBOL1575_tree   = NULL;
    PROCEDURE_SYMBOL1576_tree   = NULL;
    STATUS_SYMBOL1577_tree   = NULL;
    PROCEDURE_SYMBOL1579_tree   = NULL;
    CODE_SYMBOL1580_tree   = NULL;
    PRIVILEGES_SYMBOL1582_tree   = NULL;
    FULL_SYMBOL1583_tree   = NULL;
    PROCESSLIST_SYMBOL1584_tree   = NULL;
    PROFILE_SYMBOL1585_tree   = NULL;
    COMMA_SYMBOL1587_tree   = NULL;
    FOR_SYMBOL1589_tree   = NULL;
    QUERY_SYMBOL1590_tree   = NULL;
    INTEGER1591_tree   = NULL;
    PROFILES_SYMBOL1593_tree   = NULL;
    SLAVE_SYMBOL1594_tree   = NULL;
    set1595_tree   = NULL;
    set1597_tree   = NULL;
    TABLE_SYMBOL1599_tree   = NULL;
    STATUS_SYMBOL1600_tree   = NULL;
    FULL_SYMBOL1603_tree   = NULL;
    TABLES_SYMBOL1604_tree   = NULL;
    FULL_SYMBOL1607_tree   = NULL;
    TRIGGERS_SYMBOL1608_tree   = NULL;
    WARNINGS_SYMBOL1611_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1463: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:1464: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_SYMBOL1510 = (pANTLR3_COMMON_TOKEN) MATCHT(SHOW_SYMBOL, &FOLLOW_SHOW_SYMBOL_in_show_statement7889);
            if  (HASEXCEPTION())
            {
                goto ruleshow_statementEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

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

            // MySQL.g:1465: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 alt506=35;
                {
                    int LA506_0 = LA(1);
                    if ( (LA506_0 == AUTHORS_SYMBOL))
                    {
                        alt506=1;
                    }
                    else if ( (LA506_0 == BINARY_SYMBOL))
                    {
                        alt506=2;
                    }
                    else if ( (LA506_0 == BINLOG_SYMBOL || LA506_0 == RELAYLOG_SYMBOL))
                    {
                        alt506=3;
                    }
                    else if ( (LA506_0 == CHARSET_SYMBOL || LA506_0 == CHAR_SYMBOL))
                    {
                        alt506=4;
                    }
                    else if ( (LA506_0 == COLLATION_SYMBOL))
                    {
                        alt506=5;
                    }
                    else if ( (LA506_0 == FULL_SYMBOL))
                    {
                        switch ( LA(2) )
                        {
                        case COLUMNS_SYMBOL:
                        	{
                        		alt506=6;
                        	}
                            break;
                        case PROCESSLIST_SYMBOL:
                        	{
                        		alt506=27;
                        	}
                            break;
                        case TABLES_SYMBOL:
                        	{
                        		alt506=33;
                        	}
                            break;
                        case TRIGGERS_SYMBOL:
                        	{
                        		alt506=34;
                        	}
                            break;

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

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


                            goto ruleshow_statementEx;

                        }

                    }
                    else if ( (LA506_0 == COLUMNS_SYMBOL))
                    {
                        alt506=6;
                    }
                    else if ( (LA506_0 == CONTRIBUTORS_SYMBOL))
                    {
                        alt506=7;
                    }
                    else if ( (LA506_0 == COUNT_SYMBOL))
                    {
                        alt506=8;
                    }
                    else if ( (LA506_0 == CREATE_SYMBOL))
                    {
                        alt506=9;
                    }
                    else if ( (LA506_0 == DATABASES_SYMBOL))
                    {
                        alt506=10;
                    }
                    else if ( (LA506_0 == ENGINE_SYMBOL))
                    {
                        alt506=11;
                    }
                    else if ( (LA506_0 == ENGINES_SYMBOL || LA506_0 == STORAGE_SYMBOL))
                    {
                        alt506=12;
                    }
                    else if ( (LA506_0 == ERRORS_SYMBOL))
                    {
                        alt506=13;
                    }
                    else if ( (LA506_0 == EVENTS_SYMBOL))
                    {
                        alt506=14;
                    }
                    else if ( (LA506_0 == FUNCTION_SYMBOL))
                    {
                        switch ( LA(2) )
                        {
                        case CODE_SYMBOL:
                        	{
                        		alt506=15;
                        	}
                            break;
                        case STATUS_SYMBOL:
                        	{
                        		alt506=16;
                        	}
                            break;

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

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


                            goto ruleshow_statementEx;

                        }

                    }
                    else if ( (LA506_0 == GRANTS_SYMBOL))
                    {
                        alt506=17;
                    }
                    else if ( (LA506_0 == INDEXES_SYMBOL || LA506_0 == INDEX_SYMBOL || LA506_0 == KEYS_SYMBOL))
                    {
                        alt506=18;
                    }
                    else if ( ((SERVER_VERSION < 50500)) && (LA506_0 == INNODB_SYMBOL))
                    {
                        alt506=19;
                    }
                    else if ( (LA506_0 == MASTER_SYMBOL))
                    {
                        alt506=20;
                    }
                    else if ( (LA506_0 == OPEN_SYMBOL))
                    {
                        alt506=21;
                    }
                    else if ( (((SERVER_VERSION >= 50105) && (SERVER_VERSION < 50500))) && (LA506_0 == PLUGIN_SYMBOL))
                    {
                        alt506=22;
                    }
                    else if ( ((SERVER_VERSION >= 50500)) && (LA506_0 == PLUGINS_SYMBOL))
                    {
                        alt506=23;
                    }
                    else if ( (LA506_0 == PROCEDURE_SYMBOL))
                    {
                        switch ( LA(2) )
                        {
                        case STATUS_SYMBOL:
                        	{
                        		alt506=24;
                        	}
                            break;
                        case CODE_SYMBOL:
                        	{
                        		alt506=25;
                        	}
                            break;

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

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


                            goto ruleshow_statementEx;

                        }

                    }
                    else if ( (LA506_0 == PRIVILEGES_SYMBOL))
                    {
                        alt506=26;
                    }
                    else if ( (LA506_0 == PROCESSLIST_SYMBOL))
                    {
                        alt506=27;
                    }
                    else if ( (LA506_0 == PROFILE_SYMBOL))
                    {
                        alt506=28;
                    }
                    else if ( (LA506_0 == PROFILES_SYMBOL))
                    {
                        alt506=29;
                    }
                    else if ( (LA506_0 == SLAVE_SYMBOL))
                    {
                        alt506=30;
                    }
                    else if ( (LA506_0 == GLOBAL_SYMBOL || LA506_0 == LOCAL_SYMBOL || LA506_0 == SESSION_SYMBOL || LA506_0 == STATUS_SYMBOL || LA506_0 == VARIABLES_SYMBOL))
                    {
                        alt506=31;
                    }
                    else if ( (LA506_0 == TABLE_SYMBOL))
                    {
                        alt506=32;
                    }
                    else if ( (LA506_0 == TABLES_SYMBOL))
                    {
                        alt506=33;
                    }
                    else if ( (LA506_0 == TRIGGERS_SYMBOL))
                    {
                        alt506=34;
                    }
                    else if ( (LA506_0 == WARNINGS_SYMBOL))
                    {
                        alt506=35;
                    }
                    else
                    {
                        if (BACKTRACKING>0)
                        {
                            FAILEDFLAG = ANTLR3_TRUE;
                            return retval;
                        }


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


                        goto ruleshow_statementEx;

                    }
                }
                switch (alt506)
                {
            	case 1:
            	    // MySQL.g:1466:3: AUTHORS_SYMBOL
            	    {
            	        AUTHORS_SYMBOL1511 = (pANTLR3_COMMON_TOKEN) MATCHT(AUTHORS_SYMBOL, &FOLLOW_AUTHORS_SYMBOL_in_show_statement7897);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleshow_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

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

            	    }
            	    break;
            	case 2:
            	    // MySQL.g:1467:5: BINARY_SYMBOL LOGS_SYMBOL
            	    {
            	        BINARY_SYMBOL1512 = (pANTLR3_COMMON_TOKEN) MATCHT(BINARY_SYMBOL, &FOLLOW_BINARY_SYMBOL_in_show_statement7903);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleshow_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

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

            	        LOGS_SYMBOL1513 = (pANTLR3_COMMON_TOKEN) MATCHT(LOGS_SYMBOL, &FOLLOW_LOGS_SYMBOL_in_show_statement7905);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleshow_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

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

            	    }
            	    break;
            	case 3:
            	    // MySQL.g:1468:5: ( BINLOG_SYMBOL | RELAYLOG_SYMBOL ) EVENTS_SYMBOL ( IN_SYMBOL string_literal )? ( FROM_SYMBOL INTEGER )? ( limit_clause )?
            	    {
            	        set1514=(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, set1514))
            	            );
            	            PERRORRECOVERY=ANTLR3_FALSE;
            	            FAILEDFLAG=ANTLR3_FALSE;

            	        }
            	        else
            	        {
            	            if (BACKTRACKING>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_SYMBOL1515 = (pANTLR3_COMMON_TOKEN) MATCHT(EVENTS_SYMBOL, &FOLLOW_EVENTS_SYMBOL_in_show_statement7919);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleshow_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

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

            	        // MySQL.g:1468:53: ( IN_SYMBOL string_literal )?
            	        {
            	            int alt472=2;
            	            switch ( LA(1) )
            	            {
            	                case IN_SYMBOL:
            	                	{
            	                		alt472=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt472)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1468:54: IN_SYMBOL string_literal
            	        	    {
            	        	        IN_SYMBOL1516 = (pANTLR3_COMMON_TOKEN) MATCHT(IN_SYMBOL, &FOLLOW_IN_SYMBOL_in_show_statement7922);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleshow_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

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

            	        	        FOLLOWPUSH(FOLLOW_string_literal_in_show_statement7924);
            	        	        string_literal1517=string_literal(ctx);

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

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

            	        	    }
            	        	    break;

            	            }
            	        }

            	        // MySQL.g:1468:81: ( FROM_SYMBOL INTEGER )?
            	        {
            	            int alt473=2;
            	            switch ( LA(1) )
            	            {
            	                case FROM_SYMBOL:
            	                	{
            	                		alt473=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt473)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1468:82: FROM_SYMBOL INTEGER
            	        	    {
            	        	        FROM_SYMBOL1518 = (pANTLR3_COMMON_TOKEN) MATCHT(FROM_SYMBOL, &FOLLOW_FROM_SYMBOL_in_show_statement7929);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleshow_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

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

            	        	        INTEGER1519 = (pANTLR3_COMMON_TOKEN) MATCHT(INTEGER, &FOLLOW_INTEGER_in_show_statement7931);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleshow_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

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

            	        	    }
            	        	    break;

            	            }
            	        }

            	        // MySQL.g:1468:104: ( limit_clause )?
            	        {
            	            int alt474=2;
            	            switch ( LA(1) )
            	            {
            	                case LIMIT_SYMBOL:
            	                	{
            	                		alt474=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt474)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1468:104: limit_clause
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_limit_clause_in_show_statement7935);
            	        	        limit_clause1520=limit_clause(ctx);

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

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

            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;
            	case 4:
            	    // MySQL.g:1469:5: ( CHAR_SYMBOL SET_SYMBOL | CHARSET_SYMBOL ) ( like_or_where )?
            	    {
            	        // MySQL.g:1469:5: ( CHAR_SYMBOL SET_SYMBOL | CHARSET_SYMBOL )
            	        {
            	            int alt475=2;
            	            switch ( LA(1) )
            	            {
            	            case CHAR_SYMBOL:
            	            	{
            	            		alt475=1;
            	            	}
            	                break;
            	            case CHARSET_SYMBOL:
            	            	{
            	            		alt475=2;
            	            	}
            	                break;

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

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


            	                goto ruleshow_statementEx;

            	            }

            	            switch (alt475)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1469:6: CHAR_SYMBOL SET_SYMBOL
            	        	    {
            	        	        CHAR_SYMBOL1521 = (pANTLR3_COMMON_TOKEN) MATCHT(CHAR_SYMBOL, &FOLLOW_CHAR_SYMBOL_in_show_statement7943);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleshow_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

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

            	        	        SET_SYMBOL1522 = (pANTLR3_COMMON_TOKEN) MATCHT(SET_SYMBOL, &FOLLOW_SET_SYMBOL_in_show_statement7945);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleshow_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

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

            	        	    }
            	        	    break;
            	        	case 2:
            	        	    // MySQL.g:1469:31: CHARSET_SYMBOL
            	        	    {
            	        	        CHARSET_SYMBOL1523 = (pANTLR3_COMMON_TOKEN) MATCHT(CHARSET_SYMBOL, &FOLLOW_CHARSET_SYMBOL_in_show_statement7949);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleshow_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

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

            	        	    }
            	        	    break;

            	            }
            	        }

            	        // MySQL.g:1469:47: ( like_or_where )?
            	        {
            	            int alt476=2;
            	            switch ( LA(1) )
            	            {
            	                case LIKE_SYMBOL:
            	                case WHERE_SYMBOL:
            	                	{
            	                		alt476=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt476)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1469:47: like_or_where
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_like_or_where_in_show_statement7952);
            	        	        like_or_where1524=like_or_where(ctx);

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

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

            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;
            	case 5:
            	    // MySQL.g:1470:5: COLLATION_SYMBOL ( like_or_where )?
            	    {
            	        COLLATION_SYMBOL1525 = (pANTLR3_COMMON_TOKEN) MATCHT(COLLATION_SYMBOL, &FOLLOW_COLLATION_SYMBOL_in_show_statement7959);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleshow_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

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

            	        // MySQL.g:1470:22: ( like_or_where )?
            	        {
            	            int alt477=2;
            	            switch ( LA(1) )
            	            {
            	                case LIKE_SYMBOL:
            	                case WHERE_SYMBOL:
            	                	{
            	                		alt477=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt477)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1470:22: like_or_where
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_like_or_where_in_show_statement7961);
            	        	        like_or_where1526=like_or_where(ctx);

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

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

            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;
            	case 6:
            	    // MySQL.g:1471:5: ( FULL_SYMBOL )? COLUMNS_SYMBOL ( FROM_SYMBOL | IN_SYMBOL ) table_identifier ( in_db )? ( like_or_where )?
            	    {
            	        // MySQL.g:1471:5: ( FULL_SYMBOL )?
            	        {
            	            int alt478=2;
            	            switch ( LA(1) )
            	            {
            	                case FULL_SYMBOL:
            	                	{
            	                		alt478=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt478)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1471:5: FULL_SYMBOL
            	        	    {
            	        	        FULL_SYMBOL1527 = (pANTLR3_COMMON_TOKEN) MATCHT(FULL_SYMBOL, &FOLLOW_FULL_SYMBOL_in_show_statement7968);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleshow_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

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

            	        	    }
            	        	    break;

            	            }
            	        }

            	        COLUMNS_SYMBOL1528 = (pANTLR3_COMMON_TOKEN) MATCHT(COLUMNS_SYMBOL, &FOLLOW_COLUMNS_SYMBOL_in_show_statement7971);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleshow_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

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

            	        set1529=(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, set1529))
            	            );
            	            PERRORRECOVERY=ANTLR3_FALSE;
            	            FAILEDFLAG=ANTLR3_FALSE;

            	        }
            	        else
            	        {
            	            if (BACKTRACKING>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_statement7981);
            	        table_identifier1530=table_identifier(ctx);

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

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

            	        // MySQL.g:1471:76: ( in_db )?
            	        {
            	            int alt479=2;
            	            switch ( LA(1) )
            	            {
            	                case FROM_SYMBOL:
            	                case IN_SYMBOL:
            	                	{
            	                		alt479=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt479)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1471:76: in_db
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_in_db_in_show_statement7983);
            	        	        in_db1531=in_db(ctx);

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

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

            	        	    }
            	        	    break;

            	            }
            	        }

            	        // MySQL.g:1471:83: ( like_or_where )?
            	        {
            	            int alt480=2;
            	            switch ( LA(1) )
            	            {
            	                case LIKE_SYMBOL:
            	                case WHERE_SYMBOL:
            	                	{
            	                		alt480=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt480)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1471:83: like_or_where
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_like_or_where_in_show_statement7986);
            	        	        like_or_where1532=like_or_where(ctx);

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

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

            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;
            	case 7:
            	    // MySQL.g:1472:5: CONTRIBUTORS_SYMBOL
            	    {
            	        CONTRIBUTORS_SYMBOL1533 = (pANTLR3_COMMON_TOKEN) MATCHT(CONTRIBUTORS_SYMBOL, &FOLLOW_CONTRIBUTORS_SYMBOL_in_show_statement7993);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleshow_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

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

            	    }
            	    break;
            	case 8:
            	    // MySQL.g:1473:5: COUNT_SYMBOL OPEN_PAR_SYMBOL MULT_OPERATOR CLOSE_PAR_SYMBOL ( WARNINGS_SYMBOL | ERRORS_SYMBOL )
            	    {
            	        COUNT_SYMBOL1534 = (pANTLR3_COMMON_TOKEN) MATCHT(COUNT_SYMBOL, &FOLLOW_COUNT_SYMBOL_in_show_statement7999);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleshow_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

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

            	        OPEN_PAR_SYMBOL1535 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_show_statement8001);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleshow_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

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

            	        MULT_OPERATOR1536 = (pANTLR3_COMMON_TOKEN) MATCHT(MULT_OPERATOR, &FOLLOW_MULT_OPERATOR_in_show_statement8003);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleshow_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

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

            	        CLOSE_PAR_SYMBOL1537 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_show_statement8005);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleshow_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

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

            	        set1538=(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, set1538))
            	            );
            	            PERRORRECOVERY=ANTLR3_FALSE;
            	            FAILEDFLAG=ANTLR3_FALSE;

            	        }
            	        else
            	        {
            	            if (BACKTRACKING>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:1474:5: CREATE_SYMBOL ( DATABASE_SYMBOL | EVENT_SYMBOL | FUNCTION_SYMBOL | PROCEDURE_SYMBOL | TABLE_SYMBOL | TRIGGER_SYMBOL | VIEW_SYMBOL ) qualified_identifier
            	    {
            	        CREATE_SYMBOL1539 = (pANTLR3_COMMON_TOKEN) MATCHT(CREATE_SYMBOL, &FOLLOW_CREATE_SYMBOL_in_show_statement8019);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleshow_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

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

            	        set1540=(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, set1540))
            	            );
            	            PERRORRECOVERY=ANTLR3_FALSE;
            	            FAILEDFLAG=ANTLR3_FALSE;

            	        }
            	        else
            	        {
            	            if (BACKTRACKING>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_statement8049);
            	        qualified_identifier1541=qualified_identifier(ctx);

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

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

            	    }
            	    break;
            	case 10:
            	    // MySQL.g:1475:5: DATABASES_SYMBOL ( like_clause )?
            	    {
            	        DATABASES_SYMBOL1542 = (pANTLR3_COMMON_TOKEN) MATCHT(DATABASES_SYMBOL, &FOLLOW_DATABASES_SYMBOL_in_show_statement8055);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleshow_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

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

            	        // MySQL.g:1475:22: ( like_clause )?
            	        {
            	            int alt481=2;
            	            switch ( LA(1) )
            	            {
            	                case LIKE_SYMBOL:
            	                	{
            	                		alt481=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt481)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1475:22: like_clause
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_like_clause_in_show_statement8057);
            	        	        like_clause1543=like_clause(ctx);

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

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

            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;
            	case 11:
            	    // MySQL.g:1476:5: ENGINE_SYMBOL text_or_identifier ( STATUS_SYMBOL | MUTEX_SYMBOL )
            	    {
            	        ENGINE_SYMBOL1544 = (pANTLR3_COMMON_TOKEN) MATCHT(ENGINE_SYMBOL, &FOLLOW_ENGINE_SYMBOL_in_show_statement8064);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleshow_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

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

            	        FOLLOWPUSH(FOLLOW_text_or_identifier_in_show_statement8066);
            	        text_or_identifier1545=text_or_identifier(ctx);

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

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

            	        set1546=(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, set1546))
            	            );
            	            PERRORRECOVERY=ANTLR3_FALSE;
            	            FAILEDFLAG=ANTLR3_FALSE;

            	        }
            	        else
            	        {
            	            if (BACKTRACKING>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:1477:5: ( STORAGE_SYMBOL )? ENGINES_SYMBOL
            	    {
            	        // MySQL.g:1477:5: ( STORAGE_SYMBOL )?
            	        {
            	            int alt482=2;
            	            switch ( LA(1) )
            	            {
            	                case STORAGE_SYMBOL:
            	                	{
            	                		alt482=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt482)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1477:5: STORAGE_SYMBOL
            	        	    {
            	        	        STORAGE_SYMBOL1547 = (pANTLR3_COMMON_TOKEN) MATCHT(STORAGE_SYMBOL, &FOLLOW_STORAGE_SYMBOL_in_show_statement8080);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleshow_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

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

            	        	    }
            	        	    break;

            	            }
            	        }

            	        ENGINES_SYMBOL1548 = (pANTLR3_COMMON_TOKEN) MATCHT(ENGINES_SYMBOL, &FOLLOW_ENGINES_SYMBOL_in_show_statement8083);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleshow_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

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

            	    }
            	    break;
            	case 13:
            	    // MySQL.g:1478:5: ERRORS_SYMBOL ( limit_clause )?
            	    {
            	        ERRORS_SYMBOL1549 = (pANTLR3_COMMON_TOKEN) MATCHT(ERRORS_SYMBOL, &FOLLOW_ERRORS_SYMBOL_in_show_statement8089);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleshow_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

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

            	        // MySQL.g:1478:19: ( limit_clause )?
            	        {
            	            int alt483=2;
            	            switch ( LA(1) )
            	            {
            	                case LIMIT_SYMBOL:
            	                	{
            	                		alt483=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt483)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1478:19: limit_clause
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_limit_clause_in_show_statement8091);
            	        	        limit_clause1550=limit_clause(ctx);

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

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

            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;
            	case 14:
            	    // MySQL.g:1479:5: EVENTS_SYMBOL
            	    {
            	        EVENTS_SYMBOL1551 = (pANTLR3_COMMON_TOKEN) MATCHT(EVENTS_SYMBOL, &FOLLOW_EVENTS_SYMBOL_in_show_statement8098);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleshow_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

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

            	    }
            	    break;
            	case 15:
            	    // MySQL.g:1480:5: FUNCTION_SYMBOL CODE_SYMBOL qualified_identifier
            	    {
            	        FUNCTION_SYMBOL1552 = (pANTLR3_COMMON_TOKEN) MATCHT(FUNCTION_SYMBOL, &FOLLOW_FUNCTION_SYMBOL_in_show_statement8104);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleshow_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

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

            	        CODE_SYMBOL1553 = (pANTLR3_COMMON_TOKEN) MATCHT(CODE_SYMBOL, &FOLLOW_CODE_SYMBOL_in_show_statement8106);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleshow_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

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

            	        FOLLOWPUSH(FOLLOW_qualified_identifier_in_show_statement8108);
            	        qualified_identifier1554=qualified_identifier(ctx);

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

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

            	    }
            	    break;
            	case 16:
            	    // MySQL.g:1481:5: FUNCTION_SYMBOL STATUS_SYMBOL ( like_or_where )?
            	    {
            	        FUNCTION_SYMBOL1555 = (pANTLR3_COMMON_TOKEN) MATCHT(FUNCTION_SYMBOL, &FOLLOW_FUNCTION_SYMBOL_in_show_statement8114);
            	        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);
            	        }

            	        STATUS_SYMBOL1556 = (pANTLR3_COMMON_TOKEN) MATCHT(STATUS_SYMBOL, &FOLLOW_STATUS_SYMBOL_in_show_statement8116);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleshow_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

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

            	        // MySQL.g:1481:35: ( like_or_where )?
            	        {
            	            int alt484=2;
            	            switch ( LA(1) )
            	            {
            	                case LIKE_SYMBOL:
            	                case WHERE_SYMBOL:
            	                	{
            	                		alt484=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt484)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1481:35: like_or_where
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_like_or_where_in_show_statement8118);
            	        	        like_or_where1557=like_or_where(ctx);

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

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

            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;
            	case 17:
            	    // MySQL.g:1482:5: GRANTS_SYMBOL FOR_SYMBOL user
            	    {
            	        GRANTS_SYMBOL1558 = (pANTLR3_COMMON_TOKEN) MATCHT(GRANTS_SYMBOL, &FOLLOW_GRANTS_SYMBOL_in_show_statement8125);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleshow_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

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

            	        FOR_SYMBOL1559 = (pANTLR3_COMMON_TOKEN) MATCHT(FOR_SYMBOL, &FOLLOW_FOR_SYMBOL_in_show_statement8127);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleshow_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

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

            	        FOLLOWPUSH(FOLLOW_user_in_show_statement8129);
            	        user1560=user(ctx);

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

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

            	    }
            	    break;
            	case 18:
            	    // MySQL.g:1483:5: ( INDEX_SYMBOL | INDEXES_SYMBOL | KEYS_SYMBOL ) from_or_in table_identifier ( in_db )? ( where_clause )?
            	    {
            	        set1561=(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, set1561))
            	            );
            	            PERRORRECOVERY=ANTLR3_FALSE;
            	            FAILEDFLAG=ANTLR3_FALSE;

            	        }
            	        else
            	        {
            	            if (BACKTRACKING>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_statement8147);
            	        from_or_in1562=from_or_in(ctx);

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

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

            	        FOLLOWPUSH(FOLLOW_table_identifier_in_show_statement8149);
            	        table_identifier1563=table_identifier(ctx);

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

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

            	        // MySQL.g:1483:79: ( in_db )?
            	        {
            	            int alt485=2;
            	            switch ( LA(1) )
            	            {
            	                case FROM_SYMBOL:
            	                case IN_SYMBOL:
            	                	{
            	                		alt485=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt485)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1483:79: in_db
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_in_db_in_show_statement8151);
            	        	        in_db1564=in_db(ctx);

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

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

            	        	    }
            	        	    break;

            	            }
            	        }

            	        // MySQL.g:1483:86: ( where_clause )?
            	        {
            	            int alt486=2;
            	            switch ( LA(1) )
            	            {
            	                case WHERE_SYMBOL:
            	                	{
            	                		alt486=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt486)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1483:86: where_clause
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_where_clause_in_show_statement8154);
            	        	        where_clause1565=where_clause(ctx);

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

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

            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;
            	case 19:
            	    // MySQL.g:1484: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_SYMBOL1566 = (pANTLR3_COMMON_TOKEN) MATCHT(INNODB_SYMBOL, &FOLLOW_INNODB_SYMBOL_in_show_statement8165);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleshow_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

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

            	        STATUS_SYMBOL1567 = (pANTLR3_COMMON_TOKEN) MATCHT(STATUS_SYMBOL, &FOLLOW_STATUS_SYMBOL_in_show_statement8167);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleshow_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

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

            	    }
            	    break;
            	case 20:
            	    // MySQL.g:1485:5: MASTER_SYMBOL STATUS_SYMBOL
            	    {
            	        MASTER_SYMBOL1568 = (pANTLR3_COMMON_TOKEN) MATCHT(MASTER_SYMBOL, &FOLLOW_MASTER_SYMBOL_in_show_statement8174);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleshow_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

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

            	        STATUS_SYMBOL1569 = (pANTLR3_COMMON_TOKEN) MATCHT(STATUS_SYMBOL, &FOLLOW_STATUS_SYMBOL_in_show_statement8176);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleshow_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

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

            	    }
            	    break;
            	case 21:
            	    // MySQL.g:1486:5: OPEN_SYMBOL TABLES_SYMBOL ( in_db )? ( like_or_where )?
            	    {
            	        OPEN_SYMBOL1570 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_SYMBOL, &FOLLOW_OPEN_SYMBOL_in_show_statement8182);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleshow_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

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

            	        TABLES_SYMBOL1571 = (pANTLR3_COMMON_TOKEN) MATCHT(TABLES_SYMBOL, &FOLLOW_TABLES_SYMBOL_in_show_statement8184);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleshow_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

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

            	        // MySQL.g:1486:31: ( in_db )?
            	        {
            	            int alt487=2;
            	            switch ( LA(1) )
            	            {
            	                case FROM_SYMBOL:
            	                case IN_SYMBOL:
            	                	{
            	                		alt487=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt487)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1486:31: in_db
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_in_db_in_show_statement8186);
            	        	        in_db1572=in_db(ctx);

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

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

            	        	    }
            	        	    break;

            	            }
            	        }

            	        // MySQL.g:1486:38: ( like_or_where )?
            	        {
            	            int alt488=2;
            	            switch ( LA(1) )
            	            {
            	                case LIKE_SYMBOL:
            	                case WHERE_SYMBOL:
            	                	{
            	                		alt488=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt488)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1486:38: like_or_where
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_like_or_where_in_show_statement8189);
            	        	        like_or_where1573=like_or_where(ctx);

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

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

            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;
            	case 22:
            	    // MySQL.g:1487: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_SYMBOL1574 = (pANTLR3_COMMON_TOKEN) MATCHT(PLUGIN_SYMBOL, &FOLLOW_PLUGIN_SYMBOL_in_show_statement8200);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleshow_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

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

            	    }
            	    break;
            	case 23:
            	    // MySQL.g:1488: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_SYMBOL1575 = (pANTLR3_COMMON_TOKEN) MATCHT(PLUGINS_SYMBOL, &FOLLOW_PLUGINS_SYMBOL_in_show_statement8211);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleshow_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

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

            	    }
            	    break;
            	case 24:
            	    // MySQL.g:1489:5: PROCEDURE_SYMBOL STATUS_SYMBOL ( like_or_where )?
            	    {
            	        PROCEDURE_SYMBOL1576 = (pANTLR3_COMMON_TOKEN) MATCHT(PROCEDURE_SYMBOL, &FOLLOW_PROCEDURE_SYMBOL_in_show_statement8217);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleshow_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

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

            	        STATUS_SYMBOL1577 = (pANTLR3_COMMON_TOKEN) MATCHT(STATUS_SYMBOL, &FOLLOW_STATUS_SYMBOL_in_show_statement8219);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleshow_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

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

            	        // MySQL.g:1489:36: ( like_or_where )?
            	        {
            	            int alt489=2;
            	            switch ( LA(1) )
            	            {
            	                case LIKE_SYMBOL:
            	                case WHERE_SYMBOL:
            	                	{
            	                		alt489=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt489)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1489:36: like_or_where
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_like_or_where_in_show_statement8221);
            	        	        like_or_where1578=like_or_where(ctx);

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

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

            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;
            	case 25:
            	    // MySQL.g:1490:5: PROCEDURE_SYMBOL CODE_SYMBOL qualified_identifier
            	    {
            	        PROCEDURE_SYMBOL1579 = (pANTLR3_COMMON_TOKEN) MATCHT(PROCEDURE_SYMBOL, &FOLLOW_PROCEDURE_SYMBOL_in_show_statement8228);
            	        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);
            	        }

            	        CODE_SYMBOL1580 = (pANTLR3_COMMON_TOKEN) MATCHT(CODE_SYMBOL, &FOLLOW_CODE_SYMBOL_in_show_statement8230);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleshow_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

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

            	        FOLLOWPUSH(FOLLOW_qualified_identifier_in_show_statement8232);
            	        qualified_identifier1581=qualified_identifier(ctx);

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

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

            	    }
            	    break;
            	case 26:
            	    // MySQL.g:1491:5: PRIVILEGES_SYMBOL
            	    {
            	        PRIVILEGES_SYMBOL1582 = (pANTLR3_COMMON_TOKEN) MATCHT(PRIVILEGES_SYMBOL, &FOLLOW_PRIVILEGES_SYMBOL_in_show_statement8238);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleshow_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

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

            	    }
            	    break;
            	case 27:
            	    // MySQL.g:1492:5: ( FULL_SYMBOL )? PROCESSLIST_SYMBOL
            	    {
            	        // MySQL.g:1492:5: ( FULL_SYMBOL )?
            	        {
            	            int alt490=2;
            	            switch ( LA(1) )
            	            {
            	                case FULL_SYMBOL:
            	                	{
            	                		alt490=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt490)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1492:5: FULL_SYMBOL
            	        	    {
            	        	        FULL_SYMBOL1583 = (pANTLR3_COMMON_TOKEN) MATCHT(FULL_SYMBOL, &FOLLOW_FULL_SYMBOL_in_show_statement8244);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleshow_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

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

            	        	    }
            	        	    break;

            	            }
            	        }

            	        PROCESSLIST_SYMBOL1584 = (pANTLR3_COMMON_TOKEN) MATCHT(PROCESSLIST_SYMBOL, &FOLLOW_PROCESSLIST_SYMBOL_in_show_statement8247);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleshow_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

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

            	    }
            	    break;
            	case 28:
            	    // MySQL.g:1493:5: PROFILE_SYMBOL ( profile_type ( COMMA_SYMBOL profile_type )* )? ( FOR_SYMBOL QUERY_SYMBOL INTEGER )? ( limit_clause )?
            	    {
            	        PROFILE_SYMBOL1585 = (pANTLR3_COMMON_TOKEN) MATCHT(PROFILE_SYMBOL, &FOLLOW_PROFILE_SYMBOL_in_show_statement8253);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleshow_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

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

            	        // MySQL.g:1493:20: ( profile_type ( COMMA_SYMBOL profile_type )* )?
            	        {
            	            int alt492=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:
            	                	{
            	                		alt492=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt492)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1493:21: profile_type ( COMMA_SYMBOL profile_type )*
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_profile_type_in_show_statement8256);
            	        	        profile_type1586=profile_type(ctx);

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

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

            	        	        // MySQL.g:1493:34: ( COMMA_SYMBOL profile_type )*

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

            	        	            }

            	        	            switch (alt491)
            	        	            {
            	        	        	case 1:
            	        	        	    // MySQL.g:1493:35: COMMA_SYMBOL profile_type
            	        	        	    {
            	        	        	        COMMA_SYMBOL1587 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_show_statement8259);
            	        	        	        if  (HASEXCEPTION())
            	        	        	        {
            	        	        	            goto ruleshow_statementEx;
            	        	        	        }
            	        	        	        if (HASFAILED())
            	        	        	        {
            	        	        	            return retval;
            	        	        	        }

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

            	        	        	        FOLLOWPUSH(FOLLOW_profile_type_in_show_statement8261);
            	        	        	        profile_type1588=profile_type(ctx);

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

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

            	        	        	    }
            	        	        	    break;

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


            	        	    }
            	        	    break;

            	            }
            	        }

            	        // MySQL.g:1493:65: ( FOR_SYMBOL QUERY_SYMBOL INTEGER )?
            	        {
            	            int alt493=2;
            	            switch ( LA(1) )
            	            {
            	                case FOR_SYMBOL:
            	                	{
            	                		alt493=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt493)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1493:66: FOR_SYMBOL QUERY_SYMBOL INTEGER
            	        	    {
            	        	        FOR_SYMBOL1589 = (pANTLR3_COMMON_TOKEN) MATCHT(FOR_SYMBOL, &FOLLOW_FOR_SYMBOL_in_show_statement8268);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleshow_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

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

            	        	        QUERY_SYMBOL1590 = (pANTLR3_COMMON_TOKEN) MATCHT(QUERY_SYMBOL, &FOLLOW_QUERY_SYMBOL_in_show_statement8270);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleshow_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

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

            	        	        INTEGER1591 = (pANTLR3_COMMON_TOKEN) MATCHT(INTEGER, &FOLLOW_INTEGER_in_show_statement8272);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleshow_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

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

            	        	    }
            	        	    break;

            	            }
            	        }

            	        // MySQL.g:1493:100: ( limit_clause )?
            	        {
            	            int alt494=2;
            	            switch ( LA(1) )
            	            {
            	                case LIMIT_SYMBOL:
            	                	{
            	                		alt494=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt494)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1493:100: limit_clause
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_limit_clause_in_show_statement8276);
            	        	        limit_clause1592=limit_clause(ctx);

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

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

            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;
            	case 29:
            	    // MySQL.g:1494:5: PROFILES_SYMBOL
            	    {
            	        PROFILES_SYMBOL1593 = (pANTLR3_COMMON_TOKEN) MATCHT(PROFILES_SYMBOL, &FOLLOW_PROFILES_SYMBOL_in_show_statement8283);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleshow_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

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

            	    }
            	    break;
            	case 30:
            	    // MySQL.g:1495:5: SLAVE_SYMBOL ( HOSTS_SYMBOL | STATUS_SYMBOL )
            	    {
            	        SLAVE_SYMBOL1594 = (pANTLR3_COMMON_TOKEN) MATCHT(SLAVE_SYMBOL, &FOLLOW_SLAVE_SYMBOL_in_show_statement8289);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleshow_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

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

            	        set1595=(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, set1595))
            	            );
            	            PERRORRECOVERY=ANTLR3_FALSE;
            	            FAILEDFLAG=ANTLR3_FALSE;

            	        }
            	        else
            	        {
            	            if (BACKTRACKING>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:1496:5: ( option_type )? ( STATUS_SYMBOL | VARIABLES_SYMBOL ) ( like_or_where )?
            	    {
            	        // MySQL.g:1496:5: ( option_type )?
            	        {
            	            int alt495=2;
            	            switch ( LA(1) )
            	            {
            	                case GLOBAL_SYMBOL:
            	                case LOCAL_SYMBOL:
            	                case SESSION_SYMBOL:
            	                	{
            	                		alt495=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt495)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1496:5: option_type
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_option_type_in_show_statement8303);
            	        	        option_type1596=option_type(ctx);

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

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

            	        	    }
            	        	    break;

            	            }
            	        }

            	        set1597=(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, set1597))
            	            );
            	            PERRORRECOVERY=ANTLR3_FALSE;
            	            FAILEDFLAG=ANTLR3_FALSE;

            	        }
            	        else
            	        {
            	            if (BACKTRACKING>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:1496:53: ( like_or_where )?
            	        {
            	            int alt496=2;
            	            switch ( LA(1) )
            	            {
            	                case LIKE_SYMBOL:
            	                case WHERE_SYMBOL:
            	                	{
            	                		alt496=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt496)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1496:53: like_or_where
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_like_or_where_in_show_statement8314);
            	        	        like_or_where1598=like_or_where(ctx);

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

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

            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;
            	case 32:
            	    // MySQL.g:1497:5: TABLE_SYMBOL STATUS_SYMBOL ( in_db )? ( like_or_where )?
            	    {
            	        TABLE_SYMBOL1599 = (pANTLR3_COMMON_TOKEN) MATCHT(TABLE_SYMBOL, &FOLLOW_TABLE_SYMBOL_in_show_statement8321);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleshow_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

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

            	        STATUS_SYMBOL1600 = (pANTLR3_COMMON_TOKEN) MATCHT(STATUS_SYMBOL, &FOLLOW_STATUS_SYMBOL_in_show_statement8323);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleshow_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

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

            	        // MySQL.g:1497:32: ( in_db )?
            	        {
            	            int alt497=2;
            	            switch ( LA(1) )
            	            {
            	                case FROM_SYMBOL:
            	                case IN_SYMBOL:
            	                	{
            	                		alt497=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt497)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1497:32: in_db
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_in_db_in_show_statement8325);
            	        	        in_db1601=in_db(ctx);

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

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

            	        	    }
            	        	    break;

            	            }
            	        }

            	        // MySQL.g:1497:39: ( like_or_where )?
            	        {
            	            int alt498=2;
            	            switch ( LA(1) )
            	            {
            	                case LIKE_SYMBOL:
            	                case WHERE_SYMBOL:
            	                	{
            	                		alt498=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt498)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1497:39: like_or_where
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_like_or_where_in_show_statement8328);
            	        	        like_or_where1602=like_or_where(ctx);

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

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

            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;
            	case 33:
            	    // MySQL.g:1498:5: ( FULL_SYMBOL )? TABLES_SYMBOL ( in_db )? ( like_or_where )?
            	    {
            	        // MySQL.g:1498:5: ( FULL_SYMBOL )?
            	        {
            	            int alt499=2;
            	            switch ( LA(1) )
            	            {
            	                case FULL_SYMBOL:
            	                	{
            	                		alt499=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt499)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1498:5: FULL_SYMBOL
            	        	    {
            	        	        FULL_SYMBOL1603 = (pANTLR3_COMMON_TOKEN) MATCHT(FULL_SYMBOL, &FOLLOW_FULL_SYMBOL_in_show_statement8335);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleshow_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

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

            	        	    }
            	        	    break;

            	            }
            	        }

            	        TABLES_SYMBOL1604 = (pANTLR3_COMMON_TOKEN) MATCHT(TABLES_SYMBOL, &FOLLOW_TABLES_SYMBOL_in_show_statement8338);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleshow_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

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

            	        // MySQL.g:1498:32: ( in_db )?
            	        {
            	            int alt500=2;
            	            switch ( LA(1) )
            	            {
            	                case FROM_SYMBOL:
            	                case IN_SYMBOL:
            	                	{
            	                		alt500=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt500)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1498:32: in_db
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_in_db_in_show_statement8340);
            	        	        in_db1605=in_db(ctx);

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

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

            	        	    }
            	        	    break;

            	            }
            	        }

            	        // MySQL.g:1498:39: ( like_or_where )?
            	        {
            	            int alt501=2;
            	            switch ( LA(1) )
            	            {
            	                case LIKE_SYMBOL:
            	                case WHERE_SYMBOL:
            	                	{
            	                		alt501=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt501)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1498:39: like_or_where
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_like_or_where_in_show_statement8343);
            	        	        like_or_where1606=like_or_where(ctx);

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

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

            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;
            	case 34:
            	    // MySQL.g:1499:5: ( FULL_SYMBOL )? TRIGGERS_SYMBOL ( in_db )? ( like_or_where )?
            	    {
            	        // MySQL.g:1499:5: ( FULL_SYMBOL )?
            	        {
            	            int alt502=2;
            	            switch ( LA(1) )
            	            {
            	                case FULL_SYMBOL:
            	                	{
            	                		alt502=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt502)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1499:5: FULL_SYMBOL
            	        	    {
            	        	        FULL_SYMBOL1607 = (pANTLR3_COMMON_TOKEN) MATCHT(FULL_SYMBOL, &FOLLOW_FULL_SYMBOL_in_show_statement8350);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleshow_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

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

            	        	    }
            	        	    break;

            	            }
            	        }

            	        TRIGGERS_SYMBOL1608 = (pANTLR3_COMMON_TOKEN) MATCHT(TRIGGERS_SYMBOL, &FOLLOW_TRIGGERS_SYMBOL_in_show_statement8353);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleshow_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

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

            	        // MySQL.g:1499:34: ( in_db )?
            	        {
            	            int alt503=2;
            	            switch ( LA(1) )
            	            {
            	                case FROM_SYMBOL:
            	                case IN_SYMBOL:
            	                	{
            	                		alt503=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt503)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1499:34: in_db
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_in_db_in_show_statement8355);
            	        	        in_db1609=in_db(ctx);

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

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

            	        	    }
            	        	    break;

            	            }
            	        }

            	        // MySQL.g:1499:41: ( like_or_where )?
            	        {
            	            int alt504=2;
            	            switch ( LA(1) )
            	            {
            	                case LIKE_SYMBOL:
            	                case WHERE_SYMBOL:
            	                	{
            	                		alt504=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt504)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1499:41: like_or_where
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_like_or_where_in_show_statement8358);
            	        	        like_or_where1610=like_or_where(ctx);

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

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

            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;
            	case 35:
            	    // MySQL.g:1500:5: WARNINGS_SYMBOL ( limit_clause )?
            	    {
            	        WARNINGS_SYMBOL1611 = (pANTLR3_COMMON_TOKEN) MATCHT(WARNINGS_SYMBOL, &FOLLOW_WARNINGS_SYMBOL_in_show_statement8365);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleshow_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

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

            	        // MySQL.g:1500:21: ( limit_clause )?
            	        {
            	            int alt505=2;
            	            switch ( LA(1) )
            	            {
            	                case LIMIT_SYMBOL:
            	                	{
            	                		alt505=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt505)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1500:21: limit_clause
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_limit_clause_in_show_statement8367);
            	        	        limit_clause1612=limit_clause(ctx);

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

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, limit_clause1612.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:1504: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    set1613;

    pANTLR3_BASE_TREE set1613_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    set1613       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    set1613_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1504:11: ( FROM_SYMBOL | IN_SYMBOL )
        // MySQL.g:
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            set1613=(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, set1613))
                );
                PERRORRECOVERY=ANTLR3_FALSE;
                FAILEDFLAG=ANTLR3_FALSE;

            }
            else
            {
                if (BACKTRACKING>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:1508: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_in1614;
    #undef	RETURN_TYPE_from_or_in1614
    #define	RETURN_TYPE_from_or_in1614 MySQLParser_from_or_in_return

    MySQLParser_identifier_return identifier1615;
    #undef	RETURN_TYPE_identifier1615
    #define	RETURN_TYPE_identifier1615 MySQLParser_identifier_return


    /* Initialize rule variables
     */

    root_0 = NULL;

    from_or_in1614.tree = NULL;

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




    retval.tree  = NULL;

    {
        // MySQL.g:1508:6: ( from_or_in identifier )
        // MySQL.g:1509:2: from_or_in identifier
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            FOLLOWPUSH(FOLLOW_from_or_in_in_in_db8393);
            from_or_in1614=from_or_in(ctx);

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

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

            FOLLOWPUSH(FOLLOW_identifier_in_in_db8395);
            identifier1615=identifier(ctx);

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

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier1615.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:1512: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_SYMBOL1616;
    pANTLR3_COMMON_TOKEN    BLOCK_SYMBOL1617;
    pANTLR3_COMMON_TOKEN    IO_SYMBOL1618;
    pANTLR3_COMMON_TOKEN    CONTEXT_SYMBOL1619;
    pANTLR3_COMMON_TOKEN    SWITCHES_SYMBOL1620;
    pANTLR3_COMMON_TOKEN    CPU_SYMBOL1621;
    pANTLR3_COMMON_TOKEN    IPC_SYMBOL1622;
    pANTLR3_COMMON_TOKEN    MEMORY_SYMBOL1623;
    pANTLR3_COMMON_TOKEN    PAGE_SYMBOL1624;
    pANTLR3_COMMON_TOKEN    FAULTS_SYMBOL1625;
    pANTLR3_COMMON_TOKEN    SOURCE_SYMBOL1626;
    pANTLR3_COMMON_TOKEN    SWAPS_SYMBOL1627;

    pANTLR3_BASE_TREE ALL_SYMBOL1616_tree;
    pANTLR3_BASE_TREE BLOCK_SYMBOL1617_tree;
    pANTLR3_BASE_TREE IO_SYMBOL1618_tree;
    pANTLR3_BASE_TREE CONTEXT_SYMBOL1619_tree;
    pANTLR3_BASE_TREE SWITCHES_SYMBOL1620_tree;
    pANTLR3_BASE_TREE CPU_SYMBOL1621_tree;
    pANTLR3_BASE_TREE IPC_SYMBOL1622_tree;
    pANTLR3_BASE_TREE MEMORY_SYMBOL1623_tree;
    pANTLR3_BASE_TREE PAGE_SYMBOL1624_tree;
    pANTLR3_BASE_TREE FAULTS_SYMBOL1625_tree;
    pANTLR3_BASE_TREE SOURCE_SYMBOL1626_tree;
    pANTLR3_BASE_TREE SWAPS_SYMBOL1627_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    ALL_SYMBOL1616       = NULL;
    BLOCK_SYMBOL1617       = NULL;
    IO_SYMBOL1618       = NULL;
    CONTEXT_SYMBOL1619       = NULL;
    SWITCHES_SYMBOL1620       = NULL;
    CPU_SYMBOL1621       = NULL;
    IPC_SYMBOL1622       = NULL;
    MEMORY_SYMBOL1623       = NULL;
    PAGE_SYMBOL1624       = NULL;
    FAULTS_SYMBOL1625       = NULL;
    SOURCE_SYMBOL1626       = NULL;
    SWAPS_SYMBOL1627       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    ALL_SYMBOL1616_tree   = NULL;
    BLOCK_SYMBOL1617_tree   = NULL;
    IO_SYMBOL1618_tree   = NULL;
    CONTEXT_SYMBOL1619_tree   = NULL;
    SWITCHES_SYMBOL1620_tree   = NULL;
    CPU_SYMBOL1621_tree   = NULL;
    IPC_SYMBOL1622_tree   = NULL;
    MEMORY_SYMBOL1623_tree   = NULL;
    PAGE_SYMBOL1624_tree   = NULL;
    FAULTS_SYMBOL1625_tree   = NULL;
    SOURCE_SYMBOL1626_tree   = NULL;
    SWAPS_SYMBOL1627_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:1512: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 alt507;

            alt507=9;

            switch ( LA(1) )
            {
            case ALL_SYMBOL:
            	{
            		alt507=1;
            	}
                break;
            case BLOCK_SYMBOL:
            	{
            		alt507=2;
            	}
                break;
            case CONTEXT_SYMBOL:
            	{
            		alt507=3;
            	}
                break;
            case CPU_SYMBOL:
            	{
            		alt507=4;
            	}
                break;
            case IPC_SYMBOL:
            	{
            		alt507=5;
            	}
                break;
            case MEMORY_SYMBOL:
            	{
            		alt507=6;
            	}
                break;
            case PAGE_SYMBOL:
            	{
            		alt507=7;
            	}
                break;
            case SOURCE_SYMBOL:
            	{
            		alt507=8;
            	}
                break;
            case SWAPS_SYMBOL:
            	{
            		alt507=9;
            	}
                break;

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

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


                goto ruleprofile_typeEx;

            }

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


        	        ALL_SYMBOL1616 = (pANTLR3_COMMON_TOKEN) MATCHT(ALL_SYMBOL, &FOLLOW_ALL_SYMBOL_in_profile_type8404);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleprofile_typeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

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


        	        BLOCK_SYMBOL1617 = (pANTLR3_COMMON_TOKEN) MATCHT(BLOCK_SYMBOL, &FOLLOW_BLOCK_SYMBOL_in_profile_type8409);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleprofile_typeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

        	        IO_SYMBOL1618 = (pANTLR3_COMMON_TOKEN) MATCHT(IO_SYMBOL, &FOLLOW_IO_SYMBOL_in_profile_type8411);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleprofile_typeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

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


        	        CONTEXT_SYMBOL1619 = (pANTLR3_COMMON_TOKEN) MATCHT(CONTEXT_SYMBOL, &FOLLOW_CONTEXT_SYMBOL_in_profile_type8416);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleprofile_typeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

        	        SWITCHES_SYMBOL1620 = (pANTLR3_COMMON_TOKEN) MATCHT(SWITCHES_SYMBOL, &FOLLOW_SWITCHES_SYMBOL_in_profile_type8418);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleprofile_typeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

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


        	        CPU_SYMBOL1621 = (pANTLR3_COMMON_TOKEN) MATCHT(CPU_SYMBOL, &FOLLOW_CPU_SYMBOL_in_profile_type8423);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleprofile_typeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

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


        	        IPC_SYMBOL1622 = (pANTLR3_COMMON_TOKEN) MATCHT(IPC_SYMBOL, &FOLLOW_IPC_SYMBOL_in_profile_type8428);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleprofile_typeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

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


        	        MEMORY_SYMBOL1623 = (pANTLR3_COMMON_TOKEN) MATCHT(MEMORY_SYMBOL, &FOLLOW_MEMORY_SYMBOL_in_profile_type8433);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleprofile_typeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

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


        	        PAGE_SYMBOL1624 = (pANTLR3_COMMON_TOKEN) MATCHT(PAGE_SYMBOL, &FOLLOW_PAGE_SYMBOL_in_profile_type8438);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleprofile_typeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

        	        FAULTS_SYMBOL1625 = (pANTLR3_COMMON_TOKEN) MATCHT(FAULTS_SYMBOL, &FOLLOW_FAULTS_SYMBOL_in_profile_type8440);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleprofile_typeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

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


        	        SOURCE_SYMBOL1626 = (pANTLR3_COMMON_TOKEN) MATCHT(SOURCE_SYMBOL, &FOLLOW_SOURCE_SYMBOL_in_profile_type8445);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleprofile_typeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

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


        	        SWAPS_SYMBOL1627 = (pANTLR3_COMMON_TOKEN) MATCHT(SWAPS_SYMBOL, &FOLLOW_SWAPS_SYMBOL_in_profile_type8450);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleprofile_typeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        SWAPS_SYMBOL1627_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SWAPS_SYMBOL1627));
        	        ADAPTOR->addChild(ADAPTOR, root_0, SWAPS_SYMBOL1627_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:1526: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_SYMBOL1628;
    pANTLR3_COMMON_TOKEN    CACHE_SYMBOL1630;
    pANTLR3_COMMON_TOKEN    INDEX_SYMBOL1631;
    pANTLR3_COMMON_TOKEN    IN_SYMBOL1633;
    pANTLR3_COMMON_TOKEN    DEFAULT_SYMBOL1635;
    pANTLR3_COMMON_TOKEN    FLUSH_SYMBOL1636;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL1639;
    pANTLR3_COMMON_TOKEN    KILL_SYMBOL1641;
    pANTLR3_COMMON_TOKEN    set1642;
    pANTLR3_COMMON_TOKEN    INTEGER1643;
    pANTLR3_COMMON_TOKEN    LOAD_SYMBOL1644;
    pANTLR3_COMMON_TOKEN    INDEX_SYMBOL1645;
    pANTLR3_COMMON_TOKEN    INTO_SYMBOL1646;
    pANTLR3_COMMON_TOKEN    CACHE_SYMBOL1647;
    pANTLR3_COMMON_TOKEN    RESET_SYMBOL1649;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL1651;
    MySQLParser_string_literal_return string_literal1629;
    #undef	RETURN_TYPE_string_literal1629
    #define	RETURN_TYPE_string_literal1629 MySQLParser_string_literal_return

    MySQLParser_key_cache_list_or_parts_return key_cache_list_or_parts1632;
    #undef	RETURN_TYPE_key_cache_list_or_parts1632
    #define	RETURN_TYPE_key_cache_list_or_parts1632 MySQLParser_key_cache_list_or_parts_return

    MySQLParser_identifier_return identifier1634;
    #undef	RETURN_TYPE_identifier1634
    #define	RETURN_TYPE_identifier1634 MySQLParser_identifier_return

    MySQLParser_no_write_to_bin_log_return no_write_to_bin_log1637;
    #undef	RETURN_TYPE_no_write_to_bin_log1637
    #define	RETURN_TYPE_no_write_to_bin_log1637 MySQLParser_no_write_to_bin_log_return

    MySQLParser_flush_option_return flush_option1638;
    #undef	RETURN_TYPE_flush_option1638
    #define	RETURN_TYPE_flush_option1638 MySQLParser_flush_option_return

    MySQLParser_flush_option_return flush_option1640;
    #undef	RETURN_TYPE_flush_option1640
    #define	RETURN_TYPE_flush_option1640 MySQLParser_flush_option_return

    MySQLParser_load_table_index_list_return load_table_index_list1648;
    #undef	RETURN_TYPE_load_table_index_list1648
    #define	RETURN_TYPE_load_table_index_list1648 MySQLParser_load_table_index_list_return

    MySQLParser_reset_option_return reset_option1650;
    #undef	RETURN_TYPE_reset_option1650
    #define	RETURN_TYPE_reset_option1650 MySQLParser_reset_option_return

    MySQLParser_reset_option_return reset_option1652;
    #undef	RETURN_TYPE_reset_option1652
    #define	RETURN_TYPE_reset_option1652 MySQLParser_reset_option_return

    pANTLR3_BASE_TREE BINLOG_SYMBOL1628_tree;
    pANTLR3_BASE_TREE CACHE_SYMBOL1630_tree;
    pANTLR3_BASE_TREE INDEX_SYMBOL1631_tree;
    pANTLR3_BASE_TREE IN_SYMBOL1633_tree;
    pANTLR3_BASE_TREE DEFAULT_SYMBOL1635_tree;
    pANTLR3_BASE_TREE FLUSH_SYMBOL1636_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL1639_tree;
    pANTLR3_BASE_TREE KILL_SYMBOL1641_tree;
    pANTLR3_BASE_TREE set1642_tree;
    pANTLR3_BASE_TREE INTEGER1643_tree;
    pANTLR3_BASE_TREE LOAD_SYMBOL1644_tree;
    pANTLR3_BASE_TREE INDEX_SYMBOL1645_tree;
    pANTLR3_BASE_TREE INTO_SYMBOL1646_tree;
    pANTLR3_BASE_TREE CACHE_SYMBOL1647_tree;
    pANTLR3_BASE_TREE RESET_SYMBOL1649_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL1651_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    BINLOG_SYMBOL1628       = NULL;
    CACHE_SYMBOL1630       = NULL;
    INDEX_SYMBOL1631       = NULL;
    IN_SYMBOL1633       = NULL;
    DEFAULT_SYMBOL1635       = NULL;
    FLUSH_SYMBOL1636       = NULL;
    COMMA_SYMBOL1639       = NULL;
    KILL_SYMBOL1641       = NULL;
    set1642       = NULL;
    INTEGER1643       = NULL;
    LOAD_SYMBOL1644       = NULL;
    INDEX_SYMBOL1645       = NULL;
    INTO_SYMBOL1646       = NULL;
    CACHE_SYMBOL1647       = NULL;
    RESET_SYMBOL1649       = NULL;
    COMMA_SYMBOL1651       = NULL;
    string_literal1629.tree = NULL;

    key_cache_list_or_parts1632.tree = NULL;

    identifier1634.tree = NULL;

    no_write_to_bin_log1637.tree = NULL;

    flush_option1638.tree = NULL;

    flush_option1640.tree = NULL;

    load_table_index_list1648.tree = NULL;

    reset_option1650.tree = NULL;

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


    BINLOG_SYMBOL1628_tree   = NULL;
    CACHE_SYMBOL1630_tree   = NULL;
    INDEX_SYMBOL1631_tree   = NULL;
    IN_SYMBOL1633_tree   = NULL;
    DEFAULT_SYMBOL1635_tree   = NULL;
    FLUSH_SYMBOL1636_tree   = NULL;
    COMMA_SYMBOL1639_tree   = NULL;
    KILL_SYMBOL1641_tree   = NULL;
    set1642_tree   = NULL;
    INTEGER1643_tree   = NULL;
    LOAD_SYMBOL1644_tree   = NULL;
    INDEX_SYMBOL1645_tree   = NULL;
    INTO_SYMBOL1646_tree   = NULL;
    CACHE_SYMBOL1647_tree   = NULL;
    RESET_SYMBOL1649_tree   = NULL;
    COMMA_SYMBOL1651_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:1526: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 alt513;

            alt513=6;

            switch ( LA(1) )
            {
            case BINLOG_SYMBOL:
            	{
            		alt513=1;
            	}
                break;
            case CACHE_SYMBOL:
            	{
            		alt513=2;
            	}
                break;
            case FLUSH_SYMBOL:
            	{
            		alt513=3;
            	}
                break;
            case KILL_SYMBOL:
            	{
            		alt513=4;
            	}
                break;
            case LOAD_SYMBOL:
            	{
            		alt513=5;
            	}
                break;
            case RESET_SYMBOL:
            	{
            		alt513=6;
            	}
                break;

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

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


                goto rulemiscellaneous_statementEx;

            }

            switch (alt513)
            {
        	case 1:
        	    // MySQL.g:1527:2: BINLOG_SYMBOL ^ string_literal
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        BINLOG_SYMBOL1628 = (pANTLR3_COMMON_TOKEN) MATCHT(BINLOG_SYMBOL, &FOLLOW_BINLOG_SYMBOL_in_miscellaneous_statement8461);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemiscellaneous_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

        	        FOLLOWPUSH(FOLLOW_string_literal_in_miscellaneous_statement8464);
        	        string_literal1629=string_literal(ctx);

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

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

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:1528:4: CACHE_SYMBOL ^ INDEX_SYMBOL key_cache_list_or_parts IN_SYMBOL ( identifier | DEFAULT_SYMBOL )
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        CACHE_SYMBOL1630 = (pANTLR3_COMMON_TOKEN) MATCHT(CACHE_SYMBOL, &FOLLOW_CACHE_SYMBOL_in_miscellaneous_statement8469);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemiscellaneous_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

        	        INDEX_SYMBOL1631 = (pANTLR3_COMMON_TOKEN) MATCHT(INDEX_SYMBOL, &FOLLOW_INDEX_SYMBOL_in_miscellaneous_statement8472);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemiscellaneous_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

        	        FOLLOWPUSH(FOLLOW_key_cache_list_or_parts_in_miscellaneous_statement8474);
        	        key_cache_list_or_parts1632=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_parts1632.tree);

        	        IN_SYMBOL1633 = (pANTLR3_COMMON_TOKEN) MATCHT(IN_SYMBOL, &FOLLOW_IN_SYMBOL_in_miscellaneous_statement8476);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemiscellaneous_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

        	        // MySQL.g:1528:65: ( identifier | DEFAULT_SYMBOL )
        	        {
        	            int alt508=2;
        	            {
        	                int LA508_0 = LA(1);
        	                if ( (LA508_0 == BACK_TICK_QUOTED_ID || LA508_0 == IDENTIFIER))
        	                {
        	                    alt508=1;
        	                }
        	                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA508_0 == DOUBLE_QUOTED_TEXT))
        	                {
        	                    alt508=1;
        	                }
        	                else if ( (((LA508_0 >= ACTION_SYMBOL) && (LA508_0 <= PARTITION_SYMBOL))))
        	                {
        	                    alt508=1;
        	                }
        	                else if ( (LA508_0 == DEFAULT_SYMBOL))
        	                {
        	                    alt508=2;
        	                }
        	                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 rulemiscellaneous_statementEx;

        	                }
        	            }
        	            switch (alt508)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1528:66: identifier
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_identifier_in_miscellaneous_statement8479);
        	        	        identifier1634=identifier(ctx);

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

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

        	        	    }
        	        	    break;
        	        	case 2:
        	        	    // MySQL.g:1528:79: DEFAULT_SYMBOL
        	        	    {
        	        	        DEFAULT_SYMBOL1635 = (pANTLR3_COMMON_TOKEN) MATCHT(DEFAULT_SYMBOL, &FOLLOW_DEFAULT_SYMBOL_in_miscellaneous_statement8483);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulemiscellaneous_statementEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

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

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 3:
        	    // MySQL.g:1529:4: FLUSH_SYMBOL ^ ( no_write_to_bin_log )? flush_option ( COMMA_SYMBOL flush_option )*
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FLUSH_SYMBOL1636 = (pANTLR3_COMMON_TOKEN) MATCHT(FLUSH_SYMBOL, &FOLLOW_FLUSH_SYMBOL_in_miscellaneous_statement8489);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemiscellaneous_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

        	        // MySQL.g:1529:18: ( no_write_to_bin_log )?
        	        {
        	            int alt509=2;
        	            {
        	                int LA509_0 = LA(1);
        	                if ( ((LA(1) == LOCAL_SYMBOL)) && (LA509_0 == LOCAL_SYMBOL))
        	                {
        	                    alt509=1;
        	                }
        	                else if ( (LA509_0 == NO_WRITE_TO_BINLOG_SYMBOL))
        	                {
        	                    alt509=1;
        	                }
        	            }
        	            switch (alt509)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1529:18: no_write_to_bin_log
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_no_write_to_bin_log_in_miscellaneous_statement8492);
        	        	        no_write_to_bin_log1637=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_log1637.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	        FOLLOWPUSH(FOLLOW_flush_option_in_miscellaneous_statement8495);
        	        flush_option1638=flush_option(ctx);

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

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

        	        // MySQL.g:1529:52: ( COMMA_SYMBOL flush_option )*

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

        	            }

        	            switch (alt510)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1529:53: COMMA_SYMBOL flush_option
        	        	    {
        	        	        COMMA_SYMBOL1639 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_miscellaneous_statement8498);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulemiscellaneous_statementEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

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

        	        	        FOLLOWPUSH(FOLLOW_flush_option_in_miscellaneous_statement8500);
        	        	        flush_option1640=flush_option(ctx);

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

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

        	        	    }
        	        	    break;

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


        	    }
        	    break;
        	case 4:
        	    // MySQL.g:1530:4: KILL_SYMBOL ^ ( CONNECTION_SYMBOL | QUERY_SYMBOL )? INTEGER
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        KILL_SYMBOL1641 = (pANTLR3_COMMON_TOKEN) MATCHT(KILL_SYMBOL, &FOLLOW_KILL_SYMBOL_in_miscellaneous_statement8507);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemiscellaneous_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

        	        // MySQL.g:1530:17: ( CONNECTION_SYMBOL | QUERY_SYMBOL )?
        	        {
        	            int alt511=2;
        	            switch ( LA(1) )
        	            {
        	                case CONNECTION_SYMBOL:
        	                case QUERY_SYMBOL:
        	                	{
        	                		alt511=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt511)
        	            {
        	        	case 1:
        	        	    // MySQL.g:
        	        	    {
        	        	        set1642=(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, set1642))
        	        	            );
        	        	            PERRORRECOVERY=ANTLR3_FALSE;
        	        	            FAILEDFLAG=ANTLR3_FALSE;

        	        	        }
        	        	        else
        	        	        {
        	        	            if (BACKTRACKING>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;

        	            }
        	        }

        	        INTEGER1643 = (pANTLR3_COMMON_TOKEN) MATCHT(INTEGER, &FOLLOW_INTEGER_in_miscellaneous_statement8519);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemiscellaneous_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

        	    }
        	    break;
        	case 5:
        	    // MySQL.g:1531:4: LOAD_SYMBOL ^ INDEX_SYMBOL INTO_SYMBOL CACHE_SYMBOL load_table_index_list
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        LOAD_SYMBOL1644 = (pANTLR3_COMMON_TOKEN) MATCHT(LOAD_SYMBOL, &FOLLOW_LOAD_SYMBOL_in_miscellaneous_statement8524);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemiscellaneous_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

        	        INDEX_SYMBOL1645 = (pANTLR3_COMMON_TOKEN) MATCHT(INDEX_SYMBOL, &FOLLOW_INDEX_SYMBOL_in_miscellaneous_statement8527);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemiscellaneous_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

        	        INTO_SYMBOL1646 = (pANTLR3_COMMON_TOKEN) MATCHT(INTO_SYMBOL, &FOLLOW_INTO_SYMBOL_in_miscellaneous_statement8529);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemiscellaneous_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

        	        CACHE_SYMBOL1647 = (pANTLR3_COMMON_TOKEN) MATCHT(CACHE_SYMBOL, &FOLLOW_CACHE_SYMBOL_in_miscellaneous_statement8531);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemiscellaneous_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

        	        FOLLOWPUSH(FOLLOW_load_table_index_list_in_miscellaneous_statement8533);
        	        load_table_index_list1648=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_list1648.tree);

        	    }
        	    break;
        	case 6:
        	    // MySQL.g:1532:4: RESET_SYMBOL ^ reset_option ( COMMA_SYMBOL reset_option )*
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        RESET_SYMBOL1649 = (pANTLR3_COMMON_TOKEN) MATCHT(RESET_SYMBOL, &FOLLOW_RESET_SYMBOL_in_miscellaneous_statement8538);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulemiscellaneous_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

        	        FOLLOWPUSH(FOLLOW_reset_option_in_miscellaneous_statement8541);
        	        reset_option1650=reset_option(ctx);

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

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

        	        // MySQL.g:1532:31: ( COMMA_SYMBOL reset_option )*

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

        	            }

        	            switch (alt512)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1532:32: COMMA_SYMBOL reset_option
        	        	    {
        	        	        COMMA_SYMBOL1651 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_miscellaneous_statement8544);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulemiscellaneous_statementEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

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

        	        	        FOLLOWPUSH(FOLLOW_reset_option_in_miscellaneous_statement8546);
        	        	        reset_option1652=reset_option(ctx);

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

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

        	        	    }
        	        	    break;

        	        	default:
        	        	    goto loop512;	/* break out of the loop */
        	        	    break;
        	            }
        	        }
        	        loop512: ; /* 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:1535: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_list1653;
    #undef	RETURN_TYPE_key_cache_list1653
    #define	RETURN_TYPE_key_cache_list1653 MySQLParser_key_cache_list_return

    MySQLParser_assign_to_keycache_partition_return assign_to_keycache_partition1654;
    #undef	RETURN_TYPE_assign_to_keycache_partition1654
    #define	RETURN_TYPE_assign_to_keycache_partition1654 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_list1653.tree = NULL;

    assign_to_keycache_partition1654.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:1535:43: ( key_cache_list -> ^( KEY_CACHE_LIST key_cache_list ) | assign_to_keycache_partition -> ^( KEY_CACHE_PARTITION assign_to_keycache_partition ) )

            ANTLR3_UINT32 alt514;

            alt514=2;

            {
                int LA514_0 = LA(1);
                if ( (LA514_0 == IDENTIFIER))
                {
                    switch ( LA(2) )
                    {
                    case DOT_SYMBOL:
                    	{
                    		{
                    		    int LA514_8 = LA(3);
                    		    if ( (LA514_8 == IDENTIFIER))
                    		    {
                    		        switch ( LA(4) )
                    		        {
                    		        case COMMA_SYMBOL:
                    		        case INDEX_SYMBOL:
                    		        case IN_SYMBOL:
                    		        case KEY_SYMBOL:
                    		        	{
                    		        		alt514=1;
                    		        	}
                    		            break;
                    		        case PARTITION_SYMBOL:
                    		        	{
                    		        		alt514=2;
                    		        	}
                    		            break;

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

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


                    		            goto rulekey_cache_list_or_partsEx;

                    		        }

                    		    }
                    		    else if ( (LA514_8 == BACK_TICK_QUOTED_ID))
                    		    {
                    		        switch ( LA(4) )
                    		        {
                    		        case COMMA_SYMBOL:
                    		        case INDEX_SYMBOL:
                    		        case IN_SYMBOL:
                    		        case KEY_SYMBOL:
                    		        	{
                    		        		alt514=1;
                    		        	}
                    		            break;
                    		        case PARTITION_SYMBOL:
                    		        	{
                    		        		alt514=2;
                    		        	}
                    		            break;

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

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


                    		            goto rulekey_cache_list_or_partsEx;

                    		        }

                    		    }
                    		    else if ( (LA514_8 == DOUBLE_QUOTED_TEXT))
                    		    {
                    		        switch ( LA(4) )
                    		        {
                    		        case COMMA_SYMBOL:
                    		        case INDEX_SYMBOL:
                    		        case IN_SYMBOL:
                    		        case KEY_SYMBOL:
                    		        	{
                    		        		alt514=1;
                    		        	}
                    		            break;
                    		        case PARTITION_SYMBOL:
                    		        	{
                    		        		alt514=2;
                    		        	}
                    		            break;

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

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


                    		            goto rulekey_cache_list_or_partsEx;

                    		        }

                    		    }
                    		    else if ( (((LA514_8 >= ACTION_SYMBOL) && (LA514_8 <= YEAR_SYMBOL))))
                    		    {
                    		        switch ( LA(4) )
                    		        {
                    		        case COMMA_SYMBOL:
                    		        case INDEX_SYMBOL:
                    		        case IN_SYMBOL:
                    		        case KEY_SYMBOL:
                    		        	{
                    		        		alt514=1;
                    		        	}
                    		            break;
                    		        case PARTITION_SYMBOL:
                    		        	{
                    		        		alt514=2;
                    		        	}
                    		            break;

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

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


                    		            goto rulekey_cache_list_or_partsEx;

                    		        }

                    		    }
                    		    else if ( (LA514_8 == PARTITION_SYMBOL))
                    		    {
                    		        switch ( LA(4) )
                    		        {
                    		        case COMMA_SYMBOL:
                    		        case INDEX_SYMBOL:
                    		        case IN_SYMBOL:
                    		        case KEY_SYMBOL:
                    		        	{
                    		        		alt514=1;
                    		        	}
                    		            break;
                    		        case PARTITION_SYMBOL:
                    		        	{
                    		        		alt514=2;
                    		        	}
                    		            break;

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

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


                    		            goto rulekey_cache_list_or_partsEx;

                    		        }

                    		    }
                    		    else if ( (((LA514_8 >= ASCII_SYMBOL) && (LA514_8 <= XA_SYMBOL))))
                    		    {
                    		        switch ( LA(4) )
                    		        {
                    		        case COMMA_SYMBOL:
                    		        case INDEX_SYMBOL:
                    		        case IN_SYMBOL:
                    		        case KEY_SYMBOL:
                    		        	{
                    		        		alt514=1;
                    		        	}
                    		            break;
                    		        case PARTITION_SYMBOL:
                    		        	{
                    		        		alt514=2;
                    		        	}
                    		            break;

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

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


                    		        goto rulekey_cache_list_or_partsEx;

                    		    }
                    		}
                    	}
                        break;
                    case COMMA_SYMBOL:
                    case INDEX_SYMBOL:
                    case IN_SYMBOL:
                    case KEY_SYMBOL:
                    	{
                    		alt514=1;
                    	}
                        break;
                    case PARTITION_SYMBOL:
                    	{
                    		alt514=2;
                    	}
                        break;

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

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


                        goto rulekey_cache_list_or_partsEx;

                    }

                }
                else if ( (LA514_0 == BACK_TICK_QUOTED_ID))
                {
                    switch ( LA(2) )
                    {
                    case DOT_SYMBOL:
                    	{
                    		{
                    		    int LA514_13 = LA(3);
                    		    if ( (LA514_13 == IDENTIFIER))
                    		    {
                    		        switch ( LA(4) )
                    		        {
                    		        case COMMA_SYMBOL:
                    		        case INDEX_SYMBOL:
                    		        case IN_SYMBOL:
                    		        case KEY_SYMBOL:
                    		        	{
                    		        		alt514=1;
                    		        	}
                    		            break;
                    		        case PARTITION_SYMBOL:
                    		        	{
                    		        		alt514=2;
                    		        	}
                    		            break;

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

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


                    		            goto rulekey_cache_list_or_partsEx;

                    		        }

                    		    }
                    		    else if ( (LA514_13 == BACK_TICK_QUOTED_ID))
                    		    {
                    		        switch ( LA(4) )
                    		        {
                    		        case COMMA_SYMBOL:
                    		        case INDEX_SYMBOL:
                    		        case IN_SYMBOL:
                    		        case KEY_SYMBOL:
                    		        	{
                    		        		alt514=1;
                    		        	}
                    		            break;
                    		        case PARTITION_SYMBOL:
                    		        	{
                    		        		alt514=2;
                    		        	}
                    		            break;

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

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


                    		            goto rulekey_cache_list_or_partsEx;

                    		        }

                    		    }
                    		    else if ( (LA514_13 == DOUBLE_QUOTED_TEXT))
                    		    {
                    		        switch ( LA(4) )
                    		        {
                    		        case COMMA_SYMBOL:
                    		        case INDEX_SYMBOL:
                    		        case IN_SYMBOL:
                    		        case KEY_SYMBOL:
                    		        	{
                    		        		alt514=1;
                    		        	}
                    		            break;
                    		        case PARTITION_SYMBOL:
                    		        	{
                    		        		alt514=2;
                    		        	}
                    		            break;

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

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


                    		            goto rulekey_cache_list_or_partsEx;

                    		        }

                    		    }
                    		    else if ( (((LA514_13 >= ACTION_SYMBOL) && (LA514_13 <= YEAR_SYMBOL))))
                    		    {
                    		        switch ( LA(4) )
                    		        {
                    		        case COMMA_SYMBOL:
                    		        case INDEX_SYMBOL:
                    		        case IN_SYMBOL:
                    		        case KEY_SYMBOL:
                    		        	{
                    		        		alt514=1;
                    		        	}
                    		            break;
                    		        case PARTITION_SYMBOL:
                    		        	{
                    		        		alt514=2;
                    		        	}
                    		            break;

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

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


                    		            goto rulekey_cache_list_or_partsEx;

                    		        }

                    		    }
                    		    else if ( (LA514_13 == PARTITION_SYMBOL))
                    		    {
                    		        switch ( LA(4) )
                    		        {
                    		        case COMMA_SYMBOL:
                    		        case INDEX_SYMBOL:
                    		        case IN_SYMBOL:
                    		        case KEY_SYMBOL:
                    		        	{
                    		        		alt514=1;
                    		        	}
                    		            break;
                    		        case PARTITION_SYMBOL:
                    		        	{
                    		        		alt514=2;
                    		        	}
                    		            break;

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

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


                    		            goto rulekey_cache_list_or_partsEx;

                    		        }

                    		    }
                    		    else if ( (((LA514_13 >= ASCII_SYMBOL) && (LA514_13 <= XA_SYMBOL))))
                    		    {
                    		        switch ( LA(4) )
                    		        {
                    		        case COMMA_SYMBOL:
                    		        case INDEX_SYMBOL:
                    		        case IN_SYMBOL:
                    		        case KEY_SYMBOL:
                    		        	{
                    		        		alt514=1;
                    		        	}
                    		            break;
                    		        case PARTITION_SYMBOL:
                    		        	{
                    		        		alt514=2;
                    		        	}
                    		            break;

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

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


                    		        goto rulekey_cache_list_or_partsEx;

                    		    }
                    		}
                    	}
                        break;
                    case COMMA_SYMBOL:
                    case INDEX_SYMBOL:
                    case IN_SYMBOL:
                    case KEY_SYMBOL:
                    	{
                    		alt514=1;
                    	}
                        break;
                    case PARTITION_SYMBOL:
                    	{
                    		alt514=2;
                    	}
                        break;

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

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


                        goto rulekey_cache_list_or_partsEx;

                    }

                }
                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA514_0 == DOUBLE_QUOTED_TEXT))
                {
                    {
                        int LA514_3 = LA(2);
                        if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA514_3 == DOT_SYMBOL))
                        {
                            {
                                int LA514_18 = LA(3);
                                if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA514_18 == IDENTIFIER))
                                {
                                    {
                                        int LA514_56 = LA(4);
                                        if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA514_56 == COMMA_SYMBOL || LA514_56 == INDEX_SYMBOL || LA514_56 == IN_SYMBOL || LA514_56 == KEY_SYMBOL))
                                        {
                                            alt514=1;
                                        }
                                        else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA514_56 == PARTITION_SYMBOL))
                                        {
                                            alt514=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


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


                                            goto rulekey_cache_list_or_partsEx;

                                        }
                                    }
                                }
                                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA514_18 == BACK_TICK_QUOTED_ID))
                                {
                                    {
                                        int LA514_57 = LA(4);
                                        if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA514_57 == COMMA_SYMBOL || LA514_57 == INDEX_SYMBOL || LA514_57 == IN_SYMBOL || LA514_57 == KEY_SYMBOL))
                                        {
                                            alt514=1;
                                        }
                                        else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA514_57 == PARTITION_SYMBOL))
                                        {
                                            alt514=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


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


                                            goto rulekey_cache_list_or_partsEx;

                                        }
                                    }
                                }
                                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA514_18 == DOUBLE_QUOTED_TEXT))
                                {
                                    {
                                        int LA514_58 = LA(4);
                                        if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA514_58 == COMMA_SYMBOL || LA514_58 == INDEX_SYMBOL || LA514_58 == IN_SYMBOL || LA514_58 == KEY_SYMBOL))
                                        {
                                            alt514=1;
                                        }
                                        else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA514_58 == PARTITION_SYMBOL))
                                        {
                                            alt514=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


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


                                            goto rulekey_cache_list_or_partsEx;

                                        }
                                    }
                                }
                                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (((LA514_18 >= ACTION_SYMBOL) && (LA514_18 <= YEAR_SYMBOL))))
                                {
                                    {
                                        int LA514_59 = LA(4);
                                        if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA514_59 == COMMA_SYMBOL || LA514_59 == INDEX_SYMBOL || LA514_59 == IN_SYMBOL || LA514_59 == KEY_SYMBOL))
                                        {
                                            alt514=1;
                                        }
                                        else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA514_59 == PARTITION_SYMBOL))
                                        {
                                            alt514=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


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


                                            goto rulekey_cache_list_or_partsEx;

                                        }
                                    }
                                }
                                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA514_18 == PARTITION_SYMBOL))
                                {
                                    {
                                        int LA514_60 = LA(4);
                                        if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA514_60 == COMMA_SYMBOL || LA514_60 == INDEX_SYMBOL || LA514_60 == IN_SYMBOL || LA514_60 == KEY_SYMBOL))
                                        {
                                            alt514=1;
                                        }
                                        else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA514_60 == PARTITION_SYMBOL))
                                        {
                                            alt514=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


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


                                            goto rulekey_cache_list_or_partsEx;

                                        }
                                    }
                                }
                                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (((LA514_18 >= ASCII_SYMBOL) && (LA514_18 <= XA_SYMBOL))))
                                {
                                    {
                                        int LA514_61 = LA(4);
                                        if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA514_61 == COMMA_SYMBOL || LA514_61 == INDEX_SYMBOL || LA514_61 == IN_SYMBOL || LA514_61 == KEY_SYMBOL))
                                        {
                                            alt514=1;
                                        }
                                        else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA514_61 == PARTITION_SYMBOL))
                                        {
                                            alt514=2;
                                        }
                                        else
                                        {
                                            if (BACKTRACKING>0)
                                            {
                                                FAILEDFLAG = ANTLR3_TRUE;
                                                return retval;
                                            }


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


                                    goto rulekey_cache_list_or_partsEx;

                                }
                            }
                        }
                        else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA514_3 == COMMA_SYMBOL || LA514_3 == INDEX_SYMBOL || LA514_3 == IN_SYMBOL || LA514_3 == KEY_SYMBOL))
                        {
                            alt514=1;
                        }
                        else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA514_3 == PARTITION_SYMBOL))
                        {
                            alt514=2;
                        }
                        else
                        {
                            if (BACKTRACKING>0)
                            {
                                FAILEDFLAG = ANTLR3_TRUE;
                                return retval;
                            }


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


                            goto rulekey_cache_list_or_partsEx;

                        }
                    }
                }
                else if ( (((LA514_0 >= ACTION_SYMBOL) && (LA514_0 <= YEAR_SYMBOL))))
                {
                    switch ( LA(2) )
                    {
                    case DOT_SYMBOL:
                    	{
                    		{
                    		    int LA514_23 = LA(3);
                    		    if ( (LA514_23 == IDENTIFIER))
                    		    {
                    		        switch ( LA(4) )
                    		        {
                    		        case COMMA_SYMBOL:
                    		        case INDEX_SYMBOL:
                    		        case IN_SYMBOL:
                    		        case KEY_SYMBOL:
                    		        	{
                    		        		alt514=1;
                    		        	}
                    		            break;
                    		        case PARTITION_SYMBOL:
                    		        	{
                    		        		alt514=2;
                    		        	}
                    		            break;

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

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


                    		            goto rulekey_cache_list_or_partsEx;

                    		        }

                    		    }
                    		    else if ( (LA514_23 == BACK_TICK_QUOTED_ID))
                    		    {
                    		        switch ( LA(4) )
                    		        {
                    		        case COMMA_SYMBOL:
                    		        case INDEX_SYMBOL:
                    		        case IN_SYMBOL:
                    		        case KEY_SYMBOL:
                    		        	{
                    		        		alt514=1;
                    		        	}
                    		            break;
                    		        case PARTITION_SYMBOL:
                    		        	{
                    		        		alt514=2;
                    		        	}
                    		            break;

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

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


                    		            goto rulekey_cache_list_or_partsEx;

                    		        }

                    		    }
                    		    else if ( (LA514_23 == DOUBLE_QUOTED_TEXT))
                    		    {
                    		        switch ( LA(4) )
                    		        {
                    		        case COMMA_SYMBOL:
                    		        case INDEX_SYMBOL:
                    		        case IN_SYMBOL:
                    		        case KEY_SYMBOL:
                    		        	{
                    		        		alt514=1;
                    		        	}
                    		            break;
                    		        case PARTITION_SYMBOL:
                    		        	{
                    		        		alt514=2;
                    		        	}
                    		            break;

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

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


                    		            goto rulekey_cache_list_or_partsEx;

                    		        }

                    		    }
                    		    else if ( (((LA514_23 >= ACTION_SYMBOL) && (LA514_23 <= YEAR_SYMBOL))))
                    		    {
                    		        switch ( LA(4) )
                    		        {
                    		        case COMMA_SYMBOL:
                    		        case INDEX_SYMBOL:
                    		        case IN_SYMBOL:
                    		        case KEY_SYMBOL:
                    		        	{
                    		        		alt514=1;
                    		        	}
                    		            break;
                    		        case PARTITION_SYMBOL:
                    		        	{
                    		        		alt514=2;
                    		        	}
                    		            break;

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

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


                    		            goto rulekey_cache_list_or_partsEx;

                    		        }

                    		    }
                    		    else if ( (LA514_23 == PARTITION_SYMBOL))
                    		    {
                    		        switch ( LA(4) )
                    		        {
                    		        case COMMA_SYMBOL:
                    		        case INDEX_SYMBOL:
                    		        case IN_SYMBOL:
                    		        case KEY_SYMBOL:
                    		        	{
                    		        		alt514=1;
                    		        	}
                    		            break;
                    		        case PARTITION_SYMBOL:
                    		        	{
                    		        		alt514=2;
                    		        	}
                    		            break;

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

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


                    		            goto rulekey_cache_list_or_partsEx;

                    		        }

                    		    }
                    		    else if ( (((LA514_23 >= ASCII_SYMBOL) && (LA514_23 <= XA_SYMBOL))))
                    		    {
                    		        switch ( LA(4) )
                    		        {
                    		        case COMMA_SYMBOL:
                    		        case INDEX_SYMBOL:
                    		        case IN_SYMBOL:
                    		        case KEY_SYMBOL:
                    		        	{
                    		        		alt514=1;
                    		        	}
                    		            break;
                    		        case PARTITION_SYMBOL:
                    		        	{
                    		        		alt514=2;
                    		        	}
                    		            break;

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

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


                    		        goto rulekey_cache_list_or_partsEx;

                    		    }
                    		}
                    	}
                        break;
                    case COMMA_SYMBOL:
                    case INDEX_SYMBOL:
                    case IN_SYMBOL:
                    case KEY_SYMBOL:
                    	{
                    		alt514=1;
                    	}
                        break;
                    case PARTITION_SYMBOL:
                    	{
                    		alt514=2;
                    	}
                        break;

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

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


                        goto rulekey_cache_list_or_partsEx;

                    }

                }
                else if ( (LA514_0 == PARTITION_SYMBOL))
                {
                    switch ( LA(2) )
                    {
                    case DOT_SYMBOL:
                    	{
                    		{
                    		    int LA514_28 = LA(3);
                    		    if ( (LA514_28 == IDENTIFIER))
                    		    {
                    		        switch ( LA(4) )
                    		        {
                    		        case COMMA_SYMBOL:
                    		        case INDEX_SYMBOL:
                    		        case IN_SYMBOL:
                    		        case KEY_SYMBOL:
                    		        	{
                    		        		alt514=1;
                    		        	}
                    		            break;
                    		        case PARTITION_SYMBOL:
                    		        	{
                    		        		alt514=2;
                    		        	}
                    		            break;

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

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


                    		            goto rulekey_cache_list_or_partsEx;

                    		        }

                    		    }
                    		    else if ( (LA514_28 == BACK_TICK_QUOTED_ID))
                    		    {
                    		        switch ( LA(4) )
                    		        {
                    		        case COMMA_SYMBOL:
                    		        case INDEX_SYMBOL:
                    		        case IN_SYMBOL:
                    		        case KEY_SYMBOL:
                    		        	{
                    		        		alt514=1;
                    		        	}
                    		            break;
                    		        case PARTITION_SYMBOL:
                    		        	{
                    		        		alt514=2;
                    		        	}
                    		            break;

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

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


                    		            goto rulekey_cache_list_or_partsEx;

                    		        }

                    		    }
                    		    else if ( (LA514_28 == DOUBLE_QUOTED_TEXT))
                    		    {
                    		        switch ( LA(4) )
                    		        {
                    		        case COMMA_SYMBOL:
                    		        case INDEX_SYMBOL:
                    		        case IN_SYMBOL:
                    		        case KEY_SYMBOL:
                    		        	{
                    		        		alt514=1;
                    		        	}
                    		            break;
                    		        case PARTITION_SYMBOL:
                    		        	{
                    		        		alt514=2;
                    		        	}
                    		            break;

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

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


                    		            goto rulekey_cache_list_or_partsEx;

                    		        }

                    		    }
                    		    else if ( (((LA514_28 >= ACTION_SYMBOL) && (LA514_28 <= YEAR_SYMBOL))))
                    		    {
                    		        switch ( LA(4) )
                    		        {
                    		        case COMMA_SYMBOL:
                    		        case INDEX_SYMBOL:
                    		        case IN_SYMBOL:
                    		        case KEY_SYMBOL:
                    		        	{
                    		        		alt514=1;
                    		        	}
                    		            break;
                    		        case PARTITION_SYMBOL:
                    		        	{
                    		        		alt514=2;
                    		        	}
                    		            break;

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

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


                    		            goto rulekey_cache_list_or_partsEx;

                    		        }

                    		    }
                    		    else if ( (LA514_28 == PARTITION_SYMBOL))
                    		    {
                    		        switch ( LA(4) )
                    		        {
                    		        case COMMA_SYMBOL:
                    		        case INDEX_SYMBOL:
                    		        case IN_SYMBOL:
                    		        case KEY_SYMBOL:
                    		        	{
                    		        		alt514=1;
                    		        	}
                    		            break;
                    		        case PARTITION_SYMBOL:
                    		        	{
                    		        		alt514=2;
                    		        	}
                    		            break;

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

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


                    		            goto rulekey_cache_list_or_partsEx;

                    		        }

                    		    }
                    		    else if ( (((LA514_28 >= ASCII_SYMBOL) && (LA514_28 <= XA_SYMBOL))))
                    		    {
                    		        switch ( LA(4) )
                    		        {
                    		        case COMMA_SYMBOL:
                    		        case INDEX_SYMBOL:
                    		        case IN_SYMBOL:
                    		        case KEY_SYMBOL:
                    		        	{
                    		        		alt514=1;
                    		        	}
                    		            break;
                    		        case PARTITION_SYMBOL:
                    		        	{
                    		        		alt514=2;
                    		        	}
                    		            break;

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

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


                    		        goto rulekey_cache_list_or_partsEx;

                    		    }
                    		}
                    	}
                        break;
                    case COMMA_SYMBOL:
                    case INDEX_SYMBOL:
                    case IN_SYMBOL:
                    case KEY_SYMBOL:
                    	{
                    		alt514=1;
                    	}
                        break;
                    case PARTITION_SYMBOL:
                    	{
                    		alt514=2;
                    	}
                        break;

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

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


                        goto rulekey_cache_list_or_partsEx;

                    }

                }
                else if ( (((LA514_0 >= ASCII_SYMBOL) && (LA514_0 <= XA_SYMBOL))))
                {
                    switch ( LA(2) )
                    {
                    case DOT_SYMBOL:
                    	{
                    		{
                    		    int LA514_33 = LA(3);
                    		    if ( (LA514_33 == IDENTIFIER))
                    		    {
                    		        switch ( LA(4) )
                    		        {
                    		        case COMMA_SYMBOL:
                    		        case INDEX_SYMBOL:
                    		        case IN_SYMBOL:
                    		        case KEY_SYMBOL:
                    		        	{
                    		        		alt514=1;
                    		        	}
                    		            break;
                    		        case PARTITION_SYMBOL:
                    		        	{
                    		        		alt514=2;
                    		        	}
                    		            break;

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

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


                    		            goto rulekey_cache_list_or_partsEx;

                    		        }

                    		    }
                    		    else if ( (LA514_33 == BACK_TICK_QUOTED_ID))
                    		    {
                    		        switch ( LA(4) )
                    		        {
                    		        case COMMA_SYMBOL:
                    		        case INDEX_SYMBOL:
                    		        case IN_SYMBOL:
                    		        case KEY_SYMBOL:
                    		        	{
                    		        		alt514=1;
                    		        	}
                    		            break;
                    		        case PARTITION_SYMBOL:
                    		        	{
                    		        		alt514=2;
                    		        	}
                    		            break;

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

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


                    		            goto rulekey_cache_list_or_partsEx;

                    		        }

                    		    }
                    		    else if ( (LA514_33 == DOUBLE_QUOTED_TEXT))
                    		    {
                    		        switch ( LA(4) )
                    		        {
                    		        case COMMA_SYMBOL:
                    		        case INDEX_SYMBOL:
                    		        case IN_SYMBOL:
                    		        case KEY_SYMBOL:
                    		        	{
                    		        		alt514=1;
                    		        	}
                    		            break;
                    		        case PARTITION_SYMBOL:
                    		        	{
                    		        		alt514=2;
                    		        	}
                    		            break;

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

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


                    		            goto rulekey_cache_list_or_partsEx;

                    		        }

                    		    }
                    		    else if ( (((LA514_33 >= ACTION_SYMBOL) && (LA514_33 <= YEAR_SYMBOL))))
                    		    {
                    		        switch ( LA(4) )
                    		        {
                    		        case COMMA_SYMBOL:
                    		        case INDEX_SYMBOL:
                    		        case IN_SYMBOL:
                    		        case KEY_SYMBOL:
                    		        	{
                    		        		alt514=1;
                    		        	}
                    		            break;
                    		        case PARTITION_SYMBOL:
                    		        	{
                    		        		alt514=2;
                    		        	}
                    		            break;

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

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


                    		            goto rulekey_cache_list_or_partsEx;

                    		        }

                    		    }
                    		    else if ( (LA514_33 == PARTITION_SYMBOL))
                    		    {
                    		        switch ( LA(4) )
                    		        {
                    		        case COMMA_SYMBOL:
                    		        case INDEX_SYMBOL:
                    		        case IN_SYMBOL:
                    		        case KEY_SYMBOL:
                    		        	{
                    		        		alt514=1;
                    		        	}
                    		            break;
                    		        case PARTITION_SYMBOL:
                    		        	{
                    		        		alt514=2;
                    		        	}
                    		            break;

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

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


                    		            goto rulekey_cache_list_or_partsEx;

                    		        }

                    		    }
                    		    else if ( (((LA514_33 >= ASCII_SYMBOL) && (LA514_33 <= XA_SYMBOL))))
                    		    {
                    		        switch ( LA(4) )
                    		        {
                    		        case COMMA_SYMBOL:
                    		        case INDEX_SYMBOL:
                    		        case IN_SYMBOL:
                    		        case KEY_SYMBOL:
                    		        	{
                    		        		alt514=1;
                    		        	}
                    		            break;
                    		        case PARTITION_SYMBOL:
                    		        	{
                    		        		alt514=2;
                    		        	}
                    		            break;

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

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


                    		        goto rulekey_cache_list_or_partsEx;

                    		    }
                    		}
                    	}
                        break;
                    case COMMA_SYMBOL:
                    case INDEX_SYMBOL:
                    case IN_SYMBOL:
                    case KEY_SYMBOL:
                    	{
                    		alt514=1;
                    	}
                        break;
                    case PARTITION_SYMBOL:
                    	{
                    		alt514=2;
                    	}
                        break;

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

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


                        goto rulekey_cache_list_or_partsEx;

                    }

                }
                else if ( (LA514_0 == DOT_SYMBOL))
                {
                    {
                        int LA514_7 = LA(2);
                        if ( (LA514_7 == IDENTIFIER))
                        {
                            switch ( LA(3) )
                            {
                            case COMMA_SYMBOL:
                            case INDEX_SYMBOL:
                            case IN_SYMBOL:
                            case KEY_SYMBOL:
                            	{
                            		alt514=1;
                            	}
                                break;
                            case PARTITION_SYMBOL:
                            	{
                            		alt514=2;
                            	}
                                break;

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

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


                                goto rulekey_cache_list_or_partsEx;

                            }

                        }
                        else if ( (LA514_7 == BACK_TICK_QUOTED_ID))
                        {
                            switch ( LA(3) )
                            {
                            case COMMA_SYMBOL:
                            case INDEX_SYMBOL:
                            case IN_SYMBOL:
                            case KEY_SYMBOL:
                            	{
                            		alt514=1;
                            	}
                                break;
                            case PARTITION_SYMBOL:
                            	{
                            		alt514=2;
                            	}
                                break;

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

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


                                goto rulekey_cache_list_or_partsEx;

                            }

                        }
                        else if ( (LA514_7 == DOUBLE_QUOTED_TEXT))
                        {
                            switch ( LA(3) )
                            {
                            case COMMA_SYMBOL:
                            case INDEX_SYMBOL:
                            case IN_SYMBOL:
                            case KEY_SYMBOL:
                            	{
                            		alt514=1;
                            	}
                                break;
                            case PARTITION_SYMBOL:
                            	{
                            		alt514=2;
                            	}
                                break;

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

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


                                goto rulekey_cache_list_or_partsEx;

                            }

                        }
                        else if ( (((LA514_7 >= ACTION_SYMBOL) && (LA514_7 <= YEAR_SYMBOL))))
                        {
                            switch ( LA(3) )
                            {
                            case COMMA_SYMBOL:
                            case INDEX_SYMBOL:
                            case IN_SYMBOL:
                            case KEY_SYMBOL:
                            	{
                            		alt514=1;
                            	}
                                break;
                            case PARTITION_SYMBOL:
                            	{
                            		alt514=2;
                            	}
                                break;

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

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


                                goto rulekey_cache_list_or_partsEx;

                            }

                        }
                        else if ( (LA514_7 == PARTITION_SYMBOL))
                        {
                            switch ( LA(3) )
                            {
                            case COMMA_SYMBOL:
                            case INDEX_SYMBOL:
                            case IN_SYMBOL:
                            case KEY_SYMBOL:
                            	{
                            		alt514=1;
                            	}
                                break;
                            case PARTITION_SYMBOL:
                            	{
                            		alt514=2;
                            	}
                                break;

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

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


                                goto rulekey_cache_list_or_partsEx;

                            }

                        }
                        else if ( (((LA514_7 >= ASCII_SYMBOL) && (LA514_7 <= XA_SYMBOL))))
                        {
                            switch ( LA(3) )
                            {
                            case COMMA_SYMBOL:
                            case INDEX_SYMBOL:
                            case IN_SYMBOL:
                            case KEY_SYMBOL:
                            	{
                            		alt514=1;
                            	}
                                break;
                            case PARTITION_SYMBOL:
                            	{
                            		alt514=2;
                            	}
                                break;

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

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


                    goto rulekey_cache_list_or_partsEx;

                }
            }
            switch (alt514)
            {
        	case 1:
        	    // MySQL.g:1536:2: key_cache_list
        	    {
        	        FOLLOWPUSH(FOLLOW_key_cache_list_in_key_cache_list_or_parts8568);
        	        key_cache_list1653=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_list1653.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;
        	        	// 1536:17: -> ^( KEY_CACHE_LIST key_cache_list )
        	        	{
        	        	    // MySQL.g:1536: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:1537:4: assign_to_keycache_partition
        	    {
        	        FOLLOWPUSH(FOLLOW_assign_to_keycache_partition_in_key_cache_list_or_parts8581);
        	        assign_to_keycache_partition1654=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_partition1654.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;
        	        	// 1537:33: -> ^( KEY_CACHE_PARTITION assign_to_keycache_partition )
        	        	{
        	        	    // MySQL.g:1537: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:1540: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_SYMBOL1656;
    MySQLParser_assign_to_keycache_return assign_to_keycache1655;
    #undef	RETURN_TYPE_assign_to_keycache1655
    #define	RETURN_TYPE_assign_to_keycache1655 MySQLParser_assign_to_keycache_return

    MySQLParser_assign_to_keycache_return assign_to_keycache1657;
    #undef	RETURN_TYPE_assign_to_keycache1657
    #define	RETURN_TYPE_assign_to_keycache1657 MySQLParser_assign_to_keycache_return

    pANTLR3_BASE_TREE COMMA_SYMBOL1656_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    COMMA_SYMBOL1656       = NULL;
    assign_to_keycache1655.tree = NULL;

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


    COMMA_SYMBOL1656_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1540:15: ( assign_to_keycache ( COMMA_SYMBOL assign_to_keycache )* )
        // MySQL.g:1541: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_list8598);
            assign_to_keycache1655=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_keycache1655.tree);

            // MySQL.g:1541:21: ( COMMA_SYMBOL assign_to_keycache )*

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

                }

                switch (alt515)
                {
            	case 1:
            	    // MySQL.g:1541:22: COMMA_SYMBOL assign_to_keycache
            	    {
            	        COMMA_SYMBOL1656 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_key_cache_list8601);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulekey_cache_listEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

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

            	        FOLLOWPUSH(FOLLOW_assign_to_keycache_in_key_cache_list8603);
            	        assign_to_keycache1657=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_keycache1657.tree);

            	    }
            	    break;

            	default:
            	    goto loop515;	/* break out of the loop */
            	    break;
                }
            }
            loop515: ; /* 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:1544: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_identifier1658;
    #undef	RETURN_TYPE_table_identifier1658
    #define	RETURN_TYPE_table_identifier1658 MySQLParser_table_identifier_return

    MySQLParser_cache_keys_spec_return cache_keys_spec1659;
    #undef	RETURN_TYPE_cache_keys_spec1659
    #define	RETURN_TYPE_cache_keys_spec1659 MySQLParser_cache_keys_spec_return


    /* Initialize rule variables
     */

    root_0 = NULL;

    table_identifier1658.tree = NULL;

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




    retval.tree  = NULL;

    {
        // MySQL.g:1544:19: ( table_identifier ( cache_keys_spec )? )
        // MySQL.g:1545:2: table_identifier ( cache_keys_spec )?
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            FOLLOWPUSH(FOLLOW_table_identifier_in_assign_to_keycache8614);
            table_identifier1658=table_identifier(ctx);

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

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

            // MySQL.g:1545:19: ( cache_keys_spec )?
            {
                int alt516=2;
                switch ( LA(1) )
                {
                    case INDEX_SYMBOL:
                    case KEY_SYMBOL:
                    	{
                    		alt516=1;
                    	}
                        break;
                }

                switch (alt516)
                {
            	case 1:
            	    // MySQL.g:1545:19: cache_keys_spec
            	    {
            	        FOLLOWPUSH(FOLLOW_cache_keys_spec_in_assign_to_keycache8616);
            	        cache_keys_spec1659=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_spec1659.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:1548: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_SYMBOL1661;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL1662;
    pANTLR3_COMMON_TOKEN    ALL_SYMBOL1663;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL1665;
    MySQLParser_table_identifier_return table_identifier1660;
    #undef	RETURN_TYPE_table_identifier1660
    #define	RETURN_TYPE_table_identifier1660 MySQLParser_table_identifier_return

    MySQLParser_identifier_list_return identifier_list1664;
    #undef	RETURN_TYPE_identifier_list1664
    #define	RETURN_TYPE_identifier_list1664 MySQLParser_identifier_list_return

    MySQLParser_cache_keys_spec_return cache_keys_spec1666;
    #undef	RETURN_TYPE_cache_keys_spec1666
    #define	RETURN_TYPE_cache_keys_spec1666 MySQLParser_cache_keys_spec_return

    pANTLR3_BASE_TREE PARTITION_SYMBOL1661_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL1662_tree;
    pANTLR3_BASE_TREE ALL_SYMBOL1663_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL1665_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    PARTITION_SYMBOL1661       = NULL;
    OPEN_PAR_SYMBOL1662       = NULL;
    ALL_SYMBOL1663       = NULL;
    CLOSE_PAR_SYMBOL1665       = NULL;
    table_identifier1660.tree = NULL;

    identifier_list1664.tree = NULL;

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


    PARTITION_SYMBOL1661_tree   = NULL;
    OPEN_PAR_SYMBOL1662_tree   = NULL;
    ALL_SYMBOL1663_tree   = NULL;
    CLOSE_PAR_SYMBOL1665_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1548:29: ( table_identifier PARTITION_SYMBOL OPEN_PAR_SYMBOL ( ALL_SYMBOL | identifier_list ) CLOSE_PAR_SYMBOL ( cache_keys_spec )? )
        // MySQL.g:1549: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_partition8626);
            table_identifier1660=table_identifier(ctx);

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

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

            PARTITION_SYMBOL1661 = (pANTLR3_COMMON_TOKEN) MATCHT(PARTITION_SYMBOL, &FOLLOW_PARTITION_SYMBOL_in_assign_to_keycache_partition8628);
            if  (HASEXCEPTION())
            {
                goto ruleassign_to_keycache_partitionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

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

            OPEN_PAR_SYMBOL1662 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_assign_to_keycache_partition8630);
            if  (HASEXCEPTION())
            {
                goto ruleassign_to_keycache_partitionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

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

            // MySQL.g:1549:52: ( ALL_SYMBOL | identifier_list )
            {
                int alt517=2;
                {
                    int LA517_0 = LA(1);
                    if ( (LA517_0 == ALL_SYMBOL))
                    {
                        alt517=1;
                    }
                    else if ( (LA517_0 == BACK_TICK_QUOTED_ID || LA517_0 == IDENTIFIER))
                    {
                        alt517=2;
                    }
                    else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA517_0 == DOUBLE_QUOTED_TEXT))
                    {
                        alt517=2;
                    }
                    else if ( (((LA517_0 >= ACTION_SYMBOL) && (LA517_0 <= PARTITION_SYMBOL))))
                    {
                        alt517=2;
                    }
                    else
                    {
                        if (BACKTRACKING>0)
                        {
                            FAILEDFLAG = ANTLR3_TRUE;
                            return retval;
                        }


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


                        goto ruleassign_to_keycache_partitionEx;

                    }
                }
                switch (alt517)
                {
            	case 1:
            	    // MySQL.g:1549:53: ALL_SYMBOL
            	    {
            	        ALL_SYMBOL1663 = (pANTLR3_COMMON_TOKEN) MATCHT(ALL_SYMBOL, &FOLLOW_ALL_SYMBOL_in_assign_to_keycache_partition8633);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleassign_to_keycache_partitionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

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

            	    }
            	    break;
            	case 2:
            	    // MySQL.g:1549:66: identifier_list
            	    {
            	        FOLLOWPUSH(FOLLOW_identifier_list_in_assign_to_keycache_partition8637);
            	        identifier_list1664=identifier_list(ctx);

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

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

            	    }
            	    break;

                }
            }

            CLOSE_PAR_SYMBOL1665 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_assign_to_keycache_partition8640);
            if  (HASEXCEPTION())
            {
                goto ruleassign_to_keycache_partitionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

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

            // MySQL.g:1549:100: ( cache_keys_spec )?
            {
                int alt518=2;
                switch ( LA(1) )
                {
                    case INDEX_SYMBOL:
                    case KEY_SYMBOL:
                    	{
                    		alt518=1;
                    	}
                        break;
                }

                switch (alt518)
                {
            	case 1:
            	    // MySQL.g:1549:100: cache_keys_spec
            	    {
            	        FOLLOWPUSH(FOLLOW_cache_keys_spec_in_assign_to_keycache_partition8642);
            	        cache_keys_spec1666=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_spec1666.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:1552: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    set1667;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL1668;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL1670;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL1672;
    MySQLParser_key_usage_element_return key_usage_element1669;
    #undef	RETURN_TYPE_key_usage_element1669
    #define	RETURN_TYPE_key_usage_element1669 MySQLParser_key_usage_element_return

    MySQLParser_key_usage_element_return key_usage_element1671;
    #undef	RETURN_TYPE_key_usage_element1671
    #define	RETURN_TYPE_key_usage_element1671 MySQLParser_key_usage_element_return

    pANTLR3_BASE_TREE set1667_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL1668_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL1670_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL1672_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    set1667       = NULL;
    OPEN_PAR_SYMBOL1668       = NULL;
    COMMA_SYMBOL1670       = NULL;
    CLOSE_PAR_SYMBOL1672       = NULL;
    key_usage_element1669.tree = NULL;

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


    set1667_tree   = NULL;
    OPEN_PAR_SYMBOL1668_tree   = NULL;
    COMMA_SYMBOL1670_tree   = NULL;
    CLOSE_PAR_SYMBOL1672_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1552:16: ( ( KEY_SYMBOL | INDEX_SYMBOL ) OPEN_PAR_SYMBOL ( key_usage_element ( COMMA_SYMBOL key_usage_element )* )? CLOSE_PAR_SYMBOL )
        // MySQL.g:1553: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));


            set1667=(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, set1667))
                );
                PERRORRECOVERY=ANTLR3_FALSE;
                FAILEDFLAG=ANTLR3_FALSE;

            }
            else
            {
                if (BACKTRACKING>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_SYMBOL1668 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_cache_keys_spec8660);
            if  (HASEXCEPTION())
            {
                goto rulecache_keys_specEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

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

            // MySQL.g:1553:46: ( key_usage_element ( COMMA_SYMBOL key_usage_element )* )?
            {
                int alt520=2;
                {
                    int LA520_0 = LA(1);
                    if ( (LA520_0 == BACK_TICK_QUOTED_ID || LA520_0 == IDENTIFIER))
                    {
                        alt520=1;
                    }
                    else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA520_0 == DOUBLE_QUOTED_TEXT))
                    {
                        alt520=1;
                    }
                    else if ( (((LA520_0 >= ACTION_SYMBOL) && (LA520_0 <= PARTITION_SYMBOL)) || LA520_0 == PRIMARY_SYMBOL))
                    {
                        alt520=1;
                    }
                }
                switch (alt520)
                {
            	case 1:
            	    // MySQL.g:1553:47: key_usage_element ( COMMA_SYMBOL key_usage_element )*
            	    {
            	        FOLLOWPUSH(FOLLOW_key_usage_element_in_cache_keys_spec8663);
            	        key_usage_element1669=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_element1669.tree);

            	        // MySQL.g:1553:65: ( COMMA_SYMBOL key_usage_element )*

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

            	            }

            	            switch (alt519)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1553:66: COMMA_SYMBOL key_usage_element
            	        	    {
            	        	        COMMA_SYMBOL1670 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_cache_keys_spec8666);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulecache_keys_specEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

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

            	        	        FOLLOWPUSH(FOLLOW_key_usage_element_in_cache_keys_spec8668);
            	        	        key_usage_element1671=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_element1671.tree);

            	        	    }
            	        	    break;

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


            	    }
            	    break;

                }
            }

            CLOSE_PAR_SYMBOL1672 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_cache_keys_spec8674);
            if  (HASEXCEPTION())
            {
                goto rulecache_keys_specEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            CLOSE_PAR_SYMBOL1672_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL1672));
            ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL1672_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:1556: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_SYMBOL1674;
    MySQLParser_identifier_return identifier1673;
    #undef	RETURN_TYPE_identifier1673
    #define	RETURN_TYPE_identifier1673 MySQLParser_identifier_return

    pANTLR3_BASE_TREE PRIMARY_SYMBOL1674_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

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


    PRIMARY_SYMBOL1674_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:1556:18: ( identifier | PRIMARY_SYMBOL )

            ANTLR3_UINT32 alt521;

            alt521=2;

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


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


                    goto rulekey_usage_elementEx;

                }
            }
            switch (alt521)
            {
        	case 1:
        	    // MySQL.g:1557:2: identifier
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_identifier_in_key_usage_element8683);
        	        identifier1673=identifier(ctx);

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

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

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


        	        PRIMARY_SYMBOL1674 = (pANTLR3_COMMON_TOKEN) MATCHT(PRIMARY_SYMBOL, &FOLLOW_PRIMARY_SYMBOL_in_key_usage_element8688);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulekey_usage_elementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        PRIMARY_SYMBOL1674_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, PRIMARY_SYMBOL1674));
        	        ADAPTOR->addChild(ADAPTOR, root_0, PRIMARY_SYMBOL1674_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:1561: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_SYMBOL1675;
    pANTLR3_COMMON_TOKEN    HOSTS_SYMBOL1676;
    pANTLR3_COMMON_TOKEN    LOGS_SYMBOL1678;
    pANTLR3_COMMON_TOKEN    PRIVILEGES_SYMBOL1679;
    pANTLR3_COMMON_TOKEN    QUERY_SYMBOL1680;
    pANTLR3_COMMON_TOKEN    CACHE_SYMBOL1681;
    pANTLR3_COMMON_TOKEN    STATUS_SYMBOL1682;
    pANTLR3_COMMON_TOKEN    USER_RESOURCES_SYMBOL1684;
    MySQLParser_log_type_return log_type1677;
    #undef	RETURN_TYPE_log_type1677
    #define	RETURN_TYPE_log_type1677 MySQLParser_log_type_return

    MySQLParser_flush_tables_return flush_tables1683;
    #undef	RETURN_TYPE_flush_tables1683
    #define	RETURN_TYPE_flush_tables1683 MySQLParser_flush_tables_return

    pANTLR3_BASE_TREE DES_KEY_FILE_SYMBOL1675_tree;
    pANTLR3_BASE_TREE HOSTS_SYMBOL1676_tree;
    pANTLR3_BASE_TREE LOGS_SYMBOL1678_tree;
    pANTLR3_BASE_TREE PRIVILEGES_SYMBOL1679_tree;
    pANTLR3_BASE_TREE QUERY_SYMBOL1680_tree;
    pANTLR3_BASE_TREE CACHE_SYMBOL1681_tree;
    pANTLR3_BASE_TREE STATUS_SYMBOL1682_tree;
    pANTLR3_BASE_TREE USER_RESOURCES_SYMBOL1684_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    DES_KEY_FILE_SYMBOL1675       = NULL;
    HOSTS_SYMBOL1676       = NULL;
    LOGS_SYMBOL1678       = NULL;
    PRIVILEGES_SYMBOL1679       = NULL;
    QUERY_SYMBOL1680       = NULL;
    CACHE_SYMBOL1681       = NULL;
    STATUS_SYMBOL1682       = NULL;
    USER_RESOURCES_SYMBOL1684       = NULL;
    log_type1677.tree = NULL;

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


    DES_KEY_FILE_SYMBOL1675_tree   = NULL;
    HOSTS_SYMBOL1676_tree   = NULL;
    LOGS_SYMBOL1678_tree   = NULL;
    PRIVILEGES_SYMBOL1679_tree   = NULL;
    QUERY_SYMBOL1680_tree   = NULL;
    CACHE_SYMBOL1681_tree   = NULL;
    STATUS_SYMBOL1682_tree   = NULL;
    USER_RESOURCES_SYMBOL1684_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:1561: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 alt523;

            alt523=8;

            switch ( LA(1) )
            {
            case DES_KEY_FILE_SYMBOL:
            	{
            		alt523=1;
            	}
                break;
            case HOSTS_SYMBOL:
            	{
            		alt523=2;
            	}
                break;
            case ENGINE_SYMBOL:
            case ERROR_SYMBOL:
            case GENERAL_SYMBOL:
            case LOGS_SYMBOL:
            case RELAY_SYMBOL:
            case SLOW_SYMBOL:
            case BINARY_SYMBOL:
            	{
            		alt523=3;
            	}
                break;
            case PRIVILEGES_SYMBOL:
            	{
            		alt523=4;
            	}
                break;
            case QUERY_SYMBOL:
            	{
            		alt523=5;
            	}
                break;
            case STATUS_SYMBOL:
            	{
            		alt523=6;
            	}
                break;
            case TABLES_SYMBOL:
            case TABLE_SYMBOL:
            	{
            		alt523=7;
            	}
                break;
            case USER_RESOURCES_SYMBOL:
            	{
            		alt523=8;
            	}
                break;

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

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


                goto ruleflush_optionEx;

            }

            switch (alt523)
            {
        	case 1:
        	    // MySQL.g:1562:2: DES_KEY_FILE_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        DES_KEY_FILE_SYMBOL1675 = (pANTLR3_COMMON_TOKEN) MATCHT(DES_KEY_FILE_SYMBOL, &FOLLOW_DES_KEY_FILE_SYMBOL_in_flush_option8697);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleflush_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

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


        	        HOSTS_SYMBOL1676 = (pANTLR3_COMMON_TOKEN) MATCHT(HOSTS_SYMBOL, &FOLLOW_HOSTS_SYMBOL_in_flush_option8702);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleflush_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

        	    }
        	    break;
        	case 3:
        	    // MySQL.g:1564:4: ( log_type )? LOGS_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        // MySQL.g:1564:4: ( log_type )?
        	        {
        	            int alt522=2;
        	            switch ( LA(1) )
        	            {
        	                case ENGINE_SYMBOL:
        	                case ERROR_SYMBOL:
        	                case GENERAL_SYMBOL:
        	                case RELAY_SYMBOL:
        	                case SLOW_SYMBOL:
        	                case BINARY_SYMBOL:
        	                	{
        	                		alt522=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt522)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1564:4: log_type
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_log_type_in_flush_option8707);
        	        	        log_type1677=log_type(ctx);

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

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

        	        	    }
        	        	    break;

        	            }
        	        }

        	        LOGS_SYMBOL1678 = (pANTLR3_COMMON_TOKEN) MATCHT(LOGS_SYMBOL, &FOLLOW_LOGS_SYMBOL_in_flush_option8710);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleflush_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

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


        	        PRIVILEGES_SYMBOL1679 = (pANTLR3_COMMON_TOKEN) MATCHT(PRIVILEGES_SYMBOL, &FOLLOW_PRIVILEGES_SYMBOL_in_flush_option8715);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleflush_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

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


        	        QUERY_SYMBOL1680 = (pANTLR3_COMMON_TOKEN) MATCHT(QUERY_SYMBOL, &FOLLOW_QUERY_SYMBOL_in_flush_option8720);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleflush_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

        	        CACHE_SYMBOL1681 = (pANTLR3_COMMON_TOKEN) MATCHT(CACHE_SYMBOL, &FOLLOW_CACHE_SYMBOL_in_flush_option8722);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleflush_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

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


        	        STATUS_SYMBOL1682 = (pANTLR3_COMMON_TOKEN) MATCHT(STATUS_SYMBOL, &FOLLOW_STATUS_SYMBOL_in_flush_option8727);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleflush_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

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


        	        FOLLOWPUSH(FOLLOW_flush_tables_in_flush_option8732);
        	        flush_tables1683=flush_tables(ctx);

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

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

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


        	        USER_RESOURCES_SYMBOL1684 = (pANTLR3_COMMON_TOKEN) MATCHT(USER_RESOURCES_SYMBOL, &FOLLOW_USER_RESOURCES_SYMBOL_in_flush_option8737);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleflush_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        USER_RESOURCES_SYMBOL1684_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, USER_RESOURCES_SYMBOL1684));
        	        ADAPTOR->addChild(ADAPTOR, root_0, USER_RESOURCES_SYMBOL1684_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:1572: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    set1685;

    pANTLR3_BASE_TREE set1685_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    set1685       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    set1685_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1572:9: ( BINARY_SYMBOL | ENGINE_SYMBOL | ERROR_SYMBOL | GENERAL_SYMBOL | RELAY_SYMBOL | SLOW_SYMBOL )
        // MySQL.g:
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            set1685=(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, set1685))
                );
                PERRORRECOVERY=ANTLR3_FALSE;
                FAILEDFLAG=ANTLR3_FALSE;

            }
            else
            {
                if (BACKTRACKING>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:1581: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    set1686;
    pANTLR3_COMMON_TOKEN    WITH_SYMBOL1687;
    pANTLR3_COMMON_TOKEN    READ_SYMBOL1688;
    pANTLR3_COMMON_TOKEN    LOCK_SYMBOL1689;
    MySQLParser_identifier_list_return identifier_list1690;
    #undef	RETURN_TYPE_identifier_list1690
    #define	RETURN_TYPE_identifier_list1690 MySQLParser_identifier_list_return

    MySQLParser_flush_tables_options_return flush_tables_options1691;
    #undef	RETURN_TYPE_flush_tables_options1691
    #define	RETURN_TYPE_flush_tables_options1691 MySQLParser_flush_tables_options_return

    pANTLR3_BASE_TREE set1686_tree;
    pANTLR3_BASE_TREE WITH_SYMBOL1687_tree;
    pANTLR3_BASE_TREE READ_SYMBOL1688_tree;
    pANTLR3_BASE_TREE LOCK_SYMBOL1689_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    set1686       = NULL;
    WITH_SYMBOL1687       = NULL;
    READ_SYMBOL1688       = NULL;
    LOCK_SYMBOL1689       = NULL;
    identifier_list1690.tree = NULL;

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


    set1686_tree   = NULL;
    WITH_SYMBOL1687_tree   = NULL;
    READ_SYMBOL1688_tree   = NULL;
    LOCK_SYMBOL1689_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1581:13: ( ( TABLES_SYMBOL | TABLE_SYMBOL ) ( WITH_SYMBOL READ_SYMBOL LOCK_SYMBOL | identifier_list ( flush_tables_options )? )? )
        // MySQL.g:1582:2: ( TABLES_SYMBOL | TABLE_SYMBOL ) ( WITH_SYMBOL READ_SYMBOL LOCK_SYMBOL | identifier_list ( flush_tables_options )? )?
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            set1686=(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, set1686))
                );
                PERRORRECOVERY=ANTLR3_FALSE;
                FAILEDFLAG=ANTLR3_FALSE;

            }
            else
            {
                if (BACKTRACKING>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:1583:2: ( WITH_SYMBOL READ_SYMBOL LOCK_SYMBOL | identifier_list ( flush_tables_options )? )?
            {
                int alt525=3;
                {
                    int LA525_0 = LA(1);
                    if ( (LA525_0 == WITH_SYMBOL))
                    {
                        alt525=1;
                    }
                    else if ( (LA525_0 == BACK_TICK_QUOTED_ID || LA525_0 == IDENTIFIER))
                    {
                        alt525=2;
                    }
                    else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA525_0 == DOUBLE_QUOTED_TEXT))
                    {
                        alt525=2;
                    }
                    else if ( (((LA525_0 >= ACTION_SYMBOL) && (LA525_0 <= PARTITION_SYMBOL))))
                    {
                        alt525=2;
                    }
                }
                switch (alt525)
                {
            	case 1:
            	    // MySQL.g:1584:3: WITH_SYMBOL READ_SYMBOL LOCK_SYMBOL
            	    {
            	        WITH_SYMBOL1687 = (pANTLR3_COMMON_TOKEN) MATCHT(WITH_SYMBOL, &FOLLOW_WITH_SYMBOL_in_flush_tables8793);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleflush_tablesEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

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

            	        READ_SYMBOL1688 = (pANTLR3_COMMON_TOKEN) MATCHT(READ_SYMBOL, &FOLLOW_READ_SYMBOL_in_flush_tables8795);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleflush_tablesEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

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

            	        LOCK_SYMBOL1689 = (pANTLR3_COMMON_TOKEN) MATCHT(LOCK_SYMBOL, &FOLLOW_LOCK_SYMBOL_in_flush_tables8797);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleflush_tablesEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

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

            	    }
            	    break;
            	case 2:
            	    // MySQL.g:1585:5: identifier_list ( flush_tables_options )?
            	    {
            	        FOLLOWPUSH(FOLLOW_identifier_list_in_flush_tables8803);
            	        identifier_list1690=identifier_list(ctx);

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

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

            	        // MySQL.g:1585:21: ( flush_tables_options )?
            	        {
            	            int alt524=2;
            	            {
            	                int LA524_0 = LA(1);
            	                if ( ((SERVER_VERSION >= 50606)) && (LA524_0 == FOR_SYMBOL))
            	                {
            	                    alt524=1;
            	                }
            	                else if ( (LA524_0 == WITH_SYMBOL))
            	                {
            	                    alt524=1;
            	                }
            	            }
            	            switch (alt524)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1585:21: flush_tables_options
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_flush_tables_options_in_flush_tables8805);
            	        	        flush_tables_options1691=flush_tables_options(ctx);

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

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, flush_tables_options1691.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:1589: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_SYMBOL1692;
    pANTLR3_COMMON_TOKEN    EXPORT_SYMBOL1693;
    pANTLR3_COMMON_TOKEN    WITH_SYMBOL1694;
    pANTLR3_COMMON_TOKEN    READ_SYMBOL1695;
    pANTLR3_COMMON_TOKEN    LOCK_SYMBOL1696;

    pANTLR3_BASE_TREE FOR_SYMBOL1692_tree;
    pANTLR3_BASE_TREE EXPORT_SYMBOL1693_tree;
    pANTLR3_BASE_TREE WITH_SYMBOL1694_tree;
    pANTLR3_BASE_TREE READ_SYMBOL1695_tree;
    pANTLR3_BASE_TREE LOCK_SYMBOL1696_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    FOR_SYMBOL1692       = NULL;
    EXPORT_SYMBOL1693       = NULL;
    WITH_SYMBOL1694       = NULL;
    READ_SYMBOL1695       = NULL;
    LOCK_SYMBOL1696       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    FOR_SYMBOL1692_tree   = NULL;
    EXPORT_SYMBOL1693_tree   = NULL;
    WITH_SYMBOL1694_tree   = NULL;
    READ_SYMBOL1695_tree   = NULL;
    LOCK_SYMBOL1696_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:1589:21: ({...}? => FOR_SYMBOL EXPORT_SYMBOL | WITH_SYMBOL READ_SYMBOL LOCK_SYMBOL )

            ANTLR3_UINT32 alt526;

            alt526=2;

            {
                int LA526_0 = LA(1);
                if ( ((SERVER_VERSION >= 50606)) && (LA526_0 == FOR_SYMBOL))
                {
                    alt526=1;
                }
                else if ( (LA526_0 == WITH_SYMBOL))
                {
                    alt526=2;
                }
                else
                {
                    if (BACKTRACKING>0)
                    {
                        FAILEDFLAG = ANTLR3_TRUE;
                        return retval;
                    }


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


                    goto ruleflush_tables_optionsEx;

                }
            }
            switch (alt526)
            {
        	case 1:
        	    // MySQL.g:1590: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_SYMBOL1692 = (pANTLR3_COMMON_TOKEN) MATCHT(FOR_SYMBOL, &FOLLOW_FOR_SYMBOL_in_flush_tables_options8823);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleflush_tables_optionsEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

        	        EXPORT_SYMBOL1693 = (pANTLR3_COMMON_TOKEN) MATCHT(EXPORT_SYMBOL, &FOLLOW_EXPORT_SYMBOL_in_flush_tables_options8825);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleflush_tables_optionsEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:1591:4: WITH_SYMBOL READ_SYMBOL LOCK_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        WITH_SYMBOL1694 = (pANTLR3_COMMON_TOKEN) MATCHT(WITH_SYMBOL, &FOLLOW_WITH_SYMBOL_in_flush_tables_options8830);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleflush_tables_optionsEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

        	        READ_SYMBOL1695 = (pANTLR3_COMMON_TOKEN) MATCHT(READ_SYMBOL, &FOLLOW_READ_SYMBOL_in_flush_tables_options8832);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleflush_tables_optionsEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

        	        LOCK_SYMBOL1696 = (pANTLR3_COMMON_TOKEN) MATCHT(LOCK_SYMBOL, &FOLLOW_LOCK_SYMBOL_in_flush_tables_options8834);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleflush_tables_optionsEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        LOCK_SYMBOL1696_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, LOCK_SYMBOL1696));
        	        ADAPTOR->addChild(ADAPTOR, root_0, LOCK_SYMBOL1696_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:1594: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    set1699;
    pANTLR3_COMMON_TOKEN    IGNORE_SYMBOL1701;
    pANTLR3_COMMON_TOKEN    LEAVES_SYMBOL1702;
    MySQLParser_table_identifier_return table_identifier1697;
    #undef	RETURN_TYPE_table_identifier1697
    #define	RETURN_TYPE_table_identifier1697 MySQLParser_table_identifier_return

    MySQLParser_load_table_index_partion_return load_table_index_partion1698;
    #undef	RETURN_TYPE_load_table_index_partion1698
    #define	RETURN_TYPE_load_table_index_partion1698 MySQLParser_load_table_index_partion_return

    MySQLParser_identifier_list_with_parentheses_return identifier_list_with_parentheses1700;
    #undef	RETURN_TYPE_identifier_list_with_parentheses1700
    #define	RETURN_TYPE_identifier_list_with_parentheses1700 MySQLParser_identifier_list_with_parentheses_return

    pANTLR3_BASE_TREE set1699_tree;
    pANTLR3_BASE_TREE IGNORE_SYMBOL1701_tree;
    pANTLR3_BASE_TREE LEAVES_SYMBOL1702_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    set1699       = NULL;
    IGNORE_SYMBOL1701       = NULL;
    LEAVES_SYMBOL1702       = NULL;
    table_identifier1697.tree = NULL;

    load_table_index_partion1698.tree = NULL;

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


    set1699_tree   = NULL;
    IGNORE_SYMBOL1701_tree   = NULL;
    LEAVES_SYMBOL1702_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1594:22: ( table_identifier ( load_table_index_partion )? ( ( INDEX_SYMBOL | KEY_SYMBOL )? identifier_list_with_parentheses )? ( IGNORE_SYMBOL LEAVES_SYMBOL )? )
        // MySQL.g:1595: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_list8843);
            table_identifier1697=table_identifier(ctx);

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

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

            // MySQL.g:1595:19: ( load_table_index_partion )?
            {
                int alt527=2;
                {
                    int LA527_0 = LA(1);
                    if ( ((SERVER_VERSION >= 50500)) && (LA527_0 == PARTITION_SYMBOL))
                    {
                        alt527=1;
                    }
                }
                switch (alt527)
                {
            	case 1:
            	    // MySQL.g:1595:19: load_table_index_partion
            	    {
            	        FOLLOWPUSH(FOLLOW_load_table_index_partion_in_load_table_index_list8845);
            	        load_table_index_partion1698=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_partion1698.tree);

            	    }
            	    break;

                }
            }

            // MySQL.g:1596:3: ( ( INDEX_SYMBOL | KEY_SYMBOL )? identifier_list_with_parentheses )?
            {
                int alt529=2;
                switch ( LA(1) )
                {
                    case INDEX_SYMBOL:
                    case KEY_SYMBOL:
                    case OPEN_PAR_SYMBOL:
                    	{
                    		alt529=1;
                    	}
                        break;
                }

                switch (alt529)
                {
            	case 1:
            	    // MySQL.g:1596:4: ( INDEX_SYMBOL | KEY_SYMBOL )? identifier_list_with_parentheses
            	    {
            	        // MySQL.g:1596:4: ( INDEX_SYMBOL | KEY_SYMBOL )?
            	        {
            	            int alt528=2;
            	            switch ( LA(1) )
            	            {
            	                case INDEX_SYMBOL:
            	                case KEY_SYMBOL:
            	                	{
            	                		alt528=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt528)
            	            {
            	        	case 1:
            	        	    // MySQL.g:
            	        	    {
            	        	        set1699=(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, set1699))
            	        	            );
            	        	            PERRORRECOVERY=ANTLR3_FALSE;
            	        	            FAILEDFLAG=ANTLR3_FALSE;

            	        	        }
            	        	        else
            	        	        {
            	        	            if (BACKTRACKING>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_list8860);
            	        identifier_list_with_parentheses1700=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_parentheses1700.tree);

            	    }
            	    break;

                }
            }

            // MySQL.g:1596:68: ( IGNORE_SYMBOL LEAVES_SYMBOL )?
            {
                int alt530=2;
                switch ( LA(1) )
                {
                    case IGNORE_SYMBOL:
                    	{
                    		alt530=1;
                    	}
                        break;
                }

                switch (alt530)
                {
            	case 1:
            	    // MySQL.g:1596:69: IGNORE_SYMBOL LEAVES_SYMBOL
            	    {
            	        IGNORE_SYMBOL1701 = (pANTLR3_COMMON_TOKEN) MATCHT(IGNORE_SYMBOL, &FOLLOW_IGNORE_SYMBOL_in_load_table_index_list8865);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleload_table_index_listEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

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

            	        LEAVES_SYMBOL1702 = (pANTLR3_COMMON_TOKEN) MATCHT(LEAVES_SYMBOL, &FOLLOW_LEAVES_SYMBOL_in_load_table_index_list8867);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleload_table_index_listEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        LEAVES_SYMBOL1702_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, LEAVES_SYMBOL1702));
            	        ADAPTOR->addChild(ADAPTOR, root_0, LEAVES_SYMBOL1702_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:1599: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_SYMBOL1703;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL1704;
    pANTLR3_COMMON_TOKEN    ALL_SYMBOL1706;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL1707;
    MySQLParser_identifier_list_return identifier_list1705;
    #undef	RETURN_TYPE_identifier_list1705
    #define	RETURN_TYPE_identifier_list1705 MySQLParser_identifier_list_return

    pANTLR3_BASE_TREE PARTITION_SYMBOL1703_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL1704_tree;
    pANTLR3_BASE_TREE ALL_SYMBOL1706_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL1707_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    PARTITION_SYMBOL1703       = NULL;
    OPEN_PAR_SYMBOL1704       = NULL;
    ALL_SYMBOL1706       = NULL;
    CLOSE_PAR_SYMBOL1707       = NULL;
    identifier_list1705.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    PARTITION_SYMBOL1703_tree   = NULL;
    OPEN_PAR_SYMBOL1704_tree   = NULL;
    ALL_SYMBOL1706_tree   = NULL;
    CLOSE_PAR_SYMBOL1707_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1599:25: ({...}? => ( PARTITION_SYMBOL OPEN_PAR_SYMBOL ( identifier_list | ALL_SYMBOL ) CLOSE_PAR_SYMBOL ) )
        // MySQL.g:1600: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:1600:32: ( PARTITION_SYMBOL OPEN_PAR_SYMBOL ( identifier_list | ALL_SYMBOL ) CLOSE_PAR_SYMBOL )
            // MySQL.g:1600:33: PARTITION_SYMBOL OPEN_PAR_SYMBOL ( identifier_list | ALL_SYMBOL ) CLOSE_PAR_SYMBOL
            {
                PARTITION_SYMBOL1703 = (pANTLR3_COMMON_TOKEN) MATCHT(PARTITION_SYMBOL, &FOLLOW_PARTITION_SYMBOL_in_load_table_index_partion8883);
                if  (HASEXCEPTION())
                {
                    goto ruleload_table_index_partionEx;
                }
                if (HASFAILED())
                {
                    return retval;
                }

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

                OPEN_PAR_SYMBOL1704 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_load_table_index_partion8885);
                if  (HASEXCEPTION())
                {
                    goto ruleload_table_index_partionEx;
                }
                if (HASFAILED())
                {
                    return retval;
                }

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

                // MySQL.g:1600:66: ( identifier_list | ALL_SYMBOL )
                {
                    int alt531=2;
                    {
                        int LA531_0 = LA(1);
                        if ( (LA531_0 == BACK_TICK_QUOTED_ID || LA531_0 == IDENTIFIER))
                        {
                            alt531=1;
                        }
                        else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA531_0 == DOUBLE_QUOTED_TEXT))
                        {
                            alt531=1;
                        }
                        else if ( (((LA531_0 >= ACTION_SYMBOL) && (LA531_0 <= PARTITION_SYMBOL))))
                        {
                            alt531=1;
                        }
                        else if ( (LA531_0 == ALL_SYMBOL))
                        {
                            alt531=2;
                        }
                        else
                        {
                            if (BACKTRACKING>0)
                            {
                                FAILEDFLAG = ANTLR3_TRUE;
                                return retval;
                            }


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


                            goto ruleload_table_index_partionEx;

                        }
                    }
                    switch (alt531)
                    {
                	case 1:
                	    // MySQL.g:1600:67: identifier_list
                	    {
                	        FOLLOWPUSH(FOLLOW_identifier_list_in_load_table_index_partion8888);
                	        identifier_list1705=identifier_list(ctx);

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

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

                	    }
                	    break;
                	case 2:
                	    // MySQL.g:1600:85: ALL_SYMBOL
                	    {
                	        ALL_SYMBOL1706 = (pANTLR3_COMMON_TOKEN) MATCHT(ALL_SYMBOL, &FOLLOW_ALL_SYMBOL_in_load_table_index_partion8892);
                	        if  (HASEXCEPTION())
                	        {
                	            goto ruleload_table_index_partionEx;
                	        }
                	        if (HASFAILED())
                	        {
                	            return retval;
                	        }

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

                	    }
                	    break;

                    }
                }

                CLOSE_PAR_SYMBOL1707 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_load_table_index_partion8895);
                if  (HASEXCEPTION())
                {
                    goto ruleload_table_index_partionEx;
                }
                if (HASFAILED())
                {
                    return retval;
                }

                if ( BACKTRACKING==0 ) {
                CLOSE_PAR_SYMBOL1707_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL1707));
                ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL1707_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:1603: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_SYMBOL1708;
    pANTLR3_COMMON_TOKEN    QUERY_SYMBOL1709;
    pANTLR3_COMMON_TOKEN    CACHE_SYMBOL1710;
    pANTLR3_COMMON_TOKEN    SLAVE_SYMBOL1711;

    pANTLR3_BASE_TREE MASTER_SYMBOL1708_tree;
    pANTLR3_BASE_TREE QUERY_SYMBOL1709_tree;
    pANTLR3_BASE_TREE CACHE_SYMBOL1710_tree;
    pANTLR3_BASE_TREE SLAVE_SYMBOL1711_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    MASTER_SYMBOL1708       = NULL;
    QUERY_SYMBOL1709       = NULL;
    CACHE_SYMBOL1710       = NULL;
    SLAVE_SYMBOL1711       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    MASTER_SYMBOL1708_tree   = NULL;
    QUERY_SYMBOL1709_tree   = NULL;
    CACHE_SYMBOL1710_tree   = NULL;
    SLAVE_SYMBOL1711_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:1603:13: ( MASTER_SYMBOL | QUERY_SYMBOL CACHE_SYMBOL | SLAVE_SYMBOL )

            ANTLR3_UINT32 alt532;

            alt532=3;

            switch ( LA(1) )
            {
            case MASTER_SYMBOL:
            	{
            		alt532=1;
            	}
                break;
            case QUERY_SYMBOL:
            	{
            		alt532=2;
            	}
                break;
            case SLAVE_SYMBOL:
            	{
            		alt532=3;
            	}
                break;

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

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


                goto rulereset_optionEx;

            }

            switch (alt532)
            {
        	case 1:
        	    // MySQL.g:1604:2: MASTER_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        MASTER_SYMBOL1708 = (pANTLR3_COMMON_TOKEN) MATCHT(MASTER_SYMBOL, &FOLLOW_MASTER_SYMBOL_in_reset_option8905);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulereset_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:1604:18: QUERY_SYMBOL CACHE_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        QUERY_SYMBOL1709 = (pANTLR3_COMMON_TOKEN) MATCHT(QUERY_SYMBOL, &FOLLOW_QUERY_SYMBOL_in_reset_option8909);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulereset_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

        	        CACHE_SYMBOL1710 = (pANTLR3_COMMON_TOKEN) MATCHT(CACHE_SYMBOL, &FOLLOW_CACHE_SYMBOL_in_reset_option8911);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulereset_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

        	    }
        	    break;
        	case 3:
        	    // MySQL.g:1604:46: SLAVE_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        SLAVE_SYMBOL1711 = (pANTLR3_COMMON_TOKEN) MATCHT(SLAVE_SYMBOL, &FOLLOW_SLAVE_SYMBOL_in_reset_option8915);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulereset_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        SLAVE_SYMBOL1711_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SLAVE_SYMBOL1711));
        	        ADAPTOR->addChild(ADAPTOR, root_0, SLAVE_SYMBOL1711_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:1609: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_SYMBOL1715;
    pANTLR3_COMMON_TOKEN    PARTITIONS_SYMBOL1716;
    pANTLR3_COMMON_TOKEN    FORMAT_SYMBOL1717;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR1718;
    pANTLR3_COMMON_TOKEN    HELP_SYMBOL1721;
    pANTLR3_COMMON_TOKEN    USE_SYMBOL1723;
    MySQLParser_describe_command_return describe_command1712;
    #undef	RETURN_TYPE_describe_command1712
    #define	RETURN_TYPE_describe_command1712 MySQLParser_describe_command_return

    MySQLParser_table_identifier_return table_identifier1713;
    #undef	RETURN_TYPE_table_identifier1713
    #define	RETURN_TYPE_table_identifier1713 MySQLParser_table_identifier_return

    MySQLParser_text_or_identifier_return text_or_identifier1714;
    #undef	RETURN_TYPE_text_or_identifier1714
    #define	RETURN_TYPE_text_or_identifier1714 MySQLParser_text_or_identifier_return

    MySQLParser_text_or_identifier_return text_or_identifier1719;
    #undef	RETURN_TYPE_text_or_identifier1719
    #define	RETURN_TYPE_text_or_identifier1719 MySQLParser_text_or_identifier_return

    MySQLParser_explainable_statement_return explainable_statement1720;
    #undef	RETURN_TYPE_explainable_statement1720
    #define	RETURN_TYPE_explainable_statement1720 MySQLParser_explainable_statement_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_identifier_return identifier1724;
    #undef	RETURN_TYPE_identifier1724
    #define	RETURN_TYPE_identifier1724 MySQLParser_identifier_return

    pANTLR3_BASE_TREE EXTENDED_SYMBOL1715_tree;
    pANTLR3_BASE_TREE PARTITIONS_SYMBOL1716_tree;
    pANTLR3_BASE_TREE FORMAT_SYMBOL1717_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR1718_tree;
    pANTLR3_BASE_TREE HELP_SYMBOL1721_tree;
    pANTLR3_BASE_TREE USE_SYMBOL1723_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    EXTENDED_SYMBOL1715       = NULL;
    PARTITIONS_SYMBOL1716       = NULL;
    FORMAT_SYMBOL1717       = NULL;
    EQUAL_OPERATOR1718       = NULL;
    HELP_SYMBOL1721       = NULL;
    USE_SYMBOL1723       = NULL;
    describe_command1712.tree = NULL;

    table_identifier1713.tree = NULL;

    text_or_identifier1714.tree = NULL;

    text_or_identifier1719.tree = NULL;

    explainable_statement1720.tree = NULL;

    text_or_identifier1722.tree = NULL;

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


    EXTENDED_SYMBOL1715_tree   = NULL;
    PARTITIONS_SYMBOL1716_tree   = NULL;
    FORMAT_SYMBOL1717_tree   = NULL;
    EQUAL_OPERATOR1718_tree   = NULL;
    HELP_SYMBOL1721_tree   = NULL;
    USE_SYMBOL1723_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:1609: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 alt536;

            alt536=3;

            switch ( LA(1) )
            {
            case DESCRIBE_SYMBOL:
            case DESC_SYMBOL:
            	{
            		alt536=1;
            	}
                break;
            case HELP_SYMBOL:
            	{
            		alt536=2;
            	}
                break;
            case USE_SYMBOL:
            	{
            		alt536=3;
            	}
                break;

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

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


                goto ruleutility_statementEx;

            }

            switch (alt536)
            {
        	case 1:
        	    // MySQL.g:1610: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_statement8926);
        	        describe_command1712=describe_command(ctx);

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

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

        	        // MySQL.g:1611:3: ( table_identifier ( text_or_identifier )? | ( EXTENDED_SYMBOL |{...}? => PARTITIONS_SYMBOL |{...}? => FORMAT_SYMBOL EQUAL_OPERATOR text_or_identifier )? explainable_statement )
        	        {
        	            int alt535=2;
        	            {
        	                int LA535_0 = LA(1);
        	                if ( (LA535_0 == BACK_TICK_QUOTED_ID || LA535_0 == IDENTIFIER))
        	                {
        	                    alt535=1;
        	                }
        	                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA535_0 == DOUBLE_QUOTED_TEXT))
        	                {
        	                    alt535=1;
        	                }
        	                else if ( (LA535_0 == EXTENDED_SYMBOL))
        	                {
        	                    {
        	                        int LA535_4 = LA(2);
        	                        if ( (LA535_4 == EOF || ((LA535_4 >= ACTION_SYMBOL) && (LA535_4 <= PARTITION_SYMBOL)) || LA535_4 == BACK_TICK_QUOTED_ID || LA535_4 == DOT_SYMBOL || LA535_4 == DOUBLE_QUOTED_TEXT || LA535_4 == IDENTIFIER || LA535_4 == NCHAR_TEXT || LA535_4 == SEMICOLON_SYMBOL || LA535_4 == SINGLE_QUOTED_TEXT || LA535_4 == UNDERSCORE_CHARSET))
        	                        {
        	                            alt535=1;
        	                        }
        	                        else if ( (LA535_4 == DELETE_SYMBOL || LA535_4 == INSERT_SYMBOL || LA535_4 == OPEN_PAR_SYMBOL || LA535_4 == REPLACE_SYMBOL || LA535_4 == SELECT_SYMBOL || LA535_4 == UPDATE_SYMBOL))
        	                        {
        	                            alt535=2;
        	                        }
        	                        else
        	                        {
        	                            if (BACKTRACKING>0)
        	                            {
        	                                FAILEDFLAG = ANTLR3_TRUE;
        	                                return retval;
        	                            }


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


        	                            goto ruleutility_statementEx;

        	                        }
        	                    }
        	                }
        	                else if ( (((LA535_0 >= ACTION_SYMBOL) && (LA535_0 <= EXPORT_SYMBOL)) || ((LA535_0 >= EXTENT_SIZE_SYMBOL) && (LA535_0 <= PARTITIONING_SYMBOL)) || ((LA535_0 >= PASSWORD_SYMBOL) && (LA535_0 <= FLUSH_SYMBOL)) || ((LA535_0 >= HANDLER_SYMBOL) && (LA535_0 <= PARTITION_SYMBOL)) || LA535_0 == DOT_SYMBOL))
        	                {
        	                    alt535=1;
        	                }
        	                else if ( (LA535_0 == FORMAT_SYMBOL))
        	                {
        	                    {
        	                        int LA535_6 = LA(2);
        	                        if ( ((SERVER_VERSION >= 50605)) && (LA535_6 == EQUAL_OPERATOR))
        	                        {
        	                            alt535=2;
        	                        }
        	                        else if ( (LA535_6 == EOF || ((LA535_6 >= ACTION_SYMBOL) && (LA535_6 <= PARTITION_SYMBOL)) || LA535_6 == BACK_TICK_QUOTED_ID || LA535_6 == DOT_SYMBOL || LA535_6 == DOUBLE_QUOTED_TEXT || LA535_6 == IDENTIFIER || LA535_6 == NCHAR_TEXT || LA535_6 == SEMICOLON_SYMBOL || LA535_6 == SINGLE_QUOTED_TEXT || LA535_6 == UNDERSCORE_CHARSET))
        	                        {
        	                            alt535=1;
        	                        }
        	                        else
        	                        {
        	                            if (BACKTRACKING>0)
        	                            {
        	                                FAILEDFLAG = ANTLR3_TRUE;
        	                                return retval;
        	                            }


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


        	                            goto ruleutility_statementEx;

        	                        }
        	                    }
        	                }
        	                else if ( (LA535_0 == PARTITIONS_SYMBOL))
        	                {
        	                    {
        	                        int LA535_8 = LA(2);
        	                        if ( (LA535_8 == EOF || ((LA535_8 >= ACTION_SYMBOL) && (LA535_8 <= PARTITION_SYMBOL)) || LA535_8 == BACK_TICK_QUOTED_ID || LA535_8 == DOT_SYMBOL || LA535_8 == DOUBLE_QUOTED_TEXT || LA535_8 == IDENTIFIER || LA535_8 == NCHAR_TEXT || LA535_8 == SEMICOLON_SYMBOL || LA535_8 == SINGLE_QUOTED_TEXT || LA535_8 == UNDERSCORE_CHARSET))
        	                        {
        	                            alt535=1;
        	                        }
        	                        else if ( ((SERVER_VERSION >= 50105)) && (LA535_8 == DELETE_SYMBOL || LA535_8 == INSERT_SYMBOL || LA535_8 == OPEN_PAR_SYMBOL || LA535_8 == REPLACE_SYMBOL || LA535_8 == SELECT_SYMBOL || LA535_8 == UPDATE_SYMBOL))
        	                        {
        	                            alt535=2;
        	                        }
        	                        else
        	                        {
        	                            if (BACKTRACKING>0)
        	                            {
        	                                FAILEDFLAG = ANTLR3_TRUE;
        	                                return retval;
        	                            }


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


        	                            goto ruleutility_statementEx;

        	                        }
        	                    }
        	                }
        	                else if ( ((SERVER_VERSION >= 50603)) && (LA535_0 == DELETE_SYMBOL || LA535_0 == INSERT_SYMBOL || LA535_0 == REPLACE_SYMBOL || LA535_0 == UPDATE_SYMBOL))
        	                {
        	                    alt535=2;
        	                }
        	                else if ( (LA535_0 == OPEN_PAR_SYMBOL || LA535_0 == SELECT_SYMBOL))
        	                {
        	                    alt535=2;
        	                }
        	                else
        	                {
        	                    if (BACKTRACKING>0)
        	                    {
        	                        FAILEDFLAG = ANTLR3_TRUE;
        	                        return retval;
        	                    }


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


        	                    goto ruleutility_statementEx;

        	                }
        	            }
        	            switch (alt535)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1612:4: table_identifier ( text_or_identifier )?
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_table_identifier_in_utility_statement8935);
        	        	        table_identifier1713=table_identifier(ctx);

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

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

        	        	        // MySQL.g:1612:21: ( text_or_identifier )?
        	        	        {
        	        	            int alt533=2;
        	        	            {
        	        	                int LA533_0 = LA(1);
        	        	                if ( (LA533_0 == NCHAR_TEXT || LA533_0 == SINGLE_QUOTED_TEXT || LA533_0 == UNDERSCORE_CHARSET))
        	        	                {
        	        	                    alt533=1;
        	        	                }
        	        	                else if ( ((((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES)))||((!SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))))) && (LA533_0 == DOUBLE_QUOTED_TEXT))
        	        	                {
        	        	                    alt533=1;
        	        	                }
        	        	                else if ( (((LA533_0 >= ACTION_SYMBOL) && (LA533_0 <= PARTITION_SYMBOL)) || LA533_0 == BACK_TICK_QUOTED_ID || LA533_0 == IDENTIFIER))
        	        	                {
        	        	                    alt533=1;
        	        	                }
        	        	            }
        	        	            switch (alt533)
        	        	            {
        	        	        	case 1:
        	        	        	    // MySQL.g:1612:21: text_or_identifier
        	        	        	    {
        	        	        	        FOLLOWPUSH(FOLLOW_text_or_identifier_in_utility_statement8937);
        	        	        	        text_or_identifier1714=text_or_identifier(ctx);

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

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

        	        	        	    }
        	        	        	    break;

        	        	            }
        	        	        }

        	        	    }
        	        	    break;
        	        	case 2:
        	        	    // MySQL.g:1614:5: ( EXTENDED_SYMBOL |{...}? => PARTITIONS_SYMBOL |{...}? => FORMAT_SYMBOL EQUAL_OPERATOR text_or_identifier )? explainable_statement
        	        	    {
        	        	        // MySQL.g:1614:5: ( EXTENDED_SYMBOL |{...}? => PARTITIONS_SYMBOL |{...}? => FORMAT_SYMBOL EQUAL_OPERATOR text_or_identifier )?
        	        	        {
        	        	            int alt534=4;
        	        	            {
        	        	                int LA534_0 = LA(1);
        	        	                if ( (LA534_0 == EXTENDED_SYMBOL))
        	        	                {
        	        	                    alt534=1;
        	        	                }
        	        	                else if ( ((SERVER_VERSION >= 50105)) && (LA534_0 == PARTITIONS_SYMBOL))
        	        	                {
        	        	                    alt534=2;
        	        	                }
        	        	                else if ( ((SERVER_VERSION >= 50605)) && (LA534_0 == FORMAT_SYMBOL))
        	        	                {
        	        	                    alt534=3;
        	        	                }
        	        	            }
        	        	            switch (alt534)
        	        	            {
        	        	        	case 1:
        	        	        	    // MySQL.g:1617:6: EXTENDED_SYMBOL
        	        	        	    {
        	        	        	        EXTENDED_SYMBOL1715 = (pANTLR3_COMMON_TOKEN) MATCHT(EXTENDED_SYMBOL, &FOLLOW_EXTENDED_SYMBOL_in_utility_statement8968);
        	        	        	        if  (HASEXCEPTION())
        	        	        	        {
        	        	        	            goto ruleutility_statementEx;
        	        	        	        }
        	        	        	        if (HASFAILED())
        	        	        	        {
        	        	        	            return retval;
        	        	        	        }

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

        	        	        	    }
        	        	        	    break;
        	        	        	case 2:
        	        	        	    // MySQL.g:1618: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_SYMBOL1716 = (pANTLR3_COMMON_TOKEN) MATCHT(PARTITIONS_SYMBOL, &FOLLOW_PARTITIONS_SYMBOL_in_utility_statement8981);
        	        	        	        if  (HASEXCEPTION())
        	        	        	        {
        	        	        	            goto ruleutility_statementEx;
        	        	        	        }
        	        	        	        if (HASFAILED())
        	        	        	        {
        	        	        	            return retval;
        	        	        	        }

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

        	        	        	    }
        	        	        	    break;
        	        	        	case 3:
        	        	        	    // MySQL.g:1619: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_SYMBOL1717 = (pANTLR3_COMMON_TOKEN) MATCHT(FORMAT_SYMBOL, &FOLLOW_FORMAT_SYMBOL_in_utility_statement8994);
        	        	        	        if  (HASEXCEPTION())
        	        	        	        {
        	        	        	            goto ruleutility_statementEx;
        	        	        	        }
        	        	        	        if (HASFAILED())
        	        	        	        {
        	        	        	            return retval;
        	        	        	        }

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

        	        	        	        EQUAL_OPERATOR1718 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_utility_statement8996);
        	        	        	        if  (HASEXCEPTION())
        	        	        	        {
        	        	        	            goto ruleutility_statementEx;
        	        	        	        }
        	        	        	        if (HASFAILED())
        	        	        	        {
        	        	        	            return retval;
        	        	        	        }

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

        	        	        	        FOLLOWPUSH(FOLLOW_text_or_identifier_in_utility_statement8998);
        	        	        	        text_or_identifier1719=text_or_identifier(ctx);

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

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

        	        	        	    }
        	        	        	    break;

        	        	            }
        	        	        }

        	        	        FOLLOWPUSH(FOLLOW_explainable_statement_in_utility_statement9007);
        	        	        explainable_statement1720=explainable_statement(ctx);

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

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

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:1622:4: HELP_SYMBOL ^ text_or_identifier
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        HELP_SYMBOL1721 = (pANTLR3_COMMON_TOKEN) MATCHT(HELP_SYMBOL, &FOLLOW_HELP_SYMBOL_in_utility_statement9016);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleutility_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

        	        FOLLOWPUSH(FOLLOW_text_or_identifier_in_utility_statement9019);
        	        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;
        	case 3:
        	    // MySQL.g:1623:4: USE_SYMBOL ^ identifier
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        USE_SYMBOL1723 = (pANTLR3_COMMON_TOKEN) MATCHT(USE_SYMBOL, &FOLLOW_USE_SYMBOL_in_utility_statement9024);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleutility_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

        	        FOLLOWPUSH(FOLLOW_identifier_in_utility_statement9027);
        	        identifier1724=identifier(ctx);

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

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier1724.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:1626: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_SYMBOL1725;
    pANTLR3_COMMON_TOKEN    DESC_SYMBOL1726;

    pANTLR3_BASE_TREE DESCRIBE_SYMBOL1725_tree;
    pANTLR3_BASE_TREE DESC_SYMBOL1726_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    DESCRIBE_SYMBOL1725       = NULL;
    DESC_SYMBOL1726       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    DESCRIBE_SYMBOL1725_tree   = NULL;
    DESC_SYMBOL1726_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:1626:17: ( DESCRIBE_SYMBOL ^| DESC_SYMBOL ^)

            ANTLR3_UINT32 alt537;

            alt537=2;

            switch ( LA(1) )
            {
            case DESCRIBE_SYMBOL:
            	{
            		alt537=1;
            	}
                break;
            case DESC_SYMBOL:
            	{
            		alt537=2;
            	}
                break;

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

            }

            switch (alt537)
            {
        	case 1:
        	    // MySQL.g:1627:2: DESCRIBE_SYMBOL ^
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        DESCRIBE_SYMBOL1725 = (pANTLR3_COMMON_TOKEN) MATCHT(DESCRIBE_SYMBOL, &FOLLOW_DESCRIBE_SYMBOL_in_describe_command9036);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruledescribe_commandEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:1627:21: DESC_SYMBOL ^
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        DESC_SYMBOL1726 = (pANTLR3_COMMON_TOKEN) MATCHT(DESC_SYMBOL, &FOLLOW_DESC_SYMBOL_in_describe_command9041);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruledescribe_commandEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        DESC_SYMBOL1726_tree = 
        	        (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DESC_SYMBOL1726))
        	        ;
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, DESC_SYMBOL1726_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:1631: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_statement1727;
    #undef	RETURN_TYPE_delete_statement1727
    #define	RETURN_TYPE_delete_statement1727 MySQLParser_delete_statement_return

    MySQLParser_insert_statement_return insert_statement1728;
    #undef	RETURN_TYPE_insert_statement1728
    #define	RETURN_TYPE_insert_statement1728 MySQLParser_insert_statement_return

    MySQLParser_replace_statement_return replace_statement1729;
    #undef	RETURN_TYPE_replace_statement1729
    #define	RETURN_TYPE_replace_statement1729 MySQLParser_replace_statement_return

    MySQLParser_update_statement_return update_statement1730;
    #undef	RETURN_TYPE_update_statement1730
    #define	RETURN_TYPE_update_statement1730 MySQLParser_update_statement_return

    MySQLParser_select_statement_return select_statement1731;
    #undef	RETURN_TYPE_select_statement1731
    #define	RETURN_TYPE_select_statement1731 MySQLParser_select_statement_return


    /* Initialize rule variables
     */

    root_0 = NULL;

    delete_statement1727.tree = NULL;

    insert_statement1728.tree = NULL;

    replace_statement1729.tree = NULL;

    update_statement1730.tree = NULL;

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




    retval.tree  = NULL;

    {
        {
            //  MySQL.g:1631:22: ({...}? => ( delete_statement | insert_statement | replace_statement | update_statement ) | select_statement )

            ANTLR3_UINT32 alt539;

            alt539=2;

            {
                int LA539_0 = LA(1);
                if ( ((SERVER_VERSION >= 50603)) && (LA539_0 == DELETE_SYMBOL || LA539_0 == INSERT_SYMBOL || LA539_0 == REPLACE_SYMBOL || LA539_0 == UPDATE_SYMBOL))
                {
                    alt539=1;
                }
                else if ( (LA539_0 == OPEN_PAR_SYMBOL || LA539_0 == SELECT_SYMBOL))
                {
                    alt539=2;
                }
                else
                {
                    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 ruleexplainable_statementEx;

                }
            }
            switch (alt539)
            {
        	case 1:
        	    // MySQL.g:1632: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:1633:3: ( delete_statement | insert_statement | replace_statement | update_statement )
        	        {
        	            int alt538=4;
        	            switch ( LA(1) )
        	            {
        	            case DELETE_SYMBOL:
        	            	{
        	            		alt538=1;
        	            	}
        	                break;
        	            case INSERT_SYMBOL:
        	            	{
        	            		alt538=2;
        	            	}
        	                break;
        	            case REPLACE_SYMBOL:
        	            	{
        	            		alt538=3;
        	            	}
        	                break;
        	            case UPDATE_SYMBOL:
        	            	{
        	            		alt538=4;
        	            	}
        	                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 ruleexplainable_statementEx;

        	            }

        	            switch (alt538)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1634:4: delete_statement
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_delete_statement_in_explainable_statement9063);
        	        	        delete_statement1727=delete_statement(ctx);

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

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

        	        	    }
        	        	    break;
        	        	case 2:
        	        	    // MySQL.g:1635:6: insert_statement
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_insert_statement_in_explainable_statement9070);
        	        	        insert_statement1728=insert_statement(ctx);

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

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

        	        	    }
        	        	    break;
        	        	case 3:
        	        	    // MySQL.g:1636:6: replace_statement
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_replace_statement_in_explainable_statement9077);
        	        	        replace_statement1729=replace_statement(ctx);

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

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

        	        	    }
        	        	    break;
        	        	case 4:
        	        	    // MySQL.g:1637:6: update_statement
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_update_statement_in_explainable_statement9084);
        	        	        update_statement1730=update_statement(ctx);

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

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

        	        	    }
        	        	    break;

        	            }
        	        }

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


        	        FOLLOWPUSH(FOLLOW_select_statement_in_explainable_statement9093);
        	        select_statement1731=select_statement(ctx);

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

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, select_statement1731.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:1647: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_expression1732;
    #undef	RETURN_TYPE_logical_or_expression1732
    #define	RETURN_TYPE_logical_or_expression1732 MySQLParser_logical_or_expression_return


    /* Initialize rule variables
     */

    root_0 = NULL;

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




    retval.tree  = NULL;

    {
        // MySQL.g:1647:11: ( logical_or_expression )
        // MySQL.g:1648:2: logical_or_expression
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            FOLLOWPUSH(FOLLOW_logical_or_expression_in_expression9107);
            logical_or_expression1732=logical_or_expression(ctx);

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

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, logical_or_expression1732.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:1651: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    set1734;
    MySQLParser_logical_xor_expression_return logical_xor_expression1733;
    #undef	RETURN_TYPE_logical_xor_expression1733
    #define	RETURN_TYPE_logical_xor_expression1733 MySQLParser_logical_xor_expression_return

    MySQLParser_logical_xor_expression_return logical_xor_expression1735;
    #undef	RETURN_TYPE_logical_xor_expression1735
    #define	RETURN_TYPE_logical_xor_expression1735 MySQLParser_logical_xor_expression_return

    pANTLR3_BASE_TREE set1734_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    set1734       = NULL;
    logical_xor_expression1733.tree = NULL;

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


    set1734_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1651:22: ( logical_xor_expression ( options {greedy=true; } : ( LOGICAL_OR_OPERATOR | OR_SYMBOL ) ^ logical_xor_expression )* )
        // MySQL.g:1652: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_expression9116);
            logical_xor_expression1733=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_expression1733.tree);

            // MySQL.g:1652:25: ( options {greedy=true; } : ( LOGICAL_OR_OPERATOR | OR_SYMBOL ) ^ logical_xor_expression )*

            for (;;)
            {
                int alt540=2;
                switch ( LA(1) )
                {
                case LOGICAL_OR_OPERATOR:
                case OR_SYMBOL:
                	{
                		alt540=1;
                	}
                    break;

                }

                switch (alt540)
                {
            	case 1:
            	    // MySQL.g:1652:55: ( LOGICAL_OR_OPERATOR | OR_SYMBOL ) ^ logical_xor_expression
            	    {
            	        set1734=(pANTLR3_COMMON_TOKEN)LT(1);

            	        set1734=(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, set1734))
            	            , 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_expression9141);
            	        logical_xor_expression1735=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_expression1735.tree);

            	    }
            	    break;

            	default:
            	    goto loop540;	/* break out of the loop */
            	    break;
                }
            }
            loop540: ; /* 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:1655: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_SYMBOL1737;
    MySQLParser_logical_and_expression_return logical_and_expression1736;
    #undef	RETURN_TYPE_logical_and_expression1736
    #define	RETURN_TYPE_logical_and_expression1736 MySQLParser_logical_and_expression_return

    MySQLParser_logical_and_expression_return logical_and_expression1738;
    #undef	RETURN_TYPE_logical_and_expression1738
    #define	RETURN_TYPE_logical_and_expression1738 MySQLParser_logical_and_expression_return

    pANTLR3_BASE_TREE XOR_SYMBOL1737_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    XOR_SYMBOL1737       = NULL;
    logical_and_expression1736.tree = NULL;

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


    XOR_SYMBOL1737_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1655:23: ( logical_and_expression ( options {greedy=true; } : XOR_SYMBOL ^ logical_and_expression )* )
        // MySQL.g:1656: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_expression9152);
            logical_and_expression1736=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_expression1736.tree);

            // MySQL.g:1656:25: ( options {greedy=true; } : XOR_SYMBOL ^ logical_and_expression )*

            for (;;)
            {
                int alt541=2;
                switch ( LA(1) )
                {
                case XOR_SYMBOL:
                	{
                		alt541=1;
                	}
                    break;

                }

                switch (alt541)
                {
            	case 1:
            	    // MySQL.g:1656:55: XOR_SYMBOL ^ logical_and_expression
            	    {
            	        XOR_SYMBOL1737 = (pANTLR3_COMMON_TOKEN) MATCHT(XOR_SYMBOL, &FOLLOW_XOR_SYMBOL_in_logical_xor_expression9168);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulelogical_xor_expressionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

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

            	        FOLLOWPUSH(FOLLOW_logical_and_expression_in_logical_xor_expression9171);
            	        logical_and_expression1738=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_expression1738.tree);

            	    }
            	    break;

            	default:
            	    goto loop541;	/* break out of the loop */
            	    break;
                }
            }
            loop541: ; /* 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:1659: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    set1740;
    MySQLParser_logical_not_expression_return logical_not_expression1739;
    #undef	RETURN_TYPE_logical_not_expression1739
    #define	RETURN_TYPE_logical_not_expression1739 MySQLParser_logical_not_expression_return

    MySQLParser_logical_not_expression_return logical_not_expression1741;
    #undef	RETURN_TYPE_logical_not_expression1741
    #define	RETURN_TYPE_logical_not_expression1741 MySQLParser_logical_not_expression_return

    pANTLR3_BASE_TREE set1740_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    set1740       = NULL;
    logical_not_expression1739.tree = NULL;

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


    set1740_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1659:23: ( logical_not_expression ( options {greedy=true; } : ( LOGICAL_AND_OPERATOR | AND_SYMBOL ) ^ logical_not_expression )* )
        // MySQL.g:1660: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_expression9182);
            logical_not_expression1739=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_expression1739.tree);

            // MySQL.g:1660:25: ( options {greedy=true; } : ( LOGICAL_AND_OPERATOR | AND_SYMBOL ) ^ logical_not_expression )*

            for (;;)
            {
                int alt542=2;
                switch ( LA(1) )
                {
                case AND_SYMBOL:
                	{
                		alt542=1;
                	}
                    break;
                case LOGICAL_AND_OPERATOR:
                	{
                		alt542=1;
                	}
                    break;

                }

                switch (alt542)
                {
            	case 1:
            	    // MySQL.g:1660:55: ( LOGICAL_AND_OPERATOR | AND_SYMBOL ) ^ logical_not_expression
            	    {
            	        set1740=(pANTLR3_COMMON_TOKEN)LT(1);

            	        set1740=(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, set1740))
            	            , 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_expression9207);
            	        logical_not_expression1741=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_expression1741.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_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:1663: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_SYMBOL1742;
    MySQLParser_logical_not_expression_return logical_not_expression1743;
    #undef	RETURN_TYPE_logical_not_expression1743
    #define	RETURN_TYPE_logical_not_expression1743 MySQLParser_logical_not_expression_return

    MySQLParser_boolean_primary_expression_return boolean_primary_expression1744;
    #undef	RETURN_TYPE_boolean_primary_expression1744
    #define	RETURN_TYPE_boolean_primary_expression1744 MySQLParser_boolean_primary_expression_return

    pANTLR3_BASE_TREE NOT_SYMBOL1742_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    NOT_SYMBOL1742       = NULL;
    logical_not_expression1743.tree = NULL;

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


    NOT_SYMBOL1742_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:1663:23: ( NOT_SYMBOL ^ logical_not_expression | boolean_primary_expression )

            ANTLR3_UINT32 alt543;

            alt543=2;

            {
                int LA543_0 = LA(1);
                if ( (LA543_0 == NOT_SYMBOL))
                {
                    alt543=1;
                }
                else if ( (LA543_0 == BITWISE_NOT_OPERATOR || LA543_0 == INTERVAL_SYMBOL || LA543_0 == LOGICAL_NOT_OPERATOR || LA543_0 == MINUS_OPERATOR || LA543_0 == NCHAR_TEXT || LA543_0 == NOT2_SYMBOL || LA543_0 == PLUS_OPERATOR || LA543_0 == SINGLE_QUOTED_TEXT || LA543_0 == UNDERSCORE_CHARSET))
                {
                    alt543=2;
                }
                else if ( ((((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES)))||((!SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))))) && (LA543_0 == DOUBLE_QUOTED_TEXT))
                {
                    alt543=2;
                }
                else if ( (LA543_0 == FALSE_SYMBOL || LA543_0 == FLOAT || ((LA543_0 >= HEXNUMBER) && (LA543_0 <= HEXSTRING)) || LA543_0 == INTEGER || LA543_0 == TRUE_SYMBOL))
                {
                    alt543=2;
                }
                else if ( ((SERVER_VERSION >= 50003)) && (((LA543_0 >= BITNUMBER) && (LA543_0 <= BITSTRING))))
                {
                    alt543=2;
                }
                else if ( (((LA543_0 >= ACTION_SYMBOL) && (LA543_0 <= PARTITION_SYMBOL)) || ((LA543_0 >= AT_AT_SIGN_SYMBOL) && (LA543_0 <= AT_SIGN_SYMBOL)) || LA543_0 == BACK_TICK_QUOTED_ID || LA543_0 == BINARY_SYMBOL || ((LA543_0 >= BIT_AND_SYMBOL) && (LA543_0 <= BIT_XOR_SYMBOL)) || ((LA543_0 >= CASE_SYMBOL) && (LA543_0 <= CAST_SYMBOL)) || LA543_0 == CHAR_SYMBOL || ((LA543_0 >= CONVERT_SYMBOL) && (LA543_0 <= COUNT_SYMBOL)) || LA543_0 == CURDATE_SYMBOL || LA543_0 == CURRENT_USER_SYMBOL || LA543_0 == CURTIME_SYMBOL || LA543_0 == DATABASE_SYMBOL || LA543_0 == DATE_ADD_SYMBOL || LA543_0 == DATE_SUB_SYMBOL || LA543_0 == DOT_SYMBOL || LA543_0 == EXISTS_SYMBOL || LA543_0 == EXTRACT_SYMBOL || LA543_0 == GROUP_CONCAT_SYMBOL || ((LA543_0 >= IDENTIFIER) && (LA543_0 <= IF_SYMBOL)) || LA543_0 == INSERT_SYMBOL || LA543_0 == LEFT_SYMBOL || LA543_0 == MATCH_SYMBOL || LA543_0 == MAX_SYMBOL || LA543_0 == MIN_SYMBOL || LA543_0 == MOD_SYMBOL || LA543_0 == NOW_SYMBOL || LA543_0 == NULL2_SYMBOL || LA543_0 == NULL_SYMBOL || ((LA543_0 >= OPEN_CURLY_SYMBOL) && (LA543_0 <= OPEN_PAR_SYMBOL)) || LA543_0 == PARAM_MARKER || LA543_0 == POSITION_SYMBOL || ((LA543_0 >= REPEAT_SYMBOL) && (LA543_0 <= REPLACE_SYMBOL)) || LA543_0 == RIGHT_SYMBOL || LA543_0 == STDDEV_SAMP_SYMBOL || LA543_0 == STD_SYMBOL || LA543_0 == SUBSTRING_SYMBOL || ((LA543_0 >= SUM_SYMBOL) && (LA543_0 <= SYSDATE_SYMBOL)) || LA543_0 == TRIM_SYMBOL || ((LA543_0 >= UTC_DATE_SYMBOL) && (LA543_0 <= VALUES_SYMBOL)) || LA543_0 == VARIANCE_SYMBOL || LA543_0 == VAR_SAMP_SYMBOL))
                {
                    alt543=2;
                }
                else
                {
                    if (BACKTRACKING>0)
                    {
                        FAILEDFLAG = ANTLR3_TRUE;
                        return retval;
                    }


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


                    goto rulelogical_not_expressionEx;

                }
            }
            switch (alt543)
            {
        	case 1:
        	    // MySQL.g:1664:2: NOT_SYMBOL ^ logical_not_expression
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        NOT_SYMBOL1742 = (pANTLR3_COMMON_TOKEN) MATCHT(NOT_SYMBOL, &FOLLOW_NOT_SYMBOL_in_logical_not_expression9218);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulelogical_not_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

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

        	        FOLLOWPUSH(FOLLOW_logical_not_expression_in_logical_not_expression9221);
        	        logical_not_expression1743=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_expression1743.tree);

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


        	        FOLLOWPUSH(FOLLOW_boolean_primary_expression_in_logical_not_expression9226);
        	        boolean_primary_expression1744=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_expression1744.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:1668: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    set1747;
    pANTLR3_COMMON_TOKEN    IS_SYMBOL1750;
    pANTLR3_COMMON_TOKEN    NOT_SYMBOL1751;
    pANTLR3_COMMON_TOKEN    FALSE_SYMBOL1753;
    pANTLR3_COMMON_TOKEN    TRUE_SYMBOL1754;
    pANTLR3_COMMON_TOKEN    UNKNOWN_SYMBOL1755;
    MySQLParser_predicate_return predicate1745;
    #undef	RETURN_TYPE_predicate1745
    #define	RETURN_TYPE_predicate1745 MySQLParser_predicate_return

    MySQLParser_comparison_operator_return comparison_operator1746;
    #undef	RETURN_TYPE_comparison_operator1746
    #define	RETURN_TYPE_comparison_operator1746 MySQLParser_comparison_operator_return

    MySQLParser_subquery_return subquery1748;
    #undef	RETURN_TYPE_subquery1748
    #define	RETURN_TYPE_subquery1748 MySQLParser_subquery_return

    MySQLParser_predicate_return predicate1749;
    #undef	RETURN_TYPE_predicate1749
    #define	RETURN_TYPE_predicate1749 MySQLParser_predicate_return

    MySQLParser_null_literal_return null_literal1752;
    #undef	RETURN_TYPE_null_literal1752
    #define	RETURN_TYPE_null_literal1752 MySQLParser_null_literal_return

    pANTLR3_BASE_TREE set1747_tree;
    pANTLR3_BASE_TREE IS_SYMBOL1750_tree;
    pANTLR3_BASE_TREE NOT_SYMBOL1751_tree;
    pANTLR3_BASE_TREE FALSE_SYMBOL1753_tree;
    pANTLR3_BASE_TREE TRUE_SYMBOL1754_tree;
    pANTLR3_BASE_TREE UNKNOWN_SYMBOL1755_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    set1747       = NULL;
    IS_SYMBOL1750       = NULL;
    NOT_SYMBOL1751       = NULL;
    FALSE_SYMBOL1753       = NULL;
    TRUE_SYMBOL1754       = NULL;
    UNKNOWN_SYMBOL1755       = NULL;
    predicate1745.tree = NULL;

    comparison_operator1746.tree = NULL;

    subquery1748.tree = NULL;

    predicate1749.tree = NULL;

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


    set1747_tree   = NULL;
    IS_SYMBOL1750_tree   = NULL;
    NOT_SYMBOL1751_tree   = NULL;
    FALSE_SYMBOL1753_tree   = NULL;
    TRUE_SYMBOL1754_tree   = NULL;
    UNKNOWN_SYMBOL1755_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1668: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:1669: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_expression9235);
            predicate1745=predicate(ctx);

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

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

            // MySQL.g:1670: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 alt548=3;
                switch ( LA(1) )
                {
                case EQUAL_OPERATOR:
                	{
                		alt548=1;
                	}
                    break;
                case IS_SYMBOL:
                	{
                		alt548=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:
                	{
                		alt548=1;
                	}
                    break;

                }

                switch (alt548)
                {
            	case 1:
            	    // MySQL.g:1671:4: comparison_operator ^ ({...}? ( ALL_SYMBOL | ANY_SYMBOL ) subquery | predicate )
            	    {
            	        FOLLOWPUSH(FOLLOW_comparison_operator_in_boolean_primary_expression9257);
            	        comparison_operator1746=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_operator1746.tree, root_0));

            	        // MySQL.g:1672:4: ({...}? ( ALL_SYMBOL | ANY_SYMBOL ) subquery | predicate )
            	        {
            	            int alt544=2;
            	            {
            	                int LA544_0 = LA(1);
            	                if ( (LA544_0 == ANY_SYMBOL))
            	                {
            	                    {
            	                        int LA544_1 = LA(2);
            	                        if ( (LA544_1 == OPEN_PAR_SYMBOL))
            	                        {
            	                            {
            	                                int LA544_104 = LA(3);
            	                                if ( ((LA(1) == ALL_SYMBOL || LA(1) == ANY_SYMBOL)))
            	                                {
            	                                    alt544=1;
            	                                }
            	                                else if ( (ANTLR3_TRUE))
            	                                {
            	                                    alt544=2;
            	                                }
            	                                else
            	                                {
            	                                    if (BACKTRACKING>0)
            	                                    {
            	                                        FAILEDFLAG = ANTLR3_TRUE;
            	                                        return retval;
            	                                    }


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


            	                                    goto ruleboolean_primary_expressionEx;

            	                                }
            	                            }
            	                        }
            	                        else if ( (LA544_1 == EOF || ((LA544_1 >= ACTION_SYMBOL) && (LA544_1 <= PARTITION_SYMBOL)) || ((LA544_1 >= AND_SYMBOL) && (LA544_1 <= ASC_SYMBOL)) || LA544_1 == AS_SYMBOL || LA544_1 == BACK_TICK_QUOTED_ID || LA544_1 == BETWEEN_SYMBOL || LA544_1 == BITWISE_AND_OPERATOR || ((LA544_1 >= BITWISE_OR_OPERATOR) && (LA544_1 <= BITWISE_XOR_OPERATOR)) || ((LA544_1 >= CLOSE_CURLY_SYMBOL) && (LA544_1 <= COLLATE_SYMBOL)) || LA544_1 == COMMA_SYMBOL || LA544_1 == CONCAT_PIPES_SYMBOL || LA544_1 == CROSS_SYMBOL || ((LA544_1 >= DAY_HOUR_SYMBOL) && (LA544_1 <= DAY_SECOND_SYMBOL)) || LA544_1 == DESC_SYMBOL || ((LA544_1 >= DIV_OPERATOR) && (LA544_1 <= DOT_SYMBOL)) || LA544_1 == DOUBLE_QUOTED_TEXT || LA544_1 == ELSE_SYMBOL || LA544_1 == EQUAL_OPERATOR || ((LA544_1 >= FOR_SYMBOL) && (LA544_1 <= FROM_SYMBOL)) || ((LA544_1 >= GREATER_OR_EQUAL_OPERATOR) && (LA544_1 <= GREATER_THAN_OPERATOR)) || ((LA544_1 >= GROUP_SYMBOL) && (LA544_1 <= HAVING_SYMBOL)) || ((LA544_1 >= HOUR_MICROSECOND_SYMBOL) && (LA544_1 <= IDENTIFIER)) || LA544_1 == INNER_SYMBOL || LA544_1 == INTO_SYMBOL || LA544_1 == IN_SYMBOL || LA544_1 == IS_SYMBOL || LA544_1 == JOIN_SYMBOL || ((LA544_1 >= LEFT_SYMBOL) && (LA544_1 <= LESS_THAN_OPERATOR)) || ((LA544_1 >= LIKE_SYMBOL) && (LA544_1 <= LIMIT_SYMBOL)) || LA544_1 == LOCK_SYMBOL || LA544_1 == LOGICAL_AND_OPERATOR || LA544_1 == LOGICAL_OR_OPERATOR || ((LA544_1 >= MINUS_OPERATOR) && (LA544_1 <= MINUTE_SECOND_SYMBOL)) || ((LA544_1 >= MOD_OPERATOR) && (LA544_1 <= MOD_SYMBOL)) || ((LA544_1 >= MULT_OPERATOR) && (LA544_1 <= NATURAL_SYMBOL)) || LA544_1 == NCHAR_TEXT || ((LA544_1 >= NOT_EQUAL2_OPERATOR) && (LA544_1 <= NOT_SYMBOL)) || LA544_1 == NULL_SAFE_EQUAL_OPERATOR || LA544_1 == ON_SYMBOL || ((LA544_1 >= ORDER_SYMBOL) && (LA544_1 <= OR_SYMBOL)) || LA544_1 == PLUS_OPERATOR || LA544_1 == PROCEDURE_SYMBOL || LA544_1 == REGEXP_SYMBOL || LA544_1 == RENAME_SYMBOL || LA544_1 == RIGHT_SYMBOL || LA544_1 == SECOND_MICROSECOND_SYMBOL || LA544_1 == SEMICOLON_SYMBOL || LA544_1 == SEPARATOR_SYMBOL || LA544_1 == SET_SYMBOL || ((LA544_1 >= SHIFT_LEFT_OPERATOR) && (LA544_1 <= SHIFT_RIGHT_OPERATOR)) || LA544_1 == SINGLE_QUOTED_TEXT || LA544_1 == STRAIGHT_JOIN_SYMBOL || LA544_1 == THEN_SYMBOL || LA544_1 == UNDERSCORE_CHARSET || LA544_1 == UNION_SYMBOL || LA544_1 == USING_SYMBOL || ((LA544_1 >= WHEN_SYMBOL) && (LA544_1 <= WHERE_SYMBOL)) || LA544_1 == WITH_SYMBOL || ((LA544_1 >= XOR_SYMBOL) && (LA544_1 <= YEAR_MONTH_SYMBOL))))
            	                        {
            	                            alt544=2;
            	                        }
            	                        else
            	                        {
            	                            if (BACKTRACKING>0)
            	                            {
            	                                FAILEDFLAG = ANTLR3_TRUE;
            	                                return retval;
            	                            }


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


            	                            goto ruleboolean_primary_expressionEx;

            	                        }
            	                    }
            	                }
            	                else if ( (LA544_0 == BITWISE_NOT_OPERATOR || LA544_0 == INTERVAL_SYMBOL || LA544_0 == LOGICAL_NOT_OPERATOR || LA544_0 == MINUS_OPERATOR || LA544_0 == NCHAR_TEXT || LA544_0 == NOT2_SYMBOL || LA544_0 == PLUS_OPERATOR || LA544_0 == SINGLE_QUOTED_TEXT || LA544_0 == UNDERSCORE_CHARSET))
            	                {
            	                    alt544=2;
            	                }
            	                else if ( ((((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES)))||((!SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))))) && (LA544_0 == DOUBLE_QUOTED_TEXT))
            	                {
            	                    alt544=2;
            	                }
            	                else if ( (LA544_0 == FALSE_SYMBOL || LA544_0 == FLOAT || ((LA544_0 >= HEXNUMBER) && (LA544_0 <= HEXSTRING)) || LA544_0 == INTEGER || LA544_0 == TRUE_SYMBOL))
            	                {
            	                    alt544=2;
            	                }
            	                else if ( ((SERVER_VERSION >= 50003)) && (((LA544_0 >= BITNUMBER) && (LA544_0 <= BITSTRING))))
            	                {
            	                    alt544=2;
            	                }
            	                else if ( (((LA544_0 >= ACTION_SYMBOL) && (LA544_0 <= ANALYZE_SYMBOL)) || ((LA544_0 >= AT_SYMBOL) && (LA544_0 <= PARTITION_SYMBOL)) || ((LA544_0 >= AT_AT_SIGN_SYMBOL) && (LA544_0 <= AT_SIGN_SYMBOL)) || LA544_0 == BACK_TICK_QUOTED_ID || LA544_0 == BINARY_SYMBOL || ((LA544_0 >= BIT_AND_SYMBOL) && (LA544_0 <= BIT_XOR_SYMBOL)) || ((LA544_0 >= CASE_SYMBOL) && (LA544_0 <= CAST_SYMBOL)) || LA544_0 == CHAR_SYMBOL || ((LA544_0 >= CONVERT_SYMBOL) && (LA544_0 <= COUNT_SYMBOL)) || LA544_0 == CURDATE_SYMBOL || LA544_0 == CURRENT_USER_SYMBOL || LA544_0 == CURTIME_SYMBOL || LA544_0 == DATABASE_SYMBOL || LA544_0 == DATE_ADD_SYMBOL || LA544_0 == DATE_SUB_SYMBOL || LA544_0 == DOT_SYMBOL || LA544_0 == EXISTS_SYMBOL || LA544_0 == EXTRACT_SYMBOL || LA544_0 == GROUP_CONCAT_SYMBOL || ((LA544_0 >= IDENTIFIER) && (LA544_0 <= IF_SYMBOL)) || LA544_0 == INSERT_SYMBOL || LA544_0 == LEFT_SYMBOL || LA544_0 == MATCH_SYMBOL || LA544_0 == MAX_SYMBOL || LA544_0 == MIN_SYMBOL || LA544_0 == MOD_SYMBOL || LA544_0 == NOW_SYMBOL || LA544_0 == NULL2_SYMBOL || LA544_0 == NULL_SYMBOL || ((LA544_0 >= OPEN_CURLY_SYMBOL) && (LA544_0 <= OPEN_PAR_SYMBOL)) || LA544_0 == PARAM_MARKER || LA544_0 == POSITION_SYMBOL || ((LA544_0 >= REPEAT_SYMBOL) && (LA544_0 <= REPLACE_SYMBOL)) || LA544_0 == RIGHT_SYMBOL || LA544_0 == STDDEV_SAMP_SYMBOL || LA544_0 == STD_SYMBOL || LA544_0 == SUBSTRING_SYMBOL || ((LA544_0 >= SUM_SYMBOL) && (LA544_0 <= SYSDATE_SYMBOL)) || LA544_0 == TRIM_SYMBOL || ((LA544_0 >= UTC_DATE_SYMBOL) && (LA544_0 <= VALUES_SYMBOL)) || LA544_0 == VARIANCE_SYMBOL || LA544_0 == VAR_SAMP_SYMBOL))
            	                {
            	                    alt544=2;
            	                }
            	                else if ( (LA544_0 == ALL_SYMBOL))
            	                {
            	                    alt544=1;
            	                }
            	                else
            	                {
            	                    if (BACKTRACKING>0)
            	                    {
            	                        FAILEDFLAG = ANTLR3_TRUE;
            	                        return retval;
            	                    }


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


            	                    goto ruleboolean_primary_expressionEx;

            	                }
            	            }
            	            switch (alt544)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1673: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";


            	        	        }

            	        	        set1747=(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, set1747))
            	        	            );
            	        	            PERRORRECOVERY=ANTLR3_FALSE;
            	        	            FAILEDFLAG=ANTLR3_FALSE;

            	        	        }
            	        	        else
            	        	        {
            	        	            if (BACKTRACKING>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_expression9279);
            	        	        subquery1748=subquery(ctx);

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

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

            	        	    }
            	        	    break;
            	        	case 2:
            	        	    // MySQL.g:1674:7: predicate
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_predicate_in_boolean_primary_expression9287);
            	        	        predicate1749=predicate(ctx);

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

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

            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;
            	case 2:
            	    // MySQL.g:1676:9: ( options {greedy=true; } : IS_SYMBOL ^ ( NOT_SYMBOL )? ( null_literal | FALSE_SYMBOL | TRUE_SYMBOL | UNKNOWN_SYMBOL ) )+
            	    {
            	        // MySQL.g:1676:9: ( options {greedy=true; } : IS_SYMBOL ^ ( NOT_SYMBOL )? ( null_literal | FALSE_SYMBOL | TRUE_SYMBOL | UNKNOWN_SYMBOL ) )+
            	        {
            	            int cnt547=0;

            	            for (;;)
            	            {
            	                int alt547=2;
            	        	switch ( LA(1) )
            	        	{
            	        	case IS_SYMBOL:
            	        		{
            	        			alt547=1;
            	        		}
            	        	    break;

            	        	}

            	        	switch (alt547)
            	        	{
            	        	    case 1:
            	        	        // MySQL.g:1676:39: IS_SYMBOL ^ ( NOT_SYMBOL )? ( null_literal | FALSE_SYMBOL | TRUE_SYMBOL | UNKNOWN_SYMBOL )
            	        	        {
            	        	            IS_SYMBOL1750 = (pANTLR3_COMMON_TOKEN) MATCHT(IS_SYMBOL, &FOLLOW_IS_SYMBOL_in_boolean_primary_expression9316);
            	        	            if  (HASEXCEPTION())
            	        	            {
            	        	                goto ruleboolean_primary_expressionEx;
            	        	            }
            	        	            if (HASFAILED())
            	        	            {
            	        	                return retval;
            	        	            }

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

            	        	            // MySQL.g:1676:50: ( NOT_SYMBOL )?
            	        	            {
            	        	                int alt545=2;
            	        	                switch ( LA(1) )
            	        	                {
            	        	                    case NOT_SYMBOL:
            	        	                    	{
            	        	                    		alt545=1;
            	        	                    	}
            	        	                        break;
            	        	                }

            	        	                switch (alt545)
            	        	                {
            	        	            	case 1:
            	        	            	    // MySQL.g:1676:50: NOT_SYMBOL
            	        	            	    {
            	        	            	        NOT_SYMBOL1751 = (pANTLR3_COMMON_TOKEN) MATCHT(NOT_SYMBOL, &FOLLOW_NOT_SYMBOL_in_boolean_primary_expression9319);
            	        	            	        if  (HASEXCEPTION())
            	        	            	        {
            	        	            	            goto ruleboolean_primary_expressionEx;
            	        	            	        }
            	        	            	        if (HASFAILED())
            	        	            	        {
            	        	            	            return retval;
            	        	            	        }

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

            	        	            	    }
            	        	            	    break;

            	        	                }
            	        	            }

            	        	            // MySQL.g:1676:62: ( null_literal | FALSE_SYMBOL | TRUE_SYMBOL | UNKNOWN_SYMBOL )
            	        	            {
            	        	                int alt546=4;
            	        	                switch ( LA(1) )
            	        	                {
            	        	                case NULL2_SYMBOL:
            	        	                case NULL_SYMBOL:
            	        	                	{
            	        	                		alt546=1;
            	        	                	}
            	        	                    break;
            	        	                case FALSE_SYMBOL:
            	        	                	{
            	        	                		alt546=2;
            	        	                	}
            	        	                    break;
            	        	                case TRUE_SYMBOL:
            	        	                	{
            	        	                		alt546=3;
            	        	                	}
            	        	                    break;
            	        	                case UNKNOWN_SYMBOL:
            	        	                	{
            	        	                		alt546=4;
            	        	                	}
            	        	                    break;

            	        	                default:
            	        	                    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:1676:64: null_literal
            	        	            	    {
            	        	            	        FOLLOWPUSH(FOLLOW_null_literal_in_boolean_primary_expression9324);
            	        	            	        null_literal1752=null_literal(ctx);

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

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

            	        	            	    }
            	        	            	    break;
            	        	            	case 2:
            	        	            	    // MySQL.g:1676:79: FALSE_SYMBOL
            	        	            	    {
            	        	            	        FALSE_SYMBOL1753 = (pANTLR3_COMMON_TOKEN) MATCHT(FALSE_SYMBOL, &FOLLOW_FALSE_SYMBOL_in_boolean_primary_expression9328);
            	        	            	        if  (HASEXCEPTION())
            	        	            	        {
            	        	            	            goto ruleboolean_primary_expressionEx;
            	        	            	        }
            	        	            	        if (HASFAILED())
            	        	            	        {
            	        	            	            return retval;
            	        	            	        }

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

            	        	            	    }
            	        	            	    break;
            	        	            	case 3:
            	        	            	    // MySQL.g:1676:94: TRUE_SYMBOL
            	        	            	    {
            	        	            	        TRUE_SYMBOL1754 = (pANTLR3_COMMON_TOKEN) MATCHT(TRUE_SYMBOL, &FOLLOW_TRUE_SYMBOL_in_boolean_primary_expression9332);
            	        	            	        if  (HASEXCEPTION())
            	        	            	        {
            	        	            	            goto ruleboolean_primary_expressionEx;
            	        	            	        }
            	        	            	        if (HASFAILED())
            	        	            	        {
            	        	            	            return retval;
            	        	            	        }

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

            	        	            	    }
            	        	            	    break;
            	        	            	case 4:
            	        	            	    // MySQL.g:1676:108: UNKNOWN_SYMBOL
            	        	            	    {
            	        	            	        UNKNOWN_SYMBOL1755 = (pANTLR3_COMMON_TOKEN) MATCHT(UNKNOWN_SYMBOL, &FOLLOW_UNKNOWN_SYMBOL_in_boolean_primary_expression9336);
            	        	            	        if  (HASEXCEPTION())
            	        	            	        {
            	        	            	            goto ruleboolean_primary_expressionEx;
            	        	            	        }
            	        	            	        if (HASFAILED())
            	        	            	        {
            	        	            	            return retval;
            	        	            	        }

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

            	        	            	    }
            	        	            	    break;

            	        	                }
            	        	            }

            	        	        }
            	        	        break;

            	        	    default:

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

            	    }
            	    break;

            	default:
            	    goto loop548;	/* break out of the loop */
            	    break;
                }
            }
            loop548: ; /* 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:1680: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_SYMBOL1757;
    pANTLR3_COMMON_TOKEN    BETWEEN_SYMBOL1758;
    pANTLR3_COMMON_TOKEN    AND_SYMBOL1760;
    pANTLR3_COMMON_TOKEN    LIKE_SYMBOL1762;
    pANTLR3_COMMON_TOKEN    ESCAPE_SYMBOL1764;
    pANTLR3_COMMON_TOKEN    REGEXP_SYMBOL1766;
    pANTLR3_COMMON_TOKEN    IN_SYMBOL1768;
    pANTLR3_COMMON_TOKEN    SOUNDS_SYMBOL1771;
    pANTLR3_COMMON_TOKEN    LIKE_SYMBOL1772;
    MySQLParser_bitwise_or_expression_return bitwise_or_expression1756;
    #undef	RETURN_TYPE_bitwise_or_expression1756
    #define	RETURN_TYPE_bitwise_or_expression1756 MySQLParser_bitwise_or_expression_return

    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_predicate_return predicate1761;
    #undef	RETURN_TYPE_predicate1761
    #define	RETURN_TYPE_predicate1761 MySQLParser_predicate_return

    MySQLParser_unary_expression_return unary_expression1763;
    #undef	RETURN_TYPE_unary_expression1763
    #define	RETURN_TYPE_unary_expression1763 MySQLParser_unary_expression_return

    MySQLParser_primary_return primary1765;
    #undef	RETURN_TYPE_primary1765
    #define	RETURN_TYPE_primary1765 MySQLParser_primary_return

    MySQLParser_bitwise_or_expression_return bitwise_or_expression1767;
    #undef	RETURN_TYPE_bitwise_or_expression1767
    #define	RETURN_TYPE_bitwise_or_expression1767 MySQLParser_bitwise_or_expression_return

    MySQLParser_subquery_return subquery1769;
    #undef	RETURN_TYPE_subquery1769
    #define	RETURN_TYPE_subquery1769 MySQLParser_subquery_return

    MySQLParser_expression_list_with_parentheses_return expression_list_with_parentheses1770;
    #undef	RETURN_TYPE_expression_list_with_parentheses1770
    #define	RETURN_TYPE_expression_list_with_parentheses1770 MySQLParser_expression_list_with_parentheses_return

    MySQLParser_bitwise_or_expression_return bitwise_or_expression1773;
    #undef	RETURN_TYPE_bitwise_or_expression1773
    #define	RETURN_TYPE_bitwise_or_expression1773 MySQLParser_bitwise_or_expression_return

    pANTLR3_BASE_TREE NOT_SYMBOL1757_tree;
    pANTLR3_BASE_TREE BETWEEN_SYMBOL1758_tree;
    pANTLR3_BASE_TREE AND_SYMBOL1760_tree;
    pANTLR3_BASE_TREE LIKE_SYMBOL1762_tree;
    pANTLR3_BASE_TREE ESCAPE_SYMBOL1764_tree;
    pANTLR3_BASE_TREE REGEXP_SYMBOL1766_tree;
    pANTLR3_BASE_TREE IN_SYMBOL1768_tree;
    pANTLR3_BASE_TREE SOUNDS_SYMBOL1771_tree;
    pANTLR3_BASE_TREE LIKE_SYMBOL1772_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    NOT_SYMBOL1757       = NULL;
    BETWEEN_SYMBOL1758       = NULL;
    AND_SYMBOL1760       = NULL;
    LIKE_SYMBOL1762       = NULL;
    ESCAPE_SYMBOL1764       = NULL;
    REGEXP_SYMBOL1766       = NULL;
    IN_SYMBOL1768       = NULL;
    SOUNDS_SYMBOL1771       = NULL;
    LIKE_SYMBOL1772       = NULL;
    bitwise_or_expression1756.tree = NULL;

    bitwise_or_expression1759.tree = NULL;

    predicate1761.tree = NULL;

    unary_expression1763.tree = NULL;

    primary1765.tree = NULL;

    bitwise_or_expression1767.tree = NULL;

    subquery1769.tree = NULL;

    expression_list_with_parentheses1770.tree = NULL;

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


    NOT_SYMBOL1757_tree   = NULL;
    BETWEEN_SYMBOL1758_tree   = NULL;
    AND_SYMBOL1760_tree   = NULL;
    LIKE_SYMBOL1762_tree   = NULL;
    ESCAPE_SYMBOL1764_tree   = NULL;
    REGEXP_SYMBOL1766_tree   = NULL;
    IN_SYMBOL1768_tree   = NULL;
    SOUNDS_SYMBOL1771_tree   = NULL;
    LIKE_SYMBOL1772_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1680: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:1681: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_predicate9353);
            bitwise_or_expression1756=bitwise_or_expression(ctx);

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

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

            // MySQL.g:1682: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 alt553=3;
                switch ( LA(1) )
                {
                    case NOT_SYMBOL:
                    	{
                    		alt553=1;
                    	}
                        break;
                    case BETWEEN_SYMBOL:
                    	{
                    		alt553=1;
                    	}
                        break;
                    case LIKE_SYMBOL:
                    	{
                    		alt553=1;
                    	}
                        break;
                    case REGEXP_SYMBOL:
                    	{
                    		alt553=1;
                    	}
                        break;
                    case IN_SYMBOL:
                    	{
                    		alt553=1;
                    	}
                        break;
                    case SOUNDS_SYMBOL:
                    	{
                    		alt553=2;
                    	}
                        break;
                }

                switch (alt553)
                {
            	case 1:
            	    // MySQL.g:1683: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:1683:4: ( NOT_SYMBOL )?
            	        {
            	            int alt549=2;
            	            switch ( LA(1) )
            	            {
            	                case NOT_SYMBOL:
            	                	{
            	                		alt549=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt549)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1683:4: NOT_SYMBOL
            	        	    {
            	        	        NOT_SYMBOL1757 = (pANTLR3_COMMON_TOKEN) MATCHT(NOT_SYMBOL, &FOLLOW_NOT_SYMBOL_in_predicate9374);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulepredicateEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

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

            	        	    }
            	        	    break;

            	            }
            	        }

            	        // MySQL.g:1684: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 alt552=4;
            	            switch ( LA(1) )
            	            {
            	            case BETWEEN_SYMBOL:
            	            	{
            	            		alt552=1;
            	            	}
            	                break;
            	            case LIKE_SYMBOL:
            	            	{
            	            		alt552=2;
            	            	}
            	                break;
            	            case REGEXP_SYMBOL:
            	            	{
            	            		alt552=3;
            	            	}
            	                break;
            	            case IN_SYMBOL:
            	            	{
            	            		alt552=4;
            	            	}
            	                break;

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

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


            	                goto rulepredicateEx;

            	            }

            	            switch (alt552)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1685:6: BETWEEN_SYMBOL ^ bitwise_or_expression AND_SYMBOL predicate
            	        	    {
            	        	        BETWEEN_SYMBOL1758 = (pANTLR3_COMMON_TOKEN) MATCHT(BETWEEN_SYMBOL, &FOLLOW_BETWEEN_SYMBOL_in_predicate9388);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulepredicateEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

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

            	        	        FOLLOWPUSH(FOLLOW_bitwise_or_expression_in_predicate9391);
            	        	        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);

            	        	        AND_SYMBOL1760 = (pANTLR3_COMMON_TOKEN) MATCHT(AND_SYMBOL, &FOLLOW_AND_SYMBOL_in_predicate9393);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulepredicateEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

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

            	        	        FOLLOWPUSH(FOLLOW_predicate_in_predicate9395);
            	        	        predicate1761=predicate(ctx);

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

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

            	        	    }
            	        	    break;
            	        	case 2:
            	        	    // MySQL.g:1686:8: LIKE_SYMBOL ^ unary_expression ( options {greedy=true; } : ESCAPE_SYMBOL primary )?
            	        	    {
            	        	        LIKE_SYMBOL1762 = (pANTLR3_COMMON_TOKEN) MATCHT(LIKE_SYMBOL, &FOLLOW_LIKE_SYMBOL_in_predicate9404);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulepredicateEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

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

            	        	        FOLLOWPUSH(FOLLOW_unary_expression_in_predicate9407);
            	        	        unary_expression1763=unary_expression(ctx);

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

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

            	        	        // MySQL.g:1686:38: ( options {greedy=true; } : ESCAPE_SYMBOL primary )?
            	        	        {
            	        	            int alt550=2;
            	        	            switch ( LA(1) )
            	        	            {
            	        	                case ESCAPE_SYMBOL:
            	        	                	{
            	        	                		alt550=1;
            	        	                	}
            	        	                    break;
            	        	            }

            	        	            switch (alt550)
            	        	            {
            	        	        	case 1:
            	        	        	    // MySQL.g:1686:68: ESCAPE_SYMBOL primary
            	        	        	    {
            	        	        	        ESCAPE_SYMBOL1764 = (pANTLR3_COMMON_TOKEN) MATCHT(ESCAPE_SYMBOL, &FOLLOW_ESCAPE_SYMBOL_in_predicate9423);
            	        	        	        if  (HASEXCEPTION())
            	        	        	        {
            	        	        	            goto rulepredicateEx;
            	        	        	        }
            	        	        	        if (HASFAILED())
            	        	        	        {
            	        	        	            return retval;
            	        	        	        }

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

            	        	        	        FOLLOWPUSH(FOLLOW_primary_in_predicate9425);
            	        	        	        primary1765=primary(ctx);

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

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

            	        	        	    }
            	        	        	    break;

            	        	            }
            	        	        }

            	        	    }
            	        	    break;
            	        	case 3:
            	        	    // MySQL.g:1687:8: REGEXP_SYMBOL ^ bitwise_or_expression
            	        	    {
            	        	        REGEXP_SYMBOL1766 = (pANTLR3_COMMON_TOKEN) MATCHT(REGEXP_SYMBOL, &FOLLOW_REGEXP_SYMBOL_in_predicate9436);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulepredicateEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

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

            	        	        FOLLOWPUSH(FOLLOW_bitwise_or_expression_in_predicate9439);
            	        	        bitwise_or_expression1767=bitwise_or_expression(ctx);

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

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

            	        	    }
            	        	    break;
            	        	case 4:
            	        	    // MySQL.g:1688:8: IN_SYMBOL ^ ( subquery | expression_list_with_parentheses )
            	        	    {
            	        	        IN_SYMBOL1768 = (pANTLR3_COMMON_TOKEN) MATCHT(IN_SYMBOL, &FOLLOW_IN_SYMBOL_in_predicate9448);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulepredicateEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

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

            	        	        // MySQL.g:1688:19: ( subquery | expression_list_with_parentheses )
            	        	        {
            	        	            int alt551=2;
            	        	            switch ( LA(1) )
            	        	            {
            	        	            case OPEN_PAR_SYMBOL:
            	        	            	{
            	        	            		{
            	        	            		    int LA551_1 = LA(2);
            	        	            		    if ( (LA551_1 == SELECT_SYMBOL))
            	        	            		    {
            	        	            		        alt551=1;
            	        	            		    }
            	        	            		    else if ( (((LA551_1 >= ACTION_SYMBOL) && (LA551_1 <= PARTITION_SYMBOL)) || ((LA551_1 >= AT_AT_SIGN_SYMBOL) && (LA551_1 <= AT_SIGN_SYMBOL)) || LA551_1 == BACK_TICK_QUOTED_ID || LA551_1 == BINARY_SYMBOL || ((LA551_1 >= BITNUMBER) && (LA551_1 <= BITSTRING)) || LA551_1 == BITWISE_NOT_OPERATOR || ((LA551_1 >= BIT_AND_SYMBOL) && (LA551_1 <= BIT_XOR_SYMBOL)) || ((LA551_1 >= CASE_SYMBOL) && (LA551_1 <= CAST_SYMBOL)) || LA551_1 == CHAR_SYMBOL || ((LA551_1 >= CONVERT_SYMBOL) && (LA551_1 <= COUNT_SYMBOL)) || LA551_1 == CURDATE_SYMBOL || LA551_1 == CURRENT_USER_SYMBOL || LA551_1 == CURTIME_SYMBOL || LA551_1 == DATABASE_SYMBOL || LA551_1 == DATE_ADD_SYMBOL || LA551_1 == DATE_SUB_SYMBOL || LA551_1 == DOT_SYMBOL || LA551_1 == DOUBLE_QUOTED_TEXT || LA551_1 == EXISTS_SYMBOL || ((LA551_1 >= EXTRACT_SYMBOL) && (LA551_1 <= FALSE_SYMBOL)) || LA551_1 == FLOAT || LA551_1 == GROUP_CONCAT_SYMBOL || ((LA551_1 >= HEXNUMBER) && (LA551_1 <= HEXSTRING)) || ((LA551_1 >= IDENTIFIER) && (LA551_1 <= IF_SYMBOL)) || LA551_1 == INSERT_SYMBOL || LA551_1 == INTEGER || LA551_1 == INTERVAL_SYMBOL || LA551_1 == LEFT_SYMBOL || LA551_1 == LOGICAL_NOT_OPERATOR || LA551_1 == MATCH_SYMBOL || LA551_1 == MAX_SYMBOL || LA551_1 == MINUS_OPERATOR || LA551_1 == MIN_SYMBOL || LA551_1 == MOD_SYMBOL || LA551_1 == NCHAR_TEXT || LA551_1 == NOT2_SYMBOL || ((LA551_1 >= NOT_SYMBOL) && (LA551_1 <= NOW_SYMBOL)) || LA551_1 == NULL2_SYMBOL || LA551_1 == NULL_SYMBOL || ((LA551_1 >= OPEN_CURLY_SYMBOL) && (LA551_1 <= OPEN_PAR_SYMBOL)) || LA551_1 == PARAM_MARKER || ((LA551_1 >= PLUS_OPERATOR) && (LA551_1 <= POSITION_SYMBOL)) || ((LA551_1 >= REPEAT_SYMBOL) && (LA551_1 <= REPLACE_SYMBOL)) || LA551_1 == RIGHT_SYMBOL || LA551_1 == SINGLE_QUOTED_TEXT || LA551_1 == STDDEV_SAMP_SYMBOL || LA551_1 == STD_SYMBOL || LA551_1 == SUBSTRING_SYMBOL || ((LA551_1 >= SUM_SYMBOL) && (LA551_1 <= SYSDATE_SYMBOL)) || ((LA551_1 >= TRIM_SYMBOL) && (LA551_1 <= TRUE_SYMBOL)) || LA551_1 == UNDERSCORE_CHARSET || ((LA551_1 >= UTC_DATE_SYMBOL) && (LA551_1 <= VALUES_SYMBOL)) || LA551_1 == VARIANCE_SYMBOL || LA551_1 == VAR_SAMP_SYMBOL))
            	        	            		    {
            	        	            		        alt551=2;
            	        	            		    }
            	        	            		    else
            	        	            		    {
            	        	            		        if (BACKTRACKING>0)
            	        	            		        {
            	        	            		            FAILEDFLAG = ANTLR3_TRUE;
            	        	            		            return retval;
            	        	            		        }


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


            	        	                goto rulepredicateEx;

            	        	            }

            	        	            switch (alt551)
            	        	            {
            	        	        	case 1:
            	        	        	    // MySQL.g:1688:21: subquery
            	        	        	    {
            	        	        	        FOLLOWPUSH(FOLLOW_subquery_in_predicate9453);
            	        	        	        subquery1769=subquery(ctx);

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

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

            	        	        	    }
            	        	        	    break;
            	        	        	case 2:
            	        	        	    // MySQL.g:1688:32: expression_list_with_parentheses
            	        	        	    {
            	        	        	        FOLLOWPUSH(FOLLOW_expression_list_with_parentheses_in_predicate9457);
            	        	        	        expression_list_with_parentheses1770=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_parentheses1770.tree);

            	        	        	    }
            	        	        	    break;

            	        	            }
            	        	        }

            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;
            	case 2:
            	    // MySQL.g:1690:9: SOUNDS_SYMBOL ^ LIKE_SYMBOL bitwise_or_expression
            	    {
            	        SOUNDS_SYMBOL1771 = (pANTLR3_COMMON_TOKEN) MATCHT(SOUNDS_SYMBOL, &FOLLOW_SOUNDS_SYMBOL_in_predicate9477);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulepredicateEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

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

            	        LIKE_SYMBOL1772 = (pANTLR3_COMMON_TOKEN) MATCHT(LIKE_SYMBOL, &FOLLOW_LIKE_SYMBOL_in_predicate9480);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulepredicateEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

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

            	        FOLLOWPUSH(FOLLOW_bitwise_or_expression_in_predicate9482);
            	        bitwise_or_expression1773=bitwise_or_expression(ctx);

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

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, bitwise_or_expression1773.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:1694: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_OPERATOR1775;
    MySQLParser_bitwise_and_expression_return bitwise_and_expression1774;
    #undef	RETURN_TYPE_bitwise_and_expression1774
    #define	RETURN_TYPE_bitwise_and_expression1774 MySQLParser_bitwise_and_expression_return

    MySQLParser_bitwise_and_expression_return bitwise_and_expression1776;
    #undef	RETURN_TYPE_bitwise_and_expression1776
    #define	RETURN_TYPE_bitwise_and_expression1776 MySQLParser_bitwise_and_expression_return

    pANTLR3_BASE_TREE BITWISE_OR_OPERATOR1775_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    BITWISE_OR_OPERATOR1775       = NULL;
    bitwise_and_expression1774.tree = NULL;

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


    BITWISE_OR_OPERATOR1775_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1694:22: ( bitwise_and_expression ( options {greedy=true; } : BITWISE_OR_OPERATOR ^ bitwise_and_expression )* )
        // MySQL.g:1695: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_expression9496);
            bitwise_and_expression1774=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_expression1774.tree);

            // MySQL.g:1695:25: ( options {greedy=true; } : BITWISE_OR_OPERATOR ^ bitwise_and_expression )*

            for (;;)
            {
                int alt554=2;
                switch ( LA(1) )
                {
                case BITWISE_OR_OPERATOR:
                	{
                		alt554=1;
                	}
                    break;

                }

                switch (alt554)
                {
            	case 1:
            	    // MySQL.g:1695:55: BITWISE_OR_OPERATOR ^ bitwise_and_expression
            	    {
            	        BITWISE_OR_OPERATOR1775 = (pANTLR3_COMMON_TOKEN) MATCHT(BITWISE_OR_OPERATOR, &FOLLOW_BITWISE_OR_OPERATOR_in_bitwise_or_expression9512);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulebitwise_or_expressionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

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

            	        FOLLOWPUSH(FOLLOW_bitwise_and_expression_in_bitwise_or_expression9515);
            	        bitwise_and_expression1776=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_expression1776.tree);

            	    }
            	    break;

            	default:
            	    goto loop554;	/* break out of the loop */
            	    break;
                }
            }
            loop554: ; /* 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:1698: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_OPERATOR1778;
    MySQLParser_shift_expression_return shift_expression1777;
    #undef	RETURN_TYPE_shift_expression1777
    #define	RETURN_TYPE_shift_expression1777 MySQLParser_shift_expression_return

    MySQLParser_shift_expression_return shift_expression1779;
    #undef	RETURN_TYPE_shift_expression1779
    #define	RETURN_TYPE_shift_expression1779 MySQLParser_shift_expression_return

    pANTLR3_BASE_TREE BITWISE_AND_OPERATOR1778_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    BITWISE_AND_OPERATOR1778       = NULL;
    shift_expression1777.tree = NULL;

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


    BITWISE_AND_OPERATOR1778_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1698:23: ( shift_expression ( options {greedy=true; } : BITWISE_AND_OPERATOR ^ shift_expression )* )
        // MySQL.g:1699: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_expression9526);
            shift_expression1777=shift_expression(ctx);

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

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

            // MySQL.g:1699:19: ( options {greedy=true; } : BITWISE_AND_OPERATOR ^ shift_expression )*

            for (;;)
            {
                int alt555=2;
                switch ( LA(1) )
                {
                case BITWISE_AND_OPERATOR:
                	{
                		alt555=1;
                	}
                    break;

                }

                switch (alt555)
                {
            	case 1:
            	    // MySQL.g:1699:49: BITWISE_AND_OPERATOR ^ shift_expression
            	    {
            	        BITWISE_AND_OPERATOR1778 = (pANTLR3_COMMON_TOKEN) MATCHT(BITWISE_AND_OPERATOR, &FOLLOW_BITWISE_AND_OPERATOR_in_bitwise_and_expression9542);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulebitwise_and_expressionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

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

            	        FOLLOWPUSH(FOLLOW_shift_expression_in_bitwise_and_expression9545);
            	        shift_expression1779=shift_expression(ctx);

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

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

            	    }
            	    break;

            	default:
            	    goto loop555;	/* break out of the loop */
            	    break;
                }
            }
            loop555: ; /* 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:1702: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    set1781;
    MySQLParser_additive_expression_return additive_expression1780;
    #undef	RETURN_TYPE_additive_expression1780
    #define	RETURN_TYPE_additive_expression1780 MySQLParser_additive_expression_return

    MySQLParser_additive_expression_return additive_expression1782;
    #undef	RETURN_TYPE_additive_expression1782
    #define	RETURN_TYPE_additive_expression1782 MySQLParser_additive_expression_return

    pANTLR3_BASE_TREE set1781_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    set1781       = NULL;
    additive_expression1780.tree = NULL;

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


    set1781_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1702:17: ( additive_expression ( options {greedy=true; } : ( SHIFT_LEFT_OPERATOR | SHIFT_RIGHT_OPERATOR ) ^ additive_expression )* )
        // MySQL.g:1703: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_expression9556);
            additive_expression1780=additive_expression(ctx);

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

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

            // MySQL.g:1703:22: ( options {greedy=true; } : ( SHIFT_LEFT_OPERATOR | SHIFT_RIGHT_OPERATOR ) ^ additive_expression )*

            for (;;)
            {
                int alt556=2;
                switch ( LA(1) )
                {
                case SHIFT_LEFT_OPERATOR:
                case SHIFT_RIGHT_OPERATOR:
                	{
                		alt556=1;
                	}
                    break;

                }

                switch (alt556)
                {
            	case 1:
            	    // MySQL.g:1703:52: ( SHIFT_LEFT_OPERATOR | SHIFT_RIGHT_OPERATOR ) ^ additive_expression
            	    {
            	        set1781=(pANTLR3_COMMON_TOKEN)LT(1);

            	        set1781=(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, set1781))
            	            , 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_expression9581);
            	        additive_expression1782=additive_expression(ctx);

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

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, additive_expression1782.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 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:1706: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    set1784;
    MySQLParser_multiplicative_expression_return multiplicative_expression1783;
    #undef	RETURN_TYPE_multiplicative_expression1783
    #define	RETURN_TYPE_multiplicative_expression1783 MySQLParser_multiplicative_expression_return

    MySQLParser_multiplicative_expression_return multiplicative_expression1785;
    #undef	RETURN_TYPE_multiplicative_expression1785
    #define	RETURN_TYPE_multiplicative_expression1785 MySQLParser_multiplicative_expression_return

    pANTLR3_BASE_TREE set1784_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    set1784       = NULL;
    multiplicative_expression1783.tree = NULL;

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


    set1784_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1706:20: ( multiplicative_expression ( options {greedy=true; } : ( PLUS_OPERATOR | MINUS_OPERATOR ) ^ multiplicative_expression )* )
        // MySQL.g:1707: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_expression9592);
            multiplicative_expression1783=multiplicative_expression(ctx);

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

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

            // MySQL.g:1707:28: ( options {greedy=true; } : ( PLUS_OPERATOR | MINUS_OPERATOR ) ^ multiplicative_expression )*

            for (;;)
            {
                int alt557=2;
                switch ( LA(1) )
                {
                case MINUS_OPERATOR:
                case PLUS_OPERATOR:
                	{
                		alt557=1;
                	}
                    break;

                }

                switch (alt557)
                {
            	case 1:
            	    // MySQL.g:1707:57: ( PLUS_OPERATOR | MINUS_OPERATOR ) ^ multiplicative_expression
            	    {
            	        set1784=(pANTLR3_COMMON_TOKEN)LT(1);

            	        set1784=(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, 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 ruleadditive_expressionEx;
            	        }


            	        FOLLOWPUSH(FOLLOW_multiplicative_expression_in_additive_expression9617);
            	        multiplicative_expression1785=multiplicative_expression(ctx);

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

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, multiplicative_expression1785.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 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:1710: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_expression1786;
    #undef	RETURN_TYPE_bitwise_xor_expression1786
    #define	RETURN_TYPE_bitwise_xor_expression1786 MySQLParser_bitwise_xor_expression_return

    MySQLParser_multiplication_operator_return multiplication_operator1787;
    #undef	RETURN_TYPE_multiplication_operator1787
    #define	RETURN_TYPE_multiplication_operator1787 MySQLParser_multiplication_operator_return

    MySQLParser_bitwise_xor_expression_return bitwise_xor_expression1788;
    #undef	RETURN_TYPE_bitwise_xor_expression1788
    #define	RETURN_TYPE_bitwise_xor_expression1788 MySQLParser_bitwise_xor_expression_return


    /* Initialize rule variables
     */

    root_0 = NULL;

    bitwise_xor_expression1786.tree = NULL;

    multiplication_operator1787.tree = NULL;

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




    retval.tree  = NULL;

    {
        // MySQL.g:1710:26: ( bitwise_xor_expression ( options {greedy=true; } : multiplication_operator ^ bitwise_xor_expression )* )
        // MySQL.g:1711: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_expression9628);
            bitwise_xor_expression1786=bitwise_xor_expression(ctx);

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

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

            // MySQL.g:1711:25: ( options {greedy=true; } : multiplication_operator ^ bitwise_xor_expression )*

            for (;;)
            {
                int alt558=2;
                switch ( LA(1) )
                {
                case DIV_OPERATOR:
                case DIV_SYMBOL:
                case MOD_OPERATOR:
                case MOD_SYMBOL:
                case MULT_OPERATOR:
                	{
                		alt558=1;
                	}
                    break;

                }

                switch (alt558)
                {
            	case 1:
            	    // MySQL.g:1711:55: multiplication_operator ^ bitwise_xor_expression
            	    {
            	        FOLLOWPUSH(FOLLOW_multiplication_operator_in_multiplicative_expression9644);
            	        multiplication_operator1787=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_operator1787.tree, root_0));

            	        FOLLOWPUSH(FOLLOW_bitwise_xor_expression_in_multiplicative_expression9647);
            	        bitwise_xor_expression1788=bitwise_xor_expression(ctx);

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

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, bitwise_xor_expression1788.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 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:1714: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_OPERATOR1790;
    MySQLParser_concat_expression_return concat_expression1789;
    #undef	RETURN_TYPE_concat_expression1789
    #define	RETURN_TYPE_concat_expression1789 MySQLParser_concat_expression_return

    MySQLParser_concat_expression_return concat_expression1791;
    #undef	RETURN_TYPE_concat_expression1791
    #define	RETURN_TYPE_concat_expression1791 MySQLParser_concat_expression_return

    pANTLR3_BASE_TREE BITWISE_XOR_OPERATOR1790_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    BITWISE_XOR_OPERATOR1790       = NULL;
    concat_expression1789.tree = NULL;

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


    BITWISE_XOR_OPERATOR1790_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1714:23: ( concat_expression ( options {greedy=true; } : BITWISE_XOR_OPERATOR ^ concat_expression )* )
        // MySQL.g:1715: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_expression9658);
            concat_expression1789=concat_expression(ctx);

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

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

            // MySQL.g:1715:20: ( options {greedy=true; } : BITWISE_XOR_OPERATOR ^ concat_expression )*

            for (;;)
            {
                int alt559=2;
                switch ( LA(1) )
                {
                case BITWISE_XOR_OPERATOR:
                	{
                		alt559=1;
                	}
                    break;

                }

                switch (alt559)
                {
            	case 1:
            	    // MySQL.g:1715:50: BITWISE_XOR_OPERATOR ^ concat_expression
            	    {
            	        BITWISE_XOR_OPERATOR1790 = (pANTLR3_COMMON_TOKEN) MATCHT(BITWISE_XOR_OPERATOR, &FOLLOW_BITWISE_XOR_OPERATOR_in_bitwise_xor_expression9674);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulebitwise_xor_expressionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

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

            	        FOLLOWPUSH(FOLLOW_concat_expression_in_bitwise_xor_expression9677);
            	        concat_expression1791=concat_expression(ctx);

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

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, concat_expression1791.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 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:1719: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_SYMBOL1793;
    MySQLParser_unary_expression_return unary_expression1792;
    #undef	RETURN_TYPE_unary_expression1792
    #define	RETURN_TYPE_unary_expression1792 MySQLParser_unary_expression_return

    MySQLParser_unary_expression_return unary_expression1794;
    #undef	RETURN_TYPE_unary_expression1794
    #define	RETURN_TYPE_unary_expression1794 MySQLParser_unary_expression_return

    pANTLR3_BASE_TREE CONCAT_PIPES_SYMBOL1793_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    CONCAT_PIPES_SYMBOL1793       = NULL;
    unary_expression1792.tree = NULL;

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


    CONCAT_PIPES_SYMBOL1793_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1719:18: ( unary_expression ( options {greedy=true; } : CONCAT_PIPES_SYMBOL ^ unary_expression )* )
        // MySQL.g:1720: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_expression9689);
            unary_expression1792=unary_expression(ctx);

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

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

            // MySQL.g:1720:19: ( options {greedy=true; } : CONCAT_PIPES_SYMBOL ^ unary_expression )*

            for (;;)
            {
                int alt560=2;
                switch ( LA(1) )
                {
                case CONCAT_PIPES_SYMBOL:
                	{
                		alt560=1;
                	}
                    break;

                }

                switch (alt560)
                {
            	case 1:
            	    // MySQL.g:1720:49: CONCAT_PIPES_SYMBOL ^ unary_expression
            	    {
            	        CONCAT_PIPES_SYMBOL1793 = (pANTLR3_COMMON_TOKEN) MATCHT(CONCAT_PIPES_SYMBOL, &FOLLOW_CONCAT_PIPES_SYMBOL_in_concat_expression9705);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleconcat_expressionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

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

            	        FOLLOWPUSH(FOLLOW_unary_expression_in_concat_expression9708);
            	        unary_expression1794=unary_expression(ctx);

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

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, unary_expression1794.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 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:1723: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    set1795;
    MySQLParser_unary_expression_return unary_expression1796;
    #undef	RETURN_TYPE_unary_expression1796
    #define	RETURN_TYPE_unary_expression1796 MySQLParser_unary_expression_return

    MySQLParser_not_expression_return not_expression1797;
    #undef	RETURN_TYPE_not_expression1797
    #define	RETURN_TYPE_not_expression1797 MySQLParser_not_expression_return

    pANTLR3_BASE_TREE set1795_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    set1795       = NULL;
    unary_expression1796.tree = NULL;

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


    set1795_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:1723:17: ( ( PLUS_OPERATOR | MINUS_OPERATOR | BITWISE_NOT_OPERATOR ) ^ unary_expression | not_expression )

            ANTLR3_UINT32 alt561;

            alt561=2;

            {
                int LA561_0 = LA(1);
                if ( (LA561_0 == BITWISE_NOT_OPERATOR || LA561_0 == MINUS_OPERATOR || LA561_0 == PLUS_OPERATOR))
                {
                    alt561=1;
                }
                else if ( (LA561_0 == INTERVAL_SYMBOL || LA561_0 == LOGICAL_NOT_OPERATOR || LA561_0 == NCHAR_TEXT || LA561_0 == NOT2_SYMBOL || LA561_0 == SINGLE_QUOTED_TEXT || LA561_0 == UNDERSCORE_CHARSET))
                {
                    alt561=2;
                }
                else if ( ((((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES)))||((!SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))))) && (LA561_0 == DOUBLE_QUOTED_TEXT))
                {
                    alt561=2;
                }
                else if ( (LA561_0 == FALSE_SYMBOL || LA561_0 == FLOAT || ((LA561_0 >= HEXNUMBER) && (LA561_0 <= HEXSTRING)) || LA561_0 == INTEGER || LA561_0 == TRUE_SYMBOL))
                {
                    alt561=2;
                }
                else if ( ((SERVER_VERSION >= 50003)) && (((LA561_0 >= BITNUMBER) && (LA561_0 <= BITSTRING))))
                {
                    alt561=2;
                }
                else if ( (((LA561_0 >= ACTION_SYMBOL) && (LA561_0 <= PARTITION_SYMBOL)) || ((LA561_0 >= AT_AT_SIGN_SYMBOL) && (LA561_0 <= AT_SIGN_SYMBOL)) || LA561_0 == BACK_TICK_QUOTED_ID || LA561_0 == BINARY_SYMBOL || ((LA561_0 >= BIT_AND_SYMBOL) && (LA561_0 <= BIT_XOR_SYMBOL)) || ((LA561_0 >= CASE_SYMBOL) && (LA561_0 <= CAST_SYMBOL)) || LA561_0 == CHAR_SYMBOL || ((LA561_0 >= CONVERT_SYMBOL) && (LA561_0 <= COUNT_SYMBOL)) || LA561_0 == CURDATE_SYMBOL || LA561_0 == CURRENT_USER_SYMBOL || LA561_0 == CURTIME_SYMBOL || LA561_0 == DATABASE_SYMBOL || LA561_0 == DATE_ADD_SYMBOL || LA561_0 == DATE_SUB_SYMBOL || LA561_0 == DOT_SYMBOL || LA561_0 == EXISTS_SYMBOL || LA561_0 == EXTRACT_SYMBOL || LA561_0 == GROUP_CONCAT_SYMBOL || ((LA561_0 >= IDENTIFIER) && (LA561_0 <= IF_SYMBOL)) || LA561_0 == INSERT_SYMBOL || LA561_0 == LEFT_SYMBOL || LA561_0 == MATCH_SYMBOL || LA561_0 == MAX_SYMBOL || LA561_0 == MIN_SYMBOL || LA561_0 == MOD_SYMBOL || LA561_0 == NOW_SYMBOL || LA561_0 == NULL2_SYMBOL || LA561_0 == NULL_SYMBOL || ((LA561_0 >= OPEN_CURLY_SYMBOL) && (LA561_0 <= OPEN_PAR_SYMBOL)) || LA561_0 == PARAM_MARKER || LA561_0 == POSITION_SYMBOL || ((LA561_0 >= REPEAT_SYMBOL) && (LA561_0 <= REPLACE_SYMBOL)) || LA561_0 == RIGHT_SYMBOL || LA561_0 == STDDEV_SAMP_SYMBOL || LA561_0 == STD_SYMBOL || LA561_0 == SUBSTRING_SYMBOL || ((LA561_0 >= SUM_SYMBOL) && (LA561_0 <= SYSDATE_SYMBOL)) || LA561_0 == TRIM_SYMBOL || ((LA561_0 >= UTC_DATE_SYMBOL) && (LA561_0 <= VALUES_SYMBOL)) || LA561_0 == VARIANCE_SYMBOL || LA561_0 == VAR_SAMP_SYMBOL))
                {
                    alt561=2;
                }
                else
                {
                    if (BACKTRACKING>0)
                    {
                        FAILEDFLAG = ANTLR3_TRUE;
                        return retval;
                    }


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


                    goto ruleunary_expressionEx;

                }
            }
            switch (alt561)
            {
        	case 1:
        	    // MySQL.g:1724:2: ( PLUS_OPERATOR | MINUS_OPERATOR | BITWISE_NOT_OPERATOR ) ^ unary_expression
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        set1795=(pANTLR3_COMMON_TOKEN)LT(1);

        	        set1795=(pANTLR3_COMMON_TOKEN)LT(1);

        	        if ( LA(1) == BITWISE_NOT_OPERATOR || 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, set1795))
        	            , 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 ruleunary_expressionEx;
        	        }


        	        FOLLOWPUSH(FOLLOW_unary_expression_in_unary_expression9732);
        	        unary_expression1796=unary_expression(ctx);

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

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

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


        	        FOLLOWPUSH(FOLLOW_not_expression_in_unary_expression9737);
        	        not_expression1797=not_expression(ctx);

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

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, not_expression1797.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:1728: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_rule1798;
    #undef	RETURN_TYPE_not2_rule1798
    #define	RETURN_TYPE_not2_rule1798 MySQLParser_not2_rule_return

    MySQLParser_interval_expression_return interval_expression1799;
    #undef	RETURN_TYPE_interval_expression1799
    #define	RETURN_TYPE_interval_expression1799 MySQLParser_interval_expression_return


    /* Initialize rule variables
     */

    root_0 = NULL;

    not2_rule1798.tree = NULL;

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




    retval.tree  = NULL;

    {
        // MySQL.g:1728:15: ( ( not2_rule )? interval_expression )
        // MySQL.g:1729:2: ( not2_rule )? interval_expression
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            // MySQL.g:1729:2: ( not2_rule )?
            {
                int alt562=2;
                switch ( LA(1) )
                {
                    case LOGICAL_NOT_OPERATOR:
                    case NOT2_SYMBOL:
                    	{
                    		alt562=1;
                    	}
                        break;
                }

                switch (alt562)
                {
            	case 1:
            	    // MySQL.g:1729:2: not2_rule
            	    {
            	        FOLLOWPUSH(FOLLOW_not2_rule_in_not_expression9746);
            	        not2_rule1798=not2_rule(ctx);

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

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

            	    }
            	    break;

                }
            }

            FOLLOWPUSH(FOLLOW_interval_expression_in_not_expression9749);
            interval_expression1799=interval_expression(ctx);

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

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, interval_expression1799.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:1732: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_SYMBOL1800;
    MySQLParser_interval_function_return interval_function1801;
    #undef	RETURN_TYPE_interval_function1801
    #define	RETURN_TYPE_interval_function1801 MySQLParser_interval_function_return

    MySQLParser_interval_time_span_return interval_time_span1802;
    #undef	RETURN_TYPE_interval_time_span1802
    #define	RETURN_TYPE_interval_time_span1802 MySQLParser_interval_time_span_return

    MySQLParser_primary_return primary1803;
    #undef	RETURN_TYPE_primary1803
    #define	RETURN_TYPE_primary1803 MySQLParser_primary_return

    pANTLR3_BASE_TREE INTERVAL_SYMBOL1800_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    INTERVAL_SYMBOL1800       = NULL;
    interval_function1801.tree = NULL;

    interval_time_span1802.tree = NULL;

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


    INTERVAL_SYMBOL1800_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:1732:20: ( INTERVAL_SYMBOL ! ( ( OPEN_PAR_SYMBOL expression COMMA_SYMBOL )=> interval_function | interval_time_span ) | primary )

            ANTLR3_UINT32 alt564;

            alt564=2;

            {
                int LA564_0 = LA(1);
                if ( (LA564_0 == INTERVAL_SYMBOL))
                {
                    alt564=1;
                }
                else if ( (LA564_0 == NCHAR_TEXT || LA564_0 == SINGLE_QUOTED_TEXT || LA564_0 == UNDERSCORE_CHARSET))
                {
                    alt564=2;
                }
                else if ( ((((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES)))||((!SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))))) && (LA564_0 == DOUBLE_QUOTED_TEXT))
                {
                    alt564=2;
                }
                else if ( (LA564_0 == FALSE_SYMBOL || LA564_0 == FLOAT || ((LA564_0 >= HEXNUMBER) && (LA564_0 <= HEXSTRING)) || LA564_0 == INTEGER || LA564_0 == TRUE_SYMBOL))
                {
                    alt564=2;
                }
                else if ( ((SERVER_VERSION >= 50003)) && (((LA564_0 >= BITNUMBER) && (LA564_0 <= BITSTRING))))
                {
                    alt564=2;
                }
                else if ( (((LA564_0 >= ACTION_SYMBOL) && (LA564_0 <= PARTITION_SYMBOL)) || ((LA564_0 >= AT_AT_SIGN_SYMBOL) && (LA564_0 <= AT_SIGN_SYMBOL)) || LA564_0 == BACK_TICK_QUOTED_ID || LA564_0 == BINARY_SYMBOL || ((LA564_0 >= BIT_AND_SYMBOL) && (LA564_0 <= BIT_XOR_SYMBOL)) || ((LA564_0 >= CASE_SYMBOL) && (LA564_0 <= CAST_SYMBOL)) || LA564_0 == CHAR_SYMBOL || ((LA564_0 >= CONVERT_SYMBOL) && (LA564_0 <= COUNT_SYMBOL)) || LA564_0 == CURDATE_SYMBOL || LA564_0 == CURRENT_USER_SYMBOL || LA564_0 == CURTIME_SYMBOL || LA564_0 == DATABASE_SYMBOL || LA564_0 == DATE_ADD_SYMBOL || LA564_0 == DATE_SUB_SYMBOL || LA564_0 == DOT_SYMBOL || LA564_0 == EXISTS_SYMBOL || LA564_0 == EXTRACT_SYMBOL || LA564_0 == GROUP_CONCAT_SYMBOL || ((LA564_0 >= IDENTIFIER) && (LA564_0 <= IF_SYMBOL)) || LA564_0 == INSERT_SYMBOL || LA564_0 == LEFT_SYMBOL || LA564_0 == MATCH_SYMBOL || LA564_0 == MAX_SYMBOL || LA564_0 == MIN_SYMBOL || LA564_0 == MOD_SYMBOL || LA564_0 == NOW_SYMBOL || LA564_0 == NULL2_SYMBOL || LA564_0 == NULL_SYMBOL || ((LA564_0 >= OPEN_CURLY_SYMBOL) && (LA564_0 <= OPEN_PAR_SYMBOL)) || LA564_0 == PARAM_MARKER || LA564_0 == POSITION_SYMBOL || ((LA564_0 >= REPEAT_SYMBOL) && (LA564_0 <= REPLACE_SYMBOL)) || LA564_0 == RIGHT_SYMBOL || LA564_0 == STDDEV_SAMP_SYMBOL || LA564_0 == STD_SYMBOL || LA564_0 == SUBSTRING_SYMBOL || ((LA564_0 >= SUM_SYMBOL) && (LA564_0 <= SYSDATE_SYMBOL)) || LA564_0 == TRIM_SYMBOL || ((LA564_0 >= UTC_DATE_SYMBOL) && (LA564_0 <= VALUES_SYMBOL)) || LA564_0 == VARIANCE_SYMBOL || LA564_0 == VAR_SAMP_SYMBOL))
                {
                    alt564=2;
                }
                else
                {
                    if (BACKTRACKING>0)
                    {
                        FAILEDFLAG = ANTLR3_TRUE;
                        return retval;
                    }


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


                    goto ruleinterval_expressionEx;

                }
            }
            switch (alt564)
            {
        	case 1:
        	    // MySQL.g:1733:2: INTERVAL_SYMBOL ! ( ( OPEN_PAR_SYMBOL expression COMMA_SYMBOL )=> interval_function | interval_time_span )
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        INTERVAL_SYMBOL1800 = (pANTLR3_COMMON_TOKEN) MATCHT(INTERVAL_SYMBOL, &FOLLOW_INTERVAL_SYMBOL_in_interval_expression9758);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleinterval_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }


        	        // MySQL.g:1734:3: ( ( OPEN_PAR_SYMBOL expression COMMA_SYMBOL )=> interval_function | interval_time_span )
        	        {
        	            int alt563=2;
        	            {
        	                int LA563_0 = LA(1);
        	                if ( (LA563_0 == OPEN_PAR_SYMBOL))
        	                {
        	                    {
        	                        int LA563_1 = LA(2);
        	                        if ( (LA563_1 == SELECT_SYMBOL))
        	                        {
        	                            alt563=2;
        	                        }
        	                        else if ( (LA563_1 == NOT_SYMBOL))
        	                        {
        	                            {
        	                                int LA563_104 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt563=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    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        = 104;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA563_1 == BITWISE_NOT_OPERATOR || LA563_1 == MINUS_OPERATOR || LA563_1 == PLUS_OPERATOR))
        	                        {
        	                            {
        	                                int LA563_105 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt563=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    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        = 105;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA563_1 == LOGICAL_NOT_OPERATOR || LA563_1 == NOT2_SYMBOL))
        	                        {
        	                            {
        	                                int LA563_106 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt563=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    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        = 106;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA563_1 == INTERVAL_SYMBOL))
        	                        {
        	                            {
        	                                int LA563_107 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt563=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    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        = 107;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA563_1 == NCHAR_TEXT))
        	                        {
        	                            {
        	                                int LA563_108 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt563=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    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        = 108;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA563_1 == UNDERSCORE_CHARSET))
        	                        {
        	                            {
        	                                int LA563_109 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt563=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    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        = 109;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA563_1 == SINGLE_QUOTED_TEXT))
        	                        {
        	                            {
        	                                int LA563_110 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt563=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    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        = 110;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA563_1 == DOUBLE_QUOTED_TEXT))
        	                        {
        	                            {
        	                                int LA563_111 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt563=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    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        = 111;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA563_1 == FLOAT || LA563_1 == INTEGER))
        	                        {
        	                            {
        	                                int LA563_112 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt563=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    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        = 112;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (((LA563_1 >= HEXNUMBER) && (LA563_1 <= HEXSTRING))))
        	                        {
        	                            {
        	                                int LA563_113 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt563=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    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        = 113;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA563_1 == FALSE_SYMBOL || LA563_1 == TRUE_SYMBOL))
        	                        {
        	                            {
        	                                int LA563_114 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt563=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    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        = 114;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (((LA563_1 >= BITNUMBER) && (LA563_1 <= BITSTRING))))
        	                        {
        	                            {
        	                                int LA563_115 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt563=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    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        = 115;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA563_1 == NULL2_SYMBOL || LA563_1 == NULL_SYMBOL))
        	                        {
        	                            {
        	                                int LA563_116 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt563=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    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        = 116;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA563_1 == DATE_SYMBOL))
        	                        {
        	                            {
        	                                int LA563_117 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt563=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    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        = 117;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA563_1 == TIME_SYMBOL))
        	                        {
        	                            {
        	                                int LA563_118 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt563=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    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        = 118;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA563_1 == TIMESTAMP_SYMBOL))
        	                        {
        	                            {
        	                                int LA563_119 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt563=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    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        = 119;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA563_1 == IDENTIFIER))
        	                        {
        	                            {
        	                                int LA563_120 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt563=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    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        = 120;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA563_1 == BACK_TICK_QUOTED_ID))
        	                        {
        	                            {
        	                                int LA563_121 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt563=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    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        = 121;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA563_1 == DAY_SYMBOL))
        	                        {
        	                            {
        	                                int LA563_122 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt563=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    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        = 122;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA563_1 == PARTITION_SYMBOL))
        	                        {
        	                            {
        	                                int LA563_123 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt563=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    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        = 123;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA563_1 == ASCII_SYMBOL))
        	                        {
        	                            {
        	                                int LA563_124 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt563=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    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        = 124;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA563_1 == DOT_SYMBOL))
        	                        {
        	                            {
        	                                int LA563_125 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt563=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    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        = 125;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA563_1 == CHAR_SYMBOL))
        	                        {
        	                            {
        	                                int LA563_126 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt563=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    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        = 126;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA563_1 == CURRENT_USER_SYMBOL))
        	                        {
        	                            {
        	                                int LA563_127 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt563=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    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        = 127;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA563_1 == HOUR_SYMBOL))
        	                        {
        	                            {
        	                                int LA563_128 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt563=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    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        = 128;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA563_1 == MINUTE_SYMBOL))
        	                        {
        	                            {
        	                                int LA563_129 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt563=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    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        = 129;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA563_1 == INSERT_SYMBOL))
        	                        {
        	                            {
        	                                int LA563_130 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt563=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    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        = 130;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA563_1 == LEFT_SYMBOL))
        	                        {
        	                            {
        	                                int LA563_131 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt563=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    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        = 131;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA563_1 == MONTH_SYMBOL))
        	                        {
        	                            {
        	                                int LA563_132 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt563=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    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        = 132;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA563_1 == SECOND_SYMBOL))
        	                        {
        	                            {
        	                                int LA563_133 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt563=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    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        = 133;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA563_1 == RIGHT_SYMBOL))
        	                        {
        	                            {
        	                                int LA563_134 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt563=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    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        = 134;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA563_1 == USER_SYMBOL))
        	                        {
        	                            {
        	                                int LA563_135 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt563=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    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        = 135;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA563_1 == TRIM_SYMBOL))
        	                        {
        	                            {
        	                                int LA563_136 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt563=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    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        = 136;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA563_1 == YEAR_SYMBOL))
        	                        {
        	                            {
        	                                int LA563_137 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt563=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    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        = 137;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA563_1 == VALUES_SYMBOL))
        	                        {
        	                            {
        	                                int LA563_138 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt563=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    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        = 138;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA563_1 == ADDDATE_SYMBOL || LA563_1 == SUBDATE_SYMBOL))
        	                        {
        	                            {
        	                                int LA563_139 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt563=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    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        = 139;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA563_1 == GET_FORMAT_SYMBOL))
        	                        {
        	                            {
        	                                int LA563_140 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt563=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    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        = 140;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA563_1 == CURDATE_SYMBOL))
        	                        {
        	                            {
        	                                int LA563_141 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt563=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    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        = 141;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA563_1 == CURTIME_SYMBOL))
        	                        {
        	                            {
        	                                int LA563_142 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt563=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    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        = 142;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA563_1 == DATE_ADD_SYMBOL || LA563_1 == DATE_SUB_SYMBOL))
        	                        {
        	                            {
        	                                int LA563_143 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt563=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    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        = 143;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA563_1 == EXTRACT_SYMBOL))
        	                        {
        	                            {
        	                                int LA563_144 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt563=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    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        = 144;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (((LA563_1 >= TIMESTAMP_ADD_SYMBOL) && (LA563_1 <= TIMESTAMP_DIFF_SYMBOL))))
        	                        {
        	                            {
        	                                int LA563_145 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt563=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    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        = 145;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA563_1 == NOW_SYMBOL))
        	                        {
        	                            {
        	                                int LA563_146 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt563=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    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        = 146;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA563_1 == POSITION_SYMBOL))
        	                        {
        	                            {
        	                                int LA563_147 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt563=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    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        = 147;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA563_1 == SUBSTRING_SYMBOL))
        	                        {
        	                            {
        	                                int LA563_148 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt563=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    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        = 148;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA563_1 == SYSDATE_SYMBOL))
        	                        {
        	                            {
        	                                int LA563_149 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt563=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    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        = 149;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA563_1 == COALESCE_SYMBOL))
        	                        {
        	                            {
        	                                int LA563_150 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt563=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    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        = 150;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA563_1 == UTC_DATE_SYMBOL))
        	                        {
        	                            {
        	                                int LA563_151 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt563=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    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        = 151;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA563_1 == UTC_TIME_SYMBOL))
        	                        {
        	                            {
        	                                int LA563_152 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt563=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    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        = 152;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA563_1 == UTC_TIMESTAMP_SYMBOL))
        	                        {
        	                            {
        	                                int LA563_153 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt563=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    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        = 153;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA563_1 == CHARSET_SYMBOL))
        	                        {
        	                            {
        	                                int LA563_154 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt563=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    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        = 154;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA563_1 == FORMAT_SYMBOL))
        	                        {
        	                            {
        	                                int LA563_155 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt563=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    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        = 155;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA563_1 == COLLATION_SYMBOL))
        	                        {
        	                            {
        	                                int LA563_156 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt563=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    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        = 156;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA563_1 == MICROSECOND_SYMBOL))
        	                        {
        	                            {
        	                                int LA563_157 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt563=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    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        = 157;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA563_1 == DATABASE_SYMBOL))
        	                        {
        	                            {
        	                                int LA563_158 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt563=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    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        = 158;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA563_1 == IF_SYMBOL))
        	                        {
        	                            {
        	                                int LA563_159 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt563=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    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        = 159;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA563_1 == TRUNCATE_SYMBOL))
        	                        {
        	                            {
        	                                int LA563_160 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt563=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    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        = 160;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA563_1 == OLD_PASSWORD_SYMBOL))
        	                        {
        	                            {
        	                                int LA563_161 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt563=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    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        = 161;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA563_1 == MOD_SYMBOL))
        	                        {
        	                            {
        	                                int LA563_162 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt563=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    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        = 162;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA563_1 == PASSWORD_SYMBOL))
        	                        {
        	                            {
        	                                int LA563_163 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt563=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    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        = 163;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA563_1 == QUARTER_SYMBOL))
        	                        {
        	                            {
        	                                int LA563_164 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt563=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    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        = 164;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA563_1 == REVERSE_SYMBOL))
        	                        {
        	                            {
        	                                int LA563_165 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt563=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    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        = 165;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA563_1 == REPEAT_SYMBOL))
        	                        {
        	                            {
        	                                int LA563_166 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt563=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    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        = 166;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA563_1 == REPLACE_SYMBOL))
        	                        {
        	                            {
        	                                int LA563_167 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt563=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    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        = 167;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA563_1 == ROW_COUNT_SYMBOL))
        	                        {
        	                            {
        	                                int LA563_168 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt563=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    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        = 168;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA563_1 == WEEK_SYMBOL))
        	                        {
        	                            {
        	                                int LA563_169 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt563=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    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        = 169;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA563_1 == CONTAINS_SYMBOL))
        	                        {
        	                            {
        	                                int LA563_170 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt563=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    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        = 170;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA563_1 == WEIGHT_STRING_SYMBOL))
        	                        {
        	                            {
        	                                int LA563_171 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt563=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    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        = 171;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA563_1 == GEOMETRYCOLLECTION_SYMBOL))
        	                        {
        	                            {
        	                                int LA563_172 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt563=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    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        = 172;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (((LA563_1 >= BACKUP_SYMBOL) && (LA563_1 <= CACHE_SYMBOL)) || ((LA563_1 >= CHECKSUM_SYMBOL) && (LA563_1 <= COMMIT_SYMBOL)) || ((LA563_1 >= DEALLOCATE_SYMBOL) && (LA563_1 <= FLUSH_SYMBOL)) || ((LA563_1 >= HANDLER_SYMBOL) && (LA563_1 <= STOP_SYMBOL)) || ((LA563_1 >= UNICODE_SYMBOL) && (LA563_1 <= XA_SYMBOL))))
        	                        {
        	                            {
        	                                int LA563_173 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt563=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    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        = 173;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA563_1 == LINESTRING_SYMBOL))
        	                        {
        	                            {
        	                                int LA563_174 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt563=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    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        = 174;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA563_1 == MULTILINESTRING_SYMBOL))
        	                        {
        	                            {
        	                                int LA563_175 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt563=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    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        = 175;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA563_1 == MULTIPOINT_SYMBOL))
        	                        {
        	                            {
        	                                int LA563_176 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt563=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    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        = 176;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA563_1 == MULTIPOLYGON_SYMBOL))
        	                        {
        	                            {
        	                                int LA563_177 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt563=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    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        = 177;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA563_1 == POINT_SYMBOL))
        	                        {
        	                            {
        	                                int LA563_178 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt563=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    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        = 178;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA563_1 == POLYGON_SYMBOL))
        	                        {
        	                            {
        	                                int LA563_179 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt563=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    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        = 179;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA563_1 == AVG_SYMBOL))
        	                        {
        	                            {
        	                                int LA563_180 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt563=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    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        = 180;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA563_1 == ROW_SYMBOL))
        	                        {
        	                            {
        	                                int LA563_181 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt563=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    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        = 181;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA563_1 == BIT_AND_SYMBOL))
        	                        {
        	                            {
        	                                int LA563_182 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt563=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    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        = 182;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA563_1 == BIT_OR_SYMBOL))
        	                        {
        	                            {
        	                                int LA563_183 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt563=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    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        = 183;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA563_1 == BIT_XOR_SYMBOL))
        	                        {
        	                            {
        	                                int LA563_184 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt563=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    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        = 184;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA563_1 == COUNT_SYMBOL))
        	                        {
        	                            {
        	                                int LA563_185 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt563=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    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        = 185;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA563_1 == MIN_SYMBOL))
        	                        {
        	                            {
        	                                int LA563_186 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt563=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    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        = 186;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA563_1 == MAX_SYMBOL))
        	                        {
        	                            {
        	                                int LA563_187 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt563=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    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        = 187;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA563_1 == STD_SYMBOL))
        	                        {
        	                            {
        	                                int LA563_188 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt563=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    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        = 188;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA563_1 == VARIANCE_SYMBOL))
        	                        {
        	                            {
        	                                int LA563_189 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt563=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    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        = 189;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA563_1 == STDDEV_SAMP_SYMBOL))
        	                        {
        	                            {
        	                                int LA563_190 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt563=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    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        = 190;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA563_1 == VAR_SAMP_SYMBOL))
        	                        {
        	                            {
        	                                int LA563_191 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt563=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    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        = 191;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA563_1 == SUM_SYMBOL))
        	                        {
        	                            {
        	                                int LA563_192 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt563=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    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        = 192;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA563_1 == GROUP_CONCAT_SYMBOL))
        	                        {
        	                            {
        	                                int LA563_193 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt563=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    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        = 193;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA563_1 == PARAM_MARKER))
        	                        {
        	                            {
        	                                int LA563_194 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt563=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    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        = 194;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA563_1 == AT_SIGN_SYMBOL))
        	                        {
        	                            {
        	                                int LA563_195 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt563=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    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        = 195;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA563_1 == AT_AT_SIGN_SYMBOL))
        	                        {
        	                            {
        	                                int LA563_196 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt563=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    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        = 196;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA563_1 == OPEN_PAR_SYMBOL))
        	                        {
        	                            {
        	                                int LA563_197 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt563=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    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        = 197;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA563_1 == EXISTS_SYMBOL))
        	                        {
        	                            {
        	                                int LA563_198 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt563=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    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        = 198;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA563_1 == ACTION_SYMBOL || ((LA563_1 >= AFTER_SYMBOL) && (LA563_1 <= AVG_ROW_LENGTH_SYMBOL)) || ((LA563_1 >= BINLOG_SYMBOL) && (LA563_1 <= CLIENT_SYMBOL)) || LA563_1 == CODE_SYMBOL || ((LA563_1 >= COLUMNS_SYMBOL) && (LA563_1 <= DATETIME_SYMBOL)) || ((LA563_1 >= DEFAULT_AUTH_SYMBOL) && (LA563_1 <= GENERAL_SYMBOL)) || LA563_1 == GEOMETRY_SYMBOL || ((LA563_1 >= GLOBAL_SYMBOL) && (LA563_1 <= HOSTS_SYMBOL)) || ((LA563_1 >= IDENTIFIED_SYMBOL) && (LA563_1 <= LEVEL_SYMBOL)) || ((LA563_1 >= LIST_SYMBOL) && (LA563_1 <= MESSAGE_TEXT_SYMBOL)) || LA563_1 == MIGRATE_SYMBOL || ((LA563_1 >= MIN_ROWS_SYMBOL) && (LA563_1 <= MODIFY_SYMBOL)) || ((LA563_1 >= MUTEX_SYMBOL) && (LA563_1 <= OFFSET_SYMBOL)) || ((LA563_1 >= ONE_SHOT_SYMBOL) && (LA563_1 <= PARTITIONS_SYMBOL)) || ((LA563_1 >= PHASE_SYMBOL) && (LA563_1 <= PLUGIN_SYMBOL)) || ((LA563_1 >= PRESERVE_SYMBOL) && (LA563_1 <= PROXY_SYMBOL)) || ((LA563_1 >= QUERY_SYMBOL) && (LA563_1 <= RETURNS_SYMBOL)) || ((LA563_1 >= ROLLUP_SYMBOL) && (LA563_1 <= ROWS_SYMBOL)) || LA563_1 == ROW_FORMAT_SYMBOL || ((LA563_1 >= RTREE_SYMBOL) && (LA563_1 <= SCHEMA_NAME_SYMBOL)) || ((LA563_1 >= SERIALIZABLE_SYMBOL) && (LA563_1 <= SUBCLASS_ORIGIN_SYMBOL)) || ((LA563_1 >= SUBJECT_SYMBOL) && (LA563_1 <= THAN_SYMBOL)) || ((LA563_1 >= TRANSACTION_SYMBOL) && (LA563_1 <= USER_RESOURCES_SYMBOL)) || ((LA563_1 >= USE_FRM_SYMBOL) && (LA563_1 <= WARNINGS_SYMBOL)) || ((LA563_1 >= WORK_SYMBOL) && (LA563_1 <= XML_SYMBOL))))
        	                        {
        	                            {
        	                                int LA563_199 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt563=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    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        = 199;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA563_1 == OPEN_CURLY_SYMBOL))
        	                        {
        	                            {
        	                                int LA563_200 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt563=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    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        = 200;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA563_1 == MATCH_SYMBOL))
        	                        {
        	                            {
        	                                int LA563_201 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt563=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    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        = 201;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA563_1 == CASE_SYMBOL))
        	                        {
        	                            {
        	                                int LA563_202 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt563=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    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        = 202;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA563_1 == BINARY_SYMBOL))
        	                        {
        	                            {
        	                                int LA563_203 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt563=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    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        = 203;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA563_1 == CAST_SYMBOL))
        	                        {
        	                            {
        	                                int LA563_204 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt563=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    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        = 204;


        	                                    goto ruleinterval_expressionEx;

        	                                }
        	                            }
        	                        }
        	                        else if ( (LA563_1 == CONVERT_SYMBOL))
        	                        {
        	                            {
        	                                int LA563_205 = LA(3);
        	                                if ( (synpred2_MySQL(ctx)))
        	                                {
        	                                    alt563=1;
        	                                }
        	                                else if ( (ANTLR3_TRUE))
        	                                {
        	                                    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        = 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  = 563;
        	                            EXCEPTION->state        = 1;


        	                            goto ruleinterval_expressionEx;

        	                        }
        	                    }
        	                }
        	                else if ( (LA563_0 == BITWISE_NOT_OPERATOR || LA563_0 == INTERVAL_SYMBOL || LA563_0 == LOGICAL_NOT_OPERATOR || LA563_0 == MINUS_OPERATOR || LA563_0 == NCHAR_TEXT || LA563_0 == NOT2_SYMBOL || LA563_0 == NOT_SYMBOL || LA563_0 == PLUS_OPERATOR || 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 == 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 ruleinterval_expressionEx;

        	                }
        	            }
        	            switch (alt563)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1738:4: ( OPEN_PAR_SYMBOL expression COMMA_SYMBOL )=> interval_function
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_interval_function_in_interval_expression9790);
        	        	        interval_function1801=interval_function(ctx);

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

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

        	        	    }
        	        	    break;
        	        	case 2:
        	        	    // MySQL.g:1739:6: interval_time_span
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_interval_time_span_in_interval_expression9797);
        	        	        interval_time_span1802=interval_time_span(ctx);

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

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

        	        	    }
        	        	    break;

        	            }
        	        }

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


        	        FOLLOWPUSH(FOLLOW_primary_in_interval_expression9806);
        	        primary1803=primary(ctx);

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

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, primary1803.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:1744: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_SYMBOL1804;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL1806;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL1808;
    MySQLParser_expression_return expression1805;
    #undef	RETURN_TYPE_expression1805
    #define	RETURN_TYPE_expression1805 MySQLParser_expression_return

    MySQLParser_expression_return expression1807;
    #undef	RETURN_TYPE_expression1807
    #define	RETURN_TYPE_expression1807 MySQLParser_expression_return

    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL1804_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL1806_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL1808_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_SYMBOL1804       = NULL;
    COMMA_SYMBOL1806       = NULL;
    CLOSE_PAR_SYMBOL1808       = NULL;
    expression1805.tree = NULL;

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


    OPEN_PAR_SYMBOL1804_tree   = NULL;
    COMMA_SYMBOL1806_tree   = NULL;
    CLOSE_PAR_SYMBOL1808_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:1744: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:1745:2: OPEN_PAR_SYMBOL expression ( COMMA_SYMBOL expression )+ CLOSE_PAR_SYMBOL
        {
            OPEN_PAR_SYMBOL1804 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_interval_function9815);
            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_SYMBOL1804, NULL); }


            FOLLOWPUSH(FOLLOW_expression_in_interval_function9817);
            expression1805=expression(ctx);

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

            if ( BACKTRACKING==0 ) { CREATE_stream_expression; stream_expression->add(stream_expression, expression1805.tree, NULL); }

            // MySQL.g:1745:29: ( COMMA_SYMBOL expression )+
            {
                int cnt565=0;

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

            	}

            	switch (alt565)
            	{
            	    case 1:
            	        // MySQL.g:1745:30: COMMA_SYMBOL expression
            	        {
            	            COMMA_SYMBOL1806 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_interval_function9820);
            	            if  (HASEXCEPTION())
            	            {
            	                goto ruleinterval_functionEx;
            	            }
            	            if (HASFAILED())
            	            {
            	                return retval;
            	            }
            	             
            	            if ( BACKTRACKING==0 ) { CREATE_stream_COMMA_SYMBOL; stream_COMMA_SYMBOL->add(stream_COMMA_SYMBOL, COMMA_SYMBOL1806, NULL); }


            	            FOLLOWPUSH(FOLLOW_expression_in_interval_function9822);
            	            expression1807=expression(ctx);

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

            	            if ( BACKTRACKING==0 ) { CREATE_stream_expression; stream_expression->add(stream_expression, expression1807.tree, NULL); }

            	        }
            	        break;

            	    default:

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

            CLOSE_PAR_SYMBOL1808 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_interval_function9826);
            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_SYMBOL1808, NULL); }


            /* AST REWRITE
             * elements          : COMMA_SYMBOL, CLOSE_PAR_SYMBOL, expression, OPEN_PAR_SYMBOL, expression
             * token labels      : 
             * rule labels       : retval
             * token list labels : 
             * rule list labels  : 
             */
            if ( BACKTRACKING==0 ) 

            {
            	pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_retval;

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

            	root_0			    = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
            	retval.tree    = root_0;
            	// 1746:3: -> ^( FUNCTION_CALL INTERVAL_SYMBOL OPEN_PAR_SYMBOL expression ( COMMA_SYMBOL expression )+ CLOSE_PAR_SYMBOL )
            	{
            	    // MySQL.g:1746: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_COMMA_SYMBOL == NULL || !stream_COMMA_SYMBOL->hasNext(stream_COMMA_SYMBOL)) || (stream_expression == NULL || !stream_expression->hasNext(stream_expression))  )
            	        {
            	            CONSTRUCTEX();
            	            EXCEPTION->type         = ANTLR3_REWRITE_EARLY_EXCEPTION;
            	            EXCEPTION->name         = (void *)ANTLR3_REWRITE_EARLY_EXCEPTION_NAME;
            	        }
            	        else
            	        {
            	        	while ( (stream_COMMA_SYMBOL->hasNext(stream_COMMA_SYMBOL)) || (stream_expression->hasNext(stream_expression))  ) {
            	        		ADAPTOR->addChild(ADAPTOR, root_1, 
            	        		stream_COMMA_SYMBOL == NULL ? NULL : stream_COMMA_SYMBOL->nextNode(stream_COMMA_SYMBOL)
            	        		);

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

            	        	}
            	        	stream_COMMA_SYMBOL->reset(stream_COMMA_SYMBOL);
            	        	stream_expression->reset(stream_expression);

            	        }
            	        ADAPTOR->addChild(ADAPTOR, root_1, 
            	        stream_CLOSE_PAR_SYMBOL == NULL ? NULL : stream_CLOSE_PAR_SYMBOL->nextNode(stream_CLOSE_PAR_SYMBOL)
            	        );

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

            	}


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


            }
        }

    }

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


    if ( BACKTRACKING==0 )
    {

    	retval.stop = LT(-1);

    	retval.tree = (pANTLR3_BASE_TREE)(ADAPTOR->rulePostProcessing(ADAPTOR, root_0));
    	ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start, retval.stop);
        if (stream_CLOSE_PAR_SYMBOL != NULL) stream_CLOSE_PAR_SYMBOL->free(stream_CLOSE_PAR_SYMBOL);
        if (stream_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:1749: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 interval1809;
    #undef	RETURN_TYPE_interval1809
    #define	RETURN_TYPE_interval1809 MySQLParser_interval_return

    pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_interval;
    /* Initialize rule variables
     */

    root_0 = NULL;

    interval1809.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:1749:19: ( interval -> ^( INTERVAL_SYMBOL interval ) )
        // MySQL.g:1750:2: interval
        {
            FOLLOWPUSH(FOLLOW_interval_in_interval_time_span9858);
            interval1809=interval(ctx);

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

            if ( BACKTRACKING==0 ) { CREATE_stream_interval; stream_interval->add(stream_interval, interval1809.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;
            	// 1750:11: -> ^( INTERVAL_SYMBOL interval )
            	{
            	    // MySQL.g:1750: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:1753: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_MARKER1814;
    pANTLR3_COMMON_TOKEN    EXISTS_SYMBOL1817;
    pANTLR3_COMMON_TOKEN    ROW_SYMBOL1819;
    pANTLR3_COMMON_TOKEN    OPEN_CURLY_SYMBOL1821;
    pANTLR3_COMMON_TOKEN    CLOSE_CURLY_SYMBOL1824;
    pANTLR3_COMMON_TOKEN    COLLATE_SYMBOL1828;
    MySQLParser_literal_return literal1810;
    #undef	RETURN_TYPE_literal1810
    #define	RETURN_TYPE_literal1810 MySQLParser_literal_return

    MySQLParser_field_name_return field_name1811;
    #undef	RETURN_TYPE_field_name1811
    #define	RETURN_TYPE_field_name1811 MySQLParser_field_name_return

    MySQLParser_function_call_expression_return function_call_expression1812;
    #undef	RETURN_TYPE_function_call_expression1812
    #define	RETURN_TYPE_function_call_expression1812 MySQLParser_function_call_expression_return

    MySQLParser_generic_function_call_return generic_function_call1813;
    #undef	RETURN_TYPE_generic_function_call1813
    #define	RETURN_TYPE_generic_function_call1813 MySQLParser_generic_function_call_return

    MySQLParser_variable_return variable1815;
    #undef	RETURN_TYPE_variable1815
    #define	RETURN_TYPE_variable1815 MySQLParser_variable_return

    MySQLParser_subquery_return subquery1816;
    #undef	RETURN_TYPE_subquery1816
    #define	RETURN_TYPE_subquery1816 MySQLParser_subquery_return

    MySQLParser_subquery_return subquery1818;
    #undef	RETURN_TYPE_subquery1818
    #define	RETURN_TYPE_subquery1818 MySQLParser_subquery_return

    MySQLParser_expression_list_with_parentheses_return expression_list_with_parentheses1820;
    #undef	RETURN_TYPE_expression_list_with_parentheses1820
    #define	RETURN_TYPE_expression_list_with_parentheses1820 MySQLParser_expression_list_with_parentheses_return

    MySQLParser_identifier_return identifier1822;
    #undef	RETURN_TYPE_identifier1822
    #define	RETURN_TYPE_identifier1822 MySQLParser_identifier_return

    MySQLParser_expression_return expression1823;
    #undef	RETURN_TYPE_expression1823
    #define	RETURN_TYPE_expression1823 MySQLParser_expression_return

    MySQLParser_match_expression_return match_expression1825;
    #undef	RETURN_TYPE_match_expression1825
    #define	RETURN_TYPE_match_expression1825 MySQLParser_match_expression_return

    MySQLParser_case_expression_return case_expression1826;
    #undef	RETURN_TYPE_case_expression1826
    #define	RETURN_TYPE_case_expression1826 MySQLParser_case_expression_return

    MySQLParser_cast_expression_return cast_expression1827;
    #undef	RETURN_TYPE_cast_expression1827
    #define	RETURN_TYPE_cast_expression1827 MySQLParser_cast_expression_return

    MySQLParser_text_or_identifier_return text_or_identifier1829;
    #undef	RETURN_TYPE_text_or_identifier1829
    #define	RETURN_TYPE_text_or_identifier1829 MySQLParser_text_or_identifier_return

    pANTLR3_BASE_TREE PARAM_MARKER1814_tree;
    pANTLR3_BASE_TREE EXISTS_SYMBOL1817_tree;
    pANTLR3_BASE_TREE ROW_SYMBOL1819_tree;
    pANTLR3_BASE_TREE OPEN_CURLY_SYMBOL1821_tree;
    pANTLR3_BASE_TREE CLOSE_CURLY_SYMBOL1824_tree;
    pANTLR3_BASE_TREE COLLATE_SYMBOL1828_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    PARAM_MARKER1814       = NULL;
    EXISTS_SYMBOL1817       = NULL;
    ROW_SYMBOL1819       = NULL;
    OPEN_CURLY_SYMBOL1821       = NULL;
    CLOSE_CURLY_SYMBOL1824       = NULL;
    COLLATE_SYMBOL1828       = NULL;
    literal1810.tree = NULL;

    field_name1811.tree = NULL;

    function_call_expression1812.tree = NULL;

    generic_function_call1813.tree = NULL;

    variable1815.tree = NULL;

    subquery1816.tree = NULL;

    subquery1818.tree = NULL;

    expression_list_with_parentheses1820.tree = NULL;

    identifier1822.tree = NULL;

    expression1823.tree = NULL;

    match_expression1825.tree = NULL;

    case_expression1826.tree = NULL;

    cast_expression1827.tree = NULL;

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


    PARAM_MARKER1814_tree   = NULL;
    EXISTS_SYMBOL1817_tree   = NULL;
    ROW_SYMBOL1819_tree   = NULL;
    OPEN_CURLY_SYMBOL1821_tree   = NULL;
    CLOSE_CURLY_SYMBOL1824_tree   = NULL;
    COLLATE_SYMBOL1828_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1753: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:1754: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:1754: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 alt567=13;
                {
                    int LA567_0 = LA(1);
                    if ( (LA567_0 == FALSE_SYMBOL || LA567_0 == FLOAT || ((LA567_0 >= HEXNUMBER) && (LA567_0 <= HEXSTRING)) || LA567_0 == INTEGER || LA567_0 == NCHAR_TEXT || LA567_0 == SINGLE_QUOTED_TEXT || LA567_0 == TRUE_SYMBOL || LA567_0 == UNDERSCORE_CHARSET))
                    {
                        alt567=1;
                    }
                    else if ( ((((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES)))||((!SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))))) && (LA567_0 == DOUBLE_QUOTED_TEXT))
                    {
                        {
                            int LA567_4 = LA(2);
                            if ( (( (( (synpred3_MySQL(ctx)) && (synpred3_MySQL(ctx)) )) && ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) )) && (LA567_4 == DOT_SYMBOL))
                            {
                                alt567=4;
                            }
                            else if ( (( (( (synpred3_MySQL(ctx)) && (synpred3_MySQL(ctx)) )) && ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) )) && (LA567_4 == OPEN_PAR_SYMBOL))
                            {
                                alt567=4;
                            }
                            else if ( ((!SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))))
                            {
                                alt567=1;
                            }
                            else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))))
                            {
                                alt567=2;
                            }
                            else
                            {
                                if (BACKTRACKING>0)
                                {
                                    FAILEDFLAG = ANTLR3_TRUE;
                                    return retval;
                                }


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


                                goto ruleprimaryEx;

                            }
                        }
                    }
                    else if ( ((SERVER_VERSION >= 50003)) && (((LA567_0 >= BITNUMBER) && (LA567_0 <= BITSTRING))))
                    {
                        alt567=1;
                    }
                    else if ( (LA567_0 == NULL2_SYMBOL || LA567_0 == NULL_SYMBOL))
                    {
                        alt567=1;
                    }
                    else if ( (LA567_0 == DATE_SYMBOL))
                    {
                        {
                            int LA567_10 = LA(2);
                            if ( (LA567_10 == SINGLE_QUOTED_TEXT))
                            {
                                {
                                    int LA567_192 = LA(3);
                                    if ( ((LA(1) == DATE_SYMBOL || LA(1) == TIME_SYMBOL || LA(1) == TIMESTAMP_SYMBOL)))
                                    {
                                        alt567=1;
                                    }
                                    else if ( (ANTLR3_TRUE))
                                    {
                                        alt567=2;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


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


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA567_10 == OPEN_PAR_SYMBOL))
                            {
                                {
                                    int LA567_193 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt567=3;
                                    }
                                    else if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt567=4;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


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


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA567_10 == DOT_SYMBOL))
                            {
                                {
                                    int LA567_194 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt567=2;
                                    }
                                    else if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt567=4;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


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


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA567_10 == EOF || ((LA567_10 >= ACTION_SYMBOL) && (LA567_10 <= PARTITION_SYMBOL)) || ((LA567_10 >= AND_SYMBOL) && (LA567_10 <= ASC_SYMBOL)) || LA567_10 == AS_SYMBOL || LA567_10 == BACK_TICK_QUOTED_ID || LA567_10 == BETWEEN_SYMBOL || LA567_10 == BITWISE_AND_OPERATOR || ((LA567_10 >= BITWISE_OR_OPERATOR) && (LA567_10 <= BITWISE_XOR_OPERATOR)) || ((LA567_10 >= CLOSE_CURLY_SYMBOL) && (LA567_10 <= COLLATE_SYMBOL)) || LA567_10 == COMMA_SYMBOL || LA567_10 == CONCAT_PIPES_SYMBOL || LA567_10 == CROSS_SYMBOL || ((LA567_10 >= DAY_HOUR_SYMBOL) && (LA567_10 <= DAY_SECOND_SYMBOL)) || LA567_10 == DESC_SYMBOL || ((LA567_10 >= DIV_OPERATOR) && (LA567_10 <= DIV_SYMBOL)) || LA567_10 == DOUBLE_QUOTED_TEXT || LA567_10 == ELSE_SYMBOL || LA567_10 == EQUAL_OPERATOR || ((LA567_10 >= FOR_SYMBOL) && (LA567_10 <= FROM_SYMBOL)) || ((LA567_10 >= GREATER_OR_EQUAL_OPERATOR) && (LA567_10 <= GREATER_THAN_OPERATOR)) || ((LA567_10 >= GROUP_SYMBOL) && (LA567_10 <= HAVING_SYMBOL)) || ((LA567_10 >= HOUR_MICROSECOND_SYMBOL) && (LA567_10 <= IDENTIFIER)) || LA567_10 == INNER_SYMBOL || LA567_10 == INTO_SYMBOL || LA567_10 == IN_SYMBOL || LA567_10 == IS_SYMBOL || LA567_10 == JOIN_SYMBOL || ((LA567_10 >= LEFT_SYMBOL) && (LA567_10 <= LESS_THAN_OPERATOR)) || ((LA567_10 >= LIKE_SYMBOL) && (LA567_10 <= LIMIT_SYMBOL)) || LA567_10 == LOCK_SYMBOL || LA567_10 == LOGICAL_AND_OPERATOR || LA567_10 == LOGICAL_OR_OPERATOR || ((LA567_10 >= MINUS_OPERATOR) && (LA567_10 <= MINUTE_SECOND_SYMBOL)) || ((LA567_10 >= MOD_OPERATOR) && (LA567_10 <= MOD_SYMBOL)) || ((LA567_10 >= MULT_OPERATOR) && (LA567_10 <= NATURAL_SYMBOL)) || LA567_10 == NCHAR_TEXT || ((LA567_10 >= NOT_EQUAL2_OPERATOR) && (LA567_10 <= NOT_SYMBOL)) || LA567_10 == NULL_SAFE_EQUAL_OPERATOR || LA567_10 == ON_SYMBOL || ((LA567_10 >= ORDER_SYMBOL) && (LA567_10 <= OR_SYMBOL)) || LA567_10 == PLUS_OPERATOR || LA567_10 == PROCEDURE_SYMBOL || LA567_10 == REGEXP_SYMBOL || LA567_10 == RENAME_SYMBOL || LA567_10 == RIGHT_SYMBOL || LA567_10 == SECOND_MICROSECOND_SYMBOL || LA567_10 == SEMICOLON_SYMBOL || LA567_10 == SEPARATOR_SYMBOL || LA567_10 == SET_SYMBOL || ((LA567_10 >= SHIFT_LEFT_OPERATOR) && (LA567_10 <= SHIFT_RIGHT_OPERATOR)) || LA567_10 == STRAIGHT_JOIN_SYMBOL || LA567_10 == THEN_SYMBOL || LA567_10 == UNDERSCORE_CHARSET || LA567_10 == UNION_SYMBOL || LA567_10 == USING_SYMBOL || ((LA567_10 >= WHEN_SYMBOL) && (LA567_10 <= WHERE_SYMBOL)) || LA567_10 == WITH_SYMBOL || ((LA567_10 >= XOR_SYMBOL) && (LA567_10 <= YEAR_MONTH_SYMBOL))))
                            {
                                alt567=2;
                            }
                            else
                            {
                                if (BACKTRACKING>0)
                                {
                                    FAILEDFLAG = ANTLR3_TRUE;
                                    return retval;
                                }


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


                                goto ruleprimaryEx;

                            }
                        }
                    }
                    else if ( (LA567_0 == TIME_SYMBOL))
                    {
                        {
                            int LA567_11 = LA(2);
                            if ( (LA567_11 == SINGLE_QUOTED_TEXT))
                            {
                                {
                                    int LA567_285 = LA(3);
                                    if ( ((LA(1) == DATE_SYMBOL || LA(1) == TIME_SYMBOL || LA(1) == TIMESTAMP_SYMBOL)))
                                    {
                                        alt567=1;
                                    }
                                    else if ( (ANTLR3_TRUE))
                                    {
                                        alt567=2;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


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


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA567_11 == OPEN_PAR_SYMBOL))
                            {
                                {
                                    int LA567_286 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt567=3;
                                    }
                                    else if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt567=4;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


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


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA567_11 == DOT_SYMBOL))
                            {
                                {
                                    int LA567_287 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt567=2;
                                    }
                                    else if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt567=4;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


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


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA567_11 == EOF || ((LA567_11 >= ACTION_SYMBOL) && (LA567_11 <= PARTITION_SYMBOL)) || ((LA567_11 >= AND_SYMBOL) && (LA567_11 <= ASC_SYMBOL)) || LA567_11 == AS_SYMBOL || LA567_11 == BACK_TICK_QUOTED_ID || LA567_11 == BETWEEN_SYMBOL || LA567_11 == BITWISE_AND_OPERATOR || ((LA567_11 >= BITWISE_OR_OPERATOR) && (LA567_11 <= BITWISE_XOR_OPERATOR)) || ((LA567_11 >= CLOSE_CURLY_SYMBOL) && (LA567_11 <= COLLATE_SYMBOL)) || LA567_11 == COMMA_SYMBOL || LA567_11 == CONCAT_PIPES_SYMBOL || LA567_11 == CROSS_SYMBOL || ((LA567_11 >= DAY_HOUR_SYMBOL) && (LA567_11 <= DAY_SECOND_SYMBOL)) || LA567_11 == DESC_SYMBOL || ((LA567_11 >= DIV_OPERATOR) && (LA567_11 <= DIV_SYMBOL)) || LA567_11 == DOUBLE_QUOTED_TEXT || LA567_11 == ELSE_SYMBOL || LA567_11 == EQUAL_OPERATOR || ((LA567_11 >= FOR_SYMBOL) && (LA567_11 <= FROM_SYMBOL)) || ((LA567_11 >= GREATER_OR_EQUAL_OPERATOR) && (LA567_11 <= GREATER_THAN_OPERATOR)) || ((LA567_11 >= GROUP_SYMBOL) && (LA567_11 <= HAVING_SYMBOL)) || ((LA567_11 >= HOUR_MICROSECOND_SYMBOL) && (LA567_11 <= IDENTIFIER)) || LA567_11 == INNER_SYMBOL || LA567_11 == INTO_SYMBOL || LA567_11 == IN_SYMBOL || LA567_11 == IS_SYMBOL || LA567_11 == JOIN_SYMBOL || ((LA567_11 >= LEFT_SYMBOL) && (LA567_11 <= LESS_THAN_OPERATOR)) || ((LA567_11 >= LIKE_SYMBOL) && (LA567_11 <= LIMIT_SYMBOL)) || LA567_11 == LOCK_SYMBOL || LA567_11 == LOGICAL_AND_OPERATOR || LA567_11 == LOGICAL_OR_OPERATOR || ((LA567_11 >= MINUS_OPERATOR) && (LA567_11 <= MINUTE_SECOND_SYMBOL)) || ((LA567_11 >= MOD_OPERATOR) && (LA567_11 <= MOD_SYMBOL)) || ((LA567_11 >= MULT_OPERATOR) && (LA567_11 <= NATURAL_SYMBOL)) || LA567_11 == NCHAR_TEXT || ((LA567_11 >= NOT_EQUAL2_OPERATOR) && (LA567_11 <= NOT_SYMBOL)) || LA567_11 == NULL_SAFE_EQUAL_OPERATOR || LA567_11 == ON_SYMBOL || ((LA567_11 >= ORDER_SYMBOL) && (LA567_11 <= OR_SYMBOL)) || LA567_11 == PLUS_OPERATOR || LA567_11 == PROCEDURE_SYMBOL || LA567_11 == REGEXP_SYMBOL || LA567_11 == RENAME_SYMBOL || LA567_11 == RIGHT_SYMBOL || LA567_11 == SECOND_MICROSECOND_SYMBOL || LA567_11 == SEMICOLON_SYMBOL || LA567_11 == SEPARATOR_SYMBOL || LA567_11 == SET_SYMBOL || ((LA567_11 >= SHIFT_LEFT_OPERATOR) && (LA567_11 <= SHIFT_RIGHT_OPERATOR)) || LA567_11 == STRAIGHT_JOIN_SYMBOL || LA567_11 == THEN_SYMBOL || LA567_11 == UNDERSCORE_CHARSET || LA567_11 == UNION_SYMBOL || LA567_11 == USING_SYMBOL || ((LA567_11 >= WHEN_SYMBOL) && (LA567_11 <= WHERE_SYMBOL)) || LA567_11 == WITH_SYMBOL || ((LA567_11 >= XOR_SYMBOL) && (LA567_11 <= YEAR_MONTH_SYMBOL))))
                            {
                                alt567=2;
                            }
                            else
                            {
                                if (BACKTRACKING>0)
                                {
                                    FAILEDFLAG = ANTLR3_TRUE;
                                    return retval;
                                }


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


                                goto ruleprimaryEx;

                            }
                        }
                    }
                    else if ( (LA567_0 == TIMESTAMP_SYMBOL))
                    {
                        {
                            int LA567_12 = LA(2);
                            if ( (LA567_12 == SINGLE_QUOTED_TEXT))
                            {
                                {
                                    int LA567_378 = LA(3);
                                    if ( ((LA(1) == DATE_SYMBOL || LA(1) == TIME_SYMBOL || LA(1) == TIMESTAMP_SYMBOL)))
                                    {
                                        alt567=1;
                                    }
                                    else if ( (ANTLR3_TRUE))
                                    {
                                        alt567=2;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


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


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA567_12 == OPEN_PAR_SYMBOL))
                            {
                                {
                                    int LA567_379 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt567=3;
                                    }
                                    else if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt567=4;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


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


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA567_12 == DOT_SYMBOL))
                            {
                                {
                                    int LA567_380 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt567=2;
                                    }
                                    else if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt567=4;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


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


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA567_12 == EOF || ((LA567_12 >= ACTION_SYMBOL) && (LA567_12 <= PARTITION_SYMBOL)) || ((LA567_12 >= AND_SYMBOL) && (LA567_12 <= ASC_SYMBOL)) || LA567_12 == AS_SYMBOL || LA567_12 == BACK_TICK_QUOTED_ID || LA567_12 == BETWEEN_SYMBOL || LA567_12 == BITWISE_AND_OPERATOR || ((LA567_12 >= BITWISE_OR_OPERATOR) && (LA567_12 <= BITWISE_XOR_OPERATOR)) || ((LA567_12 >= CLOSE_CURLY_SYMBOL) && (LA567_12 <= COLLATE_SYMBOL)) || LA567_12 == COMMA_SYMBOL || LA567_12 == CONCAT_PIPES_SYMBOL || LA567_12 == CROSS_SYMBOL || ((LA567_12 >= DAY_HOUR_SYMBOL) && (LA567_12 <= DAY_SECOND_SYMBOL)) || LA567_12 == DESC_SYMBOL || ((LA567_12 >= DIV_OPERATOR) && (LA567_12 <= DIV_SYMBOL)) || LA567_12 == DOUBLE_QUOTED_TEXT || LA567_12 == ELSE_SYMBOL || LA567_12 == EQUAL_OPERATOR || ((LA567_12 >= FOR_SYMBOL) && (LA567_12 <= FROM_SYMBOL)) || ((LA567_12 >= GREATER_OR_EQUAL_OPERATOR) && (LA567_12 <= GREATER_THAN_OPERATOR)) || ((LA567_12 >= GROUP_SYMBOL) && (LA567_12 <= HAVING_SYMBOL)) || ((LA567_12 >= HOUR_MICROSECOND_SYMBOL) && (LA567_12 <= IDENTIFIER)) || LA567_12 == INNER_SYMBOL || LA567_12 == INTO_SYMBOL || LA567_12 == IN_SYMBOL || LA567_12 == IS_SYMBOL || LA567_12 == JOIN_SYMBOL || ((LA567_12 >= LEFT_SYMBOL) && (LA567_12 <= LESS_THAN_OPERATOR)) || ((LA567_12 >= LIKE_SYMBOL) && (LA567_12 <= LIMIT_SYMBOL)) || LA567_12 == LOCK_SYMBOL || LA567_12 == LOGICAL_AND_OPERATOR || LA567_12 == LOGICAL_OR_OPERATOR || ((LA567_12 >= MINUS_OPERATOR) && (LA567_12 <= MINUTE_SECOND_SYMBOL)) || ((LA567_12 >= MOD_OPERATOR) && (LA567_12 <= MOD_SYMBOL)) || ((LA567_12 >= MULT_OPERATOR) && (LA567_12 <= NATURAL_SYMBOL)) || LA567_12 == NCHAR_TEXT || ((LA567_12 >= NOT_EQUAL2_OPERATOR) && (LA567_12 <= NOT_SYMBOL)) || LA567_12 == NULL_SAFE_EQUAL_OPERATOR || LA567_12 == ON_SYMBOL || ((LA567_12 >= ORDER_SYMBOL) && (LA567_12 <= OR_SYMBOL)) || LA567_12 == PLUS_OPERATOR || LA567_12 == PROCEDURE_SYMBOL || LA567_12 == REGEXP_SYMBOL || LA567_12 == RENAME_SYMBOL || LA567_12 == RIGHT_SYMBOL || LA567_12 == SECOND_MICROSECOND_SYMBOL || LA567_12 == SEMICOLON_SYMBOL || LA567_12 == SEPARATOR_SYMBOL || LA567_12 == SET_SYMBOL || ((LA567_12 >= SHIFT_LEFT_OPERATOR) && (LA567_12 <= SHIFT_RIGHT_OPERATOR)) || LA567_12 == STRAIGHT_JOIN_SYMBOL || LA567_12 == THEN_SYMBOL || LA567_12 == UNDERSCORE_CHARSET || LA567_12 == UNION_SYMBOL || LA567_12 == USING_SYMBOL || ((LA567_12 >= WHEN_SYMBOL) && (LA567_12 <= WHERE_SYMBOL)) || LA567_12 == WITH_SYMBOL || ((LA567_12 >= XOR_SYMBOL) && (LA567_12 <= YEAR_MONTH_SYMBOL))))
                            {
                                alt567=2;
                            }
                            else
                            {
                                if (BACKTRACKING>0)
                                {
                                    FAILEDFLAG = ANTLR3_TRUE;
                                    return retval;
                                }


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


                                goto ruleprimaryEx;

                            }
                        }
                    }
                    else if ( (LA567_0 == IDENTIFIER))
                    {
                        {
                            int LA567_13 = LA(2);
                            if ( (LA567_13 == DOT_SYMBOL))
                            {
                                {
                                    int LA567_471 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt567=2;
                                    }
                                    else if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt567=4;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


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


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA567_13 == EOF || ((LA567_13 >= ACTION_SYMBOL) && (LA567_13 <= PARTITION_SYMBOL)) || ((LA567_13 >= AND_SYMBOL) && (LA567_13 <= ASC_SYMBOL)) || LA567_13 == AS_SYMBOL || LA567_13 == BACK_TICK_QUOTED_ID || LA567_13 == BETWEEN_SYMBOL || LA567_13 == BITWISE_AND_OPERATOR || ((LA567_13 >= BITWISE_OR_OPERATOR) && (LA567_13 <= BITWISE_XOR_OPERATOR)) || ((LA567_13 >= CLOSE_CURLY_SYMBOL) && (LA567_13 <= COLLATE_SYMBOL)) || LA567_13 == COMMA_SYMBOL || LA567_13 == CONCAT_PIPES_SYMBOL || LA567_13 == CROSS_SYMBOL || ((LA567_13 >= DAY_HOUR_SYMBOL) && (LA567_13 <= DAY_SECOND_SYMBOL)) || LA567_13 == DESC_SYMBOL || ((LA567_13 >= DIV_OPERATOR) && (LA567_13 <= DIV_SYMBOL)) || LA567_13 == DOUBLE_QUOTED_TEXT || LA567_13 == ELSE_SYMBOL || LA567_13 == EQUAL_OPERATOR || ((LA567_13 >= FOR_SYMBOL) && (LA567_13 <= FROM_SYMBOL)) || ((LA567_13 >= GREATER_OR_EQUAL_OPERATOR) && (LA567_13 <= GREATER_THAN_OPERATOR)) || ((LA567_13 >= GROUP_SYMBOL) && (LA567_13 <= HAVING_SYMBOL)) || ((LA567_13 >= HOUR_MICROSECOND_SYMBOL) && (LA567_13 <= IDENTIFIER)) || LA567_13 == INNER_SYMBOL || LA567_13 == INTO_SYMBOL || LA567_13 == IN_SYMBOL || LA567_13 == IS_SYMBOL || LA567_13 == JOIN_SYMBOL || ((LA567_13 >= LEFT_SYMBOL) && (LA567_13 <= LESS_THAN_OPERATOR)) || ((LA567_13 >= LIKE_SYMBOL) && (LA567_13 <= LIMIT_SYMBOL)) || LA567_13 == LOCK_SYMBOL || LA567_13 == LOGICAL_AND_OPERATOR || LA567_13 == LOGICAL_OR_OPERATOR || ((LA567_13 >= MINUS_OPERATOR) && (LA567_13 <= MINUTE_SECOND_SYMBOL)) || ((LA567_13 >= MOD_OPERATOR) && (LA567_13 <= MOD_SYMBOL)) || ((LA567_13 >= MULT_OPERATOR) && (LA567_13 <= NATURAL_SYMBOL)) || LA567_13 == NCHAR_TEXT || ((LA567_13 >= NOT_EQUAL2_OPERATOR) && (LA567_13 <= NOT_SYMBOL)) || LA567_13 == NULL_SAFE_EQUAL_OPERATOR || LA567_13 == ON_SYMBOL || ((LA567_13 >= ORDER_SYMBOL) && (LA567_13 <= OR_SYMBOL)) || LA567_13 == PLUS_OPERATOR || LA567_13 == PROCEDURE_SYMBOL || LA567_13 == REGEXP_SYMBOL || LA567_13 == RENAME_SYMBOL || LA567_13 == RIGHT_SYMBOL || LA567_13 == SECOND_MICROSECOND_SYMBOL || LA567_13 == SEMICOLON_SYMBOL || LA567_13 == SEPARATOR_SYMBOL || LA567_13 == SET_SYMBOL || ((LA567_13 >= SHIFT_LEFT_OPERATOR) && (LA567_13 <= SHIFT_RIGHT_OPERATOR)) || LA567_13 == SINGLE_QUOTED_TEXT || LA567_13 == STRAIGHT_JOIN_SYMBOL || LA567_13 == THEN_SYMBOL || LA567_13 == UNDERSCORE_CHARSET || LA567_13 == UNION_SYMBOL || LA567_13 == USING_SYMBOL || ((LA567_13 >= WHEN_SYMBOL) && (LA567_13 <= WHERE_SYMBOL)) || LA567_13 == WITH_SYMBOL || ((LA567_13 >= XOR_SYMBOL) && (LA567_13 <= YEAR_MONTH_SYMBOL))))
                            {
                                alt567=2;
                            }
                            else if ( (synpred3_MySQL(ctx)) && (LA567_13 == OPEN_PAR_SYMBOL))
                            {
                                alt567=4;
                            }
                            else
                            {
                                if (BACKTRACKING>0)
                                {
                                    FAILEDFLAG = ANTLR3_TRUE;
                                    return retval;
                                }


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


                                goto ruleprimaryEx;

                            }
                        }
                    }
                    else if ( (LA567_0 == BACK_TICK_QUOTED_ID))
                    {
                        {
                            int LA567_14 = LA(2);
                            if ( (LA567_14 == DOT_SYMBOL))
                            {
                                {
                                    int LA567_564 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt567=2;
                                    }
                                    else if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt567=4;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


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


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA567_14 == EOF || ((LA567_14 >= ACTION_SYMBOL) && (LA567_14 <= PARTITION_SYMBOL)) || ((LA567_14 >= AND_SYMBOL) && (LA567_14 <= ASC_SYMBOL)) || LA567_14 == AS_SYMBOL || LA567_14 == BACK_TICK_QUOTED_ID || LA567_14 == BETWEEN_SYMBOL || LA567_14 == BITWISE_AND_OPERATOR || ((LA567_14 >= BITWISE_OR_OPERATOR) && (LA567_14 <= BITWISE_XOR_OPERATOR)) || ((LA567_14 >= CLOSE_CURLY_SYMBOL) && (LA567_14 <= COLLATE_SYMBOL)) || LA567_14 == COMMA_SYMBOL || LA567_14 == CONCAT_PIPES_SYMBOL || LA567_14 == CROSS_SYMBOL || ((LA567_14 >= DAY_HOUR_SYMBOL) && (LA567_14 <= DAY_SECOND_SYMBOL)) || LA567_14 == DESC_SYMBOL || ((LA567_14 >= DIV_OPERATOR) && (LA567_14 <= DIV_SYMBOL)) || LA567_14 == DOUBLE_QUOTED_TEXT || LA567_14 == ELSE_SYMBOL || LA567_14 == EQUAL_OPERATOR || ((LA567_14 >= FOR_SYMBOL) && (LA567_14 <= FROM_SYMBOL)) || ((LA567_14 >= GREATER_OR_EQUAL_OPERATOR) && (LA567_14 <= GREATER_THAN_OPERATOR)) || ((LA567_14 >= GROUP_SYMBOL) && (LA567_14 <= HAVING_SYMBOL)) || ((LA567_14 >= HOUR_MICROSECOND_SYMBOL) && (LA567_14 <= IDENTIFIER)) || LA567_14 == INNER_SYMBOL || LA567_14 == INTO_SYMBOL || LA567_14 == IN_SYMBOL || LA567_14 == IS_SYMBOL || LA567_14 == JOIN_SYMBOL || ((LA567_14 >= LEFT_SYMBOL) && (LA567_14 <= LESS_THAN_OPERATOR)) || ((LA567_14 >= LIKE_SYMBOL) && (LA567_14 <= LIMIT_SYMBOL)) || LA567_14 == LOCK_SYMBOL || LA567_14 == LOGICAL_AND_OPERATOR || LA567_14 == LOGICAL_OR_OPERATOR || ((LA567_14 >= MINUS_OPERATOR) && (LA567_14 <= MINUTE_SECOND_SYMBOL)) || ((LA567_14 >= MOD_OPERATOR) && (LA567_14 <= MOD_SYMBOL)) || ((LA567_14 >= MULT_OPERATOR) && (LA567_14 <= NATURAL_SYMBOL)) || LA567_14 == NCHAR_TEXT || ((LA567_14 >= NOT_EQUAL2_OPERATOR) && (LA567_14 <= NOT_SYMBOL)) || LA567_14 == NULL_SAFE_EQUAL_OPERATOR || LA567_14 == ON_SYMBOL || ((LA567_14 >= ORDER_SYMBOL) && (LA567_14 <= OR_SYMBOL)) || LA567_14 == PLUS_OPERATOR || LA567_14 == PROCEDURE_SYMBOL || LA567_14 == REGEXP_SYMBOL || LA567_14 == RENAME_SYMBOL || LA567_14 == RIGHT_SYMBOL || LA567_14 == SECOND_MICROSECOND_SYMBOL || LA567_14 == SEMICOLON_SYMBOL || LA567_14 == SEPARATOR_SYMBOL || LA567_14 == SET_SYMBOL || ((LA567_14 >= SHIFT_LEFT_OPERATOR) && (LA567_14 <= SHIFT_RIGHT_OPERATOR)) || LA567_14 == SINGLE_QUOTED_TEXT || LA567_14 == STRAIGHT_JOIN_SYMBOL || LA567_14 == THEN_SYMBOL || LA567_14 == UNDERSCORE_CHARSET || LA567_14 == UNION_SYMBOL || LA567_14 == USING_SYMBOL || ((LA567_14 >= WHEN_SYMBOL) && (LA567_14 <= WHERE_SYMBOL)) || LA567_14 == WITH_SYMBOL || ((LA567_14 >= XOR_SYMBOL) && (LA567_14 <= YEAR_MONTH_SYMBOL))))
                            {
                                alt567=2;
                            }
                            else if ( (synpred3_MySQL(ctx)) && (LA567_14 == OPEN_PAR_SYMBOL))
                            {
                                alt567=4;
                            }
                            else
                            {
                                if (BACKTRACKING>0)
                                {
                                    FAILEDFLAG = ANTLR3_TRUE;
                                    return retval;
                                }


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


                                goto ruleprimaryEx;

                            }
                        }
                    }
                    else if ( (LA567_0 == DAY_SYMBOL))
                    {
                        {
                            int LA567_15 = LA(2);
                            if ( (LA567_15 == OPEN_PAR_SYMBOL))
                            {
                                {
                                    int LA567_657 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt567=3;
                                    }
                                    else if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt567=4;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


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


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA567_15 == DOT_SYMBOL))
                            {
                                {
                                    int LA567_658 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt567=2;
                                    }
                                    else if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt567=4;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


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


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA567_15 == EOF || ((LA567_15 >= ACTION_SYMBOL) && (LA567_15 <= PARTITION_SYMBOL)) || ((LA567_15 >= AND_SYMBOL) && (LA567_15 <= ASC_SYMBOL)) || LA567_15 == AS_SYMBOL || LA567_15 == BACK_TICK_QUOTED_ID || LA567_15 == BETWEEN_SYMBOL || LA567_15 == BITWISE_AND_OPERATOR || ((LA567_15 >= BITWISE_OR_OPERATOR) && (LA567_15 <= BITWISE_XOR_OPERATOR)) || ((LA567_15 >= CLOSE_CURLY_SYMBOL) && (LA567_15 <= COLLATE_SYMBOL)) || LA567_15 == COMMA_SYMBOL || LA567_15 == CONCAT_PIPES_SYMBOL || LA567_15 == CROSS_SYMBOL || ((LA567_15 >= DAY_HOUR_SYMBOL) && (LA567_15 <= DAY_SECOND_SYMBOL)) || LA567_15 == DESC_SYMBOL || ((LA567_15 >= DIV_OPERATOR) && (LA567_15 <= DIV_SYMBOL)) || LA567_15 == DOUBLE_QUOTED_TEXT || LA567_15 == ELSE_SYMBOL || LA567_15 == EQUAL_OPERATOR || ((LA567_15 >= FOR_SYMBOL) && (LA567_15 <= FROM_SYMBOL)) || ((LA567_15 >= GREATER_OR_EQUAL_OPERATOR) && (LA567_15 <= GREATER_THAN_OPERATOR)) || ((LA567_15 >= GROUP_SYMBOL) && (LA567_15 <= HAVING_SYMBOL)) || ((LA567_15 >= HOUR_MICROSECOND_SYMBOL) && (LA567_15 <= IDENTIFIER)) || LA567_15 == INNER_SYMBOL || LA567_15 == INTO_SYMBOL || LA567_15 == IN_SYMBOL || LA567_15 == IS_SYMBOL || LA567_15 == JOIN_SYMBOL || ((LA567_15 >= LEFT_SYMBOL) && (LA567_15 <= LESS_THAN_OPERATOR)) || ((LA567_15 >= LIKE_SYMBOL) && (LA567_15 <= LIMIT_SYMBOL)) || LA567_15 == LOCK_SYMBOL || LA567_15 == LOGICAL_AND_OPERATOR || LA567_15 == LOGICAL_OR_OPERATOR || ((LA567_15 >= MINUS_OPERATOR) && (LA567_15 <= MINUTE_SECOND_SYMBOL)) || ((LA567_15 >= MOD_OPERATOR) && (LA567_15 <= MOD_SYMBOL)) || ((LA567_15 >= MULT_OPERATOR) && (LA567_15 <= NATURAL_SYMBOL)) || LA567_15 == NCHAR_TEXT || ((LA567_15 >= NOT_EQUAL2_OPERATOR) && (LA567_15 <= NOT_SYMBOL)) || LA567_15 == NULL_SAFE_EQUAL_OPERATOR || LA567_15 == ON_SYMBOL || ((LA567_15 >= ORDER_SYMBOL) && (LA567_15 <= OR_SYMBOL)) || LA567_15 == PLUS_OPERATOR || LA567_15 == PROCEDURE_SYMBOL || LA567_15 == REGEXP_SYMBOL || LA567_15 == RENAME_SYMBOL || LA567_15 == RIGHT_SYMBOL || LA567_15 == SECOND_MICROSECOND_SYMBOL || LA567_15 == SEMICOLON_SYMBOL || LA567_15 == SEPARATOR_SYMBOL || LA567_15 == SET_SYMBOL || ((LA567_15 >= SHIFT_LEFT_OPERATOR) && (LA567_15 <= SHIFT_RIGHT_OPERATOR)) || LA567_15 == SINGLE_QUOTED_TEXT || LA567_15 == STRAIGHT_JOIN_SYMBOL || LA567_15 == THEN_SYMBOL || LA567_15 == UNDERSCORE_CHARSET || LA567_15 == UNION_SYMBOL || LA567_15 == USING_SYMBOL || ((LA567_15 >= WHEN_SYMBOL) && (LA567_15 <= WHERE_SYMBOL)) || LA567_15 == WITH_SYMBOL || ((LA567_15 >= XOR_SYMBOL) && (LA567_15 <= YEAR_MONTH_SYMBOL))))
                            {
                                alt567=2;
                            }
                            else
                            {
                                if (BACKTRACKING>0)
                                {
                                    FAILEDFLAG = ANTLR3_TRUE;
                                    return retval;
                                }


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


                                goto ruleprimaryEx;

                            }
                        }
                    }
                    else if ( (LA567_0 == PARTITION_SYMBOL))
                    {
                        {
                            int LA567_16 = LA(2);
                            if ( (LA567_16 == DOT_SYMBOL))
                            {
                                {
                                    int LA567_750 = LA(3);
                                    if ( ((SERVER_VERSION < 50600)))
                                    {
                                        alt567=2;
                                    }
                                    else if ( (( (( (synpred3_MySQL(ctx)) && (synpred3_MySQL(ctx)) )) && ((SERVER_VERSION < 50600)) )))
                                    {
                                        alt567=4;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


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


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA567_16 == EOF || ((LA567_16 >= ACTION_SYMBOL) && (LA567_16 <= PARTITION_SYMBOL)) || ((LA567_16 >= AND_SYMBOL) && (LA567_16 <= ASC_SYMBOL)) || LA567_16 == AS_SYMBOL || LA567_16 == BACK_TICK_QUOTED_ID || LA567_16 == BETWEEN_SYMBOL || LA567_16 == BITWISE_AND_OPERATOR || ((LA567_16 >= BITWISE_OR_OPERATOR) && (LA567_16 <= BITWISE_XOR_OPERATOR)) || ((LA567_16 >= CLOSE_CURLY_SYMBOL) && (LA567_16 <= COLLATE_SYMBOL)) || LA567_16 == COMMA_SYMBOL || LA567_16 == CONCAT_PIPES_SYMBOL || LA567_16 == CROSS_SYMBOL || ((LA567_16 >= DAY_HOUR_SYMBOL) && (LA567_16 <= DAY_SECOND_SYMBOL)) || LA567_16 == DESC_SYMBOL || ((LA567_16 >= DIV_OPERATOR) && (LA567_16 <= DIV_SYMBOL)) || LA567_16 == DOUBLE_QUOTED_TEXT || LA567_16 == ELSE_SYMBOL || LA567_16 == EQUAL_OPERATOR || ((LA567_16 >= FOR_SYMBOL) && (LA567_16 <= FROM_SYMBOL)) || ((LA567_16 >= GREATER_OR_EQUAL_OPERATOR) && (LA567_16 <= GREATER_THAN_OPERATOR)) || ((LA567_16 >= GROUP_SYMBOL) && (LA567_16 <= HAVING_SYMBOL)) || ((LA567_16 >= HOUR_MICROSECOND_SYMBOL) && (LA567_16 <= IDENTIFIER)) || LA567_16 == INNER_SYMBOL || LA567_16 == INTO_SYMBOL || LA567_16 == IN_SYMBOL || LA567_16 == IS_SYMBOL || LA567_16 == JOIN_SYMBOL || ((LA567_16 >= LEFT_SYMBOL) && (LA567_16 <= LESS_THAN_OPERATOR)) || ((LA567_16 >= LIKE_SYMBOL) && (LA567_16 <= LIMIT_SYMBOL)) || LA567_16 == LOCK_SYMBOL || LA567_16 == LOGICAL_AND_OPERATOR || LA567_16 == LOGICAL_OR_OPERATOR || ((LA567_16 >= MINUS_OPERATOR) && (LA567_16 <= MINUTE_SECOND_SYMBOL)) || ((LA567_16 >= MOD_OPERATOR) && (LA567_16 <= MOD_SYMBOL)) || ((LA567_16 >= MULT_OPERATOR) && (LA567_16 <= NATURAL_SYMBOL)) || LA567_16 == NCHAR_TEXT || ((LA567_16 >= NOT_EQUAL2_OPERATOR) && (LA567_16 <= NOT_SYMBOL)) || LA567_16 == NULL_SAFE_EQUAL_OPERATOR || LA567_16 == ON_SYMBOL || ((LA567_16 >= ORDER_SYMBOL) && (LA567_16 <= OR_SYMBOL)) || LA567_16 == PLUS_OPERATOR || LA567_16 == PROCEDURE_SYMBOL || LA567_16 == REGEXP_SYMBOL || LA567_16 == RENAME_SYMBOL || LA567_16 == RIGHT_SYMBOL || LA567_16 == SECOND_MICROSECOND_SYMBOL || LA567_16 == SEMICOLON_SYMBOL || LA567_16 == SEPARATOR_SYMBOL || LA567_16 == SET_SYMBOL || ((LA567_16 >= SHIFT_LEFT_OPERATOR) && (LA567_16 <= SHIFT_RIGHT_OPERATOR)) || LA567_16 == SINGLE_QUOTED_TEXT || LA567_16 == STRAIGHT_JOIN_SYMBOL || LA567_16 == THEN_SYMBOL || LA567_16 == UNDERSCORE_CHARSET || LA567_16 == UNION_SYMBOL || LA567_16 == USING_SYMBOL || ((LA567_16 >= WHEN_SYMBOL) && (LA567_16 <= WHERE_SYMBOL)) || LA567_16 == WITH_SYMBOL || ((LA567_16 >= XOR_SYMBOL) && (LA567_16 <= YEAR_MONTH_SYMBOL))))
                            {
                                alt567=2;
                            }
                            else if ( (synpred3_MySQL(ctx)) && (LA567_16 == OPEN_PAR_SYMBOL))
                            {
                                alt567=4;
                            }
                            else
                            {
                                if (BACKTRACKING>0)
                                {
                                    FAILEDFLAG = ANTLR3_TRUE;
                                    return retval;
                                }


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


                                goto ruleprimaryEx;

                            }
                        }
                    }
                    else if ( (LA567_0 == ASCII_SYMBOL))
                    {
                        {
                            int LA567_17 = LA(2);
                            if ( (LA567_17 == OPEN_PAR_SYMBOL))
                            {
                                {
                                    int LA567_843 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt567=3;
                                    }
                                    else if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt567=4;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


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


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA567_17 == DOT_SYMBOL))
                            {
                                {
                                    int LA567_844 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt567=2;
                                    }
                                    else if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt567=4;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


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


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA567_17 == EOF || ((LA567_17 >= ACTION_SYMBOL) && (LA567_17 <= PARTITION_SYMBOL)) || ((LA567_17 >= AND_SYMBOL) && (LA567_17 <= ASC_SYMBOL)) || LA567_17 == AS_SYMBOL || LA567_17 == BACK_TICK_QUOTED_ID || LA567_17 == BETWEEN_SYMBOL || LA567_17 == BITWISE_AND_OPERATOR || ((LA567_17 >= BITWISE_OR_OPERATOR) && (LA567_17 <= BITWISE_XOR_OPERATOR)) || ((LA567_17 >= CLOSE_CURLY_SYMBOL) && (LA567_17 <= COLLATE_SYMBOL)) || LA567_17 == COMMA_SYMBOL || LA567_17 == CONCAT_PIPES_SYMBOL || LA567_17 == CROSS_SYMBOL || ((LA567_17 >= DAY_HOUR_SYMBOL) && (LA567_17 <= DAY_SECOND_SYMBOL)) || LA567_17 == DESC_SYMBOL || ((LA567_17 >= DIV_OPERATOR) && (LA567_17 <= DIV_SYMBOL)) || LA567_17 == DOUBLE_QUOTED_TEXT || LA567_17 == ELSE_SYMBOL || LA567_17 == EQUAL_OPERATOR || ((LA567_17 >= FOR_SYMBOL) && (LA567_17 <= FROM_SYMBOL)) || ((LA567_17 >= GREATER_OR_EQUAL_OPERATOR) && (LA567_17 <= GREATER_THAN_OPERATOR)) || ((LA567_17 >= GROUP_SYMBOL) && (LA567_17 <= HAVING_SYMBOL)) || ((LA567_17 >= HOUR_MICROSECOND_SYMBOL) && (LA567_17 <= IDENTIFIER)) || LA567_17 == INNER_SYMBOL || LA567_17 == INTO_SYMBOL || LA567_17 == IN_SYMBOL || LA567_17 == IS_SYMBOL || LA567_17 == JOIN_SYMBOL || ((LA567_17 >= LEFT_SYMBOL) && (LA567_17 <= LESS_THAN_OPERATOR)) || ((LA567_17 >= LIKE_SYMBOL) && (LA567_17 <= LIMIT_SYMBOL)) || LA567_17 == LOCK_SYMBOL || LA567_17 == LOGICAL_AND_OPERATOR || LA567_17 == LOGICAL_OR_OPERATOR || ((LA567_17 >= MINUS_OPERATOR) && (LA567_17 <= MINUTE_SECOND_SYMBOL)) || ((LA567_17 >= MOD_OPERATOR) && (LA567_17 <= MOD_SYMBOL)) || ((LA567_17 >= MULT_OPERATOR) && (LA567_17 <= NATURAL_SYMBOL)) || LA567_17 == NCHAR_TEXT || ((LA567_17 >= NOT_EQUAL2_OPERATOR) && (LA567_17 <= NOT_SYMBOL)) || LA567_17 == NULL_SAFE_EQUAL_OPERATOR || LA567_17 == ON_SYMBOL || ((LA567_17 >= ORDER_SYMBOL) && (LA567_17 <= OR_SYMBOL)) || LA567_17 == PLUS_OPERATOR || LA567_17 == PROCEDURE_SYMBOL || LA567_17 == REGEXP_SYMBOL || LA567_17 == RENAME_SYMBOL || LA567_17 == RIGHT_SYMBOL || LA567_17 == SECOND_MICROSECOND_SYMBOL || LA567_17 == SEMICOLON_SYMBOL || LA567_17 == SEPARATOR_SYMBOL || LA567_17 == SET_SYMBOL || ((LA567_17 >= SHIFT_LEFT_OPERATOR) && (LA567_17 <= SHIFT_RIGHT_OPERATOR)) || LA567_17 == SINGLE_QUOTED_TEXT || LA567_17 == STRAIGHT_JOIN_SYMBOL || LA567_17 == THEN_SYMBOL || LA567_17 == UNDERSCORE_CHARSET || LA567_17 == UNION_SYMBOL || LA567_17 == USING_SYMBOL || ((LA567_17 >= WHEN_SYMBOL) && (LA567_17 <= WHERE_SYMBOL)) || LA567_17 == WITH_SYMBOL || ((LA567_17 >= XOR_SYMBOL) && (LA567_17 <= YEAR_MONTH_SYMBOL))))
                            {
                                alt567=2;
                            }
                            else
                            {
                                if (BACKTRACKING>0)
                                {
                                    FAILEDFLAG = ANTLR3_TRUE;
                                    return retval;
                                }


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


                                goto ruleprimaryEx;

                            }
                        }
                    }
                    else if ( (LA567_0 == DOT_SYMBOL))
                    {
                        alt567=2;
                    }
                    else if ( (((LA567_0 >= BIT_AND_SYMBOL) && (LA567_0 <= BIT_XOR_SYMBOL)) || LA567_0 == CHAR_SYMBOL || LA567_0 == COUNT_SYMBOL || LA567_0 == CURDATE_SYMBOL || LA567_0 == CURRENT_USER_SYMBOL || LA567_0 == CURTIME_SYMBOL || LA567_0 == DATABASE_SYMBOL || LA567_0 == DATE_ADD_SYMBOL || LA567_0 == DATE_SUB_SYMBOL || LA567_0 == EXTRACT_SYMBOL || LA567_0 == GROUP_CONCAT_SYMBOL || LA567_0 == IF_SYMBOL || LA567_0 == INSERT_SYMBOL || LA567_0 == LEFT_SYMBOL || LA567_0 == MAX_SYMBOL || LA567_0 == MIN_SYMBOL || LA567_0 == MOD_SYMBOL || LA567_0 == NOW_SYMBOL || LA567_0 == POSITION_SYMBOL || ((LA567_0 >= REPEAT_SYMBOL) && (LA567_0 <= REPLACE_SYMBOL)) || LA567_0 == RIGHT_SYMBOL || LA567_0 == STDDEV_SAMP_SYMBOL || LA567_0 == STD_SYMBOL || LA567_0 == SUBSTRING_SYMBOL || ((LA567_0 >= SUM_SYMBOL) && (LA567_0 <= SYSDATE_SYMBOL)) || LA567_0 == TRIM_SYMBOL || ((LA567_0 >= UTC_DATE_SYMBOL) && (LA567_0 <= VALUES_SYMBOL)) || LA567_0 == VARIANCE_SYMBOL || LA567_0 == VAR_SAMP_SYMBOL))
                    {
                        alt567=3;
                    }
                    else if ( (LA567_0 == HOUR_SYMBOL))
                    {
                        {
                            int LA567_21 = LA(2);
                            if ( (LA567_21 == OPEN_PAR_SYMBOL))
                            {
                                {
                                    int LA567_936 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt567=3;
                                    }
                                    else if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt567=4;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


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


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA567_21 == DOT_SYMBOL))
                            {
                                {
                                    int LA567_937 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt567=2;
                                    }
                                    else if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt567=4;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


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


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA567_21 == EOF || ((LA567_21 >= ACTION_SYMBOL) && (LA567_21 <= PARTITION_SYMBOL)) || ((LA567_21 >= AND_SYMBOL) && (LA567_21 <= ASC_SYMBOL)) || LA567_21 == AS_SYMBOL || LA567_21 == BACK_TICK_QUOTED_ID || LA567_21 == BETWEEN_SYMBOL || LA567_21 == BITWISE_AND_OPERATOR || ((LA567_21 >= BITWISE_OR_OPERATOR) && (LA567_21 <= BITWISE_XOR_OPERATOR)) || ((LA567_21 >= CLOSE_CURLY_SYMBOL) && (LA567_21 <= COLLATE_SYMBOL)) || LA567_21 == COMMA_SYMBOL || LA567_21 == CONCAT_PIPES_SYMBOL || LA567_21 == CROSS_SYMBOL || ((LA567_21 >= DAY_HOUR_SYMBOL) && (LA567_21 <= DAY_SECOND_SYMBOL)) || LA567_21 == DESC_SYMBOL || ((LA567_21 >= DIV_OPERATOR) && (LA567_21 <= DIV_SYMBOL)) || LA567_21 == DOUBLE_QUOTED_TEXT || LA567_21 == ELSE_SYMBOL || LA567_21 == EQUAL_OPERATOR || ((LA567_21 >= FOR_SYMBOL) && (LA567_21 <= FROM_SYMBOL)) || ((LA567_21 >= GREATER_OR_EQUAL_OPERATOR) && (LA567_21 <= GREATER_THAN_OPERATOR)) || ((LA567_21 >= GROUP_SYMBOL) && (LA567_21 <= HAVING_SYMBOL)) || ((LA567_21 >= HOUR_MICROSECOND_SYMBOL) && (LA567_21 <= IDENTIFIER)) || LA567_21 == INNER_SYMBOL || LA567_21 == INTO_SYMBOL || LA567_21 == IN_SYMBOL || LA567_21 == IS_SYMBOL || LA567_21 == JOIN_SYMBOL || ((LA567_21 >= LEFT_SYMBOL) && (LA567_21 <= LESS_THAN_OPERATOR)) || ((LA567_21 >= LIKE_SYMBOL) && (LA567_21 <= LIMIT_SYMBOL)) || LA567_21 == LOCK_SYMBOL || LA567_21 == LOGICAL_AND_OPERATOR || LA567_21 == LOGICAL_OR_OPERATOR || ((LA567_21 >= MINUS_OPERATOR) && (LA567_21 <= MINUTE_SECOND_SYMBOL)) || ((LA567_21 >= MOD_OPERATOR) && (LA567_21 <= MOD_SYMBOL)) || ((LA567_21 >= MULT_OPERATOR) && (LA567_21 <= NATURAL_SYMBOL)) || LA567_21 == NCHAR_TEXT || ((LA567_21 >= NOT_EQUAL2_OPERATOR) && (LA567_21 <= NOT_SYMBOL)) || LA567_21 == NULL_SAFE_EQUAL_OPERATOR || LA567_21 == ON_SYMBOL || ((LA567_21 >= ORDER_SYMBOL) && (LA567_21 <= OR_SYMBOL)) || LA567_21 == PLUS_OPERATOR || LA567_21 == PROCEDURE_SYMBOL || LA567_21 == REGEXP_SYMBOL || LA567_21 == RENAME_SYMBOL || LA567_21 == RIGHT_SYMBOL || LA567_21 == SECOND_MICROSECOND_SYMBOL || LA567_21 == SEMICOLON_SYMBOL || LA567_21 == SEPARATOR_SYMBOL || LA567_21 == SET_SYMBOL || ((LA567_21 >= SHIFT_LEFT_OPERATOR) && (LA567_21 <= SHIFT_RIGHT_OPERATOR)) || LA567_21 == SINGLE_QUOTED_TEXT || LA567_21 == STRAIGHT_JOIN_SYMBOL || LA567_21 == THEN_SYMBOL || LA567_21 == UNDERSCORE_CHARSET || LA567_21 == UNION_SYMBOL || LA567_21 == USING_SYMBOL || ((LA567_21 >= WHEN_SYMBOL) && (LA567_21 <= WHERE_SYMBOL)) || LA567_21 == WITH_SYMBOL || ((LA567_21 >= XOR_SYMBOL) && (LA567_21 <= YEAR_MONTH_SYMBOL))))
                            {
                                alt567=2;
                            }
                            else
                            {
                                if (BACKTRACKING>0)
                                {
                                    FAILEDFLAG = ANTLR3_TRUE;
                                    return retval;
                                }


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


                                goto ruleprimaryEx;

                            }
                        }
                    }
                    else if ( (LA567_0 == MINUTE_SYMBOL))
                    {
                        {
                            int LA567_22 = LA(2);
                            if ( (LA567_22 == OPEN_PAR_SYMBOL))
                            {
                                {
                                    int LA567_1029 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt567=3;
                                    }
                                    else if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt567=4;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


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


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA567_22 == DOT_SYMBOL))
                            {
                                {
                                    int LA567_1030 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt567=2;
                                    }
                                    else if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt567=4;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


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


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA567_22 == EOF || ((LA567_22 >= ACTION_SYMBOL) && (LA567_22 <= PARTITION_SYMBOL)) || ((LA567_22 >= AND_SYMBOL) && (LA567_22 <= ASC_SYMBOL)) || LA567_22 == AS_SYMBOL || LA567_22 == BACK_TICK_QUOTED_ID || LA567_22 == BETWEEN_SYMBOL || LA567_22 == BITWISE_AND_OPERATOR || ((LA567_22 >= BITWISE_OR_OPERATOR) && (LA567_22 <= BITWISE_XOR_OPERATOR)) || ((LA567_22 >= CLOSE_CURLY_SYMBOL) && (LA567_22 <= COLLATE_SYMBOL)) || LA567_22 == COMMA_SYMBOL || LA567_22 == CONCAT_PIPES_SYMBOL || LA567_22 == CROSS_SYMBOL || ((LA567_22 >= DAY_HOUR_SYMBOL) && (LA567_22 <= DAY_SECOND_SYMBOL)) || LA567_22 == DESC_SYMBOL || ((LA567_22 >= DIV_OPERATOR) && (LA567_22 <= DIV_SYMBOL)) || LA567_22 == DOUBLE_QUOTED_TEXT || LA567_22 == ELSE_SYMBOL || LA567_22 == EQUAL_OPERATOR || ((LA567_22 >= FOR_SYMBOL) && (LA567_22 <= FROM_SYMBOL)) || ((LA567_22 >= GREATER_OR_EQUAL_OPERATOR) && (LA567_22 <= GREATER_THAN_OPERATOR)) || ((LA567_22 >= GROUP_SYMBOL) && (LA567_22 <= HAVING_SYMBOL)) || ((LA567_22 >= HOUR_MICROSECOND_SYMBOL) && (LA567_22 <= IDENTIFIER)) || LA567_22 == INNER_SYMBOL || LA567_22 == INTO_SYMBOL || LA567_22 == IN_SYMBOL || LA567_22 == IS_SYMBOL || LA567_22 == JOIN_SYMBOL || ((LA567_22 >= LEFT_SYMBOL) && (LA567_22 <= LESS_THAN_OPERATOR)) || ((LA567_22 >= LIKE_SYMBOL) && (LA567_22 <= LIMIT_SYMBOL)) || LA567_22 == LOCK_SYMBOL || LA567_22 == LOGICAL_AND_OPERATOR || LA567_22 == LOGICAL_OR_OPERATOR || ((LA567_22 >= MINUS_OPERATOR) && (LA567_22 <= MINUTE_SECOND_SYMBOL)) || ((LA567_22 >= MOD_OPERATOR) && (LA567_22 <= MOD_SYMBOL)) || ((LA567_22 >= MULT_OPERATOR) && (LA567_22 <= NATURAL_SYMBOL)) || LA567_22 == NCHAR_TEXT || ((LA567_22 >= NOT_EQUAL2_OPERATOR) && (LA567_22 <= NOT_SYMBOL)) || LA567_22 == NULL_SAFE_EQUAL_OPERATOR || LA567_22 == ON_SYMBOL || ((LA567_22 >= ORDER_SYMBOL) && (LA567_22 <= OR_SYMBOL)) || LA567_22 == PLUS_OPERATOR || LA567_22 == PROCEDURE_SYMBOL || LA567_22 == REGEXP_SYMBOL || LA567_22 == RENAME_SYMBOL || LA567_22 == RIGHT_SYMBOL || LA567_22 == SECOND_MICROSECOND_SYMBOL || LA567_22 == SEMICOLON_SYMBOL || LA567_22 == SEPARATOR_SYMBOL || LA567_22 == SET_SYMBOL || ((LA567_22 >= SHIFT_LEFT_OPERATOR) && (LA567_22 <= SHIFT_RIGHT_OPERATOR)) || LA567_22 == SINGLE_QUOTED_TEXT || LA567_22 == STRAIGHT_JOIN_SYMBOL || LA567_22 == THEN_SYMBOL || LA567_22 == UNDERSCORE_CHARSET || LA567_22 == UNION_SYMBOL || LA567_22 == USING_SYMBOL || ((LA567_22 >= WHEN_SYMBOL) && (LA567_22 <= WHERE_SYMBOL)) || LA567_22 == WITH_SYMBOL || ((LA567_22 >= XOR_SYMBOL) && (LA567_22 <= YEAR_MONTH_SYMBOL))))
                            {
                                alt567=2;
                            }
                            else
                            {
                                if (BACKTRACKING>0)
                                {
                                    FAILEDFLAG = ANTLR3_TRUE;
                                    return retval;
                                }


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


                                goto ruleprimaryEx;

                            }
                        }
                    }
                    else if ( (LA567_0 == MONTH_SYMBOL))
                    {
                        {
                            int LA567_25 = LA(2);
                            if ( (LA567_25 == OPEN_PAR_SYMBOL))
                            {
                                {
                                    int LA567_1122 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt567=3;
                                    }
                                    else if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt567=4;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


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


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA567_25 == DOT_SYMBOL))
                            {
                                {
                                    int LA567_1123 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt567=2;
                                    }
                                    else if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt567=4;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


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


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA567_25 == EOF || ((LA567_25 >= ACTION_SYMBOL) && (LA567_25 <= PARTITION_SYMBOL)) || ((LA567_25 >= AND_SYMBOL) && (LA567_25 <= ASC_SYMBOL)) || LA567_25 == AS_SYMBOL || LA567_25 == BACK_TICK_QUOTED_ID || LA567_25 == BETWEEN_SYMBOL || LA567_25 == BITWISE_AND_OPERATOR || ((LA567_25 >= BITWISE_OR_OPERATOR) && (LA567_25 <= BITWISE_XOR_OPERATOR)) || ((LA567_25 >= CLOSE_CURLY_SYMBOL) && (LA567_25 <= COLLATE_SYMBOL)) || LA567_25 == COMMA_SYMBOL || LA567_25 == CONCAT_PIPES_SYMBOL || LA567_25 == CROSS_SYMBOL || ((LA567_25 >= DAY_HOUR_SYMBOL) && (LA567_25 <= DAY_SECOND_SYMBOL)) || LA567_25 == DESC_SYMBOL || ((LA567_25 >= DIV_OPERATOR) && (LA567_25 <= DIV_SYMBOL)) || LA567_25 == DOUBLE_QUOTED_TEXT || LA567_25 == ELSE_SYMBOL || LA567_25 == EQUAL_OPERATOR || ((LA567_25 >= FOR_SYMBOL) && (LA567_25 <= FROM_SYMBOL)) || ((LA567_25 >= GREATER_OR_EQUAL_OPERATOR) && (LA567_25 <= GREATER_THAN_OPERATOR)) || ((LA567_25 >= GROUP_SYMBOL) && (LA567_25 <= HAVING_SYMBOL)) || ((LA567_25 >= HOUR_MICROSECOND_SYMBOL) && (LA567_25 <= IDENTIFIER)) || LA567_25 == INNER_SYMBOL || LA567_25 == INTO_SYMBOL || LA567_25 == IN_SYMBOL || LA567_25 == IS_SYMBOL || LA567_25 == JOIN_SYMBOL || ((LA567_25 >= LEFT_SYMBOL) && (LA567_25 <= LESS_THAN_OPERATOR)) || ((LA567_25 >= LIKE_SYMBOL) && (LA567_25 <= LIMIT_SYMBOL)) || LA567_25 == LOCK_SYMBOL || LA567_25 == LOGICAL_AND_OPERATOR || LA567_25 == LOGICAL_OR_OPERATOR || ((LA567_25 >= MINUS_OPERATOR) && (LA567_25 <= MINUTE_SECOND_SYMBOL)) || ((LA567_25 >= MOD_OPERATOR) && (LA567_25 <= MOD_SYMBOL)) || ((LA567_25 >= MULT_OPERATOR) && (LA567_25 <= NATURAL_SYMBOL)) || LA567_25 == NCHAR_TEXT || ((LA567_25 >= NOT_EQUAL2_OPERATOR) && (LA567_25 <= NOT_SYMBOL)) || LA567_25 == NULL_SAFE_EQUAL_OPERATOR || LA567_25 == ON_SYMBOL || ((LA567_25 >= ORDER_SYMBOL) && (LA567_25 <= OR_SYMBOL)) || LA567_25 == PLUS_OPERATOR || LA567_25 == PROCEDURE_SYMBOL || LA567_25 == REGEXP_SYMBOL || LA567_25 == RENAME_SYMBOL || LA567_25 == RIGHT_SYMBOL || LA567_25 == SECOND_MICROSECOND_SYMBOL || LA567_25 == SEMICOLON_SYMBOL || LA567_25 == SEPARATOR_SYMBOL || LA567_25 == SET_SYMBOL || ((LA567_25 >= SHIFT_LEFT_OPERATOR) && (LA567_25 <= SHIFT_RIGHT_OPERATOR)) || LA567_25 == SINGLE_QUOTED_TEXT || LA567_25 == STRAIGHT_JOIN_SYMBOL || LA567_25 == THEN_SYMBOL || LA567_25 == UNDERSCORE_CHARSET || LA567_25 == UNION_SYMBOL || LA567_25 == USING_SYMBOL || ((LA567_25 >= WHEN_SYMBOL) && (LA567_25 <= WHERE_SYMBOL)) || LA567_25 == WITH_SYMBOL || ((LA567_25 >= XOR_SYMBOL) && (LA567_25 <= YEAR_MONTH_SYMBOL))))
                            {
                                alt567=2;
                            }
                            else
                            {
                                if (BACKTRACKING>0)
                                {
                                    FAILEDFLAG = ANTLR3_TRUE;
                                    return retval;
                                }


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


                                goto ruleprimaryEx;

                            }
                        }
                    }
                    else if ( (LA567_0 == SECOND_SYMBOL))
                    {
                        {
                            int LA567_26 = LA(2);
                            if ( (LA567_26 == OPEN_PAR_SYMBOL))
                            {
                                {
                                    int LA567_1215 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt567=3;
                                    }
                                    else if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt567=4;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


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


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA567_26 == DOT_SYMBOL))
                            {
                                {
                                    int LA567_1216 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt567=2;
                                    }
                                    else if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt567=4;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


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


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA567_26 == EOF || ((LA567_26 >= ACTION_SYMBOL) && (LA567_26 <= PARTITION_SYMBOL)) || ((LA567_26 >= AND_SYMBOL) && (LA567_26 <= ASC_SYMBOL)) || LA567_26 == AS_SYMBOL || LA567_26 == BACK_TICK_QUOTED_ID || LA567_26 == BETWEEN_SYMBOL || LA567_26 == BITWISE_AND_OPERATOR || ((LA567_26 >= BITWISE_OR_OPERATOR) && (LA567_26 <= BITWISE_XOR_OPERATOR)) || ((LA567_26 >= CLOSE_CURLY_SYMBOL) && (LA567_26 <= COLLATE_SYMBOL)) || LA567_26 == COMMA_SYMBOL || LA567_26 == CONCAT_PIPES_SYMBOL || LA567_26 == CROSS_SYMBOL || ((LA567_26 >= DAY_HOUR_SYMBOL) && (LA567_26 <= DAY_SECOND_SYMBOL)) || LA567_26 == DESC_SYMBOL || ((LA567_26 >= DIV_OPERATOR) && (LA567_26 <= DIV_SYMBOL)) || LA567_26 == DOUBLE_QUOTED_TEXT || LA567_26 == ELSE_SYMBOL || LA567_26 == EQUAL_OPERATOR || ((LA567_26 >= FOR_SYMBOL) && (LA567_26 <= FROM_SYMBOL)) || ((LA567_26 >= GREATER_OR_EQUAL_OPERATOR) && (LA567_26 <= GREATER_THAN_OPERATOR)) || ((LA567_26 >= GROUP_SYMBOL) && (LA567_26 <= HAVING_SYMBOL)) || ((LA567_26 >= HOUR_MICROSECOND_SYMBOL) && (LA567_26 <= IDENTIFIER)) || LA567_26 == INNER_SYMBOL || LA567_26 == INTO_SYMBOL || LA567_26 == IN_SYMBOL || LA567_26 == IS_SYMBOL || LA567_26 == JOIN_SYMBOL || ((LA567_26 >= LEFT_SYMBOL) && (LA567_26 <= LESS_THAN_OPERATOR)) || ((LA567_26 >= LIKE_SYMBOL) && (LA567_26 <= LIMIT_SYMBOL)) || LA567_26 == LOCK_SYMBOL || LA567_26 == LOGICAL_AND_OPERATOR || LA567_26 == LOGICAL_OR_OPERATOR || ((LA567_26 >= MINUS_OPERATOR) && (LA567_26 <= MINUTE_SECOND_SYMBOL)) || ((LA567_26 >= MOD_OPERATOR) && (LA567_26 <= MOD_SYMBOL)) || ((LA567_26 >= MULT_OPERATOR) && (LA567_26 <= NATURAL_SYMBOL)) || LA567_26 == NCHAR_TEXT || ((LA567_26 >= NOT_EQUAL2_OPERATOR) && (LA567_26 <= NOT_SYMBOL)) || LA567_26 == NULL_SAFE_EQUAL_OPERATOR || LA567_26 == ON_SYMBOL || ((LA567_26 >= ORDER_SYMBOL) && (LA567_26 <= OR_SYMBOL)) || LA567_26 == PLUS_OPERATOR || LA567_26 == PROCEDURE_SYMBOL || LA567_26 == REGEXP_SYMBOL || LA567_26 == RENAME_SYMBOL || LA567_26 == RIGHT_SYMBOL || LA567_26 == SECOND_MICROSECOND_SYMBOL || LA567_26 == SEMICOLON_SYMBOL || LA567_26 == SEPARATOR_SYMBOL || LA567_26 == SET_SYMBOL || ((LA567_26 >= SHIFT_LEFT_OPERATOR) && (LA567_26 <= SHIFT_RIGHT_OPERATOR)) || LA567_26 == SINGLE_QUOTED_TEXT || LA567_26 == STRAIGHT_JOIN_SYMBOL || LA567_26 == THEN_SYMBOL || LA567_26 == UNDERSCORE_CHARSET || LA567_26 == UNION_SYMBOL || LA567_26 == USING_SYMBOL || ((LA567_26 >= WHEN_SYMBOL) && (LA567_26 <= WHERE_SYMBOL)) || LA567_26 == WITH_SYMBOL || ((LA567_26 >= XOR_SYMBOL) && (LA567_26 <= YEAR_MONTH_SYMBOL))))
                            {
                                alt567=2;
                            }
                            else
                            {
                                if (BACKTRACKING>0)
                                {
                                    FAILEDFLAG = ANTLR3_TRUE;
                                    return retval;
                                }


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


                                goto ruleprimaryEx;

                            }
                        }
                    }
                    else if ( (LA567_0 == USER_SYMBOL))
                    {
                        {
                            int LA567_28 = LA(2);
                            if ( (LA567_28 == DOT_SYMBOL))
                            {
                                {
                                    int LA567_1308 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt567=2;
                                    }
                                    else if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt567=4;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


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


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA567_28 == EOF || ((LA567_28 >= ACTION_SYMBOL) && (LA567_28 <= PARTITION_SYMBOL)) || ((LA567_28 >= AND_SYMBOL) && (LA567_28 <= ASC_SYMBOL)) || LA567_28 == AS_SYMBOL || LA567_28 == BACK_TICK_QUOTED_ID || LA567_28 == BETWEEN_SYMBOL || LA567_28 == BITWISE_AND_OPERATOR || ((LA567_28 >= BITWISE_OR_OPERATOR) && (LA567_28 <= BITWISE_XOR_OPERATOR)) || ((LA567_28 >= CLOSE_CURLY_SYMBOL) && (LA567_28 <= COLLATE_SYMBOL)) || LA567_28 == COMMA_SYMBOL || LA567_28 == CONCAT_PIPES_SYMBOL || LA567_28 == CROSS_SYMBOL || ((LA567_28 >= DAY_HOUR_SYMBOL) && (LA567_28 <= DAY_SECOND_SYMBOL)) || LA567_28 == DESC_SYMBOL || ((LA567_28 >= DIV_OPERATOR) && (LA567_28 <= DIV_SYMBOL)) || LA567_28 == DOUBLE_QUOTED_TEXT || LA567_28 == ELSE_SYMBOL || LA567_28 == EQUAL_OPERATOR || ((LA567_28 >= FOR_SYMBOL) && (LA567_28 <= FROM_SYMBOL)) || ((LA567_28 >= GREATER_OR_EQUAL_OPERATOR) && (LA567_28 <= GREATER_THAN_OPERATOR)) || ((LA567_28 >= GROUP_SYMBOL) && (LA567_28 <= HAVING_SYMBOL)) || ((LA567_28 >= HOUR_MICROSECOND_SYMBOL) && (LA567_28 <= IDENTIFIER)) || LA567_28 == INNER_SYMBOL || LA567_28 == INTO_SYMBOL || LA567_28 == IN_SYMBOL || LA567_28 == IS_SYMBOL || LA567_28 == JOIN_SYMBOL || ((LA567_28 >= LEFT_SYMBOL) && (LA567_28 <= LESS_THAN_OPERATOR)) || ((LA567_28 >= LIKE_SYMBOL) && (LA567_28 <= LIMIT_SYMBOL)) || LA567_28 == LOCK_SYMBOL || LA567_28 == LOGICAL_AND_OPERATOR || LA567_28 == LOGICAL_OR_OPERATOR || ((LA567_28 >= MINUS_OPERATOR) && (LA567_28 <= MINUTE_SECOND_SYMBOL)) || ((LA567_28 >= MOD_OPERATOR) && (LA567_28 <= MOD_SYMBOL)) || ((LA567_28 >= MULT_OPERATOR) && (LA567_28 <= NATURAL_SYMBOL)) || LA567_28 == NCHAR_TEXT || ((LA567_28 >= NOT_EQUAL2_OPERATOR) && (LA567_28 <= NOT_SYMBOL)) || LA567_28 == NULL_SAFE_EQUAL_OPERATOR || LA567_28 == ON_SYMBOL || ((LA567_28 >= ORDER_SYMBOL) && (LA567_28 <= OR_SYMBOL)) || LA567_28 == PLUS_OPERATOR || LA567_28 == PROCEDURE_SYMBOL || LA567_28 == REGEXP_SYMBOL || LA567_28 == RENAME_SYMBOL || LA567_28 == RIGHT_SYMBOL || LA567_28 == SECOND_MICROSECOND_SYMBOL || LA567_28 == SEMICOLON_SYMBOL || LA567_28 == SEPARATOR_SYMBOL || LA567_28 == SET_SYMBOL || ((LA567_28 >= SHIFT_LEFT_OPERATOR) && (LA567_28 <= SHIFT_RIGHT_OPERATOR)) || LA567_28 == SINGLE_QUOTED_TEXT || LA567_28 == STRAIGHT_JOIN_SYMBOL || LA567_28 == THEN_SYMBOL || LA567_28 == UNDERSCORE_CHARSET || LA567_28 == UNION_SYMBOL || LA567_28 == USING_SYMBOL || ((LA567_28 >= WHEN_SYMBOL) && (LA567_28 <= WHERE_SYMBOL)) || LA567_28 == WITH_SYMBOL || ((LA567_28 >= XOR_SYMBOL) && (LA567_28 <= YEAR_MONTH_SYMBOL))))
                            {
                                alt567=2;
                            }
                            else if ( (LA567_28 == OPEN_PAR_SYMBOL))
                            {
                                {
                                    int LA567_1400 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt567=3;
                                    }
                                    else if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt567=4;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


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


                                goto ruleprimaryEx;

                            }
                        }
                    }
                    else if ( (LA567_0 == YEAR_SYMBOL))
                    {
                        {
                            int LA567_30 = LA(2);
                            if ( (LA567_30 == OPEN_PAR_SYMBOL))
                            {
                                {
                                    int LA567_1401 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt567=3;
                                    }
                                    else if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt567=4;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


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


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA567_30 == DOT_SYMBOL))
                            {
                                {
                                    int LA567_1402 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt567=2;
                                    }
                                    else if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt567=4;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


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


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA567_30 == EOF || ((LA567_30 >= ACTION_SYMBOL) && (LA567_30 <= PARTITION_SYMBOL)) || ((LA567_30 >= AND_SYMBOL) && (LA567_30 <= ASC_SYMBOL)) || LA567_30 == AS_SYMBOL || LA567_30 == BACK_TICK_QUOTED_ID || LA567_30 == BETWEEN_SYMBOL || LA567_30 == BITWISE_AND_OPERATOR || ((LA567_30 >= BITWISE_OR_OPERATOR) && (LA567_30 <= BITWISE_XOR_OPERATOR)) || ((LA567_30 >= CLOSE_CURLY_SYMBOL) && (LA567_30 <= COLLATE_SYMBOL)) || LA567_30 == COMMA_SYMBOL || LA567_30 == CONCAT_PIPES_SYMBOL || LA567_30 == CROSS_SYMBOL || ((LA567_30 >= DAY_HOUR_SYMBOL) && (LA567_30 <= DAY_SECOND_SYMBOL)) || LA567_30 == DESC_SYMBOL || ((LA567_30 >= DIV_OPERATOR) && (LA567_30 <= DIV_SYMBOL)) || LA567_30 == DOUBLE_QUOTED_TEXT || LA567_30 == ELSE_SYMBOL || LA567_30 == EQUAL_OPERATOR || ((LA567_30 >= FOR_SYMBOL) && (LA567_30 <= FROM_SYMBOL)) || ((LA567_30 >= GREATER_OR_EQUAL_OPERATOR) && (LA567_30 <= GREATER_THAN_OPERATOR)) || ((LA567_30 >= GROUP_SYMBOL) && (LA567_30 <= HAVING_SYMBOL)) || ((LA567_30 >= HOUR_MICROSECOND_SYMBOL) && (LA567_30 <= IDENTIFIER)) || LA567_30 == INNER_SYMBOL || LA567_30 == INTO_SYMBOL || LA567_30 == IN_SYMBOL || LA567_30 == IS_SYMBOL || LA567_30 == JOIN_SYMBOL || ((LA567_30 >= LEFT_SYMBOL) && (LA567_30 <= LESS_THAN_OPERATOR)) || ((LA567_30 >= LIKE_SYMBOL) && (LA567_30 <= LIMIT_SYMBOL)) || LA567_30 == LOCK_SYMBOL || LA567_30 == LOGICAL_AND_OPERATOR || LA567_30 == LOGICAL_OR_OPERATOR || ((LA567_30 >= MINUS_OPERATOR) && (LA567_30 <= MINUTE_SECOND_SYMBOL)) || ((LA567_30 >= MOD_OPERATOR) && (LA567_30 <= MOD_SYMBOL)) || ((LA567_30 >= MULT_OPERATOR) && (LA567_30 <= NATURAL_SYMBOL)) || LA567_30 == NCHAR_TEXT || ((LA567_30 >= NOT_EQUAL2_OPERATOR) && (LA567_30 <= NOT_SYMBOL)) || LA567_30 == NULL_SAFE_EQUAL_OPERATOR || LA567_30 == ON_SYMBOL || ((LA567_30 >= ORDER_SYMBOL) && (LA567_30 <= OR_SYMBOL)) || LA567_30 == PLUS_OPERATOR || LA567_30 == PROCEDURE_SYMBOL || LA567_30 == REGEXP_SYMBOL || LA567_30 == RENAME_SYMBOL || LA567_30 == RIGHT_SYMBOL || LA567_30 == SECOND_MICROSECOND_SYMBOL || LA567_30 == SEMICOLON_SYMBOL || LA567_30 == SEPARATOR_SYMBOL || LA567_30 == SET_SYMBOL || ((LA567_30 >= SHIFT_LEFT_OPERATOR) && (LA567_30 <= SHIFT_RIGHT_OPERATOR)) || LA567_30 == SINGLE_QUOTED_TEXT || LA567_30 == STRAIGHT_JOIN_SYMBOL || LA567_30 == THEN_SYMBOL || LA567_30 == UNDERSCORE_CHARSET || LA567_30 == UNION_SYMBOL || LA567_30 == USING_SYMBOL || ((LA567_30 >= WHEN_SYMBOL) && (LA567_30 <= WHERE_SYMBOL)) || LA567_30 == WITH_SYMBOL || ((LA567_30 >= XOR_SYMBOL) && (LA567_30 <= YEAR_MONTH_SYMBOL))))
                            {
                                alt567=2;
                            }
                            else
                            {
                                if (BACKTRACKING>0)
                                {
                                    FAILEDFLAG = ANTLR3_TRUE;
                                    return retval;
                                }


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


                                goto ruleprimaryEx;

                            }
                        }
                    }
                    else if ( (LA567_0 == ADDDATE_SYMBOL || LA567_0 == SUBDATE_SYMBOL))
                    {
                        {
                            int LA567_32 = LA(2);
                            if ( (LA567_32 == OPEN_PAR_SYMBOL))
                            {
                                {
                                    int LA567_1494 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt567=3;
                                    }
                                    else if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt567=4;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


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


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA567_32 == DOT_SYMBOL))
                            {
                                {
                                    int LA567_1495 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt567=2;
                                    }
                                    else if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt567=4;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


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


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA567_32 == EOF || ((LA567_32 >= ACTION_SYMBOL) && (LA567_32 <= PARTITION_SYMBOL)) || ((LA567_32 >= AND_SYMBOL) && (LA567_32 <= ASC_SYMBOL)) || LA567_32 == AS_SYMBOL || LA567_32 == BACK_TICK_QUOTED_ID || LA567_32 == BETWEEN_SYMBOL || LA567_32 == BITWISE_AND_OPERATOR || ((LA567_32 >= BITWISE_OR_OPERATOR) && (LA567_32 <= BITWISE_XOR_OPERATOR)) || ((LA567_32 >= CLOSE_CURLY_SYMBOL) && (LA567_32 <= COLLATE_SYMBOL)) || LA567_32 == COMMA_SYMBOL || LA567_32 == CONCAT_PIPES_SYMBOL || LA567_32 == CROSS_SYMBOL || ((LA567_32 >= DAY_HOUR_SYMBOL) && (LA567_32 <= DAY_SECOND_SYMBOL)) || LA567_32 == DESC_SYMBOL || ((LA567_32 >= DIV_OPERATOR) && (LA567_32 <= DIV_SYMBOL)) || LA567_32 == DOUBLE_QUOTED_TEXT || LA567_32 == ELSE_SYMBOL || LA567_32 == EQUAL_OPERATOR || ((LA567_32 >= FOR_SYMBOL) && (LA567_32 <= FROM_SYMBOL)) || ((LA567_32 >= GREATER_OR_EQUAL_OPERATOR) && (LA567_32 <= GREATER_THAN_OPERATOR)) || ((LA567_32 >= GROUP_SYMBOL) && (LA567_32 <= HAVING_SYMBOL)) || ((LA567_32 >= HOUR_MICROSECOND_SYMBOL) && (LA567_32 <= IDENTIFIER)) || LA567_32 == INNER_SYMBOL || LA567_32 == INTO_SYMBOL || LA567_32 == IN_SYMBOL || LA567_32 == IS_SYMBOL || LA567_32 == JOIN_SYMBOL || ((LA567_32 >= LEFT_SYMBOL) && (LA567_32 <= LESS_THAN_OPERATOR)) || ((LA567_32 >= LIKE_SYMBOL) && (LA567_32 <= LIMIT_SYMBOL)) || LA567_32 == LOCK_SYMBOL || LA567_32 == LOGICAL_AND_OPERATOR || LA567_32 == LOGICAL_OR_OPERATOR || ((LA567_32 >= MINUS_OPERATOR) && (LA567_32 <= MINUTE_SECOND_SYMBOL)) || ((LA567_32 >= MOD_OPERATOR) && (LA567_32 <= MOD_SYMBOL)) || ((LA567_32 >= MULT_OPERATOR) && (LA567_32 <= NATURAL_SYMBOL)) || LA567_32 == NCHAR_TEXT || ((LA567_32 >= NOT_EQUAL2_OPERATOR) && (LA567_32 <= NOT_SYMBOL)) || LA567_32 == NULL_SAFE_EQUAL_OPERATOR || LA567_32 == ON_SYMBOL || ((LA567_32 >= ORDER_SYMBOL) && (LA567_32 <= OR_SYMBOL)) || LA567_32 == PLUS_OPERATOR || LA567_32 == PROCEDURE_SYMBOL || LA567_32 == REGEXP_SYMBOL || LA567_32 == RENAME_SYMBOL || LA567_32 == RIGHT_SYMBOL || LA567_32 == SECOND_MICROSECOND_SYMBOL || LA567_32 == SEMICOLON_SYMBOL || LA567_32 == SEPARATOR_SYMBOL || LA567_32 == SET_SYMBOL || ((LA567_32 >= SHIFT_LEFT_OPERATOR) && (LA567_32 <= SHIFT_RIGHT_OPERATOR)) || LA567_32 == SINGLE_QUOTED_TEXT || LA567_32 == STRAIGHT_JOIN_SYMBOL || LA567_32 == THEN_SYMBOL || LA567_32 == UNDERSCORE_CHARSET || LA567_32 == UNION_SYMBOL || LA567_32 == USING_SYMBOL || ((LA567_32 >= WHEN_SYMBOL) && (LA567_32 <= WHERE_SYMBOL)) || LA567_32 == WITH_SYMBOL || ((LA567_32 >= XOR_SYMBOL) && (LA567_32 <= YEAR_MONTH_SYMBOL))))
                            {
                                alt567=2;
                            }
                            else
                            {
                                if (BACKTRACKING>0)
                                {
                                    FAILEDFLAG = ANTLR3_TRUE;
                                    return retval;
                                }


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


                                goto ruleprimaryEx;

                            }
                        }
                    }
                    else if ( (LA567_0 == GET_FORMAT_SYMBOL))
                    {
                        {
                            int LA567_33 = LA(2);
                            if ( (LA567_33 == OPEN_PAR_SYMBOL))
                            {
                                {
                                    int LA567_1587 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt567=3;
                                    }
                                    else if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt567=4;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


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


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA567_33 == DOT_SYMBOL))
                            {
                                {
                                    int LA567_1588 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt567=2;
                                    }
                                    else if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt567=4;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


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


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA567_33 == EOF || ((LA567_33 >= ACTION_SYMBOL) && (LA567_33 <= PARTITION_SYMBOL)) || ((LA567_33 >= AND_SYMBOL) && (LA567_33 <= ASC_SYMBOL)) || LA567_33 == AS_SYMBOL || LA567_33 == BACK_TICK_QUOTED_ID || LA567_33 == BETWEEN_SYMBOL || LA567_33 == BITWISE_AND_OPERATOR || ((LA567_33 >= BITWISE_OR_OPERATOR) && (LA567_33 <= BITWISE_XOR_OPERATOR)) || ((LA567_33 >= CLOSE_CURLY_SYMBOL) && (LA567_33 <= COLLATE_SYMBOL)) || LA567_33 == COMMA_SYMBOL || LA567_33 == CONCAT_PIPES_SYMBOL || LA567_33 == CROSS_SYMBOL || ((LA567_33 >= DAY_HOUR_SYMBOL) && (LA567_33 <= DAY_SECOND_SYMBOL)) || LA567_33 == DESC_SYMBOL || ((LA567_33 >= DIV_OPERATOR) && (LA567_33 <= DIV_SYMBOL)) || LA567_33 == DOUBLE_QUOTED_TEXT || LA567_33 == ELSE_SYMBOL || LA567_33 == EQUAL_OPERATOR || ((LA567_33 >= FOR_SYMBOL) && (LA567_33 <= FROM_SYMBOL)) || ((LA567_33 >= GREATER_OR_EQUAL_OPERATOR) && (LA567_33 <= GREATER_THAN_OPERATOR)) || ((LA567_33 >= GROUP_SYMBOL) && (LA567_33 <= HAVING_SYMBOL)) || ((LA567_33 >= HOUR_MICROSECOND_SYMBOL) && (LA567_33 <= IDENTIFIER)) || LA567_33 == INNER_SYMBOL || LA567_33 == INTO_SYMBOL || LA567_33 == IN_SYMBOL || LA567_33 == IS_SYMBOL || LA567_33 == JOIN_SYMBOL || ((LA567_33 >= LEFT_SYMBOL) && (LA567_33 <= LESS_THAN_OPERATOR)) || ((LA567_33 >= LIKE_SYMBOL) && (LA567_33 <= LIMIT_SYMBOL)) || LA567_33 == LOCK_SYMBOL || LA567_33 == LOGICAL_AND_OPERATOR || LA567_33 == LOGICAL_OR_OPERATOR || ((LA567_33 >= MINUS_OPERATOR) && (LA567_33 <= MINUTE_SECOND_SYMBOL)) || ((LA567_33 >= MOD_OPERATOR) && (LA567_33 <= MOD_SYMBOL)) || ((LA567_33 >= MULT_OPERATOR) && (LA567_33 <= NATURAL_SYMBOL)) || LA567_33 == NCHAR_TEXT || ((LA567_33 >= NOT_EQUAL2_OPERATOR) && (LA567_33 <= NOT_SYMBOL)) || LA567_33 == NULL_SAFE_EQUAL_OPERATOR || LA567_33 == ON_SYMBOL || ((LA567_33 >= ORDER_SYMBOL) && (LA567_33 <= OR_SYMBOL)) || LA567_33 == PLUS_OPERATOR || LA567_33 == PROCEDURE_SYMBOL || LA567_33 == REGEXP_SYMBOL || LA567_33 == RENAME_SYMBOL || LA567_33 == RIGHT_SYMBOL || LA567_33 == SECOND_MICROSECOND_SYMBOL || LA567_33 == SEMICOLON_SYMBOL || LA567_33 == SEPARATOR_SYMBOL || LA567_33 == SET_SYMBOL || ((LA567_33 >= SHIFT_LEFT_OPERATOR) && (LA567_33 <= SHIFT_RIGHT_OPERATOR)) || LA567_33 == SINGLE_QUOTED_TEXT || LA567_33 == STRAIGHT_JOIN_SYMBOL || LA567_33 == THEN_SYMBOL || LA567_33 == UNDERSCORE_CHARSET || LA567_33 == UNION_SYMBOL || LA567_33 == USING_SYMBOL || ((LA567_33 >= WHEN_SYMBOL) && (LA567_33 <= WHERE_SYMBOL)) || LA567_33 == WITH_SYMBOL || ((LA567_33 >= XOR_SYMBOL) && (LA567_33 <= YEAR_MONTH_SYMBOL))))
                            {
                                alt567=2;
                            }
                            else
                            {
                                if (BACKTRACKING>0)
                                {
                                    FAILEDFLAG = ANTLR3_TRUE;
                                    return retval;
                                }


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


                                goto ruleprimaryEx;

                            }
                        }
                    }
                    else if ( (((LA567_0 >= TIMESTAMP_ADD_SYMBOL) && (LA567_0 <= TIMESTAMP_DIFF_SYMBOL))))
                    {
                        {
                            int LA567_38 = LA(2);
                            if ( (LA567_38 == OPEN_PAR_SYMBOL))
                            {
                                {
                                    int LA567_1680 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt567=3;
                                    }
                                    else if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt567=4;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


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


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA567_38 == DOT_SYMBOL))
                            {
                                {
                                    int LA567_1681 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt567=2;
                                    }
                                    else if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt567=4;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


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


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA567_38 == EOF || ((LA567_38 >= ACTION_SYMBOL) && (LA567_38 <= PARTITION_SYMBOL)) || ((LA567_38 >= AND_SYMBOL) && (LA567_38 <= ASC_SYMBOL)) || LA567_38 == AS_SYMBOL || LA567_38 == BACK_TICK_QUOTED_ID || LA567_38 == BETWEEN_SYMBOL || LA567_38 == BITWISE_AND_OPERATOR || ((LA567_38 >= BITWISE_OR_OPERATOR) && (LA567_38 <= BITWISE_XOR_OPERATOR)) || ((LA567_38 >= CLOSE_CURLY_SYMBOL) && (LA567_38 <= COLLATE_SYMBOL)) || LA567_38 == COMMA_SYMBOL || LA567_38 == CONCAT_PIPES_SYMBOL || LA567_38 == CROSS_SYMBOL || ((LA567_38 >= DAY_HOUR_SYMBOL) && (LA567_38 <= DAY_SECOND_SYMBOL)) || LA567_38 == DESC_SYMBOL || ((LA567_38 >= DIV_OPERATOR) && (LA567_38 <= DIV_SYMBOL)) || LA567_38 == DOUBLE_QUOTED_TEXT || LA567_38 == ELSE_SYMBOL || LA567_38 == EQUAL_OPERATOR || ((LA567_38 >= FOR_SYMBOL) && (LA567_38 <= FROM_SYMBOL)) || ((LA567_38 >= GREATER_OR_EQUAL_OPERATOR) && (LA567_38 <= GREATER_THAN_OPERATOR)) || ((LA567_38 >= GROUP_SYMBOL) && (LA567_38 <= HAVING_SYMBOL)) || ((LA567_38 >= HOUR_MICROSECOND_SYMBOL) && (LA567_38 <= IDENTIFIER)) || LA567_38 == INNER_SYMBOL || LA567_38 == INTO_SYMBOL || LA567_38 == IN_SYMBOL || LA567_38 == IS_SYMBOL || LA567_38 == JOIN_SYMBOL || ((LA567_38 >= LEFT_SYMBOL) && (LA567_38 <= LESS_THAN_OPERATOR)) || ((LA567_38 >= LIKE_SYMBOL) && (LA567_38 <= LIMIT_SYMBOL)) || LA567_38 == LOCK_SYMBOL || LA567_38 == LOGICAL_AND_OPERATOR || LA567_38 == LOGICAL_OR_OPERATOR || ((LA567_38 >= MINUS_OPERATOR) && (LA567_38 <= MINUTE_SECOND_SYMBOL)) || ((LA567_38 >= MOD_OPERATOR) && (LA567_38 <= MOD_SYMBOL)) || ((LA567_38 >= MULT_OPERATOR) && (LA567_38 <= NATURAL_SYMBOL)) || LA567_38 == NCHAR_TEXT || ((LA567_38 >= NOT_EQUAL2_OPERATOR) && (LA567_38 <= NOT_SYMBOL)) || LA567_38 == NULL_SAFE_EQUAL_OPERATOR || LA567_38 == ON_SYMBOL || ((LA567_38 >= ORDER_SYMBOL) && (LA567_38 <= OR_SYMBOL)) || LA567_38 == PLUS_OPERATOR || LA567_38 == PROCEDURE_SYMBOL || LA567_38 == REGEXP_SYMBOL || LA567_38 == RENAME_SYMBOL || LA567_38 == RIGHT_SYMBOL || LA567_38 == SECOND_MICROSECOND_SYMBOL || LA567_38 == SEMICOLON_SYMBOL || LA567_38 == SEPARATOR_SYMBOL || LA567_38 == SET_SYMBOL || ((LA567_38 >= SHIFT_LEFT_OPERATOR) && (LA567_38 <= SHIFT_RIGHT_OPERATOR)) || LA567_38 == SINGLE_QUOTED_TEXT || LA567_38 == STRAIGHT_JOIN_SYMBOL || LA567_38 == THEN_SYMBOL || LA567_38 == UNDERSCORE_CHARSET || LA567_38 == UNION_SYMBOL || LA567_38 == USING_SYMBOL || ((LA567_38 >= WHEN_SYMBOL) && (LA567_38 <= WHERE_SYMBOL)) || LA567_38 == WITH_SYMBOL || ((LA567_38 >= XOR_SYMBOL) && (LA567_38 <= YEAR_MONTH_SYMBOL))))
                            {
                                alt567=2;
                            }
                            else
                            {
                                if (BACKTRACKING>0)
                                {
                                    FAILEDFLAG = ANTLR3_TRUE;
                                    return retval;
                                }


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


                                goto ruleprimaryEx;

                            }
                        }
                    }
                    else if ( (LA567_0 == COALESCE_SYMBOL))
                    {
                        {
                            int LA567_43 = LA(2);
                            if ( (LA567_43 == DOT_SYMBOL))
                            {
                                {
                                    int LA567_1773 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt567=2;
                                    }
                                    else if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt567=4;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


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


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA567_43 == EOF || ((LA567_43 >= ACTION_SYMBOL) && (LA567_43 <= PARTITION_SYMBOL)) || ((LA567_43 >= AND_SYMBOL) && (LA567_43 <= ASC_SYMBOL)) || LA567_43 == AS_SYMBOL || LA567_43 == BACK_TICK_QUOTED_ID || LA567_43 == BETWEEN_SYMBOL || LA567_43 == BITWISE_AND_OPERATOR || ((LA567_43 >= BITWISE_OR_OPERATOR) && (LA567_43 <= BITWISE_XOR_OPERATOR)) || ((LA567_43 >= CLOSE_CURLY_SYMBOL) && (LA567_43 <= COLLATE_SYMBOL)) || LA567_43 == COMMA_SYMBOL || LA567_43 == CONCAT_PIPES_SYMBOL || LA567_43 == CROSS_SYMBOL || ((LA567_43 >= DAY_HOUR_SYMBOL) && (LA567_43 <= DAY_SECOND_SYMBOL)) || LA567_43 == DESC_SYMBOL || ((LA567_43 >= DIV_OPERATOR) && (LA567_43 <= DIV_SYMBOL)) || LA567_43 == DOUBLE_QUOTED_TEXT || LA567_43 == ELSE_SYMBOL || LA567_43 == EQUAL_OPERATOR || ((LA567_43 >= FOR_SYMBOL) && (LA567_43 <= FROM_SYMBOL)) || ((LA567_43 >= GREATER_OR_EQUAL_OPERATOR) && (LA567_43 <= GREATER_THAN_OPERATOR)) || ((LA567_43 >= GROUP_SYMBOL) && (LA567_43 <= HAVING_SYMBOL)) || ((LA567_43 >= HOUR_MICROSECOND_SYMBOL) && (LA567_43 <= IDENTIFIER)) || LA567_43 == INNER_SYMBOL || LA567_43 == INTO_SYMBOL || LA567_43 == IN_SYMBOL || LA567_43 == IS_SYMBOL || LA567_43 == JOIN_SYMBOL || ((LA567_43 >= LEFT_SYMBOL) && (LA567_43 <= LESS_THAN_OPERATOR)) || ((LA567_43 >= LIKE_SYMBOL) && (LA567_43 <= LIMIT_SYMBOL)) || LA567_43 == LOCK_SYMBOL || LA567_43 == LOGICAL_AND_OPERATOR || LA567_43 == LOGICAL_OR_OPERATOR || ((LA567_43 >= MINUS_OPERATOR) && (LA567_43 <= MINUTE_SECOND_SYMBOL)) || ((LA567_43 >= MOD_OPERATOR) && (LA567_43 <= MOD_SYMBOL)) || ((LA567_43 >= MULT_OPERATOR) && (LA567_43 <= NATURAL_SYMBOL)) || LA567_43 == NCHAR_TEXT || ((LA567_43 >= NOT_EQUAL2_OPERATOR) && (LA567_43 <= NOT_SYMBOL)) || LA567_43 == NULL_SAFE_EQUAL_OPERATOR || LA567_43 == ON_SYMBOL || ((LA567_43 >= ORDER_SYMBOL) && (LA567_43 <= OR_SYMBOL)) || LA567_43 == PLUS_OPERATOR || LA567_43 == PROCEDURE_SYMBOL || LA567_43 == REGEXP_SYMBOL || LA567_43 == RENAME_SYMBOL || LA567_43 == RIGHT_SYMBOL || LA567_43 == SECOND_MICROSECOND_SYMBOL || LA567_43 == SEMICOLON_SYMBOL || LA567_43 == SEPARATOR_SYMBOL || LA567_43 == SET_SYMBOL || ((LA567_43 >= SHIFT_LEFT_OPERATOR) && (LA567_43 <= SHIFT_RIGHT_OPERATOR)) || LA567_43 == SINGLE_QUOTED_TEXT || LA567_43 == STRAIGHT_JOIN_SYMBOL || LA567_43 == THEN_SYMBOL || LA567_43 == UNDERSCORE_CHARSET || LA567_43 == UNION_SYMBOL || LA567_43 == USING_SYMBOL || ((LA567_43 >= WHEN_SYMBOL) && (LA567_43 <= WHERE_SYMBOL)) || LA567_43 == WITH_SYMBOL || ((LA567_43 >= XOR_SYMBOL) && (LA567_43 <= YEAR_MONTH_SYMBOL))))
                            {
                                alt567=2;
                            }
                            else if ( (LA567_43 == OPEN_PAR_SYMBOL))
                            {
                                {
                                    int LA567_1865 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt567=3;
                                    }
                                    else if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt567=4;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


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


                                goto ruleprimaryEx;

                            }
                        }
                    }
                    else if ( (LA567_0 == CHARSET_SYMBOL))
                    {
                        {
                            int LA567_47 = LA(2);
                            if ( (LA567_47 == OPEN_PAR_SYMBOL))
                            {
                                {
                                    int LA567_1866 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt567=3;
                                    }
                                    else if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt567=4;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


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


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA567_47 == DOT_SYMBOL))
                            {
                                {
                                    int LA567_1867 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt567=2;
                                    }
                                    else if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt567=4;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


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


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA567_47 == EOF || ((LA567_47 >= ACTION_SYMBOL) && (LA567_47 <= PARTITION_SYMBOL)) || ((LA567_47 >= AND_SYMBOL) && (LA567_47 <= ASC_SYMBOL)) || LA567_47 == AS_SYMBOL || LA567_47 == BACK_TICK_QUOTED_ID || LA567_47 == BETWEEN_SYMBOL || LA567_47 == BITWISE_AND_OPERATOR || ((LA567_47 >= BITWISE_OR_OPERATOR) && (LA567_47 <= BITWISE_XOR_OPERATOR)) || ((LA567_47 >= CLOSE_CURLY_SYMBOL) && (LA567_47 <= COLLATE_SYMBOL)) || LA567_47 == COMMA_SYMBOL || LA567_47 == CONCAT_PIPES_SYMBOL || LA567_47 == CROSS_SYMBOL || ((LA567_47 >= DAY_HOUR_SYMBOL) && (LA567_47 <= DAY_SECOND_SYMBOL)) || LA567_47 == DESC_SYMBOL || ((LA567_47 >= DIV_OPERATOR) && (LA567_47 <= DIV_SYMBOL)) || LA567_47 == DOUBLE_QUOTED_TEXT || LA567_47 == ELSE_SYMBOL || LA567_47 == EQUAL_OPERATOR || ((LA567_47 >= FOR_SYMBOL) && (LA567_47 <= FROM_SYMBOL)) || ((LA567_47 >= GREATER_OR_EQUAL_OPERATOR) && (LA567_47 <= GREATER_THAN_OPERATOR)) || ((LA567_47 >= GROUP_SYMBOL) && (LA567_47 <= HAVING_SYMBOL)) || ((LA567_47 >= HOUR_MICROSECOND_SYMBOL) && (LA567_47 <= IDENTIFIER)) || LA567_47 == INNER_SYMBOL || LA567_47 == INTO_SYMBOL || LA567_47 == IN_SYMBOL || LA567_47 == IS_SYMBOL || LA567_47 == JOIN_SYMBOL || ((LA567_47 >= LEFT_SYMBOL) && (LA567_47 <= LESS_THAN_OPERATOR)) || ((LA567_47 >= LIKE_SYMBOL) && (LA567_47 <= LIMIT_SYMBOL)) || LA567_47 == LOCK_SYMBOL || LA567_47 == LOGICAL_AND_OPERATOR || LA567_47 == LOGICAL_OR_OPERATOR || ((LA567_47 >= MINUS_OPERATOR) && (LA567_47 <= MINUTE_SECOND_SYMBOL)) || ((LA567_47 >= MOD_OPERATOR) && (LA567_47 <= MOD_SYMBOL)) || ((LA567_47 >= MULT_OPERATOR) && (LA567_47 <= NATURAL_SYMBOL)) || LA567_47 == NCHAR_TEXT || ((LA567_47 >= NOT_EQUAL2_OPERATOR) && (LA567_47 <= NOT_SYMBOL)) || LA567_47 == NULL_SAFE_EQUAL_OPERATOR || LA567_47 == ON_SYMBOL || ((LA567_47 >= ORDER_SYMBOL) && (LA567_47 <= OR_SYMBOL)) || LA567_47 == PLUS_OPERATOR || LA567_47 == PROCEDURE_SYMBOL || LA567_47 == REGEXP_SYMBOL || LA567_47 == RENAME_SYMBOL || LA567_47 == RIGHT_SYMBOL || LA567_47 == SECOND_MICROSECOND_SYMBOL || LA567_47 == SEMICOLON_SYMBOL || LA567_47 == SEPARATOR_SYMBOL || LA567_47 == SET_SYMBOL || ((LA567_47 >= SHIFT_LEFT_OPERATOR) && (LA567_47 <= SHIFT_RIGHT_OPERATOR)) || LA567_47 == SINGLE_QUOTED_TEXT || LA567_47 == STRAIGHT_JOIN_SYMBOL || LA567_47 == THEN_SYMBOL || LA567_47 == UNDERSCORE_CHARSET || LA567_47 == UNION_SYMBOL || LA567_47 == USING_SYMBOL || ((LA567_47 >= WHEN_SYMBOL) && (LA567_47 <= WHERE_SYMBOL)) || LA567_47 == WITH_SYMBOL || ((LA567_47 >= XOR_SYMBOL) && (LA567_47 <= YEAR_MONTH_SYMBOL))))
                            {
                                alt567=2;
                            }
                            else
                            {
                                if (BACKTRACKING>0)
                                {
                                    FAILEDFLAG = ANTLR3_TRUE;
                                    return retval;
                                }


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


                                goto ruleprimaryEx;

                            }
                        }
                    }
                    else if ( (LA567_0 == FORMAT_SYMBOL))
                    {
                        {
                            int LA567_48 = LA(2);
                            if ( (LA567_48 == OPEN_PAR_SYMBOL))
                            {
                                {
                                    int LA567_1959 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt567=3;
                                    }
                                    else if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt567=4;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


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


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA567_48 == DOT_SYMBOL))
                            {
                                {
                                    int LA567_1960 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt567=2;
                                    }
                                    else if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt567=4;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


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


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA567_48 == EOF || ((LA567_48 >= ACTION_SYMBOL) && (LA567_48 <= PARTITION_SYMBOL)) || ((LA567_48 >= AND_SYMBOL) && (LA567_48 <= ASC_SYMBOL)) || LA567_48 == AS_SYMBOL || LA567_48 == BACK_TICK_QUOTED_ID || LA567_48 == BETWEEN_SYMBOL || LA567_48 == BITWISE_AND_OPERATOR || ((LA567_48 >= BITWISE_OR_OPERATOR) && (LA567_48 <= BITWISE_XOR_OPERATOR)) || ((LA567_48 >= CLOSE_CURLY_SYMBOL) && (LA567_48 <= COLLATE_SYMBOL)) || LA567_48 == COMMA_SYMBOL || LA567_48 == CONCAT_PIPES_SYMBOL || LA567_48 == CROSS_SYMBOL || ((LA567_48 >= DAY_HOUR_SYMBOL) && (LA567_48 <= DAY_SECOND_SYMBOL)) || LA567_48 == DESC_SYMBOL || ((LA567_48 >= DIV_OPERATOR) && (LA567_48 <= DIV_SYMBOL)) || LA567_48 == DOUBLE_QUOTED_TEXT || LA567_48 == ELSE_SYMBOL || LA567_48 == EQUAL_OPERATOR || ((LA567_48 >= FOR_SYMBOL) && (LA567_48 <= FROM_SYMBOL)) || ((LA567_48 >= GREATER_OR_EQUAL_OPERATOR) && (LA567_48 <= GREATER_THAN_OPERATOR)) || ((LA567_48 >= GROUP_SYMBOL) && (LA567_48 <= HAVING_SYMBOL)) || ((LA567_48 >= HOUR_MICROSECOND_SYMBOL) && (LA567_48 <= IDENTIFIER)) || LA567_48 == INNER_SYMBOL || LA567_48 == INTO_SYMBOL || LA567_48 == IN_SYMBOL || LA567_48 == IS_SYMBOL || LA567_48 == JOIN_SYMBOL || ((LA567_48 >= LEFT_SYMBOL) && (LA567_48 <= LESS_THAN_OPERATOR)) || ((LA567_48 >= LIKE_SYMBOL) && (LA567_48 <= LIMIT_SYMBOL)) || LA567_48 == LOCK_SYMBOL || LA567_48 == LOGICAL_AND_OPERATOR || LA567_48 == LOGICAL_OR_OPERATOR || ((LA567_48 >= MINUS_OPERATOR) && (LA567_48 <= MINUTE_SECOND_SYMBOL)) || ((LA567_48 >= MOD_OPERATOR) && (LA567_48 <= MOD_SYMBOL)) || ((LA567_48 >= MULT_OPERATOR) && (LA567_48 <= NATURAL_SYMBOL)) || LA567_48 == NCHAR_TEXT || ((LA567_48 >= NOT_EQUAL2_OPERATOR) && (LA567_48 <= NOT_SYMBOL)) || LA567_48 == NULL_SAFE_EQUAL_OPERATOR || LA567_48 == ON_SYMBOL || ((LA567_48 >= ORDER_SYMBOL) && (LA567_48 <= OR_SYMBOL)) || LA567_48 == PLUS_OPERATOR || LA567_48 == PROCEDURE_SYMBOL || LA567_48 == REGEXP_SYMBOL || LA567_48 == RENAME_SYMBOL || LA567_48 == RIGHT_SYMBOL || LA567_48 == SECOND_MICROSECOND_SYMBOL || LA567_48 == SEMICOLON_SYMBOL || LA567_48 == SEPARATOR_SYMBOL || LA567_48 == SET_SYMBOL || ((LA567_48 >= SHIFT_LEFT_OPERATOR) && (LA567_48 <= SHIFT_RIGHT_OPERATOR)) || LA567_48 == SINGLE_QUOTED_TEXT || LA567_48 == STRAIGHT_JOIN_SYMBOL || LA567_48 == THEN_SYMBOL || LA567_48 == UNDERSCORE_CHARSET || LA567_48 == UNION_SYMBOL || LA567_48 == USING_SYMBOL || ((LA567_48 >= WHEN_SYMBOL) && (LA567_48 <= WHERE_SYMBOL)) || LA567_48 == WITH_SYMBOL || ((LA567_48 >= XOR_SYMBOL) && (LA567_48 <= YEAR_MONTH_SYMBOL))))
                            {
                                alt567=2;
                            }
                            else
                            {
                                if (BACKTRACKING>0)
                                {
                                    FAILEDFLAG = ANTLR3_TRUE;
                                    return retval;
                                }


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


                                goto ruleprimaryEx;

                            }
                        }
                    }
                    else if ( (LA567_0 == COLLATION_SYMBOL))
                    {
                        {
                            int LA567_49 = LA(2);
                            if ( (LA567_49 == OPEN_PAR_SYMBOL))
                            {
                                {
                                    int LA567_2052 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt567=3;
                                    }
                                    else if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt567=4;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


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


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA567_49 == DOT_SYMBOL))
                            {
                                {
                                    int LA567_2053 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt567=2;
                                    }
                                    else if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt567=4;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


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


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA567_49 == EOF || ((LA567_49 >= ACTION_SYMBOL) && (LA567_49 <= PARTITION_SYMBOL)) || ((LA567_49 >= AND_SYMBOL) && (LA567_49 <= ASC_SYMBOL)) || LA567_49 == AS_SYMBOL || LA567_49 == BACK_TICK_QUOTED_ID || LA567_49 == BETWEEN_SYMBOL || LA567_49 == BITWISE_AND_OPERATOR || ((LA567_49 >= BITWISE_OR_OPERATOR) && (LA567_49 <= BITWISE_XOR_OPERATOR)) || ((LA567_49 >= CLOSE_CURLY_SYMBOL) && (LA567_49 <= COLLATE_SYMBOL)) || LA567_49 == COMMA_SYMBOL || LA567_49 == CONCAT_PIPES_SYMBOL || LA567_49 == CROSS_SYMBOL || ((LA567_49 >= DAY_HOUR_SYMBOL) && (LA567_49 <= DAY_SECOND_SYMBOL)) || LA567_49 == DESC_SYMBOL || ((LA567_49 >= DIV_OPERATOR) && (LA567_49 <= DIV_SYMBOL)) || LA567_49 == DOUBLE_QUOTED_TEXT || LA567_49 == ELSE_SYMBOL || LA567_49 == EQUAL_OPERATOR || ((LA567_49 >= FOR_SYMBOL) && (LA567_49 <= FROM_SYMBOL)) || ((LA567_49 >= GREATER_OR_EQUAL_OPERATOR) && (LA567_49 <= GREATER_THAN_OPERATOR)) || ((LA567_49 >= GROUP_SYMBOL) && (LA567_49 <= HAVING_SYMBOL)) || ((LA567_49 >= HOUR_MICROSECOND_SYMBOL) && (LA567_49 <= IDENTIFIER)) || LA567_49 == INNER_SYMBOL || LA567_49 == INTO_SYMBOL || LA567_49 == IN_SYMBOL || LA567_49 == IS_SYMBOL || LA567_49 == JOIN_SYMBOL || ((LA567_49 >= LEFT_SYMBOL) && (LA567_49 <= LESS_THAN_OPERATOR)) || ((LA567_49 >= LIKE_SYMBOL) && (LA567_49 <= LIMIT_SYMBOL)) || LA567_49 == LOCK_SYMBOL || LA567_49 == LOGICAL_AND_OPERATOR || LA567_49 == LOGICAL_OR_OPERATOR || ((LA567_49 >= MINUS_OPERATOR) && (LA567_49 <= MINUTE_SECOND_SYMBOL)) || ((LA567_49 >= MOD_OPERATOR) && (LA567_49 <= MOD_SYMBOL)) || ((LA567_49 >= MULT_OPERATOR) && (LA567_49 <= NATURAL_SYMBOL)) || LA567_49 == NCHAR_TEXT || ((LA567_49 >= NOT_EQUAL2_OPERATOR) && (LA567_49 <= NOT_SYMBOL)) || LA567_49 == NULL_SAFE_EQUAL_OPERATOR || LA567_49 == ON_SYMBOL || ((LA567_49 >= ORDER_SYMBOL) && (LA567_49 <= OR_SYMBOL)) || LA567_49 == PLUS_OPERATOR || LA567_49 == PROCEDURE_SYMBOL || LA567_49 == REGEXP_SYMBOL || LA567_49 == RENAME_SYMBOL || LA567_49 == RIGHT_SYMBOL || LA567_49 == SECOND_MICROSECOND_SYMBOL || LA567_49 == SEMICOLON_SYMBOL || LA567_49 == SEPARATOR_SYMBOL || LA567_49 == SET_SYMBOL || ((LA567_49 >= SHIFT_LEFT_OPERATOR) && (LA567_49 <= SHIFT_RIGHT_OPERATOR)) || LA567_49 == SINGLE_QUOTED_TEXT || LA567_49 == STRAIGHT_JOIN_SYMBOL || LA567_49 == THEN_SYMBOL || LA567_49 == UNDERSCORE_CHARSET || LA567_49 == UNION_SYMBOL || LA567_49 == USING_SYMBOL || ((LA567_49 >= WHEN_SYMBOL) && (LA567_49 <= WHERE_SYMBOL)) || LA567_49 == WITH_SYMBOL || ((LA567_49 >= XOR_SYMBOL) && (LA567_49 <= YEAR_MONTH_SYMBOL))))
                            {
                                alt567=2;
                            }
                            else
                            {
                                if (BACKTRACKING>0)
                                {
                                    FAILEDFLAG = ANTLR3_TRUE;
                                    return retval;
                                }


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


                                goto ruleprimaryEx;

                            }
                        }
                    }
                    else if ( (LA567_0 == MICROSECOND_SYMBOL))
                    {
                        {
                            int LA567_50 = LA(2);
                            if ( (LA567_50 == OPEN_PAR_SYMBOL))
                            {
                                {
                                    int LA567_2145 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt567=3;
                                    }
                                    else if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt567=4;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


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


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA567_50 == DOT_SYMBOL))
                            {
                                {
                                    int LA567_2146 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt567=2;
                                    }
                                    else if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt567=4;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


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


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA567_50 == EOF || ((LA567_50 >= ACTION_SYMBOL) && (LA567_50 <= PARTITION_SYMBOL)) || ((LA567_50 >= AND_SYMBOL) && (LA567_50 <= ASC_SYMBOL)) || LA567_50 == AS_SYMBOL || LA567_50 == BACK_TICK_QUOTED_ID || LA567_50 == BETWEEN_SYMBOL || LA567_50 == BITWISE_AND_OPERATOR || ((LA567_50 >= BITWISE_OR_OPERATOR) && (LA567_50 <= BITWISE_XOR_OPERATOR)) || ((LA567_50 >= CLOSE_CURLY_SYMBOL) && (LA567_50 <= COLLATE_SYMBOL)) || LA567_50 == COMMA_SYMBOL || LA567_50 == CONCAT_PIPES_SYMBOL || LA567_50 == CROSS_SYMBOL || ((LA567_50 >= DAY_HOUR_SYMBOL) && (LA567_50 <= DAY_SECOND_SYMBOL)) || LA567_50 == DESC_SYMBOL || ((LA567_50 >= DIV_OPERATOR) && (LA567_50 <= DIV_SYMBOL)) || LA567_50 == DOUBLE_QUOTED_TEXT || LA567_50 == ELSE_SYMBOL || LA567_50 == EQUAL_OPERATOR || ((LA567_50 >= FOR_SYMBOL) && (LA567_50 <= FROM_SYMBOL)) || ((LA567_50 >= GREATER_OR_EQUAL_OPERATOR) && (LA567_50 <= GREATER_THAN_OPERATOR)) || ((LA567_50 >= GROUP_SYMBOL) && (LA567_50 <= HAVING_SYMBOL)) || ((LA567_50 >= HOUR_MICROSECOND_SYMBOL) && (LA567_50 <= IDENTIFIER)) || LA567_50 == INNER_SYMBOL || LA567_50 == INTO_SYMBOL || LA567_50 == IN_SYMBOL || LA567_50 == IS_SYMBOL || LA567_50 == JOIN_SYMBOL || ((LA567_50 >= LEFT_SYMBOL) && (LA567_50 <= LESS_THAN_OPERATOR)) || ((LA567_50 >= LIKE_SYMBOL) && (LA567_50 <= LIMIT_SYMBOL)) || LA567_50 == LOCK_SYMBOL || LA567_50 == LOGICAL_AND_OPERATOR || LA567_50 == LOGICAL_OR_OPERATOR || ((LA567_50 >= MINUS_OPERATOR) && (LA567_50 <= MINUTE_SECOND_SYMBOL)) || ((LA567_50 >= MOD_OPERATOR) && (LA567_50 <= MOD_SYMBOL)) || ((LA567_50 >= MULT_OPERATOR) && (LA567_50 <= NATURAL_SYMBOL)) || LA567_50 == NCHAR_TEXT || ((LA567_50 >= NOT_EQUAL2_OPERATOR) && (LA567_50 <= NOT_SYMBOL)) || LA567_50 == NULL_SAFE_EQUAL_OPERATOR || LA567_50 == ON_SYMBOL || ((LA567_50 >= ORDER_SYMBOL) && (LA567_50 <= OR_SYMBOL)) || LA567_50 == PLUS_OPERATOR || LA567_50 == PROCEDURE_SYMBOL || LA567_50 == REGEXP_SYMBOL || LA567_50 == RENAME_SYMBOL || LA567_50 == RIGHT_SYMBOL || LA567_50 == SECOND_MICROSECOND_SYMBOL || LA567_50 == SEMICOLON_SYMBOL || LA567_50 == SEPARATOR_SYMBOL || LA567_50 == SET_SYMBOL || ((LA567_50 >= SHIFT_LEFT_OPERATOR) && (LA567_50 <= SHIFT_RIGHT_OPERATOR)) || LA567_50 == SINGLE_QUOTED_TEXT || LA567_50 == STRAIGHT_JOIN_SYMBOL || LA567_50 == THEN_SYMBOL || LA567_50 == UNDERSCORE_CHARSET || LA567_50 == UNION_SYMBOL || LA567_50 == USING_SYMBOL || ((LA567_50 >= WHEN_SYMBOL) && (LA567_50 <= WHERE_SYMBOL)) || LA567_50 == WITH_SYMBOL || ((LA567_50 >= XOR_SYMBOL) && (LA567_50 <= YEAR_MONTH_SYMBOL))))
                            {
                                alt567=2;
                            }
                            else
                            {
                                if (BACKTRACKING>0)
                                {
                                    FAILEDFLAG = ANTLR3_TRUE;
                                    return retval;
                                }


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


                                goto ruleprimaryEx;

                            }
                        }
                    }
                    else if ( (LA567_0 == TRUNCATE_SYMBOL))
                    {
                        {
                            int LA567_53 = LA(2);
                            if ( (LA567_53 == OPEN_PAR_SYMBOL))
                            {
                                {
                                    int LA567_2238 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt567=3;
                                    }
                                    else if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt567=4;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


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


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA567_53 == DOT_SYMBOL))
                            {
                                {
                                    int LA567_2239 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt567=2;
                                    }
                                    else if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt567=4;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


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


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA567_53 == EOF || ((LA567_53 >= ACTION_SYMBOL) && (LA567_53 <= PARTITION_SYMBOL)) || ((LA567_53 >= AND_SYMBOL) && (LA567_53 <= ASC_SYMBOL)) || LA567_53 == AS_SYMBOL || LA567_53 == BACK_TICK_QUOTED_ID || LA567_53 == BETWEEN_SYMBOL || LA567_53 == BITWISE_AND_OPERATOR || ((LA567_53 >= BITWISE_OR_OPERATOR) && (LA567_53 <= BITWISE_XOR_OPERATOR)) || ((LA567_53 >= CLOSE_CURLY_SYMBOL) && (LA567_53 <= COLLATE_SYMBOL)) || LA567_53 == COMMA_SYMBOL || LA567_53 == CONCAT_PIPES_SYMBOL || LA567_53 == CROSS_SYMBOL || ((LA567_53 >= DAY_HOUR_SYMBOL) && (LA567_53 <= DAY_SECOND_SYMBOL)) || LA567_53 == DESC_SYMBOL || ((LA567_53 >= DIV_OPERATOR) && (LA567_53 <= DIV_SYMBOL)) || LA567_53 == DOUBLE_QUOTED_TEXT || LA567_53 == ELSE_SYMBOL || LA567_53 == EQUAL_OPERATOR || ((LA567_53 >= FOR_SYMBOL) && (LA567_53 <= FROM_SYMBOL)) || ((LA567_53 >= GREATER_OR_EQUAL_OPERATOR) && (LA567_53 <= GREATER_THAN_OPERATOR)) || ((LA567_53 >= GROUP_SYMBOL) && (LA567_53 <= HAVING_SYMBOL)) || ((LA567_53 >= HOUR_MICROSECOND_SYMBOL) && (LA567_53 <= IDENTIFIER)) || LA567_53 == INNER_SYMBOL || LA567_53 == INTO_SYMBOL || LA567_53 == IN_SYMBOL || LA567_53 == IS_SYMBOL || LA567_53 == JOIN_SYMBOL || ((LA567_53 >= LEFT_SYMBOL) && (LA567_53 <= LESS_THAN_OPERATOR)) || ((LA567_53 >= LIKE_SYMBOL) && (LA567_53 <= LIMIT_SYMBOL)) || LA567_53 == LOCK_SYMBOL || LA567_53 == LOGICAL_AND_OPERATOR || LA567_53 == LOGICAL_OR_OPERATOR || ((LA567_53 >= MINUS_OPERATOR) && (LA567_53 <= MINUTE_SECOND_SYMBOL)) || ((LA567_53 >= MOD_OPERATOR) && (LA567_53 <= MOD_SYMBOL)) || ((LA567_53 >= MULT_OPERATOR) && (LA567_53 <= NATURAL_SYMBOL)) || LA567_53 == NCHAR_TEXT || ((LA567_53 >= NOT_EQUAL2_OPERATOR) && (LA567_53 <= NOT_SYMBOL)) || LA567_53 == NULL_SAFE_EQUAL_OPERATOR || LA567_53 == ON_SYMBOL || ((LA567_53 >= ORDER_SYMBOL) && (LA567_53 <= OR_SYMBOL)) || LA567_53 == PLUS_OPERATOR || LA567_53 == PROCEDURE_SYMBOL || LA567_53 == REGEXP_SYMBOL || LA567_53 == RENAME_SYMBOL || LA567_53 == RIGHT_SYMBOL || LA567_53 == SECOND_MICROSECOND_SYMBOL || LA567_53 == SEMICOLON_SYMBOL || LA567_53 == SEPARATOR_SYMBOL || LA567_53 == SET_SYMBOL || ((LA567_53 >= SHIFT_LEFT_OPERATOR) && (LA567_53 <= SHIFT_RIGHT_OPERATOR)) || LA567_53 == SINGLE_QUOTED_TEXT || LA567_53 == STRAIGHT_JOIN_SYMBOL || LA567_53 == THEN_SYMBOL || LA567_53 == UNDERSCORE_CHARSET || LA567_53 == UNION_SYMBOL || LA567_53 == USING_SYMBOL || ((LA567_53 >= WHEN_SYMBOL) && (LA567_53 <= WHERE_SYMBOL)) || LA567_53 == WITH_SYMBOL || ((LA567_53 >= XOR_SYMBOL) && (LA567_53 <= YEAR_MONTH_SYMBOL))))
                            {
                                alt567=2;
                            }
                            else
                            {
                                if (BACKTRACKING>0)
                                {
                                    FAILEDFLAG = ANTLR3_TRUE;
                                    return retval;
                                }


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


                                goto ruleprimaryEx;

                            }
                        }
                    }
                    else if ( (LA567_0 == OLD_PASSWORD_SYMBOL))
                    {
                        {
                            int LA567_54 = LA(2);
                            if ( (LA567_54 == OPEN_PAR_SYMBOL))
                            {
                                {
                                    int LA567_2331 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt567=3;
                                    }
                                    else if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt567=4;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


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


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA567_54 == DOT_SYMBOL))
                            {
                                {
                                    int LA567_2332 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt567=2;
                                    }
                                    else if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt567=4;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


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


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA567_54 == EOF || ((LA567_54 >= ACTION_SYMBOL) && (LA567_54 <= PARTITION_SYMBOL)) || ((LA567_54 >= AND_SYMBOL) && (LA567_54 <= ASC_SYMBOL)) || LA567_54 == AS_SYMBOL || LA567_54 == BACK_TICK_QUOTED_ID || LA567_54 == BETWEEN_SYMBOL || LA567_54 == BITWISE_AND_OPERATOR || ((LA567_54 >= BITWISE_OR_OPERATOR) && (LA567_54 <= BITWISE_XOR_OPERATOR)) || ((LA567_54 >= CLOSE_CURLY_SYMBOL) && (LA567_54 <= COLLATE_SYMBOL)) || LA567_54 == COMMA_SYMBOL || LA567_54 == CONCAT_PIPES_SYMBOL || LA567_54 == CROSS_SYMBOL || ((LA567_54 >= DAY_HOUR_SYMBOL) && (LA567_54 <= DAY_SECOND_SYMBOL)) || LA567_54 == DESC_SYMBOL || ((LA567_54 >= DIV_OPERATOR) && (LA567_54 <= DIV_SYMBOL)) || LA567_54 == DOUBLE_QUOTED_TEXT || LA567_54 == ELSE_SYMBOL || LA567_54 == EQUAL_OPERATOR || ((LA567_54 >= FOR_SYMBOL) && (LA567_54 <= FROM_SYMBOL)) || ((LA567_54 >= GREATER_OR_EQUAL_OPERATOR) && (LA567_54 <= GREATER_THAN_OPERATOR)) || ((LA567_54 >= GROUP_SYMBOL) && (LA567_54 <= HAVING_SYMBOL)) || ((LA567_54 >= HOUR_MICROSECOND_SYMBOL) && (LA567_54 <= IDENTIFIER)) || LA567_54 == INNER_SYMBOL || LA567_54 == INTO_SYMBOL || LA567_54 == IN_SYMBOL || LA567_54 == IS_SYMBOL || LA567_54 == JOIN_SYMBOL || ((LA567_54 >= LEFT_SYMBOL) && (LA567_54 <= LESS_THAN_OPERATOR)) || ((LA567_54 >= LIKE_SYMBOL) && (LA567_54 <= LIMIT_SYMBOL)) || LA567_54 == LOCK_SYMBOL || LA567_54 == LOGICAL_AND_OPERATOR || LA567_54 == LOGICAL_OR_OPERATOR || ((LA567_54 >= MINUS_OPERATOR) && (LA567_54 <= MINUTE_SECOND_SYMBOL)) || ((LA567_54 >= MOD_OPERATOR) && (LA567_54 <= MOD_SYMBOL)) || ((LA567_54 >= MULT_OPERATOR) && (LA567_54 <= NATURAL_SYMBOL)) || LA567_54 == NCHAR_TEXT || ((LA567_54 >= NOT_EQUAL2_OPERATOR) && (LA567_54 <= NOT_SYMBOL)) || LA567_54 == NULL_SAFE_EQUAL_OPERATOR || LA567_54 == ON_SYMBOL || ((LA567_54 >= ORDER_SYMBOL) && (LA567_54 <= OR_SYMBOL)) || LA567_54 == PLUS_OPERATOR || LA567_54 == PROCEDURE_SYMBOL || LA567_54 == REGEXP_SYMBOL || LA567_54 == RENAME_SYMBOL || LA567_54 == RIGHT_SYMBOL || LA567_54 == SECOND_MICROSECOND_SYMBOL || LA567_54 == SEMICOLON_SYMBOL || LA567_54 == SEPARATOR_SYMBOL || LA567_54 == SET_SYMBOL || ((LA567_54 >= SHIFT_LEFT_OPERATOR) && (LA567_54 <= SHIFT_RIGHT_OPERATOR)) || LA567_54 == SINGLE_QUOTED_TEXT || LA567_54 == STRAIGHT_JOIN_SYMBOL || LA567_54 == THEN_SYMBOL || LA567_54 == UNDERSCORE_CHARSET || LA567_54 == UNION_SYMBOL || LA567_54 == USING_SYMBOL || ((LA567_54 >= WHEN_SYMBOL) && (LA567_54 <= WHERE_SYMBOL)) || LA567_54 == WITH_SYMBOL || ((LA567_54 >= XOR_SYMBOL) && (LA567_54 <= YEAR_MONTH_SYMBOL))))
                            {
                                alt567=2;
                            }
                            else
                            {
                                if (BACKTRACKING>0)
                                {
                                    FAILEDFLAG = ANTLR3_TRUE;
                                    return retval;
                                }


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


                                goto ruleprimaryEx;

                            }
                        }
                    }
                    else if ( (LA567_0 == PASSWORD_SYMBOL))
                    {
                        {
                            int LA567_56 = LA(2);
                            if ( (LA567_56 == OPEN_PAR_SYMBOL))
                            {
                                {
                                    int LA567_2424 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt567=3;
                                    }
                                    else if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt567=4;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


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


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA567_56 == DOT_SYMBOL))
                            {
                                {
                                    int LA567_2425 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt567=2;
                                    }
                                    else if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt567=4;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


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


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA567_56 == EOF || ((LA567_56 >= ACTION_SYMBOL) && (LA567_56 <= PARTITION_SYMBOL)) || ((LA567_56 >= AND_SYMBOL) && (LA567_56 <= ASC_SYMBOL)) || LA567_56 == AS_SYMBOL || LA567_56 == BACK_TICK_QUOTED_ID || LA567_56 == BETWEEN_SYMBOL || LA567_56 == BITWISE_AND_OPERATOR || ((LA567_56 >= BITWISE_OR_OPERATOR) && (LA567_56 <= BITWISE_XOR_OPERATOR)) || ((LA567_56 >= CLOSE_CURLY_SYMBOL) && (LA567_56 <= COLLATE_SYMBOL)) || LA567_56 == COMMA_SYMBOL || LA567_56 == CONCAT_PIPES_SYMBOL || LA567_56 == CROSS_SYMBOL || ((LA567_56 >= DAY_HOUR_SYMBOL) && (LA567_56 <= DAY_SECOND_SYMBOL)) || LA567_56 == DESC_SYMBOL || ((LA567_56 >= DIV_OPERATOR) && (LA567_56 <= DIV_SYMBOL)) || LA567_56 == DOUBLE_QUOTED_TEXT || LA567_56 == ELSE_SYMBOL || LA567_56 == EQUAL_OPERATOR || ((LA567_56 >= FOR_SYMBOL) && (LA567_56 <= FROM_SYMBOL)) || ((LA567_56 >= GREATER_OR_EQUAL_OPERATOR) && (LA567_56 <= GREATER_THAN_OPERATOR)) || ((LA567_56 >= GROUP_SYMBOL) && (LA567_56 <= HAVING_SYMBOL)) || ((LA567_56 >= HOUR_MICROSECOND_SYMBOL) && (LA567_56 <= IDENTIFIER)) || LA567_56 == INNER_SYMBOL || LA567_56 == INTO_SYMBOL || LA567_56 == IN_SYMBOL || LA567_56 == IS_SYMBOL || LA567_56 == JOIN_SYMBOL || ((LA567_56 >= LEFT_SYMBOL) && (LA567_56 <= LESS_THAN_OPERATOR)) || ((LA567_56 >= LIKE_SYMBOL) && (LA567_56 <= LIMIT_SYMBOL)) || LA567_56 == LOCK_SYMBOL || LA567_56 == LOGICAL_AND_OPERATOR || LA567_56 == LOGICAL_OR_OPERATOR || ((LA567_56 >= MINUS_OPERATOR) && (LA567_56 <= MINUTE_SECOND_SYMBOL)) || ((LA567_56 >= MOD_OPERATOR) && (LA567_56 <= MOD_SYMBOL)) || ((LA567_56 >= MULT_OPERATOR) && (LA567_56 <= NATURAL_SYMBOL)) || LA567_56 == NCHAR_TEXT || ((LA567_56 >= NOT_EQUAL2_OPERATOR) && (LA567_56 <= NOT_SYMBOL)) || LA567_56 == NULL_SAFE_EQUAL_OPERATOR || LA567_56 == ON_SYMBOL || ((LA567_56 >= ORDER_SYMBOL) && (LA567_56 <= OR_SYMBOL)) || LA567_56 == PLUS_OPERATOR || LA567_56 == PROCEDURE_SYMBOL || LA567_56 == REGEXP_SYMBOL || LA567_56 == RENAME_SYMBOL || LA567_56 == RIGHT_SYMBOL || LA567_56 == SECOND_MICROSECOND_SYMBOL || LA567_56 == SEMICOLON_SYMBOL || LA567_56 == SEPARATOR_SYMBOL || LA567_56 == SET_SYMBOL || ((LA567_56 >= SHIFT_LEFT_OPERATOR) && (LA567_56 <= SHIFT_RIGHT_OPERATOR)) || LA567_56 == SINGLE_QUOTED_TEXT || LA567_56 == STRAIGHT_JOIN_SYMBOL || LA567_56 == THEN_SYMBOL || LA567_56 == UNDERSCORE_CHARSET || LA567_56 == UNION_SYMBOL || LA567_56 == USING_SYMBOL || ((LA567_56 >= WHEN_SYMBOL) && (LA567_56 <= WHERE_SYMBOL)) || LA567_56 == WITH_SYMBOL || ((LA567_56 >= XOR_SYMBOL) && (LA567_56 <= YEAR_MONTH_SYMBOL))))
                            {
                                alt567=2;
                            }
                            else
                            {
                                if (BACKTRACKING>0)
                                {
                                    FAILEDFLAG = ANTLR3_TRUE;
                                    return retval;
                                }


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


                                goto ruleprimaryEx;

                            }
                        }
                    }
                    else if ( (LA567_0 == QUARTER_SYMBOL))
                    {
                        {
                            int LA567_57 = LA(2);
                            if ( (LA567_57 == OPEN_PAR_SYMBOL))
                            {
                                {
                                    int LA567_2517 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt567=3;
                                    }
                                    else if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt567=4;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


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


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA567_57 == DOT_SYMBOL))
                            {
                                {
                                    int LA567_2518 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt567=2;
                                    }
                                    else if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt567=4;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


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


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA567_57 == EOF || ((LA567_57 >= ACTION_SYMBOL) && (LA567_57 <= PARTITION_SYMBOL)) || ((LA567_57 >= AND_SYMBOL) && (LA567_57 <= ASC_SYMBOL)) || LA567_57 == AS_SYMBOL || LA567_57 == BACK_TICK_QUOTED_ID || LA567_57 == BETWEEN_SYMBOL || LA567_57 == BITWISE_AND_OPERATOR || ((LA567_57 >= BITWISE_OR_OPERATOR) && (LA567_57 <= BITWISE_XOR_OPERATOR)) || ((LA567_57 >= CLOSE_CURLY_SYMBOL) && (LA567_57 <= COLLATE_SYMBOL)) || LA567_57 == COMMA_SYMBOL || LA567_57 == CONCAT_PIPES_SYMBOL || LA567_57 == CROSS_SYMBOL || ((LA567_57 >= DAY_HOUR_SYMBOL) && (LA567_57 <= DAY_SECOND_SYMBOL)) || LA567_57 == DESC_SYMBOL || ((LA567_57 >= DIV_OPERATOR) && (LA567_57 <= DIV_SYMBOL)) || LA567_57 == DOUBLE_QUOTED_TEXT || LA567_57 == ELSE_SYMBOL || LA567_57 == EQUAL_OPERATOR || ((LA567_57 >= FOR_SYMBOL) && (LA567_57 <= FROM_SYMBOL)) || ((LA567_57 >= GREATER_OR_EQUAL_OPERATOR) && (LA567_57 <= GREATER_THAN_OPERATOR)) || ((LA567_57 >= GROUP_SYMBOL) && (LA567_57 <= HAVING_SYMBOL)) || ((LA567_57 >= HOUR_MICROSECOND_SYMBOL) && (LA567_57 <= IDENTIFIER)) || LA567_57 == INNER_SYMBOL || LA567_57 == INTO_SYMBOL || LA567_57 == IN_SYMBOL || LA567_57 == IS_SYMBOL || LA567_57 == JOIN_SYMBOL || ((LA567_57 >= LEFT_SYMBOL) && (LA567_57 <= LESS_THAN_OPERATOR)) || ((LA567_57 >= LIKE_SYMBOL) && (LA567_57 <= LIMIT_SYMBOL)) || LA567_57 == LOCK_SYMBOL || LA567_57 == LOGICAL_AND_OPERATOR || LA567_57 == LOGICAL_OR_OPERATOR || ((LA567_57 >= MINUS_OPERATOR) && (LA567_57 <= MINUTE_SECOND_SYMBOL)) || ((LA567_57 >= MOD_OPERATOR) && (LA567_57 <= MOD_SYMBOL)) || ((LA567_57 >= MULT_OPERATOR) && (LA567_57 <= NATURAL_SYMBOL)) || LA567_57 == NCHAR_TEXT || ((LA567_57 >= NOT_EQUAL2_OPERATOR) && (LA567_57 <= NOT_SYMBOL)) || LA567_57 == NULL_SAFE_EQUAL_OPERATOR || LA567_57 == ON_SYMBOL || ((LA567_57 >= ORDER_SYMBOL) && (LA567_57 <= OR_SYMBOL)) || LA567_57 == PLUS_OPERATOR || LA567_57 == PROCEDURE_SYMBOL || LA567_57 == REGEXP_SYMBOL || LA567_57 == RENAME_SYMBOL || LA567_57 == RIGHT_SYMBOL || LA567_57 == SECOND_MICROSECOND_SYMBOL || LA567_57 == SEMICOLON_SYMBOL || LA567_57 == SEPARATOR_SYMBOL || LA567_57 == SET_SYMBOL || ((LA567_57 >= SHIFT_LEFT_OPERATOR) && (LA567_57 <= SHIFT_RIGHT_OPERATOR)) || LA567_57 == SINGLE_QUOTED_TEXT || LA567_57 == STRAIGHT_JOIN_SYMBOL || LA567_57 == THEN_SYMBOL || LA567_57 == UNDERSCORE_CHARSET || LA567_57 == UNION_SYMBOL || LA567_57 == USING_SYMBOL || ((LA567_57 >= WHEN_SYMBOL) && (LA567_57 <= WHERE_SYMBOL)) || LA567_57 == WITH_SYMBOL || ((LA567_57 >= XOR_SYMBOL) && (LA567_57 <= YEAR_MONTH_SYMBOL))))
                            {
                                alt567=2;
                            }
                            else
                            {
                                if (BACKTRACKING>0)
                                {
                                    FAILEDFLAG = ANTLR3_TRUE;
                                    return retval;
                                }


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


                                goto ruleprimaryEx;

                            }
                        }
                    }
                    else if ( (LA567_0 == REVERSE_SYMBOL))
                    {
                        {
                            int LA567_58 = LA(2);
                            if ( (LA567_58 == OPEN_PAR_SYMBOL))
                            {
                                {
                                    int LA567_2610 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt567=3;
                                    }
                                    else if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt567=4;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


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


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA567_58 == DOT_SYMBOL))
                            {
                                {
                                    int LA567_2611 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt567=2;
                                    }
                                    else if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt567=4;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


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


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA567_58 == EOF || ((LA567_58 >= ACTION_SYMBOL) && (LA567_58 <= PARTITION_SYMBOL)) || ((LA567_58 >= AND_SYMBOL) && (LA567_58 <= ASC_SYMBOL)) || LA567_58 == AS_SYMBOL || LA567_58 == BACK_TICK_QUOTED_ID || LA567_58 == BETWEEN_SYMBOL || LA567_58 == BITWISE_AND_OPERATOR || ((LA567_58 >= BITWISE_OR_OPERATOR) && (LA567_58 <= BITWISE_XOR_OPERATOR)) || ((LA567_58 >= CLOSE_CURLY_SYMBOL) && (LA567_58 <= COLLATE_SYMBOL)) || LA567_58 == COMMA_SYMBOL || LA567_58 == CONCAT_PIPES_SYMBOL || LA567_58 == CROSS_SYMBOL || ((LA567_58 >= DAY_HOUR_SYMBOL) && (LA567_58 <= DAY_SECOND_SYMBOL)) || LA567_58 == DESC_SYMBOL || ((LA567_58 >= DIV_OPERATOR) && (LA567_58 <= DIV_SYMBOL)) || LA567_58 == DOUBLE_QUOTED_TEXT || LA567_58 == ELSE_SYMBOL || LA567_58 == EQUAL_OPERATOR || ((LA567_58 >= FOR_SYMBOL) && (LA567_58 <= FROM_SYMBOL)) || ((LA567_58 >= GREATER_OR_EQUAL_OPERATOR) && (LA567_58 <= GREATER_THAN_OPERATOR)) || ((LA567_58 >= GROUP_SYMBOL) && (LA567_58 <= HAVING_SYMBOL)) || ((LA567_58 >= HOUR_MICROSECOND_SYMBOL) && (LA567_58 <= IDENTIFIER)) || LA567_58 == INNER_SYMBOL || LA567_58 == INTO_SYMBOL || LA567_58 == IN_SYMBOL || LA567_58 == IS_SYMBOL || LA567_58 == JOIN_SYMBOL || ((LA567_58 >= LEFT_SYMBOL) && (LA567_58 <= LESS_THAN_OPERATOR)) || ((LA567_58 >= LIKE_SYMBOL) && (LA567_58 <= LIMIT_SYMBOL)) || LA567_58 == LOCK_SYMBOL || LA567_58 == LOGICAL_AND_OPERATOR || LA567_58 == LOGICAL_OR_OPERATOR || ((LA567_58 >= MINUS_OPERATOR) && (LA567_58 <= MINUTE_SECOND_SYMBOL)) || ((LA567_58 >= MOD_OPERATOR) && (LA567_58 <= MOD_SYMBOL)) || ((LA567_58 >= MULT_OPERATOR) && (LA567_58 <= NATURAL_SYMBOL)) || LA567_58 == NCHAR_TEXT || ((LA567_58 >= NOT_EQUAL2_OPERATOR) && (LA567_58 <= NOT_SYMBOL)) || LA567_58 == NULL_SAFE_EQUAL_OPERATOR || LA567_58 == ON_SYMBOL || ((LA567_58 >= ORDER_SYMBOL) && (LA567_58 <= OR_SYMBOL)) || LA567_58 == PLUS_OPERATOR || LA567_58 == PROCEDURE_SYMBOL || LA567_58 == REGEXP_SYMBOL || LA567_58 == RENAME_SYMBOL || LA567_58 == RIGHT_SYMBOL || LA567_58 == SECOND_MICROSECOND_SYMBOL || LA567_58 == SEMICOLON_SYMBOL || LA567_58 == SEPARATOR_SYMBOL || LA567_58 == SET_SYMBOL || ((LA567_58 >= SHIFT_LEFT_OPERATOR) && (LA567_58 <= SHIFT_RIGHT_OPERATOR)) || LA567_58 == SINGLE_QUOTED_TEXT || LA567_58 == STRAIGHT_JOIN_SYMBOL || LA567_58 == THEN_SYMBOL || LA567_58 == UNDERSCORE_CHARSET || LA567_58 == UNION_SYMBOL || LA567_58 == USING_SYMBOL || ((LA567_58 >= WHEN_SYMBOL) && (LA567_58 <= WHERE_SYMBOL)) || LA567_58 == WITH_SYMBOL || ((LA567_58 >= XOR_SYMBOL) && (LA567_58 <= YEAR_MONTH_SYMBOL))))
                            {
                                alt567=2;
                            }
                            else
                            {
                                if (BACKTRACKING>0)
                                {
                                    FAILEDFLAG = ANTLR3_TRUE;
                                    return retval;
                                }


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


                                goto ruleprimaryEx;

                            }
                        }
                    }
                    else if ( (LA567_0 == ROW_COUNT_SYMBOL))
                    {
                        {
                            int LA567_61 = LA(2);
                            if ( (LA567_61 == DOT_SYMBOL))
                            {
                                {
                                    int LA567_2703 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt567=2;
                                    }
                                    else if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt567=4;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


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


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA567_61 == EOF || ((LA567_61 >= ACTION_SYMBOL) && (LA567_61 <= PARTITION_SYMBOL)) || ((LA567_61 >= AND_SYMBOL) && (LA567_61 <= ASC_SYMBOL)) || LA567_61 == AS_SYMBOL || LA567_61 == BACK_TICK_QUOTED_ID || LA567_61 == BETWEEN_SYMBOL || LA567_61 == BITWISE_AND_OPERATOR || ((LA567_61 >= BITWISE_OR_OPERATOR) && (LA567_61 <= BITWISE_XOR_OPERATOR)) || ((LA567_61 >= CLOSE_CURLY_SYMBOL) && (LA567_61 <= COLLATE_SYMBOL)) || LA567_61 == COMMA_SYMBOL || LA567_61 == CONCAT_PIPES_SYMBOL || LA567_61 == CROSS_SYMBOL || ((LA567_61 >= DAY_HOUR_SYMBOL) && (LA567_61 <= DAY_SECOND_SYMBOL)) || LA567_61 == DESC_SYMBOL || ((LA567_61 >= DIV_OPERATOR) && (LA567_61 <= DIV_SYMBOL)) || LA567_61 == DOUBLE_QUOTED_TEXT || LA567_61 == ELSE_SYMBOL || LA567_61 == EQUAL_OPERATOR || ((LA567_61 >= FOR_SYMBOL) && (LA567_61 <= FROM_SYMBOL)) || ((LA567_61 >= GREATER_OR_EQUAL_OPERATOR) && (LA567_61 <= GREATER_THAN_OPERATOR)) || ((LA567_61 >= GROUP_SYMBOL) && (LA567_61 <= HAVING_SYMBOL)) || ((LA567_61 >= HOUR_MICROSECOND_SYMBOL) && (LA567_61 <= IDENTIFIER)) || LA567_61 == INNER_SYMBOL || LA567_61 == INTO_SYMBOL || LA567_61 == IN_SYMBOL || LA567_61 == IS_SYMBOL || LA567_61 == JOIN_SYMBOL || ((LA567_61 >= LEFT_SYMBOL) && (LA567_61 <= LESS_THAN_OPERATOR)) || ((LA567_61 >= LIKE_SYMBOL) && (LA567_61 <= LIMIT_SYMBOL)) || LA567_61 == LOCK_SYMBOL || LA567_61 == LOGICAL_AND_OPERATOR || LA567_61 == LOGICAL_OR_OPERATOR || ((LA567_61 >= MINUS_OPERATOR) && (LA567_61 <= MINUTE_SECOND_SYMBOL)) || ((LA567_61 >= MOD_OPERATOR) && (LA567_61 <= MOD_SYMBOL)) || ((LA567_61 >= MULT_OPERATOR) && (LA567_61 <= NATURAL_SYMBOL)) || LA567_61 == NCHAR_TEXT || ((LA567_61 >= NOT_EQUAL2_OPERATOR) && (LA567_61 <= NOT_SYMBOL)) || LA567_61 == NULL_SAFE_EQUAL_OPERATOR || LA567_61 == ON_SYMBOL || ((LA567_61 >= ORDER_SYMBOL) && (LA567_61 <= OR_SYMBOL)) || LA567_61 == PLUS_OPERATOR || LA567_61 == PROCEDURE_SYMBOL || LA567_61 == REGEXP_SYMBOL || LA567_61 == RENAME_SYMBOL || LA567_61 == RIGHT_SYMBOL || LA567_61 == SECOND_MICROSECOND_SYMBOL || LA567_61 == SEMICOLON_SYMBOL || LA567_61 == SEPARATOR_SYMBOL || LA567_61 == SET_SYMBOL || ((LA567_61 >= SHIFT_LEFT_OPERATOR) && (LA567_61 <= SHIFT_RIGHT_OPERATOR)) || LA567_61 == SINGLE_QUOTED_TEXT || LA567_61 == STRAIGHT_JOIN_SYMBOL || LA567_61 == THEN_SYMBOL || LA567_61 == UNDERSCORE_CHARSET || LA567_61 == UNION_SYMBOL || LA567_61 == USING_SYMBOL || ((LA567_61 >= WHEN_SYMBOL) && (LA567_61 <= WHERE_SYMBOL)) || LA567_61 == WITH_SYMBOL || ((LA567_61 >= XOR_SYMBOL) && (LA567_61 <= YEAR_MONTH_SYMBOL))))
                            {
                                alt567=2;
                            }
                            else if ( (LA567_61 == OPEN_PAR_SYMBOL))
                            {
                                {
                                    int LA567_2795 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt567=3;
                                    }
                                    else if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt567=4;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


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


                                goto ruleprimaryEx;

                            }
                        }
                    }
                    else if ( (LA567_0 == WEEK_SYMBOL))
                    {
                        {
                            int LA567_62 = LA(2);
                            if ( (LA567_62 == OPEN_PAR_SYMBOL))
                            {
                                {
                                    int LA567_2796 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt567=3;
                                    }
                                    else if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt567=4;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


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


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA567_62 == DOT_SYMBOL))
                            {
                                {
                                    int LA567_2797 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt567=2;
                                    }
                                    else if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt567=4;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


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


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA567_62 == EOF || ((LA567_62 >= ACTION_SYMBOL) && (LA567_62 <= PARTITION_SYMBOL)) || ((LA567_62 >= AND_SYMBOL) && (LA567_62 <= ASC_SYMBOL)) || LA567_62 == AS_SYMBOL || LA567_62 == BACK_TICK_QUOTED_ID || LA567_62 == BETWEEN_SYMBOL || LA567_62 == BITWISE_AND_OPERATOR || ((LA567_62 >= BITWISE_OR_OPERATOR) && (LA567_62 <= BITWISE_XOR_OPERATOR)) || ((LA567_62 >= CLOSE_CURLY_SYMBOL) && (LA567_62 <= COLLATE_SYMBOL)) || LA567_62 == COMMA_SYMBOL || LA567_62 == CONCAT_PIPES_SYMBOL || LA567_62 == CROSS_SYMBOL || ((LA567_62 >= DAY_HOUR_SYMBOL) && (LA567_62 <= DAY_SECOND_SYMBOL)) || LA567_62 == DESC_SYMBOL || ((LA567_62 >= DIV_OPERATOR) && (LA567_62 <= DIV_SYMBOL)) || LA567_62 == DOUBLE_QUOTED_TEXT || LA567_62 == ELSE_SYMBOL || LA567_62 == EQUAL_OPERATOR || ((LA567_62 >= FOR_SYMBOL) && (LA567_62 <= FROM_SYMBOL)) || ((LA567_62 >= GREATER_OR_EQUAL_OPERATOR) && (LA567_62 <= GREATER_THAN_OPERATOR)) || ((LA567_62 >= GROUP_SYMBOL) && (LA567_62 <= HAVING_SYMBOL)) || ((LA567_62 >= HOUR_MICROSECOND_SYMBOL) && (LA567_62 <= IDENTIFIER)) || LA567_62 == INNER_SYMBOL || LA567_62 == INTO_SYMBOL || LA567_62 == IN_SYMBOL || LA567_62 == IS_SYMBOL || LA567_62 == JOIN_SYMBOL || ((LA567_62 >= LEFT_SYMBOL) && (LA567_62 <= LESS_THAN_OPERATOR)) || ((LA567_62 >= LIKE_SYMBOL) && (LA567_62 <= LIMIT_SYMBOL)) || LA567_62 == LOCK_SYMBOL || LA567_62 == LOGICAL_AND_OPERATOR || LA567_62 == LOGICAL_OR_OPERATOR || ((LA567_62 >= MINUS_OPERATOR) && (LA567_62 <= MINUTE_SECOND_SYMBOL)) || ((LA567_62 >= MOD_OPERATOR) && (LA567_62 <= MOD_SYMBOL)) || ((LA567_62 >= MULT_OPERATOR) && (LA567_62 <= NATURAL_SYMBOL)) || LA567_62 == NCHAR_TEXT || ((LA567_62 >= NOT_EQUAL2_OPERATOR) && (LA567_62 <= NOT_SYMBOL)) || LA567_62 == NULL_SAFE_EQUAL_OPERATOR || LA567_62 == ON_SYMBOL || ((LA567_62 >= ORDER_SYMBOL) && (LA567_62 <= OR_SYMBOL)) || LA567_62 == PLUS_OPERATOR || LA567_62 == PROCEDURE_SYMBOL || LA567_62 == REGEXP_SYMBOL || LA567_62 == RENAME_SYMBOL || LA567_62 == RIGHT_SYMBOL || LA567_62 == SECOND_MICROSECOND_SYMBOL || LA567_62 == SEMICOLON_SYMBOL || LA567_62 == SEPARATOR_SYMBOL || LA567_62 == SET_SYMBOL || ((LA567_62 >= SHIFT_LEFT_OPERATOR) && (LA567_62 <= SHIFT_RIGHT_OPERATOR)) || LA567_62 == SINGLE_QUOTED_TEXT || LA567_62 == STRAIGHT_JOIN_SYMBOL || LA567_62 == THEN_SYMBOL || LA567_62 == UNDERSCORE_CHARSET || LA567_62 == UNION_SYMBOL || LA567_62 == USING_SYMBOL || ((LA567_62 >= WHEN_SYMBOL) && (LA567_62 <= WHERE_SYMBOL)) || LA567_62 == WITH_SYMBOL || ((LA567_62 >= XOR_SYMBOL) && (LA567_62 <= YEAR_MONTH_SYMBOL))))
                            {
                                alt567=2;
                            }
                            else
                            {
                                if (BACKTRACKING>0)
                                {
                                    FAILEDFLAG = ANTLR3_TRUE;
                                    return retval;
                                }


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


                                goto ruleprimaryEx;

                            }
                        }
                    }
                    else if ( (LA567_0 == CONTAINS_SYMBOL))
                    {
                        {
                            int LA567_63 = LA(2);
                            if ( (LA567_63 == OPEN_PAR_SYMBOL))
                            {
                                {
                                    int LA567_2889 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt567=3;
                                    }
                                    else if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt567=4;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


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


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA567_63 == DOT_SYMBOL))
                            {
                                {
                                    int LA567_2890 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt567=2;
                                    }
                                    else if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt567=4;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


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


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA567_63 == EOF || ((LA567_63 >= ACTION_SYMBOL) && (LA567_63 <= PARTITION_SYMBOL)) || ((LA567_63 >= AND_SYMBOL) && (LA567_63 <= ASC_SYMBOL)) || LA567_63 == AS_SYMBOL || LA567_63 == BACK_TICK_QUOTED_ID || LA567_63 == BETWEEN_SYMBOL || LA567_63 == BITWISE_AND_OPERATOR || ((LA567_63 >= BITWISE_OR_OPERATOR) && (LA567_63 <= BITWISE_XOR_OPERATOR)) || ((LA567_63 >= CLOSE_CURLY_SYMBOL) && (LA567_63 <= COLLATE_SYMBOL)) || LA567_63 == COMMA_SYMBOL || LA567_63 == CONCAT_PIPES_SYMBOL || LA567_63 == CROSS_SYMBOL || ((LA567_63 >= DAY_HOUR_SYMBOL) && (LA567_63 <= DAY_SECOND_SYMBOL)) || LA567_63 == DESC_SYMBOL || ((LA567_63 >= DIV_OPERATOR) && (LA567_63 <= DIV_SYMBOL)) || LA567_63 == DOUBLE_QUOTED_TEXT || LA567_63 == ELSE_SYMBOL || LA567_63 == EQUAL_OPERATOR || ((LA567_63 >= FOR_SYMBOL) && (LA567_63 <= FROM_SYMBOL)) || ((LA567_63 >= GREATER_OR_EQUAL_OPERATOR) && (LA567_63 <= GREATER_THAN_OPERATOR)) || ((LA567_63 >= GROUP_SYMBOL) && (LA567_63 <= HAVING_SYMBOL)) || ((LA567_63 >= HOUR_MICROSECOND_SYMBOL) && (LA567_63 <= IDENTIFIER)) || LA567_63 == INNER_SYMBOL || LA567_63 == INTO_SYMBOL || LA567_63 == IN_SYMBOL || LA567_63 == IS_SYMBOL || LA567_63 == JOIN_SYMBOL || ((LA567_63 >= LEFT_SYMBOL) && (LA567_63 <= LESS_THAN_OPERATOR)) || ((LA567_63 >= LIKE_SYMBOL) && (LA567_63 <= LIMIT_SYMBOL)) || LA567_63 == LOCK_SYMBOL || LA567_63 == LOGICAL_AND_OPERATOR || LA567_63 == LOGICAL_OR_OPERATOR || ((LA567_63 >= MINUS_OPERATOR) && (LA567_63 <= MINUTE_SECOND_SYMBOL)) || ((LA567_63 >= MOD_OPERATOR) && (LA567_63 <= MOD_SYMBOL)) || ((LA567_63 >= MULT_OPERATOR) && (LA567_63 <= NATURAL_SYMBOL)) || LA567_63 == NCHAR_TEXT || ((LA567_63 >= NOT_EQUAL2_OPERATOR) && (LA567_63 <= NOT_SYMBOL)) || LA567_63 == NULL_SAFE_EQUAL_OPERATOR || LA567_63 == ON_SYMBOL || ((LA567_63 >= ORDER_SYMBOL) && (LA567_63 <= OR_SYMBOL)) || LA567_63 == PLUS_OPERATOR || LA567_63 == PROCEDURE_SYMBOL || LA567_63 == REGEXP_SYMBOL || LA567_63 == RENAME_SYMBOL || LA567_63 == RIGHT_SYMBOL || LA567_63 == SECOND_MICROSECOND_SYMBOL || LA567_63 == SEMICOLON_SYMBOL || LA567_63 == SEPARATOR_SYMBOL || LA567_63 == SET_SYMBOL || ((LA567_63 >= SHIFT_LEFT_OPERATOR) && (LA567_63 <= SHIFT_RIGHT_OPERATOR)) || LA567_63 == SINGLE_QUOTED_TEXT || LA567_63 == STRAIGHT_JOIN_SYMBOL || LA567_63 == THEN_SYMBOL || LA567_63 == UNDERSCORE_CHARSET || LA567_63 == UNION_SYMBOL || LA567_63 == USING_SYMBOL || ((LA567_63 >= WHEN_SYMBOL) && (LA567_63 <= WHERE_SYMBOL)) || LA567_63 == WITH_SYMBOL || ((LA567_63 >= XOR_SYMBOL) && (LA567_63 <= YEAR_MONTH_SYMBOL))))
                            {
                                alt567=2;
                            }
                            else
                            {
                                if (BACKTRACKING>0)
                                {
                                    FAILEDFLAG = ANTLR3_TRUE;
                                    return retval;
                                }


                                CONSTRUCTEX();
                                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                EXCEPTION->message      = (void *)"";
                                EXCEPTION->decisionNum  = 567;
                                EXCEPTION->state        = 63;


                                goto ruleprimaryEx;

                            }
                        }
                    }
                    else if ( (LA567_0 == WEIGHT_STRING_SYMBOL))
                    {
                        {
                            int LA567_64 = LA(2);
                            if ( ((SERVER_VERSION >= 50600)) && (LA567_64 == OPEN_PAR_SYMBOL))
                            {
                                {
                                    int LA567_2982 = LA(3);
                                    if ( ((SERVER_VERSION >= 50600)))
                                    {
                                        alt567=3;
                                    }
                                    else if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt567=4;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


                                        CONSTRUCTEX();
                                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                        EXCEPTION->message      = (void *)"";
                                        EXCEPTION->decisionNum  = 567;
                                        EXCEPTION->state        = 2982;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA567_64 == DOT_SYMBOL))
                            {
                                {
                                    int LA567_2983 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt567=2;
                                    }
                                    else if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt567=4;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


                                        CONSTRUCTEX();
                                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                        EXCEPTION->message      = (void *)"";
                                        EXCEPTION->decisionNum  = 567;
                                        EXCEPTION->state        = 2983;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA567_64 == EOF || ((LA567_64 >= ACTION_SYMBOL) && (LA567_64 <= PARTITION_SYMBOL)) || ((LA567_64 >= AND_SYMBOL) && (LA567_64 <= ASC_SYMBOL)) || LA567_64 == AS_SYMBOL || LA567_64 == BACK_TICK_QUOTED_ID || LA567_64 == BETWEEN_SYMBOL || LA567_64 == BITWISE_AND_OPERATOR || ((LA567_64 >= BITWISE_OR_OPERATOR) && (LA567_64 <= BITWISE_XOR_OPERATOR)) || ((LA567_64 >= CLOSE_CURLY_SYMBOL) && (LA567_64 <= COLLATE_SYMBOL)) || LA567_64 == COMMA_SYMBOL || LA567_64 == CONCAT_PIPES_SYMBOL || LA567_64 == CROSS_SYMBOL || ((LA567_64 >= DAY_HOUR_SYMBOL) && (LA567_64 <= DAY_SECOND_SYMBOL)) || LA567_64 == DESC_SYMBOL || ((LA567_64 >= DIV_OPERATOR) && (LA567_64 <= DIV_SYMBOL)) || LA567_64 == DOUBLE_QUOTED_TEXT || LA567_64 == ELSE_SYMBOL || LA567_64 == EQUAL_OPERATOR || ((LA567_64 >= FOR_SYMBOL) && (LA567_64 <= FROM_SYMBOL)) || ((LA567_64 >= GREATER_OR_EQUAL_OPERATOR) && (LA567_64 <= GREATER_THAN_OPERATOR)) || ((LA567_64 >= GROUP_SYMBOL) && (LA567_64 <= HAVING_SYMBOL)) || ((LA567_64 >= HOUR_MICROSECOND_SYMBOL) && (LA567_64 <= IDENTIFIER)) || LA567_64 == INNER_SYMBOL || LA567_64 == INTO_SYMBOL || LA567_64 == IN_SYMBOL || LA567_64 == IS_SYMBOL || LA567_64 == JOIN_SYMBOL || ((LA567_64 >= LEFT_SYMBOL) && (LA567_64 <= LESS_THAN_OPERATOR)) || ((LA567_64 >= LIKE_SYMBOL) && (LA567_64 <= LIMIT_SYMBOL)) || LA567_64 == LOCK_SYMBOL || LA567_64 == LOGICAL_AND_OPERATOR || LA567_64 == LOGICAL_OR_OPERATOR || ((LA567_64 >= MINUS_OPERATOR) && (LA567_64 <= MINUTE_SECOND_SYMBOL)) || ((LA567_64 >= MOD_OPERATOR) && (LA567_64 <= MOD_SYMBOL)) || ((LA567_64 >= MULT_OPERATOR) && (LA567_64 <= NATURAL_SYMBOL)) || LA567_64 == NCHAR_TEXT || ((LA567_64 >= NOT_EQUAL2_OPERATOR) && (LA567_64 <= NOT_SYMBOL)) || LA567_64 == NULL_SAFE_EQUAL_OPERATOR || LA567_64 == ON_SYMBOL || ((LA567_64 >= ORDER_SYMBOL) && (LA567_64 <= OR_SYMBOL)) || LA567_64 == PLUS_OPERATOR || LA567_64 == PROCEDURE_SYMBOL || LA567_64 == REGEXP_SYMBOL || LA567_64 == RENAME_SYMBOL || LA567_64 == RIGHT_SYMBOL || LA567_64 == SECOND_MICROSECOND_SYMBOL || LA567_64 == SEMICOLON_SYMBOL || LA567_64 == SEPARATOR_SYMBOL || LA567_64 == SET_SYMBOL || ((LA567_64 >= SHIFT_LEFT_OPERATOR) && (LA567_64 <= SHIFT_RIGHT_OPERATOR)) || LA567_64 == SINGLE_QUOTED_TEXT || LA567_64 == STRAIGHT_JOIN_SYMBOL || LA567_64 == THEN_SYMBOL || LA567_64 == UNDERSCORE_CHARSET || LA567_64 == UNION_SYMBOL || LA567_64 == USING_SYMBOL || ((LA567_64 >= WHEN_SYMBOL) && (LA567_64 <= WHERE_SYMBOL)) || LA567_64 == WITH_SYMBOL || ((LA567_64 >= XOR_SYMBOL) && (LA567_64 <= YEAR_MONTH_SYMBOL))))
                            {
                                alt567=2;
                            }
                            else
                            {
                                if (BACKTRACKING>0)
                                {
                                    FAILEDFLAG = ANTLR3_TRUE;
                                    return retval;
                                }


                                CONSTRUCTEX();
                                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                EXCEPTION->message      = (void *)"";
                                EXCEPTION->decisionNum  = 567;
                                EXCEPTION->state        = 64;


                                goto ruleprimaryEx;

                            }
                        }
                    }
                    else if ( (LA567_0 == GEOMETRYCOLLECTION_SYMBOL))
                    {
                        {
                            int LA567_65 = LA(2);
                            if ( (LA567_65 == DOT_SYMBOL))
                            {
                                {
                                    int LA567_3075 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt567=2;
                                    }
                                    else if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt567=4;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


                                        CONSTRUCTEX();
                                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                        EXCEPTION->message      = (void *)"";
                                        EXCEPTION->decisionNum  = 567;
                                        EXCEPTION->state        = 3075;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA567_65 == EOF || ((LA567_65 >= ACTION_SYMBOL) && (LA567_65 <= PARTITION_SYMBOL)) || ((LA567_65 >= AND_SYMBOL) && (LA567_65 <= ASC_SYMBOL)) || LA567_65 == AS_SYMBOL || LA567_65 == BACK_TICK_QUOTED_ID || LA567_65 == BETWEEN_SYMBOL || LA567_65 == BITWISE_AND_OPERATOR || ((LA567_65 >= BITWISE_OR_OPERATOR) && (LA567_65 <= BITWISE_XOR_OPERATOR)) || ((LA567_65 >= CLOSE_CURLY_SYMBOL) && (LA567_65 <= COLLATE_SYMBOL)) || LA567_65 == COMMA_SYMBOL || LA567_65 == CONCAT_PIPES_SYMBOL || LA567_65 == CROSS_SYMBOL || ((LA567_65 >= DAY_HOUR_SYMBOL) && (LA567_65 <= DAY_SECOND_SYMBOL)) || LA567_65 == DESC_SYMBOL || ((LA567_65 >= DIV_OPERATOR) && (LA567_65 <= DIV_SYMBOL)) || LA567_65 == DOUBLE_QUOTED_TEXT || LA567_65 == ELSE_SYMBOL || LA567_65 == EQUAL_OPERATOR || ((LA567_65 >= FOR_SYMBOL) && (LA567_65 <= FROM_SYMBOL)) || ((LA567_65 >= GREATER_OR_EQUAL_OPERATOR) && (LA567_65 <= GREATER_THAN_OPERATOR)) || ((LA567_65 >= GROUP_SYMBOL) && (LA567_65 <= HAVING_SYMBOL)) || ((LA567_65 >= HOUR_MICROSECOND_SYMBOL) && (LA567_65 <= IDENTIFIER)) || LA567_65 == INNER_SYMBOL || LA567_65 == INTO_SYMBOL || LA567_65 == IN_SYMBOL || LA567_65 == IS_SYMBOL || LA567_65 == JOIN_SYMBOL || ((LA567_65 >= LEFT_SYMBOL) && (LA567_65 <= LESS_THAN_OPERATOR)) || ((LA567_65 >= LIKE_SYMBOL) && (LA567_65 <= LIMIT_SYMBOL)) || LA567_65 == LOCK_SYMBOL || LA567_65 == LOGICAL_AND_OPERATOR || LA567_65 == LOGICAL_OR_OPERATOR || ((LA567_65 >= MINUS_OPERATOR) && (LA567_65 <= MINUTE_SECOND_SYMBOL)) || ((LA567_65 >= MOD_OPERATOR) && (LA567_65 <= MOD_SYMBOL)) || ((LA567_65 >= MULT_OPERATOR) && (LA567_65 <= NATURAL_SYMBOL)) || LA567_65 == NCHAR_TEXT || ((LA567_65 >= NOT_EQUAL2_OPERATOR) && (LA567_65 <= NOT_SYMBOL)) || LA567_65 == NULL_SAFE_EQUAL_OPERATOR || LA567_65 == ON_SYMBOL || ((LA567_65 >= ORDER_SYMBOL) && (LA567_65 <= OR_SYMBOL)) || LA567_65 == PLUS_OPERATOR || LA567_65 == PROCEDURE_SYMBOL || LA567_65 == REGEXP_SYMBOL || LA567_65 == RENAME_SYMBOL || LA567_65 == RIGHT_SYMBOL || LA567_65 == SECOND_MICROSECOND_SYMBOL || LA567_65 == SEMICOLON_SYMBOL || LA567_65 == SEPARATOR_SYMBOL || LA567_65 == SET_SYMBOL || ((LA567_65 >= SHIFT_LEFT_OPERATOR) && (LA567_65 <= SHIFT_RIGHT_OPERATOR)) || LA567_65 == SINGLE_QUOTED_TEXT || LA567_65 == STRAIGHT_JOIN_SYMBOL || LA567_65 == THEN_SYMBOL || LA567_65 == UNDERSCORE_CHARSET || LA567_65 == UNION_SYMBOL || LA567_65 == USING_SYMBOL || ((LA567_65 >= WHEN_SYMBOL) && (LA567_65 <= WHERE_SYMBOL)) || LA567_65 == WITH_SYMBOL || ((LA567_65 >= XOR_SYMBOL) && (LA567_65 <= YEAR_MONTH_SYMBOL))))
                            {
                                alt567=2;
                            }
                            else if ( (LA567_65 == OPEN_PAR_SYMBOL))
                            {
                                {
                                    int LA567_3167 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt567=3;
                                    }
                                    else if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt567=4;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


                                        CONSTRUCTEX();
                                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                        EXCEPTION->message      = (void *)"";
                                        EXCEPTION->decisionNum  = 567;
                                        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  = 567;
                                EXCEPTION->state        = 65;


                                goto ruleprimaryEx;

                            }
                        }
                    }
                    else if ( (((LA567_0 >= BACKUP_SYMBOL) && (LA567_0 <= CACHE_SYMBOL)) || ((LA567_0 >= CHECKSUM_SYMBOL) && (LA567_0 <= COMMIT_SYMBOL)) || ((LA567_0 >= DEALLOCATE_SYMBOL) && (LA567_0 <= FLUSH_SYMBOL)) || ((LA567_0 >= HANDLER_SYMBOL) && (LA567_0 <= STOP_SYMBOL)) || ((LA567_0 >= UNICODE_SYMBOL) && (LA567_0 <= XA_SYMBOL))))
                    {
                        {
                            int LA567_66 = LA(2);
                            if ( (LA567_66 == DOT_SYMBOL))
                            {
                                {
                                    int LA567_3168 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt567=2;
                                    }
                                    else if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt567=4;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


                                        CONSTRUCTEX();
                                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                        EXCEPTION->message      = (void *)"";
                                        EXCEPTION->decisionNum  = 567;
                                        EXCEPTION->state        = 3168;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA567_66 == EOF || ((LA567_66 >= ACTION_SYMBOL) && (LA567_66 <= PARTITION_SYMBOL)) || ((LA567_66 >= AND_SYMBOL) && (LA567_66 <= ASC_SYMBOL)) || LA567_66 == AS_SYMBOL || LA567_66 == BACK_TICK_QUOTED_ID || LA567_66 == BETWEEN_SYMBOL || LA567_66 == BITWISE_AND_OPERATOR || ((LA567_66 >= BITWISE_OR_OPERATOR) && (LA567_66 <= BITWISE_XOR_OPERATOR)) || ((LA567_66 >= CLOSE_CURLY_SYMBOL) && (LA567_66 <= COLLATE_SYMBOL)) || LA567_66 == COMMA_SYMBOL || LA567_66 == CONCAT_PIPES_SYMBOL || LA567_66 == CROSS_SYMBOL || ((LA567_66 >= DAY_HOUR_SYMBOL) && (LA567_66 <= DAY_SECOND_SYMBOL)) || LA567_66 == DESC_SYMBOL || ((LA567_66 >= DIV_OPERATOR) && (LA567_66 <= DIV_SYMBOL)) || LA567_66 == DOUBLE_QUOTED_TEXT || LA567_66 == ELSE_SYMBOL || LA567_66 == EQUAL_OPERATOR || ((LA567_66 >= FOR_SYMBOL) && (LA567_66 <= FROM_SYMBOL)) || ((LA567_66 >= GREATER_OR_EQUAL_OPERATOR) && (LA567_66 <= GREATER_THAN_OPERATOR)) || ((LA567_66 >= GROUP_SYMBOL) && (LA567_66 <= HAVING_SYMBOL)) || ((LA567_66 >= HOUR_MICROSECOND_SYMBOL) && (LA567_66 <= IDENTIFIER)) || LA567_66 == INNER_SYMBOL || LA567_66 == INTO_SYMBOL || LA567_66 == IN_SYMBOL || LA567_66 == IS_SYMBOL || LA567_66 == JOIN_SYMBOL || ((LA567_66 >= LEFT_SYMBOL) && (LA567_66 <= LESS_THAN_OPERATOR)) || ((LA567_66 >= LIKE_SYMBOL) && (LA567_66 <= LIMIT_SYMBOL)) || LA567_66 == LOCK_SYMBOL || LA567_66 == LOGICAL_AND_OPERATOR || LA567_66 == LOGICAL_OR_OPERATOR || ((LA567_66 >= MINUS_OPERATOR) && (LA567_66 <= MINUTE_SECOND_SYMBOL)) || ((LA567_66 >= MOD_OPERATOR) && (LA567_66 <= MOD_SYMBOL)) || ((LA567_66 >= MULT_OPERATOR) && (LA567_66 <= NATURAL_SYMBOL)) || LA567_66 == NCHAR_TEXT || ((LA567_66 >= NOT_EQUAL2_OPERATOR) && (LA567_66 <= NOT_SYMBOL)) || LA567_66 == NULL_SAFE_EQUAL_OPERATOR || LA567_66 == ON_SYMBOL || ((LA567_66 >= ORDER_SYMBOL) && (LA567_66 <= OR_SYMBOL)) || LA567_66 == PLUS_OPERATOR || LA567_66 == PROCEDURE_SYMBOL || LA567_66 == REGEXP_SYMBOL || LA567_66 == RENAME_SYMBOL || LA567_66 == RIGHT_SYMBOL || LA567_66 == SECOND_MICROSECOND_SYMBOL || LA567_66 == SEMICOLON_SYMBOL || LA567_66 == SEPARATOR_SYMBOL || LA567_66 == SET_SYMBOL || ((LA567_66 >= SHIFT_LEFT_OPERATOR) && (LA567_66 <= SHIFT_RIGHT_OPERATOR)) || LA567_66 == SINGLE_QUOTED_TEXT || LA567_66 == STRAIGHT_JOIN_SYMBOL || LA567_66 == THEN_SYMBOL || LA567_66 == UNDERSCORE_CHARSET || LA567_66 == UNION_SYMBOL || LA567_66 == USING_SYMBOL || ((LA567_66 >= WHEN_SYMBOL) && (LA567_66 <= WHERE_SYMBOL)) || LA567_66 == WITH_SYMBOL || ((LA567_66 >= XOR_SYMBOL) && (LA567_66 <= YEAR_MONTH_SYMBOL))))
                            {
                                alt567=2;
                            }
                            else if ( (synpred3_MySQL(ctx)) && (LA567_66 == OPEN_PAR_SYMBOL))
                            {
                                alt567=4;
                            }
                            else
                            {
                                if (BACKTRACKING>0)
                                {
                                    FAILEDFLAG = ANTLR3_TRUE;
                                    return retval;
                                }


                                CONSTRUCTEX();
                                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                EXCEPTION->message      = (void *)"";
                                EXCEPTION->decisionNum  = 567;
                                EXCEPTION->state        = 66;


                                goto ruleprimaryEx;

                            }
                        }
                    }
                    else if ( (LA567_0 == LINESTRING_SYMBOL))
                    {
                        {
                            int LA567_67 = LA(2);
                            if ( (LA567_67 == DOT_SYMBOL))
                            {
                                {
                                    int LA567_3261 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt567=2;
                                    }
                                    else if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt567=4;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


                                        CONSTRUCTEX();
                                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                        EXCEPTION->message      = (void *)"";
                                        EXCEPTION->decisionNum  = 567;
                                        EXCEPTION->state        = 3261;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA567_67 == EOF || ((LA567_67 >= ACTION_SYMBOL) && (LA567_67 <= PARTITION_SYMBOL)) || ((LA567_67 >= AND_SYMBOL) && (LA567_67 <= ASC_SYMBOL)) || LA567_67 == AS_SYMBOL || LA567_67 == BACK_TICK_QUOTED_ID || LA567_67 == BETWEEN_SYMBOL || LA567_67 == BITWISE_AND_OPERATOR || ((LA567_67 >= BITWISE_OR_OPERATOR) && (LA567_67 <= BITWISE_XOR_OPERATOR)) || ((LA567_67 >= CLOSE_CURLY_SYMBOL) && (LA567_67 <= COLLATE_SYMBOL)) || LA567_67 == COMMA_SYMBOL || LA567_67 == CONCAT_PIPES_SYMBOL || LA567_67 == CROSS_SYMBOL || ((LA567_67 >= DAY_HOUR_SYMBOL) && (LA567_67 <= DAY_SECOND_SYMBOL)) || LA567_67 == DESC_SYMBOL || ((LA567_67 >= DIV_OPERATOR) && (LA567_67 <= DIV_SYMBOL)) || LA567_67 == DOUBLE_QUOTED_TEXT || LA567_67 == ELSE_SYMBOL || LA567_67 == EQUAL_OPERATOR || ((LA567_67 >= FOR_SYMBOL) && (LA567_67 <= FROM_SYMBOL)) || ((LA567_67 >= GREATER_OR_EQUAL_OPERATOR) && (LA567_67 <= GREATER_THAN_OPERATOR)) || ((LA567_67 >= GROUP_SYMBOL) && (LA567_67 <= HAVING_SYMBOL)) || ((LA567_67 >= HOUR_MICROSECOND_SYMBOL) && (LA567_67 <= IDENTIFIER)) || LA567_67 == INNER_SYMBOL || LA567_67 == INTO_SYMBOL || LA567_67 == IN_SYMBOL || LA567_67 == IS_SYMBOL || LA567_67 == JOIN_SYMBOL || ((LA567_67 >= LEFT_SYMBOL) && (LA567_67 <= LESS_THAN_OPERATOR)) || ((LA567_67 >= LIKE_SYMBOL) && (LA567_67 <= LIMIT_SYMBOL)) || LA567_67 == LOCK_SYMBOL || LA567_67 == LOGICAL_AND_OPERATOR || LA567_67 == LOGICAL_OR_OPERATOR || ((LA567_67 >= MINUS_OPERATOR) && (LA567_67 <= MINUTE_SECOND_SYMBOL)) || ((LA567_67 >= MOD_OPERATOR) && (LA567_67 <= MOD_SYMBOL)) || ((LA567_67 >= MULT_OPERATOR) && (LA567_67 <= NATURAL_SYMBOL)) || LA567_67 == NCHAR_TEXT || ((LA567_67 >= NOT_EQUAL2_OPERATOR) && (LA567_67 <= NOT_SYMBOL)) || LA567_67 == NULL_SAFE_EQUAL_OPERATOR || LA567_67 == ON_SYMBOL || ((LA567_67 >= ORDER_SYMBOL) && (LA567_67 <= OR_SYMBOL)) || LA567_67 == PLUS_OPERATOR || LA567_67 == PROCEDURE_SYMBOL || LA567_67 == REGEXP_SYMBOL || LA567_67 == RENAME_SYMBOL || LA567_67 == RIGHT_SYMBOL || LA567_67 == SECOND_MICROSECOND_SYMBOL || LA567_67 == SEMICOLON_SYMBOL || LA567_67 == SEPARATOR_SYMBOL || LA567_67 == SET_SYMBOL || ((LA567_67 >= SHIFT_LEFT_OPERATOR) && (LA567_67 <= SHIFT_RIGHT_OPERATOR)) || LA567_67 == SINGLE_QUOTED_TEXT || LA567_67 == STRAIGHT_JOIN_SYMBOL || LA567_67 == THEN_SYMBOL || LA567_67 == UNDERSCORE_CHARSET || LA567_67 == UNION_SYMBOL || LA567_67 == USING_SYMBOL || ((LA567_67 >= WHEN_SYMBOL) && (LA567_67 <= WHERE_SYMBOL)) || LA567_67 == WITH_SYMBOL || ((LA567_67 >= XOR_SYMBOL) && (LA567_67 <= YEAR_MONTH_SYMBOL))))
                            {
                                alt567=2;
                            }
                            else if ( (LA567_67 == OPEN_PAR_SYMBOL))
                            {
                                {
                                    int LA567_3353 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt567=3;
                                    }
                                    else if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt567=4;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


                                        CONSTRUCTEX();
                                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                        EXCEPTION->message      = (void *)"";
                                        EXCEPTION->decisionNum  = 567;
                                        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  = 567;
                                EXCEPTION->state        = 67;


                                goto ruleprimaryEx;

                            }
                        }
                    }
                    else if ( (LA567_0 == MULTILINESTRING_SYMBOL))
                    {
                        {
                            int LA567_68 = LA(2);
                            if ( (LA567_68 == DOT_SYMBOL))
                            {
                                {
                                    int LA567_3354 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt567=2;
                                    }
                                    else if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt567=4;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


                                        CONSTRUCTEX();
                                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                        EXCEPTION->message      = (void *)"";
                                        EXCEPTION->decisionNum  = 567;
                                        EXCEPTION->state        = 3354;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA567_68 == EOF || ((LA567_68 >= ACTION_SYMBOL) && (LA567_68 <= PARTITION_SYMBOL)) || ((LA567_68 >= AND_SYMBOL) && (LA567_68 <= ASC_SYMBOL)) || LA567_68 == AS_SYMBOL || LA567_68 == BACK_TICK_QUOTED_ID || LA567_68 == BETWEEN_SYMBOL || LA567_68 == BITWISE_AND_OPERATOR || ((LA567_68 >= BITWISE_OR_OPERATOR) && (LA567_68 <= BITWISE_XOR_OPERATOR)) || ((LA567_68 >= CLOSE_CURLY_SYMBOL) && (LA567_68 <= COLLATE_SYMBOL)) || LA567_68 == COMMA_SYMBOL || LA567_68 == CONCAT_PIPES_SYMBOL || LA567_68 == CROSS_SYMBOL || ((LA567_68 >= DAY_HOUR_SYMBOL) && (LA567_68 <= DAY_SECOND_SYMBOL)) || LA567_68 == DESC_SYMBOL || ((LA567_68 >= DIV_OPERATOR) && (LA567_68 <= DIV_SYMBOL)) || LA567_68 == DOUBLE_QUOTED_TEXT || LA567_68 == ELSE_SYMBOL || LA567_68 == EQUAL_OPERATOR || ((LA567_68 >= FOR_SYMBOL) && (LA567_68 <= FROM_SYMBOL)) || ((LA567_68 >= GREATER_OR_EQUAL_OPERATOR) && (LA567_68 <= GREATER_THAN_OPERATOR)) || ((LA567_68 >= GROUP_SYMBOL) && (LA567_68 <= HAVING_SYMBOL)) || ((LA567_68 >= HOUR_MICROSECOND_SYMBOL) && (LA567_68 <= IDENTIFIER)) || LA567_68 == INNER_SYMBOL || LA567_68 == INTO_SYMBOL || LA567_68 == IN_SYMBOL || LA567_68 == IS_SYMBOL || LA567_68 == JOIN_SYMBOL || ((LA567_68 >= LEFT_SYMBOL) && (LA567_68 <= LESS_THAN_OPERATOR)) || ((LA567_68 >= LIKE_SYMBOL) && (LA567_68 <= LIMIT_SYMBOL)) || LA567_68 == LOCK_SYMBOL || LA567_68 == LOGICAL_AND_OPERATOR || LA567_68 == LOGICAL_OR_OPERATOR || ((LA567_68 >= MINUS_OPERATOR) && (LA567_68 <= MINUTE_SECOND_SYMBOL)) || ((LA567_68 >= MOD_OPERATOR) && (LA567_68 <= MOD_SYMBOL)) || ((LA567_68 >= MULT_OPERATOR) && (LA567_68 <= NATURAL_SYMBOL)) || LA567_68 == NCHAR_TEXT || ((LA567_68 >= NOT_EQUAL2_OPERATOR) && (LA567_68 <= NOT_SYMBOL)) || LA567_68 == NULL_SAFE_EQUAL_OPERATOR || LA567_68 == ON_SYMBOL || ((LA567_68 >= ORDER_SYMBOL) && (LA567_68 <= OR_SYMBOL)) || LA567_68 == PLUS_OPERATOR || LA567_68 == PROCEDURE_SYMBOL || LA567_68 == REGEXP_SYMBOL || LA567_68 == RENAME_SYMBOL || LA567_68 == RIGHT_SYMBOL || LA567_68 == SECOND_MICROSECOND_SYMBOL || LA567_68 == SEMICOLON_SYMBOL || LA567_68 == SEPARATOR_SYMBOL || LA567_68 == SET_SYMBOL || ((LA567_68 >= SHIFT_LEFT_OPERATOR) && (LA567_68 <= SHIFT_RIGHT_OPERATOR)) || LA567_68 == SINGLE_QUOTED_TEXT || LA567_68 == STRAIGHT_JOIN_SYMBOL || LA567_68 == THEN_SYMBOL || LA567_68 == UNDERSCORE_CHARSET || LA567_68 == UNION_SYMBOL || LA567_68 == USING_SYMBOL || ((LA567_68 >= WHEN_SYMBOL) && (LA567_68 <= WHERE_SYMBOL)) || LA567_68 == WITH_SYMBOL || ((LA567_68 >= XOR_SYMBOL) && (LA567_68 <= YEAR_MONTH_SYMBOL))))
                            {
                                alt567=2;
                            }
                            else if ( (LA567_68 == OPEN_PAR_SYMBOL))
                            {
                                {
                                    int LA567_3446 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt567=3;
                                    }
                                    else if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt567=4;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


                                        CONSTRUCTEX();
                                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                        EXCEPTION->message      = (void *)"";
                                        EXCEPTION->decisionNum  = 567;
                                        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  = 567;
                                EXCEPTION->state        = 68;


                                goto ruleprimaryEx;

                            }
                        }
                    }
                    else if ( (LA567_0 == MULTIPOINT_SYMBOL))
                    {
                        {
                            int LA567_69 = LA(2);
                            if ( (LA567_69 == DOT_SYMBOL))
                            {
                                {
                                    int LA567_3447 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt567=2;
                                    }
                                    else if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt567=4;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


                                        CONSTRUCTEX();
                                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                        EXCEPTION->message      = (void *)"";
                                        EXCEPTION->decisionNum  = 567;
                                        EXCEPTION->state        = 3447;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA567_69 == EOF || ((LA567_69 >= ACTION_SYMBOL) && (LA567_69 <= PARTITION_SYMBOL)) || ((LA567_69 >= AND_SYMBOL) && (LA567_69 <= ASC_SYMBOL)) || LA567_69 == AS_SYMBOL || LA567_69 == BACK_TICK_QUOTED_ID || LA567_69 == BETWEEN_SYMBOL || LA567_69 == BITWISE_AND_OPERATOR || ((LA567_69 >= BITWISE_OR_OPERATOR) && (LA567_69 <= BITWISE_XOR_OPERATOR)) || ((LA567_69 >= CLOSE_CURLY_SYMBOL) && (LA567_69 <= COLLATE_SYMBOL)) || LA567_69 == COMMA_SYMBOL || LA567_69 == CONCAT_PIPES_SYMBOL || LA567_69 == CROSS_SYMBOL || ((LA567_69 >= DAY_HOUR_SYMBOL) && (LA567_69 <= DAY_SECOND_SYMBOL)) || LA567_69 == DESC_SYMBOL || ((LA567_69 >= DIV_OPERATOR) && (LA567_69 <= DIV_SYMBOL)) || LA567_69 == DOUBLE_QUOTED_TEXT || LA567_69 == ELSE_SYMBOL || LA567_69 == EQUAL_OPERATOR || ((LA567_69 >= FOR_SYMBOL) && (LA567_69 <= FROM_SYMBOL)) || ((LA567_69 >= GREATER_OR_EQUAL_OPERATOR) && (LA567_69 <= GREATER_THAN_OPERATOR)) || ((LA567_69 >= GROUP_SYMBOL) && (LA567_69 <= HAVING_SYMBOL)) || ((LA567_69 >= HOUR_MICROSECOND_SYMBOL) && (LA567_69 <= IDENTIFIER)) || LA567_69 == INNER_SYMBOL || LA567_69 == INTO_SYMBOL || LA567_69 == IN_SYMBOL || LA567_69 == IS_SYMBOL || LA567_69 == JOIN_SYMBOL || ((LA567_69 >= LEFT_SYMBOL) && (LA567_69 <= LESS_THAN_OPERATOR)) || ((LA567_69 >= LIKE_SYMBOL) && (LA567_69 <= LIMIT_SYMBOL)) || LA567_69 == LOCK_SYMBOL || LA567_69 == LOGICAL_AND_OPERATOR || LA567_69 == LOGICAL_OR_OPERATOR || ((LA567_69 >= MINUS_OPERATOR) && (LA567_69 <= MINUTE_SECOND_SYMBOL)) || ((LA567_69 >= MOD_OPERATOR) && (LA567_69 <= MOD_SYMBOL)) || ((LA567_69 >= MULT_OPERATOR) && (LA567_69 <= NATURAL_SYMBOL)) || LA567_69 == NCHAR_TEXT || ((LA567_69 >= NOT_EQUAL2_OPERATOR) && (LA567_69 <= NOT_SYMBOL)) || LA567_69 == NULL_SAFE_EQUAL_OPERATOR || LA567_69 == ON_SYMBOL || ((LA567_69 >= ORDER_SYMBOL) && (LA567_69 <= OR_SYMBOL)) || LA567_69 == PLUS_OPERATOR || LA567_69 == PROCEDURE_SYMBOL || LA567_69 == REGEXP_SYMBOL || LA567_69 == RENAME_SYMBOL || LA567_69 == RIGHT_SYMBOL || LA567_69 == SECOND_MICROSECOND_SYMBOL || LA567_69 == SEMICOLON_SYMBOL || LA567_69 == SEPARATOR_SYMBOL || LA567_69 == SET_SYMBOL || ((LA567_69 >= SHIFT_LEFT_OPERATOR) && (LA567_69 <= SHIFT_RIGHT_OPERATOR)) || LA567_69 == SINGLE_QUOTED_TEXT || LA567_69 == STRAIGHT_JOIN_SYMBOL || LA567_69 == THEN_SYMBOL || LA567_69 == UNDERSCORE_CHARSET || LA567_69 == UNION_SYMBOL || LA567_69 == USING_SYMBOL || ((LA567_69 >= WHEN_SYMBOL) && (LA567_69 <= WHERE_SYMBOL)) || LA567_69 == WITH_SYMBOL || ((LA567_69 >= XOR_SYMBOL) && (LA567_69 <= YEAR_MONTH_SYMBOL))))
                            {
                                alt567=2;
                            }
                            else if ( (LA567_69 == OPEN_PAR_SYMBOL))
                            {
                                {
                                    int LA567_3539 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt567=3;
                                    }
                                    else if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt567=4;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


                                        CONSTRUCTEX();
                                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                        EXCEPTION->message      = (void *)"";
                                        EXCEPTION->decisionNum  = 567;
                                        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  = 567;
                                EXCEPTION->state        = 69;


                                goto ruleprimaryEx;

                            }
                        }
                    }
                    else if ( (LA567_0 == MULTIPOLYGON_SYMBOL))
                    {
                        {
                            int LA567_70 = LA(2);
                            if ( (LA567_70 == DOT_SYMBOL))
                            {
                                {
                                    int LA567_3540 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt567=2;
                                    }
                                    else if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt567=4;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


                                        CONSTRUCTEX();
                                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                        EXCEPTION->message      = (void *)"";
                                        EXCEPTION->decisionNum  = 567;
                                        EXCEPTION->state        = 3540;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA567_70 == EOF || ((LA567_70 >= ACTION_SYMBOL) && (LA567_70 <= PARTITION_SYMBOL)) || ((LA567_70 >= AND_SYMBOL) && (LA567_70 <= ASC_SYMBOL)) || LA567_70 == AS_SYMBOL || LA567_70 == BACK_TICK_QUOTED_ID || LA567_70 == BETWEEN_SYMBOL || LA567_70 == BITWISE_AND_OPERATOR || ((LA567_70 >= BITWISE_OR_OPERATOR) && (LA567_70 <= BITWISE_XOR_OPERATOR)) || ((LA567_70 >= CLOSE_CURLY_SYMBOL) && (LA567_70 <= COLLATE_SYMBOL)) || LA567_70 == COMMA_SYMBOL || LA567_70 == CONCAT_PIPES_SYMBOL || LA567_70 == CROSS_SYMBOL || ((LA567_70 >= DAY_HOUR_SYMBOL) && (LA567_70 <= DAY_SECOND_SYMBOL)) || LA567_70 == DESC_SYMBOL || ((LA567_70 >= DIV_OPERATOR) && (LA567_70 <= DIV_SYMBOL)) || LA567_70 == DOUBLE_QUOTED_TEXT || LA567_70 == ELSE_SYMBOL || LA567_70 == EQUAL_OPERATOR || ((LA567_70 >= FOR_SYMBOL) && (LA567_70 <= FROM_SYMBOL)) || ((LA567_70 >= GREATER_OR_EQUAL_OPERATOR) && (LA567_70 <= GREATER_THAN_OPERATOR)) || ((LA567_70 >= GROUP_SYMBOL) && (LA567_70 <= HAVING_SYMBOL)) || ((LA567_70 >= HOUR_MICROSECOND_SYMBOL) && (LA567_70 <= IDENTIFIER)) || LA567_70 == INNER_SYMBOL || LA567_70 == INTO_SYMBOL || LA567_70 == IN_SYMBOL || LA567_70 == IS_SYMBOL || LA567_70 == JOIN_SYMBOL || ((LA567_70 >= LEFT_SYMBOL) && (LA567_70 <= LESS_THAN_OPERATOR)) || ((LA567_70 >= LIKE_SYMBOL) && (LA567_70 <= LIMIT_SYMBOL)) || LA567_70 == LOCK_SYMBOL || LA567_70 == LOGICAL_AND_OPERATOR || LA567_70 == LOGICAL_OR_OPERATOR || ((LA567_70 >= MINUS_OPERATOR) && (LA567_70 <= MINUTE_SECOND_SYMBOL)) || ((LA567_70 >= MOD_OPERATOR) && (LA567_70 <= MOD_SYMBOL)) || ((LA567_70 >= MULT_OPERATOR) && (LA567_70 <= NATURAL_SYMBOL)) || LA567_70 == NCHAR_TEXT || ((LA567_70 >= NOT_EQUAL2_OPERATOR) && (LA567_70 <= NOT_SYMBOL)) || LA567_70 == NULL_SAFE_EQUAL_OPERATOR || LA567_70 == ON_SYMBOL || ((LA567_70 >= ORDER_SYMBOL) && (LA567_70 <= OR_SYMBOL)) || LA567_70 == PLUS_OPERATOR || LA567_70 == PROCEDURE_SYMBOL || LA567_70 == REGEXP_SYMBOL || LA567_70 == RENAME_SYMBOL || LA567_70 == RIGHT_SYMBOL || LA567_70 == SECOND_MICROSECOND_SYMBOL || LA567_70 == SEMICOLON_SYMBOL || LA567_70 == SEPARATOR_SYMBOL || LA567_70 == SET_SYMBOL || ((LA567_70 >= SHIFT_LEFT_OPERATOR) && (LA567_70 <= SHIFT_RIGHT_OPERATOR)) || LA567_70 == SINGLE_QUOTED_TEXT || LA567_70 == STRAIGHT_JOIN_SYMBOL || LA567_70 == THEN_SYMBOL || LA567_70 == UNDERSCORE_CHARSET || LA567_70 == UNION_SYMBOL || LA567_70 == USING_SYMBOL || ((LA567_70 >= WHEN_SYMBOL) && (LA567_70 <= WHERE_SYMBOL)) || LA567_70 == WITH_SYMBOL || ((LA567_70 >= XOR_SYMBOL) && (LA567_70 <= YEAR_MONTH_SYMBOL))))
                            {
                                alt567=2;
                            }
                            else if ( (LA567_70 == OPEN_PAR_SYMBOL))
                            {
                                {
                                    int LA567_3632 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt567=3;
                                    }
                                    else if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt567=4;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


                                        CONSTRUCTEX();
                                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                        EXCEPTION->message      = (void *)"";
                                        EXCEPTION->decisionNum  = 567;
                                        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  = 567;
                                EXCEPTION->state        = 70;


                                goto ruleprimaryEx;

                            }
                        }
                    }
                    else if ( (LA567_0 == POINT_SYMBOL))
                    {
                        {
                            int LA567_71 = LA(2);
                            if ( (LA567_71 == OPEN_PAR_SYMBOL))
                            {
                                {
                                    int LA567_3633 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt567=3;
                                    }
                                    else if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt567=4;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


                                        CONSTRUCTEX();
                                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                        EXCEPTION->message      = (void *)"";
                                        EXCEPTION->decisionNum  = 567;
                                        EXCEPTION->state        = 3633;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA567_71 == DOT_SYMBOL))
                            {
                                {
                                    int LA567_3634 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt567=2;
                                    }
                                    else if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt567=4;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


                                        CONSTRUCTEX();
                                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                        EXCEPTION->message      = (void *)"";
                                        EXCEPTION->decisionNum  = 567;
                                        EXCEPTION->state        = 3634;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA567_71 == EOF || ((LA567_71 >= ACTION_SYMBOL) && (LA567_71 <= PARTITION_SYMBOL)) || ((LA567_71 >= AND_SYMBOL) && (LA567_71 <= ASC_SYMBOL)) || LA567_71 == AS_SYMBOL || LA567_71 == BACK_TICK_QUOTED_ID || LA567_71 == BETWEEN_SYMBOL || LA567_71 == BITWISE_AND_OPERATOR || ((LA567_71 >= BITWISE_OR_OPERATOR) && (LA567_71 <= BITWISE_XOR_OPERATOR)) || ((LA567_71 >= CLOSE_CURLY_SYMBOL) && (LA567_71 <= COLLATE_SYMBOL)) || LA567_71 == COMMA_SYMBOL || LA567_71 == CONCAT_PIPES_SYMBOL || LA567_71 == CROSS_SYMBOL || ((LA567_71 >= DAY_HOUR_SYMBOL) && (LA567_71 <= DAY_SECOND_SYMBOL)) || LA567_71 == DESC_SYMBOL || ((LA567_71 >= DIV_OPERATOR) && (LA567_71 <= DIV_SYMBOL)) || LA567_71 == DOUBLE_QUOTED_TEXT || LA567_71 == ELSE_SYMBOL || LA567_71 == EQUAL_OPERATOR || ((LA567_71 >= FOR_SYMBOL) && (LA567_71 <= FROM_SYMBOL)) || ((LA567_71 >= GREATER_OR_EQUAL_OPERATOR) && (LA567_71 <= GREATER_THAN_OPERATOR)) || ((LA567_71 >= GROUP_SYMBOL) && (LA567_71 <= HAVING_SYMBOL)) || ((LA567_71 >= HOUR_MICROSECOND_SYMBOL) && (LA567_71 <= IDENTIFIER)) || LA567_71 == INNER_SYMBOL || LA567_71 == INTO_SYMBOL || LA567_71 == IN_SYMBOL || LA567_71 == IS_SYMBOL || LA567_71 == JOIN_SYMBOL || ((LA567_71 >= LEFT_SYMBOL) && (LA567_71 <= LESS_THAN_OPERATOR)) || ((LA567_71 >= LIKE_SYMBOL) && (LA567_71 <= LIMIT_SYMBOL)) || LA567_71 == LOCK_SYMBOL || LA567_71 == LOGICAL_AND_OPERATOR || LA567_71 == LOGICAL_OR_OPERATOR || ((LA567_71 >= MINUS_OPERATOR) && (LA567_71 <= MINUTE_SECOND_SYMBOL)) || ((LA567_71 >= MOD_OPERATOR) && (LA567_71 <= MOD_SYMBOL)) || ((LA567_71 >= MULT_OPERATOR) && (LA567_71 <= NATURAL_SYMBOL)) || LA567_71 == NCHAR_TEXT || ((LA567_71 >= NOT_EQUAL2_OPERATOR) && (LA567_71 <= NOT_SYMBOL)) || LA567_71 == NULL_SAFE_EQUAL_OPERATOR || LA567_71 == ON_SYMBOL || ((LA567_71 >= ORDER_SYMBOL) && (LA567_71 <= OR_SYMBOL)) || LA567_71 == PLUS_OPERATOR || LA567_71 == PROCEDURE_SYMBOL || LA567_71 == REGEXP_SYMBOL || LA567_71 == RENAME_SYMBOL || LA567_71 == RIGHT_SYMBOL || LA567_71 == SECOND_MICROSECOND_SYMBOL || LA567_71 == SEMICOLON_SYMBOL || LA567_71 == SEPARATOR_SYMBOL || LA567_71 == SET_SYMBOL || ((LA567_71 >= SHIFT_LEFT_OPERATOR) && (LA567_71 <= SHIFT_RIGHT_OPERATOR)) || LA567_71 == SINGLE_QUOTED_TEXT || LA567_71 == STRAIGHT_JOIN_SYMBOL || LA567_71 == THEN_SYMBOL || LA567_71 == UNDERSCORE_CHARSET || LA567_71 == UNION_SYMBOL || LA567_71 == USING_SYMBOL || ((LA567_71 >= WHEN_SYMBOL) && (LA567_71 <= WHERE_SYMBOL)) || LA567_71 == WITH_SYMBOL || ((LA567_71 >= XOR_SYMBOL) && (LA567_71 <= YEAR_MONTH_SYMBOL))))
                            {
                                alt567=2;
                            }
                            else
                            {
                                if (BACKTRACKING>0)
                                {
                                    FAILEDFLAG = ANTLR3_TRUE;
                                    return retval;
                                }


                                CONSTRUCTEX();
                                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                EXCEPTION->message      = (void *)"";
                                EXCEPTION->decisionNum  = 567;
                                EXCEPTION->state        = 71;


                                goto ruleprimaryEx;

                            }
                        }
                    }
                    else if ( (LA567_0 == POLYGON_SYMBOL))
                    {
                        {
                            int LA567_72 = LA(2);
                            if ( (LA567_72 == DOT_SYMBOL))
                            {
                                {
                                    int LA567_3726 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt567=2;
                                    }
                                    else if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt567=4;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


                                        CONSTRUCTEX();
                                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                        EXCEPTION->message      = (void *)"";
                                        EXCEPTION->decisionNum  = 567;
                                        EXCEPTION->state        = 3726;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA567_72 == EOF || ((LA567_72 >= ACTION_SYMBOL) && (LA567_72 <= PARTITION_SYMBOL)) || ((LA567_72 >= AND_SYMBOL) && (LA567_72 <= ASC_SYMBOL)) || LA567_72 == AS_SYMBOL || LA567_72 == BACK_TICK_QUOTED_ID || LA567_72 == BETWEEN_SYMBOL || LA567_72 == BITWISE_AND_OPERATOR || ((LA567_72 >= BITWISE_OR_OPERATOR) && (LA567_72 <= BITWISE_XOR_OPERATOR)) || ((LA567_72 >= CLOSE_CURLY_SYMBOL) && (LA567_72 <= COLLATE_SYMBOL)) || LA567_72 == COMMA_SYMBOL || LA567_72 == CONCAT_PIPES_SYMBOL || LA567_72 == CROSS_SYMBOL || ((LA567_72 >= DAY_HOUR_SYMBOL) && (LA567_72 <= DAY_SECOND_SYMBOL)) || LA567_72 == DESC_SYMBOL || ((LA567_72 >= DIV_OPERATOR) && (LA567_72 <= DIV_SYMBOL)) || LA567_72 == DOUBLE_QUOTED_TEXT || LA567_72 == ELSE_SYMBOL || LA567_72 == EQUAL_OPERATOR || ((LA567_72 >= FOR_SYMBOL) && (LA567_72 <= FROM_SYMBOL)) || ((LA567_72 >= GREATER_OR_EQUAL_OPERATOR) && (LA567_72 <= GREATER_THAN_OPERATOR)) || ((LA567_72 >= GROUP_SYMBOL) && (LA567_72 <= HAVING_SYMBOL)) || ((LA567_72 >= HOUR_MICROSECOND_SYMBOL) && (LA567_72 <= IDENTIFIER)) || LA567_72 == INNER_SYMBOL || LA567_72 == INTO_SYMBOL || LA567_72 == IN_SYMBOL || LA567_72 == IS_SYMBOL || LA567_72 == JOIN_SYMBOL || ((LA567_72 >= LEFT_SYMBOL) && (LA567_72 <= LESS_THAN_OPERATOR)) || ((LA567_72 >= LIKE_SYMBOL) && (LA567_72 <= LIMIT_SYMBOL)) || LA567_72 == LOCK_SYMBOL || LA567_72 == LOGICAL_AND_OPERATOR || LA567_72 == LOGICAL_OR_OPERATOR || ((LA567_72 >= MINUS_OPERATOR) && (LA567_72 <= MINUTE_SECOND_SYMBOL)) || ((LA567_72 >= MOD_OPERATOR) && (LA567_72 <= MOD_SYMBOL)) || ((LA567_72 >= MULT_OPERATOR) && (LA567_72 <= NATURAL_SYMBOL)) || LA567_72 == NCHAR_TEXT || ((LA567_72 >= NOT_EQUAL2_OPERATOR) && (LA567_72 <= NOT_SYMBOL)) || LA567_72 == NULL_SAFE_EQUAL_OPERATOR || LA567_72 == ON_SYMBOL || ((LA567_72 >= ORDER_SYMBOL) && (LA567_72 <= OR_SYMBOL)) || LA567_72 == PLUS_OPERATOR || LA567_72 == PROCEDURE_SYMBOL || LA567_72 == REGEXP_SYMBOL || LA567_72 == RENAME_SYMBOL || LA567_72 == RIGHT_SYMBOL || LA567_72 == SECOND_MICROSECOND_SYMBOL || LA567_72 == SEMICOLON_SYMBOL || LA567_72 == SEPARATOR_SYMBOL || LA567_72 == SET_SYMBOL || ((LA567_72 >= SHIFT_LEFT_OPERATOR) && (LA567_72 <= SHIFT_RIGHT_OPERATOR)) || LA567_72 == SINGLE_QUOTED_TEXT || LA567_72 == STRAIGHT_JOIN_SYMBOL || LA567_72 == THEN_SYMBOL || LA567_72 == UNDERSCORE_CHARSET || LA567_72 == UNION_SYMBOL || LA567_72 == USING_SYMBOL || ((LA567_72 >= WHEN_SYMBOL) && (LA567_72 <= WHERE_SYMBOL)) || LA567_72 == WITH_SYMBOL || ((LA567_72 >= XOR_SYMBOL) && (LA567_72 <= YEAR_MONTH_SYMBOL))))
                            {
                                alt567=2;
                            }
                            else if ( (LA567_72 == OPEN_PAR_SYMBOL))
                            {
                                {
                                    int LA567_3818 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt567=3;
                                    }
                                    else if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt567=4;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


                                        CONSTRUCTEX();
                                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                        EXCEPTION->message      = (void *)"";
                                        EXCEPTION->decisionNum  = 567;
                                        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  = 567;
                                EXCEPTION->state        = 72;


                                goto ruleprimaryEx;

                            }
                        }
                    }
                    else if ( (LA567_0 == AVG_SYMBOL))
                    {
                        {
                            int LA567_73 = LA(2);
                            if ( (LA567_73 == OPEN_PAR_SYMBOL))
                            {
                                {
                                    int LA567_3819 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt567=3;
                                    }
                                    else if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt567=4;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


                                        CONSTRUCTEX();
                                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                        EXCEPTION->message      = (void *)"";
                                        EXCEPTION->decisionNum  = 567;
                                        EXCEPTION->state        = 3819;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA567_73 == DOT_SYMBOL))
                            {
                                {
                                    int LA567_3820 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt567=2;
                                    }
                                    else if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt567=4;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


                                        CONSTRUCTEX();
                                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                        EXCEPTION->message      = (void *)"";
                                        EXCEPTION->decisionNum  = 567;
                                        EXCEPTION->state        = 3820;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA567_73 == EOF || ((LA567_73 >= ACTION_SYMBOL) && (LA567_73 <= PARTITION_SYMBOL)) || ((LA567_73 >= AND_SYMBOL) && (LA567_73 <= ASC_SYMBOL)) || LA567_73 == AS_SYMBOL || LA567_73 == BACK_TICK_QUOTED_ID || LA567_73 == BETWEEN_SYMBOL || LA567_73 == BITWISE_AND_OPERATOR || ((LA567_73 >= BITWISE_OR_OPERATOR) && (LA567_73 <= BITWISE_XOR_OPERATOR)) || ((LA567_73 >= CLOSE_CURLY_SYMBOL) && (LA567_73 <= COLLATE_SYMBOL)) || LA567_73 == COMMA_SYMBOL || LA567_73 == CONCAT_PIPES_SYMBOL || LA567_73 == CROSS_SYMBOL || ((LA567_73 >= DAY_HOUR_SYMBOL) && (LA567_73 <= DAY_SECOND_SYMBOL)) || LA567_73 == DESC_SYMBOL || ((LA567_73 >= DIV_OPERATOR) && (LA567_73 <= DIV_SYMBOL)) || LA567_73 == DOUBLE_QUOTED_TEXT || LA567_73 == ELSE_SYMBOL || LA567_73 == EQUAL_OPERATOR || ((LA567_73 >= FOR_SYMBOL) && (LA567_73 <= FROM_SYMBOL)) || ((LA567_73 >= GREATER_OR_EQUAL_OPERATOR) && (LA567_73 <= GREATER_THAN_OPERATOR)) || ((LA567_73 >= GROUP_SYMBOL) && (LA567_73 <= HAVING_SYMBOL)) || ((LA567_73 >= HOUR_MICROSECOND_SYMBOL) && (LA567_73 <= IDENTIFIER)) || LA567_73 == INNER_SYMBOL || LA567_73 == INTO_SYMBOL || LA567_73 == IN_SYMBOL || LA567_73 == IS_SYMBOL || LA567_73 == JOIN_SYMBOL || ((LA567_73 >= LEFT_SYMBOL) && (LA567_73 <= LESS_THAN_OPERATOR)) || ((LA567_73 >= LIKE_SYMBOL) && (LA567_73 <= LIMIT_SYMBOL)) || LA567_73 == LOCK_SYMBOL || LA567_73 == LOGICAL_AND_OPERATOR || LA567_73 == LOGICAL_OR_OPERATOR || ((LA567_73 >= MINUS_OPERATOR) && (LA567_73 <= MINUTE_SECOND_SYMBOL)) || ((LA567_73 >= MOD_OPERATOR) && (LA567_73 <= MOD_SYMBOL)) || ((LA567_73 >= MULT_OPERATOR) && (LA567_73 <= NATURAL_SYMBOL)) || LA567_73 == NCHAR_TEXT || ((LA567_73 >= NOT_EQUAL2_OPERATOR) && (LA567_73 <= NOT_SYMBOL)) || LA567_73 == NULL_SAFE_EQUAL_OPERATOR || LA567_73 == ON_SYMBOL || ((LA567_73 >= ORDER_SYMBOL) && (LA567_73 <= OR_SYMBOL)) || LA567_73 == PLUS_OPERATOR || LA567_73 == PROCEDURE_SYMBOL || LA567_73 == REGEXP_SYMBOL || LA567_73 == RENAME_SYMBOL || LA567_73 == RIGHT_SYMBOL || LA567_73 == SECOND_MICROSECOND_SYMBOL || LA567_73 == SEMICOLON_SYMBOL || LA567_73 == SEPARATOR_SYMBOL || LA567_73 == SET_SYMBOL || ((LA567_73 >= SHIFT_LEFT_OPERATOR) && (LA567_73 <= SHIFT_RIGHT_OPERATOR)) || LA567_73 == SINGLE_QUOTED_TEXT || LA567_73 == STRAIGHT_JOIN_SYMBOL || LA567_73 == THEN_SYMBOL || LA567_73 == UNDERSCORE_CHARSET || LA567_73 == UNION_SYMBOL || LA567_73 == USING_SYMBOL || ((LA567_73 >= WHEN_SYMBOL) && (LA567_73 <= WHERE_SYMBOL)) || LA567_73 == WITH_SYMBOL || ((LA567_73 >= XOR_SYMBOL) && (LA567_73 <= YEAR_MONTH_SYMBOL))))
                            {
                                alt567=2;
                            }
                            else
                            {
                                if (BACKTRACKING>0)
                                {
                                    FAILEDFLAG = ANTLR3_TRUE;
                                    return retval;
                                }


                                CONSTRUCTEX();
                                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                EXCEPTION->message      = (void *)"";
                                EXCEPTION->decisionNum  = 567;
                                EXCEPTION->state        = 73;


                                goto ruleprimaryEx;

                            }
                        }
                    }
                    else if ( (LA567_0 == ROW_SYMBOL))
                    {
                        {
                            int LA567_74 = LA(2);
                            if ( (LA567_74 == DOT_SYMBOL))
                            {
                                {
                                    int LA567_3912 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt567=2;
                                    }
                                    else if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt567=4;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


                                        CONSTRUCTEX();
                                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                        EXCEPTION->message      = (void *)"";
                                        EXCEPTION->decisionNum  = 567;
                                        EXCEPTION->state        = 3912;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA567_74 == EOF || ((LA567_74 >= ACTION_SYMBOL) && (LA567_74 <= PARTITION_SYMBOL)) || ((LA567_74 >= AND_SYMBOL) && (LA567_74 <= ASC_SYMBOL)) || LA567_74 == AS_SYMBOL || LA567_74 == BACK_TICK_QUOTED_ID || LA567_74 == BETWEEN_SYMBOL || LA567_74 == BITWISE_AND_OPERATOR || ((LA567_74 >= BITWISE_OR_OPERATOR) && (LA567_74 <= BITWISE_XOR_OPERATOR)) || ((LA567_74 >= CLOSE_CURLY_SYMBOL) && (LA567_74 <= COLLATE_SYMBOL)) || LA567_74 == COMMA_SYMBOL || LA567_74 == CONCAT_PIPES_SYMBOL || LA567_74 == CROSS_SYMBOL || ((LA567_74 >= DAY_HOUR_SYMBOL) && (LA567_74 <= DAY_SECOND_SYMBOL)) || LA567_74 == DESC_SYMBOL || ((LA567_74 >= DIV_OPERATOR) && (LA567_74 <= DIV_SYMBOL)) || LA567_74 == DOUBLE_QUOTED_TEXT || LA567_74 == ELSE_SYMBOL || LA567_74 == EQUAL_OPERATOR || ((LA567_74 >= FOR_SYMBOL) && (LA567_74 <= FROM_SYMBOL)) || ((LA567_74 >= GREATER_OR_EQUAL_OPERATOR) && (LA567_74 <= GREATER_THAN_OPERATOR)) || ((LA567_74 >= GROUP_SYMBOL) && (LA567_74 <= HAVING_SYMBOL)) || ((LA567_74 >= HOUR_MICROSECOND_SYMBOL) && (LA567_74 <= IDENTIFIER)) || LA567_74 == INNER_SYMBOL || LA567_74 == INTO_SYMBOL || LA567_74 == IN_SYMBOL || LA567_74 == IS_SYMBOL || LA567_74 == JOIN_SYMBOL || ((LA567_74 >= LEFT_SYMBOL) && (LA567_74 <= LESS_THAN_OPERATOR)) || ((LA567_74 >= LIKE_SYMBOL) && (LA567_74 <= LIMIT_SYMBOL)) || LA567_74 == LOCK_SYMBOL || LA567_74 == LOGICAL_AND_OPERATOR || LA567_74 == LOGICAL_OR_OPERATOR || ((LA567_74 >= MINUS_OPERATOR) && (LA567_74 <= MINUTE_SECOND_SYMBOL)) || ((LA567_74 >= MOD_OPERATOR) && (LA567_74 <= MOD_SYMBOL)) || ((LA567_74 >= MULT_OPERATOR) && (LA567_74 <= NATURAL_SYMBOL)) || LA567_74 == NCHAR_TEXT || ((LA567_74 >= NOT_EQUAL2_OPERATOR) && (LA567_74 <= NOT_SYMBOL)) || LA567_74 == NULL_SAFE_EQUAL_OPERATOR || LA567_74 == ON_SYMBOL || ((LA567_74 >= ORDER_SYMBOL) && (LA567_74 <= OR_SYMBOL)) || LA567_74 == PLUS_OPERATOR || LA567_74 == PROCEDURE_SYMBOL || LA567_74 == REGEXP_SYMBOL || LA567_74 == RENAME_SYMBOL || LA567_74 == RIGHT_SYMBOL || LA567_74 == SECOND_MICROSECOND_SYMBOL || LA567_74 == SEMICOLON_SYMBOL || LA567_74 == SEPARATOR_SYMBOL || LA567_74 == SET_SYMBOL || ((LA567_74 >= SHIFT_LEFT_OPERATOR) && (LA567_74 <= SHIFT_RIGHT_OPERATOR)) || LA567_74 == SINGLE_QUOTED_TEXT || LA567_74 == STRAIGHT_JOIN_SYMBOL || LA567_74 == THEN_SYMBOL || LA567_74 == UNDERSCORE_CHARSET || LA567_74 == UNION_SYMBOL || LA567_74 == USING_SYMBOL || ((LA567_74 >= WHEN_SYMBOL) && (LA567_74 <= WHERE_SYMBOL)) || LA567_74 == WITH_SYMBOL || ((LA567_74 >= XOR_SYMBOL) && (LA567_74 <= YEAR_MONTH_SYMBOL))))
                            {
                                alt567=2;
                            }
                            else if ( (LA567_74 == OPEN_PAR_SYMBOL))
                            {
                                {
                                    int LA567_4004 = LA(3);
                                    if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt567=4;
                                    }
                                    else if ( (ANTLR3_TRUE))
                                    {
                                        alt567=9;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


                                        CONSTRUCTEX();
                                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                        EXCEPTION->message      = (void *)"";
                                        EXCEPTION->decisionNum  = 567;
                                        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  = 567;
                                EXCEPTION->state        = 74;


                                goto ruleprimaryEx;

                            }
                        }
                    }
                    else if ( (LA567_0 == PARAM_MARKER))
                    {
                        alt567=5;
                    }
                    else if ( (((LA567_0 >= AT_AT_SIGN_SYMBOL) && (LA567_0 <= AT_SIGN_SYMBOL))))
                    {
                        alt567=6;
                    }
                    else if ( (LA567_0 == OPEN_PAR_SYMBOL))
                    {
                        {
                            int LA567_90 = LA(2);
                            if ( (LA567_90 == SELECT_SYMBOL))
                            {
                                alt567=7;
                            }
                            else if ( (((LA567_90 >= ACTION_SYMBOL) && (LA567_90 <= PARTITION_SYMBOL)) || ((LA567_90 >= AT_AT_SIGN_SYMBOL) && (LA567_90 <= AT_SIGN_SYMBOL)) || LA567_90 == BACK_TICK_QUOTED_ID || LA567_90 == BINARY_SYMBOL || ((LA567_90 >= BITNUMBER) && (LA567_90 <= BITSTRING)) || LA567_90 == BITWISE_NOT_OPERATOR || ((LA567_90 >= BIT_AND_SYMBOL) && (LA567_90 <= BIT_XOR_SYMBOL)) || ((LA567_90 >= CASE_SYMBOL) && (LA567_90 <= CAST_SYMBOL)) || LA567_90 == CHAR_SYMBOL || ((LA567_90 >= CONVERT_SYMBOL) && (LA567_90 <= COUNT_SYMBOL)) || LA567_90 == CURDATE_SYMBOL || LA567_90 == CURRENT_USER_SYMBOL || LA567_90 == CURTIME_SYMBOL || LA567_90 == DATABASE_SYMBOL || LA567_90 == DATE_ADD_SYMBOL || LA567_90 == DATE_SUB_SYMBOL || LA567_90 == DOT_SYMBOL || LA567_90 == DOUBLE_QUOTED_TEXT || LA567_90 == EXISTS_SYMBOL || ((LA567_90 >= EXTRACT_SYMBOL) && (LA567_90 <= FALSE_SYMBOL)) || LA567_90 == FLOAT || LA567_90 == GROUP_CONCAT_SYMBOL || ((LA567_90 >= HEXNUMBER) && (LA567_90 <= HEXSTRING)) || ((LA567_90 >= IDENTIFIER) && (LA567_90 <= IF_SYMBOL)) || LA567_90 == INSERT_SYMBOL || LA567_90 == INTEGER || LA567_90 == INTERVAL_SYMBOL || LA567_90 == LEFT_SYMBOL || LA567_90 == LOGICAL_NOT_OPERATOR || LA567_90 == MATCH_SYMBOL || LA567_90 == MAX_SYMBOL || LA567_90 == MINUS_OPERATOR || LA567_90 == MIN_SYMBOL || LA567_90 == MOD_SYMBOL || LA567_90 == NCHAR_TEXT || LA567_90 == NOT2_SYMBOL || ((LA567_90 >= NOT_SYMBOL) && (LA567_90 <= NOW_SYMBOL)) || LA567_90 == NULL2_SYMBOL || LA567_90 == NULL_SYMBOL || ((LA567_90 >= OPEN_CURLY_SYMBOL) && (LA567_90 <= OPEN_PAR_SYMBOL)) || LA567_90 == PARAM_MARKER || ((LA567_90 >= PLUS_OPERATOR) && (LA567_90 <= POSITION_SYMBOL)) || ((LA567_90 >= REPEAT_SYMBOL) && (LA567_90 <= REPLACE_SYMBOL)) || LA567_90 == RIGHT_SYMBOL || LA567_90 == SINGLE_QUOTED_TEXT || LA567_90 == STDDEV_SAMP_SYMBOL || LA567_90 == STD_SYMBOL || LA567_90 == SUBSTRING_SYMBOL || ((LA567_90 >= SUM_SYMBOL) && (LA567_90 <= SYSDATE_SYMBOL)) || ((LA567_90 >= TRIM_SYMBOL) && (LA567_90 <= TRUE_SYMBOL)) || LA567_90 == UNDERSCORE_CHARSET || ((LA567_90 >= UTC_DATE_SYMBOL) && (LA567_90 <= VALUES_SYMBOL)) || LA567_90 == VARIANCE_SYMBOL || LA567_90 == VAR_SAMP_SYMBOL))
                            {
                                alt567=9;
                            }
                            else
                            {
                                if (BACKTRACKING>0)
                                {
                                    FAILEDFLAG = ANTLR3_TRUE;
                                    return retval;
                                }


                                CONSTRUCTEX();
                                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                EXCEPTION->message      = (void *)"";
                                EXCEPTION->decisionNum  = 567;
                                EXCEPTION->state        = 90;


                                goto ruleprimaryEx;

                            }
                        }
                    }
                    else if ( (LA567_0 == EXISTS_SYMBOL))
                    {
                        alt567=8;
                    }
                    else if ( (LA567_0 == ACTION_SYMBOL || ((LA567_0 >= AFTER_SYMBOL) && (LA567_0 <= AVG_ROW_LENGTH_SYMBOL)) || ((LA567_0 >= BINLOG_SYMBOL) && (LA567_0 <= CLIENT_SYMBOL)) || LA567_0 == CODE_SYMBOL || ((LA567_0 >= COLUMNS_SYMBOL) && (LA567_0 <= DATETIME_SYMBOL)) || ((LA567_0 >= DEFAULT_AUTH_SYMBOL) && (LA567_0 <= GENERAL_SYMBOL)) || LA567_0 == GEOMETRY_SYMBOL || ((LA567_0 >= GLOBAL_SYMBOL) && (LA567_0 <= HOSTS_SYMBOL)) || ((LA567_0 >= IDENTIFIED_SYMBOL) && (LA567_0 <= LEVEL_SYMBOL)) || ((LA567_0 >= LIST_SYMBOL) && (LA567_0 <= MESSAGE_TEXT_SYMBOL)) || LA567_0 == MIGRATE_SYMBOL || ((LA567_0 >= MIN_ROWS_SYMBOL) && (LA567_0 <= MODIFY_SYMBOL)) || ((LA567_0 >= MUTEX_SYMBOL) && (LA567_0 <= OFFSET_SYMBOL)) || ((LA567_0 >= ONE_SHOT_SYMBOL) && (LA567_0 <= PARTITIONS_SYMBOL)) || ((LA567_0 >= PHASE_SYMBOL) && (LA567_0 <= PLUGIN_SYMBOL)) || ((LA567_0 >= PRESERVE_SYMBOL) && (LA567_0 <= PROXY_SYMBOL)) || ((LA567_0 >= QUERY_SYMBOL) && (LA567_0 <= RETURNS_SYMBOL)) || ((LA567_0 >= ROLLUP_SYMBOL) && (LA567_0 <= ROWS_SYMBOL)) || LA567_0 == ROW_FORMAT_SYMBOL || ((LA567_0 >= RTREE_SYMBOL) && (LA567_0 <= SCHEMA_NAME_SYMBOL)) || ((LA567_0 >= SERIALIZABLE_SYMBOL) && (LA567_0 <= SUBCLASS_ORIGIN_SYMBOL)) || ((LA567_0 >= SUBJECT_SYMBOL) && (LA567_0 <= THAN_SYMBOL)) || ((LA567_0 >= TRANSACTION_SYMBOL) && (LA567_0 <= USER_RESOURCES_SYMBOL)) || ((LA567_0 >= USE_FRM_SYMBOL) && (LA567_0 <= WARNINGS_SYMBOL)) || ((LA567_0 >= WORK_SYMBOL) && (LA567_0 <= XML_SYMBOL))))
                    {
                        {
                            int LA567_92 = LA(2);
                            if ( (LA567_92 == DOT_SYMBOL))
                            {
                                {
                                    int LA567_4108 = LA(3);
                                    if ( (ANTLR3_TRUE))
                                    {
                                        alt567=2;
                                    }
                                    else if ( (synpred3_MySQL(ctx)))
                                    {
                                        alt567=4;
                                    }
                                    else
                                    {
                                        if (BACKTRACKING>0)
                                        {
                                            FAILEDFLAG = ANTLR3_TRUE;
                                            return retval;
                                        }


                                        CONSTRUCTEX();
                                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                        EXCEPTION->message      = (void *)"";
                                        EXCEPTION->decisionNum  = 567;
                                        EXCEPTION->state        = 4108;


                                        goto ruleprimaryEx;

                                    }
                                }
                            }
                            else if ( (LA567_92 == EOF || ((LA567_92 >= ACTION_SYMBOL) && (LA567_92 <= PARTITION_SYMBOL)) || ((LA567_92 >= AND_SYMBOL) && (LA567_92 <= ASC_SYMBOL)) || LA567_92 == AS_SYMBOL || LA567_92 == BACK_TICK_QUOTED_ID || LA567_92 == BETWEEN_SYMBOL || LA567_92 == BITWISE_AND_OPERATOR || ((LA567_92 >= BITWISE_OR_OPERATOR) && (LA567_92 <= BITWISE_XOR_OPERATOR)) || ((LA567_92 >= CLOSE_CURLY_SYMBOL) && (LA567_92 <= COLLATE_SYMBOL)) || LA567_92 == COMMA_SYMBOL || LA567_92 == CONCAT_PIPES_SYMBOL || LA567_92 == CROSS_SYMBOL || ((LA567_92 >= DAY_HOUR_SYMBOL) && (LA567_92 <= DAY_SECOND_SYMBOL)) || LA567_92 == DESC_SYMBOL || ((LA567_92 >= DIV_OPERATOR) && (LA567_92 <= DIV_SYMBOL)) || LA567_92 == DOUBLE_QUOTED_TEXT || LA567_92 == ELSE_SYMBOL || LA567_92 == EQUAL_OPERATOR || ((LA567_92 >= FOR_SYMBOL) && (LA567_92 <= FROM_SYMBOL)) || ((LA567_92 >= GREATER_OR_EQUAL_OPERATOR) && (LA567_92 <= GREATER_THAN_OPERATOR)) || ((LA567_92 >= GROUP_SYMBOL) && (LA567_92 <= HAVING_SYMBOL)) || ((LA567_92 >= HOUR_MICROSECOND_SYMBOL) && (LA567_92 <= IDENTIFIER)) || LA567_92 == INNER_SYMBOL || LA567_92 == INTO_SYMBOL || LA567_92 == IN_SYMBOL || LA567_92 == IS_SYMBOL || LA567_92 == JOIN_SYMBOL || ((LA567_92 >= LEFT_SYMBOL) && (LA567_92 <= LESS_THAN_OPERATOR)) || ((LA567_92 >= LIKE_SYMBOL) && (LA567_92 <= LIMIT_SYMBOL)) || LA567_92 == LOCK_SYMBOL || LA567_92 == LOGICAL_AND_OPERATOR || LA567_92 == LOGICAL_OR_OPERATOR || ((LA567_92 >= MINUS_OPERATOR) && (LA567_92 <= MINUTE_SECOND_SYMBOL)) || ((LA567_92 >= MOD_OPERATOR) && (LA567_92 <= MOD_SYMBOL)) || ((LA567_92 >= MULT_OPERATOR) && (LA567_92 <= NATURAL_SYMBOL)) || LA567_92 == NCHAR_TEXT || ((LA567_92 >= NOT_EQUAL2_OPERATOR) && (LA567_92 <= NOT_SYMBOL)) || LA567_92 == NULL_SAFE_EQUAL_OPERATOR || LA567_92 == ON_SYMBOL || ((LA567_92 >= ORDER_SYMBOL) && (LA567_92 <= OR_SYMBOL)) || LA567_92 == PLUS_OPERATOR || LA567_92 == PROCEDURE_SYMBOL || LA567_92 == REGEXP_SYMBOL || LA567_92 == RENAME_SYMBOL || LA567_92 == RIGHT_SYMBOL || LA567_92 == SECOND_MICROSECOND_SYMBOL || LA567_92 == SEMICOLON_SYMBOL || LA567_92 == SEPARATOR_SYMBOL || LA567_92 == SET_SYMBOL || ((LA567_92 >= SHIFT_LEFT_OPERATOR) && (LA567_92 <= SHIFT_RIGHT_OPERATOR)) || LA567_92 == SINGLE_QUOTED_TEXT || LA567_92 == STRAIGHT_JOIN_SYMBOL || LA567_92 == THEN_SYMBOL || LA567_92 == UNDERSCORE_CHARSET || LA567_92 == UNION_SYMBOL || LA567_92 == USING_SYMBOL || ((LA567_92 >= WHEN_SYMBOL) && (LA567_92 <= WHERE_SYMBOL)) || LA567_92 == WITH_SYMBOL || ((LA567_92 >= XOR_SYMBOL) && (LA567_92 <= YEAR_MONTH_SYMBOL))))
                            {
                                alt567=2;
                            }
                            else if ( (synpred3_MySQL(ctx)) && (LA567_92 == OPEN_PAR_SYMBOL))
                            {
                                alt567=4;
                            }
                            else
                            {
                                if (BACKTRACKING>0)
                                {
                                    FAILEDFLAG = ANTLR3_TRUE;
                                    return retval;
                                }


                                CONSTRUCTEX();
                                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                EXCEPTION->message      = (void *)"";
                                EXCEPTION->decisionNum  = 567;
                                EXCEPTION->state        = 92;


                                goto ruleprimaryEx;

                            }
                        }
                    }
                    else if ( (LA567_0 == OPEN_CURLY_SYMBOL))
                    {
                        alt567=10;
                    }
                    else if ( (LA567_0 == MATCH_SYMBOL))
                    {
                        alt567=11;
                    }
                    else if ( (LA567_0 == CASE_SYMBOL))
                    {
                        alt567=12;
                    }
                    else if ( (LA567_0 == BINARY_SYMBOL || LA567_0 == CAST_SYMBOL || LA567_0 == CONVERT_SYMBOL))
                    {
                        alt567=13;
                    }
                    else
                    {
                        if (BACKTRACKING>0)
                        {
                            FAILEDFLAG = ANTLR3_TRUE;
                            return retval;
                        }


                        CONSTRUCTEX();
                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                        EXCEPTION->message      = (void *)"";
                        EXCEPTION->decisionNum  = 567;
                        EXCEPTION->state        = 0;


                        goto ruleprimaryEx;

                    }
                }
                switch (alt567)
                {
            	case 1:
            	    // MySQL.g:1755:3: literal
            	    {
            	        FOLLOWPUSH(FOLLOW_literal_in_primary9882);
            	        literal1810=literal(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleprimaryEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, literal1810.tree);

            	    }
            	    break;
            	case 2:
            	    // MySQL.g:1756:5: field_name
            	    {
            	        FOLLOWPUSH(FOLLOW_field_name_in_primary9888);
            	        field_name1811=field_name(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleprimaryEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, field_name1811.tree);

            	    }
            	    break;
            	case 3:
            	    // MySQL.g:1757:5: function_call_expression
            	    {
            	        FOLLOWPUSH(FOLLOW_function_call_expression_in_primary9894);
            	        function_call_expression1812=function_call_expression(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleprimaryEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, function_call_expression1812.tree);

            	    }
            	    break;
            	case 4:
            	    // MySQL.g:1758:5: ( qualified_identifier OPEN_PAR_SYMBOL )=> generic_function_call
            	    {
            	        FOLLOWPUSH(FOLLOW_generic_function_call_in_primary9908);
            	        generic_function_call1813=generic_function_call(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleprimaryEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, generic_function_call1813.tree);

            	    }
            	    break;
            	case 5:
            	    // MySQL.g:1759:5: PARAM_MARKER
            	    {
            	        PARAM_MARKER1814 = (pANTLR3_COMMON_TOKEN) MATCHT(PARAM_MARKER, &FOLLOW_PARAM_MARKER_in_primary9914);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleprimaryEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        PARAM_MARKER1814_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, PARAM_MARKER1814));
            	        ADAPTOR->addChild(ADAPTOR, root_0, PARAM_MARKER1814_tree);
            	        }

            	    }
            	    break;
            	case 6:
            	    // MySQL.g:1760:5: variable
            	    {
            	        FOLLOWPUSH(FOLLOW_variable_in_primary9920);
            	        variable1815=variable(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleprimaryEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, variable1815.tree);

            	    }
            	    break;
            	case 7:
            	    // MySQL.g:1761: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_primary9928);
            	        subquery1816=subquery(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleprimaryEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, subquery1816.tree);

            	    }
            	    break;
            	case 8:
            	    // MySQL.g:1762:5: EXISTS_SYMBOL subquery
            	    {
            	        EXISTS_SYMBOL1817 = (pANTLR3_COMMON_TOKEN) MATCHT(EXISTS_SYMBOL, &FOLLOW_EXISTS_SYMBOL_in_primary9934);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleprimaryEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        EXISTS_SYMBOL1817_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EXISTS_SYMBOL1817));
            	        ADAPTOR->addChild(ADAPTOR, root_0, EXISTS_SYMBOL1817_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_subquery_in_primary9936);
            	        subquery1818=subquery(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleprimaryEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, subquery1818.tree);

            	    }
            	    break;
            	case 9:
            	    // MySQL.g:1763:5: ( ROW_SYMBOL )? expression_list_with_parentheses
            	    {
            	        // MySQL.g:1763:5: ( ROW_SYMBOL )?
            	        {
            	            int alt566=2;
            	            switch ( LA(1) )
            	            {
            	                case ROW_SYMBOL:
            	                	{
            	                		alt566=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt566)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1763:5: ROW_SYMBOL
            	        	    {
            	        	        ROW_SYMBOL1819 = (pANTLR3_COMMON_TOKEN) MATCHT(ROW_SYMBOL, &FOLLOW_ROW_SYMBOL_in_primary9942);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleprimaryEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        ROW_SYMBOL1819_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ROW_SYMBOL1819));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, ROW_SYMBOL1819_tree);
            	        	        }

            	        	    }
            	        	    break;

            	            }
            	        }

            	        FOLLOWPUSH(FOLLOW_expression_list_with_parentheses_in_primary9945);
            	        expression_list_with_parentheses1820=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_parentheses1820.tree);

            	    }
            	    break;
            	case 10:
            	    // MySQL.g:1764:5: OPEN_CURLY_SYMBOL identifier expression CLOSE_CURLY_SYMBOL
            	    {
            	        OPEN_CURLY_SYMBOL1821 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_CURLY_SYMBOL, &FOLLOW_OPEN_CURLY_SYMBOL_in_primary9951);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleprimaryEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        OPEN_CURLY_SYMBOL1821_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_CURLY_SYMBOL1821));
            	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_CURLY_SYMBOL1821_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_identifier_in_primary9953);
            	        identifier1822=identifier(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleprimaryEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier1822.tree);

            	        FOLLOWPUSH(FOLLOW_expression_in_primary9955);
            	        expression1823=expression(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleprimaryEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression1823.tree);

            	        CLOSE_CURLY_SYMBOL1824 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_CURLY_SYMBOL, &FOLLOW_CLOSE_CURLY_SYMBOL_in_primary9957);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleprimaryEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        CLOSE_CURLY_SYMBOL1824_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_CURLY_SYMBOL1824));
            	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_CURLY_SYMBOL1824_tree);
            	        }

            	    }
            	    break;
            	case 11:
            	    // MySQL.g:1765:5: match_expression
            	    {
            	        FOLLOWPUSH(FOLLOW_match_expression_in_primary9963);
            	        match_expression1825=match_expression(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleprimaryEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, match_expression1825.tree);

            	    }
            	    break;
            	case 12:
            	    // MySQL.g:1766:5: case_expression
            	    {
            	        FOLLOWPUSH(FOLLOW_case_expression_in_primary9969);
            	        case_expression1826=case_expression(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleprimaryEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, case_expression1826.tree);

            	    }
            	    break;
            	case 13:
            	    // MySQL.g:1767:5: cast_expression
            	    {
            	        FOLLOWPUSH(FOLLOW_cast_expression_in_primary9975);
            	        cast_expression1827=cast_expression(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleprimaryEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, cast_expression1827.tree);

            	    }
            	    break;

                }
            }

            // MySQL.g:1770:2: ( options {greedy=true; } : COLLATE_SYMBOL text_or_identifier )*

            for (;;)
            {
                int alt568=2;
                switch ( LA(1) )
                {
                case COLLATE_SYMBOL:
                	{
                		alt568=1;
                	}
                    break;

                }

                switch (alt568)
                {
            	case 1:
            	    // MySQL.g:1770:32: COLLATE_SYMBOL text_or_identifier
            	    {
            	        COLLATE_SYMBOL1828 = (pANTLR3_COMMON_TOKEN) MATCHT(COLLATE_SYMBOL, &FOLLOW_COLLATE_SYMBOL_in_primary9997);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleprimaryEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        COLLATE_SYMBOL1828_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COLLATE_SYMBOL1828));
            	        ADAPTOR->addChild(ADAPTOR, root_0, COLLATE_SYMBOL1828_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_text_or_identifier_in_primary9999);
            	        text_or_identifier1829=text_or_identifier(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleprimaryEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, text_or_identifier1829.tree);

            	    }
            	    break;

            	default:
            	    goto loop568;	/* break out of the loop */
            	    break;
                }
            }
            loop568: ; /* 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:1773: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    set1830;

    pANTLR3_BASE_TREE set1830_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    set1830       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    set1830_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1773: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));


            set1830=(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, set1830))
                );
                PERRORRECOVERY=ANTLR3_FALSE;
                FAILEDFLAG=ANTLR3_FALSE;

            }
            else
            {
                if (BACKTRACKING>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:1778: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    set1831;

    pANTLR3_BASE_TREE set1831_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    set1831       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    set1831_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1778:24: ( MULT_OPERATOR | DIV_OPERATOR | DIV_SYMBOL | MOD_OPERATOR | MOD_SYMBOL )
        // MySQL.g:
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            set1831=(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, set1831))
                );
                PERRORRECOVERY=ANTLR3_FALSE;
                FAILEDFLAG=ANTLR3_FALSE;

            }
            else
            {
                if (BACKTRACKING>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:1784: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_call1832;
    #undef	RETURN_TYPE_function_call1832
    #define	RETURN_TYPE_function_call1832 MySQLParser_function_call_return

    pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_function_call;
    /* Initialize rule variables
     */

    root_0 = NULL;

    function_call1832.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:1784:25: ( function_call -> ^( FUNCTION_CALL function_call ) )
        // MySQL.g:1785:2: function_call
        {
            FOLLOWPUSH(FOLLOW_function_call_in_function_call_expression10076);
            function_call1832=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_call1832.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;
            	// 1785:16: -> ^( FUNCTION_CALL function_call )
            	{
            	    // MySQL.g:1785: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:1788: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_SYMBOL1833;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL1834;
    pANTLR3_COMMON_TOKEN    USING_SYMBOL1836;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL1838;
    pANTLR3_COMMON_TOKEN    CURRENT_USER_SYMBOL1839;
    pANTLR3_COMMON_TOKEN    DATE_SYMBOL1841;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL1842;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL1844;
    pANTLR3_COMMON_TOKEN    DAY_SYMBOL1845;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL1846;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL1848;
    pANTLR3_COMMON_TOKEN    HOUR_SYMBOL1849;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL1850;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL1852;
    pANTLR3_COMMON_TOKEN    INSERT_SYMBOL1853;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL1854;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL1856;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL1858;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL1860;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL1862;
    pANTLR3_COMMON_TOKEN    LEFT_SYMBOL1863;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL1864;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL1866;
    pANTLR3_COMMON_TOKEN    INTEGER1867;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL1868;
    pANTLR3_COMMON_TOKEN    MINUTE_SYMBOL1869;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL1870;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL1872;
    pANTLR3_COMMON_TOKEN    MONTH_SYMBOL1873;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL1874;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL1876;
    pANTLR3_COMMON_TOKEN    RIGHT_SYMBOL1877;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL1878;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL1880;
    pANTLR3_COMMON_TOKEN    INTEGER1881;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL1882;
    pANTLR3_COMMON_TOKEN    SECOND_SYMBOL1883;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL1884;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL1886;
    pANTLR3_COMMON_TOKEN    TIME_SYMBOL1887;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL1888;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL1890;
    pANTLR3_COMMON_TOKEN    TIMESTAMP_SYMBOL1891;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL1892;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL1894;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL1896;
    pANTLR3_COMMON_TOKEN    USER_SYMBOL1898;
    pANTLR3_COMMON_TOKEN    VALUES_SYMBOL1900;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL1901;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL1903;
    pANTLR3_COMMON_TOKEN    YEAR_SYMBOL1904;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL1905;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL1907;
    pANTLR3_COMMON_TOKEN    set1908;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL1909;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL1911;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL1913;
    pANTLR3_COMMON_TOKEN    CURDATE_SYMBOL1914;
    pANTLR3_COMMON_TOKEN    CURTIME_SYMBOL1916;
    pANTLR3_COMMON_TOKEN    set1918;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL1919;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL1921;
    pANTLR3_COMMON_TOKEN    INTERVAL_SYMBOL1922;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL1924;
    pANTLR3_COMMON_TOKEN    EXTRACT_SYMBOL1925;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL1926;
    pANTLR3_COMMON_TOKEN    FROM_SYMBOL1928;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL1930;
    pANTLR3_COMMON_TOKEN    GET_FORMAT_SYMBOL1931;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL1932;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL1934;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL1936;
    pANTLR3_COMMON_TOKEN    NOW_SYMBOL1937;
    pANTLR3_COMMON_TOKEN    POSITION_SYMBOL1939;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL1940;
    pANTLR3_COMMON_TOKEN    IN_SYMBOL1942;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL1944;
    pANTLR3_COMMON_TOKEN    SYSDATE_SYMBOL1946;
    pANTLR3_COMMON_TOKEN    set1948;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL1949;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL1951;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL1953;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL1955;
    pANTLR3_COMMON_TOKEN    UTC_DATE_SYMBOL1956;
    pANTLR3_COMMON_TOKEN    UTC_TIME_SYMBOL1958;
    pANTLR3_COMMON_TOKEN    UTC_TIMESTAMP_SYMBOL1960;
    pANTLR3_COMMON_TOKEN    ASCII_SYMBOL1962;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL1963;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL1965;
    pANTLR3_COMMON_TOKEN    CHARSET_SYMBOL1966;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL1967;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL1969;
    pANTLR3_COMMON_TOKEN    COALESCE_SYMBOL1970;
    pANTLR3_COMMON_TOKEN    COLLATION_SYMBOL1972;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL1973;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL1975;
    pANTLR3_COMMON_TOKEN    DATABASE_SYMBOL1976;
    pANTLR3_COMMON_TOKEN    IF_SYMBOL1978;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL1979;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL1981;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL1983;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL1985;
    pANTLR3_COMMON_TOKEN    FORMAT_SYMBOL1986;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL1987;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL1989;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL1991;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL1993;
    pANTLR3_COMMON_TOKEN    MICROSECOND_SYMBOL1994;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL1995;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL1997;
    pANTLR3_COMMON_TOKEN    MOD_SYMBOL1998;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL1999;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL2001;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2003;
    pANTLR3_COMMON_TOKEN    OLD_PASSWORD_SYMBOL2004;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL2005;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2007;
    pANTLR3_COMMON_TOKEN    PASSWORD_SYMBOL2008;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL2009;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2011;
    pANTLR3_COMMON_TOKEN    QUARTER_SYMBOL2012;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL2013;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2015;
    pANTLR3_COMMON_TOKEN    REPEAT_SYMBOL2016;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL2017;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL2019;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2021;
    pANTLR3_COMMON_TOKEN    REPLACE_SYMBOL2022;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL2023;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL2025;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL2027;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2029;
    pANTLR3_COMMON_TOKEN    REVERSE_SYMBOL2030;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL2031;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2033;
    pANTLR3_COMMON_TOKEN    ROW_COUNT_SYMBOL2034;
    pANTLR3_COMMON_TOKEN    TRUNCATE_SYMBOL2036;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL2037;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL2039;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2041;
    pANTLR3_COMMON_TOKEN    WEEK_SYMBOL2042;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL2043;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL2045;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2047;
    pANTLR3_COMMON_TOKEN    WEIGHT_STRING_SYMBOL2048;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL2049;
    pANTLR3_COMMON_TOKEN    AS_SYMBOL2051;
    pANTLR3_COMMON_TOKEN    CHAR_SYMBOL2052;
    pANTLR3_COMMON_TOKEN    AS_SYMBOL2055;
    pANTLR3_COMMON_TOKEN    BINARY_SYMBOL2056;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL2058;
    pANTLR3_COMMON_TOKEN    INTEGER2059;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL2060;
    pANTLR3_COMMON_TOKEN    INTEGER2061;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL2062;
    pANTLR3_COMMON_TOKEN    INTEGER2063;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2064;
    MySQLParser_expression_list_return expression_list1835;
    #undef	RETURN_TYPE_expression_list1835
    #define	RETURN_TYPE_expression_list1835 MySQLParser_expression_list_return

    MySQLParser_charset_name_return charset_name1837;
    #undef	RETURN_TYPE_charset_name1837
    #define	RETURN_TYPE_charset_name1837 MySQLParser_charset_name_return

    MySQLParser_parentheses_return parentheses1840;
    #undef	RETURN_TYPE_parentheses1840
    #define	RETURN_TYPE_parentheses1840 MySQLParser_parentheses_return

    MySQLParser_expression_return expression1843;
    #undef	RETURN_TYPE_expression1843
    #define	RETURN_TYPE_expression1843 MySQLParser_expression_return

    MySQLParser_expression_return expression1847;
    #undef	RETURN_TYPE_expression1847
    #define	RETURN_TYPE_expression1847 MySQLParser_expression_return

    MySQLParser_expression_return expression1851;
    #undef	RETURN_TYPE_expression1851
    #define	RETURN_TYPE_expression1851 MySQLParser_expression_return

    MySQLParser_expression_return expression1855;
    #undef	RETURN_TYPE_expression1855
    #define	RETURN_TYPE_expression1855 MySQLParser_expression_return

    MySQLParser_expression_return expression1857;
    #undef	RETURN_TYPE_expression1857
    #define	RETURN_TYPE_expression1857 MySQLParser_expression_return

    MySQLParser_expression_return expression1859;
    #undef	RETURN_TYPE_expression1859
    #define	RETURN_TYPE_expression1859 MySQLParser_expression_return

    MySQLParser_expression_return expression1861;
    #undef	RETURN_TYPE_expression1861
    #define	RETURN_TYPE_expression1861 MySQLParser_expression_return

    MySQLParser_expression_return expression1865;
    #undef	RETURN_TYPE_expression1865
    #define	RETURN_TYPE_expression1865 MySQLParser_expression_return

    MySQLParser_expression_return expression1871;
    #undef	RETURN_TYPE_expression1871
    #define	RETURN_TYPE_expression1871 MySQLParser_expression_return

    MySQLParser_expression_return expression1875;
    #undef	RETURN_TYPE_expression1875
    #define	RETURN_TYPE_expression1875 MySQLParser_expression_return

    MySQLParser_expression_return expression1879;
    #undef	RETURN_TYPE_expression1879
    #define	RETURN_TYPE_expression1879 MySQLParser_expression_return

    MySQLParser_expression_return expression1885;
    #undef	RETURN_TYPE_expression1885
    #define	RETURN_TYPE_expression1885 MySQLParser_expression_return

    MySQLParser_expression_return expression1889;
    #undef	RETURN_TYPE_expression1889
    #define	RETURN_TYPE_expression1889 MySQLParser_expression_return

    MySQLParser_expression_return expression1893;
    #undef	RETURN_TYPE_expression1893
    #define	RETURN_TYPE_expression1893 MySQLParser_expression_return

    MySQLParser_expression_return expression1895;
    #undef	RETURN_TYPE_expression1895
    #define	RETURN_TYPE_expression1895 MySQLParser_expression_return

    MySQLParser_trim_function_return trim_function1897;
    #undef	RETURN_TYPE_trim_function1897
    #define	RETURN_TYPE_trim_function1897 MySQLParser_trim_function_return

    MySQLParser_parentheses_return parentheses1899;
    #undef	RETURN_TYPE_parentheses1899
    #define	RETURN_TYPE_parentheses1899 MySQLParser_parentheses_return

    MySQLParser_expression_return expression1902;
    #undef	RETURN_TYPE_expression1902
    #define	RETURN_TYPE_expression1902 MySQLParser_expression_return

    MySQLParser_expression_return expression1906;
    #undef	RETURN_TYPE_expression1906
    #define	RETURN_TYPE_expression1906 MySQLParser_expression_return

    MySQLParser_expression_return expression1910;
    #undef	RETURN_TYPE_expression1910
    #define	RETURN_TYPE_expression1910 MySQLParser_expression_return

    MySQLParser_expression_return expression1912;
    #undef	RETURN_TYPE_expression1912
    #define	RETURN_TYPE_expression1912 MySQLParser_expression_return

    MySQLParser_parentheses_return parentheses1915;
    #undef	RETURN_TYPE_parentheses1915
    #define	RETURN_TYPE_parentheses1915 MySQLParser_parentheses_return

    MySQLParser_time_function_parameters_return time_function_parameters1917;
    #undef	RETURN_TYPE_time_function_parameters1917
    #define	RETURN_TYPE_time_function_parameters1917 MySQLParser_time_function_parameters_return

    MySQLParser_expression_return expression1920;
    #undef	RETURN_TYPE_expression1920
    #define	RETURN_TYPE_expression1920 MySQLParser_expression_return

    MySQLParser_interval_return interval1923;
    #undef	RETURN_TYPE_interval1923
    #define	RETURN_TYPE_interval1923 MySQLParser_interval_return

    MySQLParser_interval_unit_return interval_unit1927;
    #undef	RETURN_TYPE_interval_unit1927
    #define	RETURN_TYPE_interval_unit1927 MySQLParser_interval_unit_return

    MySQLParser_expression_return expression1929;
    #undef	RETURN_TYPE_expression1929
    #define	RETURN_TYPE_expression1929 MySQLParser_expression_return

    MySQLParser_date_time_type_return date_time_type1933;
    #undef	RETURN_TYPE_date_time_type1933
    #define	RETURN_TYPE_date_time_type1933 MySQLParser_date_time_type_return

    MySQLParser_expression_return expression1935;
    #undef	RETURN_TYPE_expression1935
    #define	RETURN_TYPE_expression1935 MySQLParser_expression_return

    MySQLParser_time_function_parameters_return time_function_parameters1938;
    #undef	RETURN_TYPE_time_function_parameters1938
    #define	RETURN_TYPE_time_function_parameters1938 MySQLParser_time_function_parameters_return

    MySQLParser_bitwise_or_expression_return bitwise_or_expression1941;
    #undef	RETURN_TYPE_bitwise_or_expression1941
    #define	RETURN_TYPE_bitwise_or_expression1941 MySQLParser_bitwise_or_expression_return

    MySQLParser_expression_return expression1943;
    #undef	RETURN_TYPE_expression1943
    #define	RETURN_TYPE_expression1943 MySQLParser_expression_return

    MySQLParser_substring_function_return substring_function1945;
    #undef	RETURN_TYPE_substring_function1945
    #define	RETURN_TYPE_substring_function1945 MySQLParser_substring_function_return

    MySQLParser_time_function_parameters_return time_function_parameters1947;
    #undef	RETURN_TYPE_time_function_parameters1947
    #define	RETURN_TYPE_time_function_parameters1947 MySQLParser_time_function_parameters_return

    MySQLParser_interval_timestamp_unit_return interval_timestamp_unit1950;
    #undef	RETURN_TYPE_interval_timestamp_unit1950
    #define	RETURN_TYPE_interval_timestamp_unit1950 MySQLParser_interval_timestamp_unit_return

    MySQLParser_expression_return expression1952;
    #undef	RETURN_TYPE_expression1952
    #define	RETURN_TYPE_expression1952 MySQLParser_expression_return

    MySQLParser_expression_return expression1954;
    #undef	RETURN_TYPE_expression1954
    #define	RETURN_TYPE_expression1954 MySQLParser_expression_return

    MySQLParser_parentheses_return parentheses1957;
    #undef	RETURN_TYPE_parentheses1957
    #define	RETURN_TYPE_parentheses1957 MySQLParser_parentheses_return

    MySQLParser_time_function_parameters_return time_function_parameters1959;
    #undef	RETURN_TYPE_time_function_parameters1959
    #define	RETURN_TYPE_time_function_parameters1959 MySQLParser_time_function_parameters_return

    MySQLParser_time_function_parameters_return time_function_parameters1961;
    #undef	RETURN_TYPE_time_function_parameters1961
    #define	RETURN_TYPE_time_function_parameters1961 MySQLParser_time_function_parameters_return

    MySQLParser_expression_return expression1964;
    #undef	RETURN_TYPE_expression1964
    #define	RETURN_TYPE_expression1964 MySQLParser_expression_return

    MySQLParser_expression_return expression1968;
    #undef	RETURN_TYPE_expression1968
    #define	RETURN_TYPE_expression1968 MySQLParser_expression_return

    MySQLParser_expression_list_with_parentheses_return expression_list_with_parentheses1971;
    #undef	RETURN_TYPE_expression_list_with_parentheses1971
    #define	RETURN_TYPE_expression_list_with_parentheses1971 MySQLParser_expression_list_with_parentheses_return

    MySQLParser_expression_return expression1974;
    #undef	RETURN_TYPE_expression1974
    #define	RETURN_TYPE_expression1974 MySQLParser_expression_return

    MySQLParser_parentheses_return parentheses1977;
    #undef	RETURN_TYPE_parentheses1977
    #define	RETURN_TYPE_parentheses1977 MySQLParser_parentheses_return

    MySQLParser_expression_return expression1980;
    #undef	RETURN_TYPE_expression1980
    #define	RETURN_TYPE_expression1980 MySQLParser_expression_return

    MySQLParser_expression_return expression1982;
    #undef	RETURN_TYPE_expression1982
    #define	RETURN_TYPE_expression1982 MySQLParser_expression_return

    MySQLParser_expression_return expression1984;
    #undef	RETURN_TYPE_expression1984
    #define	RETURN_TYPE_expression1984 MySQLParser_expression_return

    MySQLParser_expression_return expression1988;
    #undef	RETURN_TYPE_expression1988
    #define	RETURN_TYPE_expression1988 MySQLParser_expression_return

    MySQLParser_expression_return expression1990;
    #undef	RETURN_TYPE_expression1990
    #define	RETURN_TYPE_expression1990 MySQLParser_expression_return

    MySQLParser_expression_return expression1992;
    #undef	RETURN_TYPE_expression1992
    #define	RETURN_TYPE_expression1992 MySQLParser_expression_return

    MySQLParser_expression_return expression1996;
    #undef	RETURN_TYPE_expression1996
    #define	RETURN_TYPE_expression1996 MySQLParser_expression_return

    MySQLParser_expression_return expression2000;
    #undef	RETURN_TYPE_expression2000
    #define	RETURN_TYPE_expression2000 MySQLParser_expression_return

    MySQLParser_expression_return expression2002;
    #undef	RETURN_TYPE_expression2002
    #define	RETURN_TYPE_expression2002 MySQLParser_expression_return

    MySQLParser_expression_return expression2006;
    #undef	RETURN_TYPE_expression2006
    #define	RETURN_TYPE_expression2006 MySQLParser_expression_return

    MySQLParser_expression_return expression2010;
    #undef	RETURN_TYPE_expression2010
    #define	RETURN_TYPE_expression2010 MySQLParser_expression_return

    MySQLParser_expression_return expression2014;
    #undef	RETURN_TYPE_expression2014
    #define	RETURN_TYPE_expression2014 MySQLParser_expression_return

    MySQLParser_expression_return expression2018;
    #undef	RETURN_TYPE_expression2018
    #define	RETURN_TYPE_expression2018 MySQLParser_expression_return

    MySQLParser_expression_return expression2020;
    #undef	RETURN_TYPE_expression2020
    #define	RETURN_TYPE_expression2020 MySQLParser_expression_return

    MySQLParser_expression_return expression2024;
    #undef	RETURN_TYPE_expression2024
    #define	RETURN_TYPE_expression2024 MySQLParser_expression_return

    MySQLParser_expression_return expression2026;
    #undef	RETURN_TYPE_expression2026
    #define	RETURN_TYPE_expression2026 MySQLParser_expression_return

    MySQLParser_expression_return expression2028;
    #undef	RETURN_TYPE_expression2028
    #define	RETURN_TYPE_expression2028 MySQLParser_expression_return

    MySQLParser_expression_return expression2032;
    #undef	RETURN_TYPE_expression2032
    #define	RETURN_TYPE_expression2032 MySQLParser_expression_return

    MySQLParser_parentheses_return parentheses2035;
    #undef	RETURN_TYPE_parentheses2035
    #define	RETURN_TYPE_parentheses2035 MySQLParser_parentheses_return

    MySQLParser_expression_return expression2038;
    #undef	RETURN_TYPE_expression2038
    #define	RETURN_TYPE_expression2038 MySQLParser_expression_return

    MySQLParser_expression_return expression2040;
    #undef	RETURN_TYPE_expression2040
    #define	RETURN_TYPE_expression2040 MySQLParser_expression_return

    MySQLParser_expression_return expression2044;
    #undef	RETURN_TYPE_expression2044
    #define	RETURN_TYPE_expression2044 MySQLParser_expression_return

    MySQLParser_expression_return expression2046;
    #undef	RETURN_TYPE_expression2046
    #define	RETURN_TYPE_expression2046 MySQLParser_expression_return

    MySQLParser_expression_return expression2050;
    #undef	RETURN_TYPE_expression2050
    #define	RETURN_TYPE_expression2050 MySQLParser_expression_return

    MySQLParser_field_length_return field_length2053;
    #undef	RETURN_TYPE_field_length2053
    #define	RETURN_TYPE_field_length2053 MySQLParser_field_length_return

    MySQLParser_weight_string_levels_return weight_string_levels2054;
    #undef	RETURN_TYPE_weight_string_levels2054
    #define	RETURN_TYPE_weight_string_levels2054 MySQLParser_weight_string_levels_return

    MySQLParser_field_length_return field_length2057;
    #undef	RETURN_TYPE_field_length2057
    #define	RETURN_TYPE_field_length2057 MySQLParser_field_length_return

    MySQLParser_geometry_function_return geometry_function2065;
    #undef	RETURN_TYPE_geometry_function2065
    #define	RETURN_TYPE_geometry_function2065 MySQLParser_geometry_function_return

    MySQLParser_aggregate_function_return aggregate_function2066;
    #undef	RETURN_TYPE_aggregate_function2066
    #define	RETURN_TYPE_aggregate_function2066 MySQLParser_aggregate_function_return

    pANTLR3_BASE_TREE CHAR_SYMBOL1833_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL1834_tree;
    pANTLR3_BASE_TREE USING_SYMBOL1836_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL1838_tree;
    pANTLR3_BASE_TREE CURRENT_USER_SYMBOL1839_tree;
    pANTLR3_BASE_TREE DATE_SYMBOL1841_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL1842_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL1844_tree;
    pANTLR3_BASE_TREE DAY_SYMBOL1845_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL1846_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL1848_tree;
    pANTLR3_BASE_TREE HOUR_SYMBOL1849_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL1850_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL1852_tree;
    pANTLR3_BASE_TREE INSERT_SYMBOL1853_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL1854_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL1856_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL1858_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL1860_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL1862_tree;
    pANTLR3_BASE_TREE LEFT_SYMBOL1863_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL1864_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL1866_tree;
    pANTLR3_BASE_TREE INTEGER1867_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL1868_tree;
    pANTLR3_BASE_TREE MINUTE_SYMBOL1869_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL1870_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL1872_tree;
    pANTLR3_BASE_TREE MONTH_SYMBOL1873_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL1874_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL1876_tree;
    pANTLR3_BASE_TREE RIGHT_SYMBOL1877_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL1878_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL1880_tree;
    pANTLR3_BASE_TREE INTEGER1881_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL1882_tree;
    pANTLR3_BASE_TREE SECOND_SYMBOL1883_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL1884_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL1886_tree;
    pANTLR3_BASE_TREE TIME_SYMBOL1887_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL1888_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL1890_tree;
    pANTLR3_BASE_TREE TIMESTAMP_SYMBOL1891_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL1892_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL1894_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL1896_tree;
    pANTLR3_BASE_TREE USER_SYMBOL1898_tree;
    pANTLR3_BASE_TREE VALUES_SYMBOL1900_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL1901_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL1903_tree;
    pANTLR3_BASE_TREE YEAR_SYMBOL1904_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL1905_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL1907_tree;
    pANTLR3_BASE_TREE set1908_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL1909_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL1911_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL1913_tree;
    pANTLR3_BASE_TREE CURDATE_SYMBOL1914_tree;
    pANTLR3_BASE_TREE CURTIME_SYMBOL1916_tree;
    pANTLR3_BASE_TREE set1918_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL1919_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL1921_tree;
    pANTLR3_BASE_TREE INTERVAL_SYMBOL1922_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL1924_tree;
    pANTLR3_BASE_TREE EXTRACT_SYMBOL1925_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL1926_tree;
    pANTLR3_BASE_TREE FROM_SYMBOL1928_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL1930_tree;
    pANTLR3_BASE_TREE GET_FORMAT_SYMBOL1931_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL1932_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL1934_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL1936_tree;
    pANTLR3_BASE_TREE NOW_SYMBOL1937_tree;
    pANTLR3_BASE_TREE POSITION_SYMBOL1939_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL1940_tree;
    pANTLR3_BASE_TREE IN_SYMBOL1942_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL1944_tree;
    pANTLR3_BASE_TREE SYSDATE_SYMBOL1946_tree;
    pANTLR3_BASE_TREE set1948_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL1949_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL1951_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL1953_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL1955_tree;
    pANTLR3_BASE_TREE UTC_DATE_SYMBOL1956_tree;
    pANTLR3_BASE_TREE UTC_TIME_SYMBOL1958_tree;
    pANTLR3_BASE_TREE UTC_TIMESTAMP_SYMBOL1960_tree;
    pANTLR3_BASE_TREE ASCII_SYMBOL1962_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL1963_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL1965_tree;
    pANTLR3_BASE_TREE CHARSET_SYMBOL1966_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL1967_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL1969_tree;
    pANTLR3_BASE_TREE COALESCE_SYMBOL1970_tree;
    pANTLR3_BASE_TREE COLLATION_SYMBOL1972_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL1973_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL1975_tree;
    pANTLR3_BASE_TREE DATABASE_SYMBOL1976_tree;
    pANTLR3_BASE_TREE IF_SYMBOL1978_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL1979_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL1981_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL1983_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL1985_tree;
    pANTLR3_BASE_TREE FORMAT_SYMBOL1986_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL1987_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL1989_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL1991_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL1993_tree;
    pANTLR3_BASE_TREE MICROSECOND_SYMBOL1994_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL1995_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL1997_tree;
    pANTLR3_BASE_TREE MOD_SYMBOL1998_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL1999_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL2001_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2003_tree;
    pANTLR3_BASE_TREE OLD_PASSWORD_SYMBOL2004_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2005_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2007_tree;
    pANTLR3_BASE_TREE PASSWORD_SYMBOL2008_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2009_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2011_tree;
    pANTLR3_BASE_TREE QUARTER_SYMBOL2012_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2013_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2015_tree;
    pANTLR3_BASE_TREE REPEAT_SYMBOL2016_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2017_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL2019_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2021_tree;
    pANTLR3_BASE_TREE REPLACE_SYMBOL2022_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2023_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL2025_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL2027_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2029_tree;
    pANTLR3_BASE_TREE REVERSE_SYMBOL2030_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2031_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2033_tree;
    pANTLR3_BASE_TREE ROW_COUNT_SYMBOL2034_tree;
    pANTLR3_BASE_TREE TRUNCATE_SYMBOL2036_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2037_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL2039_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2041_tree;
    pANTLR3_BASE_TREE WEEK_SYMBOL2042_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2043_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL2045_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2047_tree;
    pANTLR3_BASE_TREE WEIGHT_STRING_SYMBOL2048_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2049_tree;
    pANTLR3_BASE_TREE AS_SYMBOL2051_tree;
    pANTLR3_BASE_TREE CHAR_SYMBOL2052_tree;
    pANTLR3_BASE_TREE AS_SYMBOL2055_tree;
    pANTLR3_BASE_TREE BINARY_SYMBOL2056_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL2058_tree;
    pANTLR3_BASE_TREE INTEGER2059_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL2060_tree;
    pANTLR3_BASE_TREE INTEGER2061_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL2062_tree;
    pANTLR3_BASE_TREE INTEGER2063_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2064_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    CHAR_SYMBOL1833       = NULL;
    OPEN_PAR_SYMBOL1834       = NULL;
    USING_SYMBOL1836       = NULL;
    CLOSE_PAR_SYMBOL1838       = NULL;
    CURRENT_USER_SYMBOL1839       = NULL;
    DATE_SYMBOL1841       = NULL;
    OPEN_PAR_SYMBOL1842       = NULL;
    CLOSE_PAR_SYMBOL1844       = NULL;
    DAY_SYMBOL1845       = NULL;
    OPEN_PAR_SYMBOL1846       = NULL;
    CLOSE_PAR_SYMBOL1848       = NULL;
    HOUR_SYMBOL1849       = NULL;
    OPEN_PAR_SYMBOL1850       = NULL;
    CLOSE_PAR_SYMBOL1852       = NULL;
    INSERT_SYMBOL1853       = NULL;
    OPEN_PAR_SYMBOL1854       = NULL;
    COMMA_SYMBOL1856       = NULL;
    COMMA_SYMBOL1858       = NULL;
    COMMA_SYMBOL1860       = NULL;
    CLOSE_PAR_SYMBOL1862       = NULL;
    LEFT_SYMBOL1863       = NULL;
    OPEN_PAR_SYMBOL1864       = NULL;
    COMMA_SYMBOL1866       = NULL;
    INTEGER1867       = NULL;
    CLOSE_PAR_SYMBOL1868       = NULL;
    MINUTE_SYMBOL1869       = NULL;
    OPEN_PAR_SYMBOL1870       = NULL;
    CLOSE_PAR_SYMBOL1872       = NULL;
    MONTH_SYMBOL1873       = NULL;
    OPEN_PAR_SYMBOL1874       = NULL;
    CLOSE_PAR_SYMBOL1876       = NULL;
    RIGHT_SYMBOL1877       = NULL;
    OPEN_PAR_SYMBOL1878       = NULL;
    COMMA_SYMBOL1880       = NULL;
    INTEGER1881       = NULL;
    CLOSE_PAR_SYMBOL1882       = NULL;
    SECOND_SYMBOL1883       = NULL;
    OPEN_PAR_SYMBOL1884       = NULL;
    CLOSE_PAR_SYMBOL1886       = NULL;
    TIME_SYMBOL1887       = NULL;
    OPEN_PAR_SYMBOL1888       = NULL;
    CLOSE_PAR_SYMBOL1890       = NULL;
    TIMESTAMP_SYMBOL1891       = NULL;
    OPEN_PAR_SYMBOL1892       = NULL;
    COMMA_SYMBOL1894       = NULL;
    CLOSE_PAR_SYMBOL1896       = NULL;
    USER_SYMBOL1898       = NULL;
    VALUES_SYMBOL1900       = NULL;
    OPEN_PAR_SYMBOL1901       = NULL;
    CLOSE_PAR_SYMBOL1903       = NULL;
    YEAR_SYMBOL1904       = NULL;
    OPEN_PAR_SYMBOL1905       = NULL;
    CLOSE_PAR_SYMBOL1907       = NULL;
    set1908       = NULL;
    OPEN_PAR_SYMBOL1909       = NULL;
    COMMA_SYMBOL1911       = NULL;
    CLOSE_PAR_SYMBOL1913       = NULL;
    CURDATE_SYMBOL1914       = NULL;
    CURTIME_SYMBOL1916       = NULL;
    set1918       = NULL;
    OPEN_PAR_SYMBOL1919       = NULL;
    COMMA_SYMBOL1921       = NULL;
    INTERVAL_SYMBOL1922       = NULL;
    CLOSE_PAR_SYMBOL1924       = NULL;
    EXTRACT_SYMBOL1925       = NULL;
    OPEN_PAR_SYMBOL1926       = NULL;
    FROM_SYMBOL1928       = NULL;
    CLOSE_PAR_SYMBOL1930       = NULL;
    GET_FORMAT_SYMBOL1931       = NULL;
    OPEN_PAR_SYMBOL1932       = NULL;
    COMMA_SYMBOL1934       = NULL;
    CLOSE_PAR_SYMBOL1936       = NULL;
    NOW_SYMBOL1937       = NULL;
    POSITION_SYMBOL1939       = NULL;
    OPEN_PAR_SYMBOL1940       = NULL;
    IN_SYMBOL1942       = NULL;
    CLOSE_PAR_SYMBOL1944       = NULL;
    SYSDATE_SYMBOL1946       = NULL;
    set1948       = NULL;
    OPEN_PAR_SYMBOL1949       = NULL;
    COMMA_SYMBOL1951       = NULL;
    COMMA_SYMBOL1953       = NULL;
    CLOSE_PAR_SYMBOL1955       = NULL;
    UTC_DATE_SYMBOL1956       = NULL;
    UTC_TIME_SYMBOL1958       = NULL;
    UTC_TIMESTAMP_SYMBOL1960       = NULL;
    ASCII_SYMBOL1962       = NULL;
    OPEN_PAR_SYMBOL1963       = NULL;
    CLOSE_PAR_SYMBOL1965       = NULL;
    CHARSET_SYMBOL1966       = NULL;
    OPEN_PAR_SYMBOL1967       = NULL;
    CLOSE_PAR_SYMBOL1969       = NULL;
    COALESCE_SYMBOL1970       = NULL;
    COLLATION_SYMBOL1972       = NULL;
    OPEN_PAR_SYMBOL1973       = NULL;
    CLOSE_PAR_SYMBOL1975       = NULL;
    DATABASE_SYMBOL1976       = NULL;
    IF_SYMBOL1978       = NULL;
    OPEN_PAR_SYMBOL1979       = NULL;
    COMMA_SYMBOL1981       = NULL;
    COMMA_SYMBOL1983       = NULL;
    CLOSE_PAR_SYMBOL1985       = NULL;
    FORMAT_SYMBOL1986       = NULL;
    OPEN_PAR_SYMBOL1987       = NULL;
    COMMA_SYMBOL1989       = NULL;
    COMMA_SYMBOL1991       = NULL;
    CLOSE_PAR_SYMBOL1993       = NULL;
    MICROSECOND_SYMBOL1994       = NULL;
    OPEN_PAR_SYMBOL1995       = NULL;
    CLOSE_PAR_SYMBOL1997       = NULL;
    MOD_SYMBOL1998       = NULL;
    OPEN_PAR_SYMBOL1999       = NULL;
    COMMA_SYMBOL2001       = NULL;
    CLOSE_PAR_SYMBOL2003       = NULL;
    OLD_PASSWORD_SYMBOL2004       = NULL;
    OPEN_PAR_SYMBOL2005       = NULL;
    CLOSE_PAR_SYMBOL2007       = NULL;
    PASSWORD_SYMBOL2008       = NULL;
    OPEN_PAR_SYMBOL2009       = NULL;
    CLOSE_PAR_SYMBOL2011       = NULL;
    QUARTER_SYMBOL2012       = NULL;
    OPEN_PAR_SYMBOL2013       = NULL;
    CLOSE_PAR_SYMBOL2015       = NULL;
    REPEAT_SYMBOL2016       = NULL;
    OPEN_PAR_SYMBOL2017       = NULL;
    COMMA_SYMBOL2019       = NULL;
    CLOSE_PAR_SYMBOL2021       = NULL;
    REPLACE_SYMBOL2022       = NULL;
    OPEN_PAR_SYMBOL2023       = NULL;
    COMMA_SYMBOL2025       = NULL;
    COMMA_SYMBOL2027       = NULL;
    CLOSE_PAR_SYMBOL2029       = NULL;
    REVERSE_SYMBOL2030       = NULL;
    OPEN_PAR_SYMBOL2031       = NULL;
    CLOSE_PAR_SYMBOL2033       = NULL;
    ROW_COUNT_SYMBOL2034       = NULL;
    TRUNCATE_SYMBOL2036       = NULL;
    OPEN_PAR_SYMBOL2037       = NULL;
    COMMA_SYMBOL2039       = NULL;
    CLOSE_PAR_SYMBOL2041       = NULL;
    WEEK_SYMBOL2042       = NULL;
    OPEN_PAR_SYMBOL2043       = NULL;
    COMMA_SYMBOL2045       = NULL;
    CLOSE_PAR_SYMBOL2047       = NULL;
    WEIGHT_STRING_SYMBOL2048       = NULL;
    OPEN_PAR_SYMBOL2049       = NULL;
    AS_SYMBOL2051       = NULL;
    CHAR_SYMBOL2052       = NULL;
    AS_SYMBOL2055       = NULL;
    BINARY_SYMBOL2056       = NULL;
    COMMA_SYMBOL2058       = NULL;
    INTEGER2059       = NULL;
    COMMA_SYMBOL2060       = NULL;
    INTEGER2061       = NULL;
    COMMA_SYMBOL2062       = NULL;
    INTEGER2063       = NULL;
    CLOSE_PAR_SYMBOL2064       = NULL;
    expression_list1835.tree = NULL;

    charset_name1837.tree = NULL;

    parentheses1840.tree = NULL;

    expression1843.tree = NULL;

    expression1847.tree = NULL;

    expression1851.tree = NULL;

    expression1855.tree = NULL;

    expression1857.tree = NULL;

    expression1859.tree = NULL;

    expression1861.tree = NULL;

    expression1865.tree = NULL;

    expression1871.tree = NULL;

    expression1875.tree = NULL;

    expression1879.tree = NULL;

    expression1885.tree = NULL;

    expression1889.tree = NULL;

    expression1893.tree = NULL;

    expression1895.tree = NULL;

    trim_function1897.tree = NULL;

    parentheses1899.tree = NULL;

    expression1902.tree = NULL;

    expression1906.tree = NULL;

    expression1910.tree = NULL;

    expression1912.tree = NULL;

    parentheses1915.tree = NULL;

    time_function_parameters1917.tree = NULL;

    expression1920.tree = NULL;

    interval1923.tree = NULL;

    interval_unit1927.tree = NULL;

    expression1929.tree = NULL;

    date_time_type1933.tree = NULL;

    expression1935.tree = NULL;

    time_function_parameters1938.tree = NULL;

    bitwise_or_expression1941.tree = NULL;

    expression1943.tree = NULL;

    substring_function1945.tree = NULL;

    time_function_parameters1947.tree = NULL;

    interval_timestamp_unit1950.tree = NULL;

    expression1952.tree = NULL;

    expression1954.tree = NULL;

    parentheses1957.tree = NULL;

    time_function_parameters1959.tree = NULL;

    time_function_parameters1961.tree = NULL;

    expression1964.tree = NULL;

    expression1968.tree = NULL;

    expression_list_with_parentheses1971.tree = NULL;

    expression1974.tree = NULL;

    parentheses1977.tree = NULL;

    expression1980.tree = NULL;

    expression1982.tree = NULL;

    expression1984.tree = NULL;

    expression1988.tree = NULL;

    expression1990.tree = NULL;

    expression1992.tree = NULL;

    expression1996.tree = NULL;

    expression2000.tree = NULL;

    expression2002.tree = NULL;

    expression2006.tree = NULL;

    expression2010.tree = NULL;

    expression2014.tree = NULL;

    expression2018.tree = NULL;

    expression2020.tree = NULL;

    expression2024.tree = NULL;

    expression2026.tree = NULL;

    expression2028.tree = NULL;

    expression2032.tree = NULL;

    parentheses2035.tree = NULL;

    expression2038.tree = NULL;

    expression2040.tree = NULL;

    expression2044.tree = NULL;

    expression2046.tree = NULL;

    expression2050.tree = NULL;

    field_length2053.tree = NULL;

    weight_string_levels2054.tree = NULL;

    field_length2057.tree = NULL;

    geometry_function2065.tree = NULL;

    aggregate_function2066.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    CHAR_SYMBOL1833_tree   = NULL;
    OPEN_PAR_SYMBOL1834_tree   = NULL;
    USING_SYMBOL1836_tree   = NULL;
    CLOSE_PAR_SYMBOL1838_tree   = NULL;
    CURRENT_USER_SYMBOL1839_tree   = NULL;
    DATE_SYMBOL1841_tree   = NULL;
    OPEN_PAR_SYMBOL1842_tree   = NULL;
    CLOSE_PAR_SYMBOL1844_tree   = NULL;
    DAY_SYMBOL1845_tree   = NULL;
    OPEN_PAR_SYMBOL1846_tree   = NULL;
    CLOSE_PAR_SYMBOL1848_tree   = NULL;
    HOUR_SYMBOL1849_tree   = NULL;
    OPEN_PAR_SYMBOL1850_tree   = NULL;
    CLOSE_PAR_SYMBOL1852_tree   = NULL;
    INSERT_SYMBOL1853_tree   = NULL;
    OPEN_PAR_SYMBOL1854_tree   = NULL;
    COMMA_SYMBOL1856_tree   = NULL;
    COMMA_SYMBOL1858_tree   = NULL;
    COMMA_SYMBOL1860_tree   = NULL;
    CLOSE_PAR_SYMBOL1862_tree   = NULL;
    LEFT_SYMBOL1863_tree   = NULL;
    OPEN_PAR_SYMBOL1864_tree   = NULL;
    COMMA_SYMBOL1866_tree   = NULL;
    INTEGER1867_tree   = NULL;
    CLOSE_PAR_SYMBOL1868_tree   = NULL;
    MINUTE_SYMBOL1869_tree   = NULL;
    OPEN_PAR_SYMBOL1870_tree   = NULL;
    CLOSE_PAR_SYMBOL1872_tree   = NULL;
    MONTH_SYMBOL1873_tree   = NULL;
    OPEN_PAR_SYMBOL1874_tree   = NULL;
    CLOSE_PAR_SYMBOL1876_tree   = NULL;
    RIGHT_SYMBOL1877_tree   = NULL;
    OPEN_PAR_SYMBOL1878_tree   = NULL;
    COMMA_SYMBOL1880_tree   = NULL;
    INTEGER1881_tree   = NULL;
    CLOSE_PAR_SYMBOL1882_tree   = NULL;
    SECOND_SYMBOL1883_tree   = NULL;
    OPEN_PAR_SYMBOL1884_tree   = NULL;
    CLOSE_PAR_SYMBOL1886_tree   = NULL;
    TIME_SYMBOL1887_tree   = NULL;
    OPEN_PAR_SYMBOL1888_tree   = NULL;
    CLOSE_PAR_SYMBOL1890_tree   = NULL;
    TIMESTAMP_SYMBOL1891_tree   = NULL;
    OPEN_PAR_SYMBOL1892_tree   = NULL;
    COMMA_SYMBOL1894_tree   = NULL;
    CLOSE_PAR_SYMBOL1896_tree   = NULL;
    USER_SYMBOL1898_tree   = NULL;
    VALUES_SYMBOL1900_tree   = NULL;
    OPEN_PAR_SYMBOL1901_tree   = NULL;
    CLOSE_PAR_SYMBOL1903_tree   = NULL;
    YEAR_SYMBOL1904_tree   = NULL;
    OPEN_PAR_SYMBOL1905_tree   = NULL;
    CLOSE_PAR_SYMBOL1907_tree   = NULL;
    set1908_tree   = NULL;
    OPEN_PAR_SYMBOL1909_tree   = NULL;
    COMMA_SYMBOL1911_tree   = NULL;
    CLOSE_PAR_SYMBOL1913_tree   = NULL;
    CURDATE_SYMBOL1914_tree   = NULL;
    CURTIME_SYMBOL1916_tree   = NULL;
    set1918_tree   = NULL;
    OPEN_PAR_SYMBOL1919_tree   = NULL;
    COMMA_SYMBOL1921_tree   = NULL;
    INTERVAL_SYMBOL1922_tree   = NULL;
    CLOSE_PAR_SYMBOL1924_tree   = NULL;
    EXTRACT_SYMBOL1925_tree   = NULL;
    OPEN_PAR_SYMBOL1926_tree   = NULL;
    FROM_SYMBOL1928_tree   = NULL;
    CLOSE_PAR_SYMBOL1930_tree   = NULL;
    GET_FORMAT_SYMBOL1931_tree   = NULL;
    OPEN_PAR_SYMBOL1932_tree   = NULL;
    COMMA_SYMBOL1934_tree   = NULL;
    CLOSE_PAR_SYMBOL1936_tree   = NULL;
    NOW_SYMBOL1937_tree   = NULL;
    POSITION_SYMBOL1939_tree   = NULL;
    OPEN_PAR_SYMBOL1940_tree   = NULL;
    IN_SYMBOL1942_tree   = NULL;
    CLOSE_PAR_SYMBOL1944_tree   = NULL;
    SYSDATE_SYMBOL1946_tree   = NULL;
    set1948_tree   = NULL;
    OPEN_PAR_SYMBOL1949_tree   = NULL;
    COMMA_SYMBOL1951_tree   = NULL;
    COMMA_SYMBOL1953_tree   = NULL;
    CLOSE_PAR_SYMBOL1955_tree   = NULL;
    UTC_DATE_SYMBOL1956_tree   = NULL;
    UTC_TIME_SYMBOL1958_tree   = NULL;
    UTC_TIMESTAMP_SYMBOL1960_tree   = NULL;
    ASCII_SYMBOL1962_tree   = NULL;
    OPEN_PAR_SYMBOL1963_tree   = NULL;
    CLOSE_PAR_SYMBOL1965_tree   = NULL;
    CHARSET_SYMBOL1966_tree   = NULL;
    OPEN_PAR_SYMBOL1967_tree   = NULL;
    CLOSE_PAR_SYMBOL1969_tree   = NULL;
    COALESCE_SYMBOL1970_tree   = NULL;
    COLLATION_SYMBOL1972_tree   = NULL;
    OPEN_PAR_SYMBOL1973_tree   = NULL;
    CLOSE_PAR_SYMBOL1975_tree   = NULL;
    DATABASE_SYMBOL1976_tree   = NULL;
    IF_SYMBOL1978_tree   = NULL;
    OPEN_PAR_SYMBOL1979_tree   = NULL;
    COMMA_SYMBOL1981_tree   = NULL;
    COMMA_SYMBOL1983_tree   = NULL;
    CLOSE_PAR_SYMBOL1985_tree   = NULL;
    FORMAT_SYMBOL1986_tree   = NULL;
    OPEN_PAR_SYMBOL1987_tree   = NULL;
    COMMA_SYMBOL1989_tree   = NULL;
    COMMA_SYMBOL1991_tree   = NULL;
    CLOSE_PAR_SYMBOL1993_tree   = NULL;
    MICROSECOND_SYMBOL1994_tree   = NULL;
    OPEN_PAR_SYMBOL1995_tree   = NULL;
    CLOSE_PAR_SYMBOL1997_tree   = NULL;
    MOD_SYMBOL1998_tree   = NULL;
    OPEN_PAR_SYMBOL1999_tree   = NULL;
    COMMA_SYMBOL2001_tree   = NULL;
    CLOSE_PAR_SYMBOL2003_tree   = NULL;
    OLD_PASSWORD_SYMBOL2004_tree   = NULL;
    OPEN_PAR_SYMBOL2005_tree   = NULL;
    CLOSE_PAR_SYMBOL2007_tree   = NULL;
    PASSWORD_SYMBOL2008_tree   = NULL;
    OPEN_PAR_SYMBOL2009_tree   = NULL;
    CLOSE_PAR_SYMBOL2011_tree   = NULL;
    QUARTER_SYMBOL2012_tree   = NULL;
    OPEN_PAR_SYMBOL2013_tree   = NULL;
    CLOSE_PAR_SYMBOL2015_tree   = NULL;
    REPEAT_SYMBOL2016_tree   = NULL;
    OPEN_PAR_SYMBOL2017_tree   = NULL;
    COMMA_SYMBOL2019_tree   = NULL;
    CLOSE_PAR_SYMBOL2021_tree   = NULL;
    REPLACE_SYMBOL2022_tree   = NULL;
    OPEN_PAR_SYMBOL2023_tree   = NULL;
    COMMA_SYMBOL2025_tree   = NULL;
    COMMA_SYMBOL2027_tree   = NULL;
    CLOSE_PAR_SYMBOL2029_tree   = NULL;
    REVERSE_SYMBOL2030_tree   = NULL;
    OPEN_PAR_SYMBOL2031_tree   = NULL;
    CLOSE_PAR_SYMBOL2033_tree   = NULL;
    ROW_COUNT_SYMBOL2034_tree   = NULL;
    TRUNCATE_SYMBOL2036_tree   = NULL;
    OPEN_PAR_SYMBOL2037_tree   = NULL;
    COMMA_SYMBOL2039_tree   = NULL;
    CLOSE_PAR_SYMBOL2041_tree   = NULL;
    WEEK_SYMBOL2042_tree   = NULL;
    OPEN_PAR_SYMBOL2043_tree   = NULL;
    COMMA_SYMBOL2045_tree   = NULL;
    CLOSE_PAR_SYMBOL2047_tree   = NULL;
    WEIGHT_STRING_SYMBOL2048_tree   = NULL;
    OPEN_PAR_SYMBOL2049_tree   = NULL;
    AS_SYMBOL2051_tree   = NULL;
    CHAR_SYMBOL2052_tree   = NULL;
    AS_SYMBOL2055_tree   = NULL;
    BINARY_SYMBOL2056_tree   = NULL;
    COMMA_SYMBOL2058_tree   = NULL;
    INTEGER2059_tree   = NULL;
    COMMA_SYMBOL2060_tree   = NULL;
    INTEGER2061_tree   = NULL;
    COMMA_SYMBOL2062_tree   = NULL;
    INTEGER2063_tree   = NULL;
    CLOSE_PAR_SYMBOL2064_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:1788: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 alt584;

            alt584=52;

            {
                int LA584_0 = LA(1);
                if ( (LA584_0 == CHAR_SYMBOL))
                {
                    alt584=1;
                }
                else if ( (LA584_0 == CURRENT_USER_SYMBOL))
                {
                    alt584=2;
                }
                else if ( (LA584_0 == DATE_SYMBOL))
                {
                    alt584=3;
                }
                else if ( (LA584_0 == DAY_SYMBOL))
                {
                    alt584=4;
                }
                else if ( (LA584_0 == HOUR_SYMBOL))
                {
                    alt584=5;
                }
                else if ( (LA584_0 == INSERT_SYMBOL))
                {
                    alt584=6;
                }
                else if ( (LA584_0 == LEFT_SYMBOL))
                {
                    alt584=7;
                }
                else if ( (LA584_0 == MINUTE_SYMBOL))
                {
                    alt584=8;
                }
                else if ( (LA584_0 == MONTH_SYMBOL))
                {
                    alt584=9;
                }
                else if ( (LA584_0 == RIGHT_SYMBOL))
                {
                    alt584=10;
                }
                else if ( (LA584_0 == SECOND_SYMBOL))
                {
                    alt584=11;
                }
                else if ( (LA584_0 == TIME_SYMBOL))
                {
                    alt584=12;
                }
                else if ( (LA584_0 == TIMESTAMP_SYMBOL))
                {
                    alt584=13;
                }
                else if ( (LA584_0 == TRIM_SYMBOL))
                {
                    alt584=14;
                }
                else if ( (LA584_0 == USER_SYMBOL))
                {
                    alt584=15;
                }
                else if ( (LA584_0 == VALUES_SYMBOL))
                {
                    alt584=16;
                }
                else if ( (LA584_0 == YEAR_SYMBOL))
                {
                    alt584=17;
                }
                else if ( (LA584_0 == ADDDATE_SYMBOL || LA584_0 == SUBDATE_SYMBOL))
                {
                    alt584=18;
                }
                else if ( (LA584_0 == CURDATE_SYMBOL))
                {
                    alt584=19;
                }
                else if ( (LA584_0 == CURTIME_SYMBOL))
                {
                    alt584=20;
                }
                else if ( (LA584_0 == DATE_ADD_SYMBOL || LA584_0 == DATE_SUB_SYMBOL))
                {
                    alt584=21;
                }
                else if ( (LA584_0 == EXTRACT_SYMBOL))
                {
                    alt584=22;
                }
                else if ( (LA584_0 == GET_FORMAT_SYMBOL))
                {
                    alt584=23;
                }
                else if ( (LA584_0 == NOW_SYMBOL))
                {
                    alt584=24;
                }
                else if ( (LA584_0 == POSITION_SYMBOL))
                {
                    alt584=25;
                }
                else if ( (LA584_0 == SUBSTRING_SYMBOL))
                {
                    alt584=26;
                }
                else if ( (LA584_0 == SYSDATE_SYMBOL))
                {
                    alt584=27;
                }
                else if ( (((LA584_0 >= TIMESTAMP_ADD_SYMBOL) && (LA584_0 <= TIMESTAMP_DIFF_SYMBOL))))
                {
                    alt584=28;
                }
                else if ( (LA584_0 == UTC_DATE_SYMBOL))
                {
                    alt584=29;
                }
                else if ( (LA584_0 == UTC_TIME_SYMBOL))
                {
                    alt584=30;
                }
                else if ( (LA584_0 == UTC_TIMESTAMP_SYMBOL))
                {
                    alt584=31;
                }
                else if ( (LA584_0 == ASCII_SYMBOL))
                {
                    alt584=32;
                }
                else if ( (LA584_0 == CHARSET_SYMBOL))
                {
                    alt584=33;
                }
                else if ( (LA584_0 == COALESCE_SYMBOL))
                {
                    alt584=34;
                }
                else if ( (LA584_0 == COLLATION_SYMBOL))
                {
                    alt584=35;
                }
                else if ( (LA584_0 == DATABASE_SYMBOL))
                {
                    alt584=36;
                }
                else if ( (LA584_0 == IF_SYMBOL))
                {
                    alt584=37;
                }
                else if ( (LA584_0 == FORMAT_SYMBOL))
                {
                    alt584=38;
                }
                else if ( (LA584_0 == MICROSECOND_SYMBOL))
                {
                    alt584=39;
                }
                else if ( (LA584_0 == MOD_SYMBOL))
                {
                    alt584=40;
                }
                else if ( (LA584_0 == OLD_PASSWORD_SYMBOL))
                {
                    alt584=41;
                }
                else if ( (LA584_0 == PASSWORD_SYMBOL))
                {
                    alt584=42;
                }
                else if ( (LA584_0 == QUARTER_SYMBOL))
                {
                    alt584=43;
                }
                else if ( (LA584_0 == REPEAT_SYMBOL))
                {
                    alt584=44;
                }
                else if ( (LA584_0 == REPLACE_SYMBOL))
                {
                    alt584=45;
                }
                else if ( (LA584_0 == REVERSE_SYMBOL))
                {
                    alt584=46;
                }
                else if ( (LA584_0 == ROW_COUNT_SYMBOL))
                {
                    alt584=47;
                }
                else if ( (LA584_0 == TRUNCATE_SYMBOL))
                {
                    alt584=48;
                }
                else if ( (LA584_0 == WEEK_SYMBOL))
                {
                    alt584=49;
                }
                else if ( ((SERVER_VERSION >= 50600)) && (LA584_0 == WEIGHT_STRING_SYMBOL))
                {
                    alt584=50;
                }
                else if ( (LA584_0 == GEOMETRYCOLLECTION_SYMBOL || LA584_0 == LINESTRING_SYMBOL || ((LA584_0 >= MULTILINESTRING_SYMBOL) && (LA584_0 <= MULTIPOLYGON_SYMBOL)) || ((LA584_0 >= POINT_SYMBOL) && (LA584_0 <= POLYGON_SYMBOL)) || LA584_0 == CONTAINS_SYMBOL))
                {
                    alt584=51;
                }
                else if ( (LA584_0 == AVG_SYMBOL || ((LA584_0 >= BIT_AND_SYMBOL) && (LA584_0 <= BIT_XOR_SYMBOL)) || LA584_0 == COUNT_SYMBOL || LA584_0 == GROUP_CONCAT_SYMBOL || LA584_0 == MAX_SYMBOL || LA584_0 == MIN_SYMBOL || LA584_0 == STDDEV_SAMP_SYMBOL || LA584_0 == STD_SYMBOL || LA584_0 == SUM_SYMBOL || LA584_0 == VARIANCE_SYMBOL || LA584_0 == VAR_SAMP_SYMBOL))
                {
                    alt584=52;
                }
                else
                {
                    if (BACKTRACKING>0)
                    {
                        FAILEDFLAG = ANTLR3_TRUE;
                        return retval;
                    }


                    CONSTRUCTEX();
                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    EXCEPTION->message      = (void *)"";
                    EXCEPTION->decisionNum  = 584;
                    EXCEPTION->state        = 0;


                    goto rulefunction_callEx;

                }
            }
            switch (alt584)
            {
        	case 1:
        	    // MySQL.g:1790:2: CHAR_SYMBOL OPEN_PAR_SYMBOL expression_list ( USING_SYMBOL charset_name )? CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        CHAR_SYMBOL1833 = (pANTLR3_COMMON_TOKEN) MATCHT(CHAR_SYMBOL, &FOLLOW_CHAR_SYMBOL_in_function_call10095);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CHAR_SYMBOL1833_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CHAR_SYMBOL1833));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CHAR_SYMBOL1833_tree);
        	        }

        	        OPEN_PAR_SYMBOL1834 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_function_call10097);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL1834_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL1834));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL1834_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_list_in_function_call10099);
        	        expression_list1835=expression_list(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression_list1835.tree);

        	        // MySQL.g:1790:46: ( USING_SYMBOL charset_name )?
        	        {
        	            int alt569=2;
        	            switch ( LA(1) )
        	            {
        	                case USING_SYMBOL:
        	                	{
        	                		alt569=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt569)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1790:47: USING_SYMBOL charset_name
        	        	    {
        	        	        USING_SYMBOL1836 = (pANTLR3_COMMON_TOKEN) MATCHT(USING_SYMBOL, &FOLLOW_USING_SYMBOL_in_function_call10102);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulefunction_callEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        USING_SYMBOL1836_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, USING_SYMBOL1836));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, USING_SYMBOL1836_tree);
        	        	        }

        	        	        FOLLOWPUSH(FOLLOW_charset_name_in_function_call10104);
        	        	        charset_name1837=charset_name(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulefunction_callEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, charset_name1837.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	        CLOSE_PAR_SYMBOL1838 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10108);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL1838_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL1838));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL1838_tree);
        	        }

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:1791:4: CURRENT_USER_SYMBOL ( parentheses )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        CURRENT_USER_SYMBOL1839 = (pANTLR3_COMMON_TOKEN) MATCHT(CURRENT_USER_SYMBOL, &FOLLOW_CURRENT_USER_SYMBOL_in_function_call10113);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CURRENT_USER_SYMBOL1839_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CURRENT_USER_SYMBOL1839));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CURRENT_USER_SYMBOL1839_tree);
        	        }

        	        // MySQL.g:1791:24: ( parentheses )?
        	        {
        	            int alt570=2;
        	            switch ( LA(1) )
        	            {
        	                case OPEN_PAR_SYMBOL:
        	                	{
        	                		alt570=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt570)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1791:24: parentheses
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_parentheses_in_function_call10115);
        	        	        parentheses1840=parentheses(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulefunction_callEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, parentheses1840.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 3:
        	    // MySQL.g:1792:4: DATE_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        DATE_SYMBOL1841 = (pANTLR3_COMMON_TOKEN) MATCHT(DATE_SYMBOL, &FOLLOW_DATE_SYMBOL_in_function_call10121);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        DATE_SYMBOL1841_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DATE_SYMBOL1841));
        	        ADAPTOR->addChild(ADAPTOR, root_0, DATE_SYMBOL1841_tree);
        	        }

        	        OPEN_PAR_SYMBOL1842 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_function_call10123);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL1842_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL1842));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL1842_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_function_call10125);
        	        expression1843=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression1843.tree);

        	        CLOSE_PAR_SYMBOL1844 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10127);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL1844_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL1844));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL1844_tree);
        	        }

        	    }
        	    break;
        	case 4:
        	    // MySQL.g:1793:4: DAY_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        DAY_SYMBOL1845 = (pANTLR3_COMMON_TOKEN) MATCHT(DAY_SYMBOL, &FOLLOW_DAY_SYMBOL_in_function_call10132);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        DAY_SYMBOL1845_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DAY_SYMBOL1845));
        	        ADAPTOR->addChild(ADAPTOR, root_0, DAY_SYMBOL1845_tree);
        	        }

        	        OPEN_PAR_SYMBOL1846 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_function_call10134);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL1846_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL1846));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL1846_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_function_call10136);
        	        expression1847=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression1847.tree);

        	        CLOSE_PAR_SYMBOL1848 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10138);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL1848_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL1848));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL1848_tree);
        	        }

        	    }
        	    break;
        	case 5:
        	    // MySQL.g:1794:4: HOUR_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        HOUR_SYMBOL1849 = (pANTLR3_COMMON_TOKEN) MATCHT(HOUR_SYMBOL, &FOLLOW_HOUR_SYMBOL_in_function_call10143);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        HOUR_SYMBOL1849_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, HOUR_SYMBOL1849));
        	        ADAPTOR->addChild(ADAPTOR, root_0, HOUR_SYMBOL1849_tree);
        	        }

        	        OPEN_PAR_SYMBOL1850 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_function_call10145);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL1850_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL1850));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL1850_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_function_call10147);
        	        expression1851=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression1851.tree);

        	        CLOSE_PAR_SYMBOL1852 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10149);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL1852_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL1852));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL1852_tree);
        	        }

        	    }
        	    break;
        	case 6:
        	    // MySQL.g:1795: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_SYMBOL1853 = (pANTLR3_COMMON_TOKEN) MATCHT(INSERT_SYMBOL, &FOLLOW_INSERT_SYMBOL_in_function_call10154);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        INSERT_SYMBOL1853_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INSERT_SYMBOL1853));
        	        ADAPTOR->addChild(ADAPTOR, root_0, INSERT_SYMBOL1853_tree);
        	        }

        	        OPEN_PAR_SYMBOL1854 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_function_call10156);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL1854_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL1854));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL1854_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_function_call10158);
        	        expression1855=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression1855.tree);

        	        COMMA_SYMBOL1856 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_function_call10160);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        COMMA_SYMBOL1856_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL1856));
        	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL1856_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_function_call10162);
        	        expression1857=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression1857.tree);

        	        COMMA_SYMBOL1858 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_function_call10164);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        COMMA_SYMBOL1858_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL1858));
        	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL1858_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_function_call10166);
        	        expression1859=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression1859.tree);

        	        COMMA_SYMBOL1860 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_function_call10168);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        COMMA_SYMBOL1860_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL1860));
        	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL1860_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_function_call10170);
        	        expression1861=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression1861.tree);

        	        CLOSE_PAR_SYMBOL1862 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10172);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL1862_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL1862));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL1862_tree);
        	        }

        	    }
        	    break;
        	case 7:
        	    // MySQL.g:1797:4: LEFT_SYMBOL OPEN_PAR_SYMBOL expression COMMA_SYMBOL INTEGER CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        LEFT_SYMBOL1863 = (pANTLR3_COMMON_TOKEN) MATCHT(LEFT_SYMBOL, &FOLLOW_LEFT_SYMBOL_in_function_call10179);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        LEFT_SYMBOL1863_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, LEFT_SYMBOL1863));
        	        ADAPTOR->addChild(ADAPTOR, root_0, LEFT_SYMBOL1863_tree);
        	        }

        	        OPEN_PAR_SYMBOL1864 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_function_call10181);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL1864_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL1864));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL1864_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_function_call10183);
        	        expression1865=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression1865.tree);

        	        COMMA_SYMBOL1866 = (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_SYMBOL1866_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL1866));
        	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL1866_tree);
        	        }

        	        INTEGER1867 = (pANTLR3_COMMON_TOKEN) MATCHT(INTEGER, &FOLLOW_INTEGER_in_function_call10187);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        INTEGER1867_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INTEGER1867));
        	        ADAPTOR->addChild(ADAPTOR, root_0, INTEGER1867_tree);
        	        }

        	        CLOSE_PAR_SYMBOL1868 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10189);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL1868_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL1868));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL1868_tree);
        	        }

        	    }
        	    break;
        	case 8:
        	    // MySQL.g:1798:4: MINUTE_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        MINUTE_SYMBOL1869 = (pANTLR3_COMMON_TOKEN) MATCHT(MINUTE_SYMBOL, &FOLLOW_MINUTE_SYMBOL_in_function_call10194);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        MINUTE_SYMBOL1869_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MINUTE_SYMBOL1869));
        	        ADAPTOR->addChild(ADAPTOR, root_0, MINUTE_SYMBOL1869_tree);
        	        }

        	        OPEN_PAR_SYMBOL1870 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_function_call10196);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL1870_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL1870));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL1870_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_function_call10198);
        	        expression1871=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression1871.tree);

        	        CLOSE_PAR_SYMBOL1872 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10200);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL1872_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL1872));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL1872_tree);
        	        }

        	    }
        	    break;
        	case 9:
        	    // MySQL.g:1799:4: MONTH_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        MONTH_SYMBOL1873 = (pANTLR3_COMMON_TOKEN) MATCHT(MONTH_SYMBOL, &FOLLOW_MONTH_SYMBOL_in_function_call10205);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        MONTH_SYMBOL1873_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MONTH_SYMBOL1873));
        	        ADAPTOR->addChild(ADAPTOR, root_0, MONTH_SYMBOL1873_tree);
        	        }

        	        OPEN_PAR_SYMBOL1874 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_function_call10207);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL1874_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL1874));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL1874_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_function_call10209);
        	        expression1875=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression1875.tree);

        	        CLOSE_PAR_SYMBOL1876 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10211);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL1876_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL1876));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL1876_tree);
        	        }

        	    }
        	    break;
        	case 10:
        	    // MySQL.g:1800:4: RIGHT_SYMBOL OPEN_PAR_SYMBOL expression COMMA_SYMBOL INTEGER CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        RIGHT_SYMBOL1877 = (pANTLR3_COMMON_TOKEN) MATCHT(RIGHT_SYMBOL, &FOLLOW_RIGHT_SYMBOL_in_function_call10216);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        RIGHT_SYMBOL1877_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, RIGHT_SYMBOL1877));
        	        ADAPTOR->addChild(ADAPTOR, root_0, RIGHT_SYMBOL1877_tree);
        	        }

        	        OPEN_PAR_SYMBOL1878 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_function_call10218);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL1878_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL1878));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL1878_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_function_call10220);
        	        expression1879=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression1879.tree);

        	        COMMA_SYMBOL1880 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_function_call10222);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        COMMA_SYMBOL1880_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL1880));
        	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL1880_tree);
        	        }

        	        INTEGER1881 = (pANTLR3_COMMON_TOKEN) MATCHT(INTEGER, &FOLLOW_INTEGER_in_function_call10224);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        INTEGER1881_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INTEGER1881));
        	        ADAPTOR->addChild(ADAPTOR, root_0, INTEGER1881_tree);
        	        }

        	        CLOSE_PAR_SYMBOL1882 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10226);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL1882_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL1882));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL1882_tree);
        	        }

        	    }
        	    break;
        	case 11:
        	    // MySQL.g:1801:4: SECOND_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        SECOND_SYMBOL1883 = (pANTLR3_COMMON_TOKEN) MATCHT(SECOND_SYMBOL, &FOLLOW_SECOND_SYMBOL_in_function_call10231);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        SECOND_SYMBOL1883_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SECOND_SYMBOL1883));
        	        ADAPTOR->addChild(ADAPTOR, root_0, SECOND_SYMBOL1883_tree);
        	        }

        	        OPEN_PAR_SYMBOL1884 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_function_call10233);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL1884_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL1884));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL1884_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_function_call10235);
        	        expression1885=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression1885.tree);

        	        CLOSE_PAR_SYMBOL1886 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10237);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL1886_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL1886));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL1886_tree);
        	        }

        	    }
        	    break;
        	case 12:
        	    // MySQL.g:1802:4: TIME_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        TIME_SYMBOL1887 = (pANTLR3_COMMON_TOKEN) MATCHT(TIME_SYMBOL, &FOLLOW_TIME_SYMBOL_in_function_call10242);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        TIME_SYMBOL1887_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, TIME_SYMBOL1887));
        	        ADAPTOR->addChild(ADAPTOR, root_0, TIME_SYMBOL1887_tree);
        	        }

        	        OPEN_PAR_SYMBOL1888 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_function_call10244);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL1888_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL1888));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL1888_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_function_call10246);
        	        expression1889=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression1889.tree);

        	        CLOSE_PAR_SYMBOL1890 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10248);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL1890_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL1890));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL1890_tree);
        	        }

        	    }
        	    break;
        	case 13:
        	    // MySQL.g:1803:4: TIMESTAMP_SYMBOL OPEN_PAR_SYMBOL expression ( COMMA_SYMBOL expression )? CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        TIMESTAMP_SYMBOL1891 = (pANTLR3_COMMON_TOKEN) MATCHT(TIMESTAMP_SYMBOL, &FOLLOW_TIMESTAMP_SYMBOL_in_function_call10253);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        TIMESTAMP_SYMBOL1891_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, TIMESTAMP_SYMBOL1891));
        	        ADAPTOR->addChild(ADAPTOR, root_0, TIMESTAMP_SYMBOL1891_tree);
        	        }

        	        OPEN_PAR_SYMBOL1892 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_function_call10255);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL1892_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL1892));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL1892_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_function_call10257);
        	        expression1893=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression1893.tree);

        	        // MySQL.g:1803:48: ( COMMA_SYMBOL expression )?
        	        {
        	            int alt571=2;
        	            switch ( LA(1) )
        	            {
        	                case COMMA_SYMBOL:
        	                	{
        	                		alt571=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt571)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1803:49: COMMA_SYMBOL expression
        	        	    {
        	        	        COMMA_SYMBOL1894 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_function_call10260);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulefunction_callEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        COMMA_SYMBOL1894_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL1894));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL1894_tree);
        	        	        }

        	        	        FOLLOWPUSH(FOLLOW_expression_in_function_call10262);
        	        	        expression1895=expression(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulefunction_callEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression1895.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	        CLOSE_PAR_SYMBOL1896 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10266);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL1896_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL1896));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL1896_tree);
        	        }

        	    }
        	    break;
        	case 14:
        	    // MySQL.g:1804:4: trim_function
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_trim_function_in_function_call10271);
        	        trim_function1897=trim_function(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, trim_function1897.tree);

        	    }
        	    break;
        	case 15:
        	    // MySQL.g:1805:4: USER_SYMBOL parentheses
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        USER_SYMBOL1898 = (pANTLR3_COMMON_TOKEN) MATCHT(USER_SYMBOL, &FOLLOW_USER_SYMBOL_in_function_call10276);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        USER_SYMBOL1898_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, USER_SYMBOL1898));
        	        ADAPTOR->addChild(ADAPTOR, root_0, USER_SYMBOL1898_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_parentheses_in_function_call10278);
        	        parentheses1899=parentheses(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, parentheses1899.tree);

        	    }
        	    break;
        	case 16:
        	    // MySQL.g:1806:4: VALUES_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        VALUES_SYMBOL1900 = (pANTLR3_COMMON_TOKEN) MATCHT(VALUES_SYMBOL, &FOLLOW_VALUES_SYMBOL_in_function_call10283);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        VALUES_SYMBOL1900_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, VALUES_SYMBOL1900));
        	        ADAPTOR->addChild(ADAPTOR, root_0, VALUES_SYMBOL1900_tree);
        	        }

        	        OPEN_PAR_SYMBOL1901 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_function_call10285);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL1901_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL1901));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL1901_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_function_call10287);
        	        expression1902=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression1902.tree);

        	        CLOSE_PAR_SYMBOL1903 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10289);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL1903_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL1903));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL1903_tree);
        	        }

        	    }
        	    break;
        	case 17:
        	    // MySQL.g:1807:4: YEAR_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        YEAR_SYMBOL1904 = (pANTLR3_COMMON_TOKEN) MATCHT(YEAR_SYMBOL, &FOLLOW_YEAR_SYMBOL_in_function_call10294);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        YEAR_SYMBOL1904_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, YEAR_SYMBOL1904));
        	        ADAPTOR->addChild(ADAPTOR, root_0, YEAR_SYMBOL1904_tree);
        	        }

        	        OPEN_PAR_SYMBOL1905 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_function_call10296);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL1905_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL1905));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL1905_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_function_call10298);
        	        expression1906=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression1906.tree);

        	        CLOSE_PAR_SYMBOL1907 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10300);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL1907_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL1907));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL1907_tree);
        	        }

        	    }
        	    break;
        	case 18:
        	    // MySQL.g:1810:4: ( ADDDATE_SYMBOL | SUBDATE_SYMBOL ) OPEN_PAR_SYMBOL expression COMMA_SYMBOL expression CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        set1908=(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, set1908))
        	            );
        	            PERRORRECOVERY=ANTLR3_FALSE;
        	            FAILEDFLAG=ANTLR3_FALSE;

        	        }
        	        else
        	        {
        	            if (BACKTRACKING>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_SYMBOL1909 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_function_call10316);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL1909_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL1909));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL1909_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_function_call10318);
        	        expression1910=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression1910.tree);

        	        COMMA_SYMBOL1911 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_function_call10320);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        COMMA_SYMBOL1911_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL1911));
        	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL1911_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_function_call10322);
        	        expression1912=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression1912.tree);

        	        CLOSE_PAR_SYMBOL1913 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10324);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL1913_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL1913));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL1913_tree);
        	        }

        	    }
        	    break;
        	case 19:
        	    // MySQL.g:1811:4: CURDATE_SYMBOL ( parentheses )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        CURDATE_SYMBOL1914 = (pANTLR3_COMMON_TOKEN) MATCHT(CURDATE_SYMBOL, &FOLLOW_CURDATE_SYMBOL_in_function_call10329);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CURDATE_SYMBOL1914_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CURDATE_SYMBOL1914));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CURDATE_SYMBOL1914_tree);
        	        }

        	        // MySQL.g:1811:19: ( parentheses )?
        	        {
        	            int alt572=2;
        	            switch ( LA(1) )
        	            {
        	                case OPEN_PAR_SYMBOL:
        	                	{
        	                		alt572=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt572)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1811:19: parentheses
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_parentheses_in_function_call10331);
        	        	        parentheses1915=parentheses(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulefunction_callEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, parentheses1915.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 20:
        	    // MySQL.g:1812:4: CURTIME_SYMBOL ( time_function_parameters )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        CURTIME_SYMBOL1916 = (pANTLR3_COMMON_TOKEN) MATCHT(CURTIME_SYMBOL, &FOLLOW_CURTIME_SYMBOL_in_function_call10337);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CURTIME_SYMBOL1916_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CURTIME_SYMBOL1916));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CURTIME_SYMBOL1916_tree);
        	        }

        	        // MySQL.g:1812:19: ( time_function_parameters )?
        	        {
        	            int alt573=2;
        	            switch ( LA(1) )
        	            {
        	                case OPEN_PAR_SYMBOL:
        	                	{
        	                		alt573=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt573)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1812:19: time_function_parameters
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_time_function_parameters_in_function_call10339);
        	        	        time_function_parameters1917=time_function_parameters(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulefunction_callEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, time_function_parameters1917.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 21:
        	    // MySQL.g:1813: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));


        	        set1918=(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, set1918))
        	            );
        	            PERRORRECOVERY=ANTLR3_FALSE;
        	            FAILEDFLAG=ANTLR3_FALSE;

        	        }
        	        else
        	        {
        	            if (BACKTRACKING>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_SYMBOL1919 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_function_call10353);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL1919_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL1919));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL1919_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_function_call10355);
        	        expression1920=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression1920.tree);

        	        COMMA_SYMBOL1921 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_function_call10357);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        COMMA_SYMBOL1921_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL1921));
        	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL1921_tree);
        	        }

        	        INTERVAL_SYMBOL1922 = (pANTLR3_COMMON_TOKEN) MATCHT(INTERVAL_SYMBOL, &FOLLOW_INTERVAL_SYMBOL_in_function_call10359);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        INTERVAL_SYMBOL1922_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INTERVAL_SYMBOL1922));
        	        ADAPTOR->addChild(ADAPTOR, root_0, INTERVAL_SYMBOL1922_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_interval_in_function_call10361);
        	        interval1923=interval(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, interval1923.tree);

        	        CLOSE_PAR_SYMBOL1924 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10363);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL1924_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL1924));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL1924_tree);
        	        }

        	    }
        	    break;
        	case 22:
        	    // MySQL.g:1814:4: EXTRACT_SYMBOL OPEN_PAR_SYMBOL interval_unit FROM_SYMBOL expression CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        EXTRACT_SYMBOL1925 = (pANTLR3_COMMON_TOKEN) MATCHT(EXTRACT_SYMBOL, &FOLLOW_EXTRACT_SYMBOL_in_function_call10368);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        EXTRACT_SYMBOL1925_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EXTRACT_SYMBOL1925));
        	        ADAPTOR->addChild(ADAPTOR, root_0, EXTRACT_SYMBOL1925_tree);
        	        }

        	        OPEN_PAR_SYMBOL1926 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_function_call10370);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL1926_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL1926));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL1926_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_interval_unit_in_function_call10372);
        	        interval_unit1927=interval_unit(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, interval_unit1927.tree);

        	        FROM_SYMBOL1928 = (pANTLR3_COMMON_TOKEN) MATCHT(FROM_SYMBOL, &FOLLOW_FROM_SYMBOL_in_function_call10374);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        FROM_SYMBOL1928_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, FROM_SYMBOL1928));
        	        ADAPTOR->addChild(ADAPTOR, root_0, FROM_SYMBOL1928_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_function_call10376);
        	        expression1929=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression1929.tree);

        	        CLOSE_PAR_SYMBOL1930 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10378);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL1930_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL1930));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL1930_tree);
        	        }

        	    }
        	    break;
        	case 23:
        	    // MySQL.g:1815: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_SYMBOL1931 = (pANTLR3_COMMON_TOKEN) MATCHT(GET_FORMAT_SYMBOL, &FOLLOW_GET_FORMAT_SYMBOL_in_function_call10383);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        GET_FORMAT_SYMBOL1931_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, GET_FORMAT_SYMBOL1931));
        	        ADAPTOR->addChild(ADAPTOR, root_0, GET_FORMAT_SYMBOL1931_tree);
        	        }

        	        OPEN_PAR_SYMBOL1932 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_function_call10385);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL1932_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL1932));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL1932_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_date_time_type_in_function_call10387);
        	        date_time_type1933=date_time_type(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, date_time_type1933.tree);

        	        COMMA_SYMBOL1934 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_function_call10390);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        COMMA_SYMBOL1934_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL1934));
        	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL1934_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_function_call10392);
        	        expression1935=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression1935.tree);

        	        CLOSE_PAR_SYMBOL1936 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10394);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL1936_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL1936));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL1936_tree);
        	        }

        	    }
        	    break;
        	case 24:
        	    // MySQL.g:1816:4: NOW_SYMBOL ( time_function_parameters )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        NOW_SYMBOL1937 = (pANTLR3_COMMON_TOKEN) MATCHT(NOW_SYMBOL, &FOLLOW_NOW_SYMBOL_in_function_call10399);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        NOW_SYMBOL1937_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, NOW_SYMBOL1937));
        	        ADAPTOR->addChild(ADAPTOR, root_0, NOW_SYMBOL1937_tree);
        	        }

        	        // MySQL.g:1816:15: ( time_function_parameters )?
        	        {
        	            int alt574=2;
        	            switch ( LA(1) )
        	            {
        	                case OPEN_PAR_SYMBOL:
        	                	{
        	                		alt574=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt574)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1816:15: time_function_parameters
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_time_function_parameters_in_function_call10401);
        	        	        time_function_parameters1938=time_function_parameters(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulefunction_callEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, time_function_parameters1938.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 25:
        	    // MySQL.g:1817:4: POSITION_SYMBOL OPEN_PAR_SYMBOL bitwise_or_expression IN_SYMBOL expression CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        POSITION_SYMBOL1939 = (pANTLR3_COMMON_TOKEN) MATCHT(POSITION_SYMBOL, &FOLLOW_POSITION_SYMBOL_in_function_call10407);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        POSITION_SYMBOL1939_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, POSITION_SYMBOL1939));
        	        ADAPTOR->addChild(ADAPTOR, root_0, POSITION_SYMBOL1939_tree);
        	        }

        	        OPEN_PAR_SYMBOL1940 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_function_call10409);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL1940_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL1940));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL1940_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_bitwise_or_expression_in_function_call10411);
        	        bitwise_or_expression1941=bitwise_or_expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, bitwise_or_expression1941.tree);

        	        IN_SYMBOL1942 = (pANTLR3_COMMON_TOKEN) MATCHT(IN_SYMBOL, &FOLLOW_IN_SYMBOL_in_function_call10413);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        IN_SYMBOL1942_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, IN_SYMBOL1942));
        	        ADAPTOR->addChild(ADAPTOR, root_0, IN_SYMBOL1942_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_function_call10415);
        	        expression1943=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression1943.tree);

        	        CLOSE_PAR_SYMBOL1944 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10417);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL1944_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL1944));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL1944_tree);
        	        }

        	    }
        	    break;
        	case 26:
        	    // MySQL.g:1818:4: substring_function
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_substring_function_in_function_call10422);
        	        substring_function1945=substring_function(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, substring_function1945.tree);

        	    }
        	    break;
        	case 27:
        	    // MySQL.g:1819:4: SYSDATE_SYMBOL ( time_function_parameters )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        SYSDATE_SYMBOL1946 = (pANTLR3_COMMON_TOKEN) MATCHT(SYSDATE_SYMBOL, &FOLLOW_SYSDATE_SYMBOL_in_function_call10427);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        SYSDATE_SYMBOL1946_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SYSDATE_SYMBOL1946));
        	        ADAPTOR->addChild(ADAPTOR, root_0, SYSDATE_SYMBOL1946_tree);
        	        }

        	        // MySQL.g:1819:19: ( time_function_parameters )?
        	        {
        	            int alt575=2;
        	            switch ( LA(1) )
        	            {
        	                case OPEN_PAR_SYMBOL:
        	                	{
        	                		alt575=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt575)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1819:19: time_function_parameters
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_time_function_parameters_in_function_call10429);
        	        	        time_function_parameters1947=time_function_parameters(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulefunction_callEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, time_function_parameters1947.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 28:
        	    // MySQL.g:1820: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));


        	        set1948=(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, set1948))
        	            );
        	            PERRORRECOVERY=ANTLR3_FALSE;
        	            FAILEDFLAG=ANTLR3_FALSE;

        	        }
        	        else
        	        {
        	            if (BACKTRACKING>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_SYMBOL1949 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_function_call10443);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL1949_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL1949));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL1949_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_interval_timestamp_unit_in_function_call10445);
        	        interval_timestamp_unit1950=interval_timestamp_unit(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, interval_timestamp_unit1950.tree);

        	        COMMA_SYMBOL1951 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_function_call10447);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        COMMA_SYMBOL1951_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL1951));
        	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL1951_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_function_call10449);
        	        expression1952=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression1952.tree);

        	        COMMA_SYMBOL1953 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_function_call10451);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        COMMA_SYMBOL1953_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL1953));
        	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL1953_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_function_call10453);
        	        expression1954=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression1954.tree);

        	        CLOSE_PAR_SYMBOL1955 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10455);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL1955_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL1955));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL1955_tree);
        	        }

        	    }
        	    break;
        	case 29:
        	    // MySQL.g:1821:4: UTC_DATE_SYMBOL ( parentheses )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        UTC_DATE_SYMBOL1956 = (pANTLR3_COMMON_TOKEN) MATCHT(UTC_DATE_SYMBOL, &FOLLOW_UTC_DATE_SYMBOL_in_function_call10460);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        UTC_DATE_SYMBOL1956_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, UTC_DATE_SYMBOL1956));
        	        ADAPTOR->addChild(ADAPTOR, root_0, UTC_DATE_SYMBOL1956_tree);
        	        }

        	        // MySQL.g:1821:20: ( parentheses )?
        	        {
        	            int alt576=2;
        	            switch ( LA(1) )
        	            {
        	                case OPEN_PAR_SYMBOL:
        	                	{
        	                		alt576=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt576)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1821:20: parentheses
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_parentheses_in_function_call10462);
        	        	        parentheses1957=parentheses(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulefunction_callEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, parentheses1957.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 30:
        	    // MySQL.g:1822:4: UTC_TIME_SYMBOL ( time_function_parameters )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        UTC_TIME_SYMBOL1958 = (pANTLR3_COMMON_TOKEN) MATCHT(UTC_TIME_SYMBOL, &FOLLOW_UTC_TIME_SYMBOL_in_function_call10468);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        UTC_TIME_SYMBOL1958_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, UTC_TIME_SYMBOL1958));
        	        ADAPTOR->addChild(ADAPTOR, root_0, UTC_TIME_SYMBOL1958_tree);
        	        }

        	        // MySQL.g:1822:20: ( time_function_parameters )?
        	        {
        	            int alt577=2;
        	            switch ( LA(1) )
        	            {
        	                case OPEN_PAR_SYMBOL:
        	                	{
        	                		alt577=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt577)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1822:20: time_function_parameters
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_time_function_parameters_in_function_call10470);
        	        	        time_function_parameters1959=time_function_parameters(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulefunction_callEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, time_function_parameters1959.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 31:
        	    // MySQL.g:1823:4: UTC_TIMESTAMP_SYMBOL ( time_function_parameters )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        UTC_TIMESTAMP_SYMBOL1960 = (pANTLR3_COMMON_TOKEN) MATCHT(UTC_TIMESTAMP_SYMBOL, &FOLLOW_UTC_TIMESTAMP_SYMBOL_in_function_call10476);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        UTC_TIMESTAMP_SYMBOL1960_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, UTC_TIMESTAMP_SYMBOL1960));
        	        ADAPTOR->addChild(ADAPTOR, root_0, UTC_TIMESTAMP_SYMBOL1960_tree);
        	        }

        	        // MySQL.g:1823:25: ( time_function_parameters )?
        	        {
        	            int alt578=2;
        	            switch ( LA(1) )
        	            {
        	                case OPEN_PAR_SYMBOL:
        	                	{
        	                		alt578=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt578)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1823:25: time_function_parameters
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_time_function_parameters_in_function_call10478);
        	        	        time_function_parameters1961=time_function_parameters(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulefunction_callEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, time_function_parameters1961.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 32:
        	    // MySQL.g:1826:4: ASCII_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        ASCII_SYMBOL1962 = (pANTLR3_COMMON_TOKEN) MATCHT(ASCII_SYMBOL, &FOLLOW_ASCII_SYMBOL_in_function_call10487);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        ASCII_SYMBOL1962_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ASCII_SYMBOL1962));
        	        ADAPTOR->addChild(ADAPTOR, root_0, ASCII_SYMBOL1962_tree);
        	        }

        	        OPEN_PAR_SYMBOL1963 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_function_call10489);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL1963_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL1963));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL1963_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_function_call10491);
        	        expression1964=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression1964.tree);

        	        CLOSE_PAR_SYMBOL1965 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10493);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL1965_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL1965));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL1965_tree);
        	        }

        	    }
        	    break;
        	case 33:
        	    // MySQL.g:1827:4: CHARSET_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        CHARSET_SYMBOL1966 = (pANTLR3_COMMON_TOKEN) MATCHT(CHARSET_SYMBOL, &FOLLOW_CHARSET_SYMBOL_in_function_call10498);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CHARSET_SYMBOL1966_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CHARSET_SYMBOL1966));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CHARSET_SYMBOL1966_tree);
        	        }

        	        OPEN_PAR_SYMBOL1967 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_function_call10500);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL1967_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL1967));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL1967_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_function_call10502);
        	        expression1968=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression1968.tree);

        	        CLOSE_PAR_SYMBOL1969 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10504);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL1969_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL1969));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL1969_tree);
        	        }

        	    }
        	    break;
        	case 34:
        	    // MySQL.g:1828:4: COALESCE_SYMBOL expression_list_with_parentheses
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        COALESCE_SYMBOL1970 = (pANTLR3_COMMON_TOKEN) MATCHT(COALESCE_SYMBOL, &FOLLOW_COALESCE_SYMBOL_in_function_call10509);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        COALESCE_SYMBOL1970_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COALESCE_SYMBOL1970));
        	        ADAPTOR->addChild(ADAPTOR, root_0, COALESCE_SYMBOL1970_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_list_with_parentheses_in_function_call10511);
        	        expression_list_with_parentheses1971=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_parentheses1971.tree);

        	    }
        	    break;
        	case 35:
        	    // MySQL.g:1829:4: COLLATION_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        COLLATION_SYMBOL1972 = (pANTLR3_COMMON_TOKEN) MATCHT(COLLATION_SYMBOL, &FOLLOW_COLLATION_SYMBOL_in_function_call10516);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        COLLATION_SYMBOL1972_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COLLATION_SYMBOL1972));
        	        ADAPTOR->addChild(ADAPTOR, root_0, COLLATION_SYMBOL1972_tree);
        	        }

        	        OPEN_PAR_SYMBOL1973 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_function_call10518);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL1973_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL1973));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL1973_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_function_call10520);
        	        expression1974=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression1974.tree);

        	        CLOSE_PAR_SYMBOL1975 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10522);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL1975_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL1975));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL1975_tree);
        	        }

        	    }
        	    break;
        	case 36:
        	    // MySQL.g:1830:4: DATABASE_SYMBOL parentheses
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        DATABASE_SYMBOL1976 = (pANTLR3_COMMON_TOKEN) MATCHT(DATABASE_SYMBOL, &FOLLOW_DATABASE_SYMBOL_in_function_call10527);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        DATABASE_SYMBOL1976_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DATABASE_SYMBOL1976));
        	        ADAPTOR->addChild(ADAPTOR, root_0, DATABASE_SYMBOL1976_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_parentheses_in_function_call10529);
        	        parentheses1977=parentheses(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, parentheses1977.tree);

        	    }
        	    break;
        	case 37:
        	    // MySQL.g:1831: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_SYMBOL1978 = (pANTLR3_COMMON_TOKEN) MATCHT(IF_SYMBOL, &FOLLOW_IF_SYMBOL_in_function_call10534);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        IF_SYMBOL1978_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, IF_SYMBOL1978));
        	        ADAPTOR->addChild(ADAPTOR, root_0, IF_SYMBOL1978_tree);
        	        }

        	        OPEN_PAR_SYMBOL1979 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_function_call10536);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL1979_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL1979));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL1979_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_function_call10538);
        	        expression1980=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression1980.tree);

        	        COMMA_SYMBOL1981 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_function_call10540);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        COMMA_SYMBOL1981_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL1981));
        	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL1981_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_function_call10542);
        	        expression1982=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression1982.tree);

        	        COMMA_SYMBOL1983 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_function_call10544);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        COMMA_SYMBOL1983_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL1983));
        	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL1983_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_function_call10546);
        	        expression1984=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression1984.tree);

        	        CLOSE_PAR_SYMBOL1985 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10548);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL1985_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL1985));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL1985_tree);
        	        }

        	    }
        	    break;
        	case 38:
        	    // MySQL.g:1832: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_SYMBOL1986 = (pANTLR3_COMMON_TOKEN) MATCHT(FORMAT_SYMBOL, &FOLLOW_FORMAT_SYMBOL_in_function_call10553);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        FORMAT_SYMBOL1986_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, FORMAT_SYMBOL1986));
        	        ADAPTOR->addChild(ADAPTOR, root_0, FORMAT_SYMBOL1986_tree);
        	        }

        	        OPEN_PAR_SYMBOL1987 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_function_call10555);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL1987_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL1987));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL1987_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_function_call10557);
        	        expression1988=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression1988.tree);

        	        COMMA_SYMBOL1989 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_function_call10559);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        COMMA_SYMBOL1989_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL1989));
        	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL1989_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_function_call10561);
        	        expression1990=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression1990.tree);

        	        // MySQL.g:1832:69: ( COMMA_SYMBOL expression )?
        	        {
        	            int alt579=2;
        	            switch ( LA(1) )
        	            {
        	                case COMMA_SYMBOL:
        	                	{
        	                		alt579=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt579)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1832:70: COMMA_SYMBOL expression
        	        	    {
        	        	        COMMA_SYMBOL1991 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_function_call10564);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulefunction_callEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        COMMA_SYMBOL1991_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL1991));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL1991_tree);
        	        	        }

        	        	        FOLLOWPUSH(FOLLOW_expression_in_function_call10566);
        	        	        expression1992=expression(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulefunction_callEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression1992.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	        CLOSE_PAR_SYMBOL1993 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10570);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL1993_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL1993));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL1993_tree);
        	        }

        	    }
        	    break;
        	case 39:
        	    // MySQL.g:1833:4: MICROSECOND_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        MICROSECOND_SYMBOL1994 = (pANTLR3_COMMON_TOKEN) MATCHT(MICROSECOND_SYMBOL, &FOLLOW_MICROSECOND_SYMBOL_in_function_call10575);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        MICROSECOND_SYMBOL1994_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MICROSECOND_SYMBOL1994));
        	        ADAPTOR->addChild(ADAPTOR, root_0, MICROSECOND_SYMBOL1994_tree);
        	        }

        	        OPEN_PAR_SYMBOL1995 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_function_call10577);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL1995_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL1995));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL1995_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_function_call10579);
        	        expression1996=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression1996.tree);

        	        CLOSE_PAR_SYMBOL1997 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10581);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL1997_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL1997));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL1997_tree);
        	        }

        	    }
        	    break;
        	case 40:
        	    // MySQL.g:1834:4: MOD_SYMBOL OPEN_PAR_SYMBOL expression COMMA_SYMBOL expression CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        MOD_SYMBOL1998 = (pANTLR3_COMMON_TOKEN) MATCHT(MOD_SYMBOL, &FOLLOW_MOD_SYMBOL_in_function_call10586);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        MOD_SYMBOL1998_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MOD_SYMBOL1998));
        	        ADAPTOR->addChild(ADAPTOR, root_0, MOD_SYMBOL1998_tree);
        	        }

        	        OPEN_PAR_SYMBOL1999 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_function_call10588);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL1999_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL1999));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL1999_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_function_call10590);
        	        expression2000=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2000.tree);

        	        COMMA_SYMBOL2001 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_function_call10592);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        COMMA_SYMBOL2001_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL2001));
        	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL2001_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_function_call10594);
        	        expression2002=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2002.tree);

        	        CLOSE_PAR_SYMBOL2003 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10596);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL2003_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL2003));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL2003_tree);
        	        }

        	    }
        	    break;
        	case 41:
        	    // MySQL.g:1835:4: OLD_PASSWORD_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        OLD_PASSWORD_SYMBOL2004 = (pANTLR3_COMMON_TOKEN) MATCHT(OLD_PASSWORD_SYMBOL, &FOLLOW_OLD_PASSWORD_SYMBOL_in_function_call10601);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OLD_PASSWORD_SYMBOL2004_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OLD_PASSWORD_SYMBOL2004));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OLD_PASSWORD_SYMBOL2004_tree);
        	        }

        	        OPEN_PAR_SYMBOL2005 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_function_call10603);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL2005_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL2005));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL2005_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_function_call10605);
        	        expression2006=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2006.tree);

        	        CLOSE_PAR_SYMBOL2007 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10607);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL2007_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL2007));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL2007_tree);
        	        }

        	    }
        	    break;
        	case 42:
        	    // MySQL.g:1836:4: PASSWORD_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        PASSWORD_SYMBOL2008 = (pANTLR3_COMMON_TOKEN) MATCHT(PASSWORD_SYMBOL, &FOLLOW_PASSWORD_SYMBOL_in_function_call10612);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        PASSWORD_SYMBOL2008_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, PASSWORD_SYMBOL2008));
        	        ADAPTOR->addChild(ADAPTOR, root_0, PASSWORD_SYMBOL2008_tree);
        	        }

        	        OPEN_PAR_SYMBOL2009 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_function_call10614);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL2009_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL2009));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL2009_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_function_call10616);
        	        expression2010=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2010.tree);

        	        CLOSE_PAR_SYMBOL2011 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10618);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL2011_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL2011));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL2011_tree);
        	        }

        	    }
        	    break;
        	case 43:
        	    // MySQL.g:1837:4: QUARTER_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        QUARTER_SYMBOL2012 = (pANTLR3_COMMON_TOKEN) MATCHT(QUARTER_SYMBOL, &FOLLOW_QUARTER_SYMBOL_in_function_call10623);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        QUARTER_SYMBOL2012_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, QUARTER_SYMBOL2012));
        	        ADAPTOR->addChild(ADAPTOR, root_0, QUARTER_SYMBOL2012_tree);
        	        }

        	        OPEN_PAR_SYMBOL2013 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_function_call10625);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL2013_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL2013));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL2013_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_function_call10627);
        	        expression2014=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2014.tree);

        	        CLOSE_PAR_SYMBOL2015 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10629);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL2015_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL2015));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL2015_tree);
        	        }

        	    }
        	    break;
        	case 44:
        	    // MySQL.g:1838:4: REPEAT_SYMBOL OPEN_PAR_SYMBOL expression COMMA_SYMBOL expression CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        REPEAT_SYMBOL2016 = (pANTLR3_COMMON_TOKEN) MATCHT(REPEAT_SYMBOL, &FOLLOW_REPEAT_SYMBOL_in_function_call10634);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        REPEAT_SYMBOL2016_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, REPEAT_SYMBOL2016));
        	        ADAPTOR->addChild(ADAPTOR, root_0, REPEAT_SYMBOL2016_tree);
        	        }

        	        OPEN_PAR_SYMBOL2017 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_function_call10636);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL2017_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL2017));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL2017_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_function_call10638);
        	        expression2018=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2018.tree);

        	        COMMA_SYMBOL2019 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_function_call10640);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        COMMA_SYMBOL2019_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL2019));
        	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL2019_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_function_call10642);
        	        expression2020=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2020.tree);

        	        CLOSE_PAR_SYMBOL2021 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10644);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL2021_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL2021));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL2021_tree);
        	        }

        	    }
        	    break;
        	case 45:
        	    // MySQL.g:1839: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_SYMBOL2022 = (pANTLR3_COMMON_TOKEN) MATCHT(REPLACE_SYMBOL, &FOLLOW_REPLACE_SYMBOL_in_function_call10649);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        REPLACE_SYMBOL2022_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, REPLACE_SYMBOL2022));
        	        ADAPTOR->addChild(ADAPTOR, root_0, REPLACE_SYMBOL2022_tree);
        	        }

        	        OPEN_PAR_SYMBOL2023 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_function_call10651);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL2023_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL2023));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL2023_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_function_call10653);
        	        expression2024=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2024.tree);

        	        COMMA_SYMBOL2025 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_function_call10655);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        COMMA_SYMBOL2025_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL2025));
        	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL2025_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_function_call10657);
        	        expression2026=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2026.tree);

        	        COMMA_SYMBOL2027 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_function_call10659);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        COMMA_SYMBOL2027_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL2027));
        	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL2027_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_function_call10661);
        	        expression2028=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2028.tree);

        	        CLOSE_PAR_SYMBOL2029 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10663);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL2029_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL2029));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL2029_tree);
        	        }

        	    }
        	    break;
        	case 46:
        	    // MySQL.g:1840:4: REVERSE_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        REVERSE_SYMBOL2030 = (pANTLR3_COMMON_TOKEN) MATCHT(REVERSE_SYMBOL, &FOLLOW_REVERSE_SYMBOL_in_function_call10668);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        REVERSE_SYMBOL2030_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, REVERSE_SYMBOL2030));
        	        ADAPTOR->addChild(ADAPTOR, root_0, REVERSE_SYMBOL2030_tree);
        	        }

        	        OPEN_PAR_SYMBOL2031 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_function_call10670);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL2031_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL2031));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL2031_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_function_call10672);
        	        expression2032=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2032.tree);

        	        CLOSE_PAR_SYMBOL2033 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10674);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL2033_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL2033));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL2033_tree);
        	        }

        	    }
        	    break;
        	case 47:
        	    // MySQL.g:1841:4: ROW_COUNT_SYMBOL parentheses
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        ROW_COUNT_SYMBOL2034 = (pANTLR3_COMMON_TOKEN) MATCHT(ROW_COUNT_SYMBOL, &FOLLOW_ROW_COUNT_SYMBOL_in_function_call10679);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        ROW_COUNT_SYMBOL2034_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ROW_COUNT_SYMBOL2034));
        	        ADAPTOR->addChild(ADAPTOR, root_0, ROW_COUNT_SYMBOL2034_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_parentheses_in_function_call10681);
        	        parentheses2035=parentheses(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, parentheses2035.tree);

        	    }
        	    break;
        	case 48:
        	    // MySQL.g:1842:4: TRUNCATE_SYMBOL OPEN_PAR_SYMBOL expression COMMA_SYMBOL expression CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        TRUNCATE_SYMBOL2036 = (pANTLR3_COMMON_TOKEN) MATCHT(TRUNCATE_SYMBOL, &FOLLOW_TRUNCATE_SYMBOL_in_function_call10686);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        TRUNCATE_SYMBOL2036_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, TRUNCATE_SYMBOL2036));
        	        ADAPTOR->addChild(ADAPTOR, root_0, TRUNCATE_SYMBOL2036_tree);
        	        }

        	        OPEN_PAR_SYMBOL2037 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_function_call10688);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL2037_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL2037));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL2037_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_function_call10690);
        	        expression2038=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2038.tree);

        	        COMMA_SYMBOL2039 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_function_call10692);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        COMMA_SYMBOL2039_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL2039));
        	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL2039_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_function_call10694);
        	        expression2040=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2040.tree);

        	        CLOSE_PAR_SYMBOL2041 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10696);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL2041_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL2041));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL2041_tree);
        	        }

        	    }
        	    break;
        	case 49:
        	    // MySQL.g:1843:4: WEEK_SYMBOL OPEN_PAR_SYMBOL expression ( COMMA_SYMBOL expression )? CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        WEEK_SYMBOL2042 = (pANTLR3_COMMON_TOKEN) MATCHT(WEEK_SYMBOL, &FOLLOW_WEEK_SYMBOL_in_function_call10701);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        WEEK_SYMBOL2042_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, WEEK_SYMBOL2042));
        	        ADAPTOR->addChild(ADAPTOR, root_0, WEEK_SYMBOL2042_tree);
        	        }

        	        OPEN_PAR_SYMBOL2043 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_function_call10703);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL2043_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL2043));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL2043_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_function_call10705);
        	        expression2044=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2044.tree);

        	        // MySQL.g:1843:43: ( COMMA_SYMBOL expression )?
        	        {
        	            int alt580=2;
        	            switch ( LA(1) )
        	            {
        	                case COMMA_SYMBOL:
        	                	{
        	                		alt580=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt580)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1843:44: COMMA_SYMBOL expression
        	        	    {
        	        	        COMMA_SYMBOL2045 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_function_call10708);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulefunction_callEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        COMMA_SYMBOL2045_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL2045));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL2045_tree);
        	        	        }

        	        	        FOLLOWPUSH(FOLLOW_expression_in_function_call10710);
        	        	        expression2046=expression(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulefunction_callEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2046.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	        CLOSE_PAR_SYMBOL2047 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10714);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL2047_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL2047));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL2047_tree);
        	        }

        	    }
        	    break;
        	case 50:
        	    // MySQL.g:1844: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_SYMBOL2048 = (pANTLR3_COMMON_TOKEN) MATCHT(WEIGHT_STRING_SYMBOL, &FOLLOW_WEIGHT_STRING_SYMBOL_in_function_call10723);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        WEIGHT_STRING_SYMBOL2048_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, WEIGHT_STRING_SYMBOL2048));
        	        ADAPTOR->addChild(ADAPTOR, root_0, WEIGHT_STRING_SYMBOL2048_tree);
        	        }

        	        OPEN_PAR_SYMBOL2049 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_function_call10725);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL2049_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL2049));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL2049_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_function_call10727);
        	        expression2050=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2050.tree);

        	        // MySQL.g:1845: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 alt583=3;
        	            switch ( LA(1) )
        	            {
        	            case AS_SYMBOL:
        	            	{
        	            		switch ( LA(2) )
        	            		{
        	            		case CHAR_SYMBOL:
        	            			{
        	            				alt583=1;
        	            			}
        	            		    break;
        	            		case BINARY_SYMBOL:
        	            			{
        	            				alt583=2;
        	            			}
        	            		    break;

        	            		default:
        	            		    if (BACKTRACKING>0)
        	            		    {
        	            		        FAILEDFLAG = ANTLR3_TRUE;
        	            		        return retval;
        	            		    }

        	            		    CONSTRUCTEX();
        	            		    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	            		    EXCEPTION->message      = (void *)"";
        	            		    EXCEPTION->decisionNum  = 583;
        	            		    EXCEPTION->state        = 1;


        	            		    goto rulefunction_callEx;

        	            		}

        	            	}
        	                break;
        	            case LEVEL_SYMBOL:
        	            case CLOSE_PAR_SYMBOL:
        	            	{
        	            		alt583=1;
        	            	}
        	                break;
        	            case COMMA_SYMBOL:
        	            	{
        	            		alt583=3;
        	            	}
        	                break;

        	            default:
        	                if (BACKTRACKING>0)
        	                {
        	                    FAILEDFLAG = ANTLR3_TRUE;
        	                    return retval;
        	                }

        	                CONSTRUCTEX();
        	                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                EXCEPTION->message      = (void *)"";
        	                EXCEPTION->decisionNum  = 583;
        	                EXCEPTION->state        = 0;


        	                goto rulefunction_callEx;

        	            }

        	            switch (alt583)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1846:4: ( AS_SYMBOL CHAR_SYMBOL field_length )? ( weight_string_levels )?
        	        	    {
        	        	        // MySQL.g:1846:4: ( AS_SYMBOL CHAR_SYMBOL field_length )?
        	        	        {
        	        	            int alt581=2;
        	        	            switch ( LA(1) )
        	        	            {
        	        	                case AS_SYMBOL:
        	        	                	{
        	        	                		alt581=1;
        	        	                	}
        	        	                    break;
        	        	            }

        	        	            switch (alt581)
        	        	            {
        	        	        	case 1:
        	        	        	    // MySQL.g:1846:5: AS_SYMBOL CHAR_SYMBOL field_length
        	        	        	    {
        	        	        	        AS_SYMBOL2051 = (pANTLR3_COMMON_TOKEN) MATCHT(AS_SYMBOL, &FOLLOW_AS_SYMBOL_in_function_call10737);
        	        	        	        if  (HASEXCEPTION())
        	        	        	        {
        	        	        	            goto rulefunction_callEx;
        	        	        	        }
        	        	        	        if (HASFAILED())
        	        	        	        {
        	        	        	            return retval;
        	        	        	        }

        	        	        	        if ( BACKTRACKING==0 ) {
        	        	        	        AS_SYMBOL2051_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, AS_SYMBOL2051));
        	        	        	        ADAPTOR->addChild(ADAPTOR, root_0, AS_SYMBOL2051_tree);
        	        	        	        }

        	        	        	        CHAR_SYMBOL2052 = (pANTLR3_COMMON_TOKEN) MATCHT(CHAR_SYMBOL, &FOLLOW_CHAR_SYMBOL_in_function_call10739);
        	        	        	        if  (HASEXCEPTION())
        	        	        	        {
        	        	        	            goto rulefunction_callEx;
        	        	        	        }
        	        	        	        if (HASFAILED())
        	        	        	        {
        	        	        	            return retval;
        	        	        	        }

        	        	        	        if ( BACKTRACKING==0 ) {
        	        	        	        CHAR_SYMBOL2052_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CHAR_SYMBOL2052));
        	        	        	        ADAPTOR->addChild(ADAPTOR, root_0, CHAR_SYMBOL2052_tree);
        	        	        	        }

        	        	        	        FOLLOWPUSH(FOLLOW_field_length_in_function_call10741);
        	        	        	        field_length2053=field_length(ctx);

        	        	        	        FOLLOWPOP();
        	        	        	        if  (HASEXCEPTION())
        	        	        	        {
        	        	        	            goto rulefunction_callEx;
        	        	        	        }
        	        	        	        if (HASFAILED())
        	        	        	        {
        	        	        	            return retval;
        	        	        	        }

        	        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, field_length2053.tree);

        	        	        	    }
        	        	        	    break;

        	        	            }
        	        	        }

        	        	        // MySQL.g:1846:42: ( weight_string_levels )?
        	        	        {
        	        	            int alt582=2;
        	        	            switch ( LA(1) )
        	        	            {
        	        	                case LEVEL_SYMBOL:
        	        	                	{
        	        	                		alt582=1;
        	        	                	}
        	        	                    break;
        	        	            }

        	        	            switch (alt582)
        	        	            {
        	        	        	case 1:
        	        	        	    // MySQL.g:1846:42: weight_string_levels
        	        	        	    {
        	        	        	        FOLLOWPUSH(FOLLOW_weight_string_levels_in_function_call10745);
        	        	        	        weight_string_levels2054=weight_string_levels(ctx);

        	        	        	        FOLLOWPOP();
        	        	        	        if  (HASEXCEPTION())
        	        	        	        {
        	        	        	            goto rulefunction_callEx;
        	        	        	        }
        	        	        	        if (HASFAILED())
        	        	        	        {
        	        	        	            return retval;
        	        	        	        }

        	        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, weight_string_levels2054.tree);

        	        	        	    }
        	        	        	    break;

        	        	            }
        	        	        }

        	        	    }
        	        	    break;
        	        	case 2:
        	        	    // MySQL.g:1847:6: AS_SYMBOL BINARY_SYMBOL field_length
        	        	    {
        	        	        AS_SYMBOL2055 = (pANTLR3_COMMON_TOKEN) MATCHT(AS_SYMBOL, &FOLLOW_AS_SYMBOL_in_function_call10753);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulefunction_callEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        AS_SYMBOL2055_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, AS_SYMBOL2055));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, AS_SYMBOL2055_tree);
        	        	        }

        	        	        BINARY_SYMBOL2056 = (pANTLR3_COMMON_TOKEN) MATCHT(BINARY_SYMBOL, &FOLLOW_BINARY_SYMBOL_in_function_call10755);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulefunction_callEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        BINARY_SYMBOL2056_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, BINARY_SYMBOL2056));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, BINARY_SYMBOL2056_tree);
        	        	        }

        	        	        FOLLOWPUSH(FOLLOW_field_length_in_function_call10757);
        	        	        field_length2057=field_length(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulefunction_callEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, field_length2057.tree);

        	        	    }
        	        	    break;
        	        	case 3:
        	        	    // MySQL.g:1848:6: COMMA_SYMBOL INTEGER COMMA_SYMBOL INTEGER COMMA_SYMBOL INTEGER
        	        	    {
        	        	        COMMA_SYMBOL2058 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_function_call10764);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulefunction_callEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        COMMA_SYMBOL2058_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL2058));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL2058_tree);
        	        	        }

        	        	        INTEGER2059 = (pANTLR3_COMMON_TOKEN) MATCHT(INTEGER, &FOLLOW_INTEGER_in_function_call10766);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulefunction_callEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        INTEGER2059_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INTEGER2059));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, INTEGER2059_tree);
        	        	        }

        	        	        COMMA_SYMBOL2060 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_function_call10768);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulefunction_callEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        COMMA_SYMBOL2060_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL2060));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL2060_tree);
        	        	        }

        	        	        INTEGER2061 = (pANTLR3_COMMON_TOKEN) MATCHT(INTEGER, &FOLLOW_INTEGER_in_function_call10770);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulefunction_callEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        INTEGER2061_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INTEGER2061));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, INTEGER2061_tree);
        	        	        }

        	        	        COMMA_SYMBOL2062 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_function_call10772);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulefunction_callEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        COMMA_SYMBOL2062_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL2062));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL2062_tree);
        	        	        }

        	        	        INTEGER2063 = (pANTLR3_COMMON_TOKEN) MATCHT(INTEGER, &FOLLOW_INTEGER_in_function_call10774);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulefunction_callEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        INTEGER2063_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INTEGER2063));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, INTEGER2063_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	        CLOSE_PAR_SYMBOL2064 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_function_call10782);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL2064_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL2064));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL2064_tree);
        	        }

        	    }
        	    break;
        	case 51:
        	    // MySQL.g:1851:4: geometry_function
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_geometry_function_in_function_call10787);
        	        geometry_function2065=geometry_function(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, geometry_function2065.tree);

        	    }
        	    break;
        	case 52:
        	    // MySQL.g:1852:4: aggregate_function
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_aggregate_function_in_function_call10792);
        	        aggregate_function2066=aggregate_function(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefunction_callEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, aggregate_function2066.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:1855: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_SYMBOL2067;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2069;
    MySQLParser_fractional_precision_return fractional_precision2068;
    #undef	RETURN_TYPE_fractional_precision2068
    #define	RETURN_TYPE_fractional_precision2068 MySQLParser_fractional_precision_return

    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2067_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2069_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    OPEN_PAR_SYMBOL2067       = NULL;
    CLOSE_PAR_SYMBOL2069       = NULL;
    fractional_precision2068.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    OPEN_PAR_SYMBOL2067_tree   = NULL;
    CLOSE_PAR_SYMBOL2069_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1855:25: ( OPEN_PAR_SYMBOL ( fractional_precision )? CLOSE_PAR_SYMBOL )
        // MySQL.g:1856:2: OPEN_PAR_SYMBOL ( fractional_precision )? CLOSE_PAR_SYMBOL
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            OPEN_PAR_SYMBOL2067 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_time_function_parameters10801);
            if  (HASEXCEPTION())
            {
                goto ruletime_function_parametersEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            OPEN_PAR_SYMBOL2067_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL2067));
            ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL2067_tree);
            }

            // MySQL.g:1856:18: ( fractional_precision )?
            {
                int alt585=2;
                {
                    int LA585_0 = LA(1);
                    if ( ((SERVER_VERSION >= 50604)) && (LA585_0 == INTEGER))
                    {
                        alt585=1;
                    }
                }
                switch (alt585)
                {
            	case 1:
            	    // MySQL.g:1856:18: fractional_precision
            	    {
            	        FOLLOWPUSH(FOLLOW_fractional_precision_in_time_function_parameters10803);
            	        fractional_precision2068=fractional_precision(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruletime_function_parametersEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, fractional_precision2068.tree);

            	    }
            	    break;

                }
            }

            CLOSE_PAR_SYMBOL2069 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_time_function_parameters10806);
            if  (HASEXCEPTION())
            {
                goto ruletime_function_parametersEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            CLOSE_PAR_SYMBOL2069_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL2069));
            ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL2069_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:1859: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    INTEGER2070;

    pANTLR3_BASE_TREE INTEGER2070_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    INTEGER2070       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    INTEGER2070_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1859:21: ({...}? => INTEGER )
        // MySQL.g:1860: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";


            }

            INTEGER2070 = (pANTLR3_COMMON_TOKEN) MATCHT(INTEGER, &FOLLOW_INTEGER_in_fractional_precision10819);
            if  (HASEXCEPTION())
            {
                goto rulefractional_precisionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            INTEGER2070_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INTEGER2070));
            ADAPTOR->addChild(ADAPTOR, root_0, INTEGER2070_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:1863: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_SYMBOL2071;
    pANTLR3_COMMON_TOKEN    INTEGER2072;
    pANTLR3_COMMON_TOKEN    MINUS_OPERATOR2073;
    pANTLR3_COMMON_TOKEN    INTEGER2074;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL2076;
    MySQLParser_weight_string_level_list_item_return weight_string_level_list_item2075;
    #undef	RETURN_TYPE_weight_string_level_list_item2075
    #define	RETURN_TYPE_weight_string_level_list_item2075 MySQLParser_weight_string_level_list_item_return

    MySQLParser_weight_string_level_list_item_return weight_string_level_list_item2077;
    #undef	RETURN_TYPE_weight_string_level_list_item2077
    #define	RETURN_TYPE_weight_string_level_list_item2077 MySQLParser_weight_string_level_list_item_return

    pANTLR3_BASE_TREE LEVEL_SYMBOL2071_tree;
    pANTLR3_BASE_TREE INTEGER2072_tree;
    pANTLR3_BASE_TREE MINUS_OPERATOR2073_tree;
    pANTLR3_BASE_TREE INTEGER2074_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL2076_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    LEVEL_SYMBOL2071       = NULL;
    INTEGER2072       = NULL;
    MINUS_OPERATOR2073       = NULL;
    INTEGER2074       = NULL;
    COMMA_SYMBOL2076       = NULL;
    weight_string_level_list_item2075.tree = NULL;

    weight_string_level_list_item2077.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    LEVEL_SYMBOL2071_tree   = NULL;
    INTEGER2072_tree   = NULL;
    MINUS_OPERATOR2073_tree   = NULL;
    INTEGER2074_tree   = NULL;
    COMMA_SYMBOL2076_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1863:21: ( LEVEL_SYMBOL ( INTEGER MINUS_OPERATOR INTEGER | weight_string_level_list_item ( COMMA_SYMBOL weight_string_level_list_item )* ) )
        // MySQL.g:1864: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_SYMBOL2071 = (pANTLR3_COMMON_TOKEN) MATCHT(LEVEL_SYMBOL, &FOLLOW_LEVEL_SYMBOL_in_weight_string_levels10828);
            if  (HASEXCEPTION())
            {
                goto ruleweight_string_levelsEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            LEVEL_SYMBOL2071_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, LEVEL_SYMBOL2071));
            ADAPTOR->addChild(ADAPTOR, root_0, LEVEL_SYMBOL2071_tree);
            }

            // MySQL.g:1865:3: ( INTEGER MINUS_OPERATOR INTEGER | weight_string_level_list_item ( COMMA_SYMBOL weight_string_level_list_item )* )
            {
                int alt587=2;
                switch ( LA(1) )
                {
                case INTEGER:
                	{
                		switch ( LA(2) )
                		{
                		case MINUS_OPERATOR:
                			{
                				alt587=1;
                			}
                		    break;
                		case REVERSE_SYMBOL:
                		case ASC_SYMBOL:
                		case CLOSE_PAR_SYMBOL:
                		case COMMA_SYMBOL:
                		case DESC_SYMBOL:
                			{
                				alt587=2;
                			}
                		    break;

                		default:
                		    if (BACKTRACKING>0)
                		    {
                		        FAILEDFLAG = ANTLR3_TRUE;
                		        return retval;
                		    }

                		    CONSTRUCTEX();
                		    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                		    EXCEPTION->message      = (void *)"";
                		    EXCEPTION->decisionNum  = 587;
                		    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  = 587;
                    EXCEPTION->state        = 0;


                    goto ruleweight_string_levelsEx;

                }

                switch (alt587)
                {
            	case 1:
            	    // MySQL.g:1866:4: INTEGER MINUS_OPERATOR INTEGER
            	    {
            	        INTEGER2072 = (pANTLR3_COMMON_TOKEN) MATCHT(INTEGER, &FOLLOW_INTEGER_in_weight_string_levels10837);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleweight_string_levelsEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        INTEGER2072_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INTEGER2072));
            	        ADAPTOR->addChild(ADAPTOR, root_0, INTEGER2072_tree);
            	        }

            	        MINUS_OPERATOR2073 = (pANTLR3_COMMON_TOKEN) MATCHT(MINUS_OPERATOR, &FOLLOW_MINUS_OPERATOR_in_weight_string_levels10839);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleweight_string_levelsEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        MINUS_OPERATOR2073_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MINUS_OPERATOR2073));
            	        ADAPTOR->addChild(ADAPTOR, root_0, MINUS_OPERATOR2073_tree);
            	        }

            	        INTEGER2074 = (pANTLR3_COMMON_TOKEN) MATCHT(INTEGER, &FOLLOW_INTEGER_in_weight_string_levels10841);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleweight_string_levelsEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        INTEGER2074_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INTEGER2074));
            	        ADAPTOR->addChild(ADAPTOR, root_0, INTEGER2074_tree);
            	        }

            	    }
            	    break;
            	case 2:
            	    // MySQL.g:1867:6: weight_string_level_list_item ( COMMA_SYMBOL weight_string_level_list_item )*
            	    {
            	        FOLLOWPUSH(FOLLOW_weight_string_level_list_item_in_weight_string_levels10848);
            	        weight_string_level_list_item2075=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_item2075.tree);

            	        // MySQL.g:1867:36: ( COMMA_SYMBOL weight_string_level_list_item )*

            	        for (;;)
            	        {
            	            int alt586=2;
            	            switch ( LA(1) )
            	            {
            	            case COMMA_SYMBOL:
            	            	{
            	            		alt586=1;
            	            	}
            	                break;

            	            }

            	            switch (alt586)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1867:37: COMMA_SYMBOL weight_string_level_list_item
            	        	    {
            	        	        COMMA_SYMBOL2076 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_weight_string_levels10851);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleweight_string_levelsEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        COMMA_SYMBOL2076_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL2076));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL2076_tree);
            	        	        }

            	        	        FOLLOWPUSH(FOLLOW_weight_string_level_list_item_in_weight_string_levels10853);
            	        	        weight_string_level_list_item2077=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_item2077.tree);

            	        	    }
            	        	    break;

            	        	default:
            	        	    goto loop586;	/* break out of the loop */
            	        	    break;
            	            }
            	        }
            	        loop586: ; /* 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:1871: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    INTEGER2078;
    pANTLR3_COMMON_TOKEN    set2079;
    pANTLR3_COMMON_TOKEN    REVERSE_SYMBOL2080;
    pANTLR3_COMMON_TOKEN    REVERSE_SYMBOL2081;

    pANTLR3_BASE_TREE INTEGER2078_tree;
    pANTLR3_BASE_TREE set2079_tree;
    pANTLR3_BASE_TREE REVERSE_SYMBOL2080_tree;
    pANTLR3_BASE_TREE REVERSE_SYMBOL2081_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    INTEGER2078       = NULL;
    set2079       = NULL;
    REVERSE_SYMBOL2080       = NULL;
    REVERSE_SYMBOL2081       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    INTEGER2078_tree   = NULL;
    set2079_tree   = NULL;
    REVERSE_SYMBOL2080_tree   = NULL;
    REVERSE_SYMBOL2081_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1871:30: ( INTEGER ( ( ASC_SYMBOL | DESC_SYMBOL ) ( REVERSE_SYMBOL )? | REVERSE_SYMBOL )? )
        // MySQL.g:1872:2: INTEGER ( ( ASC_SYMBOL | DESC_SYMBOL ) ( REVERSE_SYMBOL )? | REVERSE_SYMBOL )?
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            INTEGER2078 = (pANTLR3_COMMON_TOKEN) MATCHT(INTEGER, &FOLLOW_INTEGER_in_weight_string_level_list_item10868);
            if  (HASEXCEPTION())
            {
                goto ruleweight_string_level_list_itemEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            INTEGER2078_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INTEGER2078));
            ADAPTOR->addChild(ADAPTOR, root_0, INTEGER2078_tree);
            }

            // MySQL.g:1873:3: ( ( ASC_SYMBOL | DESC_SYMBOL ) ( REVERSE_SYMBOL )? | REVERSE_SYMBOL )?
            {
                int alt589=3;
                switch ( LA(1) )
                {
                    case ASC_SYMBOL:
                    case DESC_SYMBOL:
                    	{
                    		alt589=1;
                    	}
                        break;
                    case REVERSE_SYMBOL:
                    	{
                    		alt589=2;
                    	}
                        break;
                }

                switch (alt589)
                {
            	case 1:
            	    // MySQL.g:1874:4: ( ASC_SYMBOL | DESC_SYMBOL ) ( REVERSE_SYMBOL )?
            	    {
            	        set2079=(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, set2079))
            	            );
            	            PERRORRECOVERY=ANTLR3_FALSE;
            	            FAILEDFLAG=ANTLR3_FALSE;

            	        }
            	        else
            	        {
            	            if (BACKTRACKING>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:1874:31: ( REVERSE_SYMBOL )?
            	        {
            	            int alt588=2;
            	            switch ( LA(1) )
            	            {
            	                case REVERSE_SYMBOL:
            	                	{
            	                		alt588=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt588)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1874:31: REVERSE_SYMBOL
            	        	    {
            	        	        REVERSE_SYMBOL2080 = (pANTLR3_COMMON_TOKEN) MATCHT(REVERSE_SYMBOL, &FOLLOW_REVERSE_SYMBOL_in_weight_string_level_list_item10885);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleweight_string_level_list_itemEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        REVERSE_SYMBOL2080_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, REVERSE_SYMBOL2080));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, REVERSE_SYMBOL2080_tree);
            	        	        }

            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;
            	case 2:
            	    // MySQL.g:1875:6: REVERSE_SYMBOL
            	    {
            	        REVERSE_SYMBOL2081 = (pANTLR3_COMMON_TOKEN) MATCHT(REVERSE_SYMBOL, &FOLLOW_REVERSE_SYMBOL_in_weight_string_level_list_item10893);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleweight_string_level_list_itemEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        REVERSE_SYMBOL2081_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, REVERSE_SYMBOL2081));
            	        ADAPTOR->addChild(ADAPTOR, root_0, REVERSE_SYMBOL2081_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:1879: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_SYMBOL2083;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2085;
    MySQLParser_qualified_identifier_return qualified_identifier2082;
    #undef	RETURN_TYPE_qualified_identifier2082
    #define	RETURN_TYPE_qualified_identifier2082 MySQLParser_qualified_identifier_return

    MySQLParser_expression_list_return expression_list2084;
    #undef	RETURN_TYPE_expression_list2084
    #define	RETURN_TYPE_expression_list2084 MySQLParser_expression_list_return

    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2083_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2085_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_SYMBOL2083       = NULL;
    CLOSE_PAR_SYMBOL2085       = NULL;
    qualified_identifier2082.tree = NULL;

    expression_list2084.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    OPEN_PAR_SYMBOL2083_tree   = NULL;
    CLOSE_PAR_SYMBOL2085_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:1879: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:1880:2: qualified_identifier OPEN_PAR_SYMBOL ( expression_list )? CLOSE_PAR_SYMBOL
        {
            FOLLOWPUSH(FOLLOW_qualified_identifier_in_generic_function_call10907);
            qualified_identifier2082=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_identifier2082.tree, NULL); }

            OPEN_PAR_SYMBOL2083 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_generic_function_call10909);
            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_SYMBOL2083, NULL); }


            // MySQL.g:1880:39: ( expression_list )?
            {
                int alt590=2;
                {
                    int LA590_0 = LA(1);
                    if ( (LA590_0 == BITWISE_NOT_OPERATOR || LA590_0 == INTERVAL_SYMBOL || LA590_0 == LOGICAL_NOT_OPERATOR || LA590_0 == MINUS_OPERATOR || LA590_0 == NCHAR_TEXT || LA590_0 == NOT2_SYMBOL || LA590_0 == NOT_SYMBOL || LA590_0 == PLUS_OPERATOR || LA590_0 == SINGLE_QUOTED_TEXT || LA590_0 == UNDERSCORE_CHARSET))
                    {
                        alt590=1;
                    }
                    else if ( ((((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES)))||((!SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))))) && (LA590_0 == DOUBLE_QUOTED_TEXT))
                    {
                        alt590=1;
                    }
                    else if ( (LA590_0 == FALSE_SYMBOL || LA590_0 == FLOAT || ((LA590_0 >= HEXNUMBER) && (LA590_0 <= HEXSTRING)) || LA590_0 == INTEGER || LA590_0 == TRUE_SYMBOL))
                    {
                        alt590=1;
                    }
                    else if ( ((SERVER_VERSION >= 50003)) && (((LA590_0 >= BITNUMBER) && (LA590_0 <= BITSTRING))))
                    {
                        alt590=1;
                    }
                    else if ( (((LA590_0 >= ACTION_SYMBOL) && (LA590_0 <= PARTITION_SYMBOL)) || ((LA590_0 >= AT_AT_SIGN_SYMBOL) && (LA590_0 <= AT_SIGN_SYMBOL)) || LA590_0 == BACK_TICK_QUOTED_ID || LA590_0 == BINARY_SYMBOL || ((LA590_0 >= BIT_AND_SYMBOL) && (LA590_0 <= BIT_XOR_SYMBOL)) || ((LA590_0 >= CASE_SYMBOL) && (LA590_0 <= CAST_SYMBOL)) || LA590_0 == CHAR_SYMBOL || ((LA590_0 >= CONVERT_SYMBOL) && (LA590_0 <= COUNT_SYMBOL)) || LA590_0 == CURDATE_SYMBOL || LA590_0 == CURRENT_USER_SYMBOL || LA590_0 == CURTIME_SYMBOL || LA590_0 == DATABASE_SYMBOL || LA590_0 == DATE_ADD_SYMBOL || LA590_0 == DATE_SUB_SYMBOL || LA590_0 == DOT_SYMBOL || LA590_0 == EXISTS_SYMBOL || LA590_0 == EXTRACT_SYMBOL || LA590_0 == GROUP_CONCAT_SYMBOL || ((LA590_0 >= IDENTIFIER) && (LA590_0 <= IF_SYMBOL)) || LA590_0 == INSERT_SYMBOL || LA590_0 == LEFT_SYMBOL || LA590_0 == MATCH_SYMBOL || LA590_0 == MAX_SYMBOL || LA590_0 == MIN_SYMBOL || LA590_0 == MOD_SYMBOL || LA590_0 == NOW_SYMBOL || LA590_0 == NULL2_SYMBOL || LA590_0 == NULL_SYMBOL || ((LA590_0 >= OPEN_CURLY_SYMBOL) && (LA590_0 <= OPEN_PAR_SYMBOL)) || LA590_0 == PARAM_MARKER || LA590_0 == POSITION_SYMBOL || ((LA590_0 >= REPEAT_SYMBOL) && (LA590_0 <= REPLACE_SYMBOL)) || LA590_0 == RIGHT_SYMBOL || LA590_0 == STDDEV_SAMP_SYMBOL || LA590_0 == STD_SYMBOL || LA590_0 == SUBSTRING_SYMBOL || ((LA590_0 >= SUM_SYMBOL) && (LA590_0 <= SYSDATE_SYMBOL)) || LA590_0 == TRIM_SYMBOL || ((LA590_0 >= UTC_DATE_SYMBOL) && (LA590_0 <= VALUES_SYMBOL)) || LA590_0 == VARIANCE_SYMBOL || LA590_0 == VAR_SAMP_SYMBOL))
                    {
                        alt590=1;
                    }
                }
                switch (alt590)
                {
            	case 1:
            	    // MySQL.g:1880:39: expression_list
            	    {
            	        FOLLOWPUSH(FOLLOW_expression_list_in_generic_function_call10911);
            	        expression_list2084=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_list2084.tree, NULL); }

            	    }
            	    break;

                }
            }

            CLOSE_PAR_SYMBOL2085 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_generic_function_call10914);
            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_SYMBOL2085, NULL); }


            /* AST REWRITE
             * elements          : CLOSE_PAR_SYMBOL, OPEN_PAR_SYMBOL, expression_list, 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;
            	// 1881:4: -> ^( FUNCTION_CALL qualified_identifier OPEN_PAR_SYMBOL ( expression_list )? CLOSE_PAR_SYMBOL )
            	{
            	    // MySQL.g:1881: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:1881: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:1884: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    set2086;

    pANTLR3_BASE_TREE set2086_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    set2086       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    set2086_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1884:15: ( DATE_SYMBOL | TIME_SYMBOL | DATETIME_SYMBOL | TIMESTAMP_SYMBOL )
        // MySQL.g:
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            set2086=(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, set2086))
                );
                PERRORRECOVERY=ANTLR3_FALSE;
                FAILEDFLAG=ANTLR3_FALSE;

            }
            else
            {
                if (BACKTRACKING>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:1891: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_SYMBOL2087;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL2088;
    pANTLR3_COMMON_TOKEN    FROM_SYMBOL2090;
    pANTLR3_COMMON_TOKEN    LEADING_SYMBOL2092;
    pANTLR3_COMMON_TOKEN    FROM_SYMBOL2094;
    pANTLR3_COMMON_TOKEN    TRAILING_SYMBOL2096;
    pANTLR3_COMMON_TOKEN    FROM_SYMBOL2098;
    pANTLR3_COMMON_TOKEN    BOTH_SYMBOL2100;
    pANTLR3_COMMON_TOKEN    FROM_SYMBOL2102;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2104;
    MySQLParser_expression_return expression2089;
    #undef	RETURN_TYPE_expression2089
    #define	RETURN_TYPE_expression2089 MySQLParser_expression_return

    MySQLParser_expression_return expression2091;
    #undef	RETURN_TYPE_expression2091
    #define	RETURN_TYPE_expression2091 MySQLParser_expression_return

    MySQLParser_expression_return expression2093;
    #undef	RETURN_TYPE_expression2093
    #define	RETURN_TYPE_expression2093 MySQLParser_expression_return

    MySQLParser_expression_return expression2095;
    #undef	RETURN_TYPE_expression2095
    #define	RETURN_TYPE_expression2095 MySQLParser_expression_return

    MySQLParser_expression_return expression2097;
    #undef	RETURN_TYPE_expression2097
    #define	RETURN_TYPE_expression2097 MySQLParser_expression_return

    MySQLParser_expression_return expression2099;
    #undef	RETURN_TYPE_expression2099
    #define	RETURN_TYPE_expression2099 MySQLParser_expression_return

    MySQLParser_expression_return expression2101;
    #undef	RETURN_TYPE_expression2101
    #define	RETURN_TYPE_expression2101 MySQLParser_expression_return

    MySQLParser_expression_return expression2103;
    #undef	RETURN_TYPE_expression2103
    #define	RETURN_TYPE_expression2103 MySQLParser_expression_return

    pANTLR3_BASE_TREE TRIM_SYMBOL2087_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2088_tree;
    pANTLR3_BASE_TREE FROM_SYMBOL2090_tree;
    pANTLR3_BASE_TREE LEADING_SYMBOL2092_tree;
    pANTLR3_BASE_TREE FROM_SYMBOL2094_tree;
    pANTLR3_BASE_TREE TRAILING_SYMBOL2096_tree;
    pANTLR3_BASE_TREE FROM_SYMBOL2098_tree;
    pANTLR3_BASE_TREE BOTH_SYMBOL2100_tree;
    pANTLR3_BASE_TREE FROM_SYMBOL2102_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2104_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    TRIM_SYMBOL2087       = NULL;
    OPEN_PAR_SYMBOL2088       = NULL;
    FROM_SYMBOL2090       = NULL;
    LEADING_SYMBOL2092       = NULL;
    FROM_SYMBOL2094       = NULL;
    TRAILING_SYMBOL2096       = NULL;
    FROM_SYMBOL2098       = NULL;
    BOTH_SYMBOL2100       = NULL;
    FROM_SYMBOL2102       = NULL;
    CLOSE_PAR_SYMBOL2104       = NULL;
    expression2089.tree = NULL;

    expression2091.tree = NULL;

    expression2093.tree = NULL;

    expression2095.tree = NULL;

    expression2097.tree = NULL;

    expression2099.tree = NULL;

    expression2101.tree = NULL;

    expression2103.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    TRIM_SYMBOL2087_tree   = NULL;
    OPEN_PAR_SYMBOL2088_tree   = NULL;
    FROM_SYMBOL2090_tree   = NULL;
    LEADING_SYMBOL2092_tree   = NULL;
    FROM_SYMBOL2094_tree   = NULL;
    TRAILING_SYMBOL2096_tree   = NULL;
    FROM_SYMBOL2098_tree   = NULL;
    BOTH_SYMBOL2100_tree   = NULL;
    FROM_SYMBOL2102_tree   = NULL;
    CLOSE_PAR_SYMBOL2104_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1891: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:1892: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_SYMBOL2087 = (pANTLR3_COMMON_TOKEN) MATCHT(TRIM_SYMBOL, &FOLLOW_TRIM_SYMBOL_in_trim_function10965);
            if  (HASEXCEPTION())
            {
                goto ruletrim_functionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            TRIM_SYMBOL2087_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, TRIM_SYMBOL2087));
            ADAPTOR->addChild(ADAPTOR, root_0, TRIM_SYMBOL2087_tree);
            }

            OPEN_PAR_SYMBOL2088 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_trim_function10967);
            if  (HASEXCEPTION())
            {
                goto ruletrim_functionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            OPEN_PAR_SYMBOL2088_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL2088));
            ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL2088_tree);
            }

            // MySQL.g:1893:2: ( expression ( FROM_SYMBOL expression )? | LEADING_SYMBOL ( expression )? FROM_SYMBOL expression | TRAILING_SYMBOL ( expression )? FROM_SYMBOL expression | BOTH_SYMBOL ( expression )? FROM_SYMBOL expression )
            {
                int alt595=4;
                {
                    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;
                    }
                    else if ( (LA595_0 == LEADING_SYMBOL))
                    {
                        alt595=2;
                    }
                    else if ( (LA595_0 == TRAILING_SYMBOL))
                    {
                        alt595=3;
                    }
                    else if ( (LA595_0 == BOTH_SYMBOL))
                    {
                        alt595=4;
                    }
                    else
                    {
                        if (BACKTRACKING>0)
                        {
                            FAILEDFLAG = ANTLR3_TRUE;
                            return retval;
                        }


                        CONSTRUCTEX();
                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                        EXCEPTION->message      = (void *)"";
                        EXCEPTION->decisionNum  = 595;
                        EXCEPTION->state        = 0;


                        goto ruletrim_functionEx;

                    }
                }
                switch (alt595)
                {
            	case 1:
            	    // MySQL.g:1894:3: expression ( FROM_SYMBOL expression )?
            	    {
            	        FOLLOWPUSH(FOLLOW_expression_in_trim_function10974);
            	        expression2089=expression(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruletrim_functionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2089.tree);

            	        // MySQL.g:1894:14: ( FROM_SYMBOL expression )?
            	        {
            	            int alt591=2;
            	            switch ( LA(1) )
            	            {
            	                case FROM_SYMBOL:
            	                	{
            	                		alt591=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt591)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1894:15: FROM_SYMBOL expression
            	        	    {
            	        	        FROM_SYMBOL2090 = (pANTLR3_COMMON_TOKEN) MATCHT(FROM_SYMBOL, &FOLLOW_FROM_SYMBOL_in_trim_function10977);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruletrim_functionEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        FROM_SYMBOL2090_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, FROM_SYMBOL2090));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, FROM_SYMBOL2090_tree);
            	        	        }

            	        	        FOLLOWPUSH(FOLLOW_expression_in_trim_function10979);
            	        	        expression2091=expression(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruletrim_functionEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2091.tree);

            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;
            	case 2:
            	    // MySQL.g:1895:5: LEADING_SYMBOL ( expression )? FROM_SYMBOL expression
            	    {
            	        LEADING_SYMBOL2092 = (pANTLR3_COMMON_TOKEN) MATCHT(LEADING_SYMBOL, &FOLLOW_LEADING_SYMBOL_in_trim_function10987);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruletrim_functionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        LEADING_SYMBOL2092_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, LEADING_SYMBOL2092));
            	        ADAPTOR->addChild(ADAPTOR, root_0, LEADING_SYMBOL2092_tree);
            	        }

            	        // MySQL.g:1895:20: ( expression )?
            	        {
            	            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:1895:20: expression
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_expression_in_trim_function10989);
            	        	        expression2093=expression(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruletrim_functionEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2093.tree);

            	        	    }
            	        	    break;

            	            }
            	        }

            	        FROM_SYMBOL2094 = (pANTLR3_COMMON_TOKEN) MATCHT(FROM_SYMBOL, &FOLLOW_FROM_SYMBOL_in_trim_function10992);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruletrim_functionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        FROM_SYMBOL2094_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, FROM_SYMBOL2094));
            	        ADAPTOR->addChild(ADAPTOR, root_0, FROM_SYMBOL2094_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_expression_in_trim_function10994);
            	        expression2095=expression(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruletrim_functionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2095.tree);

            	    }
            	    break;
            	case 3:
            	    // MySQL.g:1896:5: TRAILING_SYMBOL ( expression )? FROM_SYMBOL expression
            	    {
            	        TRAILING_SYMBOL2096 = (pANTLR3_COMMON_TOKEN) MATCHT(TRAILING_SYMBOL, &FOLLOW_TRAILING_SYMBOL_in_trim_function11000);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruletrim_functionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        TRAILING_SYMBOL2096_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, TRAILING_SYMBOL2096));
            	        ADAPTOR->addChild(ADAPTOR, root_0, TRAILING_SYMBOL2096_tree);
            	        }

            	        // MySQL.g:1896:21: ( expression )?
            	        {
            	            int alt593=2;
            	            {
            	                int LA593_0 = LA(1);
            	                if ( (LA593_0 == BITWISE_NOT_OPERATOR || LA593_0 == INTERVAL_SYMBOL || LA593_0 == LOGICAL_NOT_OPERATOR || LA593_0 == MINUS_OPERATOR || LA593_0 == NCHAR_TEXT || LA593_0 == NOT2_SYMBOL || LA593_0 == NOT_SYMBOL || LA593_0 == PLUS_OPERATOR || LA593_0 == SINGLE_QUOTED_TEXT || LA593_0 == UNDERSCORE_CHARSET))
            	                {
            	                    alt593=1;
            	                }
            	                else if ( ((((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES)))||((!SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))))) && (LA593_0 == DOUBLE_QUOTED_TEXT))
            	                {
            	                    alt593=1;
            	                }
            	                else if ( (LA593_0 == FALSE_SYMBOL || LA593_0 == FLOAT || ((LA593_0 >= HEXNUMBER) && (LA593_0 <= HEXSTRING)) || LA593_0 == INTEGER || LA593_0 == TRUE_SYMBOL))
            	                {
            	                    alt593=1;
            	                }
            	                else if ( ((SERVER_VERSION >= 50003)) && (((LA593_0 >= BITNUMBER) && (LA593_0 <= BITSTRING))))
            	                {
            	                    alt593=1;
            	                }
            	                else if ( (((LA593_0 >= ACTION_SYMBOL) && (LA593_0 <= PARTITION_SYMBOL)) || ((LA593_0 >= AT_AT_SIGN_SYMBOL) && (LA593_0 <= AT_SIGN_SYMBOL)) || LA593_0 == BACK_TICK_QUOTED_ID || LA593_0 == BINARY_SYMBOL || ((LA593_0 >= BIT_AND_SYMBOL) && (LA593_0 <= BIT_XOR_SYMBOL)) || ((LA593_0 >= CASE_SYMBOL) && (LA593_0 <= CAST_SYMBOL)) || LA593_0 == CHAR_SYMBOL || ((LA593_0 >= CONVERT_SYMBOL) && (LA593_0 <= COUNT_SYMBOL)) || LA593_0 == CURDATE_SYMBOL || LA593_0 == CURRENT_USER_SYMBOL || LA593_0 == CURTIME_SYMBOL || LA593_0 == DATABASE_SYMBOL || LA593_0 == DATE_ADD_SYMBOL || LA593_0 == DATE_SUB_SYMBOL || LA593_0 == DOT_SYMBOL || LA593_0 == EXISTS_SYMBOL || LA593_0 == EXTRACT_SYMBOL || LA593_0 == GROUP_CONCAT_SYMBOL || ((LA593_0 >= IDENTIFIER) && (LA593_0 <= IF_SYMBOL)) || LA593_0 == INSERT_SYMBOL || LA593_0 == LEFT_SYMBOL || LA593_0 == MATCH_SYMBOL || LA593_0 == MAX_SYMBOL || LA593_0 == MIN_SYMBOL || LA593_0 == MOD_SYMBOL || LA593_0 == NOW_SYMBOL || LA593_0 == NULL2_SYMBOL || LA593_0 == NULL_SYMBOL || ((LA593_0 >= OPEN_CURLY_SYMBOL) && (LA593_0 <= OPEN_PAR_SYMBOL)) || LA593_0 == PARAM_MARKER || LA593_0 == POSITION_SYMBOL || ((LA593_0 >= REPEAT_SYMBOL) && (LA593_0 <= REPLACE_SYMBOL)) || LA593_0 == RIGHT_SYMBOL || LA593_0 == STDDEV_SAMP_SYMBOL || LA593_0 == STD_SYMBOL || LA593_0 == SUBSTRING_SYMBOL || ((LA593_0 >= SUM_SYMBOL) && (LA593_0 <= SYSDATE_SYMBOL)) || LA593_0 == TRIM_SYMBOL || ((LA593_0 >= UTC_DATE_SYMBOL) && (LA593_0 <= VALUES_SYMBOL)) || LA593_0 == VARIANCE_SYMBOL || LA593_0 == VAR_SAMP_SYMBOL))
            	                {
            	                    alt593=1;
            	                }
            	            }
            	            switch (alt593)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1896:21: expression
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_expression_in_trim_function11002);
            	        	        expression2097=expression(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruletrim_functionEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2097.tree);

            	        	    }
            	        	    break;

            	            }
            	        }

            	        FROM_SYMBOL2098 = (pANTLR3_COMMON_TOKEN) MATCHT(FROM_SYMBOL, &FOLLOW_FROM_SYMBOL_in_trim_function11005);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruletrim_functionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        FROM_SYMBOL2098_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, FROM_SYMBOL2098));
            	        ADAPTOR->addChild(ADAPTOR, root_0, FROM_SYMBOL2098_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_expression_in_trim_function11007);
            	        expression2099=expression(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruletrim_functionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2099.tree);

            	    }
            	    break;
            	case 4:
            	    // MySQL.g:1897:5: BOTH_SYMBOL ( expression )? FROM_SYMBOL expression
            	    {
            	        BOTH_SYMBOL2100 = (pANTLR3_COMMON_TOKEN) MATCHT(BOTH_SYMBOL, &FOLLOW_BOTH_SYMBOL_in_trim_function11013);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruletrim_functionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        BOTH_SYMBOL2100_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, BOTH_SYMBOL2100));
            	        ADAPTOR->addChild(ADAPTOR, root_0, BOTH_SYMBOL2100_tree);
            	        }

            	        // MySQL.g:1897:17: ( 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:1897:17: expression
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_expression_in_trim_function11015);
            	        	        expression2101=expression(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruletrim_functionEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2101.tree);

            	        	    }
            	        	    break;

            	            }
            	        }

            	        FROM_SYMBOL2102 = (pANTLR3_COMMON_TOKEN) MATCHT(FROM_SYMBOL, &FOLLOW_FROM_SYMBOL_in_trim_function11018);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruletrim_functionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        FROM_SYMBOL2102_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, FROM_SYMBOL2102));
            	        ADAPTOR->addChild(ADAPTOR, root_0, FROM_SYMBOL2102_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_expression_in_trim_function11020);
            	        expression2103=expression(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruletrim_functionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2103.tree);

            	    }
            	    break;

                }
            }

            CLOSE_PAR_SYMBOL2104 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_trim_function11026);
            if  (HASEXCEPTION())
            {
                goto ruletrim_functionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            CLOSE_PAR_SYMBOL2104_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL2104));
            ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL2104_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:1902: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_SYMBOL2105;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL2106;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL2108;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL2110;
    pANTLR3_COMMON_TOKEN    FROM_SYMBOL2112;
    pANTLR3_COMMON_TOKEN    FOR_SYMBOL2114;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2116;
    MySQLParser_expression_return expression2107;
    #undef	RETURN_TYPE_expression2107
    #define	RETURN_TYPE_expression2107 MySQLParser_expression_return

    MySQLParser_expression_return expression2109;
    #undef	RETURN_TYPE_expression2109
    #define	RETURN_TYPE_expression2109 MySQLParser_expression_return

    MySQLParser_expression_return expression2111;
    #undef	RETURN_TYPE_expression2111
    #define	RETURN_TYPE_expression2111 MySQLParser_expression_return

    MySQLParser_expression_return expression2113;
    #undef	RETURN_TYPE_expression2113
    #define	RETURN_TYPE_expression2113 MySQLParser_expression_return

    MySQLParser_expression_return expression2115;
    #undef	RETURN_TYPE_expression2115
    #define	RETURN_TYPE_expression2115 MySQLParser_expression_return

    pANTLR3_BASE_TREE SUBSTRING_SYMBOL2105_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2106_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL2108_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL2110_tree;
    pANTLR3_BASE_TREE FROM_SYMBOL2112_tree;
    pANTLR3_BASE_TREE FOR_SYMBOL2114_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2116_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    SUBSTRING_SYMBOL2105       = NULL;
    OPEN_PAR_SYMBOL2106       = NULL;
    COMMA_SYMBOL2108       = NULL;
    COMMA_SYMBOL2110       = NULL;
    FROM_SYMBOL2112       = NULL;
    FOR_SYMBOL2114       = NULL;
    CLOSE_PAR_SYMBOL2116       = NULL;
    expression2107.tree = NULL;

    expression2109.tree = NULL;

    expression2111.tree = NULL;

    expression2113.tree = NULL;

    expression2115.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    SUBSTRING_SYMBOL2105_tree   = NULL;
    OPEN_PAR_SYMBOL2106_tree   = NULL;
    COMMA_SYMBOL2108_tree   = NULL;
    COMMA_SYMBOL2110_tree   = NULL;
    FROM_SYMBOL2112_tree   = NULL;
    FOR_SYMBOL2114_tree   = NULL;
    CLOSE_PAR_SYMBOL2116_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1902:19: ( SUBSTRING_SYMBOL OPEN_PAR_SYMBOL expression ( COMMA_SYMBOL expression ( COMMA_SYMBOL expression )? | FROM_SYMBOL expression ( FOR_SYMBOL expression )? ) CLOSE_PAR_SYMBOL )
        // MySQL.g:1903: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_SYMBOL2105 = (pANTLR3_COMMON_TOKEN) MATCHT(SUBSTRING_SYMBOL, &FOLLOW_SUBSTRING_SYMBOL_in_substring_function11035);
            if  (HASEXCEPTION())
            {
                goto rulesubstring_functionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            SUBSTRING_SYMBOL2105_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SUBSTRING_SYMBOL2105));
            ADAPTOR->addChild(ADAPTOR, root_0, SUBSTRING_SYMBOL2105_tree);
            }

            OPEN_PAR_SYMBOL2106 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_substring_function11037);
            if  (HASEXCEPTION())
            {
                goto rulesubstring_functionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            OPEN_PAR_SYMBOL2106_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL2106));
            ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL2106_tree);
            }

            FOLLOWPUSH(FOLLOW_expression_in_substring_function11039);
            expression2107=expression(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulesubstring_functionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2107.tree);

            // MySQL.g:1904:2: ( COMMA_SYMBOL expression ( COMMA_SYMBOL expression )? | FROM_SYMBOL expression ( FOR_SYMBOL expression )? )
            {
                int alt598=2;
                switch ( LA(1) )
                {
                case COMMA_SYMBOL:
                	{
                		alt598=1;
                	}
                    break;
                case FROM_SYMBOL:
                	{
                		alt598=2;
                	}
                    break;

                default:
                    if (BACKTRACKING>0)
                    {
                        FAILEDFLAG = ANTLR3_TRUE;
                        return retval;
                    }

                    CONSTRUCTEX();
                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    EXCEPTION->message      = (void *)"";
                    EXCEPTION->decisionNum  = 598;
                    EXCEPTION->state        = 0;


                    goto rulesubstring_functionEx;

                }

                switch (alt598)
                {
            	case 1:
            	    // MySQL.g:1905:3: COMMA_SYMBOL expression ( COMMA_SYMBOL expression )?
            	    {
            	        COMMA_SYMBOL2108 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_substring_function11046);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulesubstring_functionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        COMMA_SYMBOL2108_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL2108));
            	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL2108_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_expression_in_substring_function11048);
            	        expression2109=expression(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulesubstring_functionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2109.tree);

            	        // MySQL.g:1905:27: ( COMMA_SYMBOL expression )?
            	        {
            	            int alt596=2;
            	            switch ( LA(1) )
            	            {
            	                case COMMA_SYMBOL:
            	                	{
            	                		alt596=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt596)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1905:28: COMMA_SYMBOL expression
            	        	    {
            	        	        COMMA_SYMBOL2110 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_substring_function11051);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulesubstring_functionEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        COMMA_SYMBOL2110_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL2110));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL2110_tree);
            	        	        }

            	        	        FOLLOWPUSH(FOLLOW_expression_in_substring_function11053);
            	        	        expression2111=expression(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulesubstring_functionEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2111.tree);

            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;
            	case 2:
            	    // MySQL.g:1906:5: FROM_SYMBOL expression ( FOR_SYMBOL expression )?
            	    {
            	        FROM_SYMBOL2112 = (pANTLR3_COMMON_TOKEN) MATCHT(FROM_SYMBOL, &FOLLOW_FROM_SYMBOL_in_substring_function11061);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulesubstring_functionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        FROM_SYMBOL2112_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, FROM_SYMBOL2112));
            	        ADAPTOR->addChild(ADAPTOR, root_0, FROM_SYMBOL2112_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_expression_in_substring_function11063);
            	        expression2113=expression(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulesubstring_functionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2113.tree);

            	        // MySQL.g:1906:28: ( FOR_SYMBOL expression )?
            	        {
            	            int alt597=2;
            	            switch ( LA(1) )
            	            {
            	                case FOR_SYMBOL:
            	                	{
            	                		alt597=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt597)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1906:29: FOR_SYMBOL expression
            	        	    {
            	        	        FOR_SYMBOL2114 = (pANTLR3_COMMON_TOKEN) MATCHT(FOR_SYMBOL, &FOLLOW_FOR_SYMBOL_in_substring_function11066);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulesubstring_functionEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        FOR_SYMBOL2114_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, FOR_SYMBOL2114));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, FOR_SYMBOL2114_tree);
            	        	        }

            	        	        FOLLOWPUSH(FOLLOW_expression_in_substring_function11068);
            	        	        expression2115=expression(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulesubstring_functionEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2115.tree);

            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;

                }
            }

            CLOSE_PAR_SYMBOL2116 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_substring_function11076);
            if  (HASEXCEPTION())
            {
                goto rulesubstring_functionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            CLOSE_PAR_SYMBOL2116_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL2116));
            ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL2116_tree);
            }

        }

    }

    // 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:1911: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_SYMBOL2117;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL2118;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL2120;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2122;
    pANTLR3_COMMON_TOKEN    GEOMETRYCOLLECTION_SYMBOL2123;
    pANTLR3_COMMON_TOKEN    LINESTRING_SYMBOL2125;
    pANTLR3_COMMON_TOKEN    MULTILINESTRING_SYMBOL2127;
    pANTLR3_COMMON_TOKEN    MULTIPOINT_SYMBOL2129;
    pANTLR3_COMMON_TOKEN    MULTIPOLYGON_SYMBOL2131;
    pANTLR3_COMMON_TOKEN    POINT_SYMBOL2133;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL2134;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL2136;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2138;
    pANTLR3_COMMON_TOKEN    POLYGON_SYMBOL2139;
    MySQLParser_expression_return expression2119;
    #undef	RETURN_TYPE_expression2119
    #define	RETURN_TYPE_expression2119 MySQLParser_expression_return

    MySQLParser_expression_return expression2121;
    #undef	RETURN_TYPE_expression2121
    #define	RETURN_TYPE_expression2121 MySQLParser_expression_return

    MySQLParser_expression_list_with_parentheses_return expression_list_with_parentheses2124;
    #undef	RETURN_TYPE_expression_list_with_parentheses2124
    #define	RETURN_TYPE_expression_list_with_parentheses2124 MySQLParser_expression_list_with_parentheses_return

    MySQLParser_expression_list_with_parentheses_return expression_list_with_parentheses2126;
    #undef	RETURN_TYPE_expression_list_with_parentheses2126
    #define	RETURN_TYPE_expression_list_with_parentheses2126 MySQLParser_expression_list_with_parentheses_return

    MySQLParser_expression_list_with_parentheses_return expression_list_with_parentheses2128;
    #undef	RETURN_TYPE_expression_list_with_parentheses2128
    #define	RETURN_TYPE_expression_list_with_parentheses2128 MySQLParser_expression_list_with_parentheses_return

    MySQLParser_expression_list_with_parentheses_return expression_list_with_parentheses2130;
    #undef	RETURN_TYPE_expression_list_with_parentheses2130
    #define	RETURN_TYPE_expression_list_with_parentheses2130 MySQLParser_expression_list_with_parentheses_return

    MySQLParser_expression_list_with_parentheses_return expression_list_with_parentheses2132;
    #undef	RETURN_TYPE_expression_list_with_parentheses2132
    #define	RETURN_TYPE_expression_list_with_parentheses2132 MySQLParser_expression_list_with_parentheses_return

    MySQLParser_expression_return expression2135;
    #undef	RETURN_TYPE_expression2135
    #define	RETURN_TYPE_expression2135 MySQLParser_expression_return

    MySQLParser_expression_return expression2137;
    #undef	RETURN_TYPE_expression2137
    #define	RETURN_TYPE_expression2137 MySQLParser_expression_return

    MySQLParser_expression_list_with_parentheses_return expression_list_with_parentheses2140;
    #undef	RETURN_TYPE_expression_list_with_parentheses2140
    #define	RETURN_TYPE_expression_list_with_parentheses2140 MySQLParser_expression_list_with_parentheses_return

    pANTLR3_BASE_TREE CONTAINS_SYMBOL2117_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2118_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL2120_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2122_tree;
    pANTLR3_BASE_TREE GEOMETRYCOLLECTION_SYMBOL2123_tree;
    pANTLR3_BASE_TREE LINESTRING_SYMBOL2125_tree;
    pANTLR3_BASE_TREE MULTILINESTRING_SYMBOL2127_tree;
    pANTLR3_BASE_TREE MULTIPOINT_SYMBOL2129_tree;
    pANTLR3_BASE_TREE MULTIPOLYGON_SYMBOL2131_tree;
    pANTLR3_BASE_TREE POINT_SYMBOL2133_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2134_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL2136_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2138_tree;
    pANTLR3_BASE_TREE POLYGON_SYMBOL2139_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    CONTAINS_SYMBOL2117       = NULL;
    OPEN_PAR_SYMBOL2118       = NULL;
    COMMA_SYMBOL2120       = NULL;
    CLOSE_PAR_SYMBOL2122       = NULL;
    GEOMETRYCOLLECTION_SYMBOL2123       = NULL;
    LINESTRING_SYMBOL2125       = NULL;
    MULTILINESTRING_SYMBOL2127       = NULL;
    MULTIPOINT_SYMBOL2129       = NULL;
    MULTIPOLYGON_SYMBOL2131       = NULL;
    POINT_SYMBOL2133       = NULL;
    OPEN_PAR_SYMBOL2134       = NULL;
    COMMA_SYMBOL2136       = NULL;
    CLOSE_PAR_SYMBOL2138       = NULL;
    POLYGON_SYMBOL2139       = NULL;
    expression2119.tree = NULL;

    expression2121.tree = NULL;

    expression_list_with_parentheses2124.tree = NULL;

    expression_list_with_parentheses2126.tree = NULL;

    expression_list_with_parentheses2128.tree = NULL;

    expression_list_with_parentheses2130.tree = NULL;

    expression_list_with_parentheses2132.tree = NULL;

    expression2135.tree = NULL;

    expression2137.tree = NULL;

    expression_list_with_parentheses2140.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    CONTAINS_SYMBOL2117_tree   = NULL;
    OPEN_PAR_SYMBOL2118_tree   = NULL;
    COMMA_SYMBOL2120_tree   = NULL;
    CLOSE_PAR_SYMBOL2122_tree   = NULL;
    GEOMETRYCOLLECTION_SYMBOL2123_tree   = NULL;
    LINESTRING_SYMBOL2125_tree   = NULL;
    MULTILINESTRING_SYMBOL2127_tree   = NULL;
    MULTIPOINT_SYMBOL2129_tree   = NULL;
    MULTIPOLYGON_SYMBOL2131_tree   = NULL;
    POINT_SYMBOL2133_tree   = NULL;
    OPEN_PAR_SYMBOL2134_tree   = NULL;
    COMMA_SYMBOL2136_tree   = NULL;
    CLOSE_PAR_SYMBOL2138_tree   = NULL;
    POLYGON_SYMBOL2139_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:1911: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 alt599;

            alt599=8;

            switch ( LA(1) )
            {
            case CONTAINS_SYMBOL:
            	{
            		alt599=1;
            	}
                break;
            case GEOMETRYCOLLECTION_SYMBOL:
            	{
            		alt599=2;
            	}
                break;
            case LINESTRING_SYMBOL:
            	{
            		alt599=3;
            	}
                break;
            case MULTILINESTRING_SYMBOL:
            	{
            		alt599=4;
            	}
                break;
            case MULTIPOINT_SYMBOL:
            	{
            		alt599=5;
            	}
                break;
            case MULTIPOLYGON_SYMBOL:
            	{
            		alt599=6;
            	}
                break;
            case POINT_SYMBOL:
            	{
            		alt599=7;
            	}
                break;
            case POLYGON_SYMBOL:
            	{
            		alt599=8;
            	}
                break;

            default:
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                EXCEPTION->message      = (void *)"";
                EXCEPTION->decisionNum  = 599;
                EXCEPTION->state        = 0;


                goto rulegeometry_functionEx;

            }

            switch (alt599)
            {
        	case 1:
        	    // MySQL.g:1912:2: CONTAINS_SYMBOL OPEN_PAR_SYMBOL expression COMMA_SYMBOL expression CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        CONTAINS_SYMBOL2117 = (pANTLR3_COMMON_TOKEN) MATCHT(CONTAINS_SYMBOL, &FOLLOW_CONTAINS_SYMBOL_in_geometry_function11086);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulegeometry_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CONTAINS_SYMBOL2117_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CONTAINS_SYMBOL2117));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CONTAINS_SYMBOL2117_tree);
        	        }

        	        OPEN_PAR_SYMBOL2118 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_geometry_function11088);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulegeometry_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL2118_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL2118));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL2118_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_geometry_function11090);
        	        expression2119=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulegeometry_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2119.tree);

        	        COMMA_SYMBOL2120 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_geometry_function11092);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulegeometry_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        COMMA_SYMBOL2120_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL2120));
        	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL2120_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_geometry_function11094);
        	        expression2121=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulegeometry_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2121.tree);

        	        CLOSE_PAR_SYMBOL2122 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_geometry_function11096);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulegeometry_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL2122_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL2122));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL2122_tree);
        	        }

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:1913:4: GEOMETRYCOLLECTION_SYMBOL expression_list_with_parentheses
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        GEOMETRYCOLLECTION_SYMBOL2123 = (pANTLR3_COMMON_TOKEN) MATCHT(GEOMETRYCOLLECTION_SYMBOL, &FOLLOW_GEOMETRYCOLLECTION_SYMBOL_in_geometry_function11101);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulegeometry_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        GEOMETRYCOLLECTION_SYMBOL2123_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, GEOMETRYCOLLECTION_SYMBOL2123));
        	        ADAPTOR->addChild(ADAPTOR, root_0, GEOMETRYCOLLECTION_SYMBOL2123_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_list_with_parentheses_in_geometry_function11103);
        	        expression_list_with_parentheses2124=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_parentheses2124.tree);

        	    }
        	    break;
        	case 3:
        	    // MySQL.g:1914:4: LINESTRING_SYMBOL expression_list_with_parentheses
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        LINESTRING_SYMBOL2125 = (pANTLR3_COMMON_TOKEN) MATCHT(LINESTRING_SYMBOL, &FOLLOW_LINESTRING_SYMBOL_in_geometry_function11108);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulegeometry_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        LINESTRING_SYMBOL2125_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, LINESTRING_SYMBOL2125));
        	        ADAPTOR->addChild(ADAPTOR, root_0, LINESTRING_SYMBOL2125_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_list_with_parentheses_in_geometry_function11110);
        	        expression_list_with_parentheses2126=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_parentheses2126.tree);

        	    }
        	    break;
        	case 4:
        	    // MySQL.g:1915:4: MULTILINESTRING_SYMBOL expression_list_with_parentheses
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        MULTILINESTRING_SYMBOL2127 = (pANTLR3_COMMON_TOKEN) MATCHT(MULTILINESTRING_SYMBOL, &FOLLOW_MULTILINESTRING_SYMBOL_in_geometry_function11115);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulegeometry_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        MULTILINESTRING_SYMBOL2127_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MULTILINESTRING_SYMBOL2127));
        	        ADAPTOR->addChild(ADAPTOR, root_0, MULTILINESTRING_SYMBOL2127_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_list_with_parentheses_in_geometry_function11117);
        	        expression_list_with_parentheses2128=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_parentheses2128.tree);

        	    }
        	    break;
        	case 5:
        	    // MySQL.g:1916:4: MULTIPOINT_SYMBOL expression_list_with_parentheses
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        MULTIPOINT_SYMBOL2129 = (pANTLR3_COMMON_TOKEN) MATCHT(MULTIPOINT_SYMBOL, &FOLLOW_MULTIPOINT_SYMBOL_in_geometry_function11122);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulegeometry_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        MULTIPOINT_SYMBOL2129_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MULTIPOINT_SYMBOL2129));
        	        ADAPTOR->addChild(ADAPTOR, root_0, MULTIPOINT_SYMBOL2129_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_list_with_parentheses_in_geometry_function11124);
        	        expression_list_with_parentheses2130=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_parentheses2130.tree);

        	    }
        	    break;
        	case 6:
        	    // MySQL.g:1917:4: MULTIPOLYGON_SYMBOL expression_list_with_parentheses
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        MULTIPOLYGON_SYMBOL2131 = (pANTLR3_COMMON_TOKEN) MATCHT(MULTIPOLYGON_SYMBOL, &FOLLOW_MULTIPOLYGON_SYMBOL_in_geometry_function11129);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulegeometry_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        MULTIPOLYGON_SYMBOL2131_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MULTIPOLYGON_SYMBOL2131));
        	        ADAPTOR->addChild(ADAPTOR, root_0, MULTIPOLYGON_SYMBOL2131_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_list_with_parentheses_in_geometry_function11131);
        	        expression_list_with_parentheses2132=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_parentheses2132.tree);

        	    }
        	    break;
        	case 7:
        	    // MySQL.g:1918:4: POINT_SYMBOL OPEN_PAR_SYMBOL expression COMMA_SYMBOL expression CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        POINT_SYMBOL2133 = (pANTLR3_COMMON_TOKEN) MATCHT(POINT_SYMBOL, &FOLLOW_POINT_SYMBOL_in_geometry_function11136);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulegeometry_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        POINT_SYMBOL2133_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, POINT_SYMBOL2133));
        	        ADAPTOR->addChild(ADAPTOR, root_0, POINT_SYMBOL2133_tree);
        	        }

        	        OPEN_PAR_SYMBOL2134 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_geometry_function11138);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulegeometry_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL2134_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL2134));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL2134_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_geometry_function11140);
        	        expression2135=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulegeometry_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2135.tree);

        	        COMMA_SYMBOL2136 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_geometry_function11142);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulegeometry_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        COMMA_SYMBOL2136_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL2136));
        	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL2136_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_geometry_function11144);
        	        expression2137=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulegeometry_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2137.tree);

        	        CLOSE_PAR_SYMBOL2138 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_geometry_function11146);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulegeometry_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL2138_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL2138));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL2138_tree);
        	        }

        	    }
        	    break;
        	case 8:
        	    // MySQL.g:1919:4: POLYGON_SYMBOL expression_list_with_parentheses
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        POLYGON_SYMBOL2139 = (pANTLR3_COMMON_TOKEN) MATCHT(POLYGON_SYMBOL, &FOLLOW_POLYGON_SYMBOL_in_geometry_function11151);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulegeometry_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        POLYGON_SYMBOL2139_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, POLYGON_SYMBOL2139));
        	        ADAPTOR->addChild(ADAPTOR, root_0, POLYGON_SYMBOL2139_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_list_with_parentheses_in_geometry_function11153);
        	        expression_list_with_parentheses2140=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_parentheses2140.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:1922: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_SYMBOL2141;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL2142;
    pANTLR3_COMMON_TOKEN    DISTINCT_SYMBOL2143;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2145;
    pANTLR3_COMMON_TOKEN    BIT_AND_SYMBOL2146;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL2147;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2149;
    pANTLR3_COMMON_TOKEN    BIT_OR_SYMBOL2150;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL2151;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2153;
    pANTLR3_COMMON_TOKEN    BIT_XOR_SYMBOL2154;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL2155;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2157;
    pANTLR3_COMMON_TOKEN    MIN_SYMBOL2159;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL2160;
    pANTLR3_COMMON_TOKEN    DISTINCT_SYMBOL2161;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2163;
    pANTLR3_COMMON_TOKEN    MAX_SYMBOL2164;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL2165;
    pANTLR3_COMMON_TOKEN    DISTINCT_SYMBOL2166;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2168;
    pANTLR3_COMMON_TOKEN    STD_SYMBOL2169;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL2170;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2172;
    pANTLR3_COMMON_TOKEN    VARIANCE_SYMBOL2173;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL2174;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2176;
    pANTLR3_COMMON_TOKEN    STDDEV_SAMP_SYMBOL2177;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL2178;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2180;
    pANTLR3_COMMON_TOKEN    VAR_SAMP_SYMBOL2181;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL2182;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2184;
    pANTLR3_COMMON_TOKEN    SUM_SYMBOL2185;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL2186;
    pANTLR3_COMMON_TOKEN    DISTINCT_SYMBOL2187;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2189;
    pANTLR3_COMMON_TOKEN    GROUP_CONCAT_SYMBOL2190;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL2191;
    pANTLR3_COMMON_TOKEN    DISTINCT_SYMBOL2192;
    pANTLR3_COMMON_TOKEN    SEPARATOR_SYMBOL2195;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2197;
    MySQLParser_expression_return expression2144;
    #undef	RETURN_TYPE_expression2144
    #define	RETURN_TYPE_expression2144 MySQLParser_expression_return

    MySQLParser_expression_return expression2148;
    #undef	RETURN_TYPE_expression2148
    #define	RETURN_TYPE_expression2148 MySQLParser_expression_return

    MySQLParser_expression_return expression2152;
    #undef	RETURN_TYPE_expression2152
    #define	RETURN_TYPE_expression2152 MySQLParser_expression_return

    MySQLParser_expression_return expression2156;
    #undef	RETURN_TYPE_expression2156
    #define	RETURN_TYPE_expression2156 MySQLParser_expression_return

    MySQLParser_count_function_return count_function2158;
    #undef	RETURN_TYPE_count_function2158
    #define	RETURN_TYPE_count_function2158 MySQLParser_count_function_return

    MySQLParser_expression_return expression2162;
    #undef	RETURN_TYPE_expression2162
    #define	RETURN_TYPE_expression2162 MySQLParser_expression_return

    MySQLParser_expression_return expression2167;
    #undef	RETURN_TYPE_expression2167
    #define	RETURN_TYPE_expression2167 MySQLParser_expression_return

    MySQLParser_expression_return expression2171;
    #undef	RETURN_TYPE_expression2171
    #define	RETURN_TYPE_expression2171 MySQLParser_expression_return

    MySQLParser_expression_return expression2175;
    #undef	RETURN_TYPE_expression2175
    #define	RETURN_TYPE_expression2175 MySQLParser_expression_return

    MySQLParser_expression_return expression2179;
    #undef	RETURN_TYPE_expression2179
    #define	RETURN_TYPE_expression2179 MySQLParser_expression_return

    MySQLParser_expression_return expression2183;
    #undef	RETURN_TYPE_expression2183
    #define	RETURN_TYPE_expression2183 MySQLParser_expression_return

    MySQLParser_expression_return expression2188;
    #undef	RETURN_TYPE_expression2188
    #define	RETURN_TYPE_expression2188 MySQLParser_expression_return

    MySQLParser_expression_list_return expression_list2193;
    #undef	RETURN_TYPE_expression_list2193
    #define	RETURN_TYPE_expression_list2193 MySQLParser_expression_list_return

    MySQLParser_order_by_clause_return order_by_clause2194;
    #undef	RETURN_TYPE_order_by_clause2194
    #define	RETURN_TYPE_order_by_clause2194 MySQLParser_order_by_clause_return

    MySQLParser_string_literal_return string_literal2196;
    #undef	RETURN_TYPE_string_literal2196
    #define	RETURN_TYPE_string_literal2196 MySQLParser_string_literal_return

    pANTLR3_BASE_TREE AVG_SYMBOL2141_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2142_tree;
    pANTLR3_BASE_TREE DISTINCT_SYMBOL2143_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2145_tree;
    pANTLR3_BASE_TREE BIT_AND_SYMBOL2146_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2147_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2149_tree;
    pANTLR3_BASE_TREE BIT_OR_SYMBOL2150_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2151_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2153_tree;
    pANTLR3_BASE_TREE BIT_XOR_SYMBOL2154_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2155_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2157_tree;
    pANTLR3_BASE_TREE MIN_SYMBOL2159_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2160_tree;
    pANTLR3_BASE_TREE DISTINCT_SYMBOL2161_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2163_tree;
    pANTLR3_BASE_TREE MAX_SYMBOL2164_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2165_tree;
    pANTLR3_BASE_TREE DISTINCT_SYMBOL2166_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2168_tree;
    pANTLR3_BASE_TREE STD_SYMBOL2169_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2170_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2172_tree;
    pANTLR3_BASE_TREE VARIANCE_SYMBOL2173_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2174_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2176_tree;
    pANTLR3_BASE_TREE STDDEV_SAMP_SYMBOL2177_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2178_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2180_tree;
    pANTLR3_BASE_TREE VAR_SAMP_SYMBOL2181_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2182_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2184_tree;
    pANTLR3_BASE_TREE SUM_SYMBOL2185_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2186_tree;
    pANTLR3_BASE_TREE DISTINCT_SYMBOL2187_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2189_tree;
    pANTLR3_BASE_TREE GROUP_CONCAT_SYMBOL2190_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2191_tree;
    pANTLR3_BASE_TREE DISTINCT_SYMBOL2192_tree;
    pANTLR3_BASE_TREE SEPARATOR_SYMBOL2195_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2197_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    AVG_SYMBOL2141       = NULL;
    OPEN_PAR_SYMBOL2142       = NULL;
    DISTINCT_SYMBOL2143       = NULL;
    CLOSE_PAR_SYMBOL2145       = NULL;
    BIT_AND_SYMBOL2146       = NULL;
    OPEN_PAR_SYMBOL2147       = NULL;
    CLOSE_PAR_SYMBOL2149       = NULL;
    BIT_OR_SYMBOL2150       = NULL;
    OPEN_PAR_SYMBOL2151       = NULL;
    CLOSE_PAR_SYMBOL2153       = NULL;
    BIT_XOR_SYMBOL2154       = NULL;
    OPEN_PAR_SYMBOL2155       = NULL;
    CLOSE_PAR_SYMBOL2157       = NULL;
    MIN_SYMBOL2159       = NULL;
    OPEN_PAR_SYMBOL2160       = NULL;
    DISTINCT_SYMBOL2161       = NULL;
    CLOSE_PAR_SYMBOL2163       = NULL;
    MAX_SYMBOL2164       = NULL;
    OPEN_PAR_SYMBOL2165       = NULL;
    DISTINCT_SYMBOL2166       = NULL;
    CLOSE_PAR_SYMBOL2168       = NULL;
    STD_SYMBOL2169       = NULL;
    OPEN_PAR_SYMBOL2170       = NULL;
    CLOSE_PAR_SYMBOL2172       = NULL;
    VARIANCE_SYMBOL2173       = NULL;
    OPEN_PAR_SYMBOL2174       = NULL;
    CLOSE_PAR_SYMBOL2176       = NULL;
    STDDEV_SAMP_SYMBOL2177       = NULL;
    OPEN_PAR_SYMBOL2178       = NULL;
    CLOSE_PAR_SYMBOL2180       = NULL;
    VAR_SAMP_SYMBOL2181       = NULL;
    OPEN_PAR_SYMBOL2182       = NULL;
    CLOSE_PAR_SYMBOL2184       = NULL;
    SUM_SYMBOL2185       = NULL;
    OPEN_PAR_SYMBOL2186       = NULL;
    DISTINCT_SYMBOL2187       = NULL;
    CLOSE_PAR_SYMBOL2189       = NULL;
    GROUP_CONCAT_SYMBOL2190       = NULL;
    OPEN_PAR_SYMBOL2191       = NULL;
    DISTINCT_SYMBOL2192       = NULL;
    SEPARATOR_SYMBOL2195       = NULL;
    CLOSE_PAR_SYMBOL2197       = NULL;
    expression2144.tree = NULL;

    expression2148.tree = NULL;

    expression2152.tree = NULL;

    expression2156.tree = NULL;

    count_function2158.tree = NULL;

    expression2162.tree = NULL;

    expression2167.tree = NULL;

    expression2171.tree = NULL;

    expression2175.tree = NULL;

    expression2179.tree = NULL;

    expression2183.tree = NULL;

    expression2188.tree = NULL;

    expression_list2193.tree = NULL;

    order_by_clause2194.tree = NULL;

    string_literal2196.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    AVG_SYMBOL2141_tree   = NULL;
    OPEN_PAR_SYMBOL2142_tree   = NULL;
    DISTINCT_SYMBOL2143_tree   = NULL;
    CLOSE_PAR_SYMBOL2145_tree   = NULL;
    BIT_AND_SYMBOL2146_tree   = NULL;
    OPEN_PAR_SYMBOL2147_tree   = NULL;
    CLOSE_PAR_SYMBOL2149_tree   = NULL;
    BIT_OR_SYMBOL2150_tree   = NULL;
    OPEN_PAR_SYMBOL2151_tree   = NULL;
    CLOSE_PAR_SYMBOL2153_tree   = NULL;
    BIT_XOR_SYMBOL2154_tree   = NULL;
    OPEN_PAR_SYMBOL2155_tree   = NULL;
    CLOSE_PAR_SYMBOL2157_tree   = NULL;
    MIN_SYMBOL2159_tree   = NULL;
    OPEN_PAR_SYMBOL2160_tree   = NULL;
    DISTINCT_SYMBOL2161_tree   = NULL;
    CLOSE_PAR_SYMBOL2163_tree   = NULL;
    MAX_SYMBOL2164_tree   = NULL;
    OPEN_PAR_SYMBOL2165_tree   = NULL;
    DISTINCT_SYMBOL2166_tree   = NULL;
    CLOSE_PAR_SYMBOL2168_tree   = NULL;
    STD_SYMBOL2169_tree   = NULL;
    OPEN_PAR_SYMBOL2170_tree   = NULL;
    CLOSE_PAR_SYMBOL2172_tree   = NULL;
    VARIANCE_SYMBOL2173_tree   = NULL;
    OPEN_PAR_SYMBOL2174_tree   = NULL;
    CLOSE_PAR_SYMBOL2176_tree   = NULL;
    STDDEV_SAMP_SYMBOL2177_tree   = NULL;
    OPEN_PAR_SYMBOL2178_tree   = NULL;
    CLOSE_PAR_SYMBOL2180_tree   = NULL;
    VAR_SAMP_SYMBOL2181_tree   = NULL;
    OPEN_PAR_SYMBOL2182_tree   = NULL;
    CLOSE_PAR_SYMBOL2184_tree   = NULL;
    SUM_SYMBOL2185_tree   = NULL;
    OPEN_PAR_SYMBOL2186_tree   = NULL;
    DISTINCT_SYMBOL2187_tree   = NULL;
    CLOSE_PAR_SYMBOL2189_tree   = NULL;
    GROUP_CONCAT_SYMBOL2190_tree   = NULL;
    OPEN_PAR_SYMBOL2191_tree   = NULL;
    DISTINCT_SYMBOL2192_tree   = NULL;
    SEPARATOR_SYMBOL2195_tree   = NULL;
    CLOSE_PAR_SYMBOL2197_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:1922: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 alt607;

            alt607=13;

            switch ( LA(1) )
            {
            case AVG_SYMBOL:
            	{
            		alt607=1;
            	}
                break;
            case BIT_AND_SYMBOL:
            	{
            		alt607=2;
            	}
                break;
            case BIT_OR_SYMBOL:
            	{
            		alt607=3;
            	}
                break;
            case BIT_XOR_SYMBOL:
            	{
            		alt607=4;
            	}
                break;
            case COUNT_SYMBOL:
            	{
            		alt607=5;
            	}
                break;
            case MIN_SYMBOL:
            	{
            		alt607=6;
            	}
                break;
            case MAX_SYMBOL:
            	{
            		alt607=7;
            	}
                break;
            case STD_SYMBOL:
            	{
            		alt607=8;
            	}
                break;
            case VARIANCE_SYMBOL:
            	{
            		alt607=9;
            	}
                break;
            case STDDEV_SAMP_SYMBOL:
            	{
            		alt607=10;
            	}
                break;
            case VAR_SAMP_SYMBOL:
            	{
            		alt607=11;
            	}
                break;
            case SUM_SYMBOL:
            	{
            		alt607=12;
            	}
                break;
            case GROUP_CONCAT_SYMBOL:
            	{
            		alt607=13;
            	}
                break;

            default:
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                EXCEPTION->message      = (void *)"";
                EXCEPTION->decisionNum  = 607;
                EXCEPTION->state        = 0;


                goto ruleaggregate_functionEx;

            }

            switch (alt607)
            {
        	case 1:
        	    // MySQL.g:1923:2: AVG_SYMBOL OPEN_PAR_SYMBOL ( DISTINCT_SYMBOL )? expression CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        AVG_SYMBOL2141 = (pANTLR3_COMMON_TOKEN) MATCHT(AVG_SYMBOL, &FOLLOW_AVG_SYMBOL_in_aggregate_function11162);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaggregate_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        AVG_SYMBOL2141_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, AVG_SYMBOL2141));
        	        ADAPTOR->addChild(ADAPTOR, root_0, AVG_SYMBOL2141_tree);
        	        }

        	        OPEN_PAR_SYMBOL2142 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function11164);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaggregate_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL2142_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL2142));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL2142_tree);
        	        }

        	        // MySQL.g:1923:29: ( DISTINCT_SYMBOL )?
        	        {
        	            int alt600=2;
        	            switch ( LA(1) )
        	            {
        	                case DISTINCT_SYMBOL:
        	                	{
        	                		alt600=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt600)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1923:29: DISTINCT_SYMBOL
        	        	    {
        	        	        DISTINCT_SYMBOL2143 = (pANTLR3_COMMON_TOKEN) MATCHT(DISTINCT_SYMBOL, &FOLLOW_DISTINCT_SYMBOL_in_aggregate_function11166);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleaggregate_functionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        DISTINCT_SYMBOL2143_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DISTINCT_SYMBOL2143));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, DISTINCT_SYMBOL2143_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_aggregate_function11169);
        	        expression2144=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaggregate_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2144.tree);

        	        CLOSE_PAR_SYMBOL2145 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function11171);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaggregate_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL2145_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL2145));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL2145_tree);
        	        }

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:1924:4: BIT_AND_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        BIT_AND_SYMBOL2146 = (pANTLR3_COMMON_TOKEN) MATCHT(BIT_AND_SYMBOL, &FOLLOW_BIT_AND_SYMBOL_in_aggregate_function11176);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaggregate_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        BIT_AND_SYMBOL2146_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, BIT_AND_SYMBOL2146));
        	        ADAPTOR->addChild(ADAPTOR, root_0, BIT_AND_SYMBOL2146_tree);
        	        }

        	        OPEN_PAR_SYMBOL2147 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function11178);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaggregate_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL2147_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL2147));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL2147_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_aggregate_function11180);
        	        expression2148=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaggregate_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2148.tree);

        	        CLOSE_PAR_SYMBOL2149 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function11182);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaggregate_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL2149_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL2149));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL2149_tree);
        	        }

        	    }
        	    break;
        	case 3:
        	    // MySQL.g:1925:4: BIT_OR_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        BIT_OR_SYMBOL2150 = (pANTLR3_COMMON_TOKEN) MATCHT(BIT_OR_SYMBOL, &FOLLOW_BIT_OR_SYMBOL_in_aggregate_function11187);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaggregate_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        BIT_OR_SYMBOL2150_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, BIT_OR_SYMBOL2150));
        	        ADAPTOR->addChild(ADAPTOR, root_0, BIT_OR_SYMBOL2150_tree);
        	        }

        	        OPEN_PAR_SYMBOL2151 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function11189);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaggregate_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL2151_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL2151));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL2151_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_aggregate_function11191);
        	        expression2152=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaggregate_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2152.tree);

        	        CLOSE_PAR_SYMBOL2153 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function11193);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaggregate_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL2153_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL2153));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL2153_tree);
        	        }

        	    }
        	    break;
        	case 4:
        	    // MySQL.g:1926:4: BIT_XOR_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        BIT_XOR_SYMBOL2154 = (pANTLR3_COMMON_TOKEN) MATCHT(BIT_XOR_SYMBOL, &FOLLOW_BIT_XOR_SYMBOL_in_aggregate_function11198);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaggregate_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        BIT_XOR_SYMBOL2154_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, BIT_XOR_SYMBOL2154));
        	        ADAPTOR->addChild(ADAPTOR, root_0, BIT_XOR_SYMBOL2154_tree);
        	        }

        	        OPEN_PAR_SYMBOL2155 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function11200);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaggregate_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL2155_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL2155));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL2155_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_aggregate_function11202);
        	        expression2156=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaggregate_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2156.tree);

        	        CLOSE_PAR_SYMBOL2157 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function11204);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaggregate_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL2157_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL2157));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL2157_tree);
        	        }

        	    }
        	    break;
        	case 5:
        	    // MySQL.g:1927:4: count_function
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_count_function_in_aggregate_function11209);
        	        count_function2158=count_function(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaggregate_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, count_function2158.tree);

        	    }
        	    break;
        	case 6:
        	    // MySQL.g:1928:4: MIN_SYMBOL OPEN_PAR_SYMBOL ( DISTINCT_SYMBOL )? expression CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        MIN_SYMBOL2159 = (pANTLR3_COMMON_TOKEN) MATCHT(MIN_SYMBOL, &FOLLOW_MIN_SYMBOL_in_aggregate_function11214);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaggregate_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        MIN_SYMBOL2159_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MIN_SYMBOL2159));
        	        ADAPTOR->addChild(ADAPTOR, root_0, MIN_SYMBOL2159_tree);
        	        }

        	        OPEN_PAR_SYMBOL2160 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function11216);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaggregate_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL2160_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL2160));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL2160_tree);
        	        }

        	        // MySQL.g:1928:31: ( DISTINCT_SYMBOL )?
        	        {
        	            int alt601=2;
        	            switch ( LA(1) )
        	            {
        	                case DISTINCT_SYMBOL:
        	                	{
        	                		alt601=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt601)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1928:31: DISTINCT_SYMBOL
        	        	    {
        	        	        DISTINCT_SYMBOL2161 = (pANTLR3_COMMON_TOKEN) MATCHT(DISTINCT_SYMBOL, &FOLLOW_DISTINCT_SYMBOL_in_aggregate_function11218);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleaggregate_functionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        DISTINCT_SYMBOL2161_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DISTINCT_SYMBOL2161));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, DISTINCT_SYMBOL2161_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_aggregate_function11221);
        	        expression2162=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaggregate_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2162.tree);

        	        CLOSE_PAR_SYMBOL2163 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function11223);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaggregate_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL2163_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL2163));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL2163_tree);
        	        }

        	    }
        	    break;
        	case 7:
        	    // MySQL.g:1929:4: MAX_SYMBOL OPEN_PAR_SYMBOL ( DISTINCT_SYMBOL )? expression CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        MAX_SYMBOL2164 = (pANTLR3_COMMON_TOKEN) MATCHT(MAX_SYMBOL, &FOLLOW_MAX_SYMBOL_in_aggregate_function11228);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaggregate_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        MAX_SYMBOL2164_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MAX_SYMBOL2164));
        	        ADAPTOR->addChild(ADAPTOR, root_0, MAX_SYMBOL2164_tree);
        	        }

        	        OPEN_PAR_SYMBOL2165 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function11230);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaggregate_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL2165_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL2165));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL2165_tree);
        	        }

        	        // MySQL.g:1929:31: ( DISTINCT_SYMBOL )?
        	        {
        	            int alt602=2;
        	            switch ( LA(1) )
        	            {
        	                case DISTINCT_SYMBOL:
        	                	{
        	                		alt602=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt602)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1929:31: DISTINCT_SYMBOL
        	        	    {
        	        	        DISTINCT_SYMBOL2166 = (pANTLR3_COMMON_TOKEN) MATCHT(DISTINCT_SYMBOL, &FOLLOW_DISTINCT_SYMBOL_in_aggregate_function11232);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleaggregate_functionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        DISTINCT_SYMBOL2166_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DISTINCT_SYMBOL2166));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, DISTINCT_SYMBOL2166_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_aggregate_function11235);
        	        expression2167=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaggregate_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2167.tree);

        	        CLOSE_PAR_SYMBOL2168 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function11237);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaggregate_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL2168_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL2168));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL2168_tree);
        	        }

        	    }
        	    break;
        	case 8:
        	    // MySQL.g:1930:4: STD_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        STD_SYMBOL2169 = (pANTLR3_COMMON_TOKEN) MATCHT(STD_SYMBOL, &FOLLOW_STD_SYMBOL_in_aggregate_function11242);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaggregate_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        STD_SYMBOL2169_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, STD_SYMBOL2169));
        	        ADAPTOR->addChild(ADAPTOR, root_0, STD_SYMBOL2169_tree);
        	        }

        	        OPEN_PAR_SYMBOL2170 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function11244);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaggregate_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL2170_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL2170));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL2170_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_aggregate_function11246);
        	        expression2171=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaggregate_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2171.tree);

        	        CLOSE_PAR_SYMBOL2172 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function11248);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaggregate_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL2172_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL2172));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL2172_tree);
        	        }

        	    }
        	    break;
        	case 9:
        	    // MySQL.g:1931:4: VARIANCE_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        VARIANCE_SYMBOL2173 = (pANTLR3_COMMON_TOKEN) MATCHT(VARIANCE_SYMBOL, &FOLLOW_VARIANCE_SYMBOL_in_aggregate_function11253);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaggregate_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        VARIANCE_SYMBOL2173_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, VARIANCE_SYMBOL2173));
        	        ADAPTOR->addChild(ADAPTOR, root_0, VARIANCE_SYMBOL2173_tree);
        	        }

        	        OPEN_PAR_SYMBOL2174 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function11255);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaggregate_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL2174_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL2174));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL2174_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_aggregate_function11257);
        	        expression2175=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaggregate_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2175.tree);

        	        CLOSE_PAR_SYMBOL2176 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function11259);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaggregate_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL2176_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL2176));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL2176_tree);
        	        }

        	    }
        	    break;
        	case 10:
        	    // MySQL.g:1932:4: STDDEV_SAMP_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        STDDEV_SAMP_SYMBOL2177 = (pANTLR3_COMMON_TOKEN) MATCHT(STDDEV_SAMP_SYMBOL, &FOLLOW_STDDEV_SAMP_SYMBOL_in_aggregate_function11264);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaggregate_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        STDDEV_SAMP_SYMBOL2177_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, STDDEV_SAMP_SYMBOL2177));
        	        ADAPTOR->addChild(ADAPTOR, root_0, STDDEV_SAMP_SYMBOL2177_tree);
        	        }

        	        OPEN_PAR_SYMBOL2178 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function11266);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaggregate_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL2178_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL2178));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL2178_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_aggregate_function11268);
        	        expression2179=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaggregate_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2179.tree);

        	        CLOSE_PAR_SYMBOL2180 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function11270);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaggregate_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL2180_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL2180));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL2180_tree);
        	        }

        	    }
        	    break;
        	case 11:
        	    // MySQL.g:1933:4: VAR_SAMP_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        VAR_SAMP_SYMBOL2181 = (pANTLR3_COMMON_TOKEN) MATCHT(VAR_SAMP_SYMBOL, &FOLLOW_VAR_SAMP_SYMBOL_in_aggregate_function11275);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaggregate_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        VAR_SAMP_SYMBOL2181_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, VAR_SAMP_SYMBOL2181));
        	        ADAPTOR->addChild(ADAPTOR, root_0, VAR_SAMP_SYMBOL2181_tree);
        	        }

        	        OPEN_PAR_SYMBOL2182 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function11277);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaggregate_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL2182_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL2182));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL2182_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_aggregate_function11279);
        	        expression2183=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaggregate_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2183.tree);

        	        CLOSE_PAR_SYMBOL2184 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function11281);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaggregate_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL2184_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL2184));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL2184_tree);
        	        }

        	    }
        	    break;
        	case 12:
        	    // MySQL.g:1934:4: SUM_SYMBOL OPEN_PAR_SYMBOL ( DISTINCT_SYMBOL )? expression CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        SUM_SYMBOL2185 = (pANTLR3_COMMON_TOKEN) MATCHT(SUM_SYMBOL, &FOLLOW_SUM_SYMBOL_in_aggregate_function11286);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaggregate_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        SUM_SYMBOL2185_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SUM_SYMBOL2185));
        	        ADAPTOR->addChild(ADAPTOR, root_0, SUM_SYMBOL2185_tree);
        	        }

        	        OPEN_PAR_SYMBOL2186 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function11288);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaggregate_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL2186_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL2186));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL2186_tree);
        	        }

        	        // MySQL.g:1934:31: ( DISTINCT_SYMBOL )?
        	        {
        	            int alt603=2;
        	            switch ( LA(1) )
        	            {
        	                case DISTINCT_SYMBOL:
        	                	{
        	                		alt603=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt603)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1934:31: DISTINCT_SYMBOL
        	        	    {
        	        	        DISTINCT_SYMBOL2187 = (pANTLR3_COMMON_TOKEN) MATCHT(DISTINCT_SYMBOL, &FOLLOW_DISTINCT_SYMBOL_in_aggregate_function11290);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleaggregate_functionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        DISTINCT_SYMBOL2187_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DISTINCT_SYMBOL2187));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, DISTINCT_SYMBOL2187_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_aggregate_function11293);
        	        expression2188=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaggregate_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2188.tree);

        	        CLOSE_PAR_SYMBOL2189 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function11295);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaggregate_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL2189_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL2189));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL2189_tree);
        	        }

        	    }
        	    break;
        	case 13:
        	    // MySQL.g:1935: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_SYMBOL2190 = (pANTLR3_COMMON_TOKEN) MATCHT(GROUP_CONCAT_SYMBOL, &FOLLOW_GROUP_CONCAT_SYMBOL_in_aggregate_function11300);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaggregate_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        GROUP_CONCAT_SYMBOL2190_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, GROUP_CONCAT_SYMBOL2190));
        	        ADAPTOR->addChild(ADAPTOR, root_0, GROUP_CONCAT_SYMBOL2190_tree);
        	        }

        	        OPEN_PAR_SYMBOL2191 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_aggregate_function11302);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaggregate_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL2191_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL2191));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL2191_tree);
        	        }

        	        // MySQL.g:1935:40: ( DISTINCT_SYMBOL )?
        	        {
        	            int alt604=2;
        	            switch ( LA(1) )
        	            {
        	                case DISTINCT_SYMBOL:
        	                	{
        	                		alt604=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt604)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1935:40: DISTINCT_SYMBOL
        	        	    {
        	        	        DISTINCT_SYMBOL2192 = (pANTLR3_COMMON_TOKEN) MATCHT(DISTINCT_SYMBOL, &FOLLOW_DISTINCT_SYMBOL_in_aggregate_function11304);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleaggregate_functionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        DISTINCT_SYMBOL2192_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DISTINCT_SYMBOL2192));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, DISTINCT_SYMBOL2192_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_list_in_aggregate_function11307);
        	        expression_list2193=expression_list(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaggregate_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression_list2193.tree);

        	        // MySQL.g:1935:73: ( order_by_clause )?
        	        {
        	            int alt605=2;
        	            switch ( LA(1) )
        	            {
        	                case ORDER_SYMBOL:
        	                	{
        	                		alt605=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt605)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1935:73: order_by_clause
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_order_by_clause_in_aggregate_function11309);
        	        	        order_by_clause2194=order_by_clause(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleaggregate_functionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, order_by_clause2194.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	        // MySQL.g:1935:90: ( SEPARATOR_SYMBOL string_literal )?
        	        {
        	            int alt606=2;
        	            switch ( LA(1) )
        	            {
        	                case SEPARATOR_SYMBOL:
        	                	{
        	                		alt606=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt606)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1935:91: SEPARATOR_SYMBOL string_literal
        	        	    {
        	        	        SEPARATOR_SYMBOL2195 = (pANTLR3_COMMON_TOKEN) MATCHT(SEPARATOR_SYMBOL, &FOLLOW_SEPARATOR_SYMBOL_in_aggregate_function11313);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleaggregate_functionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        SEPARATOR_SYMBOL2195_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SEPARATOR_SYMBOL2195));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, SEPARATOR_SYMBOL2195_tree);
        	        	        }

        	        	        FOLLOWPUSH(FOLLOW_string_literal_in_aggregate_function11315);
        	        	        string_literal2196=string_literal(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleaggregate_functionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_literal2196.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	        CLOSE_PAR_SYMBOL2197 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_aggregate_function11319);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleaggregate_functionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL2197_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL2197));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL2197_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:1938: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_SYMBOL2198;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL2199;
    pANTLR3_COMMON_TOKEN    ALL_SYMBOL2200;
    pANTLR3_COMMON_TOKEN    MULT_OPERATOR2201;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2202;
    pANTLR3_COMMON_TOKEN    DISTINCT_SYMBOL2203;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2205;
    MySQLParser_expression_list_return expression_list2204;
    #undef	RETURN_TYPE_expression_list2204
    #define	RETURN_TYPE_expression_list2204 MySQLParser_expression_list_return

    pANTLR3_BASE_TREE COUNT_SYMBOL2198_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2199_tree;
    pANTLR3_BASE_TREE ALL_SYMBOL2200_tree;
    pANTLR3_BASE_TREE MULT_OPERATOR2201_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2202_tree;
    pANTLR3_BASE_TREE DISTINCT_SYMBOL2203_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2205_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    COUNT_SYMBOL2198       = NULL;
    OPEN_PAR_SYMBOL2199       = NULL;
    ALL_SYMBOL2200       = NULL;
    MULT_OPERATOR2201       = NULL;
    CLOSE_PAR_SYMBOL2202       = NULL;
    DISTINCT_SYMBOL2203       = NULL;
    CLOSE_PAR_SYMBOL2205       = NULL;
    expression_list2204.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    COUNT_SYMBOL2198_tree   = NULL;
    OPEN_PAR_SYMBOL2199_tree   = NULL;
    ALL_SYMBOL2200_tree   = NULL;
    MULT_OPERATOR2201_tree   = NULL;
    CLOSE_PAR_SYMBOL2202_tree   = NULL;
    DISTINCT_SYMBOL2203_tree   = NULL;
    CLOSE_PAR_SYMBOL2205_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1938:15: ( COUNT_SYMBOL OPEN_PAR_SYMBOL ( ( ALL_SYMBOL )? MULT_OPERATOR CLOSE_PAR_SYMBOL | ( DISTINCT_SYMBOL )? expression_list CLOSE_PAR_SYMBOL ) )
        // MySQL.g:1939: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_SYMBOL2198 = (pANTLR3_COMMON_TOKEN) MATCHT(COUNT_SYMBOL, &FOLLOW_COUNT_SYMBOL_in_count_function11328);
            if  (HASEXCEPTION())
            {
                goto rulecount_functionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            COUNT_SYMBOL2198_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COUNT_SYMBOL2198));
            ADAPTOR->addChild(ADAPTOR, root_0, COUNT_SYMBOL2198_tree);
            }

            OPEN_PAR_SYMBOL2199 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_count_function11330);
            if  (HASEXCEPTION())
            {
                goto rulecount_functionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            OPEN_PAR_SYMBOL2199_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL2199));
            ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL2199_tree);
            }

            // MySQL.g:1940:2: ( ( ALL_SYMBOL )? MULT_OPERATOR CLOSE_PAR_SYMBOL | ( DISTINCT_SYMBOL )? expression_list CLOSE_PAR_SYMBOL )
            {
                int alt610=2;
                {
                    int LA610_0 = LA(1);
                    if ( (LA610_0 == ALL_SYMBOL || LA610_0 == MULT_OPERATOR))
                    {
                        alt610=1;
                    }
                    else if ( (LA610_0 == BITWISE_NOT_OPERATOR || LA610_0 == DISTINCT_SYMBOL || LA610_0 == INTERVAL_SYMBOL || LA610_0 == LOGICAL_NOT_OPERATOR || LA610_0 == MINUS_OPERATOR || LA610_0 == NCHAR_TEXT || LA610_0 == NOT2_SYMBOL || LA610_0 == NOT_SYMBOL || LA610_0 == PLUS_OPERATOR || LA610_0 == SINGLE_QUOTED_TEXT || LA610_0 == UNDERSCORE_CHARSET))
                    {
                        alt610=2;
                    }
                    else if ( ((((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES)))||((!SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))))) && (LA610_0 == DOUBLE_QUOTED_TEXT))
                    {
                        alt610=2;
                    }
                    else if ( (LA610_0 == FALSE_SYMBOL || LA610_0 == FLOAT || ((LA610_0 >= HEXNUMBER) && (LA610_0 <= HEXSTRING)) || LA610_0 == INTEGER || LA610_0 == TRUE_SYMBOL))
                    {
                        alt610=2;
                    }
                    else if ( ((SERVER_VERSION >= 50003)) && (((LA610_0 >= BITNUMBER) && (LA610_0 <= BITSTRING))))
                    {
                        alt610=2;
                    }
                    else if ( (((LA610_0 >= ACTION_SYMBOL) && (LA610_0 <= PARTITION_SYMBOL)) || ((LA610_0 >= AT_AT_SIGN_SYMBOL) && (LA610_0 <= AT_SIGN_SYMBOL)) || LA610_0 == BACK_TICK_QUOTED_ID || LA610_0 == BINARY_SYMBOL || ((LA610_0 >= BIT_AND_SYMBOL) && (LA610_0 <= BIT_XOR_SYMBOL)) || ((LA610_0 >= CASE_SYMBOL) && (LA610_0 <= CAST_SYMBOL)) || LA610_0 == CHAR_SYMBOL || ((LA610_0 >= CONVERT_SYMBOL) && (LA610_0 <= COUNT_SYMBOL)) || LA610_0 == CURDATE_SYMBOL || LA610_0 == CURRENT_USER_SYMBOL || LA610_0 == CURTIME_SYMBOL || LA610_0 == DATABASE_SYMBOL || LA610_0 == DATE_ADD_SYMBOL || LA610_0 == DATE_SUB_SYMBOL || LA610_0 == DOT_SYMBOL || LA610_0 == EXISTS_SYMBOL || LA610_0 == EXTRACT_SYMBOL || LA610_0 == GROUP_CONCAT_SYMBOL || ((LA610_0 >= IDENTIFIER) && (LA610_0 <= IF_SYMBOL)) || LA610_0 == INSERT_SYMBOL || LA610_0 == LEFT_SYMBOL || LA610_0 == MATCH_SYMBOL || LA610_0 == MAX_SYMBOL || LA610_0 == MIN_SYMBOL || LA610_0 == MOD_SYMBOL || LA610_0 == NOW_SYMBOL || LA610_0 == NULL2_SYMBOL || LA610_0 == NULL_SYMBOL || ((LA610_0 >= OPEN_CURLY_SYMBOL) && (LA610_0 <= OPEN_PAR_SYMBOL)) || LA610_0 == PARAM_MARKER || LA610_0 == POSITION_SYMBOL || ((LA610_0 >= REPEAT_SYMBOL) && (LA610_0 <= REPLACE_SYMBOL)) || LA610_0 == RIGHT_SYMBOL || LA610_0 == STDDEV_SAMP_SYMBOL || LA610_0 == STD_SYMBOL || LA610_0 == SUBSTRING_SYMBOL || ((LA610_0 >= SUM_SYMBOL) && (LA610_0 <= SYSDATE_SYMBOL)) || LA610_0 == TRIM_SYMBOL || ((LA610_0 >= UTC_DATE_SYMBOL) && (LA610_0 <= VALUES_SYMBOL)) || LA610_0 == VARIANCE_SYMBOL || LA610_0 == VAR_SAMP_SYMBOL))
                    {
                        alt610=2;
                    }
                    else
                    {
                        if (BACKTRACKING>0)
                        {
                            FAILEDFLAG = ANTLR3_TRUE;
                            return retval;
                        }


                        CONSTRUCTEX();
                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                        EXCEPTION->message      = (void *)"";
                        EXCEPTION->decisionNum  = 610;
                        EXCEPTION->state        = 0;


                        goto rulecount_functionEx;

                    }
                }
                switch (alt610)
                {
            	case 1:
            	    // MySQL.g:1941:3: ( ALL_SYMBOL )? MULT_OPERATOR CLOSE_PAR_SYMBOL
            	    {
            	        // MySQL.g:1941:3: ( ALL_SYMBOL )?
            	        {
            	            int alt608=2;
            	            switch ( LA(1) )
            	            {
            	                case ALL_SYMBOL:
            	                	{
            	                		alt608=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt608)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1941:3: ALL_SYMBOL
            	        	    {
            	        	        ALL_SYMBOL2200 = (pANTLR3_COMMON_TOKEN) MATCHT(ALL_SYMBOL, &FOLLOW_ALL_SYMBOL_in_count_function11337);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulecount_functionEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        ALL_SYMBOL2200_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ALL_SYMBOL2200));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, ALL_SYMBOL2200_tree);
            	        	        }

            	        	    }
            	        	    break;

            	            }
            	        }

            	        MULT_OPERATOR2201 = (pANTLR3_COMMON_TOKEN) MATCHT(MULT_OPERATOR, &FOLLOW_MULT_OPERATOR_in_count_function11340);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecount_functionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        MULT_OPERATOR2201_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MULT_OPERATOR2201));
            	        ADAPTOR->addChild(ADAPTOR, root_0, MULT_OPERATOR2201_tree);
            	        }

            	        CLOSE_PAR_SYMBOL2202 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_count_function11342);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecount_functionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        CLOSE_PAR_SYMBOL2202_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL2202));
            	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL2202_tree);
            	        }

            	    }
            	    break;
            	case 2:
            	    // MySQL.g:1942:5: ( DISTINCT_SYMBOL )? expression_list CLOSE_PAR_SYMBOL
            	    {
            	        // MySQL.g:1942:5: ( DISTINCT_SYMBOL )?
            	        {
            	            int alt609=2;
            	            switch ( LA(1) )
            	            {
            	                case DISTINCT_SYMBOL:
            	                	{
            	                		alt609=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt609)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1942:5: DISTINCT_SYMBOL
            	        	    {
            	        	        DISTINCT_SYMBOL2203 = (pANTLR3_COMMON_TOKEN) MATCHT(DISTINCT_SYMBOL, &FOLLOW_DISTINCT_SYMBOL_in_count_function11348);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulecount_functionEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        DISTINCT_SYMBOL2203_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DISTINCT_SYMBOL2203));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, DISTINCT_SYMBOL2203_tree);
            	        	        }

            	        	    }
            	        	    break;

            	            }
            	        }

            	        FOLLOWPUSH(FOLLOW_expression_list_in_count_function11351);
            	        expression_list2204=expression_list(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecount_functionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression_list2204.tree);

            	        CLOSE_PAR_SYMBOL2205 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_count_function11353);
            	        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;

                }
            }

        }

    }

    // 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:1946: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_SYMBOL2207;
    MySQLParser_aliased_expression_return aliased_expression2206;
    #undef	RETURN_TYPE_aliased_expression2206
    #define	RETURN_TYPE_aliased_expression2206 MySQLParser_aliased_expression_return

    MySQLParser_aliased_expression_return aliased_expression2208;
    #undef	RETURN_TYPE_aliased_expression2208
    #define	RETURN_TYPE_aliased_expression2208 MySQLParser_aliased_expression_return

    pANTLR3_BASE_TREE COMMA_SYMBOL2207_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    COMMA_SYMBOL2207       = NULL;
    aliased_expression2206.tree = NULL;

    aliased_expression2208.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    COMMA_SYMBOL2207_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1946:24: ( aliased_expression ( COMMA_SYMBOL aliased_expression )* )
        // MySQL.g:1947:2: aliased_expression ( COMMA_SYMBOL aliased_expression )*
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            FOLLOWPUSH(FOLLOW_aliased_expression_in_aliased_expression_list11365);
            aliased_expression2206=aliased_expression(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulealiased_expression_listEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, aliased_expression2206.tree);

            // MySQL.g:1947:21: ( COMMA_SYMBOL aliased_expression )*

            for (;;)
            {
                int alt611=2;
                switch ( LA(1) )
                {
                case COMMA_SYMBOL:
                	{
                		alt611=1;
                	}
                    break;

                }

                switch (alt611)
                {
            	case 1:
            	    // MySQL.g:1947:22: COMMA_SYMBOL aliased_expression
            	    {
            	        COMMA_SYMBOL2207 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_aliased_expression_list11368);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulealiased_expression_listEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        COMMA_SYMBOL2207_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL2207));
            	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL2207_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_aliased_expression_in_aliased_expression_list11370);
            	        aliased_expression2208=aliased_expression(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulealiased_expression_listEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, aliased_expression2208.tree);

            	    }
            	    break;

            	default:
            	    goto loop611;	/* break out of the loop */
            	    break;
                }
            }
            loop611: ; /* 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:1950: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 expression2209;
    #undef	RETURN_TYPE_expression2209
    #define	RETURN_TYPE_expression2209 MySQLParser_expression_return

    MySQLParser_select_alias_return select_alias2210;
    #undef	RETURN_TYPE_select_alias2210
    #define	RETURN_TYPE_select_alias2210 MySQLParser_select_alias_return


    /* Initialize rule variables
     */

    root_0 = NULL;

    expression2209.tree = NULL;

    select_alias2210.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;




    retval.tree  = NULL;

    {
        // MySQL.g:1950:19: ( expression ( select_alias )? )
        // MySQL.g:1951:2: expression ( select_alias )?
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            FOLLOWPUSH(FOLLOW_expression_in_aliased_expression11381);
            expression2209=expression(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulealiased_expressionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2209.tree);

            // MySQL.g:1951:13: ( select_alias )?
            {
                int alt612=2;
                {
                    int LA612_0 = LA(1);
                    if ( (LA612_0 == AS_SYMBOL || LA612_0 == NCHAR_TEXT || LA612_0 == SINGLE_QUOTED_TEXT || LA612_0 == UNDERSCORE_CHARSET))
                    {
                        alt612=1;
                    }
                    else if ( ((((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES)))||((!SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))))) && (LA612_0 == DOUBLE_QUOTED_TEXT))
                    {
                        alt612=1;
                    }
                    else if ( (((LA612_0 >= ACTION_SYMBOL) && (LA612_0 <= PARTITION_SYMBOL)) || LA612_0 == BACK_TICK_QUOTED_ID || LA612_0 == IDENTIFIER))
                    {
                        alt612=1;
                    }
                }
                switch (alt612)
                {
            	case 1:
            	    // MySQL.g:1951:13: select_alias
            	    {
            	        FOLLOWPUSH(FOLLOW_select_alias_in_aliased_expression11383);
            	        select_alias2210=select_alias(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulealiased_expressionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, select_alias2210.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:1954: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_OPERATOR2212;
    MySQLParser_user_variable_return user_variable2211;
    #undef	RETURN_TYPE_user_variable2211
    #define	RETURN_TYPE_user_variable2211 MySQLParser_user_variable_return

    MySQLParser_expression_return expression2213;
    #undef	RETURN_TYPE_expression2213
    #define	RETURN_TYPE_expression2213 MySQLParser_expression_return

    MySQLParser_system_variable_return system_variable2214;
    #undef	RETURN_TYPE_system_variable2214
    #define	RETURN_TYPE_system_variable2214 MySQLParser_system_variable_return

    pANTLR3_BASE_TREE ASSIGN_OPERATOR2212_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    ASSIGN_OPERATOR2212       = NULL;
    user_variable2211.tree = NULL;

    expression2213.tree = NULL;

    system_variable2214.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    ASSIGN_OPERATOR2212_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:1954:36: ( user_variable ( ASSIGN_OPERATOR ^ expression )? | system_variable )

            ANTLR3_UINT32 alt614;

            alt614=2;

            switch ( LA(1) )
            {
            case AT_SIGN_SYMBOL:
            	{
            		alt614=1;
            	}
                break;
            case AT_AT_SIGN_SYMBOL:
            	{
            		alt614=2;
            	}
                break;

            default:
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                EXCEPTION->message      = (void *)"";
                EXCEPTION->decisionNum  = 614;
                EXCEPTION->state        = 0;


                goto rulevariableEx;

            }

            switch (alt614)
            {
        	case 1:
        	    // MySQL.g:1955:2: user_variable ( ASSIGN_OPERATOR ^ expression )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_user_variable_in_variable11404);
        	        user_variable2211=user_variable(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulevariableEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, user_variable2211.tree);

        	        // MySQL.g:1955:16: ( ASSIGN_OPERATOR ^ expression )?
        	        {
        	            int alt613=2;
        	            switch ( LA(1) )
        	            {
        	                case ASSIGN_OPERATOR:
        	                	{
        	                		alt613=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt613)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1955:17: ASSIGN_OPERATOR ^ expression
        	        	    {
        	        	        ASSIGN_OPERATOR2212 = (pANTLR3_COMMON_TOKEN) MATCHT(ASSIGN_OPERATOR, &FOLLOW_ASSIGN_OPERATOR_in_variable11407);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulevariableEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        ASSIGN_OPERATOR2212_tree = 
        	        	        (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ASSIGN_OPERATOR2212))
        	        	        ;
        	        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, ASSIGN_OPERATOR2212_tree, root_0));
        	        	        }

        	        	        FOLLOWPUSH(FOLLOW_expression_in_variable11410);
        	        	        expression2213=expression(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulevariableEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2213.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:1956:4: system_variable
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_system_variable_in_variable11417);
        	        system_variable2214=system_variable(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulevariableEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, system_variable2214.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:1959: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_SYMBOL2215;
    MySQLParser_text_or_identifier_return text_or_identifier2216;
    #undef	RETURN_TYPE_text_or_identifier2216
    #define	RETURN_TYPE_text_or_identifier2216 MySQLParser_text_or_identifier_return

    pANTLR3_BASE_TREE AT_SIGN_SYMBOL2215_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    AT_SIGN_SYMBOL2215       = NULL;
    text_or_identifier2216.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    AT_SIGN_SYMBOL2215_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1959:14: ( AT_SIGN_SYMBOL text_or_identifier )
        // MySQL.g:1960:2: AT_SIGN_SYMBOL text_or_identifier
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            AT_SIGN_SYMBOL2215 = (pANTLR3_COMMON_TOKEN) MATCHT(AT_SIGN_SYMBOL, &FOLLOW_AT_SIGN_SYMBOL_in_user_variable11426);
            if  (HASEXCEPTION())
            {
                goto ruleuser_variableEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            AT_SIGN_SYMBOL2215_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, AT_SIGN_SYMBOL2215));
            ADAPTOR->addChild(ADAPTOR, root_0, AT_SIGN_SYMBOL2215_tree);
            }

            FOLLOWPUSH(FOLLOW_text_or_identifier_in_user_variable11428);
            text_or_identifier2216=text_or_identifier(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruleuser_variableEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, text_or_identifier2216.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:1964: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_SYMBOL2217;
    pANTLR3_COMMON_TOKEN    DOT_SYMBOL2219;
    MySQLParser_option_type_return option_type2218;
    #undef	RETURN_TYPE_option_type2218
    #define	RETURN_TYPE_option_type2218 MySQLParser_option_type_return

    MySQLParser_variable_name_return variable_name2220;
    #undef	RETURN_TYPE_variable_name2220
    #define	RETURN_TYPE_variable_name2220 MySQLParser_variable_name_return

    pANTLR3_BASE_TREE AT_AT_SIGN_SYMBOL2217_tree;
    pANTLR3_BASE_TREE DOT_SYMBOL2219_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    AT_AT_SIGN_SYMBOL2217       = NULL;
    DOT_SYMBOL2219       = NULL;
    option_type2218.tree = NULL;

    variable_name2220.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    AT_AT_SIGN_SYMBOL2217_tree   = NULL;
    DOT_SYMBOL2219_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1964:16: ( AT_AT_SIGN_SYMBOL ( options {greedy=true; } : option_type DOT_SYMBOL )? variable_name )
        // MySQL.g:1965: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_SYMBOL2217 = (pANTLR3_COMMON_TOKEN) MATCHT(AT_AT_SIGN_SYMBOL, &FOLLOW_AT_AT_SIGN_SYMBOL_in_system_variable11438);
            if  (HASEXCEPTION())
            {
                goto rulesystem_variableEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            AT_AT_SIGN_SYMBOL2217_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, AT_AT_SIGN_SYMBOL2217));
            ADAPTOR->addChild(ADAPTOR, root_0, AT_AT_SIGN_SYMBOL2217_tree);
            }

            // MySQL.g:1965:20: ( options {greedy=true; } : option_type DOT_SYMBOL )?
            {
                int alt615=2;
                switch ( LA(1) )
                {
                    case GLOBAL_SYMBOL:
                    case LOCAL_SYMBOL:
                    case SESSION_SYMBOL:
                    	{
                    		switch ( LA(2) )
                    		{
                    		    case DOT_SYMBOL:
                    		    	{
                    		    		alt615=1;
                    		    	}
                    		        break;
                    		}

                    	}
                        break;
                }

                switch (alt615)
                {
            	case 1:
            	    // MySQL.g:1965:50: option_type DOT_SYMBOL
            	    {
            	        FOLLOWPUSH(FOLLOW_option_type_in_system_variable11454);
            	        option_type2218=option_type(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulesystem_variableEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, option_type2218.tree);

            	        DOT_SYMBOL2219 = (pANTLR3_COMMON_TOKEN) MATCHT(DOT_SYMBOL, &FOLLOW_DOT_SYMBOL_in_system_variable11456);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulesystem_variableEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        DOT_SYMBOL2219_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DOT_SYMBOL2219));
            	        ADAPTOR->addChild(ADAPTOR, root_0, DOT_SYMBOL2219_tree);
            	        }

            	    }
            	    break;

                }
            }

            FOLLOWPUSH(FOLLOW_variable_name_in_system_variable11460);
            variable_name2220=variable_name(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulesystem_variableEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, variable_name2220.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:1968: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_SYMBOL2222;
    pANTLR3_COMMON_TOKEN    DEFAULT_SYMBOL2224;
    pANTLR3_COMMON_TOKEN    DOT_SYMBOL2225;
    MySQLParser_identifier_return identifier2221;
    #undef	RETURN_TYPE_identifier2221
    #define	RETURN_TYPE_identifier2221 MySQLParser_identifier_return

    MySQLParser_identifier_return identifier2223;
    #undef	RETURN_TYPE_identifier2223
    #define	RETURN_TYPE_identifier2223 MySQLParser_identifier_return

    MySQLParser_identifier_return identifier2226;
    #undef	RETURN_TYPE_identifier2226
    #define	RETURN_TYPE_identifier2226 MySQLParser_identifier_return

    pANTLR3_BASE_TREE DOT_SYMBOL2222_tree;
    pANTLR3_BASE_TREE DEFAULT_SYMBOL2224_tree;
    pANTLR3_BASE_TREE DOT_SYMBOL2225_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    DOT_SYMBOL2222       = NULL;
    DEFAULT_SYMBOL2224       = NULL;
    DOT_SYMBOL2225       = NULL;
    identifier2221.tree = NULL;

    identifier2223.tree = NULL;

    identifier2226.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    DOT_SYMBOL2222_tree   = NULL;
    DEFAULT_SYMBOL2224_tree   = NULL;
    DOT_SYMBOL2225_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:1968:14: ( identifier ( DOT_SYMBOL identifier )? | DEFAULT_SYMBOL DOT_SYMBOL identifier )

            ANTLR3_UINT32 alt617;

            alt617=2;

            {
                int LA617_0 = LA(1);
                if ( (LA617_0 == BACK_TICK_QUOTED_ID || LA617_0 == IDENTIFIER))
                {
                    alt617=1;
                }
                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA617_0 == DOUBLE_QUOTED_TEXT))
                {
                    alt617=1;
                }
                else if ( (((LA617_0 >= ACTION_SYMBOL) && (LA617_0 <= PARTITION_SYMBOL))))
                {
                    alt617=1;
                }
                else if ( (LA617_0 == DEFAULT_SYMBOL))
                {
                    alt617=2;
                }
                else
                {
                    if (BACKTRACKING>0)
                    {
                        FAILEDFLAG = ANTLR3_TRUE;
                        return retval;
                    }


                    CONSTRUCTEX();
                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    EXCEPTION->message      = (void *)"";
                    EXCEPTION->decisionNum  = 617;
                    EXCEPTION->state        = 0;


                    goto rulevariable_nameEx;

                }
            }
            switch (alt617)
            {
        	case 1:
        	    // MySQL.g:1969:2: identifier ( DOT_SYMBOL identifier )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_identifier_in_variable_name11469);
        	        identifier2221=identifier(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulevariable_nameEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier2221.tree);

        	        // MySQL.g:1969:13: ( DOT_SYMBOL identifier )?
        	        {
        	            int alt616=2;
        	            switch ( LA(1) )
        	            {
        	                case DOT_SYMBOL:
        	                	{
        	                		alt616=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt616)
        	            {
        	        	case 1:
        	        	    // MySQL.g:1969:14: DOT_SYMBOL identifier
        	        	    {
        	        	        DOT_SYMBOL2222 = (pANTLR3_COMMON_TOKEN) MATCHT(DOT_SYMBOL, &FOLLOW_DOT_SYMBOL_in_variable_name11472);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulevariable_nameEx;
        	        	        }
        	        	        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);
        	        	        }

        	        	        FOLLOWPUSH(FOLLOW_identifier_in_variable_name11474);
        	        	        identifier2223=identifier(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulevariable_nameEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier2223.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:1970:4: DEFAULT_SYMBOL DOT_SYMBOL identifier
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        DEFAULT_SYMBOL2224 = (pANTLR3_COMMON_TOKEN) MATCHT(DEFAULT_SYMBOL, &FOLLOW_DEFAULT_SYMBOL_in_variable_name11485);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulevariable_nameEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        DEFAULT_SYMBOL2224_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DEFAULT_SYMBOL2224));
        	        ADAPTOR->addChild(ADAPTOR, root_0, DEFAULT_SYMBOL2224_tree);
        	        }

        	        DOT_SYMBOL2225 = (pANTLR3_COMMON_TOKEN) MATCHT(DOT_SYMBOL, &FOLLOW_DOT_SYMBOL_in_variable_name11487);
        	        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_name11489);
        	        identifier2226=identifier(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulevariable_nameEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier2226.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:1973: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_SYMBOL2227;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL2228;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2230;
    pANTLR3_COMMON_TOKEN    AGAINST_SYMBOL2231;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL2232;
    pANTLR3_COMMON_TOKEN    IN_SYMBOL2234;
    pANTLR3_COMMON_TOKEN    BOOLEAN_SYMBOL2235;
    pANTLR3_COMMON_TOKEN    MODE_SYMBOL2236;
    pANTLR3_COMMON_TOKEN    IN_SYMBOL2237;
    pANTLR3_COMMON_TOKEN    NATURAL_SYMBOL2238;
    pANTLR3_COMMON_TOKEN    LANGUAGE_SYMBOL2239;
    pANTLR3_COMMON_TOKEN    MODE_SYMBOL2240;
    pANTLR3_COMMON_TOKEN    WITH_SYMBOL2241;
    pANTLR3_COMMON_TOKEN    QUERY_SYMBOL2242;
    pANTLR3_COMMON_TOKEN    EXPANSION_SYMBOL2243;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2244;
    MySQLParser_field_name_list_return field_name_list2229;
    #undef	RETURN_TYPE_field_name_list2229
    #define	RETURN_TYPE_field_name_list2229 MySQLParser_field_name_list_return

    MySQLParser_bitwise_or_expression_return bitwise_or_expression2233;
    #undef	RETURN_TYPE_bitwise_or_expression2233
    #define	RETURN_TYPE_bitwise_or_expression2233 MySQLParser_bitwise_or_expression_return

    pANTLR3_BASE_TREE MATCH_SYMBOL2227_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2228_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2230_tree;
    pANTLR3_BASE_TREE AGAINST_SYMBOL2231_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2232_tree;
    pANTLR3_BASE_TREE IN_SYMBOL2234_tree;
    pANTLR3_BASE_TREE BOOLEAN_SYMBOL2235_tree;
    pANTLR3_BASE_TREE MODE_SYMBOL2236_tree;
    pANTLR3_BASE_TREE IN_SYMBOL2237_tree;
    pANTLR3_BASE_TREE NATURAL_SYMBOL2238_tree;
    pANTLR3_BASE_TREE LANGUAGE_SYMBOL2239_tree;
    pANTLR3_BASE_TREE MODE_SYMBOL2240_tree;
    pANTLR3_BASE_TREE WITH_SYMBOL2241_tree;
    pANTLR3_BASE_TREE QUERY_SYMBOL2242_tree;
    pANTLR3_BASE_TREE EXPANSION_SYMBOL2243_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2244_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    MATCH_SYMBOL2227       = NULL;
    OPEN_PAR_SYMBOL2228       = NULL;
    CLOSE_PAR_SYMBOL2230       = NULL;
    AGAINST_SYMBOL2231       = NULL;
    OPEN_PAR_SYMBOL2232       = NULL;
    IN_SYMBOL2234       = NULL;
    BOOLEAN_SYMBOL2235       = NULL;
    MODE_SYMBOL2236       = NULL;
    IN_SYMBOL2237       = NULL;
    NATURAL_SYMBOL2238       = NULL;
    LANGUAGE_SYMBOL2239       = NULL;
    MODE_SYMBOL2240       = NULL;
    WITH_SYMBOL2241       = NULL;
    QUERY_SYMBOL2242       = NULL;
    EXPANSION_SYMBOL2243       = NULL;
    CLOSE_PAR_SYMBOL2244       = NULL;
    field_name_list2229.tree = NULL;

    bitwise_or_expression2233.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    MATCH_SYMBOL2227_tree   = NULL;
    OPEN_PAR_SYMBOL2228_tree   = NULL;
    CLOSE_PAR_SYMBOL2230_tree   = NULL;
    AGAINST_SYMBOL2231_tree   = NULL;
    OPEN_PAR_SYMBOL2232_tree   = NULL;
    IN_SYMBOL2234_tree   = NULL;
    BOOLEAN_SYMBOL2235_tree   = NULL;
    MODE_SYMBOL2236_tree   = NULL;
    IN_SYMBOL2237_tree   = NULL;
    NATURAL_SYMBOL2238_tree   = NULL;
    LANGUAGE_SYMBOL2239_tree   = NULL;
    MODE_SYMBOL2240_tree   = NULL;
    WITH_SYMBOL2241_tree   = NULL;
    QUERY_SYMBOL2242_tree   = NULL;
    EXPANSION_SYMBOL2243_tree   = NULL;
    CLOSE_PAR_SYMBOL2244_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1973: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:1974: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_SYMBOL2227 = (pANTLR3_COMMON_TOKEN) MATCHT(MATCH_SYMBOL, &FOLLOW_MATCH_SYMBOL_in_match_expression11498);
            if  (HASEXCEPTION())
            {
                goto rulematch_expressionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            MATCH_SYMBOL2227_tree = 
            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MATCH_SYMBOL2227))
            ;
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, MATCH_SYMBOL2227_tree, root_0));
            }

            OPEN_PAR_SYMBOL2228 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_match_expression11501);
            if  (HASEXCEPTION())
            {
                goto rulematch_expressionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            OPEN_PAR_SYMBOL2228_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL2228));
            ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL2228_tree);
            }

            FOLLOWPUSH(FOLLOW_field_name_list_in_match_expression11503);
            field_name_list2229=field_name_list(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulematch_expressionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, field_name_list2229.tree);

            CLOSE_PAR_SYMBOL2230 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_match_expression11505);
            if  (HASEXCEPTION())
            {
                goto rulematch_expressionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            CLOSE_PAR_SYMBOL2230_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL2230));
            ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL2230_tree);
            }

            AGAINST_SYMBOL2231 = (pANTLR3_COMMON_TOKEN) MATCHT(AGAINST_SYMBOL, &FOLLOW_AGAINST_SYMBOL_in_match_expression11507);
            if  (HASEXCEPTION())
            {
                goto rulematch_expressionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            AGAINST_SYMBOL2231_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, AGAINST_SYMBOL2231));
            ADAPTOR->addChild(ADAPTOR, root_0, AGAINST_SYMBOL2231_tree);
            }

            OPEN_PAR_SYMBOL2232 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_match_expression11509);
            if  (HASEXCEPTION())
            {
                goto rulematch_expressionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            OPEN_PAR_SYMBOL2232_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL2232));
            ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL2232_tree);
            }

            FOLLOWPUSH(FOLLOW_bitwise_or_expression_in_match_expression11511);
            bitwise_or_expression2233=bitwise_or_expression(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulematch_expressionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, bitwise_or_expression2233.tree);

            // MySQL.g:1975:3: ( IN_SYMBOL BOOLEAN_SYMBOL MODE_SYMBOL | ( IN_SYMBOL NATURAL_SYMBOL LANGUAGE_SYMBOL MODE_SYMBOL )? ( WITH_SYMBOL QUERY_SYMBOL EXPANSION_SYMBOL )? )
            {
                int alt620=2;
                switch ( LA(1) )
                {
                case IN_SYMBOL:
                	{
                		switch ( LA(2) )
                		{
                		case BOOLEAN_SYMBOL:
                			{
                				alt620=1;
                			}
                		    break;
                		case NATURAL_SYMBOL:
                			{
                				alt620=2;
                			}
                		    break;

                		default:
                		    if (BACKTRACKING>0)
                		    {
                		        FAILEDFLAG = ANTLR3_TRUE;
                		        return retval;
                		    }

                		    CONSTRUCTEX();
                		    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                		    EXCEPTION->message      = (void *)"";
                		    EXCEPTION->decisionNum  = 620;
                		    EXCEPTION->state        = 1;


                		    goto rulematch_expressionEx;

                		}

                	}
                    break;
                case CLOSE_PAR_SYMBOL:
                case WITH_SYMBOL:
                	{
                		alt620=2;
                	}
                    break;

                default:
                    if (BACKTRACKING>0)
                    {
                        FAILEDFLAG = ANTLR3_TRUE;
                        return retval;
                    }

                    CONSTRUCTEX();
                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    EXCEPTION->message      = (void *)"";
                    EXCEPTION->decisionNum  = 620;
                    EXCEPTION->state        = 0;


                    goto rulematch_expressionEx;

                }

                switch (alt620)
                {
            	case 1:
            	    // MySQL.g:1976:4: IN_SYMBOL BOOLEAN_SYMBOL MODE_SYMBOL
            	    {
            	        IN_SYMBOL2234 = (pANTLR3_COMMON_TOKEN) MATCHT(IN_SYMBOL, &FOLLOW_IN_SYMBOL_in_match_expression11520);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulematch_expressionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        IN_SYMBOL2234_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, IN_SYMBOL2234));
            	        ADAPTOR->addChild(ADAPTOR, root_0, IN_SYMBOL2234_tree);
            	        }

            	        BOOLEAN_SYMBOL2235 = (pANTLR3_COMMON_TOKEN) MATCHT(BOOLEAN_SYMBOL, &FOLLOW_BOOLEAN_SYMBOL_in_match_expression11522);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulematch_expressionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        BOOLEAN_SYMBOL2235_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, BOOLEAN_SYMBOL2235));
            	        ADAPTOR->addChild(ADAPTOR, root_0, BOOLEAN_SYMBOL2235_tree);
            	        }

            	        MODE_SYMBOL2236 = (pANTLR3_COMMON_TOKEN) MATCHT(MODE_SYMBOL, &FOLLOW_MODE_SYMBOL_in_match_expression11524);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulematch_expressionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        MODE_SYMBOL2236_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MODE_SYMBOL2236));
            	        ADAPTOR->addChild(ADAPTOR, root_0, MODE_SYMBOL2236_tree);
            	        }

            	    }
            	    break;
            	case 2:
            	    // MySQL.g:1977:6: ( IN_SYMBOL NATURAL_SYMBOL LANGUAGE_SYMBOL MODE_SYMBOL )? ( WITH_SYMBOL QUERY_SYMBOL EXPANSION_SYMBOL )?
            	    {
            	        // MySQL.g:1977:6: ( IN_SYMBOL NATURAL_SYMBOL LANGUAGE_SYMBOL MODE_SYMBOL )?
            	        {
            	            int alt618=2;
            	            switch ( LA(1) )
            	            {
            	                case IN_SYMBOL:
            	                	{
            	                		alt618=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt618)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1977:7: IN_SYMBOL NATURAL_SYMBOL LANGUAGE_SYMBOL MODE_SYMBOL
            	        	    {
            	        	        IN_SYMBOL2237 = (pANTLR3_COMMON_TOKEN) MATCHT(IN_SYMBOL, &FOLLOW_IN_SYMBOL_in_match_expression11532);
            	        	        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);
            	        	        }

            	        	        NATURAL_SYMBOL2238 = (pANTLR3_COMMON_TOKEN) MATCHT(NATURAL_SYMBOL, &FOLLOW_NATURAL_SYMBOL_in_match_expression11534);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulematch_expressionEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        NATURAL_SYMBOL2238_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, NATURAL_SYMBOL2238));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, NATURAL_SYMBOL2238_tree);
            	        	        }

            	        	        LANGUAGE_SYMBOL2239 = (pANTLR3_COMMON_TOKEN) MATCHT(LANGUAGE_SYMBOL, &FOLLOW_LANGUAGE_SYMBOL_in_match_expression11536);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulematch_expressionEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        LANGUAGE_SYMBOL2239_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, LANGUAGE_SYMBOL2239));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, LANGUAGE_SYMBOL2239_tree);
            	        	        }

            	        	        MODE_SYMBOL2240 = (pANTLR3_COMMON_TOKEN) MATCHT(MODE_SYMBOL, &FOLLOW_MODE_SYMBOL_in_match_expression11538);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulematch_expressionEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        MODE_SYMBOL2240_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MODE_SYMBOL2240));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, MODE_SYMBOL2240_tree);
            	        	        }

            	        	    }
            	        	    break;

            	            }
            	        }

            	        // MySQL.g:1977:62: ( WITH_SYMBOL QUERY_SYMBOL EXPANSION_SYMBOL )?
            	        {
            	            int alt619=2;
            	            switch ( LA(1) )
            	            {
            	                case WITH_SYMBOL:
            	                	{
            	                		alt619=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt619)
            	            {
            	        	case 1:
            	        	    // MySQL.g:1977:63: WITH_SYMBOL QUERY_SYMBOL EXPANSION_SYMBOL
            	        	    {
            	        	        WITH_SYMBOL2241 = (pANTLR3_COMMON_TOKEN) MATCHT(WITH_SYMBOL, &FOLLOW_WITH_SYMBOL_in_match_expression11543);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulematch_expressionEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        WITH_SYMBOL2241_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, WITH_SYMBOL2241));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, WITH_SYMBOL2241_tree);
            	        	        }

            	        	        QUERY_SYMBOL2242 = (pANTLR3_COMMON_TOKEN) MATCHT(QUERY_SYMBOL, &FOLLOW_QUERY_SYMBOL_in_match_expression11545);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulematch_expressionEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        QUERY_SYMBOL2242_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, QUERY_SYMBOL2242));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, QUERY_SYMBOL2242_tree);
            	        	        }

            	        	        EXPANSION_SYMBOL2243 = (pANTLR3_COMMON_TOKEN) MATCHT(EXPANSION_SYMBOL, &FOLLOW_EXPANSION_SYMBOL_in_match_expression11547);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulematch_expressionEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        EXPANSION_SYMBOL2243_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EXPANSION_SYMBOL2243));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, EXPANSION_SYMBOL2243_tree);
            	        	        }

            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;

                }
            }

            CLOSE_PAR_SYMBOL2244 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_match_expression11557);
            if  (HASEXCEPTION())
            {
                goto rulematch_expressionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            CLOSE_PAR_SYMBOL2244_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL2244));
            ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL2244_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:1983: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_SYMBOL2245;
    pANTLR3_COMMON_TOKEN    END_SYMBOL2250;
    MySQLParser_expression_return expression2246;
    #undef	RETURN_TYPE_expression2246
    #define	RETURN_TYPE_expression2246 MySQLParser_expression_return

    MySQLParser_when_expression_return when_expression2247;
    #undef	RETURN_TYPE_when_expression2247
    #define	RETURN_TYPE_when_expression2247 MySQLParser_when_expression_return

    MySQLParser_then_expression_return then_expression2248;
    #undef	RETURN_TYPE_then_expression2248
    #define	RETURN_TYPE_then_expression2248 MySQLParser_then_expression_return

    MySQLParser_else_expression_return else_expression2249;
    #undef	RETURN_TYPE_else_expression2249
    #define	RETURN_TYPE_else_expression2249 MySQLParser_else_expression_return

    pANTLR3_BASE_TREE CASE_SYMBOL2245_tree;
    pANTLR3_BASE_TREE END_SYMBOL2250_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    CASE_SYMBOL2245       = NULL;
    END_SYMBOL2250       = NULL;
    expression2246.tree = NULL;

    when_expression2247.tree = NULL;

    then_expression2248.tree = NULL;

    else_expression2249.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    CASE_SYMBOL2245_tree   = NULL;
    END_SYMBOL2250_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1983:16: ( CASE_SYMBOL ( expression )? ( when_expression then_expression )+ ( else_expression )? END_SYMBOL )
        // MySQL.g:1984:2: CASE_SYMBOL ( expression )? ( when_expression then_expression )+ ( else_expression )? END_SYMBOL
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            CASE_SYMBOL2245 = (pANTLR3_COMMON_TOKEN) MATCHT(CASE_SYMBOL, &FOLLOW_CASE_SYMBOL_in_case_expression11567);
            if  (HASEXCEPTION())
            {
                goto rulecase_expressionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            CASE_SYMBOL2245_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CASE_SYMBOL2245));
            ADAPTOR->addChild(ADAPTOR, root_0, CASE_SYMBOL2245_tree);
            }

            // MySQL.g:1984:14: ( expression )?
            {
                int alt621=2;
                {
                    int LA621_0 = LA(1);
                    if ( (LA621_0 == BITWISE_NOT_OPERATOR || LA621_0 == INTERVAL_SYMBOL || LA621_0 == LOGICAL_NOT_OPERATOR || LA621_0 == MINUS_OPERATOR || LA621_0 == NCHAR_TEXT || LA621_0 == NOT2_SYMBOL || LA621_0 == NOT_SYMBOL || LA621_0 == PLUS_OPERATOR || LA621_0 == SINGLE_QUOTED_TEXT || LA621_0 == UNDERSCORE_CHARSET))
                    {
                        alt621=1;
                    }
                    else if ( ((((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES)))||((!SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))))) && (LA621_0 == DOUBLE_QUOTED_TEXT))
                    {
                        alt621=1;
                    }
                    else if ( (LA621_0 == FALSE_SYMBOL || LA621_0 == FLOAT || ((LA621_0 >= HEXNUMBER) && (LA621_0 <= HEXSTRING)) || LA621_0 == INTEGER || LA621_0 == TRUE_SYMBOL))
                    {
                        alt621=1;
                    }
                    else if ( ((SERVER_VERSION >= 50003)) && (((LA621_0 >= BITNUMBER) && (LA621_0 <= BITSTRING))))
                    {
                        alt621=1;
                    }
                    else if ( (((LA621_0 >= ACTION_SYMBOL) && (LA621_0 <= PARTITION_SYMBOL)) || ((LA621_0 >= AT_AT_SIGN_SYMBOL) && (LA621_0 <= AT_SIGN_SYMBOL)) || LA621_0 == BACK_TICK_QUOTED_ID || LA621_0 == BINARY_SYMBOL || ((LA621_0 >= BIT_AND_SYMBOL) && (LA621_0 <= BIT_XOR_SYMBOL)) || ((LA621_0 >= CASE_SYMBOL) && (LA621_0 <= CAST_SYMBOL)) || LA621_0 == CHAR_SYMBOL || ((LA621_0 >= CONVERT_SYMBOL) && (LA621_0 <= COUNT_SYMBOL)) || LA621_0 == CURDATE_SYMBOL || LA621_0 == CURRENT_USER_SYMBOL || LA621_0 == CURTIME_SYMBOL || LA621_0 == DATABASE_SYMBOL || LA621_0 == DATE_ADD_SYMBOL || LA621_0 == DATE_SUB_SYMBOL || LA621_0 == DOT_SYMBOL || LA621_0 == EXISTS_SYMBOL || LA621_0 == EXTRACT_SYMBOL || LA621_0 == GROUP_CONCAT_SYMBOL || ((LA621_0 >= IDENTIFIER) && (LA621_0 <= IF_SYMBOL)) || LA621_0 == INSERT_SYMBOL || LA621_0 == LEFT_SYMBOL || LA621_0 == MATCH_SYMBOL || LA621_0 == MAX_SYMBOL || LA621_0 == MIN_SYMBOL || LA621_0 == MOD_SYMBOL || LA621_0 == NOW_SYMBOL || LA621_0 == NULL2_SYMBOL || LA621_0 == NULL_SYMBOL || ((LA621_0 >= OPEN_CURLY_SYMBOL) && (LA621_0 <= OPEN_PAR_SYMBOL)) || LA621_0 == PARAM_MARKER || LA621_0 == POSITION_SYMBOL || ((LA621_0 >= REPEAT_SYMBOL) && (LA621_0 <= REPLACE_SYMBOL)) || LA621_0 == RIGHT_SYMBOL || LA621_0 == STDDEV_SAMP_SYMBOL || LA621_0 == STD_SYMBOL || LA621_0 == SUBSTRING_SYMBOL || ((LA621_0 >= SUM_SYMBOL) && (LA621_0 <= SYSDATE_SYMBOL)) || LA621_0 == TRIM_SYMBOL || ((LA621_0 >= UTC_DATE_SYMBOL) && (LA621_0 <= VALUES_SYMBOL)) || LA621_0 == VARIANCE_SYMBOL || LA621_0 == VAR_SAMP_SYMBOL))
                    {
                        alt621=1;
                    }
                }
                switch (alt621)
                {
            	case 1:
            	    // MySQL.g:1984:14: expression
            	    {
            	        FOLLOWPUSH(FOLLOW_expression_in_case_expression11569);
            	        expression2246=expression(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecase_expressionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2246.tree);

            	    }
            	    break;

                }
            }

            // MySQL.g:1984:26: ( when_expression then_expression )+
            {
                int cnt622=0;

                for (;;)
                {
                    int alt622=2;
            	switch ( LA(1) )
            	{
            	case WHEN_SYMBOL:
            		{
            			alt622=1;
            		}
            	    break;

            	}

            	switch (alt622)
            	{
            	    case 1:
            	        // MySQL.g:1984:27: when_expression then_expression
            	        {
            	            FOLLOWPUSH(FOLLOW_when_expression_in_case_expression11573);
            	            when_expression2247=when_expression(ctx);

            	            FOLLOWPOP();
            	            if  (HASEXCEPTION())
            	            {
            	                goto rulecase_expressionEx;
            	            }
            	            if (HASFAILED())
            	            {
            	                return retval;
            	            }

            	            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, when_expression2247.tree);

            	            FOLLOWPUSH(FOLLOW_then_expression_in_case_expression11575);
            	            then_expression2248=then_expression(ctx);

            	            FOLLOWPOP();
            	            if  (HASEXCEPTION())
            	            {
            	                goto rulecase_expressionEx;
            	            }
            	            if (HASFAILED())
            	            {
            	                return retval;
            	            }

            	            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, then_expression2248.tree);

            	        }
            	        break;

            	    default:

            		if ( cnt622 >= 1 )
            		{
            		    goto loop622;
            		}
            		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;
            	}
            	cnt622++;
                }
                loop622: ;	/* Jump to here if this rule does not match */
            }

            // MySQL.g:1984:61: ( else_expression )?
            {
                int alt623=2;
                switch ( LA(1) )
                {
                    case ELSE_SYMBOL:
                    	{
                    		alt623=1;
                    	}
                        break;
                }

                switch (alt623)
                {
            	case 1:
            	    // MySQL.g:1984:61: else_expression
            	    {
            	        FOLLOWPUSH(FOLLOW_else_expression_in_case_expression11579);
            	        else_expression2249=else_expression(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecase_expressionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, else_expression2249.tree);

            	    }
            	    break;

                }
            }

            END_SYMBOL2250 = (pANTLR3_COMMON_TOKEN) MATCHT(END_SYMBOL, &FOLLOW_END_SYMBOL_in_case_expression11582);
            if  (HASEXCEPTION())
            {
                goto rulecase_expressionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            END_SYMBOL2250_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, END_SYMBOL2250));
            ADAPTOR->addChild(ADAPTOR, root_0, END_SYMBOL2250_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:1987: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_SYMBOL2251;
    MySQLParser_expression_return expression2252;
    #undef	RETURN_TYPE_expression2252
    #define	RETURN_TYPE_expression2252 MySQLParser_expression_return

    pANTLR3_BASE_TREE WHEN_SYMBOL2251_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    WHEN_SYMBOL2251       = NULL;
    expression2252.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    WHEN_SYMBOL2251_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1987:16: ( WHEN_SYMBOL ^ expression )
        // MySQL.g:1988:2: WHEN_SYMBOL ^ expression
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            WHEN_SYMBOL2251 = (pANTLR3_COMMON_TOKEN) MATCHT(WHEN_SYMBOL, &FOLLOW_WHEN_SYMBOL_in_when_expression11591);
            if  (HASEXCEPTION())
            {
                goto rulewhen_expressionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            WHEN_SYMBOL2251_tree = 
            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, WHEN_SYMBOL2251))
            ;
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, WHEN_SYMBOL2251_tree, root_0));
            }

            FOLLOWPUSH(FOLLOW_expression_in_when_expression11594);
            expression2252=expression(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulewhen_expressionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2252.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:1991: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_SYMBOL2253;
    MySQLParser_expression_return expression2254;
    #undef	RETURN_TYPE_expression2254
    #define	RETURN_TYPE_expression2254 MySQLParser_expression_return

    pANTLR3_BASE_TREE THEN_SYMBOL2253_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    THEN_SYMBOL2253       = NULL;
    expression2254.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    THEN_SYMBOL2253_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1991:16: ( THEN_SYMBOL ^ expression )
        // MySQL.g:1992:2: THEN_SYMBOL ^ expression
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            THEN_SYMBOL2253 = (pANTLR3_COMMON_TOKEN) MATCHT(THEN_SYMBOL, &FOLLOW_THEN_SYMBOL_in_then_expression11603);
            if  (HASEXCEPTION())
            {
                goto rulethen_expressionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            THEN_SYMBOL2253_tree = 
            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, THEN_SYMBOL2253))
            ;
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, THEN_SYMBOL2253_tree, root_0));
            }

            FOLLOWPUSH(FOLLOW_expression_in_then_expression11606);
            expression2254=expression(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulethen_expressionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2254.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:1995: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_SYMBOL2255;
    MySQLParser_expression_return expression2256;
    #undef	RETURN_TYPE_expression2256
    #define	RETURN_TYPE_expression2256 MySQLParser_expression_return

    pANTLR3_BASE_TREE ELSE_SYMBOL2255_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    ELSE_SYMBOL2255       = NULL;
    expression2256.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    ELSE_SYMBOL2255_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:1995:16: ( ELSE_SYMBOL ^ expression )
        // MySQL.g:1996:2: ELSE_SYMBOL ^ expression
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            ELSE_SYMBOL2255 = (pANTLR3_COMMON_TOKEN) MATCHT(ELSE_SYMBOL, &FOLLOW_ELSE_SYMBOL_in_else_expression11615);
            if  (HASEXCEPTION())
            {
                goto ruleelse_expressionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            ELSE_SYMBOL2255_tree = 
            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ELSE_SYMBOL2255))
            ;
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, ELSE_SYMBOL2255_tree, root_0));
            }

            FOLLOWPUSH(FOLLOW_expression_in_else_expression11618);
            expression2256=expression(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruleelse_expressionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2256.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:1999: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_SYMBOL2257;
    pANTLR3_COMMON_TOKEN    CAST_SYMBOL2259;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL2260;
    pANTLR3_COMMON_TOKEN    AS_SYMBOL2262;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2264;
    pANTLR3_COMMON_TOKEN    CONVERT_SYMBOL2265;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL2266;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL2268;
    pANTLR3_COMMON_TOKEN    USING_SYMBOL2270;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2272;
    MySQLParser_primary_return primary2258;
    #undef	RETURN_TYPE_primary2258
    #define	RETURN_TYPE_primary2258 MySQLParser_primary_return

    MySQLParser_expression_return expression2261;
    #undef	RETURN_TYPE_expression2261
    #define	RETURN_TYPE_expression2261 MySQLParser_expression_return

    MySQLParser_cast_type_return cast_type2263;
    #undef	RETURN_TYPE_cast_type2263
    #define	RETURN_TYPE_cast_type2263 MySQLParser_cast_type_return

    MySQLParser_expression_return expression2267;
    #undef	RETURN_TYPE_expression2267
    #define	RETURN_TYPE_expression2267 MySQLParser_expression_return

    MySQLParser_cast_type_return cast_type2269;
    #undef	RETURN_TYPE_cast_type2269
    #define	RETURN_TYPE_cast_type2269 MySQLParser_cast_type_return

    MySQLParser_charset_name_return charset_name2271;
    #undef	RETURN_TYPE_charset_name2271
    #define	RETURN_TYPE_charset_name2271 MySQLParser_charset_name_return

    pANTLR3_BASE_TREE BINARY_SYMBOL2257_tree;
    pANTLR3_BASE_TREE CAST_SYMBOL2259_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2260_tree;
    pANTLR3_BASE_TREE AS_SYMBOL2262_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2264_tree;
    pANTLR3_BASE_TREE CONVERT_SYMBOL2265_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2266_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL2268_tree;
    pANTLR3_BASE_TREE USING_SYMBOL2270_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2272_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    BINARY_SYMBOL2257       = NULL;
    CAST_SYMBOL2259       = NULL;
    OPEN_PAR_SYMBOL2260       = NULL;
    AS_SYMBOL2262       = NULL;
    CLOSE_PAR_SYMBOL2264       = NULL;
    CONVERT_SYMBOL2265       = NULL;
    OPEN_PAR_SYMBOL2266       = NULL;
    COMMA_SYMBOL2268       = NULL;
    USING_SYMBOL2270       = NULL;
    CLOSE_PAR_SYMBOL2272       = NULL;
    primary2258.tree = NULL;

    expression2261.tree = NULL;

    cast_type2263.tree = NULL;

    expression2267.tree = NULL;

    cast_type2269.tree = NULL;

    charset_name2271.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    BINARY_SYMBOL2257_tree   = NULL;
    CAST_SYMBOL2259_tree   = NULL;
    OPEN_PAR_SYMBOL2260_tree   = NULL;
    AS_SYMBOL2262_tree   = NULL;
    CLOSE_PAR_SYMBOL2264_tree   = NULL;
    CONVERT_SYMBOL2265_tree   = NULL;
    OPEN_PAR_SYMBOL2266_tree   = NULL;
    COMMA_SYMBOL2268_tree   = NULL;
    USING_SYMBOL2270_tree   = NULL;
    CLOSE_PAR_SYMBOL2272_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:1999: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 alt625;

            alt625=3;

            switch ( LA(1) )
            {
            case BINARY_SYMBOL:
            	{
            		alt625=1;
            	}
                break;
            case CAST_SYMBOL:
            	{
            		alt625=2;
            	}
                break;
            case CONVERT_SYMBOL:
            	{
            		alt625=3;
            	}
                break;

            default:
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                EXCEPTION->message      = (void *)"";
                EXCEPTION->decisionNum  = 625;
                EXCEPTION->state        = 0;


                goto rulecast_expressionEx;

            }

            switch (alt625)
            {
        	case 1:
        	    // MySQL.g:2000:2: BINARY_SYMBOL primary
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        BINARY_SYMBOL2257 = (pANTLR3_COMMON_TOKEN) MATCHT(BINARY_SYMBOL, &FOLLOW_BINARY_SYMBOL_in_cast_expression11627);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecast_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        BINARY_SYMBOL2257_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, BINARY_SYMBOL2257));
        	        ADAPTOR->addChild(ADAPTOR, root_0, BINARY_SYMBOL2257_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_primary_in_cast_expression11629);
        	        primary2258=primary(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecast_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, primary2258.tree);

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:2001:4: CAST_SYMBOL OPEN_PAR_SYMBOL expression AS_SYMBOL cast_type CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        CAST_SYMBOL2259 = (pANTLR3_COMMON_TOKEN) MATCHT(CAST_SYMBOL, &FOLLOW_CAST_SYMBOL_in_cast_expression11634);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecast_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CAST_SYMBOL2259_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CAST_SYMBOL2259));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CAST_SYMBOL2259_tree);
        	        }

        	        OPEN_PAR_SYMBOL2260 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_cast_expression11636);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecast_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL2260_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL2260));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL2260_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_cast_expression11638);
        	        expression2261=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecast_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2261.tree);

        	        AS_SYMBOL2262 = (pANTLR3_COMMON_TOKEN) MATCHT(AS_SYMBOL, &FOLLOW_AS_SYMBOL_in_cast_expression11640);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecast_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        AS_SYMBOL2262_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, AS_SYMBOL2262));
        	        ADAPTOR->addChild(ADAPTOR, root_0, AS_SYMBOL2262_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_cast_type_in_cast_expression11642);
        	        cast_type2263=cast_type(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecast_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, cast_type2263.tree);

        	        CLOSE_PAR_SYMBOL2264 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_cast_expression11644);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecast_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL2264_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL2264));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL2264_tree);
        	        }

        	    }
        	    break;
        	case 3:
        	    // MySQL.g:2002: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_SYMBOL2265 = (pANTLR3_COMMON_TOKEN) MATCHT(CONVERT_SYMBOL, &FOLLOW_CONVERT_SYMBOL_in_cast_expression11649);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecast_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CONVERT_SYMBOL2265_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CONVERT_SYMBOL2265));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CONVERT_SYMBOL2265_tree);
        	        }

        	        OPEN_PAR_SYMBOL2266 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_cast_expression11651);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecast_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL2266_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL2266));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL2266_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_cast_expression11653);
        	        expression2267=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecast_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2267.tree);

        	        // MySQL.g:2002:46: ( COMMA_SYMBOL cast_type | USING_SYMBOL charset_name )
        	        {
        	            int alt624=2;
        	            switch ( LA(1) )
        	            {
        	            case COMMA_SYMBOL:
        	            	{
        	            		alt624=1;
        	            	}
        	                break;
        	            case USING_SYMBOL:
        	            	{
        	            		alt624=2;
        	            	}
        	                break;

        	            default:
        	                if (BACKTRACKING>0)
        	                {
        	                    FAILEDFLAG = ANTLR3_TRUE;
        	                    return retval;
        	                }

        	                CONSTRUCTEX();
        	                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                EXCEPTION->message      = (void *)"";
        	                EXCEPTION->decisionNum  = 624;
        	                EXCEPTION->state        = 0;


        	                goto rulecast_expressionEx;

        	            }

        	            switch (alt624)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2002:47: COMMA_SYMBOL cast_type
        	        	    {
        	        	        COMMA_SYMBOL2268 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_cast_expression11656);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulecast_expressionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        COMMA_SYMBOL2268_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL2268));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL2268_tree);
        	        	        }

        	        	        FOLLOWPUSH(FOLLOW_cast_type_in_cast_expression11658);
        	        	        cast_type2269=cast_type(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulecast_expressionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, cast_type2269.tree);

        	        	    }
        	        	    break;
        	        	case 2:
        	        	    // MySQL.g:2002:72: USING_SYMBOL charset_name
        	        	    {
        	        	        USING_SYMBOL2270 = (pANTLR3_COMMON_TOKEN) MATCHT(USING_SYMBOL, &FOLLOW_USING_SYMBOL_in_cast_expression11662);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulecast_expressionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        USING_SYMBOL2270_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, USING_SYMBOL2270));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, USING_SYMBOL2270_tree);
        	        	        }

        	        	        FOLLOWPUSH(FOLLOW_charset_name_in_cast_expression11664);
        	        	        charset_name2271=charset_name(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulecast_expressionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, charset_name2271.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	        CLOSE_PAR_SYMBOL2272 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_cast_expression11667);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecast_expressionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL2272_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL2272));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL2272_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:2005: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_SYMBOL2273;
    pANTLR3_COMMON_TOKEN    CHAR_SYMBOL2275;
    pANTLR3_COMMON_TOKEN    NCHAR_SYMBOL2278;
    pANTLR3_COMMON_TOKEN    SIGNED_SYMBOL2280;
    pANTLR3_COMMON_TOKEN    INT_SYMBOL2281;
    pANTLR3_COMMON_TOKEN    UNSIGNED_SYMBOL2282;
    pANTLR3_COMMON_TOKEN    INT_SYMBOL2283;
    pANTLR3_COMMON_TOKEN    DATE_SYMBOL2284;
    pANTLR3_COMMON_TOKEN    TIME_SYMBOL2285;
    pANTLR3_COMMON_TOKEN    DATETIME_SYMBOL2287;
    pANTLR3_COMMON_TOKEN    DECIMAL_SYMBOL2289;
    MySQLParser_field_length_return field_length2274;
    #undef	RETURN_TYPE_field_length2274
    #define	RETURN_TYPE_field_length2274 MySQLParser_field_length_return

    MySQLParser_field_length_return field_length2276;
    #undef	RETURN_TYPE_field_length2276
    #define	RETURN_TYPE_field_length2276 MySQLParser_field_length_return

    MySQLParser_encoding_return encoding2277;
    #undef	RETURN_TYPE_encoding2277
    #define	RETURN_TYPE_encoding2277 MySQLParser_encoding_return

    MySQLParser_field_length_return field_length2279;
    #undef	RETURN_TYPE_field_length2279
    #define	RETURN_TYPE_field_length2279 MySQLParser_field_length_return

    MySQLParser_type_datetime_precision_return type_datetime_precision2286;
    #undef	RETURN_TYPE_type_datetime_precision2286
    #define	RETURN_TYPE_type_datetime_precision2286 MySQLParser_type_datetime_precision_return

    MySQLParser_type_datetime_precision_return type_datetime_precision2288;
    #undef	RETURN_TYPE_type_datetime_precision2288
    #define	RETURN_TYPE_type_datetime_precision2288 MySQLParser_type_datetime_precision_return

    MySQLParser_float_options_return float_options2290;
    #undef	RETURN_TYPE_float_options2290
    #define	RETURN_TYPE_float_options2290 MySQLParser_float_options_return

    pANTLR3_BASE_TREE BINARY_SYMBOL2273_tree;
    pANTLR3_BASE_TREE CHAR_SYMBOL2275_tree;
    pANTLR3_BASE_TREE NCHAR_SYMBOL2278_tree;
    pANTLR3_BASE_TREE SIGNED_SYMBOL2280_tree;
    pANTLR3_BASE_TREE INT_SYMBOL2281_tree;
    pANTLR3_BASE_TREE UNSIGNED_SYMBOL2282_tree;
    pANTLR3_BASE_TREE INT_SYMBOL2283_tree;
    pANTLR3_BASE_TREE DATE_SYMBOL2284_tree;
    pANTLR3_BASE_TREE TIME_SYMBOL2285_tree;
    pANTLR3_BASE_TREE DATETIME_SYMBOL2287_tree;
    pANTLR3_BASE_TREE DECIMAL_SYMBOL2289_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    BINARY_SYMBOL2273       = NULL;
    CHAR_SYMBOL2275       = NULL;
    NCHAR_SYMBOL2278       = NULL;
    SIGNED_SYMBOL2280       = NULL;
    INT_SYMBOL2281       = NULL;
    UNSIGNED_SYMBOL2282       = NULL;
    INT_SYMBOL2283       = NULL;
    DATE_SYMBOL2284       = NULL;
    TIME_SYMBOL2285       = NULL;
    DATETIME_SYMBOL2287       = NULL;
    DECIMAL_SYMBOL2289       = NULL;
    field_length2274.tree = NULL;

    field_length2276.tree = NULL;

    encoding2277.tree = NULL;

    field_length2279.tree = NULL;

    type_datetime_precision2286.tree = NULL;

    type_datetime_precision2288.tree = NULL;

    float_options2290.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    BINARY_SYMBOL2273_tree   = NULL;
    CHAR_SYMBOL2275_tree   = NULL;
    NCHAR_SYMBOL2278_tree   = NULL;
    SIGNED_SYMBOL2280_tree   = NULL;
    INT_SYMBOL2281_tree   = NULL;
    UNSIGNED_SYMBOL2282_tree   = NULL;
    INT_SYMBOL2283_tree   = NULL;
    DATE_SYMBOL2284_tree   = NULL;
    TIME_SYMBOL2285_tree   = NULL;
    DATETIME_SYMBOL2287_tree   = NULL;
    DECIMAL_SYMBOL2289_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:2005: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 alt635;

            alt635=9;

            switch ( LA(1) )
            {
            case BINARY_SYMBOL:
            	{
            		alt635=1;
            	}
                break;
            case CHAR_SYMBOL:
            	{
            		alt635=2;
            	}
                break;
            case NCHAR_SYMBOL:
            	{
            		alt635=3;
            	}
                break;
            case SIGNED_SYMBOL:
            	{
            		alt635=4;
            	}
                break;
            case UNSIGNED_SYMBOL:
            	{
            		alt635=5;
            	}
                break;
            case DATE_SYMBOL:
            	{
            		alt635=6;
            	}
                break;
            case TIME_SYMBOL:
            	{
            		alt635=7;
            	}
                break;
            case DATETIME_SYMBOL:
            	{
            		alt635=8;
            	}
                break;
            case DECIMAL_SYMBOL:
            	{
            		alt635=9;
            	}
                break;

            default:
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                EXCEPTION->message      = (void *)"";
                EXCEPTION->decisionNum  = 635;
                EXCEPTION->state        = 0;


                goto rulecast_typeEx;

            }

            switch (alt635)
            {
        	case 1:
        	    // MySQL.g:2006:2: BINARY_SYMBOL ( field_length )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        BINARY_SYMBOL2273 = (pANTLR3_COMMON_TOKEN) MATCHT(BINARY_SYMBOL, &FOLLOW_BINARY_SYMBOL_in_cast_type11676);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecast_typeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        BINARY_SYMBOL2273_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, BINARY_SYMBOL2273));
        	        ADAPTOR->addChild(ADAPTOR, root_0, BINARY_SYMBOL2273_tree);
        	        }

        	        // MySQL.g:2006:16: ( field_length )?
        	        {
        	            int alt626=2;
        	            switch ( LA(1) )
        	            {
        	                case OPEN_PAR_SYMBOL:
        	                	{
        	                		alt626=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt626)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2006:16: field_length
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_field_length_in_cast_type11678);
        	        	        field_length2274=field_length(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulecast_typeEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, field_length2274.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:2007:4: CHAR_SYMBOL ( field_length )? ( encoding )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        CHAR_SYMBOL2275 = (pANTLR3_COMMON_TOKEN) MATCHT(CHAR_SYMBOL, &FOLLOW_CHAR_SYMBOL_in_cast_type11684);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecast_typeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CHAR_SYMBOL2275_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CHAR_SYMBOL2275));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CHAR_SYMBOL2275_tree);
        	        }

        	        // MySQL.g:2007:16: ( field_length )?
        	        {
        	            int alt627=2;
        	            switch ( LA(1) )
        	            {
        	                case OPEN_PAR_SYMBOL:
        	                	{
        	                		alt627=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt627)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2007:16: field_length
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_field_length_in_cast_type11686);
        	        	        field_length2276=field_length(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulecast_typeEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, field_length2276.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	        // MySQL.g:2007:30: ( encoding )?
        	        {
        	            int alt628=2;
        	            switch ( LA(1) )
        	            {
        	                case ASCII_SYMBOL:
        	                case BYTE_SYMBOL:
        	                case CHARSET_SYMBOL:
        	                case UNICODE_SYMBOL:
        	                case BINARY_SYMBOL:
        	                case CHAR_SYMBOL:
        	                	{
        	                		alt628=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt628)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2007:30: encoding
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_encoding_in_cast_type11689);
        	        	        encoding2277=encoding(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulecast_typeEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, encoding2277.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 3:
        	    // MySQL.g:2008:4: NCHAR_SYMBOL ( field_length )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        NCHAR_SYMBOL2278 = (pANTLR3_COMMON_TOKEN) MATCHT(NCHAR_SYMBOL, &FOLLOW_NCHAR_SYMBOL_in_cast_type11695);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecast_typeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        NCHAR_SYMBOL2278_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, NCHAR_SYMBOL2278));
        	        ADAPTOR->addChild(ADAPTOR, root_0, NCHAR_SYMBOL2278_tree);
        	        }

        	        // MySQL.g:2008:17: ( field_length )?
        	        {
        	            int alt629=2;
        	            switch ( LA(1) )
        	            {
        	                case OPEN_PAR_SYMBOL:
        	                	{
        	                		alt629=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt629)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2008:17: field_length
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_field_length_in_cast_type11697);
        	        	        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;

        	            }
        	        }

        	    }
        	    break;
        	case 4:
        	    // MySQL.g:2009:4: SIGNED_SYMBOL ( INT_SYMBOL )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        SIGNED_SYMBOL2280 = (pANTLR3_COMMON_TOKEN) MATCHT(SIGNED_SYMBOL, &FOLLOW_SIGNED_SYMBOL_in_cast_type11703);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecast_typeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        SIGNED_SYMBOL2280_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SIGNED_SYMBOL2280));
        	        ADAPTOR->addChild(ADAPTOR, root_0, SIGNED_SYMBOL2280_tree);
        	        }

        	        // MySQL.g:2009:18: ( INT_SYMBOL )?
        	        {
        	            int alt630=2;
        	            switch ( LA(1) )
        	            {
        	                case INT_SYMBOL:
        	                	{
        	                		alt630=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt630)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2009:18: INT_SYMBOL
        	        	    {
        	        	        INT_SYMBOL2281 = (pANTLR3_COMMON_TOKEN) MATCHT(INT_SYMBOL, &FOLLOW_INT_SYMBOL_in_cast_type11705);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulecast_typeEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        INT_SYMBOL2281_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INT_SYMBOL2281));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, INT_SYMBOL2281_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 5:
        	    // MySQL.g:2010:4: UNSIGNED_SYMBOL ( INT_SYMBOL )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        UNSIGNED_SYMBOL2282 = (pANTLR3_COMMON_TOKEN) MATCHT(UNSIGNED_SYMBOL, &FOLLOW_UNSIGNED_SYMBOL_in_cast_type11711);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecast_typeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        UNSIGNED_SYMBOL2282_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, UNSIGNED_SYMBOL2282));
        	        ADAPTOR->addChild(ADAPTOR, root_0, UNSIGNED_SYMBOL2282_tree);
        	        }

        	        // MySQL.g:2010:20: ( INT_SYMBOL )?
        	        {
        	            int alt631=2;
        	            switch ( LA(1) )
        	            {
        	                case INT_SYMBOL:
        	                	{
        	                		alt631=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt631)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2010:20: INT_SYMBOL
        	        	    {
        	        	        INT_SYMBOL2283 = (pANTLR3_COMMON_TOKEN) MATCHT(INT_SYMBOL, &FOLLOW_INT_SYMBOL_in_cast_type11713);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulecast_typeEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        INT_SYMBOL2283_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INT_SYMBOL2283));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, INT_SYMBOL2283_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 6:
        	    // MySQL.g:2011:4: DATE_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        DATE_SYMBOL2284 = (pANTLR3_COMMON_TOKEN) MATCHT(DATE_SYMBOL, &FOLLOW_DATE_SYMBOL_in_cast_type11719);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecast_typeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        DATE_SYMBOL2284_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DATE_SYMBOL2284));
        	        ADAPTOR->addChild(ADAPTOR, root_0, DATE_SYMBOL2284_tree);
        	        }

        	    }
        	    break;
        	case 7:
        	    // MySQL.g:2012:4: TIME_SYMBOL ( type_datetime_precision )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        TIME_SYMBOL2285 = (pANTLR3_COMMON_TOKEN) MATCHT(TIME_SYMBOL, &FOLLOW_TIME_SYMBOL_in_cast_type11724);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecast_typeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        TIME_SYMBOL2285_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, TIME_SYMBOL2285));
        	        ADAPTOR->addChild(ADAPTOR, root_0, TIME_SYMBOL2285_tree);
        	        }

        	        // MySQL.g:2012:16: ( type_datetime_precision )?
        	        {
        	            int alt632=2;
        	            {
        	                int LA632_0 = LA(1);
        	                if ( ((SERVER_VERSION >= 50600)) && (LA632_0 == OPEN_PAR_SYMBOL))
        	                {
        	                    alt632=1;
        	                }
        	            }
        	            switch (alt632)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2012:16: type_datetime_precision
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_type_datetime_precision_in_cast_type11726);
        	        	        type_datetime_precision2286=type_datetime_precision(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulecast_typeEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, type_datetime_precision2286.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 8:
        	    // MySQL.g:2013:4: DATETIME_SYMBOL ( type_datetime_precision )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        DATETIME_SYMBOL2287 = (pANTLR3_COMMON_TOKEN) MATCHT(DATETIME_SYMBOL, &FOLLOW_DATETIME_SYMBOL_in_cast_type11732);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecast_typeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        DATETIME_SYMBOL2287_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DATETIME_SYMBOL2287));
        	        ADAPTOR->addChild(ADAPTOR, root_0, DATETIME_SYMBOL2287_tree);
        	        }

        	        // MySQL.g:2013:20: ( type_datetime_precision )?
        	        {
        	            int alt633=2;
        	            {
        	                int LA633_0 = LA(1);
        	                if ( ((SERVER_VERSION >= 50600)) && (LA633_0 == OPEN_PAR_SYMBOL))
        	                {
        	                    alt633=1;
        	                }
        	            }
        	            switch (alt633)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2013:20: type_datetime_precision
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_type_datetime_precision_in_cast_type11734);
        	        	        type_datetime_precision2288=type_datetime_precision(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulecast_typeEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, type_datetime_precision2288.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 9:
        	    // MySQL.g:2014:4: DECIMAL_SYMBOL ( float_options )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        DECIMAL_SYMBOL2289 = (pANTLR3_COMMON_TOKEN) MATCHT(DECIMAL_SYMBOL, &FOLLOW_DECIMAL_SYMBOL_in_cast_type11740);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecast_typeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        DECIMAL_SYMBOL2289_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DECIMAL_SYMBOL2289));
        	        ADAPTOR->addChild(ADAPTOR, root_0, DECIMAL_SYMBOL2289_tree);
        	        }

        	        // MySQL.g:2014:19: ( float_options )?
        	        {
        	            int alt634=2;
        	            switch ( LA(1) )
        	            {
        	                case OPEN_PAR_SYMBOL:
        	                	{
        	                		alt634=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt634)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2014:19: float_options
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_float_options_in_cast_type11742);
        	        	        float_options2290=float_options(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulecast_typeEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, float_options2290.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:2017: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_SYMBOL2291;
    pANTLR3_COMMON_TOKEN    BINARY_SYMBOL2292;
    pANTLR3_COMMON_TOKEN    BINARY_SYMBOL2293;
    pANTLR3_COMMON_TOKEN    ASCII_SYMBOL2294;
    pANTLR3_COMMON_TOKEN    UNICODE_SYMBOL2295;
    pANTLR3_COMMON_TOKEN    UNICODE_SYMBOL2298;
    pANTLR3_COMMON_TOKEN    BINARY_SYMBOL2299;
    pANTLR3_COMMON_TOKEN    BYTE_SYMBOL2300;
    pANTLR3_COMMON_TOKEN    BINARY_SYMBOL2303;
    MySQLParser_charset_return charset2296;
    #undef	RETURN_TYPE_charset2296
    #define	RETURN_TYPE_charset2296 MySQLParser_charset_return

    MySQLParser_charset_name_return charset_name2297;
    #undef	RETURN_TYPE_charset_name2297
    #define	RETURN_TYPE_charset_name2297 MySQLParser_charset_name_return

    MySQLParser_charset_return charset2301;
    #undef	RETURN_TYPE_charset2301
    #define	RETURN_TYPE_charset2301 MySQLParser_charset_return

    MySQLParser_charset_name_return charset_name2302;
    #undef	RETURN_TYPE_charset_name2302
    #define	RETURN_TYPE_charset_name2302 MySQLParser_charset_name_return

    pANTLR3_BASE_TREE ASCII_SYMBOL2291_tree;
    pANTLR3_BASE_TREE BINARY_SYMBOL2292_tree;
    pANTLR3_BASE_TREE BINARY_SYMBOL2293_tree;
    pANTLR3_BASE_TREE ASCII_SYMBOL2294_tree;
    pANTLR3_BASE_TREE UNICODE_SYMBOL2295_tree;
    pANTLR3_BASE_TREE UNICODE_SYMBOL2298_tree;
    pANTLR3_BASE_TREE BINARY_SYMBOL2299_tree;
    pANTLR3_BASE_TREE BYTE_SYMBOL2300_tree;
    pANTLR3_BASE_TREE BINARY_SYMBOL2303_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    ASCII_SYMBOL2291       = NULL;
    BINARY_SYMBOL2292       = NULL;
    BINARY_SYMBOL2293       = NULL;
    ASCII_SYMBOL2294       = NULL;
    UNICODE_SYMBOL2295       = NULL;
    UNICODE_SYMBOL2298       = NULL;
    BINARY_SYMBOL2299       = NULL;
    BYTE_SYMBOL2300       = NULL;
    BINARY_SYMBOL2303       = NULL;
    charset2296.tree = NULL;

    charset_name2297.tree = NULL;

    charset2301.tree = NULL;

    charset_name2302.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    ASCII_SYMBOL2291_tree   = NULL;
    BINARY_SYMBOL2292_tree   = NULL;
    BINARY_SYMBOL2293_tree   = NULL;
    ASCII_SYMBOL2294_tree   = NULL;
    UNICODE_SYMBOL2295_tree   = NULL;
    UNICODE_SYMBOL2298_tree   = NULL;
    BINARY_SYMBOL2299_tree   = NULL;
    BYTE_SYMBOL2300_tree   = NULL;
    BINARY_SYMBOL2303_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:2017: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 alt640;

            alt640=5;

            switch ( LA(1) )
            {
            case ASCII_SYMBOL:
            	{
            		alt640=1;
            	}
                break;
            case BINARY_SYMBOL:
            	{
            		alt640=2;
            	}
                break;
            case UNICODE_SYMBOL:
            	{
            		alt640=3;
            	}
                break;
            case BYTE_SYMBOL:
            	{
            		alt640=4;
            	}
                break;
            case CHARSET_SYMBOL:
            case CHAR_SYMBOL:
            	{
            		alt640=5;
            	}
                break;

            default:
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                EXCEPTION->message      = (void *)"";
                EXCEPTION->decisionNum  = 640;
                EXCEPTION->state        = 0;


                goto ruleencodingEx;

            }

            switch (alt640)
            {
        	case 1:
        	    // MySQL.g:2018:2: ASCII_SYMBOL ( BINARY_SYMBOL )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        ASCII_SYMBOL2291 = (pANTLR3_COMMON_TOKEN) MATCHT(ASCII_SYMBOL, &FOLLOW_ASCII_SYMBOL_in_encoding11752);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleencodingEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        ASCII_SYMBOL2291_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ASCII_SYMBOL2291));
        	        ADAPTOR->addChild(ADAPTOR, root_0, ASCII_SYMBOL2291_tree);
        	        }

        	        // MySQL.g:2018:15: ( BINARY_SYMBOL )?
        	        {
        	            int alt636=2;
        	            switch ( LA(1) )
        	            {
        	                case BINARY_SYMBOL:
        	                	{
        	                		alt636=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt636)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2018:15: BINARY_SYMBOL
        	        	    {
        	        	        BINARY_SYMBOL2292 = (pANTLR3_COMMON_TOKEN) MATCHT(BINARY_SYMBOL, &FOLLOW_BINARY_SYMBOL_in_encoding11754);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleencodingEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        BINARY_SYMBOL2292_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, BINARY_SYMBOL2292));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, BINARY_SYMBOL2292_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:2019:4: BINARY_SYMBOL ( ASCII_SYMBOL | UNICODE_SYMBOL | charset charset_name )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        BINARY_SYMBOL2293 = (pANTLR3_COMMON_TOKEN) MATCHT(BINARY_SYMBOL, &FOLLOW_BINARY_SYMBOL_in_encoding11760);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleencodingEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        BINARY_SYMBOL2293_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, BINARY_SYMBOL2293));
        	        ADAPTOR->addChild(ADAPTOR, root_0, BINARY_SYMBOL2293_tree);
        	        }

        	        // MySQL.g:2019:18: ( ASCII_SYMBOL | UNICODE_SYMBOL | charset charset_name )?
        	        {
        	            int alt637=4;
        	            switch ( LA(1) )
        	            {
        	                case ASCII_SYMBOL:
        	                	{
        	                		alt637=1;
        	                	}
        	                    break;
        	                case UNICODE_SYMBOL:
        	                	{
        	                		alt637=2;
        	                	}
        	                    break;
        	                case CHARSET_SYMBOL:
        	                case CHAR_SYMBOL:
        	                	{
        	                		alt637=3;
        	                	}
        	                    break;
        	            }

        	            switch (alt637)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2019:19: ASCII_SYMBOL
        	        	    {
        	        	        ASCII_SYMBOL2294 = (pANTLR3_COMMON_TOKEN) MATCHT(ASCII_SYMBOL, &FOLLOW_ASCII_SYMBOL_in_encoding11763);
        	        	        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);
        	        	        }

        	        	    }
        	        	    break;
        	        	case 2:
        	        	    // MySQL.g:2019:34: UNICODE_SYMBOL
        	        	    {
        	        	        UNICODE_SYMBOL2295 = (pANTLR3_COMMON_TOKEN) MATCHT(UNICODE_SYMBOL, &FOLLOW_UNICODE_SYMBOL_in_encoding11767);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleencodingEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        UNICODE_SYMBOL2295_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, UNICODE_SYMBOL2295));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, UNICODE_SYMBOL2295_tree);
        	        	        }

        	        	    }
        	        	    break;
        	        	case 3:
        	        	    // MySQL.g:2019:51: charset charset_name
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_charset_in_encoding11771);
        	        	        charset2296=charset(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleencodingEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, charset2296.tree);

        	        	        FOLLOWPUSH(FOLLOW_charset_name_in_encoding11773);
        	        	        charset_name2297=charset_name(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleencodingEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, charset_name2297.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 3:
        	    // MySQL.g:2020:4: UNICODE_SYMBOL ( BINARY_SYMBOL )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        UNICODE_SYMBOL2298 = (pANTLR3_COMMON_TOKEN) MATCHT(UNICODE_SYMBOL, &FOLLOW_UNICODE_SYMBOL_in_encoding11780);
        	        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);
        	        }

        	        // MySQL.g:2020:19: ( BINARY_SYMBOL )?
        	        {
        	            int alt638=2;
        	            switch ( LA(1) )
        	            {
        	                case BINARY_SYMBOL:
        	                	{
        	                		alt638=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt638)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2020:19: BINARY_SYMBOL
        	        	    {
        	        	        BINARY_SYMBOL2299 = (pANTLR3_COMMON_TOKEN) MATCHT(BINARY_SYMBOL, &FOLLOW_BINARY_SYMBOL_in_encoding11782);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleencodingEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        BINARY_SYMBOL2299_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, BINARY_SYMBOL2299));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, BINARY_SYMBOL2299_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 4:
        	    // MySQL.g:2021:4: BYTE_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        BYTE_SYMBOL2300 = (pANTLR3_COMMON_TOKEN) MATCHT(BYTE_SYMBOL, &FOLLOW_BYTE_SYMBOL_in_encoding11788);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleencodingEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        BYTE_SYMBOL2300_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, BYTE_SYMBOL2300));
        	        ADAPTOR->addChild(ADAPTOR, root_0, BYTE_SYMBOL2300_tree);
        	        }

        	    }
        	    break;
        	case 5:
        	    // MySQL.g:2022:4: charset charset_name ( BINARY_SYMBOL )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_charset_in_encoding11793);
        	        charset2301=charset(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleencodingEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, charset2301.tree);

        	        FOLLOWPUSH(FOLLOW_charset_name_in_encoding11795);
        	        charset_name2302=charset_name(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleencodingEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, charset_name2302.tree);

        	        // MySQL.g:2022:25: ( BINARY_SYMBOL )?
        	        {
        	            int alt639=2;
        	            switch ( LA(1) )
        	            {
        	                case BINARY_SYMBOL:
        	                	{
        	                		alt639=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt639)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2022:25: BINARY_SYMBOL
        	        	    {
        	        	        BINARY_SYMBOL2303 = (pANTLR3_COMMON_TOKEN) MATCHT(BINARY_SYMBOL, &FOLLOW_BINARY_SYMBOL_in_encoding11797);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleencodingEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        BINARY_SYMBOL2303_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, BINARY_SYMBOL2303));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, BINARY_SYMBOL2303_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:2025: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_SYMBOL2304;
    pANTLR3_COMMON_TOKEN    SET_SYMBOL2305;
    pANTLR3_COMMON_TOKEN    CHARSET_SYMBOL2306;

    pANTLR3_BASE_TREE CHAR_SYMBOL2304_tree;
    pANTLR3_BASE_TREE SET_SYMBOL2305_tree;
    pANTLR3_BASE_TREE CHARSET_SYMBOL2306_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    CHAR_SYMBOL2304       = NULL;
    SET_SYMBOL2305       = NULL;
    CHARSET_SYMBOL2306       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    CHAR_SYMBOL2304_tree   = NULL;
    SET_SYMBOL2305_tree   = NULL;
    CHARSET_SYMBOL2306_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:2025:8: ( CHAR_SYMBOL SET_SYMBOL | CHARSET_SYMBOL )

            ANTLR3_UINT32 alt641;

            alt641=2;

            switch ( LA(1) )
            {
            case CHAR_SYMBOL:
            	{
            		alt641=1;
            	}
                break;
            case CHARSET_SYMBOL:
            	{
            		alt641=2;
            	}
                break;

            default:
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                EXCEPTION->message      = (void *)"";
                EXCEPTION->decisionNum  = 641;
                EXCEPTION->state        = 0;


                goto rulecharsetEx;

            }

            switch (alt641)
            {
        	case 1:
        	    // MySQL.g:2026:2: CHAR_SYMBOL SET_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        CHAR_SYMBOL2304 = (pANTLR3_COMMON_TOKEN) MATCHT(CHAR_SYMBOL, &FOLLOW_CHAR_SYMBOL_in_charset11807);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecharsetEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CHAR_SYMBOL2304_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CHAR_SYMBOL2304));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CHAR_SYMBOL2304_tree);
        	        }

        	        SET_SYMBOL2305 = (pANTLR3_COMMON_TOKEN) MATCHT(SET_SYMBOL, &FOLLOW_SET_SYMBOL_in_charset11809);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecharsetEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        SET_SYMBOL2305_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SET_SYMBOL2305));
        	        ADAPTOR->addChild(ADAPTOR, root_0, SET_SYMBOL2305_tree);
        	        }

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:2026:27: CHARSET_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        CHARSET_SYMBOL2306 = (pANTLR3_COMMON_TOKEN) MATCHT(CHARSET_SYMBOL, &FOLLOW_CHARSET_SYMBOL_in_charset11813);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecharsetEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CHARSET_SYMBOL2306_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CHARSET_SYMBOL2306));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CHARSET_SYMBOL2306_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:2029: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    set2307;

    pANTLR3_BASE_TREE set2307_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    set2307       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    set2307_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2029:9: ( NOT_SYMBOL | NOT2_SYMBOL )
        // MySQL.g:
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            set2307=(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, set2307))
                );
                PERRORRECOVERY=ANTLR3_FALSE;
                FAILEDFLAG=ANTLR3_FALSE;

            }
            else
            {
                if (BACKTRACKING>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:2034: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    set2308;

    pANTLR3_BASE_TREE set2308_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    set2308       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    set2308_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2034:10: ( LOGICAL_NOT_OPERATOR | NOT2_SYMBOL )
        // MySQL.g:
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            set2308=(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, set2308))
                );
                PERRORRECOVERY=ANTLR3_FALSE;
                FAILEDFLAG=ANTLR3_FALSE;

            }
            else
            {
                if (BACKTRACKING>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:2039: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    set2309;

    pANTLR3_BASE_TREE set2309_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    set2309       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    set2309_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2039:8: ( OR_SYMBOL | LOGICAL_OR_OPERATOR )
        // MySQL.g:
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            set2309=(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, set2309))
                );
                PERRORRECOVERY=ANTLR3_FALSE;
                FAILEDFLAG=ANTLR3_FALSE;

            }
            else
            {
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_MISMATCHED_SET_EXCEPTION;
                EXCEPTION->name         = (void *)ANTLR3_MISMATCHED_SET_NAME;
                EXCEPTION->expectingSet = NULL;

                goto 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:2044: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    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:2044:9: ( XOR_SYMBOL | BITWISE_XOR_OPERATOR )
        // MySQL.g:
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            set2310=(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, 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 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:2049: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    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:2049:9: ( AND_SYMBOL | LOGICAL_AND_OPERATOR )
        // MySQL.g:
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            set2311=(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, 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 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:2054:1: interval : expression interval_unit ;
 */
static MySQLParser_interval_return
interval(pMySQLParser ctx)
{
    MySQLParser_interval_return retval;


    pANTLR3_BASE_TREE root_0;

    MySQLParser_expression_return expression2312;
    #undef	RETURN_TYPE_expression2312
    #define	RETURN_TYPE_expression2312 MySQLParser_expression_return

    MySQLParser_interval_unit_return interval_unit2313;
    #undef	RETURN_TYPE_interval_unit2313
    #define	RETURN_TYPE_interval_unit2313 MySQLParser_interval_unit_return


    /* Initialize rule variables
     */

    root_0 = NULL;

    expression2312.tree = NULL;

    interval_unit2313.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;




    retval.tree  = NULL;

    {
        // MySQL.g:2054:9: ( expression interval_unit )
        // MySQL.g:2055:3: expression interval_unit
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            FOLLOWPUSH(FOLLOW_expression_in_interval11894);
            expression2312=expression(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruleintervalEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2312.tree);

            FOLLOWPUSH(FOLLOW_interval_unit_in_interval11896);
            interval_unit2313=interval_unit(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruleintervalEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, interval_unit2313.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:2059: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_SYMBOL2315;
    pANTLR3_COMMON_TOKEN    MINUTE_MICROSECOND_SYMBOL2316;
    pANTLR3_COMMON_TOKEN    MINUTE_SECOND_SYMBOL2317;
    pANTLR3_COMMON_TOKEN    HOUR_MICROSECOND_SYMBOL2318;
    pANTLR3_COMMON_TOKEN    HOUR_SECOND_SYMBOL2319;
    pANTLR3_COMMON_TOKEN    HOUR_MINUTE_SYMBOL2320;
    pANTLR3_COMMON_TOKEN    DAY_MICROSECOND_SYMBOL2321;
    pANTLR3_COMMON_TOKEN    DAY_SECOND_SYMBOL2322;
    pANTLR3_COMMON_TOKEN    DAY_MINUTE_SYMBOL2323;
    pANTLR3_COMMON_TOKEN    DAY_HOUR_SYMBOL2324;
    pANTLR3_COMMON_TOKEN    YEAR_MONTH_SYMBOL2325;
    MySQLParser_interval_timestamp_unit_return interval_timestamp_unit2314;
    #undef	RETURN_TYPE_interval_timestamp_unit2314
    #define	RETURN_TYPE_interval_timestamp_unit2314 MySQLParser_interval_timestamp_unit_return

    pANTLR3_BASE_TREE SECOND_MICROSECOND_SYMBOL2315_tree;
    pANTLR3_BASE_TREE MINUTE_MICROSECOND_SYMBOL2316_tree;
    pANTLR3_BASE_TREE MINUTE_SECOND_SYMBOL2317_tree;
    pANTLR3_BASE_TREE HOUR_MICROSECOND_SYMBOL2318_tree;
    pANTLR3_BASE_TREE HOUR_SECOND_SYMBOL2319_tree;
    pANTLR3_BASE_TREE HOUR_MINUTE_SYMBOL2320_tree;
    pANTLR3_BASE_TREE DAY_MICROSECOND_SYMBOL2321_tree;
    pANTLR3_BASE_TREE DAY_SECOND_SYMBOL2322_tree;
    pANTLR3_BASE_TREE DAY_MINUTE_SYMBOL2323_tree;
    pANTLR3_BASE_TREE DAY_HOUR_SYMBOL2324_tree;
    pANTLR3_BASE_TREE YEAR_MONTH_SYMBOL2325_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    SECOND_MICROSECOND_SYMBOL2315       = NULL;
    MINUTE_MICROSECOND_SYMBOL2316       = NULL;
    MINUTE_SECOND_SYMBOL2317       = NULL;
    HOUR_MICROSECOND_SYMBOL2318       = NULL;
    HOUR_SECOND_SYMBOL2319       = NULL;
    HOUR_MINUTE_SYMBOL2320       = NULL;
    DAY_MICROSECOND_SYMBOL2321       = NULL;
    DAY_SECOND_SYMBOL2322       = NULL;
    DAY_MINUTE_SYMBOL2323       = NULL;
    DAY_HOUR_SYMBOL2324       = NULL;
    YEAR_MONTH_SYMBOL2325       = NULL;
    interval_timestamp_unit2314.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    SECOND_MICROSECOND_SYMBOL2315_tree   = NULL;
    MINUTE_MICROSECOND_SYMBOL2316_tree   = NULL;
    MINUTE_SECOND_SYMBOL2317_tree   = NULL;
    HOUR_MICROSECOND_SYMBOL2318_tree   = NULL;
    HOUR_SECOND_SYMBOL2319_tree   = NULL;
    HOUR_MINUTE_SYMBOL2320_tree   = NULL;
    DAY_MICROSECOND_SYMBOL2321_tree   = NULL;
    DAY_SECOND_SYMBOL2322_tree   = NULL;
    DAY_MINUTE_SYMBOL2323_tree   = NULL;
    DAY_HOUR_SYMBOL2324_tree   = NULL;
    YEAR_MONTH_SYMBOL2325_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:2059: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 alt642;

            alt642=12;

            {
                int LA642_0 = LA(1);
                if ( (LA642_0 == MICROSECOND_SYMBOL))
                {
                    alt642=1;
                }
                else if ( ((SERVER_VERSION < 50503)) && (LA642_0 == FRAC_SECOND_SYMBOL))
                {
                    alt642=1;
                }
                else if ( (LA642_0 == DAY_SYMBOL || LA642_0 == HOUR_SYMBOL || LA642_0 == MINUTE_SYMBOL || LA642_0 == MONTH_SYMBOL || LA642_0 == QUARTER_SYMBOL || LA642_0 == SECOND_SYMBOL || LA642_0 == WEEK_SYMBOL || LA642_0 == YEAR_SYMBOL))
                {
                    alt642=1;
                }
                else if ( (LA642_0 == SECOND_MICROSECOND_SYMBOL))
                {
                    alt642=2;
                }
                else if ( (LA642_0 == MINUTE_MICROSECOND_SYMBOL))
                {
                    alt642=3;
                }
                else if ( (LA642_0 == MINUTE_SECOND_SYMBOL))
                {
                    alt642=4;
                }
                else if ( (LA642_0 == HOUR_MICROSECOND_SYMBOL))
                {
                    alt642=5;
                }
                else if ( (LA642_0 == HOUR_SECOND_SYMBOL))
                {
                    alt642=6;
                }
                else if ( (LA642_0 == HOUR_MINUTE_SYMBOL))
                {
                    alt642=7;
                }
                else if ( (LA642_0 == DAY_MICROSECOND_SYMBOL))
                {
                    alt642=8;
                }
                else if ( (LA642_0 == DAY_SECOND_SYMBOL))
                {
                    alt642=9;
                }
                else if ( (LA642_0 == DAY_MINUTE_SYMBOL))
                {
                    alt642=10;
                }
                else if ( (LA642_0 == DAY_HOUR_SYMBOL))
                {
                    alt642=11;
                }
                else if ( (LA642_0 == YEAR_MONTH_SYMBOL))
                {
                    alt642=12;
                }
                else
                {
                    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 ruleinterval_unitEx;

                }
            }
            switch (alt642)
            {
        	case 1:
        	    // MySQL.g:2060:2: interval_timestamp_unit
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_interval_timestamp_unit_in_interval_unit11906);
        	        interval_timestamp_unit2314=interval_timestamp_unit(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleinterval_unitEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, interval_timestamp_unit2314.tree);

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:2061:4: SECOND_MICROSECOND_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        SECOND_MICROSECOND_SYMBOL2315 = (pANTLR3_COMMON_TOKEN) MATCHT(SECOND_MICROSECOND_SYMBOL, &FOLLOW_SECOND_MICROSECOND_SYMBOL_in_interval_unit11911);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleinterval_unitEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        SECOND_MICROSECOND_SYMBOL2315_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SECOND_MICROSECOND_SYMBOL2315));
        	        ADAPTOR->addChild(ADAPTOR, root_0, SECOND_MICROSECOND_SYMBOL2315_tree);
        	        }

        	    }
        	    break;
        	case 3:
        	    // MySQL.g:2062:4: MINUTE_MICROSECOND_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        MINUTE_MICROSECOND_SYMBOL2316 = (pANTLR3_COMMON_TOKEN) MATCHT(MINUTE_MICROSECOND_SYMBOL, &FOLLOW_MINUTE_MICROSECOND_SYMBOL_in_interval_unit11916);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleinterval_unitEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        MINUTE_MICROSECOND_SYMBOL2316_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MINUTE_MICROSECOND_SYMBOL2316));
        	        ADAPTOR->addChild(ADAPTOR, root_0, MINUTE_MICROSECOND_SYMBOL2316_tree);
        	        }

        	    }
        	    break;
        	case 4:
        	    // MySQL.g:2063:4: MINUTE_SECOND_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        MINUTE_SECOND_SYMBOL2317 = (pANTLR3_COMMON_TOKEN) MATCHT(MINUTE_SECOND_SYMBOL, &FOLLOW_MINUTE_SECOND_SYMBOL_in_interval_unit11921);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleinterval_unitEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        MINUTE_SECOND_SYMBOL2317_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MINUTE_SECOND_SYMBOL2317));
        	        ADAPTOR->addChild(ADAPTOR, root_0, MINUTE_SECOND_SYMBOL2317_tree);
        	        }

        	    }
        	    break;
        	case 5:
        	    // MySQL.g:2064:4: HOUR_MICROSECOND_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        HOUR_MICROSECOND_SYMBOL2318 = (pANTLR3_COMMON_TOKEN) MATCHT(HOUR_MICROSECOND_SYMBOL, &FOLLOW_HOUR_MICROSECOND_SYMBOL_in_interval_unit11926);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleinterval_unitEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        HOUR_MICROSECOND_SYMBOL2318_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, HOUR_MICROSECOND_SYMBOL2318));
        	        ADAPTOR->addChild(ADAPTOR, root_0, HOUR_MICROSECOND_SYMBOL2318_tree);
        	        }

        	    }
        	    break;
        	case 6:
        	    // MySQL.g:2065:4: HOUR_SECOND_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        HOUR_SECOND_SYMBOL2319 = (pANTLR3_COMMON_TOKEN) MATCHT(HOUR_SECOND_SYMBOL, &FOLLOW_HOUR_SECOND_SYMBOL_in_interval_unit11931);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleinterval_unitEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        HOUR_SECOND_SYMBOL2319_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, HOUR_SECOND_SYMBOL2319));
        	        ADAPTOR->addChild(ADAPTOR, root_0, HOUR_SECOND_SYMBOL2319_tree);
        	        }

        	    }
        	    break;
        	case 7:
        	    // MySQL.g:2066:4: HOUR_MINUTE_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        HOUR_MINUTE_SYMBOL2320 = (pANTLR3_COMMON_TOKEN) MATCHT(HOUR_MINUTE_SYMBOL, &FOLLOW_HOUR_MINUTE_SYMBOL_in_interval_unit11936);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleinterval_unitEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        HOUR_MINUTE_SYMBOL2320_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, HOUR_MINUTE_SYMBOL2320));
        	        ADAPTOR->addChild(ADAPTOR, root_0, HOUR_MINUTE_SYMBOL2320_tree);
        	        }

        	    }
        	    break;
        	case 8:
        	    // MySQL.g:2067:4: DAY_MICROSECOND_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        DAY_MICROSECOND_SYMBOL2321 = (pANTLR3_COMMON_TOKEN) MATCHT(DAY_MICROSECOND_SYMBOL, &FOLLOW_DAY_MICROSECOND_SYMBOL_in_interval_unit11941);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleinterval_unitEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        DAY_MICROSECOND_SYMBOL2321_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DAY_MICROSECOND_SYMBOL2321));
        	        ADAPTOR->addChild(ADAPTOR, root_0, DAY_MICROSECOND_SYMBOL2321_tree);
        	        }

        	    }
        	    break;
        	case 9:
        	    // MySQL.g:2068:4: DAY_SECOND_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        DAY_SECOND_SYMBOL2322 = (pANTLR3_COMMON_TOKEN) MATCHT(DAY_SECOND_SYMBOL, &FOLLOW_DAY_SECOND_SYMBOL_in_interval_unit11946);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleinterval_unitEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        DAY_SECOND_SYMBOL2322_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DAY_SECOND_SYMBOL2322));
        	        ADAPTOR->addChild(ADAPTOR, root_0, DAY_SECOND_SYMBOL2322_tree);
        	        }

        	    }
        	    break;
        	case 10:
        	    // MySQL.g:2069:4: DAY_MINUTE_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        DAY_MINUTE_SYMBOL2323 = (pANTLR3_COMMON_TOKEN) MATCHT(DAY_MINUTE_SYMBOL, &FOLLOW_DAY_MINUTE_SYMBOL_in_interval_unit11951);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleinterval_unitEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        DAY_MINUTE_SYMBOL2323_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DAY_MINUTE_SYMBOL2323));
        	        ADAPTOR->addChild(ADAPTOR, root_0, DAY_MINUTE_SYMBOL2323_tree);
        	        }

        	    }
        	    break;
        	case 11:
        	    // MySQL.g:2070:4: DAY_HOUR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        DAY_HOUR_SYMBOL2324 = (pANTLR3_COMMON_TOKEN) MATCHT(DAY_HOUR_SYMBOL, &FOLLOW_DAY_HOUR_SYMBOL_in_interval_unit11956);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleinterval_unitEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        DAY_HOUR_SYMBOL2324_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DAY_HOUR_SYMBOL2324));
        	        ADAPTOR->addChild(ADAPTOR, root_0, DAY_HOUR_SYMBOL2324_tree);
        	        }

        	    }
        	    break;
        	case 12:
        	    // MySQL.g:2071:4: YEAR_MONTH_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        YEAR_MONTH_SYMBOL2325 = (pANTLR3_COMMON_TOKEN) MATCHT(YEAR_MONTH_SYMBOL, &FOLLOW_YEAR_MONTH_SYMBOL_in_interval_unit11961);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleinterval_unitEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        YEAR_MONTH_SYMBOL2325_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, YEAR_MONTH_SYMBOL2325));
        	        ADAPTOR->addChild(ADAPTOR, root_0, YEAR_MONTH_SYMBOL2325_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:2075: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_SYMBOL2326;
    pANTLR3_COMMON_TOKEN    FRAC_SECOND_SYMBOL2327;
    pANTLR3_COMMON_TOKEN    SECOND_SYMBOL2328;
    pANTLR3_COMMON_TOKEN    MINUTE_SYMBOL2329;
    pANTLR3_COMMON_TOKEN    HOUR_SYMBOL2330;
    pANTLR3_COMMON_TOKEN    DAY_SYMBOL2331;
    pANTLR3_COMMON_TOKEN    WEEK_SYMBOL2332;
    pANTLR3_COMMON_TOKEN    MONTH_SYMBOL2333;
    pANTLR3_COMMON_TOKEN    QUARTER_SYMBOL2334;
    pANTLR3_COMMON_TOKEN    YEAR_SYMBOL2335;

    pANTLR3_BASE_TREE MICROSECOND_SYMBOL2326_tree;
    pANTLR3_BASE_TREE FRAC_SECOND_SYMBOL2327_tree;
    pANTLR3_BASE_TREE SECOND_SYMBOL2328_tree;
    pANTLR3_BASE_TREE MINUTE_SYMBOL2329_tree;
    pANTLR3_BASE_TREE HOUR_SYMBOL2330_tree;
    pANTLR3_BASE_TREE DAY_SYMBOL2331_tree;
    pANTLR3_BASE_TREE WEEK_SYMBOL2332_tree;
    pANTLR3_BASE_TREE MONTH_SYMBOL2333_tree;
    pANTLR3_BASE_TREE QUARTER_SYMBOL2334_tree;
    pANTLR3_BASE_TREE YEAR_SYMBOL2335_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    MICROSECOND_SYMBOL2326       = NULL;
    FRAC_SECOND_SYMBOL2327       = NULL;
    SECOND_SYMBOL2328       = NULL;
    MINUTE_SYMBOL2329       = NULL;
    HOUR_SYMBOL2330       = NULL;
    DAY_SYMBOL2331       = NULL;
    WEEK_SYMBOL2332       = NULL;
    MONTH_SYMBOL2333       = NULL;
    QUARTER_SYMBOL2334       = NULL;
    YEAR_SYMBOL2335       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    MICROSECOND_SYMBOL2326_tree   = NULL;
    FRAC_SECOND_SYMBOL2327_tree   = NULL;
    SECOND_SYMBOL2328_tree   = NULL;
    MINUTE_SYMBOL2329_tree   = NULL;
    HOUR_SYMBOL2330_tree   = NULL;
    DAY_SYMBOL2331_tree   = NULL;
    WEEK_SYMBOL2332_tree   = NULL;
    MONTH_SYMBOL2333_tree   = NULL;
    QUARTER_SYMBOL2334_tree   = NULL;
    YEAR_SYMBOL2335_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:2075:24: ( MICROSECOND_SYMBOL |{...}? => FRAC_SECOND_SYMBOL | SECOND_SYMBOL | MINUTE_SYMBOL | HOUR_SYMBOL | DAY_SYMBOL | WEEK_SYMBOL | MONTH_SYMBOL | QUARTER_SYMBOL | YEAR_SYMBOL )

            ANTLR3_UINT32 alt643;

            alt643=10;

            {
                int LA643_0 = LA(1);
                if ( (LA643_0 == MICROSECOND_SYMBOL))
                {
                    alt643=1;
                }
                else if ( ((SERVER_VERSION < 50503)) && (LA643_0 == FRAC_SECOND_SYMBOL))
                {
                    alt643=2;
                }
                else if ( (LA643_0 == SECOND_SYMBOL))
                {
                    alt643=3;
                }
                else if ( (LA643_0 == MINUTE_SYMBOL))
                {
                    alt643=4;
                }
                else if ( (LA643_0 == HOUR_SYMBOL))
                {
                    alt643=5;
                }
                else if ( (LA643_0 == DAY_SYMBOL))
                {
                    alt643=6;
                }
                else if ( (LA643_0 == WEEK_SYMBOL))
                {
                    alt643=7;
                }
                else if ( (LA643_0 == MONTH_SYMBOL))
                {
                    alt643=8;
                }
                else if ( (LA643_0 == QUARTER_SYMBOL))
                {
                    alt643=9;
                }
                else if ( (LA643_0 == YEAR_SYMBOL))
                {
                    alt643=10;
                }
                else
                {
                    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 ruleinterval_timestamp_unitEx;

                }
            }
            switch (alt643)
            {
        	case 1:
        	    // MySQL.g:2076:2: MICROSECOND_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        MICROSECOND_SYMBOL2326 = (pANTLR3_COMMON_TOKEN) MATCHT(MICROSECOND_SYMBOL, &FOLLOW_MICROSECOND_SYMBOL_in_interval_timestamp_unit11971);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleinterval_timestamp_unitEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        MICROSECOND_SYMBOL2326_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MICROSECOND_SYMBOL2326));
        	        ADAPTOR->addChild(ADAPTOR, root_0, MICROSECOND_SYMBOL2326_tree);
        	        }

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:2077: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_SYMBOL2327 = (pANTLR3_COMMON_TOKEN) MATCHT(FRAC_SECOND_SYMBOL, &FOLLOW_FRAC_SECOND_SYMBOL_in_interval_timestamp_unit11980);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleinterval_timestamp_unitEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        FRAC_SECOND_SYMBOL2327_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, FRAC_SECOND_SYMBOL2327));
        	        ADAPTOR->addChild(ADAPTOR, root_0, FRAC_SECOND_SYMBOL2327_tree);
        	        }

        	    }
        	    break;
        	case 3:
        	    // MySQL.g:2078:4: SECOND_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        SECOND_SYMBOL2328 = (pANTLR3_COMMON_TOKEN) MATCHT(SECOND_SYMBOL, &FOLLOW_SECOND_SYMBOL_in_interval_timestamp_unit11985);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleinterval_timestamp_unitEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        SECOND_SYMBOL2328_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SECOND_SYMBOL2328));
        	        ADAPTOR->addChild(ADAPTOR, root_0, SECOND_SYMBOL2328_tree);
        	        }

        	    }
        	    break;
        	case 4:
        	    // MySQL.g:2079:4: MINUTE_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        MINUTE_SYMBOL2329 = (pANTLR3_COMMON_TOKEN) MATCHT(MINUTE_SYMBOL, &FOLLOW_MINUTE_SYMBOL_in_interval_timestamp_unit11990);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleinterval_timestamp_unitEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        MINUTE_SYMBOL2329_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MINUTE_SYMBOL2329));
        	        ADAPTOR->addChild(ADAPTOR, root_0, MINUTE_SYMBOL2329_tree);
        	        }

        	    }
        	    break;
        	case 5:
        	    // MySQL.g:2080:4: HOUR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        HOUR_SYMBOL2330 = (pANTLR3_COMMON_TOKEN) MATCHT(HOUR_SYMBOL, &FOLLOW_HOUR_SYMBOL_in_interval_timestamp_unit11995);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleinterval_timestamp_unitEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        HOUR_SYMBOL2330_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, HOUR_SYMBOL2330));
        	        ADAPTOR->addChild(ADAPTOR, root_0, HOUR_SYMBOL2330_tree);
        	        }

        	    }
        	    break;
        	case 6:
        	    // MySQL.g:2081:4: DAY_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        DAY_SYMBOL2331 = (pANTLR3_COMMON_TOKEN) MATCHT(DAY_SYMBOL, &FOLLOW_DAY_SYMBOL_in_interval_timestamp_unit12000);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleinterval_timestamp_unitEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        DAY_SYMBOL2331_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DAY_SYMBOL2331));
        	        ADAPTOR->addChild(ADAPTOR, root_0, DAY_SYMBOL2331_tree);
        	        }

        	    }
        	    break;
        	case 7:
        	    // MySQL.g:2082:4: WEEK_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        WEEK_SYMBOL2332 = (pANTLR3_COMMON_TOKEN) MATCHT(WEEK_SYMBOL, &FOLLOW_WEEK_SYMBOL_in_interval_timestamp_unit12008);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleinterval_timestamp_unitEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        WEEK_SYMBOL2332_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, WEEK_SYMBOL2332));
        	        ADAPTOR->addChild(ADAPTOR, root_0, WEEK_SYMBOL2332_tree);
        	        }

        	    }
        	    break;
        	case 8:
        	    // MySQL.g:2083:4: MONTH_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        MONTH_SYMBOL2333 = (pANTLR3_COMMON_TOKEN) MATCHT(MONTH_SYMBOL, &FOLLOW_MONTH_SYMBOL_in_interval_timestamp_unit12013);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleinterval_timestamp_unitEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        MONTH_SYMBOL2333_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MONTH_SYMBOL2333));
        	        ADAPTOR->addChild(ADAPTOR, root_0, MONTH_SYMBOL2333_tree);
        	        }

        	    }
        	    break;
        	case 9:
        	    // MySQL.g:2084:4: QUARTER_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        QUARTER_SYMBOL2334 = (pANTLR3_COMMON_TOKEN) MATCHT(QUARTER_SYMBOL, &FOLLOW_QUARTER_SYMBOL_in_interval_timestamp_unit12018);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleinterval_timestamp_unitEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        QUARTER_SYMBOL2334_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, QUARTER_SYMBOL2334));
        	        ADAPTOR->addChild(ADAPTOR, root_0, QUARTER_SYMBOL2334_tree);
        	        }

        	    }
        	    break;
        	case 10:
        	    // MySQL.g:2085:4: YEAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        YEAR_SYMBOL2335 = (pANTLR3_COMMON_TOKEN) MATCHT(YEAR_SYMBOL, &FOLLOW_YEAR_SYMBOL_in_interval_timestamp_unit12023);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleinterval_timestamp_unitEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        YEAR_SYMBOL2335_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, YEAR_SYMBOL2335));
        	        ADAPTOR->addChild(ADAPTOR, root_0, YEAR_SYMBOL2335_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:2088: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_SYMBOL2336;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2338;
    MySQLParser_expression_list_return expression_list2337;
    #undef	RETURN_TYPE_expression_list2337
    #define	RETURN_TYPE_expression_list2337 MySQLParser_expression_list_return

    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2336_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2338_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_SYMBOL2336       = NULL;
    CLOSE_PAR_SYMBOL2338       = NULL;
    expression_list2337.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    OPEN_PAR_SYMBOL2336_tree   = NULL;
    CLOSE_PAR_SYMBOL2338_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:2088:33: ( OPEN_PAR_SYMBOL expression_list CLOSE_PAR_SYMBOL -> ^( PAR_EXPRESSION OPEN_PAR_SYMBOL expression_list CLOSE_PAR_SYMBOL ) )
        // MySQL.g:2089:2: OPEN_PAR_SYMBOL expression_list CLOSE_PAR_SYMBOL
        {
            OPEN_PAR_SYMBOL2336 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_expression_list_with_parentheses12032);
            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_SYMBOL2336, NULL); }


            FOLLOWPUSH(FOLLOW_expression_list_in_expression_list_with_parentheses12034);
            expression_list2337=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_list2337.tree, NULL); }

            CLOSE_PAR_SYMBOL2338 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_expression_list_with_parentheses12036);
            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_SYMBOL2338, NULL); }


            /* AST REWRITE
             * elements          : expression_list, OPEN_PAR_SYMBOL, CLOSE_PAR_SYMBOL
             * token labels      : 
             * rule labels       : retval
             * token list labels : 
             * rule list labels  : 
             */
            if ( BACKTRACKING==0 ) 

            {
            	pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_retval;

            	stream_retval=antlr3RewriteRuleSubtreeStreamNewAEE(ADAPTOR,  RECOGNIZER, (pANTLR3_UINT8)"token retval", retval.tree != NULL ? retval.tree : NULL);

            	root_0			    = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));
            	retval.tree    = root_0;
            	// 2089:51: -> ^( PAR_EXPRESSION OPEN_PAR_SYMBOL expression_list CLOSE_PAR_SYMBOL )
            	{
            	    // MySQL.g:2089: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:2092: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_SYMBOL2340;
    MySQLParser_expression_return expression2339;
    #undef	RETURN_TYPE_expression2339
    #define	RETURN_TYPE_expression2339 MySQLParser_expression_return

    MySQLParser_expression_return expression2341;
    #undef	RETURN_TYPE_expression2341
    #define	RETURN_TYPE_expression2341 MySQLParser_expression_return

    pANTLR3_BASE_TREE COMMA_SYMBOL2340_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    COMMA_SYMBOL2340       = NULL;
    expression2339.tree = NULL;

    expression2341.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    COMMA_SYMBOL2340_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2092:16: ( expression ( COMMA_SYMBOL expression )* )
        // MySQL.g:2093:2: expression ( COMMA_SYMBOL expression )*
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            FOLLOWPUSH(FOLLOW_expression_in_expression_list12057);
            expression2339=expression(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruleexpression_listEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2339.tree);

            // MySQL.g:2093:13: ( COMMA_SYMBOL expression )*

            for (;;)
            {
                int alt644=2;
                switch ( LA(1) )
                {
                case COMMA_SYMBOL:
                	{
                		alt644=1;
                	}
                    break;

                }

                switch (alt644)
                {
            	case 1:
            	    // MySQL.g:2093:14: COMMA_SYMBOL expression
            	    {
            	        COMMA_SYMBOL2340 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_expression_list12060);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleexpression_listEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        COMMA_SYMBOL2340_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL2340));
            	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL2340_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_expression_in_expression_list12062);
            	        expression2341=expression(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleexpression_listEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2341.tree);

            	    }
            	    break;

            	default:
            	    goto loop644;	/* break out of the loop */
            	    break;
                }
            }
            loop644: ; /* 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:2096: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_SYMBOL2344;
    MySQLParser_expression_return expression2342;
    #undef	RETURN_TYPE_expression2342
    #define	RETURN_TYPE_expression2342 MySQLParser_expression_return

    MySQLParser_direction_return direction2343;
    #undef	RETURN_TYPE_direction2343
    #define	RETURN_TYPE_direction2343 MySQLParser_direction_return

    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

    pANTLR3_BASE_TREE COMMA_SYMBOL2344_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    COMMA_SYMBOL2344       = NULL;
    expression2342.tree = NULL;

    direction2343.tree = NULL;

    expression2345.tree = NULL;

    direction2346.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    COMMA_SYMBOL2344_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2096:31: ( expression ( direction )? ( options {greedy=true; } : COMMA_SYMBOL expression ( direction )? )* )
        // MySQL.g:2097: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_direction12073);
            expression2342=expression(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruleexpression_list_with_directionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2342.tree);

            // MySQL.g:2097:13: ( direction )?
            {
                int alt645=2;
                switch ( LA(1) )
                {
                    case ASC_SYMBOL:
                    case DESC_SYMBOL:
                    	{
                    		alt645=1;
                    	}
                        break;
                }

                switch (alt645)
                {
            	case 1:
            	    // MySQL.g:2097:13: direction
            	    {
            	        FOLLOWPUSH(FOLLOW_direction_in_expression_list_with_direction12075);
            	        direction2343=direction(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleexpression_list_with_directionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, direction2343.tree);

            	    }
            	    break;

                }
            }

            // MySQL.g:2097:24: ( options {greedy=true; } : COMMA_SYMBOL expression ( direction )? )*

            for (;;)
            {
                int alt647=2;
                switch ( LA(1) )
                {
                case COMMA_SYMBOL:
                	{
                		{
                		   /* dfaLoopbackState(k,edges,eotPredictsAlt,description,stateNumber,semPredState)
                		    */
                		    int LA647_19 = LA(2);
                		    if ( (LA647_19 == OPEN_PAR_SYMBOL))
                		    {
                		        alt647=1;
                		    }
                		    else if ( (LA647_19 == IDENTIFIER))
                		    {
                		        alt647=1;
                		    }
                		    else if ( (LA647_19 == BACK_TICK_QUOTED_ID))
                		    {
                		        alt647=1;
                		    }
                		    else if ( (LA647_19 == DOUBLE_QUOTED_TEXT))
                		    {
                		        alt647=1;
                		    }
                		    else if ( (LA647_19 == DATE_SYMBOL))
                		    {
                		        alt647=1;
                		    }
                		    else if ( (LA647_19 == PARTITION_SYMBOL))
                		    {
                		        alt647=1;
                		    }
                		    else if ( (LA647_19 == ASCII_SYMBOL || ((LA647_19 >= BITNUMBER) && (LA647_19 <= BITSTRING)) || LA647_19 == BITWISE_NOT_OPERATOR || LA647_19 == FALSE_SYMBOL || LA647_19 == FLOAT || ((LA647_19 >= HEXNUMBER) && (LA647_19 <= HEXSTRING)) || LA647_19 == INTEGER || LA647_19 == INTERVAL_SYMBOL || LA647_19 == LOGICAL_NOT_OPERATOR || LA647_19 == MINUS_OPERATOR || LA647_19 == NCHAR_TEXT || LA647_19 == NOT2_SYMBOL || LA647_19 == NOT_SYMBOL || LA647_19 == NULL2_SYMBOL || LA647_19 == NULL_SYMBOL || LA647_19 == PLUS_OPERATOR || LA647_19 == SINGLE_QUOTED_TEXT || LA647_19 == TRUE_SYMBOL || LA647_19 == UNDERSCORE_CHARSET))
                		    {
                		        alt647=1;
                		    }
                		    else if ( (LA647_19 == DOT_SYMBOL))
                		    {
                		        alt647=1;
                		    }
                		    else if ( (LA647_19 == OPEN_CURLY_SYMBOL))
                		    {
                		        alt647=1;
                		    }
                		    else if ( (LA647_19 == TIME_SYMBOL))
                		    {
                		        alt647=1;
                		    }
                		    else if ( (LA647_19 == TIMESTAMP_SYMBOL))
                		    {
                		        alt647=1;
                		    }
                		    else if ( (LA647_19 == DAY_SYMBOL || LA647_19 == CHAR_SYMBOL || LA647_19 == CURRENT_USER_SYMBOL))
                		    {
                		        alt647=1;
                		    }
                		    else if ( (LA647_19 == HOUR_SYMBOL))
                		    {
                		        alt647=1;
                		    }
                		    else if ( (LA647_19 == MINUTE_SYMBOL || LA647_19 == INSERT_SYMBOL || LA647_19 == LEFT_SYMBOL))
                		    {
                		        alt647=1;
                		    }
                		    else if ( (LA647_19 == MONTH_SYMBOL))
                		    {
                		        alt647=1;
                		    }
                		    else if ( (LA647_19 == SECOND_SYMBOL || LA647_19 == RIGHT_SYMBOL))
                		    {
                		        alt647=1;
                		    }
                		    else if ( (LA647_19 == USER_SYMBOL || LA647_19 == TRIM_SYMBOL))
                		    {
                		        alt647=1;
                		    }
                		    else if ( (LA647_19 == YEAR_SYMBOL || LA647_19 == VALUES_SYMBOL))
                		    {
                		        alt647=1;
                		    }
                		    else if ( (LA647_19 == ADDDATE_SYMBOL || LA647_19 == SUBDATE_SYMBOL))
                		    {
                		        alt647=1;
                		    }
                		    else if ( (LA647_19 == GET_FORMAT_SYMBOL || LA647_19 == CURDATE_SYMBOL || LA647_19 == CURTIME_SYMBOL || LA647_19 == DATE_ADD_SYMBOL || LA647_19 == DATE_SUB_SYMBOL || LA647_19 == EXTRACT_SYMBOL))
                		    {
                		        alt647=1;
                		    }
                		    else if ( (((LA647_19 >= TIMESTAMP_ADD_SYMBOL) && (LA647_19 <= TIMESTAMP_DIFF_SYMBOL)) || LA647_19 == NOW_SYMBOL || LA647_19 == POSITION_SYMBOL || LA647_19 == SUBSTRING_SYMBOL || LA647_19 == SYSDATE_SYMBOL))
                		    {
                		        alt647=1;
                		    }
                		    else if ( (LA647_19 == COALESCE_SYMBOL || ((LA647_19 >= UTC_DATE_SYMBOL) && (LA647_19 <= UTC_TIME_SYMBOL))))
                		    {
                		        alt647=1;
                		    }
                		    else if ( (LA647_19 == CHARSET_SYMBOL))
                		    {
                		        alt647=1;
                		    }
                		    else if ( (LA647_19 == FORMAT_SYMBOL))
                		    {
                		        alt647=1;
                		    }
                		    else if ( (LA647_19 == COLLATION_SYMBOL))
                		    {
                		        alt647=1;
                		    }
                		    else if ( (LA647_19 == MICROSECOND_SYMBOL || LA647_19 == DATABASE_SYMBOL || LA647_19 == IF_SYMBOL))
                		    {
                		        alt647=1;
                		    }
                		    else if ( (LA647_19 == TRUNCATE_SYMBOL))
                		    {
                		        alt647=1;
                		    }
                		    else if ( (LA647_19 == OLD_PASSWORD_SYMBOL || LA647_19 == MOD_SYMBOL))
                		    {
                		        alt647=1;
                		    }
                		    else if ( (LA647_19 == PASSWORD_SYMBOL))
                		    {
                		        alt647=1;
                		    }
                		    else if ( (LA647_19 == QUARTER_SYMBOL))
                		    {
                		        alt647=1;
                		    }
                		    else if ( (LA647_19 == REVERSE_SYMBOL || ((LA647_19 >= REPEAT_SYMBOL) && (LA647_19 <= REPLACE_SYMBOL))))
                		    {
                		        alt647=1;
                		    }
                		    else if ( (LA647_19 == ROW_COUNT_SYMBOL))
                		    {
                		        alt647=1;
                		    }
                		    else if ( (LA647_19 == WEEK_SYMBOL))
                		    {
                		        alt647=1;
                		    }
                		    else if ( (LA647_19 == CONTAINS_SYMBOL))
                		    {
                		        alt647=1;
                		    }
                		    else if ( (LA647_19 == WEIGHT_STRING_SYMBOL))
                		    {
                		        alt647=1;
                		    }
                		    else if ( (LA647_19 == GEOMETRYCOLLECTION_SYMBOL))
                		    {
                		        alt647=1;
                		    }
                		    else if ( (((LA647_19 >= BACKUP_SYMBOL) && (LA647_19 <= CACHE_SYMBOL)) || ((LA647_19 >= CHECKSUM_SYMBOL) && (LA647_19 <= COMMIT_SYMBOL)) || ((LA647_19 >= DEALLOCATE_SYMBOL) && (LA647_19 <= FLUSH_SYMBOL)) || ((LA647_19 >= HANDLER_SYMBOL) && (LA647_19 <= STOP_SYMBOL)) || ((LA647_19 >= UNICODE_SYMBOL) && (LA647_19 <= XA_SYMBOL))))
                		    {
                		        alt647=1;
                		    }
                		    else if ( (LA647_19 == LINESTRING_SYMBOL))
                		    {
                		        alt647=1;
                		    }
                		    else if ( (LA647_19 == MULTILINESTRING_SYMBOL))
                		    {
                		        alt647=1;
                		    }
                		    else if ( (LA647_19 == MULTIPOINT_SYMBOL))
                		    {
                		        alt647=1;
                		    }
                		    else if ( (LA647_19 == MULTIPOLYGON_SYMBOL))
                		    {
                		        alt647=1;
                		    }
                		    else if ( (LA647_19 == POINT_SYMBOL))
                		    {
                		        alt647=1;
                		    }
                		    else if ( (LA647_19 == POLYGON_SYMBOL))
                		    {
                		        alt647=1;
                		    }
                		    else if ( (LA647_19 == AVG_SYMBOL))
                		    {
                		        alt647=1;
                		    }
                		    else if ( (LA647_19 == ROW_SYMBOL || ((LA647_19 >= AT_AT_SIGN_SYMBOL) && (LA647_19 <= AT_SIGN_SYMBOL)) || ((LA647_19 >= BIT_AND_SYMBOL) && (LA647_19 <= BIT_XOR_SYMBOL)) || LA647_19 == COUNT_SYMBOL || LA647_19 == EXISTS_SYMBOL || LA647_19 == GROUP_CONCAT_SYMBOL || LA647_19 == MAX_SYMBOL || LA647_19 == MIN_SYMBOL || LA647_19 == PARAM_MARKER || LA647_19 == STDDEV_SAMP_SYMBOL || LA647_19 == STD_SYMBOL || LA647_19 == SUM_SYMBOL || LA647_19 == VARIANCE_SYMBOL || LA647_19 == VAR_SAMP_SYMBOL))
                		    {
                		        alt647=1;
                		    }
                		    else if ( (LA647_19 == ACTION_SYMBOL || ((LA647_19 >= AFTER_SYMBOL) && (LA647_19 <= AVG_ROW_LENGTH_SYMBOL)) || ((LA647_19 >= BINLOG_SYMBOL) && (LA647_19 <= CLIENT_SYMBOL)) || LA647_19 == CODE_SYMBOL || ((LA647_19 >= COLUMNS_SYMBOL) && (LA647_19 <= DATETIME_SYMBOL)) || ((LA647_19 >= DEFAULT_AUTH_SYMBOL) && (LA647_19 <= GENERAL_SYMBOL)) || LA647_19 == GEOMETRY_SYMBOL || ((LA647_19 >= GLOBAL_SYMBOL) && (LA647_19 <= HOSTS_SYMBOL)) || ((LA647_19 >= IDENTIFIED_SYMBOL) && (LA647_19 <= LEVEL_SYMBOL)) || ((LA647_19 >= LIST_SYMBOL) && (LA647_19 <= MESSAGE_TEXT_SYMBOL)) || LA647_19 == MIGRATE_SYMBOL || ((LA647_19 >= MIN_ROWS_SYMBOL) && (LA647_19 <= MODIFY_SYMBOL)) || ((LA647_19 >= MUTEX_SYMBOL) && (LA647_19 <= OFFSET_SYMBOL)) || ((LA647_19 >= ONE_SHOT_SYMBOL) && (LA647_19 <= PARTITIONS_SYMBOL)) || ((LA647_19 >= PHASE_SYMBOL) && (LA647_19 <= PLUGIN_SYMBOL)) || ((LA647_19 >= PRESERVE_SYMBOL) && (LA647_19 <= PROXY_SYMBOL)) || ((LA647_19 >= QUERY_SYMBOL) && (LA647_19 <= RETURNS_SYMBOL)) || ((LA647_19 >= ROLLUP_SYMBOL) && (LA647_19 <= ROWS_SYMBOL)) || LA647_19 == ROW_FORMAT_SYMBOL || ((LA647_19 >= RTREE_SYMBOL) && (LA647_19 <= SCHEMA_NAME_SYMBOL)) || ((LA647_19 >= SERIALIZABLE_SYMBOL) && (LA647_19 <= SUBCLASS_ORIGIN_SYMBOL)) || ((LA647_19 >= SUBJECT_SYMBOL) && (LA647_19 <= THAN_SYMBOL)) || ((LA647_19 >= TRANSACTION_SYMBOL) && (LA647_19 <= USER_RESOURCES_SYMBOL)) || ((LA647_19 >= USE_FRM_SYMBOL) && (LA647_19 <= WARNINGS_SYMBOL)) || ((LA647_19 >= WORK_SYMBOL) && (LA647_19 <= XML_SYMBOL)) || LA647_19 == BINARY_SYMBOL || ((LA647_19 >= CASE_SYMBOL) && (LA647_19 <= CAST_SYMBOL)) || LA647_19 == CONVERT_SYMBOL || LA647_19 == MATCH_SYMBOL))
                		    {
                		        alt647=1;
                		    }

                		}
                	}
                    break;

                }

                switch (alt647)
                {
            	case 1:
            	    // MySQL.g:2097:54: COMMA_SYMBOL expression ( direction )?
            	    {
            	        COMMA_SYMBOL2344 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_expression_list_with_direction12092);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleexpression_list_with_directionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        COMMA_SYMBOL2344_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL2344));
            	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL2344_tree);
            	        }

            	        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:2097:78: ( direction )?
            	        {
            	            int alt646=2;
            	            switch ( LA(1) )
            	            {
            	                case ASC_SYMBOL:
            	                case DESC_SYMBOL:
            	                	{
            	                		alt646=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt646)
            	            {
            	        	case 1:
            	        	    // MySQL.g:2097:78: 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;

            	            }
            	        }

            	    }
            	    break;

            	default:
            	    goto loop647;	/* break out of the loop */
            	    break;
                }
            }
            loop647: ; /* 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:2103: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 statement2347;
    #undef	RETURN_TYPE_statement2347
    #define	RETURN_TYPE_statement2347 MySQLParser_statement_return

    MySQLParser_label_return label2348;
    #undef	RETURN_TYPE_label2348
    #define	RETURN_TYPE_label2348 MySQLParser_label_return

    MySQLParser_begin_end_block_return begin_end_block2349;
    #undef	RETURN_TYPE_begin_end_block2349
    #define	RETURN_TYPE_begin_end_block2349 MySQLParser_begin_end_block_return

    MySQLParser_loop_block_return loop_block2350;
    #undef	RETURN_TYPE_loop_block2350
    #define	RETURN_TYPE_loop_block2350 MySQLParser_loop_block_return

    MySQLParser_repeat_until_block_return repeat_until_block2351;
    #undef	RETURN_TYPE_repeat_until_block2351
    #define	RETURN_TYPE_repeat_until_block2351 MySQLParser_repeat_until_block_return

    MySQLParser_while_do_block_return while_do_block2352;
    #undef	RETURN_TYPE_while_do_block2352
    #define	RETURN_TYPE_while_do_block2352 MySQLParser_while_do_block_return

    MySQLParser_case_statement_return case_statement2353;
    #undef	RETURN_TYPE_case_statement2353
    #define	RETURN_TYPE_case_statement2353 MySQLParser_case_statement_return

    MySQLParser_if_statement_return if_statement2354;
    #undef	RETURN_TYPE_if_statement2354
    #define	RETURN_TYPE_if_statement2354 MySQLParser_if_statement_return

    MySQLParser_iterate_statement_return iterate_statement2355;
    #undef	RETURN_TYPE_iterate_statement2355
    #define	RETURN_TYPE_iterate_statement2355 MySQLParser_iterate_statement_return

    MySQLParser_leave_statement_return leave_statement2356;
    #undef	RETURN_TYPE_leave_statement2356
    #define	RETURN_TYPE_leave_statement2356 MySQLParser_leave_statement_return

    MySQLParser_return_statement_return return_statement2357;
    #undef	RETURN_TYPE_return_statement2357
    #define	RETURN_TYPE_return_statement2357 MySQLParser_return_statement_return

    MySQLParser_cursor_open_return cursor_open2358;
    #undef	RETURN_TYPE_cursor_open2358
    #define	RETURN_TYPE_cursor_open2358 MySQLParser_cursor_open_return

    MySQLParser_cursor_fetch_return cursor_fetch2359;
    #undef	RETURN_TYPE_cursor_fetch2359
    #define	RETURN_TYPE_cursor_fetch2359 MySQLParser_cursor_fetch_return

    MySQLParser_cursor_close_return cursor_close2360;
    #undef	RETURN_TYPE_cursor_close2360
    #define	RETURN_TYPE_cursor_close2360 MySQLParser_cursor_close_return

    MySQLParser_get_diagnostics_return get_diagnostics2361;
    #undef	RETURN_TYPE_get_diagnostics2361
    #define	RETURN_TYPE_get_diagnostics2361 MySQLParser_get_diagnostics_return

    MySQLParser_signal_statement_return signal_statement2362;
    #undef	RETURN_TYPE_signal_statement2362
    #define	RETURN_TYPE_signal_statement2362 MySQLParser_signal_statement_return

    MySQLParser_resignal_statement_return resignal_statement2363;
    #undef	RETURN_TYPE_resignal_statement2363
    #define	RETURN_TYPE_resignal_statement2363 MySQLParser_resignal_statement_return


    /* Initialize rule variables
     */

    root_0 = NULL;

    statement2347.tree = NULL;

    label2348.tree = NULL;

    begin_end_block2349.tree = NULL;

    loop_block2350.tree = NULL;

    repeat_until_block2351.tree = NULL;

    while_do_block2352.tree = NULL;

    case_statement2353.tree = NULL;

    if_statement2354.tree = NULL;

    iterate_statement2355.tree = NULL;

    leave_statement2356.tree = NULL;

    return_statement2357.tree = NULL;

    cursor_open2358.tree = NULL;

    cursor_fetch2359.tree = NULL;

    cursor_close2360.tree = NULL;

    get_diagnostics2361.tree = NULL;

    signal_statement2362.tree = NULL;

    resignal_statement2363.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;




    retval.tree  = NULL;

    {
        {
            //  MySQL.g:2103: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 alt650;

            alt650=13;

            {
                int LA650_0 = LA(1);
                if ( (LA650_0 == DO_SYMBOL || LA650_0 == HANDLER_SYMBOL || LA650_0 == TRUNCATE_SYMBOL || LA650_0 == ALTER_SYMBOL || LA650_0 == CALL_SYMBOL || LA650_0 == CREATE_SYMBOL || LA650_0 == DELETE_SYMBOL || LA650_0 == DROP_SYMBOL || LA650_0 == INSERT_SYMBOL || LA650_0 == LOAD_SYMBOL || LA650_0 == OPEN_PAR_SYMBOL || LA650_0 == RENAME_SYMBOL || LA650_0 == REPLACE_SYMBOL || LA650_0 == SELECT_SYMBOL || LA650_0 == UPDATE_SYMBOL))
                {
                    alt650=1;
                }
                else if ( ((SERVER_VERSION >= 50100)) && (LA650_0 == PARTITION_SYMBOL))
                {
                    alt650=1;
                }
                else if ( (LA650_0 == CHECKSUM_SYMBOL || LA650_0 == COMMIT_SYMBOL || LA650_0 == DEALLOCATE_SYMBOL || LA650_0 == EXECUTE_SYMBOL || LA650_0 == PREPARE_SYMBOL || LA650_0 == REPAIR_SYMBOL || ((LA650_0 >= ROLLBACK_SYMBOL) && (LA650_0 <= SAVEPOINT_SYMBOL)) || ((LA650_0 >= START_SYMBOL) && (LA650_0 <= STOP_SYMBOL)) || LA650_0 == XA_SYMBOL || LA650_0 == CHANGE_SYMBOL || LA650_0 == CHECK_SYMBOL || LA650_0 == GRANT_SYMBOL || LA650_0 == LOCK_SYMBOL || LA650_0 == OPTIMIZE_SYMBOL || LA650_0 == PURGE_SYMBOL || LA650_0 == RELEASE_SYMBOL || LA650_0 == REVOKE_SYMBOL || LA650_0 == SET_SYMBOL || LA650_0 == UNLOCK_SYMBOL))
                {
                    alt650=1;
                }
                else if ( (LA650_0 == BEGIN_SYMBOL))
                {
                    {
                        int LA650_18 = LA(2);
                        if ( (LA650_18 == WORK_SYMBOL))
                        {
                            {
                                int LA650_72 = LA(3);
                                if ( (!( ((LA(2) != WORK_SYMBOL)) )))
                                {
                                    alt650=1;
                                }
                                else if ( ((LA(2) != WORK_SYMBOL)))
                                {
                                    alt650=2;
                                }
                                else
                                {
                                    if (BACKTRACKING>0)
                                    {
                                        FAILEDFLAG = ANTLR3_TRUE;
                                        return retval;
                                    }


                                    CONSTRUCTEX();
                                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                                    EXCEPTION->message      = (void *)"";
                                    EXCEPTION->decisionNum  = 650;
                                    EXCEPTION->state        = 72;


                                    goto rulecompound_statementEx;

                                }
                            }
                        }
                        else if ( (LA650_18 == EOF || LA650_18 == SEMICOLON_SYMBOL))
                        {
                            alt650=1;
                        }
                        else if ( (((LA650_18 >= ACTION_SYMBOL) && (LA650_18 <= WEIGHT_STRING_SYMBOL)) || ((LA650_18 >= X509_SYMBOL) && (LA650_18 <= YEAR_SYMBOL)) || ((LA650_18 >= BACKUP_SYMBOL) && (LA650_18 <= BEGIN_SYMBOL)) || LA650_18 == CACHE_SYMBOL || ((LA650_18 >= CHECKSUM_SYMBOL) && (LA650_18 <= CLOSE_SYMBOL)) || LA650_18 == COMMIT_SYMBOL || ((LA650_18 >= DEALLOCATE_SYMBOL) && (LA650_18 <= DO_SYMBOL)) || ((LA650_18 >= EXECUTE_SYMBOL) && (LA650_18 <= FLUSH_SYMBOL)) || ((LA650_18 >= HANDLER_SYMBOL) && (LA650_18 <= HELP_SYMBOL)) || LA650_18 == INSTALL_SYMBOL || LA650_18 == OPEN_SYMBOL || LA650_18 == PREPARE_SYMBOL || ((LA650_18 >= REPAIR_SYMBOL) && (LA650_18 <= SAVEPOINT_SYMBOL)) || ((LA650_18 >= START_SYMBOL) && (LA650_18 <= TRUNCATE_SYMBOL)) || LA650_18 == UNINSTALL_SYMBOL || ((LA650_18 >= XA_SYMBOL) && (LA650_18 <= PARTITION_SYMBOL)) || LA650_18 == ALTER_SYMBOL || LA650_18 == BACK_TICK_QUOTED_ID || LA650_18 == CALL_SYMBOL || LA650_18 == CASE_SYMBOL || LA650_18 == CHANGE_SYMBOL || LA650_18 == CHECK_SYMBOL || LA650_18 == CREATE_SYMBOL || LA650_18 == DECLARE_SYMBOL || ((LA650_18 >= DELETE_SYMBOL) && (LA650_18 <= DESC_SYMBOL)) || LA650_18 == DOUBLE_QUOTED_TEXT || LA650_18 == DROP_SYMBOL || LA650_18 == FETCH_SYMBOL || ((LA650_18 >= GET_SYMBOL) && (LA650_18 <= GRANT_SYMBOL)) || ((LA650_18 >= IDENTIFIER) && (LA650_18 <= IF_SYMBOL)) || LA650_18 == INSERT_SYMBOL || LA650_18 == ITERATE_SYMBOL || LA650_18 == KILL_SYMBOL || LA650_18 == LEAVE_SYMBOL || LA650_18 == LOAD_SYMBOL || LA650_18 == LOCK_SYMBOL || LA650_18 == LOOP_SYMBOL || ((LA650_18 >= OPEN_PAR_SYMBOL) && (LA650_18 <= OPTIMIZE_SYMBOL)) || LA650_18 == PURGE_SYMBOL || ((LA650_18 >= RELEASE_SYMBOL) && (LA650_18 <= REPLACE_SYMBOL)) || LA650_18 == RESIGNAL_SYMBOL || ((LA650_18 >= RETURN_SYMBOL) && (LA650_18 <= REVOKE_SYMBOL)) || LA650_18 == SELECT_SYMBOL || LA650_18 == SET_SYMBOL || ((LA650_18 >= SHOW_SYMBOL) && (LA650_18 <= SIGNAL_SYMBOL)) || LA650_18 == UNLOCK_SYMBOL || LA650_18 == UPDATE_SYMBOL || LA650_18 == USE_SYMBOL || LA650_18 == WHILE_SYMBOL))
                        {
                            alt650=2;
                        }
                        else
                        {
                            if (BACKTRACKING>0)
                            {
                                FAILEDFLAG = ANTLR3_TRUE;
                                return retval;
                            }


                            CONSTRUCTEX();
                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                            EXCEPTION->message      = (void *)"";
                            EXCEPTION->decisionNum  = 650;
                            EXCEPTION->state        = 18;


                            goto rulecompound_statementEx;

                        }
                    }
                }
                else if ( (LA650_0 == ANALYZE_SYMBOL))
                {
                    switch ( LA(2) )
                    {
                    case LOCAL_SYMBOL:
                    case NO_WRITE_TO_BINLOG_SYMBOL:
                    case TABLE_SYMBOL:
                    	{
                    		alt650=1;
                    	}
                        break;
                    case COLON_SYMBOL:
                    	{
                    		alt650=2;
                    	}
                        break;

                    default:
                        if (BACKTRACKING>0)
                        {
                            FAILEDFLAG = ANTLR3_TRUE;
                            return retval;
                        }

                        CONSTRUCTEX();
                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                        EXCEPTION->message      = (void *)"";
                        EXCEPTION->decisionNum  = 650;
                        EXCEPTION->state        = 35;


                        goto rulecompound_statementEx;

                    }

                }
                else if ( ((SERVER_VERSION < 50500)) && (LA650_0 == BACKUP_SYMBOL || LA650_0 == RESTORE_SYMBOL))
                {
                    alt650=1;
                }
                else if ( (LA650_0 == CACHE_SYMBOL || LA650_0 == FLUSH_SYMBOL || LA650_0 == HELP_SYMBOL || LA650_0 == INSTALL_SYMBOL || LA650_0 == RESET_SYMBOL || LA650_0 == UNINSTALL_SYMBOL || ((LA650_0 >= DESCRIBE_SYMBOL) && (LA650_0 <= DESC_SYMBOL)) || LA650_0 == KILL_SYMBOL || LA650_0 == SHOW_SYMBOL || LA650_0 == USE_SYMBOL))
                {
                    alt650=1;
                }
                else if ( (LA650_0 == BINLOG_SYMBOL))
                {
                    switch ( LA(2) )
                    {
                    case DOUBLE_QUOTED_TEXT:
                    case NCHAR_TEXT:
                    case SINGLE_QUOTED_TEXT:
                    case UNDERSCORE_CHARSET:
                    	{
                    		alt650=1;
                    	}
                        break;
                    case COLON_SYMBOL:
                    	{
                    		alt650=2;
                    	}
                        break;

                    default:
                        if (BACKTRACKING>0)
                        {
                            FAILEDFLAG = ANTLR3_TRUE;
                            return retval;
                        }

                        CONSTRUCTEX();
                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                        EXCEPTION->message      = (void *)"";
                        EXCEPTION->decisionNum  = 650;
                        EXCEPTION->state        = 45;


                        goto rulecompound_statementEx;

                    }

                }
                else if ( (LA650_0 == BACK_TICK_QUOTED_ID || LA650_0 == IDENTIFIER))
                {
                    alt650=2;
                }
                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA650_0 == DOUBLE_QUOTED_TEXT))
                {
                    alt650=2;
                }
                else if ( (((LA650_0 >= ACTION_SYMBOL) && (LA650_0 <= ALGORITHM_SYMBOL)) || ((LA650_0 >= ANY_SYMBOL) && (LA650_0 <= AVG_SYMBOL)) || ((LA650_0 >= BIT_SYMBOL) && (LA650_0 <= YEAR_SYMBOL)) || LA650_0 == LOOP_SYMBOL || LA650_0 == REPEAT_SYMBOL || LA650_0 == WHILE_SYMBOL))
                {
                    alt650=2;
                }
                else if ( (LA650_0 == CASE_SYMBOL))
                {
                    alt650=3;
                }
                else if ( (LA650_0 == IF_SYMBOL))
                {
                    alt650=4;
                }
                else if ( (LA650_0 == ITERATE_SYMBOL))
                {
                    alt650=5;
                }
                else if ( (LA650_0 == LEAVE_SYMBOL))
                {
                    alt650=6;
                }
                else if ( (LA650_0 == RETURN_SYMBOL))
                {
                    alt650=7;
                }
                else if ( (LA650_0 == OPEN_SYMBOL))
                {
                    alt650=8;
                }
                else if ( (LA650_0 == FETCH_SYMBOL))
                {
                    alt650=9;
                }
                else if ( (LA650_0 == CLOSE_SYMBOL))
                {
                    alt650=10;
                }
                else if ( ((SERVER_VERSION >= 50600)) && (LA650_0 == GET_SYMBOL))
                {
                    alt650=11;
                }
                else if ( ((SERVER_VERSION >= 50500)) && (LA650_0 == SIGNAL_SYMBOL))
                {
                    alt650=12;
                }
                else if ( ((SERVER_VERSION >= 50500)) && (LA650_0 == RESIGNAL_SYMBOL))
                {
                    alt650=13;
                }
                else
                {
                    if (BACKTRACKING>0)
                    {
                        FAILEDFLAG = ANTLR3_TRUE;
                        return retval;
                    }


                    CONSTRUCTEX();
                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    EXCEPTION->message      = (void *)"";
                    EXCEPTION->decisionNum  = 650;
                    EXCEPTION->state        = 0;


                    goto rulecompound_statementEx;

                }
            }
            switch (alt650)
            {
        	case 1:
        	    // MySQL.g:2104:2: statement
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_statement_in_compound_statement12112);
        	        statement2347=statement(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecompound_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, statement2347.tree);

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:2105:4: ( label )? ({...}? begin_end_block | loop_block | repeat_until_block | while_do_block )
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        // MySQL.g:2105:4: ( label )?
        	        {
        	            int alt648=2;
        	            {
        	                int LA648_0 = LA(1);
        	                if ( (LA648_0 == BACK_TICK_QUOTED_ID || LA648_0 == IDENTIFIER))
        	                {
        	                    alt648=1;
        	                }
        	                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA648_0 == DOUBLE_QUOTED_TEXT))
        	                {
        	                    alt648=1;
        	                }
        	                else if ( (((LA648_0 >= ACTION_SYMBOL) && (LA648_0 <= YEAR_SYMBOL))))
        	                {
        	                    alt648=1;
        	                }
        	            }
        	            switch (alt648)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2105:4: label
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_label_in_compound_statement12117);
        	        	        label2348=label(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulecompound_statementEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, label2348.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	        // MySQL.g:2106:3: ({...}? begin_end_block | loop_block | repeat_until_block | while_do_block )
        	        {
        	            int alt649=4;
        	            switch ( LA(1) )
        	            {
        	            case BEGIN_SYMBOL:
        	            	{
        	            		alt649=1;
        	            	}
        	                break;
        	            case LOOP_SYMBOL:
        	            	{
        	            		alt649=2;
        	            	}
        	                break;
        	            case REPEAT_SYMBOL:
        	            	{
        	            		alt649=3;
        	            	}
        	                break;
        	            case WHILE_SYMBOL:
        	            	{
        	            		alt649=4;
        	            	}
        	                break;

        	            default:
        	                if (BACKTRACKING>0)
        	                {
        	                    FAILEDFLAG = ANTLR3_TRUE;
        	                    return retval;
        	                }

        	                CONSTRUCTEX();
        	                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                EXCEPTION->message      = (void *)"";
        	                EXCEPTION->decisionNum  = 649;
        	                EXCEPTION->state        = 0;


        	                goto rulecompound_statementEx;

        	            }

        	            switch (alt649)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2107: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_statement12129);
        	        	        begin_end_block2349=begin_end_block(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulecompound_statementEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, begin_end_block2349.tree);

        	        	    }
        	        	    break;
        	        	case 2:
        	        	    // MySQL.g:2108:6: loop_block
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_loop_block_in_compound_statement12136);
        	        	        loop_block2350=loop_block(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulecompound_statementEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, loop_block2350.tree);

        	        	    }
        	        	    break;
        	        	case 3:
        	        	    // MySQL.g:2109:6: repeat_until_block
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_repeat_until_block_in_compound_statement12143);
        	        	        repeat_until_block2351=repeat_until_block(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulecompound_statementEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, repeat_until_block2351.tree);

        	        	    }
        	        	    break;
        	        	case 4:
        	        	    // MySQL.g:2110:6: while_do_block
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_while_do_block_in_compound_statement12150);
        	        	        while_do_block2352=while_do_block(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulecompound_statementEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, while_do_block2352.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 3:
        	    // MySQL.g:2112:4: case_statement
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_case_statement_in_compound_statement12159);
        	        case_statement2353=case_statement(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecompound_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, case_statement2353.tree);

        	    }
        	    break;
        	case 4:
        	    // MySQL.g:2113:4: if_statement
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_if_statement_in_compound_statement12164);
        	        if_statement2354=if_statement(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecompound_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, if_statement2354.tree);

        	    }
        	    break;
        	case 5:
        	    // MySQL.g:2114:4: iterate_statement
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_iterate_statement_in_compound_statement12169);
        	        iterate_statement2355=iterate_statement(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecompound_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, iterate_statement2355.tree);

        	    }
        	    break;
        	case 6:
        	    // MySQL.g:2115:4: leave_statement
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_leave_statement_in_compound_statement12175);
        	        leave_statement2356=leave_statement(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecompound_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, leave_statement2356.tree);

        	    }
        	    break;
        	case 7:
        	    // MySQL.g:2116:4: return_statement
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_return_statement_in_compound_statement12180);
        	        return_statement2357=return_statement(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecompound_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, return_statement2357.tree);

        	    }
        	    break;
        	case 8:
        	    // MySQL.g:2118:4: cursor_open
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_cursor_open_in_compound_statement12187);
        	        cursor_open2358=cursor_open(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecompound_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, cursor_open2358.tree);

        	    }
        	    break;
        	case 9:
        	    // MySQL.g:2119:4: cursor_fetch
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_cursor_fetch_in_compound_statement12192);
        	        cursor_fetch2359=cursor_fetch(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecompound_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, cursor_fetch2359.tree);

        	    }
        	    break;
        	case 10:
        	    // MySQL.g:2120:4: cursor_close
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_cursor_close_in_compound_statement12197);
        	        cursor_close2360=cursor_close(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecompound_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, cursor_close2360.tree);

        	    }
        	    break;
        	case 11:
        	    // MySQL.g:2122: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_statement12208);
        	        get_diagnostics2361=get_diagnostics(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecompound_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, get_diagnostics2361.tree);

        	    }
        	    break;
        	case 12:
        	    // MySQL.g:2123: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_statement12217);
        	        signal_statement2362=signal_statement(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecompound_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, signal_statement2362.tree);

        	    }
        	    break;
        	case 13:
        	    // MySQL.g:2124: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_statement12226);
        	        resignal_statement2363=resignal_statement(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecompound_statementEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, resignal_statement2363.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:2127: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_SYMBOL2365;
    MySQLParser_compound_statement_return compound_statement2364;
    #undef	RETURN_TYPE_compound_statement2364
    #define	RETURN_TYPE_compound_statement2364 MySQLParser_compound_statement_return

    pANTLR3_BASE_TREE SEMICOLON_SYMBOL2365_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    SEMICOLON_SYMBOL2365       = NULL;
    compound_statement2364.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    SEMICOLON_SYMBOL2365_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2127:24: ( ( compound_statement SEMICOLON_SYMBOL )+ )
        // MySQL.g:2128:2: ( compound_statement SEMICOLON_SYMBOL )+
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            // MySQL.g:2128:2: ( compound_statement SEMICOLON_SYMBOL )+
            {
                int cnt651=0;

                for (;;)
                {
                    int alt651=2;
            	{
            	   /* dfaLoopbackState(k,edges,eotPredictsAlt,description,stateNumber,semPredState)
            	    */
            	    int LA651_0 = LA(1);
            	    if ( (LA651_0 == UNTIL_SYMBOL))
            	    {
            	        switch ( LA(2) )
            	        {
            	        case COLON_SYMBOL:
            	        	{
            	        		alt651=1;
            	        	}
            	            break;

            	        }

            	    }
            	    else if ( (LA651_0 == DO_SYMBOL || LA651_0 == HANDLER_SYMBOL || LA651_0 == TRUNCATE_SYMBOL || LA651_0 == ALTER_SYMBOL || LA651_0 == CALL_SYMBOL || LA651_0 == CREATE_SYMBOL || LA651_0 == DELETE_SYMBOL || LA651_0 == DROP_SYMBOL || LA651_0 == INSERT_SYMBOL || LA651_0 == LOAD_SYMBOL || LA651_0 == OPEN_PAR_SYMBOL || LA651_0 == RENAME_SYMBOL || LA651_0 == REPLACE_SYMBOL || LA651_0 == SELECT_SYMBOL || LA651_0 == UPDATE_SYMBOL))
            	    {
            	        alt651=1;
            	    }
            	    else if ( ((SERVER_VERSION >= 50100)) && (LA651_0 == PARTITION_SYMBOL))
            	    {
            	        alt651=1;
            	    }
            	    else if ( (LA651_0 == ANALYZE_SYMBOL || LA651_0 == BEGIN_SYMBOL || LA651_0 == CHECKSUM_SYMBOL || LA651_0 == COMMIT_SYMBOL || LA651_0 == DEALLOCATE_SYMBOL || LA651_0 == EXECUTE_SYMBOL || LA651_0 == PREPARE_SYMBOL || LA651_0 == REPAIR_SYMBOL || ((LA651_0 >= ROLLBACK_SYMBOL) && (LA651_0 <= SAVEPOINT_SYMBOL)) || ((LA651_0 >= START_SYMBOL) && (LA651_0 <= STOP_SYMBOL)) || LA651_0 == XA_SYMBOL || LA651_0 == CHANGE_SYMBOL || LA651_0 == CHECK_SYMBOL || LA651_0 == GRANT_SYMBOL || LA651_0 == LOCK_SYMBOL || LA651_0 == OPTIMIZE_SYMBOL || LA651_0 == PURGE_SYMBOL || LA651_0 == RELEASE_SYMBOL || LA651_0 == REVOKE_SYMBOL || LA651_0 == SET_SYMBOL || LA651_0 == UNLOCK_SYMBOL))
            	    {
            	        alt651=1;
            	    }
            	    else if ( ((SERVER_VERSION < 50500)) && (LA651_0 == BACKUP_SYMBOL || LA651_0 == RESTORE_SYMBOL))
            	    {
            	        alt651=1;
            	    }
            	    else if ( (LA651_0 == BINLOG_SYMBOL || LA651_0 == CACHE_SYMBOL || LA651_0 == FLUSH_SYMBOL || LA651_0 == HELP_SYMBOL || LA651_0 == INSTALL_SYMBOL || LA651_0 == RESET_SYMBOL || LA651_0 == UNINSTALL_SYMBOL || LA651_0 == BACK_TICK_QUOTED_ID || ((LA651_0 >= DESCRIBE_SYMBOL) && (LA651_0 <= DESC_SYMBOL)) || LA651_0 == IDENTIFIER || LA651_0 == KILL_SYMBOL || LA651_0 == SHOW_SYMBOL || LA651_0 == USE_SYMBOL))
            	    {
            	        alt651=1;
            	    }
            	    else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA651_0 == DOUBLE_QUOTED_TEXT))
            	    {
            	        alt651=1;
            	    }
            	    else if ( (((LA651_0 >= ACTION_SYMBOL) && (LA651_0 <= ALGORITHM_SYMBOL)) || ((LA651_0 >= ANY_SYMBOL) && (LA651_0 <= AVG_SYMBOL)) || ((LA651_0 >= BIT_SYMBOL) && (LA651_0 <= UNKNOWN_SYMBOL)) || ((LA651_0 >= USER_RESOURCES_SYMBOL) && (LA651_0 <= YEAR_SYMBOL)) || LA651_0 == CLOSE_SYMBOL || LA651_0 == OPEN_SYMBOL || LA651_0 == CASE_SYMBOL || LA651_0 == FETCH_SYMBOL || LA651_0 == IF_SYMBOL || LA651_0 == ITERATE_SYMBOL || LA651_0 == LEAVE_SYMBOL || LA651_0 == LOOP_SYMBOL || LA651_0 == REPEAT_SYMBOL || LA651_0 == RETURN_SYMBOL || LA651_0 == WHILE_SYMBOL))
            	    {
            	        alt651=1;
            	    }
            	    else if ( ((SERVER_VERSION >= 50600)) && (LA651_0 == GET_SYMBOL))
            	    {
            	        alt651=1;
            	    }
            	    else if ( ((SERVER_VERSION >= 50500)) && (LA651_0 == RESIGNAL_SYMBOL || LA651_0 == SIGNAL_SYMBOL))
            	    {
            	        alt651=1;
            	    }

            	}
            	switch (alt651)
            	{
            	    case 1:
            	        // MySQL.g:2128:3: compound_statement SEMICOLON_SYMBOL
            	        {
            	            FOLLOWPUSH(FOLLOW_compound_statement_in_compound_statement_list12236);
            	            compound_statement2364=compound_statement(ctx);

            	            FOLLOWPOP();
            	            if  (HASEXCEPTION())
            	            {
            	                goto rulecompound_statement_listEx;
            	            }
            	            if (HASFAILED())
            	            {
            	                return retval;
            	            }

            	            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, compound_statement2364.tree);

            	            SEMICOLON_SYMBOL2365 = (pANTLR3_COMMON_TOKEN) MATCHT(SEMICOLON_SYMBOL, &FOLLOW_SEMICOLON_SYMBOL_in_compound_statement_list12238);
            	            if  (HASEXCEPTION())
            	            {
            	                goto rulecompound_statement_listEx;
            	            }
            	            if (HASFAILED())
            	            {
            	                return retval;
            	            }

            	            if ( BACKTRACKING==0 ) {
            	            SEMICOLON_SYMBOL2365_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SEMICOLON_SYMBOL2365));
            	            ADAPTOR->addChild(ADAPTOR, root_0, SEMICOLON_SYMBOL2365_tree);
            	            }

            	        }
            	        break;

            	    default:

            		if ( cnt651 >= 1 )
            		{
            		    goto loop651;
            		}
            		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;
            	}
            	cnt651++;
                }
                loop651: ;	/* 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:2131: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_SYMBOL2367;
    MySQLParser_label_identifier_return label_identifier2366;
    #undef	RETURN_TYPE_label_identifier2366
    #define	RETURN_TYPE_label_identifier2366 MySQLParser_label_identifier_return

    pANTLR3_BASE_TREE COLON_SYMBOL2367_tree;
    pANTLR3_REWRITE_RULE_TOKEN_STREAM stream_COLON_SYMBOL;
    pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_label_identifier;
    /* Initialize rule variables
     */

    root_0 = NULL;

    COLON_SYMBOL2367       = NULL;
    label_identifier2366.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    COLON_SYMBOL2367_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:2131:6: ( label_identifier COLON_SYMBOL -> ^( LABEL_TOKEN label_identifier COLON_SYMBOL ) )
        // MySQL.g:2132:2: label_identifier COLON_SYMBOL
        {
            FOLLOWPUSH(FOLLOW_label_identifier_in_label12249);
            label_identifier2366=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_identifier2366.tree, NULL); }

            COLON_SYMBOL2367 = (pANTLR3_COMMON_TOKEN) MATCHT(COLON_SYMBOL, &FOLLOW_COLON_SYMBOL_in_label12251);
            if  (HASEXCEPTION())
            {
                goto rulelabelEx;
            }
            if (HASFAILED())
            {
                return retval;
            }
             
            if ( BACKTRACKING==0 ) { CREATE_stream_COLON_SYMBOL; stream_COLON_SYMBOL->add(stream_COLON_SYMBOL, COLON_SYMBOL2367, NULL); }


            /* AST REWRITE
             * elements          : label_identifier, COLON_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;
            	// 2132:32: -> ^( LABEL_TOKEN label_identifier COLON_SYMBOL )
            	{
            	    // MySQL.g:2132: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:2135: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_identifier2368;
    #undef	RETURN_TYPE_pure_identifier2368
    #define	RETURN_TYPE_pure_identifier2368 MySQLParser_pure_identifier_return

    MySQLParser_keyword_sp_return keyword_sp2369;
    #undef	RETURN_TYPE_keyword_sp2369
    #define	RETURN_TYPE_keyword_sp2369 MySQLParser_keyword_sp_return


    /* Initialize rule variables
     */

    root_0 = NULL;

    pure_identifier2368.tree = NULL;

    keyword_sp2369.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;




    retval.tree  = NULL;

    {
        {
            //  MySQL.g:2135:17: ( pure_identifier | keyword_sp )

            ANTLR3_UINT32 alt652;

            alt652=2;

            {
                int LA652_0 = LA(1);
                if ( (LA652_0 == BACK_TICK_QUOTED_ID || LA652_0 == IDENTIFIER))
                {
                    alt652=1;
                }
                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA652_0 == DOUBLE_QUOTED_TEXT))
                {
                    alt652=1;
                }
                else if ( (((LA652_0 >= ACTION_SYMBOL) && (LA652_0 <= YEAR_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        = 0;


                    goto rulelabel_identifierEx;

                }
            }
            switch (alt652)
            {
        	case 1:
        	    // MySQL.g:2136:2: pure_identifier
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_pure_identifier_in_label_identifier12270);
        	        pure_identifier2368=pure_identifier(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulelabel_identifierEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, pure_identifier2368.tree);

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:2136:20: keyword_sp
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_keyword_sp_in_label_identifier12274);
        	        keyword_sp2369=keyword_sp(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulelabel_identifierEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, keyword_sp2369.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:2139: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_SYMBOL2370;
    pANTLR3_COMMON_TOKEN    END_SYMBOL2373;
    MySQLParser_declarations_return declarations2371;
    #undef	RETURN_TYPE_declarations2371
    #define	RETURN_TYPE_declarations2371 MySQLParser_declarations_return

    MySQLParser_compound_statement_list_return compound_statement_list2372;
    #undef	RETURN_TYPE_compound_statement_list2372
    #define	RETURN_TYPE_compound_statement_list2372 MySQLParser_compound_statement_list_return

    MySQLParser_label_identifier_return label_identifier2374;
    #undef	RETURN_TYPE_label_identifier2374
    #define	RETURN_TYPE_label_identifier2374 MySQLParser_label_identifier_return

    pANTLR3_BASE_TREE BEGIN_SYMBOL2370_tree;
    pANTLR3_BASE_TREE END_SYMBOL2373_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    BEGIN_SYMBOL2370       = NULL;
    END_SYMBOL2373       = NULL;
    declarations2371.tree = NULL;

    compound_statement_list2372.tree = NULL;

    label_identifier2374.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    BEGIN_SYMBOL2370_tree   = NULL;
    END_SYMBOL2373_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2139:16: ( BEGIN_SYMBOL ^ declarations compound_statement_list END_SYMBOL ( label_identifier )? )
        // MySQL.g:2141:2: BEGIN_SYMBOL ^ declarations compound_statement_list END_SYMBOL ( label_identifier )?
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            BEGIN_SYMBOL2370 = (pANTLR3_COMMON_TOKEN) MATCHT(BEGIN_SYMBOL, &FOLLOW_BEGIN_SYMBOL_in_begin_end_block12286);
            if  (HASEXCEPTION())
            {
                goto rulebegin_end_blockEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            BEGIN_SYMBOL2370_tree = 
            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, BEGIN_SYMBOL2370))
            ;
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, BEGIN_SYMBOL2370_tree, root_0));
            }

            FOLLOWPUSH(FOLLOW_declarations_in_begin_end_block12289);
            declarations2371=declarations(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulebegin_end_blockEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, declarations2371.tree);

            FOLLOWPUSH(FOLLOW_compound_statement_list_in_begin_end_block12291);
            compound_statement_list2372=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_list2372.tree);

            END_SYMBOL2373 = (pANTLR3_COMMON_TOKEN) MATCHT(END_SYMBOL, &FOLLOW_END_SYMBOL_in_begin_end_block12293);
            if  (HASEXCEPTION())
            {
                goto rulebegin_end_blockEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            END_SYMBOL2373_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, END_SYMBOL2373));
            ADAPTOR->addChild(ADAPTOR, root_0, END_SYMBOL2373_tree);
            }

            // MySQL.g:2141:64: ( label_identifier )?
            {
                int alt653=2;
                {
                    int LA653_0 = LA(1);
                    if ( (LA653_0 == BACK_TICK_QUOTED_ID || LA653_0 == IDENTIFIER))
                    {
                        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 <= YEAR_SYMBOL))))
                    {
                        alt653=1;
                    }
                }
                switch (alt653)
                {
            	case 1:
            	    // MySQL.g:2141:64: label_identifier
            	    {
            	        FOLLOWPUSH(FOLLOW_label_identifier_in_begin_end_block12295);
            	        label_identifier2374=label_identifier(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulebegin_end_blockEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, label_identifier2374.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:2144: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_SYMBOL2375;
    pANTLR3_COMMON_TOKEN    END_SYMBOL2377;
    pANTLR3_COMMON_TOKEN    LOOP_SYMBOL2378;
    MySQLParser_compound_statement_list_return compound_statement_list2376;
    #undef	RETURN_TYPE_compound_statement_list2376
    #define	RETURN_TYPE_compound_statement_list2376 MySQLParser_compound_statement_list_return

    MySQLParser_label_identifier_return label_identifier2379;
    #undef	RETURN_TYPE_label_identifier2379
    #define	RETURN_TYPE_label_identifier2379 MySQLParser_label_identifier_return

    pANTLR3_BASE_TREE LOOP_SYMBOL2375_tree;
    pANTLR3_BASE_TREE END_SYMBOL2377_tree;
    pANTLR3_BASE_TREE LOOP_SYMBOL2378_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    LOOP_SYMBOL2375       = NULL;
    END_SYMBOL2377       = NULL;
    LOOP_SYMBOL2378       = NULL;
    compound_statement_list2376.tree = NULL;

    label_identifier2379.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    LOOP_SYMBOL2375_tree   = NULL;
    END_SYMBOL2377_tree   = NULL;
    LOOP_SYMBOL2378_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2144:11: ( LOOP_SYMBOL ^ compound_statement_list END_SYMBOL LOOP_SYMBOL ( label_identifier )? )
        // MySQL.g:2145:2: LOOP_SYMBOL ^ compound_statement_list END_SYMBOL LOOP_SYMBOL ( label_identifier )?
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            LOOP_SYMBOL2375 = (pANTLR3_COMMON_TOKEN) MATCHT(LOOP_SYMBOL, &FOLLOW_LOOP_SYMBOL_in_loop_block12305);
            if  (HASEXCEPTION())
            {
                goto ruleloop_blockEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            LOOP_SYMBOL2375_tree = 
            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, LOOP_SYMBOL2375))
            ;
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, LOOP_SYMBOL2375_tree, root_0));
            }

            FOLLOWPUSH(FOLLOW_compound_statement_list_in_loop_block12308);
            compound_statement_list2376=compound_statement_list(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruleloop_blockEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, compound_statement_list2376.tree);

            END_SYMBOL2377 = (pANTLR3_COMMON_TOKEN) MATCHT(END_SYMBOL, &FOLLOW_END_SYMBOL_in_loop_block12310);
            if  (HASEXCEPTION())
            {
                goto ruleloop_blockEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            END_SYMBOL2377_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, END_SYMBOL2377));
            ADAPTOR->addChild(ADAPTOR, root_0, END_SYMBOL2377_tree);
            }

            LOOP_SYMBOL2378 = (pANTLR3_COMMON_TOKEN) MATCHT(LOOP_SYMBOL, &FOLLOW_LOOP_SYMBOL_in_loop_block12312);
            if  (HASEXCEPTION())
            {
                goto ruleloop_blockEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            LOOP_SYMBOL2378_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, LOOP_SYMBOL2378));
            ADAPTOR->addChild(ADAPTOR, root_0, LOOP_SYMBOL2378_tree);
            }

            // MySQL.g:2145:62: ( label_identifier )?
            {
                int 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=1;
                    }
                }
                switch (alt654)
                {
            	case 1:
            	    // MySQL.g:2145:62: label_identifier
            	    {
            	        FOLLOWPUSH(FOLLOW_label_identifier_in_loop_block12314);
            	        label_identifier2379=label_identifier(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleloop_blockEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, label_identifier2379.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:2148: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_SYMBOL2380;
    pANTLR3_COMMON_TOKEN    UNTIL_SYMBOL2382;
    pANTLR3_COMMON_TOKEN    END_SYMBOL2384;
    pANTLR3_COMMON_TOKEN    REPEAT_SYMBOL2385;
    MySQLParser_compound_statement_list_return compound_statement_list2381;
    #undef	RETURN_TYPE_compound_statement_list2381
    #define	RETURN_TYPE_compound_statement_list2381 MySQLParser_compound_statement_list_return

    MySQLParser_expression_return expression2383;
    #undef	RETURN_TYPE_expression2383
    #define	RETURN_TYPE_expression2383 MySQLParser_expression_return

    MySQLParser_label_identifier_return label_identifier2386;
    #undef	RETURN_TYPE_label_identifier2386
    #define	RETURN_TYPE_label_identifier2386 MySQLParser_label_identifier_return

    pANTLR3_BASE_TREE REPEAT_SYMBOL2380_tree;
    pANTLR3_BASE_TREE UNTIL_SYMBOL2382_tree;
    pANTLR3_BASE_TREE END_SYMBOL2384_tree;
    pANTLR3_BASE_TREE REPEAT_SYMBOL2385_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    REPEAT_SYMBOL2380       = NULL;
    UNTIL_SYMBOL2382       = NULL;
    END_SYMBOL2384       = NULL;
    REPEAT_SYMBOL2385       = NULL;
    compound_statement_list2381.tree = NULL;

    expression2383.tree = NULL;

    label_identifier2386.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    REPEAT_SYMBOL2380_tree   = NULL;
    UNTIL_SYMBOL2382_tree   = NULL;
    END_SYMBOL2384_tree   = NULL;
    REPEAT_SYMBOL2385_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2148:19: ( REPEAT_SYMBOL ^ compound_statement_list UNTIL_SYMBOL expression END_SYMBOL REPEAT_SYMBOL ( label_identifier )? )
        // MySQL.g:2149:2: REPEAT_SYMBOL ^ compound_statement_list UNTIL_SYMBOL expression END_SYMBOL REPEAT_SYMBOL ( label_identifier )?
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            REPEAT_SYMBOL2380 = (pANTLR3_COMMON_TOKEN) MATCHT(REPEAT_SYMBOL, &FOLLOW_REPEAT_SYMBOL_in_repeat_until_block12324);
            if  (HASEXCEPTION())
            {
                goto rulerepeat_until_blockEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            REPEAT_SYMBOL2380_tree = 
            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, REPEAT_SYMBOL2380))
            ;
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, REPEAT_SYMBOL2380_tree, root_0));
            }

            FOLLOWPUSH(FOLLOW_compound_statement_list_in_repeat_until_block12327);
            compound_statement_list2381=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_list2381.tree);

            UNTIL_SYMBOL2382 = (pANTLR3_COMMON_TOKEN) MATCHT(UNTIL_SYMBOL, &FOLLOW_UNTIL_SYMBOL_in_repeat_until_block12329);
            if  (HASEXCEPTION())
            {
                goto rulerepeat_until_blockEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            UNTIL_SYMBOL2382_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, UNTIL_SYMBOL2382));
            ADAPTOR->addChild(ADAPTOR, root_0, UNTIL_SYMBOL2382_tree);
            }

            FOLLOWPUSH(FOLLOW_expression_in_repeat_until_block12331);
            expression2383=expression(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulerepeat_until_blockEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2383.tree);

            END_SYMBOL2384 = (pANTLR3_COMMON_TOKEN) MATCHT(END_SYMBOL, &FOLLOW_END_SYMBOL_in_repeat_until_block12333);
            if  (HASEXCEPTION())
            {
                goto rulerepeat_until_blockEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            END_SYMBOL2384_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, END_SYMBOL2384));
            ADAPTOR->addChild(ADAPTOR, root_0, END_SYMBOL2384_tree);
            }

            REPEAT_SYMBOL2385 = (pANTLR3_COMMON_TOKEN) MATCHT(REPEAT_SYMBOL, &FOLLOW_REPEAT_SYMBOL_in_repeat_until_block12335);
            if  (HASEXCEPTION())
            {
                goto rulerepeat_until_blockEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            REPEAT_SYMBOL2385_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, REPEAT_SYMBOL2385));
            ADAPTOR->addChild(ADAPTOR, root_0, REPEAT_SYMBOL2385_tree);
            }

            // MySQL.g:2149:90: ( label_identifier )?
            {
                int alt655=2;
                {
                    int LA655_0 = LA(1);
                    if ( (LA655_0 == BACK_TICK_QUOTED_ID || LA655_0 == IDENTIFIER))
                    {
                        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 <= YEAR_SYMBOL))))
                    {
                        alt655=1;
                    }
                }
                switch (alt655)
                {
            	case 1:
            	    // MySQL.g:2149:90: label_identifier
            	    {
            	        FOLLOWPUSH(FOLLOW_label_identifier_in_repeat_until_block12337);
            	        label_identifier2386=label_identifier(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulerepeat_until_blockEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, label_identifier2386.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:2152: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_SYMBOL2387;
    pANTLR3_COMMON_TOKEN    DO_SYMBOL2389;
    pANTLR3_COMMON_TOKEN    END_SYMBOL2391;
    pANTLR3_COMMON_TOKEN    WHILE_SYMBOL2392;
    MySQLParser_expression_return expression2388;
    #undef	RETURN_TYPE_expression2388
    #define	RETURN_TYPE_expression2388 MySQLParser_expression_return

    MySQLParser_compound_statement_list_return compound_statement_list2390;
    #undef	RETURN_TYPE_compound_statement_list2390
    #define	RETURN_TYPE_compound_statement_list2390 MySQLParser_compound_statement_list_return

    MySQLParser_label_identifier_return label_identifier2393;
    #undef	RETURN_TYPE_label_identifier2393
    #define	RETURN_TYPE_label_identifier2393 MySQLParser_label_identifier_return

    pANTLR3_BASE_TREE WHILE_SYMBOL2387_tree;
    pANTLR3_BASE_TREE DO_SYMBOL2389_tree;
    pANTLR3_BASE_TREE END_SYMBOL2391_tree;
    pANTLR3_BASE_TREE WHILE_SYMBOL2392_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    WHILE_SYMBOL2387       = NULL;
    DO_SYMBOL2389       = NULL;
    END_SYMBOL2391       = NULL;
    WHILE_SYMBOL2392       = NULL;
    expression2388.tree = NULL;

    compound_statement_list2390.tree = NULL;

    label_identifier2393.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    WHILE_SYMBOL2387_tree   = NULL;
    DO_SYMBOL2389_tree   = NULL;
    END_SYMBOL2391_tree   = NULL;
    WHILE_SYMBOL2392_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2152:15: ( WHILE_SYMBOL ^ expression DO_SYMBOL compound_statement_list END_SYMBOL WHILE_SYMBOL ( label_identifier )? )
        // MySQL.g:2153:2: WHILE_SYMBOL ^ expression DO_SYMBOL compound_statement_list END_SYMBOL WHILE_SYMBOL ( label_identifier )?
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            WHILE_SYMBOL2387 = (pANTLR3_COMMON_TOKEN) MATCHT(WHILE_SYMBOL, &FOLLOW_WHILE_SYMBOL_in_while_do_block12347);
            if  (HASEXCEPTION())
            {
                goto rulewhile_do_blockEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            WHILE_SYMBOL2387_tree = 
            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, WHILE_SYMBOL2387))
            ;
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, WHILE_SYMBOL2387_tree, root_0));
            }

            FOLLOWPUSH(FOLLOW_expression_in_while_do_block12350);
            expression2388=expression(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulewhile_do_blockEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2388.tree);

            DO_SYMBOL2389 = (pANTLR3_COMMON_TOKEN) MATCHT(DO_SYMBOL, &FOLLOW_DO_SYMBOL_in_while_do_block12352);
            if  (HASEXCEPTION())
            {
                goto rulewhile_do_blockEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            DO_SYMBOL2389_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DO_SYMBOL2389));
            ADAPTOR->addChild(ADAPTOR, root_0, DO_SYMBOL2389_tree);
            }

            FOLLOWPUSH(FOLLOW_compound_statement_list_in_while_do_block12354);
            compound_statement_list2390=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_list2390.tree);

            END_SYMBOL2391 = (pANTLR3_COMMON_TOKEN) MATCHT(END_SYMBOL, &FOLLOW_END_SYMBOL_in_while_do_block12356);
            if  (HASEXCEPTION())
            {
                goto rulewhile_do_blockEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            END_SYMBOL2391_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, END_SYMBOL2391));
            ADAPTOR->addChild(ADAPTOR, root_0, END_SYMBOL2391_tree);
            }

            WHILE_SYMBOL2392 = (pANTLR3_COMMON_TOKEN) MATCHT(WHILE_SYMBOL, &FOLLOW_WHILE_SYMBOL_in_while_do_block12358);
            if  (HASEXCEPTION())
            {
                goto rulewhile_do_blockEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            WHILE_SYMBOL2392_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, WHILE_SYMBOL2392));
            ADAPTOR->addChild(ADAPTOR, root_0, WHILE_SYMBOL2392_tree);
            }

            // MySQL.g:2153:85: ( 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:2153:85: label_identifier
            	    {
            	        FOLLOWPUSH(FOLLOW_label_identifier_in_while_do_block12360);
            	        label_identifier2393=label_identifier(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulewhile_do_blockEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, label_identifier2393.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:2156: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_SYMBOL2394;
    MySQLParser_identifier_return identifier2395;
    #undef	RETURN_TYPE_identifier2395
    #define	RETURN_TYPE_identifier2395 MySQLParser_identifier_return

    MySQLParser_variable_declaration_return variable_declaration2396;
    #undef	RETURN_TYPE_variable_declaration2396
    #define	RETURN_TYPE_variable_declaration2396 MySQLParser_variable_declaration_return

    MySQLParser_condition_declaration_return condition_declaration2397;
    #undef	RETURN_TYPE_condition_declaration2397
    #define	RETURN_TYPE_condition_declaration2397 MySQLParser_condition_declaration_return

    MySQLParser_cursor_declaration_return cursor_declaration2398;
    #undef	RETURN_TYPE_cursor_declaration2398
    #define	RETURN_TYPE_cursor_declaration2398 MySQLParser_cursor_declaration_return

    MySQLParser_handler_declaration_return handler_declaration2399;
    #undef	RETURN_TYPE_handler_declaration2399
    #define	RETURN_TYPE_handler_declaration2399 MySQLParser_handler_declaration_return

    pANTLR3_BASE_TREE DECLARE_SYMBOL2394_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    DECLARE_SYMBOL2394       = NULL;
    identifier2395.tree = NULL;

    variable_declaration2396.tree = NULL;

    condition_declaration2397.tree = NULL;

    cursor_declaration2398.tree = NULL;

    handler_declaration2399.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    DECLARE_SYMBOL2394_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2156:13: ( ( options {greedy=true; } : DECLARE_SYMBOL identifier ( variable_declaration | condition_declaration ) )* ( cursor_declaration )* ( handler_declaration )* )
        // MySQL.g:2157: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:2157:2: ( options {greedy=true; } : DECLARE_SYMBOL identifier ( variable_declaration | condition_declaration ) )*

            for (;;)
            {
                int alt658=2;
                switch ( LA(1) )
                {
                case DECLARE_SYMBOL:
                	{
                		{
                		   /* dfaLoopbackState(k,edges,eotPredictsAlt,description,stateNumber,semPredState)
                		    */
                		    int LA658_1 = LA(2);
                		    if ( (LA658_1 == IDENTIFIER))
                		    {
                		        alt658=1;
                		    }
                		    else if ( (LA658_1 == BACK_TICK_QUOTED_ID))
                		    {
                		        alt658=1;
                		    }
                		    else if ( (LA658_1 == DOUBLE_QUOTED_TEXT))
                		    {
                		        alt658=1;
                		    }
                		    else if ( (((LA658_1 >= ACTION_SYMBOL) && (LA658_1 <= YEAR_SYMBOL))))
                		    {
                		        alt658=1;
                		    }
                		    else if ( (LA658_1 == PARTITION_SYMBOL))
                		    {
                		        alt658=1;
                		    }
                		    else if ( (((LA658_1 >= ASCII_SYMBOL) && (LA658_1 <= XA_SYMBOL))))
                		    {
                		        alt658=1;
                		    }

                		}
                	}
                    break;

                }

                switch (alt658)
                {
            	case 1:
            	    // MySQL.g:2157:32: DECLARE_SYMBOL identifier ( variable_declaration | condition_declaration )
            	    {
            	        DECLARE_SYMBOL2394 = (pANTLR3_COMMON_TOKEN) MATCHT(DECLARE_SYMBOL, &FOLLOW_DECLARE_SYMBOL_in_declarations12385);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruledeclarationsEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        DECLARE_SYMBOL2394_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DECLARE_SYMBOL2394));
            	        ADAPTOR->addChild(ADAPTOR, root_0, DECLARE_SYMBOL2394_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_identifier_in_declarations12387);
            	        identifier2395=identifier(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruledeclarationsEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier2395.tree);

            	        // MySQL.g:2157:58: ( variable_declaration | condition_declaration )
            	        {
            	            int alt657=2;
            	            {
            	                int LA657_0 = LA(1);
            	                if ( (LA657_0 == BIT_SYMBOL || ((LA657_0 >= BOOLEAN_SYMBOL) && (LA657_0 <= BOOL_SYMBOL)) || ((LA657_0 >= DATETIME_SYMBOL) && (LA657_0 <= DATE_SYMBOL)) || LA657_0 == ENUM_SYMBOL || LA657_0 == FIXED_SYMBOL || ((LA657_0 >= GEOMETRYCOLLECTION_SYMBOL) && (LA657_0 <= GEOMETRY_SYMBOL)) || LA657_0 == LINESTRING_SYMBOL || ((LA657_0 >= MULTILINESTRING_SYMBOL) && (LA657_0 <= MULTIPOLYGON_SYMBOL)) || ((LA657_0 >= NATIONAL_SYMBOL) && (LA657_0 <= NCHAR_SYMBOL)) || LA657_0 == NVARCHAR_SYMBOL || ((LA657_0 >= POINT_SYMBOL) && (LA657_0 <= POLYGON_SYMBOL)) || LA657_0 == SERIAL_SYMBOL || LA657_0 == TEXT_SYMBOL || ((LA657_0 >= TIMESTAMP_SYMBOL) && (LA657_0 <= TIME_SYMBOL)) || LA657_0 == YEAR_SYMBOL || ((LA657_0 >= BIGINT_SYMBOL) && (LA657_0 <= BINARY_SYMBOL)) || LA657_0 == BLOB_SYMBOL || LA657_0 == CHAR_SYMBOL || LA657_0 == COMMA_SYMBOL || LA657_0 == DECIMAL_SYMBOL || LA657_0 == DOUBLE_SYMBOL || LA657_0 == FLOAT_SYMBOL || LA657_0 == INTEGER_SYMBOL || LA657_0 == INT_SYMBOL || ((LA657_0 >= LONGBLOB_SYMBOL) && (LA657_0 <= LONGTEXT_SYMBOL)) || LA657_0 == LONG_SYMBOL || ((LA657_0 >= MEDIUMBLOB_SYMBOL) && (LA657_0 <= MEDIUMTEXT_SYMBOL)) || LA657_0 == NUMERIC_SYMBOL || LA657_0 == REAL_SYMBOL || LA657_0 == SET_SYMBOL || LA657_0 == SMALLINT_SYMBOL || ((LA657_0 >= TINYBLOB_SYMBOL) && (LA657_0 <= TINYTEXT_SYMBOL)) || LA657_0 == VARBINARY_SYMBOL || LA657_0 == VARCHAR_SYMBOL))
            	                {
            	                    alt657=1;
            	                }
            	                else if ( (LA657_0 == CONDITION_SYMBOL))
            	                {
            	                    alt657=2;
            	                }
            	                else
            	                {
            	                    if (BACKTRACKING>0)
            	                    {
            	                        FAILEDFLAG = ANTLR3_TRUE;
            	                        return retval;
            	                    }


            	                    CONSTRUCTEX();
            	                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
            	                    EXCEPTION->message      = (void *)"";
            	                    EXCEPTION->decisionNum  = 657;
            	                    EXCEPTION->state        = 0;


            	                    goto ruledeclarationsEx;

            	                }
            	            }
            	            switch (alt657)
            	            {
            	        	case 1:
            	        	    // MySQL.g:2157:59: variable_declaration
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_variable_declaration_in_declarations12390);
            	        	        variable_declaration2396=variable_declaration(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruledeclarationsEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, variable_declaration2396.tree);

            	        	    }
            	        	    break;
            	        	case 2:
            	        	    // MySQL.g:2157:82: condition_declaration
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_condition_declaration_in_declarations12394);
            	        	        condition_declaration2397=condition_declaration(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruledeclarationsEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, condition_declaration2397.tree);

            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;

            	default:
            	    goto loop658;	/* break out of the loop */
            	    break;
                }
            }
            loop658: ; /* Jump out to here if this rule does not match */


            // MySQL.g:2158:3: ( cursor_declaration )*

            for (;;)
            {
                int alt659=2;
                switch ( LA(1) )
                {
                case DECLARE_SYMBOL:
                	{
                		{
                		   /* dfaLoopbackState(k,edges,eotPredictsAlt,description,stateNumber,semPredState)
                		    */
                		    int LA659_1 = LA(2);
                		    if ( (((LA659_1 >= ACTION_SYMBOL) && (LA659_1 <= PARTITION_SYMBOL)) || LA659_1 == BACK_TICK_QUOTED_ID || LA659_1 == DOUBLE_QUOTED_TEXT || LA659_1 == IDENTIFIER))
                		    {
                		        alt659=1;
                		    }

                		}
                	}
                    break;

                }

                switch (alt659)
                {
            	case 1:
            	    // MySQL.g:2158:3: cursor_declaration
            	    {
            	        FOLLOWPUSH(FOLLOW_cursor_declaration_in_declarations12401);
            	        cursor_declaration2398=cursor_declaration(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruledeclarationsEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, cursor_declaration2398.tree);

            	    }
            	    break;

            	default:
            	    goto loop659;	/* break out of the loop */
            	    break;
                }
            }
            loop659: ; /* Jump out to here if this rule does not match */


            // MySQL.g:2158:23: ( handler_declaration )*

            for (;;)
            {
                int alt660=2;
                switch ( LA(1) )
                {
                case DECLARE_SYMBOL:
                	{
                		alt660=1;
                	}
                    break;

                }

                switch (alt660)
                {
            	case 1:
            	    // MySQL.g:2158:23: handler_declaration
            	    {
            	        FOLLOWPUSH(FOLLOW_handler_declaration_in_declarations12404);
            	        handler_declaration2399=handler_declaration(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruledeclarationsEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, handler_declaration2399.tree);

            	    }
            	    break;

            	default:
            	    goto loop660;	/* break out of the loop */
            	    break;
                }
            }
            loop660: ; /* 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:2161: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_SYMBOL2400;
    pANTLR3_COMMON_TOKEN    DEFAULT_SYMBOL2403;
    pANTLR3_COMMON_TOKEN    SEMICOLON_SYMBOL2405;
    MySQLParser_identifier_return identifier2401;
    #undef	RETURN_TYPE_identifier2401
    #define	RETURN_TYPE_identifier2401 MySQLParser_identifier_return

    MySQLParser_data_type_return data_type2402;
    #undef	RETURN_TYPE_data_type2402
    #define	RETURN_TYPE_data_type2402 MySQLParser_data_type_return

    MySQLParser_expression_return expression2404;
    #undef	RETURN_TYPE_expression2404
    #define	RETURN_TYPE_expression2404 MySQLParser_expression_return

    pANTLR3_BASE_TREE COMMA_SYMBOL2400_tree;
    pANTLR3_BASE_TREE DEFAULT_SYMBOL2403_tree;
    pANTLR3_BASE_TREE SEMICOLON_SYMBOL2405_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    COMMA_SYMBOL2400       = NULL;
    DEFAULT_SYMBOL2403       = NULL;
    SEMICOLON_SYMBOL2405       = NULL;
    identifier2401.tree = NULL;

    data_type2402.tree = NULL;

    expression2404.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    COMMA_SYMBOL2400_tree   = NULL;
    DEFAULT_SYMBOL2403_tree   = NULL;
    SEMICOLON_SYMBOL2405_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2161:21: ( ( COMMA_SYMBOL identifier )* data_type ( DEFAULT_SYMBOL expression )? SEMICOLON_SYMBOL )
        // MySQL.g:2162:2: ( COMMA_SYMBOL identifier )* data_type ( DEFAULT_SYMBOL expression )? SEMICOLON_SYMBOL
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            // MySQL.g:2162:2: ( COMMA_SYMBOL identifier )*

            for (;;)
            {
                int alt661=2;
                switch ( LA(1) )
                {
                case COMMA_SYMBOL:
                	{
                		alt661=1;
                	}
                    break;

                }

                switch (alt661)
                {
            	case 1:
            	    // MySQL.g:2162:3: COMMA_SYMBOL identifier
            	    {
            	        COMMA_SYMBOL2400 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_variable_declaration12415);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulevariable_declarationEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        COMMA_SYMBOL2400_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL2400));
            	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL2400_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_identifier_in_variable_declaration12417);
            	        identifier2401=identifier(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulevariable_declarationEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier2401.tree);

            	    }
            	    break;

            	default:
            	    goto loop661;	/* break out of the loop */
            	    break;
                }
            }
            loop661: ; /* Jump out to here if this rule does not match */


            FOLLOWPUSH(FOLLOW_data_type_in_variable_declaration12421);
            data_type2402=data_type(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulevariable_declarationEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, data_type2402.tree);

            // MySQL.g:2162:39: ( DEFAULT_SYMBOL expression )?
            {
                int alt662=2;
                switch ( LA(1) )
                {
                    case DEFAULT_SYMBOL:
                    	{
                    		alt662=1;
                    	}
                        break;
                }

                switch (alt662)
                {
            	case 1:
            	    // MySQL.g:2162:40: DEFAULT_SYMBOL expression
            	    {
            	        DEFAULT_SYMBOL2403 = (pANTLR3_COMMON_TOKEN) MATCHT(DEFAULT_SYMBOL, &FOLLOW_DEFAULT_SYMBOL_in_variable_declaration12424);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulevariable_declarationEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        DEFAULT_SYMBOL2403_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DEFAULT_SYMBOL2403));
            	        ADAPTOR->addChild(ADAPTOR, root_0, DEFAULT_SYMBOL2403_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_expression_in_variable_declaration12426);
            	        expression2404=expression(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulevariable_declarationEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2404.tree);

            	    }
            	    break;

                }
            }

            SEMICOLON_SYMBOL2405 = (pANTLR3_COMMON_TOKEN) MATCHT(SEMICOLON_SYMBOL, &FOLLOW_SEMICOLON_SYMBOL_in_variable_declaration12430);
            if  (HASEXCEPTION())
            {
                goto rulevariable_declarationEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            SEMICOLON_SYMBOL2405_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SEMICOLON_SYMBOL2405));
            ADAPTOR->addChild(ADAPTOR, root_0, SEMICOLON_SYMBOL2405_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:2165: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_SYMBOL2406;
    pANTLR3_COMMON_TOKEN    FOR_SYMBOL2407;
    pANTLR3_COMMON_TOKEN    INTEGER2408;
    pANTLR3_COMMON_TOKEN    SQLSTATE_SYMBOL2409;
    pANTLR3_COMMON_TOKEN    VALUE_SYMBOL2410;
    pANTLR3_COMMON_TOKEN    SEMICOLON_SYMBOL2412;
    MySQLParser_string_literal_return string_literal2411;
    #undef	RETURN_TYPE_string_literal2411
    #define	RETURN_TYPE_string_literal2411 MySQLParser_string_literal_return

    pANTLR3_BASE_TREE CONDITION_SYMBOL2406_tree;
    pANTLR3_BASE_TREE FOR_SYMBOL2407_tree;
    pANTLR3_BASE_TREE INTEGER2408_tree;
    pANTLR3_BASE_TREE SQLSTATE_SYMBOL2409_tree;
    pANTLR3_BASE_TREE VALUE_SYMBOL2410_tree;
    pANTLR3_BASE_TREE SEMICOLON_SYMBOL2412_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    CONDITION_SYMBOL2406       = NULL;
    FOR_SYMBOL2407       = NULL;
    INTEGER2408       = NULL;
    SQLSTATE_SYMBOL2409       = NULL;
    VALUE_SYMBOL2410       = NULL;
    SEMICOLON_SYMBOL2412       = NULL;
    string_literal2411.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    CONDITION_SYMBOL2406_tree   = NULL;
    FOR_SYMBOL2407_tree   = NULL;
    INTEGER2408_tree   = NULL;
    SQLSTATE_SYMBOL2409_tree   = NULL;
    VALUE_SYMBOL2410_tree   = NULL;
    SEMICOLON_SYMBOL2412_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2165:22: ( CONDITION_SYMBOL FOR_SYMBOL ( INTEGER | SQLSTATE_SYMBOL ( VALUE_SYMBOL )? string_literal ) SEMICOLON_SYMBOL )
        // MySQL.g:2166:2: CONDITION_SYMBOL FOR_SYMBOL ( INTEGER | SQLSTATE_SYMBOL ( VALUE_SYMBOL )? string_literal ) SEMICOLON_SYMBOL
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            CONDITION_SYMBOL2406 = (pANTLR3_COMMON_TOKEN) MATCHT(CONDITION_SYMBOL, &FOLLOW_CONDITION_SYMBOL_in_condition_declaration12439);
            if  (HASEXCEPTION())
            {
                goto rulecondition_declarationEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            CONDITION_SYMBOL2406_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CONDITION_SYMBOL2406));
            ADAPTOR->addChild(ADAPTOR, root_0, CONDITION_SYMBOL2406_tree);
            }

            FOR_SYMBOL2407 = (pANTLR3_COMMON_TOKEN) MATCHT(FOR_SYMBOL, &FOLLOW_FOR_SYMBOL_in_condition_declaration12441);
            if  (HASEXCEPTION())
            {
                goto rulecondition_declarationEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            FOR_SYMBOL2407_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, FOR_SYMBOL2407));
            ADAPTOR->addChild(ADAPTOR, root_0, FOR_SYMBOL2407_tree);
            }

            // MySQL.g:2166:30: ( INTEGER | SQLSTATE_SYMBOL ( VALUE_SYMBOL )? string_literal )
            {
                int alt664=2;
                switch ( LA(1) )
                {
                case INTEGER:
                	{
                		alt664=1;
                	}
                    break;
                case SQLSTATE_SYMBOL:
                	{
                		alt664=2;
                	}
                    break;

                default:
                    if (BACKTRACKING>0)
                    {
                        FAILEDFLAG = ANTLR3_TRUE;
                        return retval;
                    }

                    CONSTRUCTEX();
                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    EXCEPTION->message      = (void *)"";
                    EXCEPTION->decisionNum  = 664;
                    EXCEPTION->state        = 0;


                    goto rulecondition_declarationEx;

                }

                switch (alt664)
                {
            	case 1:
            	    // MySQL.g:2166:31: INTEGER
            	    {
            	        INTEGER2408 = (pANTLR3_COMMON_TOKEN) MATCHT(INTEGER, &FOLLOW_INTEGER_in_condition_declaration12444);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecondition_declarationEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        INTEGER2408_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INTEGER2408));
            	        ADAPTOR->addChild(ADAPTOR, root_0, INTEGER2408_tree);
            	        }

            	    }
            	    break;
            	case 2:
            	    // MySQL.g:2166:41: SQLSTATE_SYMBOL ( VALUE_SYMBOL )? string_literal
            	    {
            	        SQLSTATE_SYMBOL2409 = (pANTLR3_COMMON_TOKEN) MATCHT(SQLSTATE_SYMBOL, &FOLLOW_SQLSTATE_SYMBOL_in_condition_declaration12448);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecondition_declarationEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        SQLSTATE_SYMBOL2409_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SQLSTATE_SYMBOL2409));
            	        ADAPTOR->addChild(ADAPTOR, root_0, SQLSTATE_SYMBOL2409_tree);
            	        }

            	        // MySQL.g:2166:57: ( VALUE_SYMBOL )?
            	        {
            	            int alt663=2;
            	            switch ( LA(1) )
            	            {
            	                case VALUE_SYMBOL:
            	                	{
            	                		alt663=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt663)
            	            {
            	        	case 1:
            	        	    // MySQL.g:2166:57: VALUE_SYMBOL
            	        	    {
            	        	        VALUE_SYMBOL2410 = (pANTLR3_COMMON_TOKEN) MATCHT(VALUE_SYMBOL, &FOLLOW_VALUE_SYMBOL_in_condition_declaration12450);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulecondition_declarationEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        VALUE_SYMBOL2410_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, VALUE_SYMBOL2410));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, VALUE_SYMBOL2410_tree);
            	        	        }

            	        	    }
            	        	    break;

            	            }
            	        }

            	        FOLLOWPUSH(FOLLOW_string_literal_in_condition_declaration12453);
            	        string_literal2411=string_literal(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecondition_declarationEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_literal2411.tree);

            	    }
            	    break;

                }
            }

            SEMICOLON_SYMBOL2412 = (pANTLR3_COMMON_TOKEN) MATCHT(SEMICOLON_SYMBOL, &FOLLOW_SEMICOLON_SYMBOL_in_condition_declaration12456);
            if  (HASEXCEPTION())
            {
                goto rulecondition_declarationEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            SEMICOLON_SYMBOL2412_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SEMICOLON_SYMBOL2412));
            ADAPTOR->addChild(ADAPTOR, root_0, SEMICOLON_SYMBOL2412_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:2169: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_SYMBOL2413;
    pANTLR3_COMMON_TOKEN    CURSOR_SYMBOL2415;
    pANTLR3_COMMON_TOKEN    SEMICOLON_SYMBOL2416;
    MySQLParser_identifier_return identifier2414;
    #undef	RETURN_TYPE_identifier2414
    #define	RETURN_TYPE_identifier2414 MySQLParser_identifier_return

    pANTLR3_BASE_TREE DECLARE_SYMBOL2413_tree;
    pANTLR3_BASE_TREE CURSOR_SYMBOL2415_tree;
    pANTLR3_BASE_TREE SEMICOLON_SYMBOL2416_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    DECLARE_SYMBOL2413       = NULL;
    CURSOR_SYMBOL2415       = NULL;
    SEMICOLON_SYMBOL2416       = NULL;
    identifier2414.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    DECLARE_SYMBOL2413_tree   = NULL;
    CURSOR_SYMBOL2415_tree   = NULL;
    SEMICOLON_SYMBOL2416_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2169:19: ( DECLARE_SYMBOL identifier CURSOR_SYMBOL SEMICOLON_SYMBOL )
        // MySQL.g:2170:2: DECLARE_SYMBOL identifier CURSOR_SYMBOL SEMICOLON_SYMBOL
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            DECLARE_SYMBOL2413 = (pANTLR3_COMMON_TOKEN) MATCHT(DECLARE_SYMBOL, &FOLLOW_DECLARE_SYMBOL_in_cursor_declaration12465);
            if  (HASEXCEPTION())
            {
                goto rulecursor_declarationEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            DECLARE_SYMBOL2413_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DECLARE_SYMBOL2413));
            ADAPTOR->addChild(ADAPTOR, root_0, DECLARE_SYMBOL2413_tree);
            }

            FOLLOWPUSH(FOLLOW_identifier_in_cursor_declaration12467);
            identifier2414=identifier(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulecursor_declarationEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier2414.tree);

            CURSOR_SYMBOL2415 = (pANTLR3_COMMON_TOKEN) MATCHT(CURSOR_SYMBOL, &FOLLOW_CURSOR_SYMBOL_in_cursor_declaration12469);
            if  (HASEXCEPTION())
            {
                goto rulecursor_declarationEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            CURSOR_SYMBOL2415_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CURSOR_SYMBOL2415));
            ADAPTOR->addChild(ADAPTOR, root_0, CURSOR_SYMBOL2415_tree);
            }

            SEMICOLON_SYMBOL2416 = (pANTLR3_COMMON_TOKEN) MATCHT(SEMICOLON_SYMBOL, &FOLLOW_SEMICOLON_SYMBOL_in_cursor_declaration12471);
            if  (HASEXCEPTION())
            {
                goto rulecursor_declarationEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            SEMICOLON_SYMBOL2416_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SEMICOLON_SYMBOL2416));
            ADAPTOR->addChild(ADAPTOR, root_0, SEMICOLON_SYMBOL2416_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:2173: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_SYMBOL2417;
    pANTLR3_COMMON_TOKEN    set2418;
    pANTLR3_COMMON_TOKEN    HANDLER_SYMBOL2419;
    pANTLR3_COMMON_TOKEN    FOR_SYMBOL2420;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL2422;
    pANTLR3_COMMON_TOKEN    SEMICOLON_SYMBOL2425;
    MySQLParser_handler_condition_return handler_condition2421;
    #undef	RETURN_TYPE_handler_condition2421
    #define	RETURN_TYPE_handler_condition2421 MySQLParser_handler_condition_return

    MySQLParser_handler_condition_return handler_condition2423;
    #undef	RETURN_TYPE_handler_condition2423
    #define	RETURN_TYPE_handler_condition2423 MySQLParser_handler_condition_return

    MySQLParser_compound_statement_return compound_statement2424;
    #undef	RETURN_TYPE_compound_statement2424
    #define	RETURN_TYPE_compound_statement2424 MySQLParser_compound_statement_return

    pANTLR3_BASE_TREE DECLARE_SYMBOL2417_tree;
    pANTLR3_BASE_TREE set2418_tree;
    pANTLR3_BASE_TREE HANDLER_SYMBOL2419_tree;
    pANTLR3_BASE_TREE FOR_SYMBOL2420_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL2422_tree;
    pANTLR3_BASE_TREE SEMICOLON_SYMBOL2425_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    DECLARE_SYMBOL2417       = NULL;
    set2418       = NULL;
    HANDLER_SYMBOL2419       = NULL;
    FOR_SYMBOL2420       = NULL;
    COMMA_SYMBOL2422       = NULL;
    SEMICOLON_SYMBOL2425       = NULL;
    handler_condition2421.tree = NULL;

    handler_condition2423.tree = NULL;

    compound_statement2424.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    DECLARE_SYMBOL2417_tree   = NULL;
    set2418_tree   = NULL;
    HANDLER_SYMBOL2419_tree   = NULL;
    FOR_SYMBOL2420_tree   = NULL;
    COMMA_SYMBOL2422_tree   = NULL;
    SEMICOLON_SYMBOL2425_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2173: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:2174: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_SYMBOL2417 = (pANTLR3_COMMON_TOKEN) MATCHT(DECLARE_SYMBOL, &FOLLOW_DECLARE_SYMBOL_in_handler_declaration12480);
            if  (HASEXCEPTION())
            {
                goto rulehandler_declarationEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            DECLARE_SYMBOL2417_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DECLARE_SYMBOL2417));
            ADAPTOR->addChild(ADAPTOR, root_0, DECLARE_SYMBOL2417_tree);
            }

            set2418=(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, set2418))
                );
                PERRORRECOVERY=ANTLR3_FALSE;
                FAILEDFLAG=ANTLR3_FALSE;

            }
            else
            {
                if (BACKTRACKING>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_SYMBOL2419 = (pANTLR3_COMMON_TOKEN) MATCHT(HANDLER_SYMBOL, &FOLLOW_HANDLER_SYMBOL_in_handler_declaration12494);
            if  (HASEXCEPTION())
            {
                goto rulehandler_declarationEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            HANDLER_SYMBOL2419_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, HANDLER_SYMBOL2419));
            ADAPTOR->addChild(ADAPTOR, root_0, HANDLER_SYMBOL2419_tree);
            }

            FOR_SYMBOL2420 = (pANTLR3_COMMON_TOKEN) MATCHT(FOR_SYMBOL, &FOLLOW_FOR_SYMBOL_in_handler_declaration12498);
            if  (HASEXCEPTION())
            {
                goto rulehandler_declarationEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            FOR_SYMBOL2420_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, FOR_SYMBOL2420));
            ADAPTOR->addChild(ADAPTOR, root_0, FOR_SYMBOL2420_tree);
            }

            FOLLOWPUSH(FOLLOW_handler_condition_in_handler_declaration12500);
            handler_condition2421=handler_condition(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulehandler_declarationEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, handler_condition2421.tree);

            // MySQL.g:2175:32: ( COMMA_SYMBOL handler_condition )*

            for (;;)
            {
                int alt665=2;
                switch ( LA(1) )
                {
                case COMMA_SYMBOL:
                	{
                		alt665=1;
                	}
                    break;

                }

                switch (alt665)
                {
            	case 1:
            	    // MySQL.g:2175:33: COMMA_SYMBOL handler_condition
            	    {
            	        COMMA_SYMBOL2422 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_handler_declaration12503);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulehandler_declarationEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        COMMA_SYMBOL2422_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL2422));
            	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL2422_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_handler_condition_in_handler_declaration12505);
            	        handler_condition2423=handler_condition(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulehandler_declarationEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, handler_condition2423.tree);

            	    }
            	    break;

            	default:
            	    goto loop665;	/* break out of the loop */
            	    break;
                }
            }
            loop665: ; /* Jump out to here if this rule does not match */


            FOLLOWPUSH(FOLLOW_compound_statement_in_handler_declaration12509);
            compound_statement2424=compound_statement(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulehandler_declarationEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, compound_statement2424.tree);

            SEMICOLON_SYMBOL2425 = (pANTLR3_COMMON_TOKEN) MATCHT(SEMICOLON_SYMBOL, &FOLLOW_SEMICOLON_SYMBOL_in_handler_declaration12511);
            if  (HASEXCEPTION())
            {
                goto rulehandler_declarationEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            SEMICOLON_SYMBOL2425_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SEMICOLON_SYMBOL2425));
            ADAPTOR->addChild(ADAPTOR, root_0, SEMICOLON_SYMBOL2425_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:2178: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    INTEGER2426;
    pANTLR3_COMMON_TOKEN    SQLSTATE_SYMBOL2427;
    pANTLR3_COMMON_TOKEN    VALUE_SYMBOL2428;
    pANTLR3_COMMON_TOKEN    SQLWARNING_SYMBOL2431;
    pANTLR3_COMMON_TOKEN    NOT_SYMBOL2432;
    pANTLR3_COMMON_TOKEN    FOUND_SYMBOL2433;
    pANTLR3_COMMON_TOKEN    SQLEXCEPTION_SYMBOL2434;
    MySQLParser_string_literal_return string_literal2429;
    #undef	RETURN_TYPE_string_literal2429
    #define	RETURN_TYPE_string_literal2429 MySQLParser_string_literal_return

    MySQLParser_identifier_return identifier2430;
    #undef	RETURN_TYPE_identifier2430
    #define	RETURN_TYPE_identifier2430 MySQLParser_identifier_return

    pANTLR3_BASE_TREE INTEGER2426_tree;
    pANTLR3_BASE_TREE SQLSTATE_SYMBOL2427_tree;
    pANTLR3_BASE_TREE VALUE_SYMBOL2428_tree;
    pANTLR3_BASE_TREE SQLWARNING_SYMBOL2431_tree;
    pANTLR3_BASE_TREE NOT_SYMBOL2432_tree;
    pANTLR3_BASE_TREE FOUND_SYMBOL2433_tree;
    pANTLR3_BASE_TREE SQLEXCEPTION_SYMBOL2434_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    INTEGER2426       = NULL;
    SQLSTATE_SYMBOL2427       = NULL;
    VALUE_SYMBOL2428       = NULL;
    SQLWARNING_SYMBOL2431       = NULL;
    NOT_SYMBOL2432       = NULL;
    FOUND_SYMBOL2433       = NULL;
    SQLEXCEPTION_SYMBOL2434       = NULL;
    string_literal2429.tree = NULL;

    identifier2430.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    INTEGER2426_tree   = NULL;
    SQLSTATE_SYMBOL2427_tree   = NULL;
    VALUE_SYMBOL2428_tree   = NULL;
    SQLWARNING_SYMBOL2431_tree   = NULL;
    NOT_SYMBOL2432_tree   = NULL;
    FOUND_SYMBOL2433_tree   = NULL;
    SQLEXCEPTION_SYMBOL2434_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:2178:18: ( INTEGER | SQLSTATE_SYMBOL ( VALUE_SYMBOL )? string_literal | identifier | SQLWARNING_SYMBOL | NOT_SYMBOL FOUND_SYMBOL | SQLEXCEPTION_SYMBOL )

            ANTLR3_UINT32 alt667;

            alt667=6;

            {
                int LA667_0 = LA(1);
                if ( (LA667_0 == INTEGER))
                {
                    alt667=1;
                }
                else if ( (LA667_0 == SQLSTATE_SYMBOL))
                {
                    alt667=2;
                }
                else if ( (LA667_0 == BACK_TICK_QUOTED_ID || LA667_0 == IDENTIFIER))
                {
                    alt667=3;
                }
                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA667_0 == DOUBLE_QUOTED_TEXT))
                {
                    alt667=3;
                }
                else if ( (((LA667_0 >= ACTION_SYMBOL) && (LA667_0 <= PARTITION_SYMBOL))))
                {
                    alt667=3;
                }
                else if ( (LA667_0 == SQLWARNING_SYMBOL))
                {
                    alt667=4;
                }
                else if ( (LA667_0 == NOT_SYMBOL))
                {
                    alt667=5;
                }
                else if ( (LA667_0 == SQLEXCEPTION_SYMBOL))
                {
                    alt667=6;
                }
                else
                {
                    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 rulehandler_conditionEx;

                }
            }
            switch (alt667)
            {
        	case 1:
        	    // MySQL.g:2179:2: INTEGER
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        INTEGER2426 = (pANTLR3_COMMON_TOKEN) MATCHT(INTEGER, &FOLLOW_INTEGER_in_handler_condition12520);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulehandler_conditionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        INTEGER2426_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INTEGER2426));
        	        ADAPTOR->addChild(ADAPTOR, root_0, INTEGER2426_tree);
        	        }

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:2180:4: SQLSTATE_SYMBOL ( VALUE_SYMBOL )? string_literal
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        SQLSTATE_SYMBOL2427 = (pANTLR3_COMMON_TOKEN) MATCHT(SQLSTATE_SYMBOL, &FOLLOW_SQLSTATE_SYMBOL_in_handler_condition12525);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulehandler_conditionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        SQLSTATE_SYMBOL2427_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SQLSTATE_SYMBOL2427));
        	        ADAPTOR->addChild(ADAPTOR, root_0, SQLSTATE_SYMBOL2427_tree);
        	        }

        	        // MySQL.g:2180:20: ( VALUE_SYMBOL )?
        	        {
        	            int alt666=2;
        	            switch ( LA(1) )
        	            {
        	                case VALUE_SYMBOL:
        	                	{
        	                		alt666=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt666)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2180:20: VALUE_SYMBOL
        	        	    {
        	        	        VALUE_SYMBOL2428 = (pANTLR3_COMMON_TOKEN) MATCHT(VALUE_SYMBOL, &FOLLOW_VALUE_SYMBOL_in_handler_condition12527);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulehandler_conditionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        VALUE_SYMBOL2428_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, VALUE_SYMBOL2428));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, VALUE_SYMBOL2428_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	        FOLLOWPUSH(FOLLOW_string_literal_in_handler_condition12530);
        	        string_literal2429=string_literal(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulehandler_conditionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_literal2429.tree);

        	    }
        	    break;
        	case 3:
        	    // MySQL.g:2181:4: identifier
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_identifier_in_handler_condition12535);
        	        identifier2430=identifier(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulehandler_conditionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier2430.tree);

        	    }
        	    break;
        	case 4:
        	    // MySQL.g:2182:4: SQLWARNING_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        SQLWARNING_SYMBOL2431 = (pANTLR3_COMMON_TOKEN) MATCHT(SQLWARNING_SYMBOL, &FOLLOW_SQLWARNING_SYMBOL_in_handler_condition12540);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulehandler_conditionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        SQLWARNING_SYMBOL2431_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SQLWARNING_SYMBOL2431));
        	        ADAPTOR->addChild(ADAPTOR, root_0, SQLWARNING_SYMBOL2431_tree);
        	        }

        	    }
        	    break;
        	case 5:
        	    // MySQL.g:2183:4: NOT_SYMBOL FOUND_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        NOT_SYMBOL2432 = (pANTLR3_COMMON_TOKEN) MATCHT(NOT_SYMBOL, &FOLLOW_NOT_SYMBOL_in_handler_condition12545);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulehandler_conditionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        NOT_SYMBOL2432_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, NOT_SYMBOL2432));
        	        ADAPTOR->addChild(ADAPTOR, root_0, NOT_SYMBOL2432_tree);
        	        }

        	        FOUND_SYMBOL2433 = (pANTLR3_COMMON_TOKEN) MATCHT(FOUND_SYMBOL, &FOLLOW_FOUND_SYMBOL_in_handler_condition12547);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulehandler_conditionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        FOUND_SYMBOL2433_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, FOUND_SYMBOL2433));
        	        ADAPTOR->addChild(ADAPTOR, root_0, FOUND_SYMBOL2433_tree);
        	        }

        	    }
        	    break;
        	case 6:
        	    // MySQL.g:2184:4: SQLEXCEPTION_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        SQLEXCEPTION_SYMBOL2434 = (pANTLR3_COMMON_TOKEN) MATCHT(SQLEXCEPTION_SYMBOL, &FOLLOW_SQLEXCEPTION_SYMBOL_in_handler_condition12552);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulehandler_conditionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        SQLEXCEPTION_SYMBOL2434_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SQLEXCEPTION_SYMBOL2434));
        	        ADAPTOR->addChild(ADAPTOR, root_0, SQLEXCEPTION_SYMBOL2434_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:2188: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_SYMBOL2435;
    pANTLR3_COMMON_TOKEN    END_SYMBOL2440;
    pANTLR3_COMMON_TOKEN    CASE_SYMBOL2441;
    MySQLParser_expression_return expression2436;
    #undef	RETURN_TYPE_expression2436
    #define	RETURN_TYPE_expression2436 MySQLParser_expression_return

    MySQLParser_when_expression_return when_expression2437;
    #undef	RETURN_TYPE_when_expression2437
    #define	RETURN_TYPE_when_expression2437 MySQLParser_when_expression_return

    MySQLParser_then_statement_return then_statement2438;
    #undef	RETURN_TYPE_then_statement2438
    #define	RETURN_TYPE_then_statement2438 MySQLParser_then_statement_return

    MySQLParser_else_statement_return else_statement2439;
    #undef	RETURN_TYPE_else_statement2439
    #define	RETURN_TYPE_else_statement2439 MySQLParser_else_statement_return

    pANTLR3_BASE_TREE CASE_SYMBOL2435_tree;
    pANTLR3_BASE_TREE END_SYMBOL2440_tree;
    pANTLR3_BASE_TREE CASE_SYMBOL2441_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    CASE_SYMBOL2435       = NULL;
    END_SYMBOL2440       = NULL;
    CASE_SYMBOL2441       = NULL;
    expression2436.tree = NULL;

    when_expression2437.tree = NULL;

    then_statement2438.tree = NULL;

    else_statement2439.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    CASE_SYMBOL2435_tree   = NULL;
    END_SYMBOL2440_tree   = NULL;
    CASE_SYMBOL2441_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2188:15: ( CASE_SYMBOL ^ ( expression )? ( when_expression then_statement )+ ( else_statement )? END_SYMBOL CASE_SYMBOL )
        // MySQL.g:2189:2: CASE_SYMBOL ^ ( expression )? ( when_expression then_statement )+ ( else_statement )? END_SYMBOL CASE_SYMBOL
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            CASE_SYMBOL2435 = (pANTLR3_COMMON_TOKEN) MATCHT(CASE_SYMBOL, &FOLLOW_CASE_SYMBOL_in_case_statement12562);
            if  (HASEXCEPTION())
            {
                goto rulecase_statementEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            CASE_SYMBOL2435_tree = 
            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CASE_SYMBOL2435))
            ;
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, CASE_SYMBOL2435_tree, root_0));
            }

            // MySQL.g:2189:15: ( expression )?
            {
                int alt668=2;
                {
                    int LA668_0 = LA(1);
                    if ( (LA668_0 == BITWISE_NOT_OPERATOR || LA668_0 == INTERVAL_SYMBOL || LA668_0 == LOGICAL_NOT_OPERATOR || LA668_0 == MINUS_OPERATOR || LA668_0 == NCHAR_TEXT || LA668_0 == NOT2_SYMBOL || LA668_0 == NOT_SYMBOL || LA668_0 == PLUS_OPERATOR || LA668_0 == SINGLE_QUOTED_TEXT || LA668_0 == UNDERSCORE_CHARSET))
                    {
                        alt668=1;
                    }
                    else if ( ((((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES)))||((!SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))))) && (LA668_0 == DOUBLE_QUOTED_TEXT))
                    {
                        alt668=1;
                    }
                    else if ( (LA668_0 == FALSE_SYMBOL || LA668_0 == FLOAT || ((LA668_0 >= HEXNUMBER) && (LA668_0 <= HEXSTRING)) || LA668_0 == INTEGER || LA668_0 == TRUE_SYMBOL))
                    {
                        alt668=1;
                    }
                    else if ( ((SERVER_VERSION >= 50003)) && (((LA668_0 >= BITNUMBER) && (LA668_0 <= BITSTRING))))
                    {
                        alt668=1;
                    }
                    else if ( (((LA668_0 >= ACTION_SYMBOL) && (LA668_0 <= PARTITION_SYMBOL)) || ((LA668_0 >= AT_AT_SIGN_SYMBOL) && (LA668_0 <= AT_SIGN_SYMBOL)) || LA668_0 == BACK_TICK_QUOTED_ID || LA668_0 == BINARY_SYMBOL || ((LA668_0 >= BIT_AND_SYMBOL) && (LA668_0 <= BIT_XOR_SYMBOL)) || ((LA668_0 >= CASE_SYMBOL) && (LA668_0 <= CAST_SYMBOL)) || LA668_0 == CHAR_SYMBOL || ((LA668_0 >= CONVERT_SYMBOL) && (LA668_0 <= COUNT_SYMBOL)) || LA668_0 == CURDATE_SYMBOL || LA668_0 == CURRENT_USER_SYMBOL || LA668_0 == CURTIME_SYMBOL || LA668_0 == DATABASE_SYMBOL || LA668_0 == DATE_ADD_SYMBOL || LA668_0 == DATE_SUB_SYMBOL || LA668_0 == DOT_SYMBOL || LA668_0 == EXISTS_SYMBOL || LA668_0 == EXTRACT_SYMBOL || LA668_0 == GROUP_CONCAT_SYMBOL || ((LA668_0 >= IDENTIFIER) && (LA668_0 <= IF_SYMBOL)) || LA668_0 == INSERT_SYMBOL || LA668_0 == LEFT_SYMBOL || LA668_0 == MATCH_SYMBOL || LA668_0 == MAX_SYMBOL || LA668_0 == MIN_SYMBOL || LA668_0 == MOD_SYMBOL || LA668_0 == NOW_SYMBOL || LA668_0 == NULL2_SYMBOL || LA668_0 == NULL_SYMBOL || ((LA668_0 >= OPEN_CURLY_SYMBOL) && (LA668_0 <= OPEN_PAR_SYMBOL)) || LA668_0 == PARAM_MARKER || LA668_0 == POSITION_SYMBOL || ((LA668_0 >= REPEAT_SYMBOL) && (LA668_0 <= REPLACE_SYMBOL)) || LA668_0 == RIGHT_SYMBOL || LA668_0 == STDDEV_SAMP_SYMBOL || LA668_0 == STD_SYMBOL || LA668_0 == SUBSTRING_SYMBOL || ((LA668_0 >= SUM_SYMBOL) && (LA668_0 <= SYSDATE_SYMBOL)) || LA668_0 == TRIM_SYMBOL || ((LA668_0 >= UTC_DATE_SYMBOL) && (LA668_0 <= VALUES_SYMBOL)) || LA668_0 == VARIANCE_SYMBOL || LA668_0 == VAR_SAMP_SYMBOL))
                    {
                        alt668=1;
                    }
                }
                switch (alt668)
                {
            	case 1:
            	    // MySQL.g:2189:15: expression
            	    {
            	        FOLLOWPUSH(FOLLOW_expression_in_case_statement12565);
            	        expression2436=expression(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecase_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2436.tree);

            	    }
            	    break;

                }
            }

            // MySQL.g:2189:27: ( when_expression then_statement )+
            {
                int cnt669=0;

                for (;;)
                {
                    int alt669=2;
            	switch ( LA(1) )
            	{
            	case WHEN_SYMBOL:
            		{
            			alt669=1;
            		}
            	    break;

            	}

            	switch (alt669)
            	{
            	    case 1:
            	        // MySQL.g:2189:28: when_expression then_statement
            	        {
            	            FOLLOWPUSH(FOLLOW_when_expression_in_case_statement12569);
            	            when_expression2437=when_expression(ctx);

            	            FOLLOWPOP();
            	            if  (HASEXCEPTION())
            	            {
            	                goto rulecase_statementEx;
            	            }
            	            if (HASFAILED())
            	            {
            	                return retval;
            	            }

            	            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, when_expression2437.tree);

            	            FOLLOWPUSH(FOLLOW_then_statement_in_case_statement12571);
            	            then_statement2438=then_statement(ctx);

            	            FOLLOWPOP();
            	            if  (HASEXCEPTION())
            	            {
            	                goto rulecase_statementEx;
            	            }
            	            if (HASFAILED())
            	            {
            	                return retval;
            	            }

            	            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, then_statement2438.tree);

            	        }
            	        break;

            	    default:

            		if ( cnt669 >= 1 )
            		{
            		    goto loop669;
            		}
            		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;
            	}
            	cnt669++;
                }
                loop669: ;	/* Jump to here if this rule does not match */
            }

            // MySQL.g:2189:61: ( else_statement )?
            {
                int alt670=2;
                switch ( LA(1) )
                {
                    case ELSE_SYMBOL:
                    	{
                    		alt670=1;
                    	}
                        break;
                }

                switch (alt670)
                {
            	case 1:
            	    // MySQL.g:2189:61: else_statement
            	    {
            	        FOLLOWPUSH(FOLLOW_else_statement_in_case_statement12575);
            	        else_statement2439=else_statement(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecase_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, else_statement2439.tree);

            	    }
            	    break;

                }
            }

            END_SYMBOL2440 = (pANTLR3_COMMON_TOKEN) MATCHT(END_SYMBOL, &FOLLOW_END_SYMBOL_in_case_statement12578);
            if  (HASEXCEPTION())
            {
                goto rulecase_statementEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            END_SYMBOL2440_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, END_SYMBOL2440));
            ADAPTOR->addChild(ADAPTOR, root_0, END_SYMBOL2440_tree);
            }

            CASE_SYMBOL2441 = (pANTLR3_COMMON_TOKEN) MATCHT(CASE_SYMBOL, &FOLLOW_CASE_SYMBOL_in_case_statement12580);
            if  (HASEXCEPTION())
            {
                goto rulecase_statementEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            CASE_SYMBOL2441_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CASE_SYMBOL2441));
            ADAPTOR->addChild(ADAPTOR, root_0, CASE_SYMBOL2441_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:2192: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_SYMBOL2442;
    MySQLParser_compound_statement_list_return compound_statement_list2443;
    #undef	RETURN_TYPE_compound_statement_list2443
    #define	RETURN_TYPE_compound_statement_list2443 MySQLParser_compound_statement_list_return

    pANTLR3_BASE_TREE THEN_SYMBOL2442_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    THEN_SYMBOL2442       = NULL;
    compound_statement_list2443.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    THEN_SYMBOL2442_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2192:15: ( THEN_SYMBOL ^ compound_statement_list )
        // MySQL.g:2193:2: THEN_SYMBOL ^ compound_statement_list
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            THEN_SYMBOL2442 = (pANTLR3_COMMON_TOKEN) MATCHT(THEN_SYMBOL, &FOLLOW_THEN_SYMBOL_in_then_statement12589);
            if  (HASEXCEPTION())
            {
                goto rulethen_statementEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            THEN_SYMBOL2442_tree = 
            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, THEN_SYMBOL2442))
            ;
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, THEN_SYMBOL2442_tree, root_0));
            }

            FOLLOWPUSH(FOLLOW_compound_statement_list_in_then_statement12592);
            compound_statement_list2443=compound_statement_list(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulethen_statementEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, compound_statement_list2443.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:2196: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_SYMBOL2444;
    MySQLParser_compound_statement_list_return compound_statement_list2445;
    #undef	RETURN_TYPE_compound_statement_list2445
    #define	RETURN_TYPE_compound_statement_list2445 MySQLParser_compound_statement_list_return

    pANTLR3_BASE_TREE ELSE_SYMBOL2444_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    ELSE_SYMBOL2444       = NULL;
    compound_statement_list2445.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    ELSE_SYMBOL2444_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2196:15: ( ELSE_SYMBOL ^ compound_statement_list )
        // MySQL.g:2197:2: ELSE_SYMBOL ^ compound_statement_list
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            ELSE_SYMBOL2444 = (pANTLR3_COMMON_TOKEN) MATCHT(ELSE_SYMBOL, &FOLLOW_ELSE_SYMBOL_in_else_statement12601);
            if  (HASEXCEPTION())
            {
                goto ruleelse_statementEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            ELSE_SYMBOL2444_tree = 
            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ELSE_SYMBOL2444))
            ;
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, ELSE_SYMBOL2444_tree, root_0));
            }

            FOLLOWPUSH(FOLLOW_compound_statement_list_in_else_statement12604);
            compound_statement_list2445=compound_statement_list(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruleelse_statementEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, compound_statement_list2445.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:2200: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_SYMBOL2446;
    pANTLR3_COMMON_TOKEN    END_SYMBOL2448;
    pANTLR3_COMMON_TOKEN    IF_SYMBOL2449;
    MySQLParser_if_body_return if_body2447;
    #undef	RETURN_TYPE_if_body2447
    #define	RETURN_TYPE_if_body2447 MySQLParser_if_body_return

    pANTLR3_BASE_TREE IF_SYMBOL2446_tree;
    pANTLR3_BASE_TREE END_SYMBOL2448_tree;
    pANTLR3_BASE_TREE IF_SYMBOL2449_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    IF_SYMBOL2446       = NULL;
    END_SYMBOL2448       = NULL;
    IF_SYMBOL2449       = NULL;
    if_body2447.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    IF_SYMBOL2446_tree   = NULL;
    END_SYMBOL2448_tree   = NULL;
    IF_SYMBOL2449_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2200:13: ( IF_SYMBOL ^ if_body END_SYMBOL IF_SYMBOL )
        // MySQL.g:2201:2: IF_SYMBOL ^ if_body END_SYMBOL IF_SYMBOL
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            IF_SYMBOL2446 = (pANTLR3_COMMON_TOKEN) MATCHT(IF_SYMBOL, &FOLLOW_IF_SYMBOL_in_if_statement12613);
            if  (HASEXCEPTION())
            {
                goto ruleif_statementEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            IF_SYMBOL2446_tree = 
            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, IF_SYMBOL2446))
            ;
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, IF_SYMBOL2446_tree, root_0));
            }

            FOLLOWPUSH(FOLLOW_if_body_in_if_statement12616);
            if_body2447=if_body(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruleif_statementEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, if_body2447.tree);

            END_SYMBOL2448 = (pANTLR3_COMMON_TOKEN) MATCHT(END_SYMBOL, &FOLLOW_END_SYMBOL_in_if_statement12618);
            if  (HASEXCEPTION())
            {
                goto ruleif_statementEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            END_SYMBOL2448_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, END_SYMBOL2448));
            ADAPTOR->addChild(ADAPTOR, root_0, END_SYMBOL2448_tree);
            }

            IF_SYMBOL2449 = (pANTLR3_COMMON_TOKEN) MATCHT(IF_SYMBOL, &FOLLOW_IF_SYMBOL_in_if_statement12620);
            if  (HASEXCEPTION())
            {
                goto ruleif_statementEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            IF_SYMBOL2449_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, IF_SYMBOL2449));
            ADAPTOR->addChild(ADAPTOR, root_0, IF_SYMBOL2449_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:2204: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_SYMBOL2452;
    pANTLR3_COMMON_TOKEN    ELSE_SYMBOL2454;
    MySQLParser_expression_return expression2450;
    #undef	RETURN_TYPE_expression2450
    #define	RETURN_TYPE_expression2450 MySQLParser_expression_return

    MySQLParser_then_statement_return then_statement2451;
    #undef	RETURN_TYPE_then_statement2451
    #define	RETURN_TYPE_then_statement2451 MySQLParser_then_statement_return

    MySQLParser_if_body_return if_body2453;
    #undef	RETURN_TYPE_if_body2453
    #define	RETURN_TYPE_if_body2453 MySQLParser_if_body_return

    MySQLParser_compound_statement_list_return compound_statement_list2455;
    #undef	RETURN_TYPE_compound_statement_list2455
    #define	RETURN_TYPE_compound_statement_list2455 MySQLParser_compound_statement_list_return

    pANTLR3_BASE_TREE ELSEIF_SYMBOL2452_tree;
    pANTLR3_BASE_TREE ELSE_SYMBOL2454_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    ELSEIF_SYMBOL2452       = NULL;
    ELSE_SYMBOL2454       = NULL;
    expression2450.tree = NULL;

    then_statement2451.tree = NULL;

    if_body2453.tree = NULL;

    compound_statement_list2455.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    ELSEIF_SYMBOL2452_tree   = NULL;
    ELSE_SYMBOL2454_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2204:8: ( expression then_statement ( ELSEIF_SYMBOL if_body | ELSE_SYMBOL compound_statement_list )? )
        // MySQL.g:2205: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_body12629);
            expression2450=expression(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruleif_bodyEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2450.tree);

            FOLLOWPUSH(FOLLOW_then_statement_in_if_body12631);
            then_statement2451=then_statement(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruleif_bodyEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, then_statement2451.tree);

            // MySQL.g:2205:28: ( ELSEIF_SYMBOL if_body | ELSE_SYMBOL compound_statement_list )?
            {
                int alt671=3;
                switch ( LA(1) )
                {
                    case ELSEIF_SYMBOL:
                    	{
                    		alt671=1;
                    	}
                        break;
                    case ELSE_SYMBOL:
                    	{
                    		alt671=2;
                    	}
                        break;
                }

                switch (alt671)
                {
            	case 1:
            	    // MySQL.g:2205:29: ELSEIF_SYMBOL if_body
            	    {
            	        ELSEIF_SYMBOL2452 = (pANTLR3_COMMON_TOKEN) MATCHT(ELSEIF_SYMBOL, &FOLLOW_ELSEIF_SYMBOL_in_if_body12634);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleif_bodyEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        ELSEIF_SYMBOL2452_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ELSEIF_SYMBOL2452));
            	        ADAPTOR->addChild(ADAPTOR, root_0, ELSEIF_SYMBOL2452_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_if_body_in_if_body12636);
            	        if_body2453=if_body(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleif_bodyEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, if_body2453.tree);

            	    }
            	    break;
            	case 2:
            	    // MySQL.g:2205:53: ELSE_SYMBOL compound_statement_list
            	    {
            	        ELSE_SYMBOL2454 = (pANTLR3_COMMON_TOKEN) MATCHT(ELSE_SYMBOL, &FOLLOW_ELSE_SYMBOL_in_if_body12640);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleif_bodyEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        ELSE_SYMBOL2454_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ELSE_SYMBOL2454));
            	        ADAPTOR->addChild(ADAPTOR, root_0, ELSE_SYMBOL2454_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_compound_statement_list_in_if_body12642);
            	        compound_statement_list2455=compound_statement_list(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleif_bodyEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, compound_statement_list2455.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:2208: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_SYMBOL2456;
    MySQLParser_label_identifier_return label_identifier2457;
    #undef	RETURN_TYPE_label_identifier2457
    #define	RETURN_TYPE_label_identifier2457 MySQLParser_label_identifier_return

    pANTLR3_BASE_TREE ITERATE_SYMBOL2456_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    ITERATE_SYMBOL2456       = NULL;
    label_identifier2457.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    ITERATE_SYMBOL2456_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2208:18: ( ITERATE_SYMBOL label_identifier )
        // MySQL.g:2209:2: ITERATE_SYMBOL label_identifier
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            ITERATE_SYMBOL2456 = (pANTLR3_COMMON_TOKEN) MATCHT(ITERATE_SYMBOL, &FOLLOW_ITERATE_SYMBOL_in_iterate_statement12653);
            if  (HASEXCEPTION())
            {
                goto ruleiterate_statementEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            ITERATE_SYMBOL2456_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ITERATE_SYMBOL2456));
            ADAPTOR->addChild(ADAPTOR, root_0, ITERATE_SYMBOL2456_tree);
            }

            FOLLOWPUSH(FOLLOW_label_identifier_in_iterate_statement12655);
            label_identifier2457=label_identifier(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruleiterate_statementEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, label_identifier2457.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:2212: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_SYMBOL2458;
    MySQLParser_label_identifier_return label_identifier2459;
    #undef	RETURN_TYPE_label_identifier2459
    #define	RETURN_TYPE_label_identifier2459 MySQLParser_label_identifier_return

    pANTLR3_BASE_TREE LEAVE_SYMBOL2458_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    LEAVE_SYMBOL2458       = NULL;
    label_identifier2459.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    LEAVE_SYMBOL2458_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2212:16: ( LEAVE_SYMBOL label_identifier )
        // MySQL.g:2213:2: LEAVE_SYMBOL label_identifier
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            LEAVE_SYMBOL2458 = (pANTLR3_COMMON_TOKEN) MATCHT(LEAVE_SYMBOL, &FOLLOW_LEAVE_SYMBOL_in_leave_statement12664);
            if  (HASEXCEPTION())
            {
                goto ruleleave_statementEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            LEAVE_SYMBOL2458_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, LEAVE_SYMBOL2458));
            ADAPTOR->addChild(ADAPTOR, root_0, LEAVE_SYMBOL2458_tree);
            }

            FOLLOWPUSH(FOLLOW_label_identifier_in_leave_statement12666);
            label_identifier2459=label_identifier(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruleleave_statementEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, label_identifier2459.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:2216: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_SYMBOL2460;
    MySQLParser_expression_return expression2461;
    #undef	RETURN_TYPE_expression2461
    #define	RETURN_TYPE_expression2461 MySQLParser_expression_return

    pANTLR3_BASE_TREE RETURN_SYMBOL2460_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    RETURN_SYMBOL2460       = NULL;
    expression2461.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    RETURN_SYMBOL2460_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2216:17: ( RETURN_SYMBOL expression )
        // MySQL.g:2217:2: RETURN_SYMBOL expression
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            RETURN_SYMBOL2460 = (pANTLR3_COMMON_TOKEN) MATCHT(RETURN_SYMBOL, &FOLLOW_RETURN_SYMBOL_in_return_statement12675);
            if  (HASEXCEPTION())
            {
                goto rulereturn_statementEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            RETURN_SYMBOL2460_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, RETURN_SYMBOL2460));
            ADAPTOR->addChild(ADAPTOR, root_0, RETURN_SYMBOL2460_tree);
            }

            FOLLOWPUSH(FOLLOW_expression_in_return_statement12677);
            expression2461=expression(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulereturn_statementEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2461.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:2220: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_SYMBOL2462;
    pANTLR3_COMMON_TOKEN    CURRENT_SYMBOL2463;
    pANTLR3_COMMON_TOKEN    DIAGNOSTICS_SYMBOL2464;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL2466;
    pANTLR3_COMMON_TOKEN    CONDITION_SYMBOL2468;
    pANTLR3_COMMON_TOKEN    INTEGER2469;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL2471;
    MySQLParser_statement_information_item_return statement_information_item2465;
    #undef	RETURN_TYPE_statement_information_item2465
    #define	RETURN_TYPE_statement_information_item2465 MySQLParser_statement_information_item_return

    MySQLParser_statement_information_item_return statement_information_item2467;
    #undef	RETURN_TYPE_statement_information_item2467
    #define	RETURN_TYPE_statement_information_item2467 MySQLParser_statement_information_item_return

    MySQLParser_condition_information_item_return condition_information_item2470;
    #undef	RETURN_TYPE_condition_information_item2470
    #define	RETURN_TYPE_condition_information_item2470 MySQLParser_condition_information_item_return

    MySQLParser_condition_information_item_return condition_information_item2472;
    #undef	RETURN_TYPE_condition_information_item2472
    #define	RETURN_TYPE_condition_information_item2472 MySQLParser_condition_information_item_return

    pANTLR3_BASE_TREE GET_SYMBOL2462_tree;
    pANTLR3_BASE_TREE CURRENT_SYMBOL2463_tree;
    pANTLR3_BASE_TREE DIAGNOSTICS_SYMBOL2464_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL2466_tree;
    pANTLR3_BASE_TREE CONDITION_SYMBOL2468_tree;
    pANTLR3_BASE_TREE INTEGER2469_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL2471_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    GET_SYMBOL2462       = NULL;
    CURRENT_SYMBOL2463       = NULL;
    DIAGNOSTICS_SYMBOL2464       = NULL;
    COMMA_SYMBOL2466       = NULL;
    CONDITION_SYMBOL2468       = NULL;
    INTEGER2469       = NULL;
    COMMA_SYMBOL2471       = NULL;
    statement_information_item2465.tree = NULL;

    statement_information_item2467.tree = NULL;

    condition_information_item2470.tree = NULL;

    condition_information_item2472.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    GET_SYMBOL2462_tree   = NULL;
    CURRENT_SYMBOL2463_tree   = NULL;
    DIAGNOSTICS_SYMBOL2464_tree   = NULL;
    COMMA_SYMBOL2466_tree   = NULL;
    CONDITION_SYMBOL2468_tree   = NULL;
    INTEGER2469_tree   = NULL;
    COMMA_SYMBOL2471_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2220: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:2221: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_SYMBOL2462 = (pANTLR3_COMMON_TOKEN) MATCHT(GET_SYMBOL, &FOLLOW_GET_SYMBOL_in_get_diagnostics12686);
            if  (HASEXCEPTION())
            {
                goto ruleget_diagnosticsEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            GET_SYMBOL2462_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, GET_SYMBOL2462));
            ADAPTOR->addChild(ADAPTOR, root_0, GET_SYMBOL2462_tree);
            }

            // MySQL.g:2221:13: ( CURRENT_SYMBOL )?
            {
                int alt672=2;
                switch ( LA(1) )
                {
                    case CURRENT_SYMBOL:
                    	{
                    		alt672=1;
                    	}
                        break;
                }

                switch (alt672)
                {
            	case 1:
            	    // MySQL.g:2221:13: CURRENT_SYMBOL
            	    {
            	        CURRENT_SYMBOL2463 = (pANTLR3_COMMON_TOKEN) MATCHT(CURRENT_SYMBOL, &FOLLOW_CURRENT_SYMBOL_in_get_diagnostics12688);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleget_diagnosticsEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        CURRENT_SYMBOL2463_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CURRENT_SYMBOL2463));
            	        ADAPTOR->addChild(ADAPTOR, root_0, CURRENT_SYMBOL2463_tree);
            	        }

            	    }
            	    break;

                }
            }

            DIAGNOSTICS_SYMBOL2464 = (pANTLR3_COMMON_TOKEN) MATCHT(DIAGNOSTICS_SYMBOL, &FOLLOW_DIAGNOSTICS_SYMBOL_in_get_diagnostics12691);
            if  (HASEXCEPTION())
            {
                goto ruleget_diagnosticsEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            DIAGNOSTICS_SYMBOL2464_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DIAGNOSTICS_SYMBOL2464));
            ADAPTOR->addChild(ADAPTOR, root_0, DIAGNOSTICS_SYMBOL2464_tree);
            }

            // MySQL.g:2222:2: ( statement_information_item ( COMMA_SYMBOL statement_information_item )* | CONDITION_SYMBOL INTEGER condition_information_item ( COMMA_SYMBOL condition_information_item )* )
            {
                int alt675=2;
                {
                    int LA675_0 = LA(1);
                    if ( (((LA675_0 >= AT_AT_SIGN_SYMBOL) && (LA675_0 <= AT_SIGN_SYMBOL)) || LA675_0 == BACK_TICK_QUOTED_ID || LA675_0 == IDENTIFIER))
                    {
                        alt675=1;
                    }
                    else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA675_0 == DOUBLE_QUOTED_TEXT))
                    {
                        alt675=1;
                    }
                    else if ( (((LA675_0 >= ACTION_SYMBOL) && (LA675_0 <= PARTITION_SYMBOL))))
                    {
                        alt675=1;
                    }
                    else if ( (LA675_0 == CONDITION_SYMBOL))
                    {
                        alt675=2;
                    }
                    else
                    {
                        if (BACKTRACKING>0)
                        {
                            FAILEDFLAG = ANTLR3_TRUE;
                            return retval;
                        }


                        CONSTRUCTEX();
                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                        EXCEPTION->message      = (void *)"";
                        EXCEPTION->decisionNum  = 675;
                        EXCEPTION->state        = 0;


                        goto ruleget_diagnosticsEx;

                    }
                }
                switch (alt675)
                {
            	case 1:
            	    // MySQL.g:2223:3: statement_information_item ( COMMA_SYMBOL statement_information_item )*
            	    {
            	        FOLLOWPUSH(FOLLOW_statement_information_item_in_get_diagnostics12698);
            	        statement_information_item2465=statement_information_item(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleget_diagnosticsEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, statement_information_item2465.tree);

            	        // MySQL.g:2223:30: ( COMMA_SYMBOL statement_information_item )*

            	        for (;;)
            	        {
            	            int alt673=2;
            	            switch ( LA(1) )
            	            {
            	            case COMMA_SYMBOL:
            	            	{
            	            		alt673=1;
            	            	}
            	                break;

            	            }

            	            switch (alt673)
            	            {
            	        	case 1:
            	        	    // MySQL.g:2223:31: COMMA_SYMBOL statement_information_item
            	        	    {
            	        	        COMMA_SYMBOL2466 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_get_diagnostics12701);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleget_diagnosticsEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        COMMA_SYMBOL2466_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL2466));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL2466_tree);
            	        	        }

            	        	        FOLLOWPUSH(FOLLOW_statement_information_item_in_get_diagnostics12703);
            	        	        statement_information_item2467=statement_information_item(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleget_diagnosticsEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, statement_information_item2467.tree);

            	        	    }
            	        	    break;

            	        	default:
            	        	    goto loop673;	/* break out of the loop */
            	        	    break;
            	            }
            	        }
            	        loop673: ; /* Jump out to here if this rule does not match */


            	    }
            	    break;
            	case 2:
            	    // MySQL.g:2224:5: CONDITION_SYMBOL INTEGER condition_information_item ( COMMA_SYMBOL condition_information_item )*
            	    {
            	        CONDITION_SYMBOL2468 = (pANTLR3_COMMON_TOKEN) MATCHT(CONDITION_SYMBOL, &FOLLOW_CONDITION_SYMBOL_in_get_diagnostics12711);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleget_diagnosticsEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        CONDITION_SYMBOL2468_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CONDITION_SYMBOL2468));
            	        ADAPTOR->addChild(ADAPTOR, root_0, CONDITION_SYMBOL2468_tree);
            	        }

            	        INTEGER2469 = (pANTLR3_COMMON_TOKEN) MATCHT(INTEGER, &FOLLOW_INTEGER_in_get_diagnostics12713);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleget_diagnosticsEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        INTEGER2469_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INTEGER2469));
            	        ADAPTOR->addChild(ADAPTOR, root_0, INTEGER2469_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_condition_information_item_in_get_diagnostics12715);
            	        condition_information_item2470=condition_information_item(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleget_diagnosticsEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, condition_information_item2470.tree);

            	        // MySQL.g:2224:57: ( COMMA_SYMBOL condition_information_item )*

            	        for (;;)
            	        {
            	            int alt674=2;
            	            switch ( LA(1) )
            	            {
            	            case COMMA_SYMBOL:
            	            	{
            	            		alt674=1;
            	            	}
            	                break;

            	            }

            	            switch (alt674)
            	            {
            	        	case 1:
            	        	    // MySQL.g:2224:58: COMMA_SYMBOL condition_information_item
            	        	    {
            	        	        COMMA_SYMBOL2471 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_get_diagnostics12718);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleget_diagnosticsEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        COMMA_SYMBOL2471_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL2471));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL2471_tree);
            	        	        }

            	        	        FOLLOWPUSH(FOLLOW_condition_information_item_in_get_diagnostics12720);
            	        	        condition_information_item2472=condition_information_item(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleget_diagnosticsEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, condition_information_item2472.tree);

            	        	    }
            	        	    break;

            	        	default:
            	        	    goto loop674;	/* break out of the loop */
            	        	    break;
            	            }
            	        }
            	        loop674: ; /* 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:2228: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_OPERATOR2475;
    pANTLR3_COMMON_TOKEN    set2476;
    MySQLParser_variable_return variable2473;
    #undef	RETURN_TYPE_variable2473
    #define	RETURN_TYPE_variable2473 MySQLParser_variable_return

    MySQLParser_identifier_return identifier2474;
    #undef	RETURN_TYPE_identifier2474
    #define	RETURN_TYPE_identifier2474 MySQLParser_identifier_return

    pANTLR3_BASE_TREE EQUAL_OPERATOR2475_tree;
    pANTLR3_BASE_TREE set2476_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    EQUAL_OPERATOR2475       = NULL;
    set2476       = NULL;
    variable2473.tree = NULL;

    identifier2474.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    EQUAL_OPERATOR2475_tree   = NULL;
    set2476_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2228:27: ( ( variable | identifier ) EQUAL_OPERATOR ( NUMBER_SYMBOL | ROW_COUNT_SYMBOL ) )
        // MySQL.g:2229:2: ( variable | identifier ) EQUAL_OPERATOR ( NUMBER_SYMBOL | ROW_COUNT_SYMBOL )
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            // MySQL.g:2229:2: ( variable | identifier )
            {
                int alt676=2;
                {
                    int LA676_0 = LA(1);
                    if ( (((LA676_0 >= AT_AT_SIGN_SYMBOL) && (LA676_0 <= AT_SIGN_SYMBOL))))
                    {
                        alt676=1;
                    }
                    else if ( (LA676_0 == BACK_TICK_QUOTED_ID || LA676_0 == IDENTIFIER))
                    {
                        alt676=2;
                    }
                    else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA676_0 == DOUBLE_QUOTED_TEXT))
                    {
                        alt676=2;
                    }
                    else if ( (((LA676_0 >= ACTION_SYMBOL) && (LA676_0 <= PARTITION_SYMBOL))))
                    {
                        alt676=2;
                    }
                    else
                    {
                        if (BACKTRACKING>0)
                        {
                            FAILEDFLAG = ANTLR3_TRUE;
                            return retval;
                        }


                        CONSTRUCTEX();
                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                        EXCEPTION->message      = (void *)"";
                        EXCEPTION->decisionNum  = 676;
                        EXCEPTION->state        = 0;


                        goto rulestatement_information_itemEx;

                    }
                }
                switch (alt676)
                {
            	case 1:
            	    // MySQL.g:2229:3: variable
            	    {
            	        FOLLOWPUSH(FOLLOW_variable_in_statement_information_item12735);
            	        variable2473=variable(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulestatement_information_itemEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, variable2473.tree);

            	    }
            	    break;
            	case 2:
            	    // MySQL.g:2229:14: identifier
            	    {
            	        FOLLOWPUSH(FOLLOW_identifier_in_statement_information_item12739);
            	        identifier2474=identifier(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulestatement_information_itemEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier2474.tree);

            	    }
            	    break;

                }
            }

            EQUAL_OPERATOR2475 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_statement_information_item12742);
            if  (HASEXCEPTION())
            {
                goto rulestatement_information_itemEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            EQUAL_OPERATOR2475_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR2475));
            ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR2475_tree);
            }

            set2476=(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, set2476))
                );
                PERRORRECOVERY=ANTLR3_FALSE;
                FAILEDFLAG=ANTLR3_FALSE;

            }
            else
            {
                if (BACKTRACKING>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:2232: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_OPERATOR2479;
    MySQLParser_variable_return variable2477;
    #undef	RETURN_TYPE_variable2477
    #define	RETURN_TYPE_variable2477 MySQLParser_variable_return

    MySQLParser_identifier_return identifier2478;
    #undef	RETURN_TYPE_identifier2478
    #define	RETURN_TYPE_identifier2478 MySQLParser_identifier_return

    MySQLParser_condition_information_item_name_return condition_information_item_name2480;
    #undef	RETURN_TYPE_condition_information_item_name2480
    #define	RETURN_TYPE_condition_information_item_name2480 MySQLParser_condition_information_item_name_return

    pANTLR3_BASE_TREE EQUAL_OPERATOR2479_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    EQUAL_OPERATOR2479       = NULL;
    variable2477.tree = NULL;

    identifier2478.tree = NULL;

    condition_information_item_name2480.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    EQUAL_OPERATOR2479_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2232:27: ( ( variable | identifier ) EQUAL_OPERATOR condition_information_item_name )
        // MySQL.g:2233:2: ( variable | identifier ) EQUAL_OPERATOR condition_information_item_name
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            // MySQL.g:2233:2: ( variable | identifier )
            {
                int alt677=2;
                {
                    int LA677_0 = LA(1);
                    if ( (((LA677_0 >= AT_AT_SIGN_SYMBOL) && (LA677_0 <= AT_SIGN_SYMBOL))))
                    {
                        alt677=1;
                    }
                    else if ( (LA677_0 == BACK_TICK_QUOTED_ID || LA677_0 == IDENTIFIER))
                    {
                        alt677=2;
                    }
                    else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA677_0 == DOUBLE_QUOTED_TEXT))
                    {
                        alt677=2;
                    }
                    else if ( (((LA677_0 >= ACTION_SYMBOL) && (LA677_0 <= PARTITION_SYMBOL))))
                    {
                        alt677=2;
                    }
                    else
                    {
                        if (BACKTRACKING>0)
                        {
                            FAILEDFLAG = ANTLR3_TRUE;
                            return retval;
                        }


                        CONSTRUCTEX();
                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                        EXCEPTION->message      = (void *)"";
                        EXCEPTION->decisionNum  = 677;
                        EXCEPTION->state        = 0;


                        goto rulecondition_information_itemEx;

                    }
                }
                switch (alt677)
                {
            	case 1:
            	    // MySQL.g:2233:3: variable
            	    {
            	        FOLLOWPUSH(FOLLOW_variable_in_condition_information_item12760);
            	        variable2477=variable(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecondition_information_itemEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, variable2477.tree);

            	    }
            	    break;
            	case 2:
            	    // MySQL.g:2233:14: identifier
            	    {
            	        FOLLOWPUSH(FOLLOW_identifier_in_condition_information_item12764);
            	        identifier2478=identifier(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecondition_information_itemEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier2478.tree);

            	    }
            	    break;

                }
            }

            EQUAL_OPERATOR2479 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_condition_information_item12767);
            if  (HASEXCEPTION())
            {
                goto rulecondition_information_itemEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            EQUAL_OPERATOR2479_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR2479));
            ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR2479_tree);
            }

            FOLLOWPUSH(FOLLOW_condition_information_item_name_in_condition_information_item12769);
            condition_information_item_name2480=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_name2480.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:2236: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    set2481;

    pANTLR3_BASE_TREE set2481_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    set2481       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    set2481_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2236: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));


            set2481=(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, set2481))
                );
                PERRORRECOVERY=ANTLR3_FALSE;
                FAILEDFLAG=ANTLR3_FALSE;

            }
            else
            {
                if (BACKTRACKING>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:2252: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_SYMBOL2482;
    pANTLR3_COMMON_TOKEN    SQLSTATE_SYMBOL2483;
    pANTLR3_COMMON_TOKEN    VALUE_SYMBOL2484;
    pANTLR3_COMMON_TOKEN    SET_SYMBOL2486;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL2488;
    MySQLParser_text_or_identifier_return text_or_identifier2485;
    #undef	RETURN_TYPE_text_or_identifier2485
    #define	RETURN_TYPE_text_or_identifier2485 MySQLParser_text_or_identifier_return

    MySQLParser_signal_information_item_return signal_information_item2487;
    #undef	RETURN_TYPE_signal_information_item2487
    #define	RETURN_TYPE_signal_information_item2487 MySQLParser_signal_information_item_return

    MySQLParser_signal_information_item_return signal_information_item2489;
    #undef	RETURN_TYPE_signal_information_item2489
    #define	RETURN_TYPE_signal_information_item2489 MySQLParser_signal_information_item_return

    pANTLR3_BASE_TREE SIGNAL_SYMBOL2482_tree;
    pANTLR3_BASE_TREE SQLSTATE_SYMBOL2483_tree;
    pANTLR3_BASE_TREE VALUE_SYMBOL2484_tree;
    pANTLR3_BASE_TREE SET_SYMBOL2486_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL2488_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    SIGNAL_SYMBOL2482       = NULL;
    SQLSTATE_SYMBOL2483       = NULL;
    VALUE_SYMBOL2484       = NULL;
    SET_SYMBOL2486       = NULL;
    COMMA_SYMBOL2488       = NULL;
    text_or_identifier2485.tree = NULL;

    signal_information_item2487.tree = NULL;

    signal_information_item2489.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    SIGNAL_SYMBOL2482_tree   = NULL;
    SQLSTATE_SYMBOL2483_tree   = NULL;
    VALUE_SYMBOL2484_tree   = NULL;
    SET_SYMBOL2486_tree   = NULL;
    COMMA_SYMBOL2488_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2252:17: ( SIGNAL_SYMBOL ( SQLSTATE_SYMBOL ( VALUE_SYMBOL )? text_or_identifier ) ( SET_SYMBOL signal_information_item ( COMMA_SYMBOL signal_information_item )* )? )
        // MySQL.g:2253: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_SYMBOL2482 = (pANTLR3_COMMON_TOKEN) MATCHT(SIGNAL_SYMBOL, &FOLLOW_SIGNAL_SYMBOL_in_signal_statement12847);
            if  (HASEXCEPTION())
            {
                goto rulesignal_statementEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            SIGNAL_SYMBOL2482_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SIGNAL_SYMBOL2482));
            ADAPTOR->addChild(ADAPTOR, root_0, SIGNAL_SYMBOL2482_tree);
            }

            // MySQL.g:2253:16: ( SQLSTATE_SYMBOL ( VALUE_SYMBOL )? text_or_identifier )
            // MySQL.g:2253:17: SQLSTATE_SYMBOL ( VALUE_SYMBOL )? text_or_identifier
            {
                SQLSTATE_SYMBOL2483 = (pANTLR3_COMMON_TOKEN) MATCHT(SQLSTATE_SYMBOL, &FOLLOW_SQLSTATE_SYMBOL_in_signal_statement12850);
                if  (HASEXCEPTION())
                {
                    goto rulesignal_statementEx;
                }
                if (HASFAILED())
                {
                    return retval;
                }

                if ( BACKTRACKING==0 ) {
                SQLSTATE_SYMBOL2483_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SQLSTATE_SYMBOL2483));
                ADAPTOR->addChild(ADAPTOR, root_0, SQLSTATE_SYMBOL2483_tree);
                }

                // MySQL.g:2253:33: ( VALUE_SYMBOL )?
                {
                    int alt678=2;
                    switch ( LA(1) )
                    {
                        case VALUE_SYMBOL:
                        	{
                        		{
                        		    int LA678_1 = LA(2);
                        		    if ( (((LA678_1 >= ACTION_SYMBOL) && (LA678_1 <= PARTITION_SYMBOL)) || LA678_1 == BACK_TICK_QUOTED_ID || LA678_1 == DOUBLE_QUOTED_TEXT || LA678_1 == IDENTIFIER || LA678_1 == NCHAR_TEXT || LA678_1 == SINGLE_QUOTED_TEXT || LA678_1 == UNDERSCORE_CHARSET))
                        		    {
                        		        alt678=1;
                        		    }
                        		}
                        	}
                            break;
                    }

                    switch (alt678)
                    {
                	case 1:
                	    // MySQL.g:2253:33: VALUE_SYMBOL
                	    {
                	        VALUE_SYMBOL2484 = (pANTLR3_COMMON_TOKEN) MATCHT(VALUE_SYMBOL, &FOLLOW_VALUE_SYMBOL_in_signal_statement12852);
                	        if  (HASEXCEPTION())
                	        {
                	            goto rulesignal_statementEx;
                	        }
                	        if (HASFAILED())
                	        {
                	            return retval;
                	        }

                	        if ( BACKTRACKING==0 ) {
                	        VALUE_SYMBOL2484_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, VALUE_SYMBOL2484));
                	        ADAPTOR->addChild(ADAPTOR, root_0, VALUE_SYMBOL2484_tree);
                	        }

                	    }
                	    break;

                    }
                }

                FOLLOWPUSH(FOLLOW_text_or_identifier_in_signal_statement12855);
                text_or_identifier2485=text_or_identifier(ctx);

                FOLLOWPOP();
                if  (HASEXCEPTION())
                {
                    goto rulesignal_statementEx;
                }
                if (HASFAILED())
                {
                    return retval;
                }

                if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, text_or_identifier2485.tree);

            }


            // MySQL.g:2254:3: ( SET_SYMBOL signal_information_item ( COMMA_SYMBOL signal_information_item )* )?
            {
                int alt680=2;
                switch ( LA(1) )
                {
                    case SET_SYMBOL:
                    	{
                    		alt680=1;
                    	}
                        break;
                }

                switch (alt680)
                {
            	case 1:
            	    // MySQL.g:2254:4: SET_SYMBOL signal_information_item ( COMMA_SYMBOL signal_information_item )*
            	    {
            	        SET_SYMBOL2486 = (pANTLR3_COMMON_TOKEN) MATCHT(SET_SYMBOL, &FOLLOW_SET_SYMBOL_in_signal_statement12861);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulesignal_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        SET_SYMBOL2486_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SET_SYMBOL2486));
            	        ADAPTOR->addChild(ADAPTOR, root_0, SET_SYMBOL2486_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_signal_information_item_in_signal_statement12863);
            	        signal_information_item2487=signal_information_item(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulesignal_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, signal_information_item2487.tree);

            	        // MySQL.g:2254:39: ( COMMA_SYMBOL signal_information_item )*

            	        for (;;)
            	        {
            	            int alt679=2;
            	            switch ( LA(1) )
            	            {
            	            case COMMA_SYMBOL:
            	            	{
            	            		alt679=1;
            	            	}
            	                break;

            	            }

            	            switch (alt679)
            	            {
            	        	case 1:
            	        	    // MySQL.g:2254:40: COMMA_SYMBOL signal_information_item
            	        	    {
            	        	        COMMA_SYMBOL2488 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_signal_statement12866);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulesignal_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        COMMA_SYMBOL2488_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL2488));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL2488_tree);
            	        	        }

            	        	        FOLLOWPUSH(FOLLOW_signal_information_item_in_signal_statement12868);
            	        	        signal_information_item2489=signal_information_item(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulesignal_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, signal_information_item2489.tree);

            	        	    }
            	        	    break;

            	        	default:
            	        	    goto loop679;	/* break out of the loop */
            	        	    break;
            	            }
            	        }
            	        loop679: ; /* 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:2257: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_SYMBOL2490;
    pANTLR3_COMMON_TOKEN    SQLSTATE_SYMBOL2491;
    pANTLR3_COMMON_TOKEN    VALUE_SYMBOL2492;
    pANTLR3_COMMON_TOKEN    SET_SYMBOL2494;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL2496;
    MySQLParser_text_or_identifier_return text_or_identifier2493;
    #undef	RETURN_TYPE_text_or_identifier2493
    #define	RETURN_TYPE_text_or_identifier2493 MySQLParser_text_or_identifier_return

    MySQLParser_signal_information_item_return signal_information_item2495;
    #undef	RETURN_TYPE_signal_information_item2495
    #define	RETURN_TYPE_signal_information_item2495 MySQLParser_signal_information_item_return

    MySQLParser_signal_information_item_return signal_information_item2497;
    #undef	RETURN_TYPE_signal_information_item2497
    #define	RETURN_TYPE_signal_information_item2497 MySQLParser_signal_information_item_return

    pANTLR3_BASE_TREE RESIGNAL_SYMBOL2490_tree;
    pANTLR3_BASE_TREE SQLSTATE_SYMBOL2491_tree;
    pANTLR3_BASE_TREE VALUE_SYMBOL2492_tree;
    pANTLR3_BASE_TREE SET_SYMBOL2494_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL2496_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    RESIGNAL_SYMBOL2490       = NULL;
    SQLSTATE_SYMBOL2491       = NULL;
    VALUE_SYMBOL2492       = NULL;
    SET_SYMBOL2494       = NULL;
    COMMA_SYMBOL2496       = NULL;
    text_or_identifier2493.tree = NULL;

    signal_information_item2495.tree = NULL;

    signal_information_item2497.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    RESIGNAL_SYMBOL2490_tree   = NULL;
    SQLSTATE_SYMBOL2491_tree   = NULL;
    VALUE_SYMBOL2492_tree   = NULL;
    SET_SYMBOL2494_tree   = NULL;
    COMMA_SYMBOL2496_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2257:19: ( RESIGNAL_SYMBOL ( SQLSTATE_SYMBOL ( VALUE_SYMBOL )? text_or_identifier )? ( SET_SYMBOL signal_information_item ( COMMA_SYMBOL signal_information_item )* )? )
        // MySQL.g:2258: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_SYMBOL2490 = (pANTLR3_COMMON_TOKEN) MATCHT(RESIGNAL_SYMBOL, &FOLLOW_RESIGNAL_SYMBOL_in_resignal_statement12881);
            if  (HASEXCEPTION())
            {
                goto ruleresignal_statementEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            RESIGNAL_SYMBOL2490_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, RESIGNAL_SYMBOL2490));
            ADAPTOR->addChild(ADAPTOR, root_0, RESIGNAL_SYMBOL2490_tree);
            }

            // MySQL.g:2258:18: ( SQLSTATE_SYMBOL ( VALUE_SYMBOL )? text_or_identifier )?
            {
                int alt682=2;
                switch ( LA(1) )
                {
                    case SQLSTATE_SYMBOL:
                    	{
                    		alt682=1;
                    	}
                        break;
                }

                switch (alt682)
                {
            	case 1:
            	    // MySQL.g:2258:19: SQLSTATE_SYMBOL ( VALUE_SYMBOL )? text_or_identifier
            	    {
            	        SQLSTATE_SYMBOL2491 = (pANTLR3_COMMON_TOKEN) MATCHT(SQLSTATE_SYMBOL, &FOLLOW_SQLSTATE_SYMBOL_in_resignal_statement12884);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleresignal_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        SQLSTATE_SYMBOL2491_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SQLSTATE_SYMBOL2491));
            	        ADAPTOR->addChild(ADAPTOR, root_0, SQLSTATE_SYMBOL2491_tree);
            	        }

            	        // MySQL.g:2258:35: ( 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:2258:35: VALUE_SYMBOL
            	        	    {
            	        	        VALUE_SYMBOL2492 = (pANTLR3_COMMON_TOKEN) MATCHT(VALUE_SYMBOL, &FOLLOW_VALUE_SYMBOL_in_resignal_statement12886);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleresignal_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        VALUE_SYMBOL2492_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, VALUE_SYMBOL2492));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, VALUE_SYMBOL2492_tree);
            	        	        }

            	        	    }
            	        	    break;

            	            }
            	        }

            	        FOLLOWPUSH(FOLLOW_text_or_identifier_in_resignal_statement12889);
            	        text_or_identifier2493=text_or_identifier(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleresignal_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, text_or_identifier2493.tree);

            	    }
            	    break;

                }
            }

            // MySQL.g:2259:3: ( SET_SYMBOL signal_information_item ( COMMA_SYMBOL signal_information_item )* )?
            {
                int alt684=2;
                switch ( LA(1) )
                {
                    case SET_SYMBOL:
                    	{
                    		alt684=1;
                    	}
                        break;
                }

                switch (alt684)
                {
            	case 1:
            	    // MySQL.g:2259:4: SET_SYMBOL signal_information_item ( COMMA_SYMBOL signal_information_item )*
            	    {
            	        SET_SYMBOL2494 = (pANTLR3_COMMON_TOKEN) MATCHT(SET_SYMBOL, &FOLLOW_SET_SYMBOL_in_resignal_statement12896);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleresignal_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        SET_SYMBOL2494_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SET_SYMBOL2494));
            	        ADAPTOR->addChild(ADAPTOR, root_0, SET_SYMBOL2494_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_signal_information_item_in_resignal_statement12898);
            	        signal_information_item2495=signal_information_item(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleresignal_statementEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, signal_information_item2495.tree);

            	        // MySQL.g:2259:39: ( COMMA_SYMBOL signal_information_item )*

            	        for (;;)
            	        {
            	            int alt683=2;
            	            switch ( LA(1) )
            	            {
            	            case COMMA_SYMBOL:
            	            	{
            	            		alt683=1;
            	            	}
            	                break;

            	            }

            	            switch (alt683)
            	            {
            	        	case 1:
            	        	    // MySQL.g:2259:40: COMMA_SYMBOL signal_information_item
            	        	    {
            	        	        COMMA_SYMBOL2496 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_resignal_statement12901);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleresignal_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        COMMA_SYMBOL2496_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL2496));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL2496_tree);
            	        	        }

            	        	        FOLLOWPUSH(FOLLOW_signal_information_item_in_resignal_statement12903);
            	        	        signal_information_item2497=signal_information_item(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleresignal_statementEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, signal_information_item2497.tree);

            	        	    }
            	        	    break;

            	        	default:
            	        	    goto loop683;	/* break out of the loop */
            	        	    break;
            	            }
            	        }
            	        loop683: ; /* 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:2262: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_OPERATOR2499;
    MySQLParser_condition_information_item_name_return condition_information_item_name2498;
    #undef	RETURN_TYPE_condition_information_item_name2498
    #define	RETURN_TYPE_condition_information_item_name2498 MySQLParser_condition_information_item_name_return

    MySQLParser_literal_return literal2500;
    #undef	RETURN_TYPE_literal2500
    #define	RETURN_TYPE_literal2500 MySQLParser_literal_return

    pANTLR3_BASE_TREE EQUAL_OPERATOR2499_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    EQUAL_OPERATOR2499       = NULL;
    condition_information_item_name2498.tree = NULL;

    literal2500.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    EQUAL_OPERATOR2499_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2262:24: ( condition_information_item_name EQUAL_OPERATOR literal )
        // MySQL.g:2263: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_item12916);
            condition_information_item_name2498=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_name2498.tree);

            EQUAL_OPERATOR2499 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_signal_information_item12918);
            if  (HASEXCEPTION())
            {
                goto rulesignal_information_itemEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            EQUAL_OPERATOR2499_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR2499));
            ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR2499_tree);
            }

            FOLLOWPUSH(FOLLOW_literal_in_signal_information_item12920);
            literal2500=literal(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulesignal_information_itemEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, literal2500.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:2266: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_SYMBOL2501;
    MySQLParser_identifier_return identifier2502;
    #undef	RETURN_TYPE_identifier2502
    #define	RETURN_TYPE_identifier2502 MySQLParser_identifier_return

    pANTLR3_BASE_TREE CLOSE_SYMBOL2501_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    CLOSE_SYMBOL2501       = NULL;
    identifier2502.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    CLOSE_SYMBOL2501_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2266:13: ( CLOSE_SYMBOL identifier )
        // MySQL.g:2267:2: CLOSE_SYMBOL identifier
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            CLOSE_SYMBOL2501 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_SYMBOL, &FOLLOW_CLOSE_SYMBOL_in_cursor_close12929);
            if  (HASEXCEPTION())
            {
                goto rulecursor_closeEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            CLOSE_SYMBOL2501_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_SYMBOL2501));
            ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_SYMBOL2501_tree);
            }

            FOLLOWPUSH(FOLLOW_identifier_in_cursor_close12931);
            identifier2502=identifier(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulecursor_closeEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier2502.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:2270: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_SYMBOL2503;
    pANTLR3_COMMON_TOKEN    INTO_SYMBOL2505;
    MySQLParser_identifier_return identifier2504;
    #undef	RETURN_TYPE_identifier2504
    #define	RETURN_TYPE_identifier2504 MySQLParser_identifier_return

    MySQLParser_identifier_list_return identifier_list2506;
    #undef	RETURN_TYPE_identifier_list2506
    #define	RETURN_TYPE_identifier_list2506 MySQLParser_identifier_list_return

    pANTLR3_BASE_TREE FETCH_SYMBOL2503_tree;
    pANTLR3_BASE_TREE INTO_SYMBOL2505_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    FETCH_SYMBOL2503       = NULL;
    INTO_SYMBOL2505       = NULL;
    identifier2504.tree = NULL;

    identifier_list2506.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    FETCH_SYMBOL2503_tree   = NULL;
    INTO_SYMBOL2505_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2270:13: ( FETCH_SYMBOL identifier INTO_SYMBOL identifier_list )
        // MySQL.g:2271:2: FETCH_SYMBOL identifier INTO_SYMBOL identifier_list
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            FETCH_SYMBOL2503 = (pANTLR3_COMMON_TOKEN) MATCHT(FETCH_SYMBOL, &FOLLOW_FETCH_SYMBOL_in_cursor_fetch12940);
            if  (HASEXCEPTION())
            {
                goto rulecursor_fetchEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            FETCH_SYMBOL2503_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, FETCH_SYMBOL2503));
            ADAPTOR->addChild(ADAPTOR, root_0, FETCH_SYMBOL2503_tree);
            }

            FOLLOWPUSH(FOLLOW_identifier_in_cursor_fetch12942);
            identifier2504=identifier(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulecursor_fetchEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier2504.tree);

            INTO_SYMBOL2505 = (pANTLR3_COMMON_TOKEN) MATCHT(INTO_SYMBOL, &FOLLOW_INTO_SYMBOL_in_cursor_fetch12944);
            if  (HASEXCEPTION())
            {
                goto rulecursor_fetchEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            INTO_SYMBOL2505_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INTO_SYMBOL2505));
            ADAPTOR->addChild(ADAPTOR, root_0, INTO_SYMBOL2505_tree);
            }

            FOLLOWPUSH(FOLLOW_identifier_list_in_cursor_fetch12946);
            identifier_list2506=identifier_list(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulecursor_fetchEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier_list2506.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:2274: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_SYMBOL2507;
    MySQLParser_identifier_return identifier2508;
    #undef	RETURN_TYPE_identifier2508
    #define	RETURN_TYPE_identifier2508 MySQLParser_identifier_return

    pANTLR3_BASE_TREE OPEN_SYMBOL2507_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    OPEN_SYMBOL2507       = NULL;
    identifier2508.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    OPEN_SYMBOL2507_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2274:12: ( OPEN_SYMBOL identifier )
        // MySQL.g:2275:2: OPEN_SYMBOL identifier
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            OPEN_SYMBOL2507 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_SYMBOL, &FOLLOW_OPEN_SYMBOL_in_cursor_open12955);
            if  (HASEXCEPTION())
            {
                goto rulecursor_openEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            OPEN_SYMBOL2507_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_SYMBOL2507));
            ADAPTOR->addChild(ADAPTOR, root_0, OPEN_SYMBOL2507_tree);
            }

            FOLLOWPUSH(FOLLOW_identifier_in_cursor_open12957);
            identifier2508=identifier(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulecursor_openEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier2508.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:2281: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_SYMBOL2509;
    pANTLR3_COMMON_TOKEN    EVERY_SYMBOL2511;
    pANTLR3_COMMON_TOKEN    STARTS_SYMBOL2513;
    pANTLR3_COMMON_TOKEN    ENDS_SYMBOL2515;
    MySQLParser_expression_return expression2510;
    #undef	RETURN_TYPE_expression2510
    #define	RETURN_TYPE_expression2510 MySQLParser_expression_return

    MySQLParser_interval_return interval2512;
    #undef	RETURN_TYPE_interval2512
    #define	RETURN_TYPE_interval2512 MySQLParser_interval_return

    MySQLParser_expression_return expression2514;
    #undef	RETURN_TYPE_expression2514
    #define	RETURN_TYPE_expression2514 MySQLParser_expression_return

    MySQLParser_expression_return expression2516;
    #undef	RETURN_TYPE_expression2516
    #define	RETURN_TYPE_expression2516 MySQLParser_expression_return

    pANTLR3_BASE_TREE AT_SYMBOL2509_tree;
    pANTLR3_BASE_TREE EVERY_SYMBOL2511_tree;
    pANTLR3_BASE_TREE STARTS_SYMBOL2513_tree;
    pANTLR3_BASE_TREE ENDS_SYMBOL2515_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    AT_SYMBOL2509       = NULL;
    EVERY_SYMBOL2511       = NULL;
    STARTS_SYMBOL2513       = NULL;
    ENDS_SYMBOL2515       = NULL;
    expression2510.tree = NULL;

    interval2512.tree = NULL;

    expression2514.tree = NULL;

    expression2516.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    AT_SYMBOL2509_tree   = NULL;
    EVERY_SYMBOL2511_tree   = NULL;
    STARTS_SYMBOL2513_tree   = NULL;
    ENDS_SYMBOL2515_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:2281:9: ( AT_SYMBOL expression | EVERY_SYMBOL interval ( STARTS_SYMBOL expression )? ( ENDS_SYMBOL expression )? )

            ANTLR3_UINT32 alt687;

            alt687=2;

            switch ( LA(1) )
            {
            case AT_SYMBOL:
            	{
            		alt687=1;
            	}
                break;
            case EVERY_SYMBOL:
            	{
            		alt687=2;
            	}
                break;

            default:
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                EXCEPTION->message      = (void *)"";
                EXCEPTION->decisionNum  = 687;
                EXCEPTION->state        = 0;


                goto rulescheduleEx;

            }

            switch (alt687)
            {
        	case 1:
        	    // MySQL.g:2282:2: AT_SYMBOL expression
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        AT_SYMBOL2509 = (pANTLR3_COMMON_TOKEN) MATCHT(AT_SYMBOL, &FOLLOW_AT_SYMBOL_in_schedule12969);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulescheduleEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        AT_SYMBOL2509_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, AT_SYMBOL2509));
        	        ADAPTOR->addChild(ADAPTOR, root_0, AT_SYMBOL2509_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_expression_in_schedule12971);
        	        expression2510=expression(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulescheduleEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2510.tree);

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:2283:4: EVERY_SYMBOL interval ( STARTS_SYMBOL expression )? ( ENDS_SYMBOL expression )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        EVERY_SYMBOL2511 = (pANTLR3_COMMON_TOKEN) MATCHT(EVERY_SYMBOL, &FOLLOW_EVERY_SYMBOL_in_schedule12976);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulescheduleEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        EVERY_SYMBOL2511_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EVERY_SYMBOL2511));
        	        ADAPTOR->addChild(ADAPTOR, root_0, EVERY_SYMBOL2511_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_interval_in_schedule12978);
        	        interval2512=interval(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulescheduleEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, interval2512.tree);

        	        // MySQL.g:2283:26: ( STARTS_SYMBOL expression )?
        	        {
        	            int alt685=2;
        	            switch ( LA(1) )
        	            {
        	                case STARTS_SYMBOL:
        	                	{
        	                		alt685=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt685)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2283:27: STARTS_SYMBOL expression
        	        	    {
        	        	        STARTS_SYMBOL2513 = (pANTLR3_COMMON_TOKEN) MATCHT(STARTS_SYMBOL, &FOLLOW_STARTS_SYMBOL_in_schedule12981);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulescheduleEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        STARTS_SYMBOL2513_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, STARTS_SYMBOL2513));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, STARTS_SYMBOL2513_tree);
        	        	        }

        	        	        FOLLOWPUSH(FOLLOW_expression_in_schedule12983);
        	        	        expression2514=expression(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulescheduleEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2514.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	        // MySQL.g:2283:54: ( ENDS_SYMBOL expression )?
        	        {
        	            int alt686=2;
        	            switch ( LA(1) )
        	            {
        	                case ENDS_SYMBOL:
        	                	{
        	                		alt686=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt686)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2283:55: ENDS_SYMBOL expression
        	        	    {
        	        	        ENDS_SYMBOL2515 = (pANTLR3_COMMON_TOKEN) MATCHT(ENDS_SYMBOL, &FOLLOW_ENDS_SYMBOL_in_schedule12988);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulescheduleEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        ENDS_SYMBOL2515_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ENDS_SYMBOL2515));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, ENDS_SYMBOL2515_tree);
        	        	        }

        	        	        FOLLOWPUSH(FOLLOW_expression_in_schedule12990);
        	        	        expression2516=expression(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulescheduleEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2516.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:2286: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_SYMBOL2517;
    pANTLR3_COMMON_TOKEN    CHAR_SYMBOL2518;
    pANTLR3_COMMON_TOKEN    SET_SYMBOL2519;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR2520;
    pANTLR3_COMMON_TOKEN    COLLATE_SYMBOL2522;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR2523;
    MySQLParser_charset_name_or_default_return charset_name_or_default2521;
    #undef	RETURN_TYPE_charset_name_or_default2521
    #define	RETURN_TYPE_charset_name_or_default2521 MySQLParser_charset_name_or_default_return

    MySQLParser_collation_name_or_default_return collation_name_or_default2524;
    #undef	RETURN_TYPE_collation_name_or_default2524
    #define	RETURN_TYPE_collation_name_or_default2524 MySQLParser_collation_name_or_default_return

    pANTLR3_BASE_TREE DEFAULT_SYMBOL2517_tree;
    pANTLR3_BASE_TREE CHAR_SYMBOL2518_tree;
    pANTLR3_BASE_TREE SET_SYMBOL2519_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR2520_tree;
    pANTLR3_BASE_TREE COLLATE_SYMBOL2522_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR2523_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    DEFAULT_SYMBOL2517       = NULL;
    CHAR_SYMBOL2518       = NULL;
    SET_SYMBOL2519       = NULL;
    EQUAL_OPERATOR2520       = NULL;
    COLLATE_SYMBOL2522       = NULL;
    EQUAL_OPERATOR2523       = NULL;
    charset_name_or_default2521.tree = NULL;

    collation_name_or_default2524.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    DEFAULT_SYMBOL2517_tree   = NULL;
    CHAR_SYMBOL2518_tree   = NULL;
    SET_SYMBOL2519_tree   = NULL;
    EQUAL_OPERATOR2520_tree   = NULL;
    COLLATE_SYMBOL2522_tree   = NULL;
    EQUAL_OPERATOR2523_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2286:16: ( ( DEFAULT_SYMBOL )? ( CHAR_SYMBOL SET_SYMBOL ( EQUAL_OPERATOR )? charset_name_or_default | COLLATE_SYMBOL ( EQUAL_OPERATOR )? collation_name_or_default ) )
        // MySQL.g:2287: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:2287:2: ( DEFAULT_SYMBOL )?
            {
                int alt688=2;
                switch ( LA(1) )
                {
                    case DEFAULT_SYMBOL:
                    	{
                    		alt688=1;
                    	}
                        break;
                }

                switch (alt688)
                {
            	case 1:
            	    // MySQL.g:2287:2: DEFAULT_SYMBOL
            	    {
            	        DEFAULT_SYMBOL2517 = (pANTLR3_COMMON_TOKEN) MATCHT(DEFAULT_SYMBOL, &FOLLOW_DEFAULT_SYMBOL_in_database_option13001);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruledatabase_optionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        DEFAULT_SYMBOL2517_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DEFAULT_SYMBOL2517));
            	        ADAPTOR->addChild(ADAPTOR, root_0, DEFAULT_SYMBOL2517_tree);
            	        }

            	    }
            	    break;

                }
            }

            // MySQL.g:2288:3: ( CHAR_SYMBOL SET_SYMBOL ( EQUAL_OPERATOR )? charset_name_or_default | COLLATE_SYMBOL ( EQUAL_OPERATOR )? collation_name_or_default )
            {
                int alt691=2;
                switch ( LA(1) )
                {
                case CHAR_SYMBOL:
                	{
                		alt691=1;
                	}
                    break;
                case COLLATE_SYMBOL:
                	{
                		alt691=2;
                	}
                    break;

                default:
                    if (BACKTRACKING>0)
                    {
                        FAILEDFLAG = ANTLR3_TRUE;
                        return retval;
                    }

                    CONSTRUCTEX();
                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    EXCEPTION->message      = (void *)"";
                    EXCEPTION->decisionNum  = 691;
                    EXCEPTION->state        = 0;


                    goto ruledatabase_optionEx;

                }

                switch (alt691)
                {
            	case 1:
            	    // MySQL.g:2289:4: CHAR_SYMBOL SET_SYMBOL ( EQUAL_OPERATOR )? charset_name_or_default
            	    {
            	        CHAR_SYMBOL2518 = (pANTLR3_COMMON_TOKEN) MATCHT(CHAR_SYMBOL, &FOLLOW_CHAR_SYMBOL_in_database_option13011);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruledatabase_optionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        CHAR_SYMBOL2518_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CHAR_SYMBOL2518));
            	        ADAPTOR->addChild(ADAPTOR, root_0, CHAR_SYMBOL2518_tree);
            	        }

            	        SET_SYMBOL2519 = (pANTLR3_COMMON_TOKEN) MATCHT(SET_SYMBOL, &FOLLOW_SET_SYMBOL_in_database_option13013);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruledatabase_optionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        SET_SYMBOL2519_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SET_SYMBOL2519));
            	        ADAPTOR->addChild(ADAPTOR, root_0, SET_SYMBOL2519_tree);
            	        }

            	        // MySQL.g:2289:27: ( EQUAL_OPERATOR )?
            	        {
            	            int alt689=2;
            	            switch ( LA(1) )
            	            {
            	                case EQUAL_OPERATOR:
            	                	{
            	                		alt689=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt689)
            	            {
            	        	case 1:
            	        	    // MySQL.g:2289:27: EQUAL_OPERATOR
            	        	    {
            	        	        EQUAL_OPERATOR2520 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_database_option13015);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruledatabase_optionEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        EQUAL_OPERATOR2520_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR2520));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR2520_tree);
            	        	        }

            	        	    }
            	        	    break;

            	            }
            	        }

            	        FOLLOWPUSH(FOLLOW_charset_name_or_default_in_database_option13018);
            	        charset_name_or_default2521=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_default2521.tree);

            	    }
            	    break;
            	case 2:
            	    // MySQL.g:2290:6: COLLATE_SYMBOL ( EQUAL_OPERATOR )? collation_name_or_default
            	    {
            	        COLLATE_SYMBOL2522 = (pANTLR3_COMMON_TOKEN) MATCHT(COLLATE_SYMBOL, &FOLLOW_COLLATE_SYMBOL_in_database_option13025);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruledatabase_optionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        COLLATE_SYMBOL2522_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COLLATE_SYMBOL2522));
            	        ADAPTOR->addChild(ADAPTOR, root_0, COLLATE_SYMBOL2522_tree);
            	        }

            	        // MySQL.g:2290:21: ( EQUAL_OPERATOR )?
            	        {
            	            int alt690=2;
            	            switch ( LA(1) )
            	            {
            	                case EQUAL_OPERATOR:
            	                	{
            	                		alt690=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt690)
            	            {
            	        	case 1:
            	        	    // MySQL.g:2290:21: EQUAL_OPERATOR
            	        	    {
            	        	        EQUAL_OPERATOR2523 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_database_option13027);
            	        	        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_collation_name_or_default_in_database_option13030);
            	        collation_name_or_default2524=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_default2524.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:2294: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_SYMBOL2527;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL2528;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2530;
    MySQLParser_field_spec_return field_spec2525;
    #undef	RETURN_TYPE_field_spec2525
    #define	RETURN_TYPE_field_spec2525 MySQLParser_field_spec_return

    MySQLParser_reference_definition_return reference_definition2526;
    #undef	RETURN_TYPE_reference_definition2526
    #define	RETURN_TYPE_reference_definition2526 MySQLParser_reference_definition_return

    MySQLParser_expression_return expression2529;
    #undef	RETURN_TYPE_expression2529
    #define	RETURN_TYPE_expression2529 MySQLParser_expression_return

    pANTLR3_BASE_TREE CHECK_SYMBOL2527_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2528_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2530_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    CHECK_SYMBOL2527       = NULL;
    OPEN_PAR_SYMBOL2528       = NULL;
    CLOSE_PAR_SYMBOL2530       = NULL;
    field_spec2525.tree = NULL;

    reference_definition2526.tree = NULL;

    expression2529.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    CHECK_SYMBOL2527_tree   = NULL;
    OPEN_PAR_SYMBOL2528_tree   = NULL;
    CLOSE_PAR_SYMBOL2530_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2294:18: ( field_spec ( reference_definition | ( CHECK_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL )? ) )
        // MySQL.g:2295: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_definition13043);
            field_spec2525=field_spec(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulecolumn_definitionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, field_spec2525.tree);

            // MySQL.g:2295:13: ( reference_definition | ( CHECK_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL )? )
            {
                int alt693=2;
                {
                    int LA693_0 = LA(1);
                    if ( (LA693_0 == REFERENCES_SYMBOL))
                    {
                        alt693=1;
                    }
                    else if ( (LA693_0 == AFTER_SYMBOL || LA693_0 == FIRST_SYMBOL || LA693_0 == CHECK_SYMBOL || LA693_0 == COMMA_SYMBOL))
                    {
                        alt693=2;
                    }
                    else if ( ((SERVER_VERSION >= 50100)) && (LA693_0 == PARTITION_SYMBOL))
                    {
                        alt693=2;
                    }
                    else if ( (LA693_0 == EOF || LA693_0 == SEMICOLON_SYMBOL))
                    {
                        alt693=2;
                    }
                    else if ( ((SERVER_VERSION >= 50100)) && (LA693_0 == REMOVE_SYMBOL))
                    {
                        alt693=2;
                    }
                    else if ( (LA693_0 == CLOSE_PAR_SYMBOL))
                    {
                        alt693=2;
                    }
                    else
                    {
                        if (BACKTRACKING>0)
                        {
                            FAILEDFLAG = ANTLR3_TRUE;
                            return retval;
                        }


                        CONSTRUCTEX();
                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                        EXCEPTION->message      = (void *)"";
                        EXCEPTION->decisionNum  = 693;
                        EXCEPTION->state        = 0;


                        goto rulecolumn_definitionEx;

                    }
                }
                switch (alt693)
                {
            	case 1:
            	    // MySQL.g:2295:14: reference_definition
            	    {
            	        FOLLOWPUSH(FOLLOW_reference_definition_in_column_definition13046);
            	        reference_definition2526=reference_definition(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecolumn_definitionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, reference_definition2526.tree);

            	    }
            	    break;
            	case 2:
            	    // MySQL.g:2295:37: ( CHECK_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL )?
            	    {
            	        // MySQL.g:2295:37: ( CHECK_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL )?
            	        {
            	            int alt692=2;
            	            switch ( LA(1) )
            	            {
            	                case CHECK_SYMBOL:
            	                	{
            	                		alt692=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt692)
            	            {
            	        	case 1:
            	        	    // MySQL.g:2295:38: CHECK_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL
            	        	    {
            	        	        CHECK_SYMBOL2527 = (pANTLR3_COMMON_TOKEN) MATCHT(CHECK_SYMBOL, &FOLLOW_CHECK_SYMBOL_in_column_definition13051);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulecolumn_definitionEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        CHECK_SYMBOL2527_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CHECK_SYMBOL2527));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, CHECK_SYMBOL2527_tree);
            	        	        }

            	        	        OPEN_PAR_SYMBOL2528 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_column_definition13053);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulecolumn_definitionEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        OPEN_PAR_SYMBOL2528_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL2528));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL2528_tree);
            	        	        }

            	        	        FOLLOWPUSH(FOLLOW_expression_in_column_definition13055);
            	        	        expression2529=expression(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulecolumn_definitionEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2529.tree);

            	        	        CLOSE_PAR_SYMBOL2530 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_column_definition13057);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulecolumn_definitionEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        CLOSE_PAR_SYMBOL2530_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL2530));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL2530_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:2298: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 identifier2531;
    #undef	RETURN_TYPE_identifier2531
    #define	RETURN_TYPE_identifier2531 MySQLParser_identifier_return

    MySQLParser_data_type_return data_type2532;
    #undef	RETURN_TYPE_data_type2532
    #define	RETURN_TYPE_data_type2532 MySQLParser_data_type_return

    MySQLParser_attribute_return attribute2533;
    #undef	RETURN_TYPE_attribute2533
    #define	RETURN_TYPE_attribute2533 MySQLParser_attribute_return

    MySQLParser_reference_definition_return reference_definition2534;
    #undef	RETURN_TYPE_reference_definition2534
    #define	RETURN_TYPE_reference_definition2534 MySQLParser_reference_definition_return


    /* Initialize rule variables
     */

    root_0 = NULL;

    identifier2531.tree = NULL;

    data_type2532.tree = NULL;

    attribute2533.tree = NULL;

    reference_definition2534.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;




    retval.tree  = NULL;

    {
        // MySQL.g:2298:11: ( identifier data_type ( attribute )* ( options {greedy=true; } : reference_definition )? )
        // MySQL.g:2299:2: identifier data_type ( attribute )* ( options {greedy=true; } : reference_definition )?
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            FOLLOWPUSH(FOLLOW_identifier_in_field_spec13069);
            identifier2531=identifier(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulefield_specEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier2531.tree);

            FOLLOWPUSH(FOLLOW_data_type_in_field_spec13071);
            data_type2532=data_type(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulefield_specEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, data_type2532.tree);

            // MySQL.g:2299:23: ( attribute )*

            for (;;)
            {
                int alt694=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:
                	{
                		alt694=1;
                	}
                    break;

                }

                switch (alt694)
                {
            	case 1:
            	    // MySQL.g:2299:23: attribute
            	    {
            	        FOLLOWPUSH(FOLLOW_attribute_in_field_spec13073);
            	        attribute2533=attribute(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulefield_specEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, attribute2533.tree);

            	    }
            	    break;

            	default:
            	    goto loop694;	/* break out of the loop */
            	    break;
                }
            }
            loop694: ; /* Jump out to here if this rule does not match */


            // MySQL.g:2299:34: ( options {greedy=true; } : reference_definition )?
            {
                int alt695=2;
                switch ( LA(1) )
                {
                    case REFERENCES_SYMBOL:
                    	{
                    		{
                    		    int LA695_1 = LA(2);
                    		    if ( (LA695_1 == IDENTIFIER))
                    		    {
                    		        alt695=1;
                    		    }
                    		    else if ( (LA695_1 == BACK_TICK_QUOTED_ID))
                    		    {
                    		        alt695=1;
                    		    }
                    		    else if ( (LA695_1 == DOUBLE_QUOTED_TEXT))
                    		    {
                    		        alt695=1;
                    		    }
                    		    else if ( (((LA695_1 >= ACTION_SYMBOL) && (LA695_1 <= YEAR_SYMBOL))))
                    		    {
                    		        alt695=1;
                    		    }
                    		    else if ( (LA695_1 == PARTITION_SYMBOL))
                    		    {
                    		        alt695=1;
                    		    }
                    		    else if ( (((LA695_1 >= ASCII_SYMBOL) && (LA695_1 <= XA_SYMBOL))))
                    		    {
                    		        alt695=1;
                    		    }
                    		    else if ( (LA695_1 == DOT_SYMBOL))
                    		    {
                    		        alt695=1;
                    		    }
                    		}
                    	}
                        break;
                }

                switch (alt695)
                {
            	case 1:
            	    // MySQL.g:2299:64: reference_definition
            	    {
            	        FOLLOWPUSH(FOLLOW_reference_definition_in_field_spec13090);
            	        reference_definition2534=reference_definition(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulefield_specEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, reference_definition2534.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:2302: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_SYMBOL2535;
    pANTLR3_COMMON_TOKEN    DEFAULT_SYMBOL2537;
    pANTLR3_COMMON_TOKEN    NOW_SYMBOL2539;
    pANTLR3_COMMON_TOKEN    ON_SYMBOL2541;
    pANTLR3_COMMON_TOKEN    UPDATE_SYMBOL2542;
    pANTLR3_COMMON_TOKEN    NOW_SYMBOL2543;
    pANTLR3_COMMON_TOKEN    AUTO_INCREMENT_SYMBOL2545;
    pANTLR3_COMMON_TOKEN    SERIAL_SYMBOL2546;
    pANTLR3_COMMON_TOKEN    DEFAULT_SYMBOL2547;
    pANTLR3_COMMON_TOKEN    VALUE_SYMBOL2548;
    pANTLR3_COMMON_TOKEN    UNIQUE_SYMBOL2549;
    pANTLR3_COMMON_TOKEN    set2550;
    pANTLR3_COMMON_TOKEN    KEY_SYMBOL2551;
    pANTLR3_COMMON_TOKEN    KEY_SYMBOL2552;
    pANTLR3_COMMON_TOKEN    COMMENT_SYMBOL2553;
    pANTLR3_COMMON_TOKEN    COLLATE_SYMBOL2555;
    pANTLR3_COMMON_TOKEN    COLUMN_FORMAT_SYMBOL2557;
    pANTLR3_COMMON_TOKEN    set2558;
    pANTLR3_COMMON_TOKEN    STORAGE_SYMBOL2559;
    pANTLR3_COMMON_TOKEN    set2560;
    MySQLParser_null_literal_return null_literal2536;
    #undef	RETURN_TYPE_null_literal2536
    #define	RETURN_TYPE_null_literal2536 MySQLParser_null_literal_return

    MySQLParser_literal_return literal2538;
    #undef	RETURN_TYPE_literal2538
    #define	RETURN_TYPE_literal2538 MySQLParser_literal_return

    MySQLParser_time_function_parameters_return time_function_parameters2540;
    #undef	RETURN_TYPE_time_function_parameters2540
    #define	RETURN_TYPE_time_function_parameters2540 MySQLParser_time_function_parameters_return

    MySQLParser_time_function_parameters_return time_function_parameters2544;
    #undef	RETURN_TYPE_time_function_parameters2544
    #define	RETURN_TYPE_time_function_parameters2544 MySQLParser_time_function_parameters_return

    MySQLParser_string_literal_return string_literal2554;
    #undef	RETURN_TYPE_string_literal2554
    #define	RETURN_TYPE_string_literal2554 MySQLParser_string_literal_return

    MySQLParser_text_or_identifier_return text_or_identifier2556;
    #undef	RETURN_TYPE_text_or_identifier2556
    #define	RETURN_TYPE_text_or_identifier2556 MySQLParser_text_or_identifier_return

    pANTLR3_BASE_TREE NOT_SYMBOL2535_tree;
    pANTLR3_BASE_TREE DEFAULT_SYMBOL2537_tree;
    pANTLR3_BASE_TREE NOW_SYMBOL2539_tree;
    pANTLR3_BASE_TREE ON_SYMBOL2541_tree;
    pANTLR3_BASE_TREE UPDATE_SYMBOL2542_tree;
    pANTLR3_BASE_TREE NOW_SYMBOL2543_tree;
    pANTLR3_BASE_TREE AUTO_INCREMENT_SYMBOL2545_tree;
    pANTLR3_BASE_TREE SERIAL_SYMBOL2546_tree;
    pANTLR3_BASE_TREE DEFAULT_SYMBOL2547_tree;
    pANTLR3_BASE_TREE VALUE_SYMBOL2548_tree;
    pANTLR3_BASE_TREE UNIQUE_SYMBOL2549_tree;
    pANTLR3_BASE_TREE set2550_tree;
    pANTLR3_BASE_TREE KEY_SYMBOL2551_tree;
    pANTLR3_BASE_TREE KEY_SYMBOL2552_tree;
    pANTLR3_BASE_TREE COMMENT_SYMBOL2553_tree;
    pANTLR3_BASE_TREE COLLATE_SYMBOL2555_tree;
    pANTLR3_BASE_TREE COLUMN_FORMAT_SYMBOL2557_tree;
    pANTLR3_BASE_TREE set2558_tree;
    pANTLR3_BASE_TREE STORAGE_SYMBOL2559_tree;
    pANTLR3_BASE_TREE set2560_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    NOT_SYMBOL2535       = NULL;
    DEFAULT_SYMBOL2537       = NULL;
    NOW_SYMBOL2539       = NULL;
    ON_SYMBOL2541       = NULL;
    UPDATE_SYMBOL2542       = NULL;
    NOW_SYMBOL2543       = NULL;
    AUTO_INCREMENT_SYMBOL2545       = NULL;
    SERIAL_SYMBOL2546       = NULL;
    DEFAULT_SYMBOL2547       = NULL;
    VALUE_SYMBOL2548       = NULL;
    UNIQUE_SYMBOL2549       = NULL;
    set2550       = NULL;
    KEY_SYMBOL2551       = NULL;
    KEY_SYMBOL2552       = NULL;
    COMMENT_SYMBOL2553       = NULL;
    COLLATE_SYMBOL2555       = NULL;
    COLUMN_FORMAT_SYMBOL2557       = NULL;
    set2558       = NULL;
    STORAGE_SYMBOL2559       = NULL;
    set2560       = NULL;
    null_literal2536.tree = NULL;

    literal2538.tree = NULL;

    time_function_parameters2540.tree = NULL;

    time_function_parameters2544.tree = NULL;

    string_literal2554.tree = NULL;

    text_or_identifier2556.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    NOT_SYMBOL2535_tree   = NULL;
    DEFAULT_SYMBOL2537_tree   = NULL;
    NOW_SYMBOL2539_tree   = NULL;
    ON_SYMBOL2541_tree   = NULL;
    UPDATE_SYMBOL2542_tree   = NULL;
    NOW_SYMBOL2543_tree   = NULL;
    AUTO_INCREMENT_SYMBOL2545_tree   = NULL;
    SERIAL_SYMBOL2546_tree   = NULL;
    DEFAULT_SYMBOL2547_tree   = NULL;
    VALUE_SYMBOL2548_tree   = NULL;
    UNIQUE_SYMBOL2549_tree   = NULL;
    set2550_tree   = NULL;
    KEY_SYMBOL2551_tree   = NULL;
    KEY_SYMBOL2552_tree   = NULL;
    COMMENT_SYMBOL2553_tree   = NULL;
    COLLATE_SYMBOL2555_tree   = NULL;
    COLUMN_FORMAT_SYMBOL2557_tree   = NULL;
    set2558_tree   = NULL;
    STORAGE_SYMBOL2559_tree   = NULL;
    set2560_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:2302: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 alt700;

            alt700=12;

            switch ( LA(1) )
            {
            case NOT_SYMBOL:
            case NULL2_SYMBOL:
            case NULL_SYMBOL:
            	{
            		alt700=1;
            	}
                break;
            case DEFAULT_SYMBOL:
            	{
            		alt700=2;
            	}
                break;
            case ON_SYMBOL:
            	{
            		alt700=3;
            	}
                break;
            case AUTO_INCREMENT_SYMBOL:
            	{
            		alt700=4;
            	}
                break;
            case SERIAL_SYMBOL:
            	{
            		alt700=5;
            	}
                break;
            case UNIQUE_SYMBOL:
            	{
            		switch ( LA(2) )
            		{
            		case KEY_SYMBOL:
            			{
            				{
            				    int LA700_14 = LA(3);
            				    if ( ((LA(2) != KEY_SYMBOL)))
            				    {
            				        alt700=6;
            				    }
            				    else if ( (ANTLR3_TRUE))
            				    {
            				        alt700=7;
            				    }
            				    else
            				    {
            				        if (BACKTRACKING>0)
            				        {
            				            FAILEDFLAG = ANTLR3_TRUE;
            				            return retval;
            				        }


            				        CONSTRUCTEX();
            				        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
            				        EXCEPTION->message      = (void *)"";
            				        EXCEPTION->decisionNum  = 700;
            				        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:
            			{
            				alt700=6;
            			}
            		    break;

            		default:
            		    if (BACKTRACKING>0)
            		    {
            		        FAILEDFLAG = ANTLR3_TRUE;
            		        return retval;
            		    }

            		    CONSTRUCTEX();
            		    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
            		    EXCEPTION->message      = (void *)"";
            		    EXCEPTION->decisionNum  = 700;
            		    EXCEPTION->state        = 7;


            		    goto ruleattributeEx;

            		}

            	}
                break;
            case PRIMARY_SYMBOL:
            	{
            		alt700=7;
            	}
                break;
            case KEY_SYMBOL:
            	{
            		alt700=8;
            	}
                break;
            case COMMENT_SYMBOL:
            	{
            		alt700=9;
            	}
                break;
            case COLLATE_SYMBOL:
            	{
            		alt700=10;
            	}
                break;
            case COLUMN_FORMAT_SYMBOL:
            	{
            		alt700=11;
            	}
                break;
            case STORAGE_SYMBOL:
            	{
            		alt700=12;
            	}
                break;

            default:
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                EXCEPTION->message      = (void *)"";
                EXCEPTION->decisionNum  = 700;
                EXCEPTION->state        = 0;


                goto ruleattributeEx;

            }

            switch (alt700)
            {
        	case 1:
        	    // MySQL.g:2303:2: ( NOT_SYMBOL )? null_literal
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        // MySQL.g:2303:2: ( NOT_SYMBOL )?
        	        {
        	            int alt696=2;
        	            switch ( LA(1) )
        	            {
        	                case NOT_SYMBOL:
        	                	{
        	                		alt696=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt696)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2303:2: NOT_SYMBOL
        	        	    {
        	        	        NOT_SYMBOL2535 = (pANTLR3_COMMON_TOKEN) MATCHT(NOT_SYMBOL, &FOLLOW_NOT_SYMBOL_in_attribute13101);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleattributeEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        NOT_SYMBOL2535_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, NOT_SYMBOL2535));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, NOT_SYMBOL2535_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	        FOLLOWPUSH(FOLLOW_null_literal_in_attribute13104);
        	        null_literal2536=null_literal(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleattributeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, null_literal2536.tree);

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:2304:4: DEFAULT_SYMBOL ( literal | NOW_SYMBOL ( time_function_parameters )? )
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        DEFAULT_SYMBOL2537 = (pANTLR3_COMMON_TOKEN) MATCHT(DEFAULT_SYMBOL, &FOLLOW_DEFAULT_SYMBOL_in_attribute13109);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleattributeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        DEFAULT_SYMBOL2537_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DEFAULT_SYMBOL2537));
        	        ADAPTOR->addChild(ADAPTOR, root_0, DEFAULT_SYMBOL2537_tree);
        	        }

        	        // MySQL.g:2304:19: ( literal | NOW_SYMBOL ( time_function_parameters )? )
        	        {
        	            int alt698=2;
        	            {
        	                int LA698_0 = LA(1);
        	                if ( (LA698_0 == NCHAR_TEXT || LA698_0 == SINGLE_QUOTED_TEXT || LA698_0 == UNDERSCORE_CHARSET))
        	                {
        	                    alt698=1;
        	                }
        	                else if ( ((!SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA698_0 == DOUBLE_QUOTED_TEXT))
        	                {
        	                    alt698=1;
        	                }
        	                else if ( (LA698_0 == FALSE_SYMBOL || LA698_0 == FLOAT || ((LA698_0 >= HEXNUMBER) && (LA698_0 <= HEXSTRING)) || LA698_0 == INTEGER || LA698_0 == TRUE_SYMBOL))
        	                {
        	                    alt698=1;
        	                }
        	                else if ( ((SERVER_VERSION >= 50003)) && (((LA698_0 >= BITNUMBER) && (LA698_0 <= BITSTRING))))
        	                {
        	                    alt698=1;
        	                }
        	                else if ( (LA698_0 == DATE_SYMBOL || ((LA698_0 >= TIMESTAMP_SYMBOL) && (LA698_0 <= TIME_SYMBOL)) || LA698_0 == NULL2_SYMBOL || LA698_0 == NULL_SYMBOL))
        	                {
        	                    alt698=1;
        	                }
        	                else if ( (LA698_0 == NOW_SYMBOL))
        	                {
        	                    alt698=2;
        	                }
        	                else
        	                {
        	                    if (BACKTRACKING>0)
        	                    {
        	                        FAILEDFLAG = ANTLR3_TRUE;
        	                        return retval;
        	                    }


        	                    CONSTRUCTEX();
        	                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                    EXCEPTION->message      = (void *)"";
        	                    EXCEPTION->decisionNum  = 698;
        	                    EXCEPTION->state        = 0;


        	                    goto ruleattributeEx;

        	                }
        	            }
        	            switch (alt698)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2304:20: literal
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_literal_in_attribute13112);
        	        	        literal2538=literal(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleattributeEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, literal2538.tree);

        	        	    }
        	        	    break;
        	        	case 2:
        	        	    // MySQL.g:2304:30: NOW_SYMBOL ( time_function_parameters )?
        	        	    {
        	        	        NOW_SYMBOL2539 = (pANTLR3_COMMON_TOKEN) MATCHT(NOW_SYMBOL, &FOLLOW_NOW_SYMBOL_in_attribute13116);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleattributeEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        NOW_SYMBOL2539_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, NOW_SYMBOL2539));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, NOW_SYMBOL2539_tree);
        	        	        }

        	        	        // MySQL.g:2304:41: ( time_function_parameters )?
        	        	        {
        	        	            int alt697=2;
        	        	            switch ( LA(1) )
        	        	            {
        	        	                case OPEN_PAR_SYMBOL:
        	        	                	{
        	        	                		alt697=1;
        	        	                	}
        	        	                    break;
        	        	            }

        	        	            switch (alt697)
        	        	            {
        	        	        	case 1:
        	        	        	    // MySQL.g:2304:41: time_function_parameters
        	        	        	    {
        	        	        	        FOLLOWPUSH(FOLLOW_time_function_parameters_in_attribute13118);
        	        	        	        time_function_parameters2540=time_function_parameters(ctx);

        	        	        	        FOLLOWPOP();
        	        	        	        if  (HASEXCEPTION())
        	        	        	        {
        	        	        	            goto ruleattributeEx;
        	        	        	        }
        	        	        	        if (HASFAILED())
        	        	        	        {
        	        	        	            return retval;
        	        	        	        }

        	        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, time_function_parameters2540.tree);

        	        	        	    }
        	        	        	    break;

        	        	            }
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 3:
        	    // MySQL.g:2305:4: ON_SYMBOL UPDATE_SYMBOL NOW_SYMBOL ( time_function_parameters )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        ON_SYMBOL2541 = (pANTLR3_COMMON_TOKEN) MATCHT(ON_SYMBOL, &FOLLOW_ON_SYMBOL_in_attribute13125);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleattributeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        ON_SYMBOL2541_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ON_SYMBOL2541));
        	        ADAPTOR->addChild(ADAPTOR, root_0, ON_SYMBOL2541_tree);
        	        }

        	        UPDATE_SYMBOL2542 = (pANTLR3_COMMON_TOKEN) MATCHT(UPDATE_SYMBOL, &FOLLOW_UPDATE_SYMBOL_in_attribute13127);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleattributeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        UPDATE_SYMBOL2542_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, UPDATE_SYMBOL2542));
        	        ADAPTOR->addChild(ADAPTOR, root_0, UPDATE_SYMBOL2542_tree);
        	        }

        	        NOW_SYMBOL2543 = (pANTLR3_COMMON_TOKEN) MATCHT(NOW_SYMBOL, &FOLLOW_NOW_SYMBOL_in_attribute13129);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleattributeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        NOW_SYMBOL2543_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, NOW_SYMBOL2543));
        	        ADAPTOR->addChild(ADAPTOR, root_0, NOW_SYMBOL2543_tree);
        	        }

        	        // MySQL.g:2305:39: ( time_function_parameters )?
        	        {
        	            int alt699=2;
        	            switch ( LA(1) )
        	            {
        	                case OPEN_PAR_SYMBOL:
        	                	{
        	                		alt699=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt699)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2305:39: time_function_parameters
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_time_function_parameters_in_attribute13131);
        	        	        time_function_parameters2544=time_function_parameters(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleattributeEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, time_function_parameters2544.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 4:
        	    // MySQL.g:2306:4: AUTO_INCREMENT_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        AUTO_INCREMENT_SYMBOL2545 = (pANTLR3_COMMON_TOKEN) MATCHT(AUTO_INCREMENT_SYMBOL, &FOLLOW_AUTO_INCREMENT_SYMBOL_in_attribute13137);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleattributeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        AUTO_INCREMENT_SYMBOL2545_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, AUTO_INCREMENT_SYMBOL2545));
        	        ADAPTOR->addChild(ADAPTOR, root_0, AUTO_INCREMENT_SYMBOL2545_tree);
        	        }

        	    }
        	    break;
        	case 5:
        	    // MySQL.g:2307:4: SERIAL_SYMBOL DEFAULT_SYMBOL VALUE_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        SERIAL_SYMBOL2546 = (pANTLR3_COMMON_TOKEN) MATCHT(SERIAL_SYMBOL, &FOLLOW_SERIAL_SYMBOL_in_attribute13142);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleattributeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        SERIAL_SYMBOL2546_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SERIAL_SYMBOL2546));
        	        ADAPTOR->addChild(ADAPTOR, root_0, SERIAL_SYMBOL2546_tree);
        	        }

        	        DEFAULT_SYMBOL2547 = (pANTLR3_COMMON_TOKEN) MATCHT(DEFAULT_SYMBOL, &FOLLOW_DEFAULT_SYMBOL_in_attribute13144);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleattributeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        DEFAULT_SYMBOL2547_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DEFAULT_SYMBOL2547));
        	        ADAPTOR->addChild(ADAPTOR, root_0, DEFAULT_SYMBOL2547_tree);
        	        }

        	        VALUE_SYMBOL2548 = (pANTLR3_COMMON_TOKEN) MATCHT(VALUE_SYMBOL, &FOLLOW_VALUE_SYMBOL_in_attribute13146);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleattributeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        VALUE_SYMBOL2548_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, VALUE_SYMBOL2548));
        	        ADAPTOR->addChild(ADAPTOR, root_0, VALUE_SYMBOL2548_tree);
        	        }

        	    }
        	    break;
        	case 6:
        	    // MySQL.g:2308: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_SYMBOL2549 = (pANTLR3_COMMON_TOKEN) MATCHT(UNIQUE_SYMBOL, &FOLLOW_UNIQUE_SYMBOL_in_attribute13153);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleattributeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        UNIQUE_SYMBOL2549_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, UNIQUE_SYMBOL2549));
        	        ADAPTOR->addChild(ADAPTOR, root_0, UNIQUE_SYMBOL2549_tree);
        	        }

        	    }
        	    break;
        	case 7:
        	    // MySQL.g:2309:4: ( PRIMARY_SYMBOL | UNIQUE_SYMBOL ) KEY_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        set2550=(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, set2550))
        	            );
        	            PERRORRECOVERY=ANTLR3_FALSE;
        	            FAILEDFLAG=ANTLR3_FALSE;

        	        }
        	        else
        	        {
        	            if (BACKTRACKING>0)
        	            {
        	                FAILEDFLAG = ANTLR3_TRUE;
        	                return retval;
        	            }

        	            CONSTRUCTEX();
        	            EXCEPTION->type         = ANTLR3_MISMATCHED_SET_EXCEPTION;
        	            EXCEPTION->name         = (void *)ANTLR3_MISMATCHED_SET_NAME;
        	            EXCEPTION->expectingSet = NULL;

        	            goto ruleattributeEx;
        	        }


        	        KEY_SYMBOL2551 = (pANTLR3_COMMON_TOKEN) MATCHT(KEY_SYMBOL, &FOLLOW_KEY_SYMBOL_in_attribute13166);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleattributeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        KEY_SYMBOL2551_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, KEY_SYMBOL2551));
        	        ADAPTOR->addChild(ADAPTOR, root_0, KEY_SYMBOL2551_tree);
        	        }

        	    }
        	    break;
        	case 8:
        	    // MySQL.g:2310:4: KEY_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        KEY_SYMBOL2552 = (pANTLR3_COMMON_TOKEN) MATCHT(KEY_SYMBOL, &FOLLOW_KEY_SYMBOL_in_attribute13171);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleattributeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        KEY_SYMBOL2552_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, KEY_SYMBOL2552));
        	        ADAPTOR->addChild(ADAPTOR, root_0, KEY_SYMBOL2552_tree);
        	        }

        	    }
        	    break;
        	case 9:
        	    // MySQL.g:2311:4: COMMENT_SYMBOL string_literal
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        COMMENT_SYMBOL2553 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMENT_SYMBOL, &FOLLOW_COMMENT_SYMBOL_in_attribute13176);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleattributeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        COMMENT_SYMBOL2553_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMENT_SYMBOL2553));
        	        ADAPTOR->addChild(ADAPTOR, root_0, COMMENT_SYMBOL2553_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_string_literal_in_attribute13178);
        	        string_literal2554=string_literal(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleattributeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_literal2554.tree);

        	    }
        	    break;
        	case 10:
        	    // MySQL.g:2312:4: COLLATE_SYMBOL text_or_identifier
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        COLLATE_SYMBOL2555 = (pANTLR3_COMMON_TOKEN) MATCHT(COLLATE_SYMBOL, &FOLLOW_COLLATE_SYMBOL_in_attribute13183);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleattributeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        COLLATE_SYMBOL2555_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COLLATE_SYMBOL2555));
        	        ADAPTOR->addChild(ADAPTOR, root_0, COLLATE_SYMBOL2555_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_text_or_identifier_in_attribute13185);
        	        text_or_identifier2556=text_or_identifier(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleattributeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, text_or_identifier2556.tree);

        	    }
        	    break;
        	case 11:
        	    // MySQL.g:2313:4: COLUMN_FORMAT_SYMBOL ( FIXED_SYMBOL | DYNAMIC_SYMBOL | DEFAULT_SYMBOL )
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        COLUMN_FORMAT_SYMBOL2557 = (pANTLR3_COMMON_TOKEN) MATCHT(COLUMN_FORMAT_SYMBOL, &FOLLOW_COLUMN_FORMAT_SYMBOL_in_attribute13190);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleattributeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        COLUMN_FORMAT_SYMBOL2557_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COLUMN_FORMAT_SYMBOL2557));
        	        ADAPTOR->addChild(ADAPTOR, root_0, COLUMN_FORMAT_SYMBOL2557_tree);
        	        }

        	        set2558=(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, set2558))
        	            );
        	            PERRORRECOVERY=ANTLR3_FALSE;
        	            FAILEDFLAG=ANTLR3_FALSE;

        	        }
        	        else
        	        {
        	            if (BACKTRACKING>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:2314:4: STORAGE_SYMBOL ( DISK_SYMBOL | MEMORY_SYMBOL | DEFAULT_SYMBOL )
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        STORAGE_SYMBOL2559 = (pANTLR3_COMMON_TOKEN) MATCHT(STORAGE_SYMBOL, &FOLLOW_STORAGE_SYMBOL_in_attribute13207);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleattributeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        STORAGE_SYMBOL2559_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, STORAGE_SYMBOL2559));
        	        ADAPTOR->addChild(ADAPTOR, root_0, STORAGE_SYMBOL2559_tree);
        	        }

        	        set2560=(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, set2560))
        	            );
        	            PERRORRECOVERY=ANTLR3_FALSE;
        	            FAILEDFLAG=ANTLR3_FALSE;

        	        }
        	        else
        	        {
        	            if (BACKTRACKING>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:2317: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_SYMBOL2561;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL2563;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL2565;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2567;
    pANTLR3_COMMON_TOKEN    MATCH_SYMBOL2568;
    pANTLR3_COMMON_TOKEN    set2569;
    pANTLR3_COMMON_TOKEN    ON_SYMBOL2570;
    pANTLR3_COMMON_TOKEN    DELETE_SYMBOL2571;
    pANTLR3_COMMON_TOKEN    ON_SYMBOL2573;
    pANTLR3_COMMON_TOKEN    UPDATE_SYMBOL2574;
    MySQLParser_table_identifier_return table_identifier2562;
    #undef	RETURN_TYPE_table_identifier2562
    #define	RETURN_TYPE_table_identifier2562 MySQLParser_table_identifier_return

    MySQLParser_index_column_return index_column2564;
    #undef	RETURN_TYPE_index_column2564
    #define	RETURN_TYPE_index_column2564 MySQLParser_index_column_return

    MySQLParser_index_column_return index_column2566;
    #undef	RETURN_TYPE_index_column2566
    #define	RETURN_TYPE_index_column2566 MySQLParser_index_column_return

    MySQLParser_reference_option_return reference_option2572;
    #undef	RETURN_TYPE_reference_option2572
    #define	RETURN_TYPE_reference_option2572 MySQLParser_reference_option_return

    MySQLParser_reference_option_return reference_option2575;
    #undef	RETURN_TYPE_reference_option2575
    #define	RETURN_TYPE_reference_option2575 MySQLParser_reference_option_return

    pANTLR3_BASE_TREE REFERENCES_SYMBOL2561_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2563_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL2565_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2567_tree;
    pANTLR3_BASE_TREE MATCH_SYMBOL2568_tree;
    pANTLR3_BASE_TREE set2569_tree;
    pANTLR3_BASE_TREE ON_SYMBOL2570_tree;
    pANTLR3_BASE_TREE DELETE_SYMBOL2571_tree;
    pANTLR3_BASE_TREE ON_SYMBOL2573_tree;
    pANTLR3_BASE_TREE UPDATE_SYMBOL2574_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    REFERENCES_SYMBOL2561       = NULL;
    OPEN_PAR_SYMBOL2563       = NULL;
    COMMA_SYMBOL2565       = NULL;
    CLOSE_PAR_SYMBOL2567       = NULL;
    MATCH_SYMBOL2568       = NULL;
    set2569       = NULL;
    ON_SYMBOL2570       = NULL;
    DELETE_SYMBOL2571       = NULL;
    ON_SYMBOL2573       = NULL;
    UPDATE_SYMBOL2574       = NULL;
    table_identifier2562.tree = NULL;

    index_column2564.tree = NULL;

    index_column2566.tree = NULL;

    reference_option2572.tree = NULL;

    reference_option2575.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    REFERENCES_SYMBOL2561_tree   = NULL;
    OPEN_PAR_SYMBOL2563_tree   = NULL;
    COMMA_SYMBOL2565_tree   = NULL;
    CLOSE_PAR_SYMBOL2567_tree   = NULL;
    MATCH_SYMBOL2568_tree   = NULL;
    set2569_tree   = NULL;
    ON_SYMBOL2570_tree   = NULL;
    DELETE_SYMBOL2571_tree   = NULL;
    ON_SYMBOL2573_tree   = NULL;
    UPDATE_SYMBOL2574_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2317: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:2318: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_SYMBOL2561 = (pANTLR3_COMMON_TOKEN) MATCHT(REFERENCES_SYMBOL, &FOLLOW_REFERENCES_SYMBOL_in_reference_definition13228);
            if  (HASEXCEPTION())
            {
                goto rulereference_definitionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            REFERENCES_SYMBOL2561_tree = 
            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, REFERENCES_SYMBOL2561))
            ;
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, REFERENCES_SYMBOL2561_tree, root_0));
            }

            FOLLOWPUSH(FOLLOW_table_identifier_in_reference_definition13231);
            table_identifier2562=table_identifier(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulereference_definitionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, table_identifier2562.tree);

            // MySQL.g:2318:38: ( OPEN_PAR_SYMBOL index_column ( COMMA_SYMBOL index_column )? CLOSE_PAR_SYMBOL )?
            {
                int alt702=2;
                switch ( LA(1) )
                {
                    case OPEN_PAR_SYMBOL:
                    	{
                    		alt702=1;
                    	}
                        break;
                }

                switch (alt702)
                {
            	case 1:
            	    // MySQL.g:2318:39: OPEN_PAR_SYMBOL index_column ( COMMA_SYMBOL index_column )? CLOSE_PAR_SYMBOL
            	    {
            	        OPEN_PAR_SYMBOL2563 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_reference_definition13234);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulereference_definitionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        OPEN_PAR_SYMBOL2563_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL2563));
            	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL2563_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_index_column_in_reference_definition13236);
            	        index_column2564=index_column(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulereference_definitionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, index_column2564.tree);

            	        // MySQL.g:2318:68: ( COMMA_SYMBOL index_column )?
            	        {
            	            int alt701=2;
            	            switch ( LA(1) )
            	            {
            	                case COMMA_SYMBOL:
            	                	{
            	                		alt701=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt701)
            	            {
            	        	case 1:
            	        	    // MySQL.g:2318:69: COMMA_SYMBOL index_column
            	        	    {
            	        	        COMMA_SYMBOL2565 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_reference_definition13239);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulereference_definitionEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        COMMA_SYMBOL2565_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL2565));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL2565_tree);
            	        	        }

            	        	        FOLLOWPUSH(FOLLOW_index_column_in_reference_definition13241);
            	        	        index_column2566=index_column(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulereference_definitionEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, index_column2566.tree);

            	        	    }
            	        	    break;

            	            }
            	        }

            	        CLOSE_PAR_SYMBOL2567 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_reference_definition13245);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulereference_definitionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        CLOSE_PAR_SYMBOL2567_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL2567));
            	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL2567_tree);
            	        }

            	    }
            	    break;

                }
            }

            // MySQL.g:2319:3: ( MATCH_SYMBOL ( FULL_SYMBOL | PARTIAL_SYMBOL | SIMPLE_SYMBOL ) )?
            {
                int alt703=2;
                switch ( LA(1) )
                {
                    case MATCH_SYMBOL:
                    	{
                    		alt703=1;
                    	}
                        break;
                }

                switch (alt703)
                {
            	case 1:
            	    // MySQL.g:2319:4: MATCH_SYMBOL ( FULL_SYMBOL | PARTIAL_SYMBOL | SIMPLE_SYMBOL )
            	    {
            	        MATCH_SYMBOL2568 = (pANTLR3_COMMON_TOKEN) MATCHT(MATCH_SYMBOL, &FOLLOW_MATCH_SYMBOL_in_reference_definition13252);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulereference_definitionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        MATCH_SYMBOL2568_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MATCH_SYMBOL2568));
            	        ADAPTOR->addChild(ADAPTOR, root_0, MATCH_SYMBOL2568_tree);
            	        }

            	        set2569=(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, set2569))
            	            );
            	            PERRORRECOVERY=ANTLR3_FALSE;
            	            FAILEDFLAG=ANTLR3_FALSE;

            	        }
            	        else
            	        {
            	            if (BACKTRACKING>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:2320:3: ( ON_SYMBOL DELETE_SYMBOL reference_option )?
            {
                int alt704=2;
                switch ( LA(1) )
                {
                    case ON_SYMBOL:
                    	{
                    		switch ( LA(2) )
                    		{
                    		    case DELETE_SYMBOL:
                    		    	{
                    		    		alt704=1;
                    		    	}
                    		        break;
                    		}

                    	}
                        break;
                }

                switch (alt704)
                {
            	case 1:
            	    // MySQL.g:2320:4: ON_SYMBOL DELETE_SYMBOL reference_option
            	    {
            	        ON_SYMBOL2570 = (pANTLR3_COMMON_TOKEN) MATCHT(ON_SYMBOL, &FOLLOW_ON_SYMBOL_in_reference_definition13271);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulereference_definitionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        ON_SYMBOL2570_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ON_SYMBOL2570));
            	        ADAPTOR->addChild(ADAPTOR, root_0, ON_SYMBOL2570_tree);
            	        }

            	        DELETE_SYMBOL2571 = (pANTLR3_COMMON_TOKEN) MATCHT(DELETE_SYMBOL, &FOLLOW_DELETE_SYMBOL_in_reference_definition13273);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulereference_definitionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        DELETE_SYMBOL2571_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DELETE_SYMBOL2571));
            	        ADAPTOR->addChild(ADAPTOR, root_0, DELETE_SYMBOL2571_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_reference_option_in_reference_definition13275);
            	        reference_option2572=reference_option(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulereference_definitionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, reference_option2572.tree);

            	    }
            	    break;

                }
            }

            // MySQL.g:2321:3: ( ON_SYMBOL UPDATE_SYMBOL reference_option )?
            {
                int alt705=2;
                switch ( LA(1) )
                {
                    case ON_SYMBOL:
                    	{
                    		alt705=1;
                    	}
                        break;
                }

                switch (alt705)
                {
            	case 1:
            	    // MySQL.g:2321:4: ON_SYMBOL UPDATE_SYMBOL reference_option
            	    {
            	        ON_SYMBOL2573 = (pANTLR3_COMMON_TOKEN) MATCHT(ON_SYMBOL, &FOLLOW_ON_SYMBOL_in_reference_definition13282);
            	        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);
            	        }

            	        UPDATE_SYMBOL2574 = (pANTLR3_COMMON_TOKEN) MATCHT(UPDATE_SYMBOL, &FOLLOW_UPDATE_SYMBOL_in_reference_definition13284);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulereference_definitionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        UPDATE_SYMBOL2574_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, UPDATE_SYMBOL2574));
            	        ADAPTOR->addChild(ADAPTOR, root_0, UPDATE_SYMBOL2574_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_reference_option_in_reference_definition13286);
            	        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;

                }
            }

        }

    }

    // 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:2324: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_SYMBOL2576;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL2578;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2580;
    MySQLParser_index_column_return index_column2577;
    #undef	RETURN_TYPE_index_column2577
    #define	RETURN_TYPE_index_column2577 MySQLParser_index_column_return

    MySQLParser_index_column_return index_column2579;
    #undef	RETURN_TYPE_index_column2579
    #define	RETURN_TYPE_index_column2579 MySQLParser_index_column_return

    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2576_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL2578_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2580_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    OPEN_PAR_SYMBOL2576       = NULL;
    COMMA_SYMBOL2578       = NULL;
    CLOSE_PAR_SYMBOL2580       = NULL;
    index_column2577.tree = NULL;

    index_column2579.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    OPEN_PAR_SYMBOL2576_tree   = NULL;
    COMMA_SYMBOL2578_tree   = NULL;
    CLOSE_PAR_SYMBOL2580_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2324:14: ( OPEN_PAR_SYMBOL index_column ( COMMA_SYMBOL index_column )* CLOSE_PAR_SYMBOL )
        // MySQL.g:2325:2: OPEN_PAR_SYMBOL index_column ( COMMA_SYMBOL index_column )* CLOSE_PAR_SYMBOL
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            OPEN_PAR_SYMBOL2576 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_index_columns13297);
            if  (HASEXCEPTION())
            {
                goto ruleindex_columnsEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            OPEN_PAR_SYMBOL2576_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL2576));
            ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL2576_tree);
            }

            FOLLOWPUSH(FOLLOW_index_column_in_index_columns13299);
            index_column2577=index_column(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruleindex_columnsEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, index_column2577.tree);

            // MySQL.g:2325:31: ( COMMA_SYMBOL index_column )*

            for (;;)
            {
                int alt706=2;
                switch ( LA(1) )
                {
                case COMMA_SYMBOL:
                	{
                		alt706=1;
                	}
                    break;

                }

                switch (alt706)
                {
            	case 1:
            	    // MySQL.g:2325:32: COMMA_SYMBOL index_column
            	    {
            	        COMMA_SYMBOL2578 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_index_columns13302);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleindex_columnsEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        COMMA_SYMBOL2578_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL2578));
            	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL2578_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_index_column_in_index_columns13304);
            	        index_column2579=index_column(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleindex_columnsEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, index_column2579.tree);

            	    }
            	    break;

            	default:
            	    goto loop706;	/* break out of the loop */
            	    break;
                }
            }
            loop706: ; /* Jump out to here if this rule does not match */


            CLOSE_PAR_SYMBOL2580 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_index_columns13308);
            if  (HASEXCEPTION())
            {
                goto ruleindex_columnsEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            CLOSE_PAR_SYMBOL2580_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL2580));
            ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL2580_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:2328: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 identifier2581;
    #undef	RETURN_TYPE_identifier2581
    #define	RETURN_TYPE_identifier2581 MySQLParser_identifier_return

    MySQLParser_field_length_return field_length2582;
    #undef	RETURN_TYPE_field_length2582
    #define	RETURN_TYPE_field_length2582 MySQLParser_field_length_return

    MySQLParser_direction_return direction2583;
    #undef	RETURN_TYPE_direction2583
    #define	RETURN_TYPE_direction2583 MySQLParser_direction_return


    /* Initialize rule variables
     */

    root_0 = NULL;

    identifier2581.tree = NULL;

    field_length2582.tree = NULL;

    direction2583.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;




    retval.tree  = NULL;

    {
        // MySQL.g:2328:13: ( identifier ( field_length )? ( direction )? )
        // MySQL.g:2329:2: identifier ( field_length )? ( direction )?
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            FOLLOWPUSH(FOLLOW_identifier_in_index_column13317);
            identifier2581=identifier(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruleindex_columnEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier2581.tree);

            // MySQL.g:2329:13: ( field_length )?
            {
                int alt707=2;
                switch ( LA(1) )
                {
                    case OPEN_PAR_SYMBOL:
                    	{
                    		alt707=1;
                    	}
                        break;
                }

                switch (alt707)
                {
            	case 1:
            	    // MySQL.g:2329:13: field_length
            	    {
            	        FOLLOWPUSH(FOLLOW_field_length_in_index_column13319);
            	        field_length2582=field_length(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleindex_columnEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, field_length2582.tree);

            	    }
            	    break;

                }
            }

            // MySQL.g:2329:27: ( direction )?
            {
                int alt708=2;
                switch ( LA(1) )
                {
                    case ASC_SYMBOL:
                    case DESC_SYMBOL:
                    	{
                    		alt708=1;
                    	}
                        break;
                }

                switch (alt708)
                {
            	case 1:
            	    // MySQL.g:2329:27: direction
            	    {
            	        FOLLOWPUSH(FOLLOW_direction_in_index_column13322);
            	        direction2583=direction(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleindex_columnEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, direction2583.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:2332: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    set2584;
    pANTLR3_COMMON_TOKEN    set2585;

    pANTLR3_BASE_TREE set2584_tree;
    pANTLR3_BASE_TREE set2585_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    set2584       = NULL;
    set2585       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    set2584_tree   = NULL;
    set2585_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2332:11: ( ( USING_SYMBOL | TYPE_SYMBOL ) ( BTREE_SYMBOL | RTREE_SYMBOL | HASH_SYMBOL ) )
        // MySQL.g:2333:2: ( USING_SYMBOL | TYPE_SYMBOL ) ( BTREE_SYMBOL | RTREE_SYMBOL | HASH_SYMBOL )
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            set2584=(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, set2584))
                );
                PERRORRECOVERY=ANTLR3_FALSE;
                FAILEDFLAG=ANTLR3_FALSE;

            }
            else
            {
                if (BACKTRACKING>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;
            }


            set2585=(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, set2585))
                );
                PERRORRECOVERY=ANTLR3_FALSE;
                FAILEDFLAG=ANTLR3_FALSE;

            }
            else
            {
                if (BACKTRACKING>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:2336: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_type2586;
    #undef	RETURN_TYPE_index_type2586
    #define	RETURN_TYPE_index_type2586 MySQLParser_index_type_return

    MySQLParser_spatial_index_option_return spatial_index_option2587;
    #undef	RETURN_TYPE_spatial_index_option2587
    #define	RETURN_TYPE_spatial_index_option2587 MySQLParser_spatial_index_option_return


    /* Initialize rule variables
     */

    root_0 = NULL;

    index_type2586.tree = NULL;

    spatial_index_option2587.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;




    retval.tree  = NULL;

    {
        {
            //  MySQL.g:2336:13: ( index_type | spatial_index_option )

            ANTLR3_UINT32 alt709;

            alt709=2;

            {
                int LA709_0 = LA(1);
                if ( (LA709_0 == TYPE_SYMBOL || LA709_0 == USING_SYMBOL))
                {
                    alt709=1;
                }
                else if ( (LA709_0 == KEY_BLOCK_SIZE_SYMBOL))
                {
                    alt709=2;
                }
                else if ( ((SERVER_VERSION >= 50600)) && (LA709_0 == COMMENT_SYMBOL))
                {
                    alt709=2;
                }
                else
                {
                    if (BACKTRACKING>0)
                    {
                        FAILEDFLAG = ANTLR3_TRUE;
                        return retval;
                    }


                    CONSTRUCTEX();
                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    EXCEPTION->message      = (void *)"";
                    EXCEPTION->decisionNum  = 709;
                    EXCEPTION->state        = 0;


                    goto ruleindex_optionEx;

                }
            }
            switch (alt709)
            {
        	case 1:
        	    // MySQL.g:2337:2: index_type
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_index_type_in_index_option13359);
        	        index_type2586=index_type(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleindex_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, index_type2586.tree);

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:2338:4: spatial_index_option
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_spatial_index_option_in_index_option13364);
        	        spatial_index_option2587=spatial_index_option(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleindex_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, spatial_index_option2587.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:2341: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_SYMBOL2588;
    pANTLR3_COMMON_TOKEN    PARSER_SYMBOL2589;
    MySQLParser_identifier_return identifier2590;
    #undef	RETURN_TYPE_identifier2590
    #define	RETURN_TYPE_identifier2590 MySQLParser_identifier_return

    MySQLParser_spatial_index_option_return spatial_index_option2591;
    #undef	RETURN_TYPE_spatial_index_option2591
    #define	RETURN_TYPE_spatial_index_option2591 MySQLParser_spatial_index_option_return

    pANTLR3_BASE_TREE WITH_SYMBOL2588_tree;
    pANTLR3_BASE_TREE PARSER_SYMBOL2589_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    WITH_SYMBOL2588       = NULL;
    PARSER_SYMBOL2589       = NULL;
    identifier2590.tree = NULL;

    spatial_index_option2591.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    WITH_SYMBOL2588_tree   = NULL;
    PARSER_SYMBOL2589_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:2341:22: ( WITH_SYMBOL PARSER_SYMBOL identifier | spatial_index_option )

            ANTLR3_UINT32 alt710;

            alt710=2;

            {
                int LA710_0 = LA(1);
                if ( (LA710_0 == WITH_SYMBOL))
                {
                    alt710=1;
                }
                else if ( (LA710_0 == KEY_BLOCK_SIZE_SYMBOL))
                {
                    alt710=2;
                }
                else if ( ((SERVER_VERSION >= 50600)) && (LA710_0 == COMMENT_SYMBOL))
                {
                    alt710=2;
                }
                else
                {
                    if (BACKTRACKING>0)
                    {
                        FAILEDFLAG = ANTLR3_TRUE;
                        return retval;
                    }


                    CONSTRUCTEX();
                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    EXCEPTION->message      = (void *)"";
                    EXCEPTION->decisionNum  = 710;
                    EXCEPTION->state        = 0;


                    goto rulefulltext_index_optionEx;

                }
            }
            switch (alt710)
            {
        	case 1:
        	    // MySQL.g:2342:2: WITH_SYMBOL PARSER_SYMBOL identifier
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        WITH_SYMBOL2588 = (pANTLR3_COMMON_TOKEN) MATCHT(WITH_SYMBOL, &FOLLOW_WITH_SYMBOL_in_fulltext_index_option13373);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefulltext_index_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        WITH_SYMBOL2588_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, WITH_SYMBOL2588));
        	        ADAPTOR->addChild(ADAPTOR, root_0, WITH_SYMBOL2588_tree);
        	        }

        	        PARSER_SYMBOL2589 = (pANTLR3_COMMON_TOKEN) MATCHT(PARSER_SYMBOL, &FOLLOW_PARSER_SYMBOL_in_fulltext_index_option13375);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefulltext_index_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        PARSER_SYMBOL2589_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, PARSER_SYMBOL2589));
        	        ADAPTOR->addChild(ADAPTOR, root_0, PARSER_SYMBOL2589_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_identifier_in_fulltext_index_option13377);
        	        identifier2590=identifier(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefulltext_index_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier2590.tree);

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:2343:4: spatial_index_option
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_spatial_index_option_in_fulltext_index_option13382);
        	        spatial_index_option2591=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_option2591.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:2346: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_SYMBOL2592;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR2593;
    pANTLR3_COMMON_TOKEN    INTEGER2594;
    pANTLR3_COMMON_TOKEN    COMMENT_SYMBOL2595;
    MySQLParser_string_literal_return string_literal2596;
    #undef	RETURN_TYPE_string_literal2596
    #define	RETURN_TYPE_string_literal2596 MySQLParser_string_literal_return

    pANTLR3_BASE_TREE KEY_BLOCK_SIZE_SYMBOL2592_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR2593_tree;
    pANTLR3_BASE_TREE INTEGER2594_tree;
    pANTLR3_BASE_TREE COMMENT_SYMBOL2595_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    KEY_BLOCK_SIZE_SYMBOL2592       = NULL;
    EQUAL_OPERATOR2593       = NULL;
    INTEGER2594       = NULL;
    COMMENT_SYMBOL2595       = NULL;
    string_literal2596.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    KEY_BLOCK_SIZE_SYMBOL2592_tree   = NULL;
    EQUAL_OPERATOR2593_tree   = NULL;
    INTEGER2594_tree   = NULL;
    COMMENT_SYMBOL2595_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:2346:21: ( KEY_BLOCK_SIZE_SYMBOL ( EQUAL_OPERATOR )? INTEGER |{...}? => COMMENT_SYMBOL string_literal )

            ANTLR3_UINT32 alt712;

            alt712=2;

            {
                int LA712_0 = LA(1);
                if ( (LA712_0 == KEY_BLOCK_SIZE_SYMBOL))
                {
                    alt712=1;
                }
                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 rulespatial_index_optionEx;

                }
            }
            switch (alt712)
            {
        	case 1:
        	    // MySQL.g:2347:2: KEY_BLOCK_SIZE_SYMBOL ( EQUAL_OPERATOR )? INTEGER
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        KEY_BLOCK_SIZE_SYMBOL2592 = (pANTLR3_COMMON_TOKEN) MATCHT(KEY_BLOCK_SIZE_SYMBOL, &FOLLOW_KEY_BLOCK_SIZE_SYMBOL_in_spatial_index_option13391);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulespatial_index_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        KEY_BLOCK_SIZE_SYMBOL2592_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, KEY_BLOCK_SIZE_SYMBOL2592));
        	        ADAPTOR->addChild(ADAPTOR, root_0, KEY_BLOCK_SIZE_SYMBOL2592_tree);
        	        }

        	        // MySQL.g:2347:24: ( EQUAL_OPERATOR )?
        	        {
        	            int alt711=2;
        	            switch ( LA(1) )
        	            {
        	                case EQUAL_OPERATOR:
        	                	{
        	                		alt711=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt711)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2347:24: EQUAL_OPERATOR
        	        	    {
        	        	        EQUAL_OPERATOR2593 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_spatial_index_option13393);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulespatial_index_optionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        EQUAL_OPERATOR2593_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR2593));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR2593_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	        INTEGER2594 = (pANTLR3_COMMON_TOKEN) MATCHT(INTEGER, &FOLLOW_INTEGER_in_spatial_index_option13396);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulespatial_index_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        INTEGER2594_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INTEGER2594));
        	        ADAPTOR->addChild(ADAPTOR, root_0, INTEGER2594_tree);
        	        }

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:2348: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_SYMBOL2595 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMENT_SYMBOL, &FOLLOW_COMMENT_SYMBOL_in_spatial_index_option13405);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulespatial_index_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        COMMENT_SYMBOL2595_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMENT_SYMBOL2595));
        	        ADAPTOR->addChild(ADAPTOR, root_0, COMMENT_SYMBOL2595_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_string_literal_in_spatial_index_option13407);
        	        string_literal2596=string_literal(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulespatial_index_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_literal2596.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:2351: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_SYMBOL2597;
    pANTLR3_COMMON_TOKEN    CASCADE_SYMBOL2598;
    pANTLR3_COMMON_TOKEN    SET_SYMBOL2599;
    pANTLR3_COMMON_TOKEN    NO_SYMBOL2601;
    pANTLR3_COMMON_TOKEN    ACTION_SYMBOL2602;
    MySQLParser_null_literal_return null_literal2600;
    #undef	RETURN_TYPE_null_literal2600
    #define	RETURN_TYPE_null_literal2600 MySQLParser_null_literal_return

    pANTLR3_BASE_TREE RESTRICT_SYMBOL2597_tree;
    pANTLR3_BASE_TREE CASCADE_SYMBOL2598_tree;
    pANTLR3_BASE_TREE SET_SYMBOL2599_tree;
    pANTLR3_BASE_TREE NO_SYMBOL2601_tree;
    pANTLR3_BASE_TREE ACTION_SYMBOL2602_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    RESTRICT_SYMBOL2597       = NULL;
    CASCADE_SYMBOL2598       = NULL;
    SET_SYMBOL2599       = NULL;
    NO_SYMBOL2601       = NULL;
    ACTION_SYMBOL2602       = NULL;
    null_literal2600.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    RESTRICT_SYMBOL2597_tree   = NULL;
    CASCADE_SYMBOL2598_tree   = NULL;
    SET_SYMBOL2599_tree   = NULL;
    NO_SYMBOL2601_tree   = NULL;
    ACTION_SYMBOL2602_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:2351:17: ( RESTRICT_SYMBOL | CASCADE_SYMBOL | SET_SYMBOL null_literal | NO_SYMBOL ACTION_SYMBOL )

            ANTLR3_UINT32 alt713;

            alt713=4;

            switch ( LA(1) )
            {
            case RESTRICT_SYMBOL:
            	{
            		alt713=1;
            	}
                break;
            case CASCADE_SYMBOL:
            	{
            		alt713=2;
            	}
                break;
            case SET_SYMBOL:
            	{
            		alt713=3;
            	}
                break;
            case NO_SYMBOL:
            	{
            		alt713=4;
            	}
                break;

            default:
                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 rulereference_optionEx;

            }

            switch (alt713)
            {
        	case 1:
        	    // MySQL.g:2352:2: RESTRICT_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        RESTRICT_SYMBOL2597 = (pANTLR3_COMMON_TOKEN) MATCHT(RESTRICT_SYMBOL, &FOLLOW_RESTRICT_SYMBOL_in_reference_option13416);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulereference_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        RESTRICT_SYMBOL2597_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, RESTRICT_SYMBOL2597));
        	        ADAPTOR->addChild(ADAPTOR, root_0, RESTRICT_SYMBOL2597_tree);
        	        }

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:2352:20: CASCADE_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        CASCADE_SYMBOL2598 = (pANTLR3_COMMON_TOKEN) MATCHT(CASCADE_SYMBOL, &FOLLOW_CASCADE_SYMBOL_in_reference_option13420);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulereference_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CASCADE_SYMBOL2598_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CASCADE_SYMBOL2598));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CASCADE_SYMBOL2598_tree);
        	        }

        	    }
        	    break;
        	case 3:
        	    // MySQL.g:2352:37: SET_SYMBOL null_literal
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        SET_SYMBOL2599 = (pANTLR3_COMMON_TOKEN) MATCHT(SET_SYMBOL, &FOLLOW_SET_SYMBOL_in_reference_option13424);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulereference_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        SET_SYMBOL2599_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SET_SYMBOL2599));
        	        ADAPTOR->addChild(ADAPTOR, root_0, SET_SYMBOL2599_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_null_literal_in_reference_option13426);
        	        null_literal2600=null_literal(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulereference_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, null_literal2600.tree);

        	    }
        	    break;
        	case 4:
        	    // MySQL.g:2352:63: NO_SYMBOL ACTION_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        NO_SYMBOL2601 = (pANTLR3_COMMON_TOKEN) MATCHT(NO_SYMBOL, &FOLLOW_NO_SYMBOL_in_reference_option13430);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulereference_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        NO_SYMBOL2601_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, NO_SYMBOL2601));
        	        ADAPTOR->addChild(ADAPTOR, root_0, NO_SYMBOL2601_tree);
        	        }

        	        ACTION_SYMBOL2602 = (pANTLR3_COMMON_TOKEN) MATCHT(ACTION_SYMBOL, &FOLLOW_ACTION_SYMBOL_in_reference_option13432);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulereference_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        ACTION_SYMBOL2602_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ACTION_SYMBOL2602));
        	        ADAPTOR->addChild(ADAPTOR, root_0, ACTION_SYMBOL2602_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:2355: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_elements2603;
    #undef	RETURN_TYPE_data_type_elements2603
    #define	RETURN_TYPE_data_type_elements2603 MySQLParser_data_type_elements_return

    pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_data_type_elements;
    /* Initialize rule variables
     */

    root_0 = NULL;

    data_type_elements2603.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:2355:10: ( data_type_elements -> ^( DATA_TYPE data_type_elements ) )
        // MySQL.g:2356:2: data_type_elements
        {
            FOLLOWPUSH(FOLLOW_data_type_elements_in_data_type13441);
            data_type_elements2603=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_elements2603.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;
            	// 2356:21: -> ^( DATA_TYPE data_type_elements )
            	{
            	    // MySQL.g:2356: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:2359: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_SYMBOL2610;
    pANTLR3_COMMON_TOKEN    BIT_SYMBOL2613;
    pANTLR3_COMMON_TOKEN    BOOL_SYMBOL2615;
    pANTLR3_COMMON_TOKEN    BOOLEAN_SYMBOL2616;
    pANTLR3_COMMON_TOKEN    CHAR_SYMBOL2617;
    pANTLR3_COMMON_TOKEN    BINARY_SYMBOL2622;
    pANTLR3_COMMON_TOKEN    BINARY_SYMBOL2623;
    pANTLR3_COMMON_TOKEN    VARBINARY_SYMBOL2631;
    pANTLR3_COMMON_TOKEN    YEAR_SYMBOL2633;
    pANTLR3_COMMON_TOKEN    DATE_SYMBOL2636;
    pANTLR3_COMMON_TOKEN    TIME_SYMBOL2637;
    pANTLR3_COMMON_TOKEN    TIMESTAMP_SYMBOL2639;
    pANTLR3_COMMON_TOKEN    DATETIME_SYMBOL2641;
    pANTLR3_COMMON_TOKEN    TINYBLOB_SYMBOL2643;
    pANTLR3_COMMON_TOKEN    BLOB_SYMBOL2644;
    pANTLR3_COMMON_TOKEN    MEDIUMBLOB_SYMBOL2646;
    pANTLR3_COMMON_TOKEN    LONGBLOB_SYMBOL2647;
    pANTLR3_COMMON_TOKEN    LONG_SYMBOL2648;
    pANTLR3_COMMON_TOKEN    VARBINARY_SYMBOL2649;
    pANTLR3_COMMON_TOKEN    LONG_SYMBOL2650;
    pANTLR3_COMMON_TOKEN    TINYTEXT_SYMBOL2653;
    pANTLR3_COMMON_TOKEN    TEXT_SYMBOL2655;
    pANTLR3_COMMON_TOKEN    MEDIUMTEXT_SYMBOL2658;
    pANTLR3_COMMON_TOKEN    LONGTEXT_SYMBOL2660;
    pANTLR3_COMMON_TOKEN    DECIMAL_SYMBOL2662;
    pANTLR3_COMMON_TOKEN    NUMERIC_SYMBOL2665;
    pANTLR3_COMMON_TOKEN    FIXED_SYMBOL2668;
    pANTLR3_COMMON_TOKEN    ENUM_SYMBOL2671;
    pANTLR3_COMMON_TOKEN    SET_SYMBOL2674;
    pANTLR3_COMMON_TOKEN    SERIAL_SYMBOL2677;
    MySQLParser_integer_type_return integer_type2604;
    #undef	RETURN_TYPE_integer_type2604
    #define	RETURN_TYPE_integer_type2604 MySQLParser_integer_type_return

    MySQLParser_field_length_return field_length2605;
    #undef	RETURN_TYPE_field_length2605
    #define	RETURN_TYPE_field_length2605 MySQLParser_field_length_return

    MySQLParser_field_options_return field_options2606;
    #undef	RETURN_TYPE_field_options2606
    #define	RETURN_TYPE_field_options2606 MySQLParser_field_options_return

    MySQLParser_real_literal_return real_literal2607;
    #undef	RETURN_TYPE_real_literal2607
    #define	RETURN_TYPE_real_literal2607 MySQLParser_real_literal_return

    MySQLParser_precision_return precision2608;
    #undef	RETURN_TYPE_precision2608
    #define	RETURN_TYPE_precision2608 MySQLParser_precision_return

    MySQLParser_field_options_return field_options2609;
    #undef	RETURN_TYPE_field_options2609
    #define	RETURN_TYPE_field_options2609 MySQLParser_field_options_return

    MySQLParser_float_options_return float_options2611;
    #undef	RETURN_TYPE_float_options2611
    #define	RETURN_TYPE_float_options2611 MySQLParser_float_options_return

    MySQLParser_field_options_return field_options2612;
    #undef	RETURN_TYPE_field_options2612
    #define	RETURN_TYPE_field_options2612 MySQLParser_field_options_return

    MySQLParser_field_length_return field_length2614;
    #undef	RETURN_TYPE_field_length2614
    #define	RETURN_TYPE_field_length2614 MySQLParser_field_length_return

    MySQLParser_field_length_return field_length2618;
    #undef	RETURN_TYPE_field_length2618
    #define	RETURN_TYPE_field_length2618 MySQLParser_field_length_return

    MySQLParser_string_binary_return string_binary2619;
    #undef	RETURN_TYPE_string_binary2619
    #define	RETURN_TYPE_string_binary2619 MySQLParser_string_binary_return

    MySQLParser_nchar_literal_return nchar_literal2620;
    #undef	RETURN_TYPE_nchar_literal2620
    #define	RETURN_TYPE_nchar_literal2620 MySQLParser_nchar_literal_return

    MySQLParser_field_length_return field_length2621;
    #undef	RETURN_TYPE_field_length2621
    #define	RETURN_TYPE_field_length2621 MySQLParser_field_length_return

    MySQLParser_field_length_return field_length2624;
    #undef	RETURN_TYPE_field_length2624
    #define	RETURN_TYPE_field_length2624 MySQLParser_field_length_return

    MySQLParser_varchar_literal_return varchar_literal2625;
    #undef	RETURN_TYPE_varchar_literal2625
    #define	RETURN_TYPE_varchar_literal2625 MySQLParser_varchar_literal_return

    MySQLParser_field_length_return field_length2626;
    #undef	RETURN_TYPE_field_length2626
    #define	RETURN_TYPE_field_length2626 MySQLParser_field_length_return

    MySQLParser_string_binary_return string_binary2627;
    #undef	RETURN_TYPE_string_binary2627
    #define	RETURN_TYPE_string_binary2627 MySQLParser_string_binary_return

    MySQLParser_nvarchar_literal_return nvarchar_literal2628;
    #undef	RETURN_TYPE_nvarchar_literal2628
    #define	RETURN_TYPE_nvarchar_literal2628 MySQLParser_nvarchar_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_field_length_return field_length2632;
    #undef	RETURN_TYPE_field_length2632
    #define	RETURN_TYPE_field_length2632 MySQLParser_field_length_return

    MySQLParser_field_length_return field_length2634;
    #undef	RETURN_TYPE_field_length2634
    #define	RETURN_TYPE_field_length2634 MySQLParser_field_length_return

    MySQLParser_field_options_return field_options2635;
    #undef	RETURN_TYPE_field_options2635
    #define	RETURN_TYPE_field_options2635 MySQLParser_field_options_return

    MySQLParser_type_datetime_precision_return type_datetime_precision2638;
    #undef	RETURN_TYPE_type_datetime_precision2638
    #define	RETURN_TYPE_type_datetime_precision2638 MySQLParser_type_datetime_precision_return

    MySQLParser_type_datetime_precision_return type_datetime_precision2640;
    #undef	RETURN_TYPE_type_datetime_precision2640
    #define	RETURN_TYPE_type_datetime_precision2640 MySQLParser_type_datetime_precision_return

    MySQLParser_type_datetime_precision_return type_datetime_precision2642;
    #undef	RETURN_TYPE_type_datetime_precision2642
    #define	RETURN_TYPE_type_datetime_precision2642 MySQLParser_type_datetime_precision_return

    MySQLParser_field_length_return field_length2645;
    #undef	RETURN_TYPE_field_length2645
    #define	RETURN_TYPE_field_length2645 MySQLParser_field_length_return

    MySQLParser_varchar_literal_return varchar_literal2651;
    #undef	RETURN_TYPE_varchar_literal2651
    #define	RETURN_TYPE_varchar_literal2651 MySQLParser_varchar_literal_return

    MySQLParser_string_binary_return string_binary2652;
    #undef	RETURN_TYPE_string_binary2652
    #define	RETURN_TYPE_string_binary2652 MySQLParser_string_binary_return

    MySQLParser_string_binary_return string_binary2654;
    #undef	RETURN_TYPE_string_binary2654
    #define	RETURN_TYPE_string_binary2654 MySQLParser_string_binary_return

    MySQLParser_field_length_return field_length2656;
    #undef	RETURN_TYPE_field_length2656
    #define	RETURN_TYPE_field_length2656 MySQLParser_field_length_return

    MySQLParser_string_binary_return string_binary2657;
    #undef	RETURN_TYPE_string_binary2657
    #define	RETURN_TYPE_string_binary2657 MySQLParser_string_binary_return

    MySQLParser_string_binary_return string_binary2659;
    #undef	RETURN_TYPE_string_binary2659
    #define	RETURN_TYPE_string_binary2659 MySQLParser_string_binary_return

    MySQLParser_string_binary_return string_binary2661;
    #undef	RETURN_TYPE_string_binary2661
    #define	RETURN_TYPE_string_binary2661 MySQLParser_string_binary_return

    MySQLParser_float_options_return float_options2663;
    #undef	RETURN_TYPE_float_options2663
    #define	RETURN_TYPE_float_options2663 MySQLParser_float_options_return

    MySQLParser_field_options_return field_options2664;
    #undef	RETURN_TYPE_field_options2664
    #define	RETURN_TYPE_field_options2664 MySQLParser_field_options_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_string_list_return string_list2672;
    #undef	RETURN_TYPE_string_list2672
    #define	RETURN_TYPE_string_list2672 MySQLParser_string_list_return

    MySQLParser_string_binary_return string_binary2673;
    #undef	RETURN_TYPE_string_binary2673
    #define	RETURN_TYPE_string_binary2673 MySQLParser_string_binary_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_spatial_type_return spatial_type2678;
    #undef	RETURN_TYPE_spatial_type2678
    #define	RETURN_TYPE_spatial_type2678 MySQLParser_spatial_type_return

    pANTLR3_BASE_TREE FLOAT_SYMBOL2610_tree;
    pANTLR3_BASE_TREE BIT_SYMBOL2613_tree;
    pANTLR3_BASE_TREE BOOL_SYMBOL2615_tree;
    pANTLR3_BASE_TREE BOOLEAN_SYMBOL2616_tree;
    pANTLR3_BASE_TREE CHAR_SYMBOL2617_tree;
    pANTLR3_BASE_TREE BINARY_SYMBOL2622_tree;
    pANTLR3_BASE_TREE BINARY_SYMBOL2623_tree;
    pANTLR3_BASE_TREE VARBINARY_SYMBOL2631_tree;
    pANTLR3_BASE_TREE YEAR_SYMBOL2633_tree;
    pANTLR3_BASE_TREE DATE_SYMBOL2636_tree;
    pANTLR3_BASE_TREE TIME_SYMBOL2637_tree;
    pANTLR3_BASE_TREE TIMESTAMP_SYMBOL2639_tree;
    pANTLR3_BASE_TREE DATETIME_SYMBOL2641_tree;
    pANTLR3_BASE_TREE TINYBLOB_SYMBOL2643_tree;
    pANTLR3_BASE_TREE BLOB_SYMBOL2644_tree;
    pANTLR3_BASE_TREE MEDIUMBLOB_SYMBOL2646_tree;
    pANTLR3_BASE_TREE LONGBLOB_SYMBOL2647_tree;
    pANTLR3_BASE_TREE LONG_SYMBOL2648_tree;
    pANTLR3_BASE_TREE VARBINARY_SYMBOL2649_tree;
    pANTLR3_BASE_TREE LONG_SYMBOL2650_tree;
    pANTLR3_BASE_TREE TINYTEXT_SYMBOL2653_tree;
    pANTLR3_BASE_TREE TEXT_SYMBOL2655_tree;
    pANTLR3_BASE_TREE MEDIUMTEXT_SYMBOL2658_tree;
    pANTLR3_BASE_TREE LONGTEXT_SYMBOL2660_tree;
    pANTLR3_BASE_TREE DECIMAL_SYMBOL2662_tree;
    pANTLR3_BASE_TREE NUMERIC_SYMBOL2665_tree;
    pANTLR3_BASE_TREE FIXED_SYMBOL2668_tree;
    pANTLR3_BASE_TREE ENUM_SYMBOL2671_tree;
    pANTLR3_BASE_TREE SET_SYMBOL2674_tree;
    pANTLR3_BASE_TREE SERIAL_SYMBOL2677_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    FLOAT_SYMBOL2610       = NULL;
    BIT_SYMBOL2613       = NULL;
    BOOL_SYMBOL2615       = NULL;
    BOOLEAN_SYMBOL2616       = NULL;
    CHAR_SYMBOL2617       = NULL;
    BINARY_SYMBOL2622       = NULL;
    BINARY_SYMBOL2623       = NULL;
    VARBINARY_SYMBOL2631       = NULL;
    YEAR_SYMBOL2633       = NULL;
    DATE_SYMBOL2636       = NULL;
    TIME_SYMBOL2637       = NULL;
    TIMESTAMP_SYMBOL2639       = NULL;
    DATETIME_SYMBOL2641       = NULL;
    TINYBLOB_SYMBOL2643       = NULL;
    BLOB_SYMBOL2644       = NULL;
    MEDIUMBLOB_SYMBOL2646       = NULL;
    LONGBLOB_SYMBOL2647       = NULL;
    LONG_SYMBOL2648       = NULL;
    VARBINARY_SYMBOL2649       = NULL;
    LONG_SYMBOL2650       = NULL;
    TINYTEXT_SYMBOL2653       = NULL;
    TEXT_SYMBOL2655       = NULL;
    MEDIUMTEXT_SYMBOL2658       = NULL;
    LONGTEXT_SYMBOL2660       = NULL;
    DECIMAL_SYMBOL2662       = NULL;
    NUMERIC_SYMBOL2665       = NULL;
    FIXED_SYMBOL2668       = NULL;
    ENUM_SYMBOL2671       = NULL;
    SET_SYMBOL2674       = NULL;
    SERIAL_SYMBOL2677       = NULL;
    integer_type2604.tree = NULL;

    field_length2605.tree = NULL;

    field_options2606.tree = NULL;

    real_literal2607.tree = NULL;

    precision2608.tree = NULL;

    field_options2609.tree = NULL;

    float_options2611.tree = NULL;

    field_options2612.tree = NULL;

    field_length2614.tree = NULL;

    field_length2618.tree = NULL;

    string_binary2619.tree = NULL;

    nchar_literal2620.tree = NULL;

    field_length2621.tree = NULL;

    field_length2624.tree = NULL;

    varchar_literal2625.tree = NULL;

    field_length2626.tree = NULL;

    string_binary2627.tree = NULL;

    nvarchar_literal2628.tree = NULL;

    field_length2629.tree = NULL;

    string_binary2630.tree = NULL;

    field_length2632.tree = NULL;

    field_length2634.tree = NULL;

    field_options2635.tree = NULL;

    type_datetime_precision2638.tree = NULL;

    type_datetime_precision2640.tree = NULL;

    type_datetime_precision2642.tree = NULL;

    field_length2645.tree = NULL;

    varchar_literal2651.tree = NULL;

    string_binary2652.tree = NULL;

    string_binary2654.tree = NULL;

    field_length2656.tree = NULL;

    string_binary2657.tree = NULL;

    string_binary2659.tree = NULL;

    string_binary2661.tree = NULL;

    float_options2663.tree = NULL;

    field_options2664.tree = NULL;

    float_options2666.tree = NULL;

    field_options2667.tree = NULL;

    float_options2669.tree = NULL;

    field_options2670.tree = NULL;

    string_list2672.tree = NULL;

    string_binary2673.tree = NULL;

    string_list2675.tree = NULL;

    string_binary2676.tree = NULL;

    spatial_type2678.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    FLOAT_SYMBOL2610_tree   = NULL;
    BIT_SYMBOL2613_tree   = NULL;
    BOOL_SYMBOL2615_tree   = NULL;
    BOOLEAN_SYMBOL2616_tree   = NULL;
    CHAR_SYMBOL2617_tree   = NULL;
    BINARY_SYMBOL2622_tree   = NULL;
    BINARY_SYMBOL2623_tree   = NULL;
    VARBINARY_SYMBOL2631_tree   = NULL;
    YEAR_SYMBOL2633_tree   = NULL;
    DATE_SYMBOL2636_tree   = NULL;
    TIME_SYMBOL2637_tree   = NULL;
    TIMESTAMP_SYMBOL2639_tree   = NULL;
    DATETIME_SYMBOL2641_tree   = NULL;
    TINYBLOB_SYMBOL2643_tree   = NULL;
    BLOB_SYMBOL2644_tree   = NULL;
    MEDIUMBLOB_SYMBOL2646_tree   = NULL;
    LONGBLOB_SYMBOL2647_tree   = NULL;
    LONG_SYMBOL2648_tree   = NULL;
    VARBINARY_SYMBOL2649_tree   = NULL;
    LONG_SYMBOL2650_tree   = NULL;
    TINYTEXT_SYMBOL2653_tree   = NULL;
    TEXT_SYMBOL2655_tree   = NULL;
    MEDIUMTEXT_SYMBOL2658_tree   = NULL;
    LONGTEXT_SYMBOL2660_tree   = NULL;
    DECIMAL_SYMBOL2662_tree   = NULL;
    NUMERIC_SYMBOL2665_tree   = NULL;
    FIXED_SYMBOL2668_tree   = NULL;
    ENUM_SYMBOL2671_tree   = NULL;
    SET_SYMBOL2674_tree   = NULL;
    SERIAL_SYMBOL2677_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:2359: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 alt749;

            alt749=34;

            {
                int LA749_0 = LA(1);
                if ( (LA749_0 == BIGINT_SYMBOL || LA749_0 == INTEGER_SYMBOL || LA749_0 == INT_SYMBOL || LA749_0 == MEDIUMINT_SYMBOL || LA749_0 == SMALLINT_SYMBOL || LA749_0 == TINYINT_SYMBOL))
                {
                    alt749=1;
                }
                else if ( (LA749_0 == DOUBLE_SYMBOL || LA749_0 == REAL_SYMBOL))
                {
                    alt749=2;
                }
                else if ( (LA749_0 == FLOAT_SYMBOL))
                {
                    alt749=3;
                }
                else if ( (LA749_0 == BIT_SYMBOL))
                {
                    alt749=4;
                }
                else if ( (LA749_0 == BOOL_SYMBOL))
                {
                    alt749=5;
                }
                else if ( (LA749_0 == BOOLEAN_SYMBOL))
                {
                    alt749=6;
                }
                else if ( (LA749_0 == CHAR_SYMBOL))
                {
                    {
                        int LA749_8 = LA(2);
                        if ( (LA749_8 == VARYING_SYMBOL))
                        {
                            alt749=10;
                        }
                        else if ( (LA749_8 == EOF || ((LA749_8 >= ACTION_SYMBOL) && (LA749_8 <= DO_SYMBOL)) || ((LA749_8 >= EXECUTE_SYMBOL) && (LA749_8 <= FLUSH_SYMBOL)) || ((LA749_8 >= HANDLER_SYMBOL) && (LA749_8 <= HELP_SYMBOL)) || ((LA749_8 >= INSTALL_SYMBOL) && (LA749_8 <= OPEN_SYMBOL)) || ((LA749_8 >= PREPARE_SYMBOL) && (LA749_8 <= SAVEPOINT_SYMBOL)) || ((LA749_8 >= START_SYMBOL) && (LA749_8 <= UNINSTALL_SYMBOL)) || ((LA749_8 >= XA_SYMBOL) && (LA749_8 <= PARTITION_SYMBOL)) || LA749_8 == ALTER_SYMBOL || LA749_8 == BACK_TICK_QUOTED_ID || LA749_8 == BINARY_SYMBOL || LA749_8 == CALL_SYMBOL || LA749_8 == CASE_SYMBOL || LA749_8 == CHANGE_SYMBOL || ((LA749_8 >= CHAR_SYMBOL) && (LA749_8 <= CHECK_SYMBOL)) || ((LA749_8 >= CLOSE_PAR_SYMBOL) && (LA749_8 <= COLLATE_SYMBOL)) || LA749_8 == COMMA_SYMBOL || LA749_8 == CREATE_SYMBOL || LA749_8 == DEFAULT_SYMBOL || ((LA749_8 >= DELETE_SYMBOL) && (LA749_8 <= DETERMINISTIC_SYMBOL)) || LA749_8 == DOUBLE_QUOTED_TEXT || LA749_8 == DROP_SYMBOL || LA749_8 == FETCH_SYMBOL || ((LA749_8 >= GET_SYMBOL) && (LA749_8 <= GRANT_SYMBOL)) || ((LA749_8 >= IDENTIFIER) && (LA749_8 <= IF_SYMBOL)) || LA749_8 == INSERT_SYMBOL || LA749_8 == ITERATE_SYMBOL || ((LA749_8 >= KEY_SYMBOL) && (LA749_8 <= KILL_SYMBOL)) || LA749_8 == LEAVE_SYMBOL || LA749_8 == LOAD_SYMBOL || LA749_8 == LOCK_SYMBOL || LA749_8 == LOOP_SYMBOL || LA749_8 == MODIFIES_SYMBOL || LA749_8 == NOT_SYMBOL || LA749_8 == NULL2_SYMBOL || LA749_8 == NULL_SYMBOL || LA749_8 == ON_SYMBOL || ((LA749_8 >= OPEN_PAR_SYMBOL) && (LA749_8 <= OPTIMIZE_SYMBOL)) || LA749_8 == PRIMARY_SYMBOL || LA749_8 == PURGE_SYMBOL || LA749_8 == READS_SYMBOL || LA749_8 == REFERENCES_SYMBOL || ((LA749_8 >= RELEASE_SYMBOL) && (LA749_8 <= REPLACE_SYMBOL)) || LA749_8 == RESIGNAL_SYMBOL || ((LA749_8 >= RETURN_SYMBOL) && (LA749_8 <= REVOKE_SYMBOL)) || ((LA749_8 >= SELECT_SYMBOL) && (LA749_8 <= SEMICOLON_SYMBOL)) || LA749_8 == SET_SYMBOL || ((LA749_8 >= SHOW_SYMBOL) && (LA749_8 <= SIGNAL_SYMBOL)) || LA749_8 == SQL_SYMBOL || ((LA749_8 >= UNIQUE_SYMBOL) && (LA749_8 <= UNLOCK_SYMBOL)) || LA749_8 == UPDATE_SYMBOL || LA749_8 == USE_SYMBOL || LA749_8 == WHILE_SYMBOL))
                        {
                            alt749=7;
                        }
                        else
                        {
                            if (BACKTRACKING>0)
                            {
                                FAILEDFLAG = ANTLR3_TRUE;
                                return retval;
                            }


                            CONSTRUCTEX();
                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                            EXCEPTION->message      = (void *)"";
                            EXCEPTION->decisionNum  = 749;
                            EXCEPTION->state        = 8;


                            goto ruledata_type_elementsEx;

                        }
                    }
                }
                else if ( (LA749_0 == NCHAR_SYMBOL))
                {
                    {
                        int LA749_9 = LA(2);
                        if ( (LA749_9 == VARCHAR_SYMBOL || LA749_9 == VARYING_SYMBOL))
                        {
                            alt749=11;
                        }
                        else if ( (LA749_9 == EOF || ((LA749_9 >= ACTION_SYMBOL) && (LA749_9 <= YEAR_SYMBOL)) || ((LA749_9 >= BACKUP_SYMBOL) && (LA749_9 <= BEGIN_SYMBOL)) || LA749_9 == CACHE_SYMBOL || ((LA749_9 >= CHECKSUM_SYMBOL) && (LA749_9 <= DO_SYMBOL)) || ((LA749_9 >= EXECUTE_SYMBOL) && (LA749_9 <= FLUSH_SYMBOL)) || ((LA749_9 >= HANDLER_SYMBOL) && (LA749_9 <= HELP_SYMBOL)) || ((LA749_9 >= INSTALL_SYMBOL) && (LA749_9 <= OPEN_SYMBOL)) || ((LA749_9 >= PREPARE_SYMBOL) && (LA749_9 <= SAVEPOINT_SYMBOL)) || ((LA749_9 >= START_SYMBOL) && (LA749_9 <= TRUNCATE_SYMBOL)) || LA749_9 == UNINSTALL_SYMBOL || ((LA749_9 >= XA_SYMBOL) && (LA749_9 <= PARTITION_SYMBOL)) || LA749_9 == ALTER_SYMBOL || LA749_9 == BACK_TICK_QUOTED_ID || LA749_9 == BINARY_SYMBOL || LA749_9 == CALL_SYMBOL || LA749_9 == CASE_SYMBOL || LA749_9 == CHANGE_SYMBOL || LA749_9 == CHECK_SYMBOL || ((LA749_9 >= CLOSE_PAR_SYMBOL) && (LA749_9 <= COLLATE_SYMBOL)) || LA749_9 == COMMA_SYMBOL || LA749_9 == CREATE_SYMBOL || LA749_9 == DEFAULT_SYMBOL || ((LA749_9 >= DELETE_SYMBOL) && (LA749_9 <= DETERMINISTIC_SYMBOL)) || LA749_9 == DOUBLE_QUOTED_TEXT || LA749_9 == DROP_SYMBOL || LA749_9 == FETCH_SYMBOL || ((LA749_9 >= GET_SYMBOL) && (LA749_9 <= GRANT_SYMBOL)) || ((LA749_9 >= IDENTIFIER) && (LA749_9 <= IF_SYMBOL)) || LA749_9 == INSERT_SYMBOL || LA749_9 == ITERATE_SYMBOL || ((LA749_9 >= KEY_SYMBOL) && (LA749_9 <= KILL_SYMBOL)) || LA749_9 == LEAVE_SYMBOL || LA749_9 == LOAD_SYMBOL || LA749_9 == LOCK_SYMBOL || LA749_9 == LOOP_SYMBOL || LA749_9 == MODIFIES_SYMBOL || LA749_9 == NOT_SYMBOL || LA749_9 == NULL2_SYMBOL || LA749_9 == NULL_SYMBOL || LA749_9 == ON_SYMBOL || ((LA749_9 >= OPEN_PAR_SYMBOL) && (LA749_9 <= OPTIMIZE_SYMBOL)) || LA749_9 == PRIMARY_SYMBOL || LA749_9 == PURGE_SYMBOL || LA749_9 == READS_SYMBOL || LA749_9 == REFERENCES_SYMBOL || ((LA749_9 >= RELEASE_SYMBOL) && (LA749_9 <= REPLACE_SYMBOL)) || LA749_9 == RESIGNAL_SYMBOL || ((LA749_9 >= RETURN_SYMBOL) && (LA749_9 <= REVOKE_SYMBOL)) || ((LA749_9 >= SELECT_SYMBOL) && (LA749_9 <= SEMICOLON_SYMBOL)) || LA749_9 == SET_SYMBOL || ((LA749_9 >= SHOW_SYMBOL) && (LA749_9 <= SIGNAL_SYMBOL)) || LA749_9 == SQL_SYMBOL || ((LA749_9 >= UNIQUE_SYMBOL) && (LA749_9 <= UNLOCK_SYMBOL)) || LA749_9 == UPDATE_SYMBOL || LA749_9 == USE_SYMBOL || LA749_9 == WHILE_SYMBOL))
                        {
                            alt749=8;
                        }
                        else
                        {
                            if (BACKTRACKING>0)
                            {
                                FAILEDFLAG = ANTLR3_TRUE;
                                return retval;
                            }


                            CONSTRUCTEX();
                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                            EXCEPTION->message      = (void *)"";
                            EXCEPTION->decisionNum  = 749;
                            EXCEPTION->state        = 9;


                            goto ruledata_type_elementsEx;

                        }
                    }
                }
                else if ( (LA749_0 == NATIONAL_SYMBOL))
                {
                    switch ( LA(2) )
                    {
                    case CHAR_SYMBOL:
                    	{
                    		{
                    		    int LA749_244 = LA(3);
                    		    if ( ((LA(3) != VARYING_SYMBOL)))
                    		    {
                    		        alt749=8;
                    		    }
                    		    else if ( (ANTLR3_TRUE))
                    		    {
                    		        alt749=11;
                    		    }
                    		    else
                    		    {
                    		        if (BACKTRACKING>0)
                    		        {
                    		            FAILEDFLAG = ANTLR3_TRUE;
                    		            return retval;
                    		        }


                    		        CONSTRUCTEX();
                    		        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    		        EXCEPTION->message      = (void *)"";
                    		        EXCEPTION->decisionNum  = 749;
                    		        EXCEPTION->state        = 244;


                    		        goto ruledata_type_elementsEx;

                    		    }
                    		}
                    	}
                        break;
                    case VARCHAR_SYMBOL:
                    	{
                    		alt749=11;
                    	}
                        break;

                    default:
                        if (BACKTRACKING>0)
                        {
                            FAILEDFLAG = ANTLR3_TRUE;
                            return retval;
                        }

                        CONSTRUCTEX();
                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                        EXCEPTION->message      = (void *)"";
                        EXCEPTION->decisionNum  = 749;
                        EXCEPTION->state        = 10;


                        goto ruledata_type_elementsEx;

                    }

                }
                else if ( (LA749_0 == BINARY_SYMBOL))
                {
                    alt749=9;
                }
                else if ( (LA749_0 == VARCHAR_SYMBOL))
                {
                    alt749=10;
                }
                else if ( (LA749_0 == NVARCHAR_SYMBOL))
                {
                    alt749=11;
                }
                else if ( (LA749_0 == VARBINARY_SYMBOL))
                {
                    alt749=12;
                }
                else if ( (LA749_0 == YEAR_SYMBOL))
                {
                    alt749=13;
                }
                else if ( (LA749_0 == DATE_SYMBOL))
                {
                    alt749=14;
                }
                else if ( (LA749_0 == TIME_SYMBOL))
                {
                    alt749=15;
                }
                else if ( (LA749_0 == TIMESTAMP_SYMBOL))
                {
                    alt749=16;
                }
                else if ( (LA749_0 == DATETIME_SYMBOL))
                {
                    alt749=17;
                }
                else if ( (LA749_0 == TINYBLOB_SYMBOL))
                {
                    alt749=18;
                }
                else if ( (LA749_0 == BLOB_SYMBOL))
                {
                    alt749=19;
                }
                else if ( (LA749_0 == MEDIUMBLOB_SYMBOL))
                {
                    alt749=20;
                }
                else if ( (LA749_0 == LONGBLOB_SYMBOL))
                {
                    alt749=21;
                }
                else if ( (LA749_0 == LONG_SYMBOL))
                {
                    {
                        int LA749_24 = LA(2);
                        if ( (LA749_24 == VARBINARY_SYMBOL))
                        {
                            alt749=22;
                        }
                        else if ( (LA749_24 == EOF || ((LA749_24 >= ACTION_SYMBOL) && (LA749_24 <= DO_SYMBOL)) || ((LA749_24 >= EXECUTE_SYMBOL) && (LA749_24 <= FLUSH_SYMBOL)) || ((LA749_24 >= HANDLER_SYMBOL) && (LA749_24 <= HELP_SYMBOL)) || ((LA749_24 >= INSTALL_SYMBOL) && (LA749_24 <= OPEN_SYMBOL)) || ((LA749_24 >= PREPARE_SYMBOL) && (LA749_24 <= SAVEPOINT_SYMBOL)) || ((LA749_24 >= START_SYMBOL) && (LA749_24 <= UNINSTALL_SYMBOL)) || ((LA749_24 >= XA_SYMBOL) && (LA749_24 <= PARTITION_SYMBOL)) || LA749_24 == ALTER_SYMBOL || LA749_24 == BACK_TICK_QUOTED_ID || LA749_24 == BINARY_SYMBOL || LA749_24 == CALL_SYMBOL || LA749_24 == CASE_SYMBOL || LA749_24 == CHANGE_SYMBOL || ((LA749_24 >= CHAR_SYMBOL) && (LA749_24 <= CHECK_SYMBOL)) || ((LA749_24 >= CLOSE_PAR_SYMBOL) && (LA749_24 <= COLLATE_SYMBOL)) || LA749_24 == COMMA_SYMBOL || LA749_24 == CREATE_SYMBOL || LA749_24 == DEFAULT_SYMBOL || ((LA749_24 >= DELETE_SYMBOL) && (LA749_24 <= DETERMINISTIC_SYMBOL)) || LA749_24 == DOUBLE_QUOTED_TEXT || LA749_24 == DROP_SYMBOL || LA749_24 == FETCH_SYMBOL || ((LA749_24 >= GET_SYMBOL) && (LA749_24 <= GRANT_SYMBOL)) || ((LA749_24 >= IDENTIFIER) && (LA749_24 <= IF_SYMBOL)) || LA749_24 == INSERT_SYMBOL || LA749_24 == ITERATE_SYMBOL || ((LA749_24 >= KEY_SYMBOL) && (LA749_24 <= KILL_SYMBOL)) || LA749_24 == LEAVE_SYMBOL || LA749_24 == LOAD_SYMBOL || LA749_24 == LOCK_SYMBOL || LA749_24 == LOOP_SYMBOL || LA749_24 == MODIFIES_SYMBOL || LA749_24 == NOT_SYMBOL || LA749_24 == NULL2_SYMBOL || LA749_24 == NULL_SYMBOL || LA749_24 == ON_SYMBOL || ((LA749_24 >= OPEN_PAR_SYMBOL) && (LA749_24 <= OPTIMIZE_SYMBOL)) || LA749_24 == PRIMARY_SYMBOL || LA749_24 == PURGE_SYMBOL || LA749_24 == READS_SYMBOL || LA749_24 == REFERENCES_SYMBOL || ((LA749_24 >= RELEASE_SYMBOL) && (LA749_24 <= REPLACE_SYMBOL)) || LA749_24 == RESIGNAL_SYMBOL || ((LA749_24 >= RETURN_SYMBOL) && (LA749_24 <= REVOKE_SYMBOL)) || ((LA749_24 >= SELECT_SYMBOL) && (LA749_24 <= SEMICOLON_SYMBOL)) || LA749_24 == SET_SYMBOL || ((LA749_24 >= SHOW_SYMBOL) && (LA749_24 <= SIGNAL_SYMBOL)) || LA749_24 == SQL_SYMBOL || ((LA749_24 >= UNIQUE_SYMBOL) && (LA749_24 <= UNLOCK_SYMBOL)) || LA749_24 == UPDATE_SYMBOL || LA749_24 == USE_SYMBOL || LA749_24 == VARCHAR_SYMBOL || LA749_24 == WHILE_SYMBOL))
                        {
                            alt749=23;
                        }
                        else
                        {
                            if (BACKTRACKING>0)
                            {
                                FAILEDFLAG = ANTLR3_TRUE;
                                return retval;
                            }


                            CONSTRUCTEX();
                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                            EXCEPTION->message      = (void *)"";
                            EXCEPTION->decisionNum  = 749;
                            EXCEPTION->state        = 24;


                            goto ruledata_type_elementsEx;

                        }
                    }
                }
                else if ( (LA749_0 == TINYTEXT_SYMBOL))
                {
                    alt749=24;
                }
                else if ( (LA749_0 == TEXT_SYMBOL))
                {
                    alt749=25;
                }
                else if ( (LA749_0 == MEDIUMTEXT_SYMBOL))
                {
                    alt749=26;
                }
                else if ( (LA749_0 == LONGTEXT_SYMBOL))
                {
                    alt749=27;
                }
                else if ( (LA749_0 == DECIMAL_SYMBOL))
                {
                    alt749=28;
                }
                else if ( (LA749_0 == NUMERIC_SYMBOL))
                {
                    alt749=29;
                }
                else if ( (LA749_0 == FIXED_SYMBOL))
                {
                    alt749=30;
                }
                else if ( (LA749_0 == ENUM_SYMBOL))
                {
                    alt749=31;
                }
                else if ( (LA749_0 == SET_SYMBOL))
                {
                    alt749=32;
                }
                else if ( (LA749_0 == SERIAL_SYMBOL))
                {
                    alt749=33;
                }
                else if ( (((LA749_0 >= GEOMETRYCOLLECTION_SYMBOL) && (LA749_0 <= GEOMETRY_SYMBOL)) || LA749_0 == LINESTRING_SYMBOL || ((LA749_0 >= MULTILINESTRING_SYMBOL) && (LA749_0 <= MULTIPOLYGON_SYMBOL)) || ((LA749_0 >= POINT_SYMBOL) && (LA749_0 <= POLYGON_SYMBOL))))
                {
                    alt749=34;
                }
                else
                {
                    if (BACKTRACKING>0)
                    {
                        FAILEDFLAG = ANTLR3_TRUE;
                        return retval;
                    }


                    CONSTRUCTEX();
                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    EXCEPTION->message      = (void *)"";
                    EXCEPTION->decisionNum  = 749;
                    EXCEPTION->state        = 0;


                    goto ruledata_type_elementsEx;

                }
            }
            switch (alt749)
            {
        	case 1:
        	    // MySQL.g:2360:2: integer_type ( field_length )? ( field_options )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_integer_type_in_data_type_elements13458);
        	        integer_type2604=integer_type(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruledata_type_elementsEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, integer_type2604.tree);

        	        // MySQL.g:2360:15: ( field_length )?
        	        {
        	            int alt714=2;
        	            switch ( LA(1) )
        	            {
        	                case OPEN_PAR_SYMBOL:
        	                	{
        	                		switch ( LA(2) )
        	                		{
        	                		    case INTEGER:
        	                		    	{
        	                		    		alt714=1;
        	                		    	}
        	                		        break;
        	                		}

        	                	}
        	                    break;
        	            }

        	            switch (alt714)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2360:15: field_length
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_field_length_in_data_type_elements13460);
        	        	        field_length2605=field_length(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruledata_type_elementsEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, field_length2605.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	        // MySQL.g:2360:29: ( field_options )?
        	        {
        	            int alt715=2;
        	            switch ( LA(1) )
        	            {
        	                case SIGNED_SYMBOL:
        	                case UNSIGNED_SYMBOL:
        	                case ZEROFILL_SYMBOL:
        	                	{
        	                		alt715=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt715)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2360:29: field_options
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_field_options_in_data_type_elements13463);
        	        	        field_options2606=field_options(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruledata_type_elementsEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, field_options2606.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:2362:4: real_literal ( precision )? ( field_options )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_real_literal_in_data_type_elements13470);
        	        real_literal2607=real_literal(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruledata_type_elementsEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, real_literal2607.tree);

        	        // MySQL.g:2362:17: ( precision )?
        	        {
        	            int alt716=2;
        	            switch ( LA(1) )
        	            {
        	                case OPEN_PAR_SYMBOL:
        	                	{
        	                		switch ( LA(2) )
        	                		{
        	                		    case INTEGER:
        	                		    	{
        	                		    		alt716=1;
        	                		    	}
        	                		        break;
        	                		}

        	                	}
        	                    break;
        	            }

        	            switch (alt716)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2362:17: precision
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_precision_in_data_type_elements13472);
        	        	        precision2608=precision(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruledata_type_elementsEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, precision2608.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	        // MySQL.g:2362:28: ( field_options )?
        	        {
        	            int alt717=2;
        	            switch ( LA(1) )
        	            {
        	                case SIGNED_SYMBOL:
        	                case UNSIGNED_SYMBOL:
        	                case ZEROFILL_SYMBOL:
        	                	{
        	                		alt717=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt717)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2362:28: field_options
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_field_options_in_data_type_elements13475);
        	        	        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 3:
        	    // MySQL.g:2363:4: FLOAT_SYMBOL ( float_options )? ( field_options )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FLOAT_SYMBOL2610 = (pANTLR3_COMMON_TOKEN) MATCHT(FLOAT_SYMBOL, &FOLLOW_FLOAT_SYMBOL_in_data_type_elements13481);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruledata_type_elementsEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        FLOAT_SYMBOL2610_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, FLOAT_SYMBOL2610));
        	        ADAPTOR->addChild(ADAPTOR, root_0, FLOAT_SYMBOL2610_tree);
        	        }

        	        // MySQL.g:2363:17: ( float_options )?
        	        {
        	            int alt718=2;
        	            switch ( LA(1) )
        	            {
        	                case OPEN_PAR_SYMBOL:
        	                	{
        	                		switch ( LA(2) )
        	                		{
        	                		    case INTEGER:
        	                		    	{
        	                		    		alt718=1;
        	                		    	}
        	                		        break;
        	                		}

        	                	}
        	                    break;
        	            }

        	            switch (alt718)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2363:17: float_options
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_float_options_in_data_type_elements13483);
        	        	        float_options2611=float_options(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruledata_type_elementsEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, float_options2611.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	        // MySQL.g:2363:32: ( field_options )?
        	        {
        	            int alt719=2;
        	            switch ( LA(1) )
        	            {
        	                case SIGNED_SYMBOL:
        	                case UNSIGNED_SYMBOL:
        	                case ZEROFILL_SYMBOL:
        	                	{
        	                		alt719=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt719)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2363:32: field_options
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_field_options_in_data_type_elements13486);
        	        	        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 4:
        	    // MySQL.g:2365:4: BIT_SYMBOL ( field_length )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        BIT_SYMBOL2613 = (pANTLR3_COMMON_TOKEN) MATCHT(BIT_SYMBOL, &FOLLOW_BIT_SYMBOL_in_data_type_elements13494);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruledata_type_elementsEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        BIT_SYMBOL2613_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, BIT_SYMBOL2613));
        	        ADAPTOR->addChild(ADAPTOR, root_0, BIT_SYMBOL2613_tree);
        	        }

        	        // MySQL.g:2365:15: ( field_length )?
        	        {
        	            int alt720=2;
        	            switch ( LA(1) )
        	            {
        	                case OPEN_PAR_SYMBOL:
        	                	{
        	                		switch ( LA(2) )
        	                		{
        	                		    case INTEGER:
        	                		    	{
        	                		    		alt720=1;
        	                		    	}
        	                		        break;
        	                		}

        	                	}
        	                    break;
        	            }

        	            switch (alt720)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2365:15: field_length
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_field_length_in_data_type_elements13496);
        	        	        field_length2614=field_length(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruledata_type_elementsEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, field_length2614.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 5:
        	    // MySQL.g:2366:4: BOOL_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        BOOL_SYMBOL2615 = (pANTLR3_COMMON_TOKEN) MATCHT(BOOL_SYMBOL, &FOLLOW_BOOL_SYMBOL_in_data_type_elements13502);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruledata_type_elementsEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        BOOL_SYMBOL2615_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, BOOL_SYMBOL2615));
        	        ADAPTOR->addChild(ADAPTOR, root_0, BOOL_SYMBOL2615_tree);
        	        }

        	    }
        	    break;
        	case 6:
        	    // MySQL.g:2367:4: BOOLEAN_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        BOOLEAN_SYMBOL2616 = (pANTLR3_COMMON_TOKEN) MATCHT(BOOLEAN_SYMBOL, &FOLLOW_BOOLEAN_SYMBOL_in_data_type_elements13507);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruledata_type_elementsEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        BOOLEAN_SYMBOL2616_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, BOOLEAN_SYMBOL2616));
        	        ADAPTOR->addChild(ADAPTOR, root_0, BOOLEAN_SYMBOL2616_tree);
        	        }

        	    }
        	    break;
        	case 7:
        	    // MySQL.g:2369:4: CHAR_SYMBOL ( field_length )? ( string_binary )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        CHAR_SYMBOL2617 = (pANTLR3_COMMON_TOKEN) MATCHT(CHAR_SYMBOL, &FOLLOW_CHAR_SYMBOL_in_data_type_elements13514);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruledata_type_elementsEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CHAR_SYMBOL2617_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CHAR_SYMBOL2617));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CHAR_SYMBOL2617_tree);
        	        }

        	        // MySQL.g:2369:16: ( field_length )?
        	        {
        	            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:2369:16: field_length
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_field_length_in_data_type_elements13516);
        	        	        field_length2618=field_length(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruledata_type_elementsEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, field_length2618.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	        // MySQL.g:2369:30: ( string_binary )?
        	        {
        	            int alt722=2;
        	            switch ( LA(1) )
        	            {
        	                case ASCII_SYMBOL:
        	                case BYTE_SYMBOL:
        	                case CHARSET_SYMBOL:
        	                case UNICODE_SYMBOL:
        	                case BINARY_SYMBOL:
        	                case CHAR_SYMBOL:
        	                	{
        	                		alt722=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt722)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2369:30: string_binary
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_string_binary_in_data_type_elements13519);
        	        	        string_binary2619=string_binary(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruledata_type_elementsEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_binary2619.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 8:
        	    // MySQL.g:2370:4: nchar_literal ( field_length )? ( BINARY_SYMBOL )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_nchar_literal_in_data_type_elements13525);
        	        nchar_literal2620=nchar_literal(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruledata_type_elementsEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, nchar_literal2620.tree);

        	        // MySQL.g:2370:18: ( 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:2370:18: field_length
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_field_length_in_data_type_elements13527);
        	        	        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:2370:32: ( BINARY_SYMBOL )?
        	        {
        	            int alt724=2;
        	            switch ( LA(1) )
        	            {
        	                case BINARY_SYMBOL:
        	                	{
        	                		alt724=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt724)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2370:32: BINARY_SYMBOL
        	        	    {
        	        	        BINARY_SYMBOL2622 = (pANTLR3_COMMON_TOKEN) MATCHT(BINARY_SYMBOL, &FOLLOW_BINARY_SYMBOL_in_data_type_elements13530);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruledata_type_elementsEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        BINARY_SYMBOL2622_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, BINARY_SYMBOL2622));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, BINARY_SYMBOL2622_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 9:
        	    // MySQL.g:2371:4: BINARY_SYMBOL ( field_length )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        BINARY_SYMBOL2623 = (pANTLR3_COMMON_TOKEN) MATCHT(BINARY_SYMBOL, &FOLLOW_BINARY_SYMBOL_in_data_type_elements13536);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruledata_type_elementsEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        BINARY_SYMBOL2623_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, BINARY_SYMBOL2623));
        	        ADAPTOR->addChild(ADAPTOR, root_0, BINARY_SYMBOL2623_tree);
        	        }

        	        // MySQL.g:2371:18: ( field_length )?
        	        {
        	            int alt725=2;
        	            switch ( LA(1) )
        	            {
        	                case OPEN_PAR_SYMBOL:
        	                	{
        	                		switch ( LA(2) )
        	                		{
        	                		    case INTEGER:
        	                		    	{
        	                		    		alt725=1;
        	                		    	}
        	                		        break;
        	                		}

        	                	}
        	                    break;
        	            }

        	            switch (alt725)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2371:18: field_length
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_field_length_in_data_type_elements13538);
        	        	        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;

        	            }
        	        }

        	    }
        	    break;
        	case 10:
        	    // MySQL.g:2372:4: varchar_literal field_length ( string_binary )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_varchar_literal_in_data_type_elements13544);
        	        varchar_literal2625=varchar_literal(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruledata_type_elementsEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, varchar_literal2625.tree);

        	        FOLLOWPUSH(FOLLOW_field_length_in_data_type_elements13546);
        	        field_length2626=field_length(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruledata_type_elementsEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, field_length2626.tree);

        	        // MySQL.g:2372:33: ( string_binary )?
        	        {
        	            int alt726=2;
        	            switch ( LA(1) )
        	            {
        	                case ASCII_SYMBOL:
        	                case BYTE_SYMBOL:
        	                case CHARSET_SYMBOL:
        	                case UNICODE_SYMBOL:
        	                case BINARY_SYMBOL:
        	                case CHAR_SYMBOL:
        	                	{
        	                		alt726=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt726)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2372:33: string_binary
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_string_binary_in_data_type_elements13548);
        	        	        string_binary2627=string_binary(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruledata_type_elementsEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_binary2627.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 11:
        	    // MySQL.g:2373:4: nvarchar_literal field_length ( string_binary )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_nvarchar_literal_in_data_type_elements13554);
        	        nvarchar_literal2628=nvarchar_literal(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruledata_type_elementsEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, nvarchar_literal2628.tree);

        	        FOLLOWPUSH(FOLLOW_field_length_in_data_type_elements13556);
        	        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:2373:34: ( string_binary )?
        	        {
        	            int alt727=2;
        	            switch ( LA(1) )
        	            {
        	                case ASCII_SYMBOL:
        	                case BYTE_SYMBOL:
        	                case CHARSET_SYMBOL:
        	                case UNICODE_SYMBOL:
        	                case BINARY_SYMBOL:
        	                case CHAR_SYMBOL:
        	                	{
        	                		alt727=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt727)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2373:34: string_binary
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_string_binary_in_data_type_elements13558);
        	        	        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 12:
        	    // MySQL.g:2375:4: VARBINARY_SYMBOL field_length
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        VARBINARY_SYMBOL2631 = (pANTLR3_COMMON_TOKEN) MATCHT(VARBINARY_SYMBOL, &FOLLOW_VARBINARY_SYMBOL_in_data_type_elements13565);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruledata_type_elementsEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        VARBINARY_SYMBOL2631_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, VARBINARY_SYMBOL2631));
        	        ADAPTOR->addChild(ADAPTOR, root_0, VARBINARY_SYMBOL2631_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_field_length_in_data_type_elements13567);
        	        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);

        	    }
        	    break;
        	case 13:
        	    // MySQL.g:2377:4: YEAR_SYMBOL ( field_length )? ( field_options )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        YEAR_SYMBOL2633 = (pANTLR3_COMMON_TOKEN) MATCHT(YEAR_SYMBOL, &FOLLOW_YEAR_SYMBOL_in_data_type_elements13573);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruledata_type_elementsEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        YEAR_SYMBOL2633_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, YEAR_SYMBOL2633));
        	        ADAPTOR->addChild(ADAPTOR, root_0, YEAR_SYMBOL2633_tree);
        	        }

        	        // MySQL.g:2377:16: ( 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:2377:16: field_length
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_field_length_in_data_type_elements13575);
        	        	        field_length2634=field_length(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruledata_type_elementsEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, field_length2634.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	        // MySQL.g:2377:30: ( field_options )?
        	        {
        	            int alt729=2;
        	            switch ( LA(1) )
        	            {
        	                case SIGNED_SYMBOL:
        	                case UNSIGNED_SYMBOL:
        	                case ZEROFILL_SYMBOL:
        	                	{
        	                		alt729=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt729)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2377:30: field_options
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_field_options_in_data_type_elements13578);
        	        	        field_options2635=field_options(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruledata_type_elementsEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, field_options2635.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 14:
        	    // MySQL.g:2378:4: DATE_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        DATE_SYMBOL2636 = (pANTLR3_COMMON_TOKEN) MATCHT(DATE_SYMBOL, &FOLLOW_DATE_SYMBOL_in_data_type_elements13584);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruledata_type_elementsEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        DATE_SYMBOL2636_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DATE_SYMBOL2636));
        	        ADAPTOR->addChild(ADAPTOR, root_0, DATE_SYMBOL2636_tree);
        	        }

        	    }
        	    break;
        	case 15:
        	    // MySQL.g:2379:4: TIME_SYMBOL ( type_datetime_precision )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        TIME_SYMBOL2637 = (pANTLR3_COMMON_TOKEN) MATCHT(TIME_SYMBOL, &FOLLOW_TIME_SYMBOL_in_data_type_elements13589);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruledata_type_elementsEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        TIME_SYMBOL2637_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, TIME_SYMBOL2637));
        	        ADAPTOR->addChild(ADAPTOR, root_0, TIME_SYMBOL2637_tree);
        	        }

        	        // MySQL.g:2379:16: ( type_datetime_precision )?
        	        {
        	            int alt730=2;
        	            switch ( LA(1) )
        	            {
        	                case OPEN_PAR_SYMBOL:
        	                	{
        	                		{
        	                		    int LA730_1 = LA(2);
        	                		    if ( ((SERVER_VERSION >= 50600)) && (LA730_1 == INTEGER))
        	                		    {
        	                		        alt730=1;
        	                		    }
        	                		}
        	                	}
        	                    break;
        	            }

        	            switch (alt730)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2379:16: type_datetime_precision
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_type_datetime_precision_in_data_type_elements13591);
        	        	        type_datetime_precision2638=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_precision2638.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 16:
        	    // MySQL.g:2380:4: TIMESTAMP_SYMBOL ( type_datetime_precision )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        TIMESTAMP_SYMBOL2639 = (pANTLR3_COMMON_TOKEN) MATCHT(TIMESTAMP_SYMBOL, &FOLLOW_TIMESTAMP_SYMBOL_in_data_type_elements13597);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruledata_type_elementsEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        TIMESTAMP_SYMBOL2639_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, TIMESTAMP_SYMBOL2639));
        	        ADAPTOR->addChild(ADAPTOR, root_0, TIMESTAMP_SYMBOL2639_tree);
        	        }

        	        // MySQL.g:2380:21: ( type_datetime_precision )?
        	        {
        	            int alt731=2;
        	            switch ( LA(1) )
        	            {
        	                case OPEN_PAR_SYMBOL:
        	                	{
        	                		{
        	                		    int LA731_1 = LA(2);
        	                		    if ( ((SERVER_VERSION >= 50600)) && (LA731_1 == INTEGER))
        	                		    {
        	                		        alt731=1;
        	                		    }
        	                		}
        	                	}
        	                    break;
        	            }

        	            switch (alt731)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2380:21: type_datetime_precision
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_type_datetime_precision_in_data_type_elements13599);
        	        	        type_datetime_precision2640=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_precision2640.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 17:
        	    // MySQL.g:2381:4: DATETIME_SYMBOL ( type_datetime_precision )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        DATETIME_SYMBOL2641 = (pANTLR3_COMMON_TOKEN) MATCHT(DATETIME_SYMBOL, &FOLLOW_DATETIME_SYMBOL_in_data_type_elements13605);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruledata_type_elementsEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        DATETIME_SYMBOL2641_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DATETIME_SYMBOL2641));
        	        ADAPTOR->addChild(ADAPTOR, root_0, DATETIME_SYMBOL2641_tree);
        	        }

        	        // MySQL.g:2381:20: ( type_datetime_precision )?
        	        {
        	            int alt732=2;
        	            switch ( LA(1) )
        	            {
        	                case OPEN_PAR_SYMBOL:
        	                	{
        	                		{
        	                		    int LA732_1 = LA(2);
        	                		    if ( ((SERVER_VERSION >= 50600)) && (LA732_1 == INTEGER))
        	                		    {
        	                		        alt732=1;
        	                		    }
        	                		}
        	                	}
        	                    break;
        	            }

        	            switch (alt732)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2381:20: type_datetime_precision
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_type_datetime_precision_in_data_type_elements13607);
        	        	        type_datetime_precision2642=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_precision2642.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 18:
        	    // MySQL.g:2383:4: TINYBLOB_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        TINYBLOB_SYMBOL2643 = (pANTLR3_COMMON_TOKEN) MATCHT(TINYBLOB_SYMBOL, &FOLLOW_TINYBLOB_SYMBOL_in_data_type_elements13614);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruledata_type_elementsEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        TINYBLOB_SYMBOL2643_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, TINYBLOB_SYMBOL2643));
        	        ADAPTOR->addChild(ADAPTOR, root_0, TINYBLOB_SYMBOL2643_tree);
        	        }

        	    }
        	    break;
        	case 19:
        	    // MySQL.g:2384:4: BLOB_SYMBOL ( field_length )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        BLOB_SYMBOL2644 = (pANTLR3_COMMON_TOKEN) MATCHT(BLOB_SYMBOL, &FOLLOW_BLOB_SYMBOL_in_data_type_elements13619);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruledata_type_elementsEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        BLOB_SYMBOL2644_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, BLOB_SYMBOL2644));
        	        ADAPTOR->addChild(ADAPTOR, root_0, BLOB_SYMBOL2644_tree);
        	        }

        	        // MySQL.g:2384:16: ( field_length )?
        	        {
        	            int alt733=2;
        	            switch ( LA(1) )
        	            {
        	                case OPEN_PAR_SYMBOL:
        	                	{
        	                		switch ( LA(2) )
        	                		{
        	                		    case INTEGER:
        	                		    	{
        	                		    		alt733=1;
        	                		    	}
        	                		        break;
        	                		}

        	                	}
        	                    break;
        	            }

        	            switch (alt733)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2384:16: field_length
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_field_length_in_data_type_elements13621);
        	        	        field_length2645=field_length(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruledata_type_elementsEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, field_length2645.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 20:
        	    // MySQL.g:2385:4: MEDIUMBLOB_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        MEDIUMBLOB_SYMBOL2646 = (pANTLR3_COMMON_TOKEN) MATCHT(MEDIUMBLOB_SYMBOL, &FOLLOW_MEDIUMBLOB_SYMBOL_in_data_type_elements13627);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruledata_type_elementsEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        MEDIUMBLOB_SYMBOL2646_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MEDIUMBLOB_SYMBOL2646));
        	        ADAPTOR->addChild(ADAPTOR, root_0, MEDIUMBLOB_SYMBOL2646_tree);
        	        }

        	    }
        	    break;
        	case 21:
        	    // MySQL.g:2386:4: LONGBLOB_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        LONGBLOB_SYMBOL2647 = (pANTLR3_COMMON_TOKEN) MATCHT(LONGBLOB_SYMBOL, &FOLLOW_LONGBLOB_SYMBOL_in_data_type_elements13632);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruledata_type_elementsEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        LONGBLOB_SYMBOL2647_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, LONGBLOB_SYMBOL2647));
        	        ADAPTOR->addChild(ADAPTOR, root_0, LONGBLOB_SYMBOL2647_tree);
        	        }

        	    }
        	    break;
        	case 22:
        	    // MySQL.g:2387:4: LONG_SYMBOL VARBINARY_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        LONG_SYMBOL2648 = (pANTLR3_COMMON_TOKEN) MATCHT(LONG_SYMBOL, &FOLLOW_LONG_SYMBOL_in_data_type_elements13637);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruledata_type_elementsEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        LONG_SYMBOL2648_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, LONG_SYMBOL2648));
        	        ADAPTOR->addChild(ADAPTOR, root_0, LONG_SYMBOL2648_tree);
        	        }

        	        VARBINARY_SYMBOL2649 = (pANTLR3_COMMON_TOKEN) MATCHT(VARBINARY_SYMBOL, &FOLLOW_VARBINARY_SYMBOL_in_data_type_elements13639);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruledata_type_elementsEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        VARBINARY_SYMBOL2649_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, VARBINARY_SYMBOL2649));
        	        ADAPTOR->addChild(ADAPTOR, root_0, VARBINARY_SYMBOL2649_tree);
        	        }

        	    }
        	    break;
        	case 23:
        	    // MySQL.g:2388:4: LONG_SYMBOL ( varchar_literal )? ( string_binary )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        LONG_SYMBOL2650 = (pANTLR3_COMMON_TOKEN) MATCHT(LONG_SYMBOL, &FOLLOW_LONG_SYMBOL_in_data_type_elements13644);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruledata_type_elementsEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        LONG_SYMBOL2650_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, LONG_SYMBOL2650));
        	        ADAPTOR->addChild(ADAPTOR, root_0, LONG_SYMBOL2650_tree);
        	        }

        	        // MySQL.g:2388:16: ( varchar_literal )?
        	        {
        	            int alt734=2;
        	            switch ( LA(1) )
        	            {
        	                case CHAR_SYMBOL:
        	                	{
        	                		switch ( LA(2) )
        	                		{
        	                		    case VARYING_SYMBOL:
        	                		    	{
        	                		    		alt734=1;
        	                		    	}
        	                		        break;
        	                		}

        	                	}
        	                    break;
        	                case VARCHAR_SYMBOL:
        	                	{
        	                		alt734=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt734)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2388:16: varchar_literal
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_varchar_literal_in_data_type_elements13646);
        	        	        varchar_literal2651=varchar_literal(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruledata_type_elementsEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, varchar_literal2651.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	        // MySQL.g:2388:33: ( string_binary )?
        	        {
        	            int alt735=2;
        	            switch ( LA(1) )
        	            {
        	                case ASCII_SYMBOL:
        	                case BYTE_SYMBOL:
        	                case CHARSET_SYMBOL:
        	                case UNICODE_SYMBOL:
        	                case BINARY_SYMBOL:
        	                case CHAR_SYMBOL:
        	                	{
        	                		alt735=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt735)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2388:33: string_binary
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_string_binary_in_data_type_elements13649);
        	        	        string_binary2652=string_binary(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruledata_type_elementsEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_binary2652.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 24:
        	    // MySQL.g:2390:4: TINYTEXT_SYMBOL ( string_binary )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        TINYTEXT_SYMBOL2653 = (pANTLR3_COMMON_TOKEN) MATCHT(TINYTEXT_SYMBOL, &FOLLOW_TINYTEXT_SYMBOL_in_data_type_elements13656);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruledata_type_elementsEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        TINYTEXT_SYMBOL2653_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, TINYTEXT_SYMBOL2653));
        	        ADAPTOR->addChild(ADAPTOR, root_0, TINYTEXT_SYMBOL2653_tree);
        	        }

        	        // MySQL.g:2390:20: ( string_binary )?
        	        {
        	            int alt736=2;
        	            switch ( LA(1) )
        	            {
        	                case ASCII_SYMBOL:
        	                case BYTE_SYMBOL:
        	                case CHARSET_SYMBOL:
        	                case UNICODE_SYMBOL:
        	                case BINARY_SYMBOL:
        	                case CHAR_SYMBOL:
        	                	{
        	                		alt736=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt736)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2390:20: string_binary
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_string_binary_in_data_type_elements13658);
        	        	        string_binary2654=string_binary(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruledata_type_elementsEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_binary2654.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 25:
        	    // MySQL.g:2391:4: TEXT_SYMBOL ( field_length )? ( string_binary )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        TEXT_SYMBOL2655 = (pANTLR3_COMMON_TOKEN) MATCHT(TEXT_SYMBOL, &FOLLOW_TEXT_SYMBOL_in_data_type_elements13664);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruledata_type_elementsEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        TEXT_SYMBOL2655_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, TEXT_SYMBOL2655));
        	        ADAPTOR->addChild(ADAPTOR, root_0, TEXT_SYMBOL2655_tree);
        	        }

        	        // MySQL.g:2391:16: ( field_length )?
        	        {
        	            int alt737=2;
        	            switch ( LA(1) )
        	            {
        	                case OPEN_PAR_SYMBOL:
        	                	{
        	                		switch ( LA(2) )
        	                		{
        	                		    case INTEGER:
        	                		    	{
        	                		    		alt737=1;
        	                		    	}
        	                		        break;
        	                		}

        	                	}
        	                    break;
        	            }

        	            switch (alt737)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2391:16: field_length
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_field_length_in_data_type_elements13666);
        	        	        field_length2656=field_length(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruledata_type_elementsEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, field_length2656.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	        // MySQL.g:2391:30: ( 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:2391:30: string_binary
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_string_binary_in_data_type_elements13669);
        	        	        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 26:
        	    // MySQL.g:2392:4: MEDIUMTEXT_SYMBOL ( string_binary )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        MEDIUMTEXT_SYMBOL2658 = (pANTLR3_COMMON_TOKEN) MATCHT(MEDIUMTEXT_SYMBOL, &FOLLOW_MEDIUMTEXT_SYMBOL_in_data_type_elements13675);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruledata_type_elementsEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        MEDIUMTEXT_SYMBOL2658_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MEDIUMTEXT_SYMBOL2658));
        	        ADAPTOR->addChild(ADAPTOR, root_0, MEDIUMTEXT_SYMBOL2658_tree);
        	        }

        	        // MySQL.g:2392:22: ( 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:2392:22: string_binary
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_string_binary_in_data_type_elements13677);
        	        	        string_binary2659=string_binary(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruledata_type_elementsEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_binary2659.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 27:
        	    // MySQL.g:2393:4: LONGTEXT_SYMBOL ( string_binary )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        LONGTEXT_SYMBOL2660 = (pANTLR3_COMMON_TOKEN) MATCHT(LONGTEXT_SYMBOL, &FOLLOW_LONGTEXT_SYMBOL_in_data_type_elements13683);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruledata_type_elementsEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        LONGTEXT_SYMBOL2660_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, LONGTEXT_SYMBOL2660));
        	        ADAPTOR->addChild(ADAPTOR, root_0, LONGTEXT_SYMBOL2660_tree);
        	        }

        	        // MySQL.g:2393:20: ( string_binary )?
        	        {
        	            int alt740=2;
        	            switch ( LA(1) )
        	            {
        	                case ASCII_SYMBOL:
        	                case BYTE_SYMBOL:
        	                case CHARSET_SYMBOL:
        	                case UNICODE_SYMBOL:
        	                case BINARY_SYMBOL:
        	                case CHAR_SYMBOL:
        	                	{
        	                		alt740=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt740)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2393:20: string_binary
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_string_binary_in_data_type_elements13685);
        	        	        string_binary2661=string_binary(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruledata_type_elementsEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_binary2661.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 28:
        	    // MySQL.g:2395:4: DECIMAL_SYMBOL ( float_options )? ( field_options )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        DECIMAL_SYMBOL2662 = (pANTLR3_COMMON_TOKEN) MATCHT(DECIMAL_SYMBOL, &FOLLOW_DECIMAL_SYMBOL_in_data_type_elements13693);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruledata_type_elementsEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        DECIMAL_SYMBOL2662_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DECIMAL_SYMBOL2662));
        	        ADAPTOR->addChild(ADAPTOR, root_0, DECIMAL_SYMBOL2662_tree);
        	        }

        	        // MySQL.g:2395:19: ( float_options )?
        	        {
        	            int alt741=2;
        	            switch ( LA(1) )
        	            {
        	                case OPEN_PAR_SYMBOL:
        	                	{
        	                		switch ( LA(2) )
        	                		{
        	                		    case INTEGER:
        	                		    	{
        	                		    		alt741=1;
        	                		    	}
        	                		        break;
        	                		}

        	                	}
        	                    break;
        	            }

        	            switch (alt741)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2395:19: float_options
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_float_options_in_data_type_elements13695);
        	        	        float_options2663=float_options(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruledata_type_elementsEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, float_options2663.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	        // MySQL.g:2395:34: ( field_options )?
        	        {
        	            int alt742=2;
        	            switch ( LA(1) )
        	            {
        	                case SIGNED_SYMBOL:
        	                case UNSIGNED_SYMBOL:
        	                case ZEROFILL_SYMBOL:
        	                	{
        	                		alt742=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt742)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2395:34: field_options
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_field_options_in_data_type_elements13698);
        	        	        field_options2664=field_options(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruledata_type_elementsEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, field_options2664.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 29:
        	    // MySQL.g:2396:4: NUMERIC_SYMBOL ( float_options )? ( field_options )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        NUMERIC_SYMBOL2665 = (pANTLR3_COMMON_TOKEN) MATCHT(NUMERIC_SYMBOL, &FOLLOW_NUMERIC_SYMBOL_in_data_type_elements13704);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruledata_type_elementsEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        NUMERIC_SYMBOL2665_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, NUMERIC_SYMBOL2665));
        	        ADAPTOR->addChild(ADAPTOR, root_0, NUMERIC_SYMBOL2665_tree);
        	        }

        	        // MySQL.g:2396:19: ( float_options )?
        	        {
        	            int alt743=2;
        	            switch ( LA(1) )
        	            {
        	                case OPEN_PAR_SYMBOL:
        	                	{
        	                		switch ( LA(2) )
        	                		{
        	                		    case INTEGER:
        	                		    	{
        	                		    		alt743=1;
        	                		    	}
        	                		        break;
        	                		}

        	                	}
        	                    break;
        	            }

        	            switch (alt743)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2396:19: float_options
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_float_options_in_data_type_elements13706);
        	        	        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:2396:34: ( field_options )?
        	        {
        	            int alt744=2;
        	            switch ( LA(1) )
        	            {
        	                case SIGNED_SYMBOL:
        	                case UNSIGNED_SYMBOL:
        	                case ZEROFILL_SYMBOL:
        	                	{
        	                		alt744=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt744)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2396:34: field_options
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_field_options_in_data_type_elements13709);
        	        	        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 30:
        	    // MySQL.g:2397:4: FIXED_SYMBOL ( float_options )? ( field_options )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FIXED_SYMBOL2668 = (pANTLR3_COMMON_TOKEN) MATCHT(FIXED_SYMBOL, &FOLLOW_FIXED_SYMBOL_in_data_type_elements13715);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruledata_type_elementsEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        FIXED_SYMBOL2668_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, FIXED_SYMBOL2668));
        	        ADAPTOR->addChild(ADAPTOR, root_0, FIXED_SYMBOL2668_tree);
        	        }

        	        // MySQL.g:2397:17: ( float_options )?
        	        {
        	            int alt745=2;
        	            switch ( LA(1) )
        	            {
        	                case OPEN_PAR_SYMBOL:
        	                	{
        	                		switch ( LA(2) )
        	                		{
        	                		    case INTEGER:
        	                		    	{
        	                		    		alt745=1;
        	                		    	}
        	                		        break;
        	                		}

        	                	}
        	                    break;
        	            }

        	            switch (alt745)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2397:17: float_options
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_float_options_in_data_type_elements13717);
        	        	        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:2397:32: ( field_options )?
        	        {
        	            int alt746=2;
        	            switch ( LA(1) )
        	            {
        	                case SIGNED_SYMBOL:
        	                case UNSIGNED_SYMBOL:
        	                case ZEROFILL_SYMBOL:
        	                	{
        	                		alt746=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt746)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2397:32: field_options
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_field_options_in_data_type_elements13720);
        	        	        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 31:
        	    // MySQL.g:2399:4: ENUM_SYMBOL string_list ( string_binary )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        ENUM_SYMBOL2671 = (pANTLR3_COMMON_TOKEN) MATCHT(ENUM_SYMBOL, &FOLLOW_ENUM_SYMBOL_in_data_type_elements13728);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruledata_type_elementsEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        ENUM_SYMBOL2671_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ENUM_SYMBOL2671));
        	        ADAPTOR->addChild(ADAPTOR, root_0, ENUM_SYMBOL2671_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_string_list_in_data_type_elements13730);
        	        string_list2672=string_list(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruledata_type_elementsEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_list2672.tree);

        	        // MySQL.g:2399:28: ( string_binary )?
        	        {
        	            int alt747=2;
        	            switch ( LA(1) )
        	            {
        	                case ASCII_SYMBOL:
        	                case BYTE_SYMBOL:
        	                case CHARSET_SYMBOL:
        	                case UNICODE_SYMBOL:
        	                case BINARY_SYMBOL:
        	                case CHAR_SYMBOL:
        	                	{
        	                		alt747=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt747)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2399:28: string_binary
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_string_binary_in_data_type_elements13732);
        	        	        string_binary2673=string_binary(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruledata_type_elementsEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_binary2673.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 32:
        	    // MySQL.g:2400:4: SET_SYMBOL string_list ( string_binary )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        SET_SYMBOL2674 = (pANTLR3_COMMON_TOKEN) MATCHT(SET_SYMBOL, &FOLLOW_SET_SYMBOL_in_data_type_elements13738);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruledata_type_elementsEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        SET_SYMBOL2674_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SET_SYMBOL2674));
        	        ADAPTOR->addChild(ADAPTOR, root_0, SET_SYMBOL2674_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_string_list_in_data_type_elements13740);
        	        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:2400:27: ( string_binary )?
        	        {
        	            int alt748=2;
        	            switch ( LA(1) )
        	            {
        	                case ASCII_SYMBOL:
        	                case BYTE_SYMBOL:
        	                case CHARSET_SYMBOL:
        	                case UNICODE_SYMBOL:
        	                case BINARY_SYMBOL:
        	                case CHAR_SYMBOL:
        	                	{
        	                		alt748=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt748)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2400:27: string_binary
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_string_binary_in_data_type_elements13742);
        	        	        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 33:
        	    // MySQL.g:2401:4: SERIAL_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        SERIAL_SYMBOL2677 = (pANTLR3_COMMON_TOKEN) MATCHT(SERIAL_SYMBOL, &FOLLOW_SERIAL_SYMBOL_in_data_type_elements13748);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruledata_type_elementsEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        SERIAL_SYMBOL2677_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SERIAL_SYMBOL2677));
        	        ADAPTOR->addChild(ADAPTOR, root_0, SERIAL_SYMBOL2677_tree);
        	        }

        	    }
        	    break;
        	case 34:
        	    // MySQL.g:2402:4: spatial_type
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_spatial_type_in_data_type_elements13753);
        	        spatial_type2678=spatial_type(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruledata_type_elementsEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, spatial_type2678.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:2405: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_SYMBOL2679;
    pANTLR3_COMMON_TOKEN    INTEGER2680;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2681;

    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2679_tree;
    pANTLR3_BASE_TREE INTEGER2680_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2681_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    OPEN_PAR_SYMBOL2679       = NULL;
    INTEGER2680       = NULL;
    CLOSE_PAR_SYMBOL2681       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    OPEN_PAR_SYMBOL2679_tree   = NULL;
    INTEGER2680_tree   = NULL;
    CLOSE_PAR_SYMBOL2681_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2405:13: ( OPEN_PAR_SYMBOL INTEGER CLOSE_PAR_SYMBOL )
        // MySQL.g:2406:2: OPEN_PAR_SYMBOL INTEGER CLOSE_PAR_SYMBOL
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            OPEN_PAR_SYMBOL2679 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_field_length13762);
            if  (HASEXCEPTION())
            {
                goto rulefield_lengthEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            OPEN_PAR_SYMBOL2679_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL2679));
            ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL2679_tree);
            }

            INTEGER2680 = (pANTLR3_COMMON_TOKEN) MATCHT(INTEGER, &FOLLOW_INTEGER_in_field_length13764);
            if  (HASEXCEPTION())
            {
                goto rulefield_lengthEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            INTEGER2680_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INTEGER2680));
            ADAPTOR->addChild(ADAPTOR, root_0, INTEGER2680_tree);
            }

            CLOSE_PAR_SYMBOL2681 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_field_length13766);
            if  (HASEXCEPTION())
            {
                goto rulefield_lengthEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            CLOSE_PAR_SYMBOL2681_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL2681));
            ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL2681_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:2409: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    set2682;

    pANTLR3_BASE_TREE set2682_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    set2682       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    set2682_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2409:14: ( ( SIGNED_SYMBOL | UNSIGNED_SYMBOL | ZEROFILL_SYMBOL )+ )
        // MySQL.g:2410:2: ( SIGNED_SYMBOL | UNSIGNED_SYMBOL | ZEROFILL_SYMBOL )+
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            // MySQL.g:2410:2: ( SIGNED_SYMBOL | UNSIGNED_SYMBOL | ZEROFILL_SYMBOL )+
            {
                int cnt750=0;

                for (;;)
                {
                    int alt750=2;
            	switch ( LA(1) )
            	{
            	case SIGNED_SYMBOL:
            	case UNSIGNED_SYMBOL:
            	case ZEROFILL_SYMBOL:
            		{
            			alt750=1;
            		}
            	    break;

            	}

            	switch (alt750)
            	{
            	    case 1:
            	        // MySQL.g:
            	        {
            	            set2682=(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, set2682))
            	                );
            	                PERRORRECOVERY=ANTLR3_FALSE;
            	                FAILEDFLAG=ANTLR3_FALSE;

            	            }
            	            else
            	            {
            	                if (BACKTRACKING>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 ( cnt750 >= 1 )
            		{
            		    goto loop750;
            		}
            		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;
            	}
            	cnt750++;
                }
                loop750: ;	/* 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:2413: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_SYMBOL2685;
    pANTLR3_COMMON_TOKEN    BINARY_SYMBOL2688;
    pANTLR3_COMMON_TOKEN    BINARY_SYMBOL2689;
    MySQLParser_ascii_return ascii2683;
    #undef	RETURN_TYPE_ascii2683
    #define	RETURN_TYPE_ascii2683 MySQLParser_ascii_return

    MySQLParser_unicode_return unicode2684;
    #undef	RETURN_TYPE_unicode2684
    #define	RETURN_TYPE_unicode2684 MySQLParser_unicode_return

    MySQLParser_charset_return charset2686;
    #undef	RETURN_TYPE_charset2686
    #define	RETURN_TYPE_charset2686 MySQLParser_charset_return

    MySQLParser_charset_name_return charset_name2687;
    #undef	RETURN_TYPE_charset_name2687
    #define	RETURN_TYPE_charset_name2687 MySQLParser_charset_name_return

    MySQLParser_charset_return charset2690;
    #undef	RETURN_TYPE_charset2690
    #define	RETURN_TYPE_charset2690 MySQLParser_charset_return

    MySQLParser_charset_name_return charset_name2691;
    #undef	RETURN_TYPE_charset_name2691
    #define	RETURN_TYPE_charset_name2691 MySQLParser_charset_name_return

    pANTLR3_BASE_TREE BYTE_SYMBOL2685_tree;
    pANTLR3_BASE_TREE BINARY_SYMBOL2688_tree;
    pANTLR3_BASE_TREE BINARY_SYMBOL2689_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    BYTE_SYMBOL2685       = NULL;
    BINARY_SYMBOL2688       = NULL;
    BINARY_SYMBOL2689       = NULL;
    ascii2683.tree = NULL;

    unicode2684.tree = NULL;

    charset2686.tree = NULL;

    charset_name2687.tree = NULL;

    charset2690.tree = NULL;

    charset_name2691.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    BYTE_SYMBOL2685_tree   = NULL;
    BINARY_SYMBOL2688_tree   = NULL;
    BINARY_SYMBOL2689_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:2413:14: ( ascii | unicode | BYTE_SYMBOL | charset charset_name ( BINARY_SYMBOL )? | BINARY_SYMBOL ( charset charset_name )? )

            ANTLR3_UINT32 alt753;

            alt753=5;

            switch ( LA(1) )
            {
            case ASCII_SYMBOL:
            	{
            		alt753=1;
            	}
                break;
            case BINARY_SYMBOL:
            	{
            		{
            		    int LA753_2 = LA(2);
            		    if ( ((SERVER_VERSION >= 50500)) && (LA753_2 == ASCII_SYMBOL))
            		    {
            		        alt753=1;
            		    }
            		    else if ( ((SERVER_VERSION >= 50500)) && (LA753_2 == UNICODE_SYMBOL))
            		    {
            		        alt753=2;
            		    }
            		    else if ( (LA753_2 == EOF || ((LA753_2 >= ACTION_SYMBOL) && (LA753_2 <= YEAR_SYMBOL)) || ((LA753_2 >= BACKUP_SYMBOL) && (LA753_2 <= BEGIN_SYMBOL)) || ((LA753_2 >= CACHE_SYMBOL) && (LA753_2 <= DO_SYMBOL)) || ((LA753_2 >= EXECUTE_SYMBOL) && (LA753_2 <= FLUSH_SYMBOL)) || ((LA753_2 >= HANDLER_SYMBOL) && (LA753_2 <= HELP_SYMBOL)) || ((LA753_2 >= INSTALL_SYMBOL) && (LA753_2 <= OPEN_SYMBOL)) || ((LA753_2 >= PREPARE_SYMBOL) && (LA753_2 <= SAVEPOINT_SYMBOL)) || ((LA753_2 >= START_SYMBOL) && (LA753_2 <= TRUNCATE_SYMBOL)) || LA753_2 == UNINSTALL_SYMBOL || ((LA753_2 >= XA_SYMBOL) && (LA753_2 <= PARTITION_SYMBOL)) || LA753_2 == ALTER_SYMBOL || LA753_2 == BACK_TICK_QUOTED_ID || LA753_2 == CALL_SYMBOL || LA753_2 == CASE_SYMBOL || LA753_2 == CHANGE_SYMBOL || ((LA753_2 >= CHAR_SYMBOL) && (LA753_2 <= CHECK_SYMBOL)) || ((LA753_2 >= CLOSE_PAR_SYMBOL) && (LA753_2 <= COLLATE_SYMBOL)) || LA753_2 == COMMA_SYMBOL || LA753_2 == CREATE_SYMBOL || LA753_2 == DEFAULT_SYMBOL || ((LA753_2 >= DELETE_SYMBOL) && (LA753_2 <= DETERMINISTIC_SYMBOL)) || LA753_2 == DOUBLE_QUOTED_TEXT || LA753_2 == DROP_SYMBOL || LA753_2 == FETCH_SYMBOL || ((LA753_2 >= GET_SYMBOL) && (LA753_2 <= GRANT_SYMBOL)) || ((LA753_2 >= IDENTIFIER) && (LA753_2 <= IF_SYMBOL)) || LA753_2 == INSERT_SYMBOL || LA753_2 == ITERATE_SYMBOL || ((LA753_2 >= KEY_SYMBOL) && (LA753_2 <= KILL_SYMBOL)) || LA753_2 == LEAVE_SYMBOL || LA753_2 == LOAD_SYMBOL || LA753_2 == LOCK_SYMBOL || LA753_2 == LOOP_SYMBOL || LA753_2 == MODIFIES_SYMBOL || LA753_2 == NOT_SYMBOL || LA753_2 == NULL2_SYMBOL || LA753_2 == NULL_SYMBOL || LA753_2 == ON_SYMBOL || ((LA753_2 >= OPEN_PAR_SYMBOL) && (LA753_2 <= OPTIMIZE_SYMBOL)) || LA753_2 == PRIMARY_SYMBOL || LA753_2 == PURGE_SYMBOL || LA753_2 == READS_SYMBOL || LA753_2 == REFERENCES_SYMBOL || ((LA753_2 >= RELEASE_SYMBOL) && (LA753_2 <= REPLACE_SYMBOL)) || LA753_2 == RESIGNAL_SYMBOL || ((LA753_2 >= RETURN_SYMBOL) && (LA753_2 <= REVOKE_SYMBOL)) || ((LA753_2 >= SELECT_SYMBOL) && (LA753_2 <= SEMICOLON_SYMBOL)) || LA753_2 == SET_SYMBOL || ((LA753_2 >= SHOW_SYMBOL) && (LA753_2 <= SIGNAL_SYMBOL)) || LA753_2 == SQL_SYMBOL || ((LA753_2 >= UNIQUE_SYMBOL) && (LA753_2 <= UNLOCK_SYMBOL)) || LA753_2 == UPDATE_SYMBOL || LA753_2 == USE_SYMBOL || LA753_2 == WHILE_SYMBOL))
            		    {
            		        alt753=5;
            		    }
            		    else
            		    {
            		        if (BACKTRACKING>0)
            		        {
            		            FAILEDFLAG = ANTLR3_TRUE;
            		            return retval;
            		        }


            		        CONSTRUCTEX();
            		        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
            		        EXCEPTION->message      = (void *)"";
            		        EXCEPTION->decisionNum  = 753;
            		        EXCEPTION->state        = 2;


            		        goto rulestring_binaryEx;

            		    }
            		}
            	}
                break;
            case UNICODE_SYMBOL:
            	{
            		alt753=2;
            	}
                break;
            case BYTE_SYMBOL:
            	{
            		alt753=3;
            	}
                break;
            case CHARSET_SYMBOL:
            case CHAR_SYMBOL:
            	{
            		alt753=4;
            	}
                break;

            default:
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                EXCEPTION->message      = (void *)"";
                EXCEPTION->decisionNum  = 753;
                EXCEPTION->state        = 0;


                goto rulestring_binaryEx;

            }

            switch (alt753)
            {
        	case 1:
        	    // MySQL.g:2414:2: ascii
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_ascii_in_string_binary13795);
        	        ascii2683=ascii(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulestring_binaryEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, ascii2683.tree);

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:2415:4: unicode
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_unicode_in_string_binary13800);
        	        unicode2684=unicode(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulestring_binaryEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, unicode2684.tree);

        	    }
        	    break;
        	case 3:
        	    // MySQL.g:2416:4: BYTE_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        BYTE_SYMBOL2685 = (pANTLR3_COMMON_TOKEN) MATCHT(BYTE_SYMBOL, &FOLLOW_BYTE_SYMBOL_in_string_binary13805);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulestring_binaryEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        BYTE_SYMBOL2685_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, BYTE_SYMBOL2685));
        	        ADAPTOR->addChild(ADAPTOR, root_0, BYTE_SYMBOL2685_tree);
        	        }

        	    }
        	    break;
        	case 4:
        	    // MySQL.g:2417:4: charset charset_name ( BINARY_SYMBOL )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_charset_in_string_binary13810);
        	        charset2686=charset(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulestring_binaryEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, charset2686.tree);

        	        FOLLOWPUSH(FOLLOW_charset_name_in_string_binary13812);
        	        charset_name2687=charset_name(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulestring_binaryEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, charset_name2687.tree);

        	        // MySQL.g:2417:25: ( BINARY_SYMBOL )?
        	        {
        	            int alt751=2;
        	            switch ( LA(1) )
        	            {
        	                case BINARY_SYMBOL:
        	                	{
        	                		alt751=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt751)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2417:25: BINARY_SYMBOL
        	        	    {
        	        	        BINARY_SYMBOL2688 = (pANTLR3_COMMON_TOKEN) MATCHT(BINARY_SYMBOL, &FOLLOW_BINARY_SYMBOL_in_string_binary13814);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulestring_binaryEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        BINARY_SYMBOL2688_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, BINARY_SYMBOL2688));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, BINARY_SYMBOL2688_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 5:
        	    // MySQL.g:2418:4: BINARY_SYMBOL ( charset charset_name )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        BINARY_SYMBOL2689 = (pANTLR3_COMMON_TOKEN) MATCHT(BINARY_SYMBOL, &FOLLOW_BINARY_SYMBOL_in_string_binary13820);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulestring_binaryEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        BINARY_SYMBOL2689_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, BINARY_SYMBOL2689));
        	        ADAPTOR->addChild(ADAPTOR, root_0, BINARY_SYMBOL2689_tree);
        	        }

        	        // MySQL.g:2418:18: ( charset charset_name )?
        	        {
        	            int alt752=2;
        	            switch ( LA(1) )
        	            {
        	                case CHARSET_SYMBOL:
        	                case CHAR_SYMBOL:
        	                	{
        	                		alt752=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt752)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2418:19: charset charset_name
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_charset_in_string_binary13823);
        	        	        charset2690=charset(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulestring_binaryEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, charset2690.tree);

        	        	        FOLLOWPUSH(FOLLOW_charset_name_in_string_binary13825);
        	        	        charset_name2691=charset_name(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulestring_binaryEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, charset_name2691.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:2421: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_SYMBOL2692;
    pANTLR3_COMMON_TOKEN    BINARY_SYMBOL2693;
    pANTLR3_COMMON_TOKEN    BINARY_SYMBOL2694;
    pANTLR3_COMMON_TOKEN    ASCII_SYMBOL2695;

    pANTLR3_BASE_TREE ASCII_SYMBOL2692_tree;
    pANTLR3_BASE_TREE BINARY_SYMBOL2693_tree;
    pANTLR3_BASE_TREE BINARY_SYMBOL2694_tree;
    pANTLR3_BASE_TREE ASCII_SYMBOL2695_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    ASCII_SYMBOL2692       = NULL;
    BINARY_SYMBOL2693       = NULL;
    BINARY_SYMBOL2694       = NULL;
    ASCII_SYMBOL2695       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    ASCII_SYMBOL2692_tree   = NULL;
    BINARY_SYMBOL2693_tree   = NULL;
    BINARY_SYMBOL2694_tree   = NULL;
    ASCII_SYMBOL2695_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:2421:6: ( ASCII_SYMBOL ( BINARY_SYMBOL )? |{...}? => BINARY_SYMBOL ASCII_SYMBOL )

            ANTLR3_UINT32 alt755;

            alt755=2;

            {
                int LA755_0 = LA(1);
                if ( (LA755_0 == ASCII_SYMBOL))
                {
                    alt755=1;
                }
                else if ( ((SERVER_VERSION >= 50500)) && (LA755_0 == BINARY_SYMBOL))
                {
                    alt755=2;
                }
                else
                {
                    if (BACKTRACKING>0)
                    {
                        FAILEDFLAG = ANTLR3_TRUE;
                        return retval;
                    }


                    CONSTRUCTEX();
                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    EXCEPTION->message      = (void *)"";
                    EXCEPTION->decisionNum  = 755;
                    EXCEPTION->state        = 0;


                    goto ruleasciiEx;

                }
            }
            switch (alt755)
            {
        	case 1:
        	    // MySQL.g:2422:2: ASCII_SYMBOL ( BINARY_SYMBOL )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        ASCII_SYMBOL2692 = (pANTLR3_COMMON_TOKEN) MATCHT(ASCII_SYMBOL, &FOLLOW_ASCII_SYMBOL_in_ascii13836);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleasciiEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        ASCII_SYMBOL2692_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ASCII_SYMBOL2692));
        	        ADAPTOR->addChild(ADAPTOR, root_0, ASCII_SYMBOL2692_tree);
        	        }

        	        // MySQL.g:2422:15: ( BINARY_SYMBOL )?
        	        {
        	            int alt754=2;
        	            switch ( LA(1) )
        	            {
        	                case BINARY_SYMBOL:
        	                	{
        	                		alt754=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt754)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2422:15: BINARY_SYMBOL
        	        	    {
        	        	        BINARY_SYMBOL2693 = (pANTLR3_COMMON_TOKEN) MATCHT(BINARY_SYMBOL, &FOLLOW_BINARY_SYMBOL_in_ascii13838);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleasciiEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        BINARY_SYMBOL2693_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, BINARY_SYMBOL2693));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, BINARY_SYMBOL2693_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:2423: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_SYMBOL2694 = (pANTLR3_COMMON_TOKEN) MATCHT(BINARY_SYMBOL, &FOLLOW_BINARY_SYMBOL_in_ascii13848);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleasciiEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        BINARY_SYMBOL2694_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, BINARY_SYMBOL2694));
        	        ADAPTOR->addChild(ADAPTOR, root_0, BINARY_SYMBOL2694_tree);
        	        }

        	        ASCII_SYMBOL2695 = (pANTLR3_COMMON_TOKEN) MATCHT(ASCII_SYMBOL, &FOLLOW_ASCII_SYMBOL_in_ascii13850);
        	        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);
        	        }

        	    }
        	    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:2426: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_SYMBOL2696;
    pANTLR3_COMMON_TOKEN    BINARY_SYMBOL2697;
    pANTLR3_COMMON_TOKEN    BINARY_SYMBOL2698;
    pANTLR3_COMMON_TOKEN    UNICODE_SYMBOL2699;

    pANTLR3_BASE_TREE UNICODE_SYMBOL2696_tree;
    pANTLR3_BASE_TREE BINARY_SYMBOL2697_tree;
    pANTLR3_BASE_TREE BINARY_SYMBOL2698_tree;
    pANTLR3_BASE_TREE UNICODE_SYMBOL2699_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    UNICODE_SYMBOL2696       = NULL;
    BINARY_SYMBOL2697       = NULL;
    BINARY_SYMBOL2698       = NULL;
    UNICODE_SYMBOL2699       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    UNICODE_SYMBOL2696_tree   = NULL;
    BINARY_SYMBOL2697_tree   = NULL;
    BINARY_SYMBOL2698_tree   = NULL;
    UNICODE_SYMBOL2699_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:2426:8: ( UNICODE_SYMBOL ( BINARY_SYMBOL )? |{...}? => BINARY_SYMBOL UNICODE_SYMBOL )

            ANTLR3_UINT32 alt757;

            alt757=2;

            {
                int LA757_0 = LA(1);
                if ( (LA757_0 == UNICODE_SYMBOL))
                {
                    alt757=1;
                }
                else if ( ((SERVER_VERSION >= 50500)) && (LA757_0 == BINARY_SYMBOL))
                {
                    alt757=2;
                }
                else
                {
                    if (BACKTRACKING>0)
                    {
                        FAILEDFLAG = ANTLR3_TRUE;
                        return retval;
                    }


                    CONSTRUCTEX();
                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    EXCEPTION->message      = (void *)"";
                    EXCEPTION->decisionNum  = 757;
                    EXCEPTION->state        = 0;


                    goto ruleunicodeEx;

                }
            }
            switch (alt757)
            {
        	case 1:
        	    // MySQL.g:2427:2: UNICODE_SYMBOL ( BINARY_SYMBOL )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        UNICODE_SYMBOL2696 = (pANTLR3_COMMON_TOKEN) MATCHT(UNICODE_SYMBOL, &FOLLOW_UNICODE_SYMBOL_in_unicode13859);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleunicodeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        UNICODE_SYMBOL2696_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, UNICODE_SYMBOL2696));
        	        ADAPTOR->addChild(ADAPTOR, root_0, UNICODE_SYMBOL2696_tree);
        	        }

        	        // MySQL.g:2427:17: ( BINARY_SYMBOL )?
        	        {
        	            int alt756=2;
        	            switch ( LA(1) )
        	            {
        	                case BINARY_SYMBOL:
        	                	{
        	                		alt756=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt756)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2427:17: BINARY_SYMBOL
        	        	    {
        	        	        BINARY_SYMBOL2697 = (pANTLR3_COMMON_TOKEN) MATCHT(BINARY_SYMBOL, &FOLLOW_BINARY_SYMBOL_in_unicode13861);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleunicodeEx;
        	        	        }
        	        	        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);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:2428: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_SYMBOL2698 = (pANTLR3_COMMON_TOKEN) MATCHT(BINARY_SYMBOL, &FOLLOW_BINARY_SYMBOL_in_unicode13871);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleunicodeEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        BINARY_SYMBOL2698_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, BINARY_SYMBOL2698));
        	        ADAPTOR->addChild(ADAPTOR, root_0, BINARY_SYMBOL2698_tree);
        	        }

        	        UNICODE_SYMBOL2699 = (pANTLR3_COMMON_TOKEN) MATCHT(UNICODE_SYMBOL, &FOLLOW_UNICODE_SYMBOL_in_unicode13873);
        	        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);
        	        }

        	    }
        	    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:2431: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_SYMBOL2700;
    pANTLR3_COMMON_TOKEN    INTEGER2701;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2702;

    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2700_tree;
    pANTLR3_BASE_TREE INTEGER2701_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2702_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    OPEN_PAR_SYMBOL2700       = NULL;
    INTEGER2701       = NULL;
    CLOSE_PAR_SYMBOL2702       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    OPEN_PAR_SYMBOL2700_tree   = NULL;
    INTEGER2701_tree   = NULL;
    CLOSE_PAR_SYMBOL2702_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2431:24: ({...}? => OPEN_PAR_SYMBOL INTEGER CLOSE_PAR_SYMBOL )
        // MySQL.g:2432: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_SYMBOL2700 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_type_datetime_precision13886);
            if  (HASEXCEPTION())
            {
                goto ruletype_datetime_precisionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            OPEN_PAR_SYMBOL2700_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL2700));
            ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL2700_tree);
            }

            INTEGER2701 = (pANTLR3_COMMON_TOKEN) MATCHT(INTEGER, &FOLLOW_INTEGER_in_type_datetime_precision13888);
            if  (HASEXCEPTION())
            {
                goto ruletype_datetime_precisionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            INTEGER2701_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INTEGER2701));
            ADAPTOR->addChild(ADAPTOR, root_0, INTEGER2701_tree);
            }

            CLOSE_PAR_SYMBOL2702 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_type_datetime_precision13890);
            if  (HASEXCEPTION())
            {
                goto ruletype_datetime_precisionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            CLOSE_PAR_SYMBOL2702_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL2702));
            ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL2702_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:2435: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_SYMBOL2704;
    MySQLParser_text_or_identifier_return text_or_identifier2703;
    #undef	RETURN_TYPE_text_or_identifier2703
    #define	RETURN_TYPE_text_or_identifier2703 MySQLParser_text_or_identifier_return

    pANTLR3_BASE_TREE BINARY_SYMBOL2704_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    BINARY_SYMBOL2704       = NULL;
    text_or_identifier2703.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    BINARY_SYMBOL2704_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:2435:13: ( text_or_identifier | BINARY_SYMBOL )

            ANTLR3_UINT32 alt758;

            alt758=2;

            {
                int LA758_0 = LA(1);
                if ( (LA758_0 == NCHAR_TEXT || LA758_0 == SINGLE_QUOTED_TEXT || LA758_0 == UNDERSCORE_CHARSET))
                {
                    alt758=1;
                }
                else if ( ((((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES)))||((!SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))))) && (LA758_0 == DOUBLE_QUOTED_TEXT))
                {
                    alt758=1;
                }
                else if ( (((LA758_0 >= ACTION_SYMBOL) && (LA758_0 <= PARTITION_SYMBOL)) || LA758_0 == BACK_TICK_QUOTED_ID || LA758_0 == IDENTIFIER))
                {
                    alt758=1;
                }
                else if ( (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 rulecharset_nameEx;

                }
            }
            switch (alt758)
            {
        	case 1:
        	    // MySQL.g:2436:2: text_or_identifier
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_text_or_identifier_in_charset_name13899);
        	        text_or_identifier2703=text_or_identifier(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecharset_nameEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, text_or_identifier2703.tree);

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:2437:4: BINARY_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        BINARY_SYMBOL2704 = (pANTLR3_COMMON_TOKEN) MATCHT(BINARY_SYMBOL, &FOLLOW_BINARY_SYMBOL_in_charset_name13904);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecharset_nameEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        BINARY_SYMBOL2704_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, BINARY_SYMBOL2704));
        	        ADAPTOR->addChild(ADAPTOR, root_0, BINARY_SYMBOL2704_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:2440: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_SYMBOL2706;
    MySQLParser_charset_name_return charset_name2705;
    #undef	RETURN_TYPE_charset_name2705
    #define	RETURN_TYPE_charset_name2705 MySQLParser_charset_name_return

    pANTLR3_BASE_TREE DEFAULT_SYMBOL2706_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    DEFAULT_SYMBOL2706       = NULL;
    charset_name2705.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    DEFAULT_SYMBOL2706_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:2440:24: ( charset_name | DEFAULT_SYMBOL )

            ANTLR3_UINT32 alt759;

            alt759=2;

            {
                int LA759_0 = LA(1);
                if ( (LA759_0 == NCHAR_TEXT || LA759_0 == SINGLE_QUOTED_TEXT || LA759_0 == UNDERSCORE_CHARSET))
                {
                    alt759=1;
                }
                else if ( ((((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES)))||((!SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))))) && (LA759_0 == DOUBLE_QUOTED_TEXT))
                {
                    alt759=1;
                }
                else if ( (((LA759_0 >= ACTION_SYMBOL) && (LA759_0 <= PARTITION_SYMBOL)) || LA759_0 == BACK_TICK_QUOTED_ID || LA759_0 == BINARY_SYMBOL || LA759_0 == IDENTIFIER))
                {
                    alt759=1;
                }
                else if ( (LA759_0 == DEFAULT_SYMBOL))
                {
                    alt759=2;
                }
                else
                {
                    if (BACKTRACKING>0)
                    {
                        FAILEDFLAG = ANTLR3_TRUE;
                        return retval;
                    }


                    CONSTRUCTEX();
                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    EXCEPTION->message      = (void *)"";
                    EXCEPTION->decisionNum  = 759;
                    EXCEPTION->state        = 0;


                    goto rulecharset_name_or_defaultEx;

                }
            }
            switch (alt759)
            {
        	case 1:
        	    // MySQL.g:2441:2: charset_name
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_charset_name_in_charset_name_or_default13913);
        	        charset_name2705=charset_name(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecharset_name_or_defaultEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, charset_name2705.tree);

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:2442:4: DEFAULT_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        DEFAULT_SYMBOL2706 = (pANTLR3_COMMON_TOKEN) MATCHT(DEFAULT_SYMBOL, &FOLLOW_DEFAULT_SYMBOL_in_charset_name_or_default13918);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecharset_name_or_defaultEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        DEFAULT_SYMBOL2706_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DEFAULT_SYMBOL2706));
        	        ADAPTOR->addChild(ADAPTOR, root_0, DEFAULT_SYMBOL2706_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:2445: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_SYMBOL2708;
    MySQLParser_text_or_identifier_return text_or_identifier2707;
    #undef	RETURN_TYPE_text_or_identifier2707
    #define	RETURN_TYPE_text_or_identifier2707 MySQLParser_text_or_identifier_return

    pANTLR3_BASE_TREE DEFAULT_SYMBOL2708_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    DEFAULT_SYMBOL2708       = NULL;
    text_or_identifier2707.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    DEFAULT_SYMBOL2708_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:2445:26: ( text_or_identifier | DEFAULT_SYMBOL )

            ANTLR3_UINT32 alt760;

            alt760=2;

            {
                int LA760_0 = LA(1);
                if ( (LA760_0 == NCHAR_TEXT || LA760_0 == SINGLE_QUOTED_TEXT || LA760_0 == UNDERSCORE_CHARSET))
                {
                    alt760=1;
                }
                else if ( ((((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES)))||((!SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))))) && (LA760_0 == DOUBLE_QUOTED_TEXT))
                {
                    alt760=1;
                }
                else if ( (((LA760_0 >= ACTION_SYMBOL) && (LA760_0 <= PARTITION_SYMBOL)) || LA760_0 == BACK_TICK_QUOTED_ID || LA760_0 == IDENTIFIER))
                {
                    alt760=1;
                }
                else if ( (LA760_0 == DEFAULT_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 rulecollation_name_or_defaultEx;

                }
            }
            switch (alt760)
            {
        	case 1:
        	    // MySQL.g:2446:2: text_or_identifier
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_text_or_identifier_in_collation_name_or_default13927);
        	        text_or_identifier2707=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_identifier2707.tree);

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:2447:4: DEFAULT_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        DEFAULT_SYMBOL2708 = (pANTLR3_COMMON_TOKEN) MATCHT(DEFAULT_SYMBOL, &FOLLOW_DEFAULT_SYMBOL_in_collation_name_or_default13932);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecollation_name_or_defaultEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        DEFAULT_SYMBOL2708_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DEFAULT_SYMBOL2708));
        	        ADAPTOR->addChild(ADAPTOR, root_0, DEFAULT_SYMBOL2708_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:2450: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    set2709;

    pANTLR3_BASE_TREE set2709_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    set2709       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    set2709_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2450: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));


            set2709=(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, set2709))
                );
                PERRORRECOVERY=ANTLR3_FALSE;
                FAILEDFLAG=ANTLR3_FALSE;

            }
            else
            {
                if (BACKTRACKING>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:2461: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_option2710;
    #undef	RETURN_TYPE_create_table_option2710
    #define	RETURN_TYPE_create_table_option2710 MySQLParser_create_table_option_return


    /* Initialize rule variables
     */

    root_0 = NULL;

    create_table_option2710.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;




    retval.tree  = NULL;

    {
        // MySQL.g:2461:20: ( ( create_table_option )+ )
        // MySQL.g:2462:2: ( create_table_option )+
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            // MySQL.g:2462:2: ( create_table_option )+
            {
                int cnt761=0;

                for (;;)
                {
                    int alt761=2;
            	{
            	   /* dfaLoopbackState(k,edges,eotPredictsAlt,description,stateNumber,semPredState)
            	    */
            	    int LA761_0 = LA(1);
            	    if ( (LA761_0 == ENGINE_SYMBOL))
            	    {
            	        alt761=1;
            	    }
            	    else if ( ((SERVER_VERSION < 50500)) && (LA761_0 == TYPE_SYMBOL))
            	    {
            	        alt761=1;
            	    }
            	    else if ( (((LA761_0 >= AUTO_INCREMENT_SYMBOL) && (LA761_0 <= AVG_ROW_LENGTH_SYMBOL)) || LA761_0 == MAX_ROWS_SYMBOL || LA761_0 == MIN_ROWS_SYMBOL || LA761_0 == PACK_KEYS_SYMBOL || LA761_0 == PASSWORD_SYMBOL || LA761_0 == COMMENT_SYMBOL))
            	    {
            	        alt761=1;
            	    }
            	    else if ( ((SERVER_VERSION >= 50600)) && (((LA761_0 >= STATS_AUTO_RECALC_SYMBOL) && (LA761_0 <= STATS_SAMPLE_PAGES_SYMBOL))))
            	    {
            	        alt761=1;
            	    }
            	    else if ( (LA761_0 == CONNECTION_SYMBOL || LA761_0 == DATA_SYMBOL || LA761_0 == DELAY_KEY_WRITE_SYMBOL || LA761_0 == INSERT_METHOD_SYMBOL || LA761_0 == KEY_BLOCK_SIZE_SYMBOL || LA761_0 == ROW_FORMAT_SYMBOL || LA761_0 == STORAGE_SYMBOL || LA761_0 == TABLESPACE_SYMBOL || LA761_0 == TABLE_CHECKSUM_SYMBOL || ((LA761_0 >= CHARSET_SYMBOL) && (LA761_0 <= CHECKSUM_SYMBOL)) || LA761_0 == CHAR_SYMBOL || LA761_0 == COLLATE_SYMBOL || LA761_0 == DEFAULT_SYMBOL || LA761_0 == INDEX_SYMBOL || LA761_0 == UNION_SYMBOL))
            	    {
            	        alt761=1;
            	    }

            	}
            	switch (alt761)
            	{
            	    case 1:
            	        // MySQL.g:2462:2: create_table_option
            	        {
            	            FOLLOWPUSH(FOLLOW_create_table_option_in_alter_table_options13985);
            	            create_table_option2710=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_option2710.tree);

            	        }
            	        break;

            	    default:

            		if ( cnt761 >= 1 )
            		{
            		    goto loop761;
            		}
            		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;
            	}
            	cnt761++;
                }
                loop761: ;	/* 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:2465: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_SYMBOL2712;
    MySQLParser_create_table_option_return create_table_option2711;
    #undef	RETURN_TYPE_create_table_option2711
    #define	RETURN_TYPE_create_table_option2711 MySQLParser_create_table_option_return

    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

    pANTLR3_BASE_TREE COMMA_SYMBOL2712_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    COMMA_SYMBOL2712       = NULL;
    create_table_option2711.tree = NULL;

    create_table_option2713.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    COMMA_SYMBOL2712_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2465:21: ( create_table_option ( ( COMMA_SYMBOL )? create_table_option )* )
        // MySQL.g:2466: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_options13995);
            create_table_option2711=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_option2711.tree);

            // MySQL.g:2466:22: ( ( COMMA_SYMBOL )? create_table_option )*

            for (;;)
            {
                int alt763=2;
                {
                   /* dfaLoopbackState(k,edges,eotPredictsAlt,description,stateNumber,semPredState)
                    */
                    int LA763_0 = LA(1);
                    if ( (LA763_0 == ENGINE_SYMBOL || LA763_0 == COMMA_SYMBOL))
                    {
                        alt763=1;
                    }
                    else if ( ((SERVER_VERSION < 50500)) && (LA763_0 == TYPE_SYMBOL))
                    {
                        alt763=1;
                    }
                    else if ( (((LA763_0 >= AUTO_INCREMENT_SYMBOL) && (LA763_0 <= AVG_ROW_LENGTH_SYMBOL)) || LA763_0 == MAX_ROWS_SYMBOL || LA763_0 == MIN_ROWS_SYMBOL || LA763_0 == PACK_KEYS_SYMBOL || LA763_0 == PASSWORD_SYMBOL || LA763_0 == COMMENT_SYMBOL))
                    {
                        alt763=1;
                    }
                    else if ( ((SERVER_VERSION >= 50600)) && (((LA763_0 >= STATS_AUTO_RECALC_SYMBOL) && (LA763_0 <= STATS_SAMPLE_PAGES_SYMBOL))))
                    {
                        alt763=1;
                    }
                    else if ( (LA763_0 == CONNECTION_SYMBOL || LA763_0 == DATA_SYMBOL || LA763_0 == DELAY_KEY_WRITE_SYMBOL || LA763_0 == INSERT_METHOD_SYMBOL || LA763_0 == KEY_BLOCK_SIZE_SYMBOL || LA763_0 == ROW_FORMAT_SYMBOL || LA763_0 == STORAGE_SYMBOL || LA763_0 == TABLESPACE_SYMBOL || LA763_0 == TABLE_CHECKSUM_SYMBOL || ((LA763_0 >= CHARSET_SYMBOL) && (LA763_0 <= CHECKSUM_SYMBOL)) || LA763_0 == CHAR_SYMBOL || LA763_0 == COLLATE_SYMBOL || LA763_0 == DEFAULT_SYMBOL || LA763_0 == INDEX_SYMBOL || LA763_0 == UNION_SYMBOL))
                    {
                        alt763=1;
                    }

                }
                switch (alt763)
                {
            	case 1:
            	    // MySQL.g:2466:23: ( COMMA_SYMBOL )? create_table_option
            	    {
            	        // MySQL.g:2466:23: ( COMMA_SYMBOL )?
            	        {
            	            int alt762=2;
            	            switch ( LA(1) )
            	            {
            	                case COMMA_SYMBOL:
            	                	{
            	                		alt762=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt762)
            	            {
            	        	case 1:
            	        	    // MySQL.g:2466:23: COMMA_SYMBOL
            	        	    {
            	        	        COMMA_SYMBOL2712 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_create_table_options13998);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulecreate_table_optionsEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        COMMA_SYMBOL2712_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL2712));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL2712_tree);
            	        	        }

            	        	    }
            	        	    break;

            	            }
            	        }

            	        FOLLOWPUSH(FOLLOW_create_table_option_in_create_table_options14001);
            	        create_table_option2713=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_option2713.tree);

            	    }
            	    break;

            	default:
            	    goto loop763;	/* break out of the loop */
            	    break;
                }
            }
            loop763: ; /* 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:2469: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_SYMBOL2714;
    pANTLR3_COMMON_TOKEN    TYPE_SYMBOL2715;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR2716;
    pANTLR3_COMMON_TOKEN    MAX_ROWS_SYMBOL2718;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR2719;
    pANTLR3_COMMON_TOKEN    MIN_ROWS_SYMBOL2721;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR2722;
    pANTLR3_COMMON_TOKEN    AVG_ROW_LENGTH_SYMBOL2724;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR2725;
    pANTLR3_COMMON_TOKEN    PASSWORD_SYMBOL2727;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR2728;
    pANTLR3_COMMON_TOKEN    COMMENT_SYMBOL2730;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR2731;
    pANTLR3_COMMON_TOKEN    AUTO_INCREMENT_SYMBOL2733;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR2734;
    pANTLR3_COMMON_TOKEN    PACK_KEYS_SYMBOL2736;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR2737;
    pANTLR3_COMMON_TOKEN    set2738;
    pANTLR3_COMMON_TOKEN    set2739;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR2740;
    pANTLR3_COMMON_TOKEN    DEFAULT_SYMBOL2742;
    pANTLR3_COMMON_TOKEN    set2743;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR2744;
    pANTLR3_COMMON_TOKEN    INTEGER2745;
    pANTLR3_COMMON_TOKEN    DELAY_KEY_WRITE_SYMBOL2746;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR2747;
    pANTLR3_COMMON_TOKEN    INTEGER2748;
    pANTLR3_COMMON_TOKEN    ROW_FORMAT_SYMBOL2749;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR2750;
    pANTLR3_COMMON_TOKEN    set2751;
    pANTLR3_COMMON_TOKEN    UNION_SYMBOL2752;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR2753;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL2754;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2756;
    pANTLR3_COMMON_TOKEN    DEFAULT_SYMBOL2757;
    pANTLR3_COMMON_TOKEN    COLLATE_SYMBOL2758;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR2759;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR2762;
    pANTLR3_COMMON_TOKEN    INSERT_METHOD_SYMBOL2764;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR2765;
    pANTLR3_COMMON_TOKEN    set2766;
    pANTLR3_COMMON_TOKEN    DATA_SYMBOL2767;
    pANTLR3_COMMON_TOKEN    DIRECTORY_SYMBOL2768;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR2769;
    pANTLR3_COMMON_TOKEN    INDEX_SYMBOL2771;
    pANTLR3_COMMON_TOKEN    DIRECTORY_SYMBOL2772;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR2773;
    pANTLR3_COMMON_TOKEN    TABLESPACE_SYMBOL2775;
    pANTLR3_COMMON_TOKEN    STORAGE_SYMBOL2777;
    pANTLR3_COMMON_TOKEN    set2778;
    pANTLR3_COMMON_TOKEN    CONNECTION_SYMBOL2779;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR2780;
    pANTLR3_COMMON_TOKEN    KEY_BLOCK_SIZE_SYMBOL2782;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR2783;
    MySQLParser_text_or_identifier_return text_or_identifier2717;
    #undef	RETURN_TYPE_text_or_identifier2717
    #define	RETURN_TYPE_text_or_identifier2717 MySQLParser_text_or_identifier_return

    MySQLParser_int_or_param_marker_return int_or_param_marker2720;
    #undef	RETURN_TYPE_int_or_param_marker2720
    #define	RETURN_TYPE_int_or_param_marker2720 MySQLParser_int_or_param_marker_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_text_or_param_marker_return text_or_param_marker2729;
    #undef	RETURN_TYPE_text_or_param_marker2729
    #define	RETURN_TYPE_text_or_param_marker2729 MySQLParser_text_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_int_or_param_marker_return int_or_param_marker2735;
    #undef	RETURN_TYPE_int_or_param_marker2735
    #define	RETURN_TYPE_int_or_param_marker2735 MySQLParser_int_or_param_marker_return

    MySQLParser_int_or_param_marker_return int_or_param_marker2741;
    #undef	RETURN_TYPE_int_or_param_marker2741
    #define	RETURN_TYPE_int_or_param_marker2741 MySQLParser_int_or_param_marker_return

    MySQLParser_qualified_identifier_list_return qualified_identifier_list2755;
    #undef	RETURN_TYPE_qualified_identifier_list2755
    #define	RETURN_TYPE_qualified_identifier_list2755 MySQLParser_qualified_identifier_list_return

    MySQLParser_collation_name_or_default_return collation_name_or_default2760;
    #undef	RETURN_TYPE_collation_name_or_default2760
    #define	RETURN_TYPE_collation_name_or_default2760 MySQLParser_collation_name_or_default_return

    MySQLParser_charset_return charset2761;
    #undef	RETURN_TYPE_charset2761
    #define	RETURN_TYPE_charset2761 MySQLParser_charset_return

    MySQLParser_charset_name_or_default_return charset_name_or_default2763;
    #undef	RETURN_TYPE_charset_name_or_default2763
    #define	RETURN_TYPE_charset_name_or_default2763 MySQLParser_charset_name_or_default_return

    MySQLParser_text_or_param_marker_return text_or_param_marker2770;
    #undef	RETURN_TYPE_text_or_param_marker2770
    #define	RETURN_TYPE_text_or_param_marker2770 MySQLParser_text_or_param_marker_return

    MySQLParser_text_or_param_marker_return text_or_param_marker2774;
    #undef	RETURN_TYPE_text_or_param_marker2774
    #define	RETURN_TYPE_text_or_param_marker2774 MySQLParser_text_or_param_marker_return

    MySQLParser_identifier_return identifier2776;
    #undef	RETURN_TYPE_identifier2776
    #define	RETURN_TYPE_identifier2776 MySQLParser_identifier_return

    MySQLParser_text_or_param_marker_return text_or_param_marker2781;
    #undef	RETURN_TYPE_text_or_param_marker2781
    #define	RETURN_TYPE_text_or_param_marker2781 MySQLParser_text_or_param_marker_return

    MySQLParser_int_or_param_marker_return int_or_param_marker2784;
    #undef	RETURN_TYPE_int_or_param_marker2784
    #define	RETURN_TYPE_int_or_param_marker2784 MySQLParser_int_or_param_marker_return

    pANTLR3_BASE_TREE ENGINE_SYMBOL2714_tree;
    pANTLR3_BASE_TREE TYPE_SYMBOL2715_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR2716_tree;
    pANTLR3_BASE_TREE MAX_ROWS_SYMBOL2718_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR2719_tree;
    pANTLR3_BASE_TREE MIN_ROWS_SYMBOL2721_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR2722_tree;
    pANTLR3_BASE_TREE AVG_ROW_LENGTH_SYMBOL2724_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR2725_tree;
    pANTLR3_BASE_TREE PASSWORD_SYMBOL2727_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR2728_tree;
    pANTLR3_BASE_TREE COMMENT_SYMBOL2730_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR2731_tree;
    pANTLR3_BASE_TREE AUTO_INCREMENT_SYMBOL2733_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR2734_tree;
    pANTLR3_BASE_TREE PACK_KEYS_SYMBOL2736_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR2737_tree;
    pANTLR3_BASE_TREE set2738_tree;
    pANTLR3_BASE_TREE set2739_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR2740_tree;
    pANTLR3_BASE_TREE DEFAULT_SYMBOL2742_tree;
    pANTLR3_BASE_TREE set2743_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR2744_tree;
    pANTLR3_BASE_TREE INTEGER2745_tree;
    pANTLR3_BASE_TREE DELAY_KEY_WRITE_SYMBOL2746_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR2747_tree;
    pANTLR3_BASE_TREE INTEGER2748_tree;
    pANTLR3_BASE_TREE ROW_FORMAT_SYMBOL2749_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR2750_tree;
    pANTLR3_BASE_TREE set2751_tree;
    pANTLR3_BASE_TREE UNION_SYMBOL2752_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR2753_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2754_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2756_tree;
    pANTLR3_BASE_TREE DEFAULT_SYMBOL2757_tree;
    pANTLR3_BASE_TREE COLLATE_SYMBOL2758_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR2759_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR2762_tree;
    pANTLR3_BASE_TREE INSERT_METHOD_SYMBOL2764_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR2765_tree;
    pANTLR3_BASE_TREE set2766_tree;
    pANTLR3_BASE_TREE DATA_SYMBOL2767_tree;
    pANTLR3_BASE_TREE DIRECTORY_SYMBOL2768_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR2769_tree;
    pANTLR3_BASE_TREE INDEX_SYMBOL2771_tree;
    pANTLR3_BASE_TREE DIRECTORY_SYMBOL2772_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR2773_tree;
    pANTLR3_BASE_TREE TABLESPACE_SYMBOL2775_tree;
    pANTLR3_BASE_TREE STORAGE_SYMBOL2777_tree;
    pANTLR3_BASE_TREE set2778_tree;
    pANTLR3_BASE_TREE CONNECTION_SYMBOL2779_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR2780_tree;
    pANTLR3_BASE_TREE KEY_BLOCK_SIZE_SYMBOL2782_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR2783_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    ENGINE_SYMBOL2714       = NULL;
    TYPE_SYMBOL2715       = NULL;
    EQUAL_OPERATOR2716       = NULL;
    MAX_ROWS_SYMBOL2718       = NULL;
    EQUAL_OPERATOR2719       = NULL;
    MIN_ROWS_SYMBOL2721       = NULL;
    EQUAL_OPERATOR2722       = NULL;
    AVG_ROW_LENGTH_SYMBOL2724       = NULL;
    EQUAL_OPERATOR2725       = NULL;
    PASSWORD_SYMBOL2727       = NULL;
    EQUAL_OPERATOR2728       = NULL;
    COMMENT_SYMBOL2730       = NULL;
    EQUAL_OPERATOR2731       = NULL;
    AUTO_INCREMENT_SYMBOL2733       = NULL;
    EQUAL_OPERATOR2734       = NULL;
    PACK_KEYS_SYMBOL2736       = NULL;
    EQUAL_OPERATOR2737       = NULL;
    set2738       = NULL;
    set2739       = NULL;
    EQUAL_OPERATOR2740       = NULL;
    DEFAULT_SYMBOL2742       = NULL;
    set2743       = NULL;
    EQUAL_OPERATOR2744       = NULL;
    INTEGER2745       = NULL;
    DELAY_KEY_WRITE_SYMBOL2746       = NULL;
    EQUAL_OPERATOR2747       = NULL;
    INTEGER2748       = NULL;
    ROW_FORMAT_SYMBOL2749       = NULL;
    EQUAL_OPERATOR2750       = NULL;
    set2751       = NULL;
    UNION_SYMBOL2752       = NULL;
    EQUAL_OPERATOR2753       = NULL;
    OPEN_PAR_SYMBOL2754       = NULL;
    CLOSE_PAR_SYMBOL2756       = NULL;
    DEFAULT_SYMBOL2757       = NULL;
    COLLATE_SYMBOL2758       = NULL;
    EQUAL_OPERATOR2759       = NULL;
    EQUAL_OPERATOR2762       = NULL;
    INSERT_METHOD_SYMBOL2764       = NULL;
    EQUAL_OPERATOR2765       = NULL;
    set2766       = NULL;
    DATA_SYMBOL2767       = NULL;
    DIRECTORY_SYMBOL2768       = NULL;
    EQUAL_OPERATOR2769       = NULL;
    INDEX_SYMBOL2771       = NULL;
    DIRECTORY_SYMBOL2772       = NULL;
    EQUAL_OPERATOR2773       = NULL;
    TABLESPACE_SYMBOL2775       = NULL;
    STORAGE_SYMBOL2777       = NULL;
    set2778       = NULL;
    CONNECTION_SYMBOL2779       = NULL;
    EQUAL_OPERATOR2780       = NULL;
    KEY_BLOCK_SIZE_SYMBOL2782       = NULL;
    EQUAL_OPERATOR2783       = NULL;
    text_or_identifier2717.tree = NULL;

    int_or_param_marker2720.tree = NULL;

    int_or_param_marker2723.tree = NULL;

    int_or_param_marker2726.tree = NULL;

    text_or_param_marker2729.tree = NULL;

    text_or_param_marker2732.tree = NULL;

    int_or_param_marker2735.tree = NULL;

    int_or_param_marker2741.tree = NULL;

    qualified_identifier_list2755.tree = NULL;

    collation_name_or_default2760.tree = NULL;

    charset2761.tree = NULL;

    charset_name_or_default2763.tree = NULL;

    text_or_param_marker2770.tree = NULL;

    text_or_param_marker2774.tree = NULL;

    identifier2776.tree = NULL;

    text_or_param_marker2781.tree = NULL;

    int_or_param_marker2784.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    ENGINE_SYMBOL2714_tree   = NULL;
    TYPE_SYMBOL2715_tree   = NULL;
    EQUAL_OPERATOR2716_tree   = NULL;
    MAX_ROWS_SYMBOL2718_tree   = NULL;
    EQUAL_OPERATOR2719_tree   = NULL;
    MIN_ROWS_SYMBOL2721_tree   = NULL;
    EQUAL_OPERATOR2722_tree   = NULL;
    AVG_ROW_LENGTH_SYMBOL2724_tree   = NULL;
    EQUAL_OPERATOR2725_tree   = NULL;
    PASSWORD_SYMBOL2727_tree   = NULL;
    EQUAL_OPERATOR2728_tree   = NULL;
    COMMENT_SYMBOL2730_tree   = NULL;
    EQUAL_OPERATOR2731_tree   = NULL;
    AUTO_INCREMENT_SYMBOL2733_tree   = NULL;
    EQUAL_OPERATOR2734_tree   = NULL;
    PACK_KEYS_SYMBOL2736_tree   = NULL;
    EQUAL_OPERATOR2737_tree   = NULL;
    set2738_tree   = NULL;
    set2739_tree   = NULL;
    EQUAL_OPERATOR2740_tree   = NULL;
    DEFAULT_SYMBOL2742_tree   = NULL;
    set2743_tree   = NULL;
    EQUAL_OPERATOR2744_tree   = NULL;
    INTEGER2745_tree   = NULL;
    DELAY_KEY_WRITE_SYMBOL2746_tree   = NULL;
    EQUAL_OPERATOR2747_tree   = NULL;
    INTEGER2748_tree   = NULL;
    ROW_FORMAT_SYMBOL2749_tree   = NULL;
    EQUAL_OPERATOR2750_tree   = NULL;
    set2751_tree   = NULL;
    UNION_SYMBOL2752_tree   = NULL;
    EQUAL_OPERATOR2753_tree   = NULL;
    OPEN_PAR_SYMBOL2754_tree   = NULL;
    CLOSE_PAR_SYMBOL2756_tree   = NULL;
    DEFAULT_SYMBOL2757_tree   = NULL;
    COLLATE_SYMBOL2758_tree   = NULL;
    EQUAL_OPERATOR2759_tree   = NULL;
    EQUAL_OPERATOR2762_tree   = NULL;
    INSERT_METHOD_SYMBOL2764_tree   = NULL;
    EQUAL_OPERATOR2765_tree   = NULL;
    set2766_tree   = NULL;
    DATA_SYMBOL2767_tree   = NULL;
    DIRECTORY_SYMBOL2768_tree   = NULL;
    EQUAL_OPERATOR2769_tree   = NULL;
    INDEX_SYMBOL2771_tree   = NULL;
    DIRECTORY_SYMBOL2772_tree   = NULL;
    EQUAL_OPERATOR2773_tree   = NULL;
    TABLESPACE_SYMBOL2775_tree   = NULL;
    STORAGE_SYMBOL2777_tree   = NULL;
    set2778_tree   = NULL;
    CONNECTION_SYMBOL2779_tree   = NULL;
    EQUAL_OPERATOR2780_tree   = NULL;
    KEY_BLOCK_SIZE_SYMBOL2782_tree   = NULL;
    EQUAL_OPERATOR2783_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:2469: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 alt788;

            alt788=21;

            {
                int LA788_0 = LA(1);
                if ( (LA788_0 == ENGINE_SYMBOL))
                {
                    alt788=1;
                }
                else if ( ((SERVER_VERSION < 50500)) && (LA788_0 == TYPE_SYMBOL))
                {
                    alt788=1;
                }
                else if ( (LA788_0 == MAX_ROWS_SYMBOL))
                {
                    alt788=2;
                }
                else if ( (LA788_0 == MIN_ROWS_SYMBOL))
                {
                    alt788=3;
                }
                else if ( (LA788_0 == AVG_ROW_LENGTH_SYMBOL))
                {
                    alt788=4;
                }
                else if ( (LA788_0 == PASSWORD_SYMBOL))
                {
                    alt788=5;
                }
                else if ( (LA788_0 == COMMENT_SYMBOL))
                {
                    alt788=6;
                }
                else if ( (LA788_0 == AUTO_INCREMENT_SYMBOL))
                {
                    alt788=7;
                }
                else if ( (LA788_0 == PACK_KEYS_SYMBOL))
                {
                    alt788=8;
                }
                else if ( ((SERVER_VERSION >= 50600)) && (((LA788_0 >= STATS_AUTO_RECALC_SYMBOL) && (LA788_0 <= STATS_SAMPLE_PAGES_SYMBOL))))
                {
                    alt788=9;
                }
                else if ( (LA788_0 == TABLE_CHECKSUM_SYMBOL || LA788_0 == CHECKSUM_SYMBOL))
                {
                    alt788=10;
                }
                else if ( (LA788_0 == DELAY_KEY_WRITE_SYMBOL))
                {
                    alt788=11;
                }
                else if ( (LA788_0 == ROW_FORMAT_SYMBOL))
                {
                    alt788=12;
                }
                else if ( (LA788_0 == UNION_SYMBOL))
                {
                    alt788=13;
                }
                else if ( (LA788_0 == CHARSET_SYMBOL || LA788_0 == CHAR_SYMBOL || LA788_0 == COLLATE_SYMBOL || LA788_0 == DEFAULT_SYMBOL))
                {
                    alt788=14;
                }
                else if ( (LA788_0 == INSERT_METHOD_SYMBOL))
                {
                    alt788=15;
                }
                else if ( (LA788_0 == DATA_SYMBOL))
                {
                    alt788=16;
                }
                else if ( (LA788_0 == INDEX_SYMBOL))
                {
                    alt788=17;
                }
                else if ( (LA788_0 == TABLESPACE_SYMBOL))
                {
                    alt788=18;
                }
                else if ( (LA788_0 == STORAGE_SYMBOL))
                {
                    alt788=19;
                }
                else if ( (LA788_0 == CONNECTION_SYMBOL))
                {
                    alt788=20;
                }
                else if ( (LA788_0 == KEY_BLOCK_SIZE_SYMBOL))
                {
                    alt788=21;
                }
                else
                {
                    if (BACKTRACKING>0)
                    {
                        FAILEDFLAG = ANTLR3_TRUE;
                        return retval;
                    }


                    CONSTRUCTEX();
                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    EXCEPTION->message      = (void *)"";
                    EXCEPTION->decisionNum  = 788;
                    EXCEPTION->state        = 0;


                    goto rulecreate_table_optionEx;

                }
            }
            switch (alt788)
            {
        	case 1:
        	    // MySQL.g:2470:2: ( ENGINE_SYMBOL |{...}? => TYPE_SYMBOL ) ( EQUAL_OPERATOR )? text_or_identifier
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        // MySQL.g:2470:2: ( ENGINE_SYMBOL |{...}? => TYPE_SYMBOL )
        	        {
        	            int alt764=2;
        	            {
        	                int LA764_0 = LA(1);
        	                if ( (LA764_0 == ENGINE_SYMBOL))
        	                {
        	                    alt764=1;
        	                }
        	                else if ( ((SERVER_VERSION < 50500)) && (LA764_0 == TYPE_SYMBOL))
        	                {
        	                    alt764=2;
        	                }
        	                else
        	                {
        	                    if (BACKTRACKING>0)
        	                    {
        	                        FAILEDFLAG = ANTLR3_TRUE;
        	                        return retval;
        	                    }


        	                    CONSTRUCTEX();
        	                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                    EXCEPTION->message      = (void *)"";
        	                    EXCEPTION->decisionNum  = 764;
        	                    EXCEPTION->state        = 0;


        	                    goto rulecreate_table_optionEx;

        	                }
        	            }
        	            switch (alt764)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2470:3: ENGINE_SYMBOL
        	        	    {
        	        	        ENGINE_SYMBOL2714 = (pANTLR3_COMMON_TOKEN) MATCHT(ENGINE_SYMBOL, &FOLLOW_ENGINE_SYMBOL_in_create_table_option14014);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulecreate_table_optionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        ENGINE_SYMBOL2714_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ENGINE_SYMBOL2714));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, ENGINE_SYMBOL2714_tree);
        	        	        }

        	        	    }
        	        	    break;
        	        	case 2:
        	        	    // MySQL.g:2470: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_SYMBOL2715 = (pANTLR3_COMMON_TOKEN) MATCHT(TYPE_SYMBOL, &FOLLOW_TYPE_SYMBOL_in_create_table_option14022);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulecreate_table_optionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        TYPE_SYMBOL2715_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, TYPE_SYMBOL2715));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, TYPE_SYMBOL2715_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	        // MySQL.g:2470:61: ( EQUAL_OPERATOR )?
        	        {
        	            int alt765=2;
        	            switch ( LA(1) )
        	            {
        	                case EQUAL_OPERATOR:
        	                	{
        	                		alt765=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt765)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2470:61: EQUAL_OPERATOR
        	        	    {
        	        	        EQUAL_OPERATOR2716 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_create_table_option14025);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulecreate_table_optionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        EQUAL_OPERATOR2716_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR2716));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR2716_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	        FOLLOWPUSH(FOLLOW_text_or_identifier_in_create_table_option14028);
        	        text_or_identifier2717=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_identifier2717.tree);

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:2471:4: MAX_ROWS_SYMBOL ( EQUAL_OPERATOR )? int_or_param_marker
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        MAX_ROWS_SYMBOL2718 = (pANTLR3_COMMON_TOKEN) MATCHT(MAX_ROWS_SYMBOL, &FOLLOW_MAX_ROWS_SYMBOL_in_create_table_option14033);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecreate_table_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        MAX_ROWS_SYMBOL2718_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MAX_ROWS_SYMBOL2718));
        	        ADAPTOR->addChild(ADAPTOR, root_0, MAX_ROWS_SYMBOL2718_tree);
        	        }

        	        // MySQL.g:2471:20: ( EQUAL_OPERATOR )?
        	        {
        	            int alt766=2;
        	            switch ( LA(1) )
        	            {
        	                case EQUAL_OPERATOR:
        	                	{
        	                		alt766=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt766)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2471:20: EQUAL_OPERATOR
        	        	    {
        	        	        EQUAL_OPERATOR2719 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_create_table_option14035);
        	        	        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_int_or_param_marker_in_create_table_option14038);
        	        int_or_param_marker2720=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_marker2720.tree);

        	    }
        	    break;
        	case 3:
        	    // MySQL.g:2472:4: MIN_ROWS_SYMBOL ( EQUAL_OPERATOR )? int_or_param_marker
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        MIN_ROWS_SYMBOL2721 = (pANTLR3_COMMON_TOKEN) MATCHT(MIN_ROWS_SYMBOL, &FOLLOW_MIN_ROWS_SYMBOL_in_create_table_option14043);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecreate_table_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        MIN_ROWS_SYMBOL2721_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MIN_ROWS_SYMBOL2721));
        	        ADAPTOR->addChild(ADAPTOR, root_0, MIN_ROWS_SYMBOL2721_tree);
        	        }

        	        // MySQL.g:2472:20: ( EQUAL_OPERATOR )?
        	        {
        	            int alt767=2;
        	            switch ( LA(1) )
        	            {
        	                case EQUAL_OPERATOR:
        	                	{
        	                		alt767=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt767)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2472:20: EQUAL_OPERATOR
        	        	    {
        	        	        EQUAL_OPERATOR2722 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_create_table_option14045);
        	        	        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_option14048);
        	        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 4:
        	    // MySQL.g:2473:4: AVG_ROW_LENGTH_SYMBOL ( EQUAL_OPERATOR )? int_or_param_marker
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        AVG_ROW_LENGTH_SYMBOL2724 = (pANTLR3_COMMON_TOKEN) MATCHT(AVG_ROW_LENGTH_SYMBOL, &FOLLOW_AVG_ROW_LENGTH_SYMBOL_in_create_table_option14053);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecreate_table_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        AVG_ROW_LENGTH_SYMBOL2724_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, AVG_ROW_LENGTH_SYMBOL2724));
        	        ADAPTOR->addChild(ADAPTOR, root_0, AVG_ROW_LENGTH_SYMBOL2724_tree);
        	        }

        	        // MySQL.g:2473:26: ( EQUAL_OPERATOR )?
        	        {
        	            int alt768=2;
        	            switch ( LA(1) )
        	            {
        	                case EQUAL_OPERATOR:
        	                	{
        	                		alt768=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt768)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2473:26: EQUAL_OPERATOR
        	        	    {
        	        	        EQUAL_OPERATOR2725 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_create_table_option14055);
        	        	        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_option14058);
        	        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 5:
        	    // MySQL.g:2474:4: PASSWORD_SYMBOL ( EQUAL_OPERATOR )? text_or_param_marker
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        PASSWORD_SYMBOL2727 = (pANTLR3_COMMON_TOKEN) MATCHT(PASSWORD_SYMBOL, &FOLLOW_PASSWORD_SYMBOL_in_create_table_option14063);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecreate_table_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        PASSWORD_SYMBOL2727_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, PASSWORD_SYMBOL2727));
        	        ADAPTOR->addChild(ADAPTOR, root_0, PASSWORD_SYMBOL2727_tree);
        	        }

        	        // MySQL.g:2474:20: ( EQUAL_OPERATOR )?
        	        {
        	            int alt769=2;
        	            switch ( LA(1) )
        	            {
        	                case EQUAL_OPERATOR:
        	                	{
        	                		alt769=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt769)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2474:20: EQUAL_OPERATOR
        	        	    {
        	        	        EQUAL_OPERATOR2728 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_create_table_option14065);
        	        	        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_text_or_param_marker_in_create_table_option14068);
        	        text_or_param_marker2729=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_marker2729.tree);

        	    }
        	    break;
        	case 6:
        	    // MySQL.g:2475:4: COMMENT_SYMBOL ( EQUAL_OPERATOR )? text_or_param_marker
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        COMMENT_SYMBOL2730 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMENT_SYMBOL, &FOLLOW_COMMENT_SYMBOL_in_create_table_option14073);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecreate_table_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        COMMENT_SYMBOL2730_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMENT_SYMBOL2730));
        	        ADAPTOR->addChild(ADAPTOR, root_0, COMMENT_SYMBOL2730_tree);
        	        }

        	        // MySQL.g:2475:19: ( EQUAL_OPERATOR )?
        	        {
        	            int alt770=2;
        	            switch ( LA(1) )
        	            {
        	                case EQUAL_OPERATOR:
        	                	{
        	                		alt770=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt770)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2475:19: EQUAL_OPERATOR
        	        	    {
        	        	        EQUAL_OPERATOR2731 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_create_table_option14075);
        	        	        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_option14078);
        	        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 7:
        	    // MySQL.g:2476:4: AUTO_INCREMENT_SYMBOL ( EQUAL_OPERATOR )? int_or_param_marker
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        AUTO_INCREMENT_SYMBOL2733 = (pANTLR3_COMMON_TOKEN) MATCHT(AUTO_INCREMENT_SYMBOL, &FOLLOW_AUTO_INCREMENT_SYMBOL_in_create_table_option14083);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecreate_table_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        AUTO_INCREMENT_SYMBOL2733_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, AUTO_INCREMENT_SYMBOL2733));
        	        ADAPTOR->addChild(ADAPTOR, root_0, AUTO_INCREMENT_SYMBOL2733_tree);
        	        }

        	        // MySQL.g:2476:26: ( EQUAL_OPERATOR )?
        	        {
        	            int alt771=2;
        	            switch ( LA(1) )
        	            {
        	                case EQUAL_OPERATOR:
        	                	{
        	                		alt771=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt771)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2476:26: EQUAL_OPERATOR
        	        	    {
        	        	        EQUAL_OPERATOR2734 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_create_table_option14085);
        	        	        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_int_or_param_marker_in_create_table_option14088);
        	        int_or_param_marker2735=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_marker2735.tree);

        	    }
        	    break;
        	case 8:
        	    // MySQL.g:2477:4: PACK_KEYS_SYMBOL ( EQUAL_OPERATOR )? ( INTEGER | DEFAULT_SYMBOL )
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        PACK_KEYS_SYMBOL2736 = (pANTLR3_COMMON_TOKEN) MATCHT(PACK_KEYS_SYMBOL, &FOLLOW_PACK_KEYS_SYMBOL_in_create_table_option14093);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecreate_table_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        PACK_KEYS_SYMBOL2736_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, PACK_KEYS_SYMBOL2736));
        	        ADAPTOR->addChild(ADAPTOR, root_0, PACK_KEYS_SYMBOL2736_tree);
        	        }

        	        // MySQL.g:2477:21: ( EQUAL_OPERATOR )?
        	        {
        	            int alt772=2;
        	            switch ( LA(1) )
        	            {
        	                case EQUAL_OPERATOR:
        	                	{
        	                		alt772=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt772)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2477:21: EQUAL_OPERATOR
        	        	    {
        	        	        EQUAL_OPERATOR2737 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_create_table_option14095);
        	        	        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;

        	            }
        	        }

        	        set2738=(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, set2738))
        	            );
        	            PERRORRECOVERY=ANTLR3_FALSE;
        	            FAILEDFLAG=ANTLR3_FALSE;

        	        }
        	        else
        	        {
        	            if (BACKTRACKING>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:2478: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";


        	        }

        	        set2739=(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, set2739))
        	            );
        	            PERRORRECOVERY=ANTLR3_FALSE;
        	            FAILEDFLAG=ANTLR3_FALSE;

        	        }
        	        else
        	        {
        	            if (BACKTRACKING>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:2479:3: ( EQUAL_OPERATOR )?
        	        {
        	            int alt773=2;
        	            switch ( LA(1) )
        	            {
        	                case EQUAL_OPERATOR:
        	                	{
        	                		alt773=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt773)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2479:3: EQUAL_OPERATOR
        	        	    {
        	        	        EQUAL_OPERATOR2740 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_create_table_option14127);
        	        	        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;

        	            }
        	        }

        	        // MySQL.g:2479:19: ( int_or_param_marker | DEFAULT_SYMBOL )
        	        {
        	            int alt774=2;
        	            switch ( LA(1) )
        	            {
        	            case INTEGER:
        	            case PARAM_MARKER:
        	            	{
        	            		alt774=1;
        	            	}
        	                break;
        	            case DEFAULT_SYMBOL:
        	            	{
        	            		alt774=2;
        	            	}
        	                break;

        	            default:
        	                if (BACKTRACKING>0)
        	                {
        	                    FAILEDFLAG = ANTLR3_TRUE;
        	                    return retval;
        	                }

        	                CONSTRUCTEX();
        	                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                EXCEPTION->message      = (void *)"";
        	                EXCEPTION->decisionNum  = 774;
        	                EXCEPTION->state        = 0;


        	                goto rulecreate_table_optionEx;

        	            }

        	            switch (alt774)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2479:20: int_or_param_marker
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_int_or_param_marker_in_create_table_option14131);
        	        	        int_or_param_marker2741=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_marker2741.tree);

        	        	    }
        	        	    break;
        	        	case 2:
        	        	    // MySQL.g:2479:42: DEFAULT_SYMBOL
        	        	    {
        	        	        DEFAULT_SYMBOL2742 = (pANTLR3_COMMON_TOKEN) MATCHT(DEFAULT_SYMBOL, &FOLLOW_DEFAULT_SYMBOL_in_create_table_option14135);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulecreate_table_optionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        DEFAULT_SYMBOL2742_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DEFAULT_SYMBOL2742));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, DEFAULT_SYMBOL2742_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 10:
        	    // MySQL.g:2480:4: ( CHECKSUM_SYMBOL | TABLE_CHECKSUM_SYMBOL ) ( EQUAL_OPERATOR )? INTEGER
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        set2743=(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, set2743))
        	            );
        	            PERRORRECOVERY=ANTLR3_FALSE;
        	            FAILEDFLAG=ANTLR3_FALSE;

        	        }
        	        else
        	        {
        	            if (BACKTRACKING>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:2480:46: ( EQUAL_OPERATOR )?
        	        {
        	            int alt775=2;
        	            switch ( LA(1) )
        	            {
        	                case EQUAL_OPERATOR:
        	                	{
        	                		alt775=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt775)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2480:46: EQUAL_OPERATOR
        	        	    {
        	        	        EQUAL_OPERATOR2744 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_create_table_option14149);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulecreate_table_optionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        EQUAL_OPERATOR2744_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR2744));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR2744_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	        INTEGER2745 = (pANTLR3_COMMON_TOKEN) MATCHT(INTEGER, &FOLLOW_INTEGER_in_create_table_option14152);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecreate_table_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        INTEGER2745_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INTEGER2745));
        	        ADAPTOR->addChild(ADAPTOR, root_0, INTEGER2745_tree);
        	        }

        	    }
        	    break;
        	case 11:
        	    // MySQL.g:2481:4: DELAY_KEY_WRITE_SYMBOL ( EQUAL_OPERATOR )? INTEGER
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        DELAY_KEY_WRITE_SYMBOL2746 = (pANTLR3_COMMON_TOKEN) MATCHT(DELAY_KEY_WRITE_SYMBOL, &FOLLOW_DELAY_KEY_WRITE_SYMBOL_in_create_table_option14158);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecreate_table_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        DELAY_KEY_WRITE_SYMBOL2746_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DELAY_KEY_WRITE_SYMBOL2746));
        	        ADAPTOR->addChild(ADAPTOR, root_0, DELAY_KEY_WRITE_SYMBOL2746_tree);
        	        }

        	        // MySQL.g:2481:27: ( EQUAL_OPERATOR )?
        	        {
        	            int alt776=2;
        	            switch ( LA(1) )
        	            {
        	                case EQUAL_OPERATOR:
        	                	{
        	                		alt776=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt776)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2481:27: EQUAL_OPERATOR
        	        	    {
        	        	        EQUAL_OPERATOR2747 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_create_table_option14160);
        	        	        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_option14163);
        	        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 12:
        	    // MySQL.g:2482: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_SYMBOL2749 = (pANTLR3_COMMON_TOKEN) MATCHT(ROW_FORMAT_SYMBOL, &FOLLOW_ROW_FORMAT_SYMBOL_in_create_table_option14168);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecreate_table_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        ROW_FORMAT_SYMBOL2749_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ROW_FORMAT_SYMBOL2749));
        	        ADAPTOR->addChild(ADAPTOR, root_0, ROW_FORMAT_SYMBOL2749_tree);
        	        }

        	        // MySQL.g:2482:22: ( EQUAL_OPERATOR )?
        	        {
        	            int alt777=2;
        	            switch ( LA(1) )
        	            {
        	                case EQUAL_OPERATOR:
        	                	{
        	                		alt777=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt777)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2482:22: EQUAL_OPERATOR
        	        	    {
        	        	        EQUAL_OPERATOR2750 = (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_OPERATOR2750_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR2750));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR2750_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	        set2751=(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, set2751))
        	            );
        	            PERRORRECOVERY=ANTLR3_FALSE;
        	            FAILEDFLAG=ANTLR3_FALSE;

        	        }
        	        else
        	        {
        	            if (BACKTRACKING>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:2483:4: UNION_SYMBOL ( EQUAL_OPERATOR )? OPEN_PAR_SYMBOL qualified_identifier_list CLOSE_PAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        UNION_SYMBOL2752 = (pANTLR3_COMMON_TOKEN) MATCHT(UNION_SYMBOL, &FOLLOW_UNION_SYMBOL_in_create_table_option14200);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecreate_table_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        UNION_SYMBOL2752_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, UNION_SYMBOL2752));
        	        ADAPTOR->addChild(ADAPTOR, root_0, UNION_SYMBOL2752_tree);
        	        }

        	        // MySQL.g:2483:17: ( EQUAL_OPERATOR )?
        	        {
        	            int alt778=2;
        	            switch ( LA(1) )
        	            {
        	                case EQUAL_OPERATOR:
        	                	{
        	                		alt778=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt778)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2483:17: EQUAL_OPERATOR
        	        	    {
        	        	        EQUAL_OPERATOR2753 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_create_table_option14202);
        	        	        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;

        	            }
        	        }

        	        OPEN_PAR_SYMBOL2754 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_create_table_option14205);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecreate_table_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        OPEN_PAR_SYMBOL2754_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL2754));
        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL2754_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_qualified_identifier_list_in_create_table_option14207);
        	        qualified_identifier_list2755=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_list2755.tree);

        	        CLOSE_PAR_SYMBOL2756 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_create_table_option14209);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecreate_table_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CLOSE_PAR_SYMBOL2756_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL2756));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL2756_tree);
        	        }

        	    }
        	    break;
        	case 14:
        	    // MySQL.g:2484: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:2484:4: ( DEFAULT_SYMBOL )?
        	        {
        	            int alt779=2;
        	            switch ( LA(1) )
        	            {
        	                case DEFAULT_SYMBOL:
        	                	{
        	                		alt779=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt779)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2484:4: DEFAULT_SYMBOL
        	        	    {
        	        	        DEFAULT_SYMBOL2757 = (pANTLR3_COMMON_TOKEN) MATCHT(DEFAULT_SYMBOL, &FOLLOW_DEFAULT_SYMBOL_in_create_table_option14214);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulecreate_table_optionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        DEFAULT_SYMBOL2757_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DEFAULT_SYMBOL2757));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, DEFAULT_SYMBOL2757_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	        // MySQL.g:2485:3: ( COLLATE_SYMBOL ( EQUAL_OPERATOR )? collation_name_or_default | charset ( EQUAL_OPERATOR )? charset_name_or_default )
        	        {
        	            int alt782=2;
        	            switch ( LA(1) )
        	            {
        	            case COLLATE_SYMBOL:
        	            	{
        	            		alt782=1;
        	            	}
        	                break;
        	            case CHARSET_SYMBOL:
        	            case CHAR_SYMBOL:
        	            	{
        	            		alt782=2;
        	            	}
        	                break;

        	            default:
        	                if (BACKTRACKING>0)
        	                {
        	                    FAILEDFLAG = ANTLR3_TRUE;
        	                    return retval;
        	                }

        	                CONSTRUCTEX();
        	                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
        	                EXCEPTION->message      = (void *)"";
        	                EXCEPTION->decisionNum  = 782;
        	                EXCEPTION->state        = 0;


        	                goto rulecreate_table_optionEx;

        	            }

        	            switch (alt782)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2486:4: COLLATE_SYMBOL ( EQUAL_OPERATOR )? collation_name_or_default
        	        	    {
        	        	        COLLATE_SYMBOL2758 = (pANTLR3_COMMON_TOKEN) MATCHT(COLLATE_SYMBOL, &FOLLOW_COLLATE_SYMBOL_in_create_table_option14224);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulecreate_table_optionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        COLLATE_SYMBOL2758_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COLLATE_SYMBOL2758));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, COLLATE_SYMBOL2758_tree);
        	        	        }

        	        	        // MySQL.g:2486:19: ( EQUAL_OPERATOR )?
        	        	        {
        	        	            int alt780=2;
        	        	            switch ( LA(1) )
        	        	            {
        	        	                case EQUAL_OPERATOR:
        	        	                	{
        	        	                		alt780=1;
        	        	                	}
        	        	                    break;
        	        	            }

        	        	            switch (alt780)
        	        	            {
        	        	        	case 1:
        	        	        	    // MySQL.g:2486:19: EQUAL_OPERATOR
        	        	        	    {
        	        	        	        EQUAL_OPERATOR2759 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_create_table_option14226);
        	        	        	        if  (HASEXCEPTION())
        	        	        	        {
        	        	        	            goto rulecreate_table_optionEx;
        	        	        	        }
        	        	        	        if (HASFAILED())
        	        	        	        {
        	        	        	            return retval;
        	        	        	        }

        	        	        	        if ( BACKTRACKING==0 ) {
        	        	        	        EQUAL_OPERATOR2759_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR2759));
        	        	        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR2759_tree);
        	        	        	        }

        	        	        	    }
        	        	        	    break;

        	        	            }
        	        	        }

        	        	        FOLLOWPUSH(FOLLOW_collation_name_or_default_in_create_table_option14229);
        	        	        collation_name_or_default2760=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_default2760.tree);

        	        	    }
        	        	    break;
        	        	case 2:
        	        	    // MySQL.g:2487:6: charset ( EQUAL_OPERATOR )? charset_name_or_default
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_charset_in_create_table_option14236);
        	        	        charset2761=charset(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulecreate_table_optionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, charset2761.tree);

        	        	        // MySQL.g:2487:14: ( EQUAL_OPERATOR )?
        	        	        {
        	        	            int alt781=2;
        	        	            switch ( LA(1) )
        	        	            {
        	        	                case EQUAL_OPERATOR:
        	        	                	{
        	        	                		alt781=1;
        	        	                	}
        	        	                    break;
        	        	            }

        	        	            switch (alt781)
        	        	            {
        	        	        	case 1:
        	        	        	    // MySQL.g:2487:14: EQUAL_OPERATOR
        	        	        	    {
        	        	        	        EQUAL_OPERATOR2762 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_create_table_option14238);
        	        	        	        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_charset_name_or_default_in_create_table_option14241);
        	        	        charset_name_or_default2763=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_default2763.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 15:
        	    // MySQL.g:2490:4: INSERT_METHOD_SYMBOL ( EQUAL_OPERATOR )? ( NO_SYMBOL | FIRST_SYMBOL | LAST_SYMBOL )
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        INSERT_METHOD_SYMBOL2764 = (pANTLR3_COMMON_TOKEN) MATCHT(INSERT_METHOD_SYMBOL, &FOLLOW_INSERT_METHOD_SYMBOL_in_create_table_option14251);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecreate_table_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        INSERT_METHOD_SYMBOL2764_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INSERT_METHOD_SYMBOL2764));
        	        ADAPTOR->addChild(ADAPTOR, root_0, INSERT_METHOD_SYMBOL2764_tree);
        	        }

        	        // MySQL.g:2490:25: ( EQUAL_OPERATOR )?
        	        {
        	            int alt783=2;
        	            switch ( LA(1) )
        	            {
        	                case EQUAL_OPERATOR:
        	                	{
        	                		alt783=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt783)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2490:25: EQUAL_OPERATOR
        	        	    {
        	        	        EQUAL_OPERATOR2765 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_create_table_option14253);
        	        	        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;

        	            }
        	        }

        	        set2766=(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, set2766))
        	            );
        	            PERRORRECOVERY=ANTLR3_FALSE;
        	            FAILEDFLAG=ANTLR3_FALSE;

        	        }
        	        else
        	        {
        	            if (BACKTRACKING>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:2491:4: DATA_SYMBOL DIRECTORY_SYMBOL ( EQUAL_OPERATOR )? text_or_param_marker
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        DATA_SYMBOL2767 = (pANTLR3_COMMON_TOKEN) MATCHT(DATA_SYMBOL, &FOLLOW_DATA_SYMBOL_in_create_table_option14271);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecreate_table_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        DATA_SYMBOL2767_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DATA_SYMBOL2767));
        	        ADAPTOR->addChild(ADAPTOR, root_0, DATA_SYMBOL2767_tree);
        	        }

        	        DIRECTORY_SYMBOL2768 = (pANTLR3_COMMON_TOKEN) MATCHT(DIRECTORY_SYMBOL, &FOLLOW_DIRECTORY_SYMBOL_in_create_table_option14273);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecreate_table_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        DIRECTORY_SYMBOL2768_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DIRECTORY_SYMBOL2768));
        	        ADAPTOR->addChild(ADAPTOR, root_0, DIRECTORY_SYMBOL2768_tree);
        	        }

        	        // MySQL.g:2491:33: ( EQUAL_OPERATOR )?
        	        {
        	            int alt784=2;
        	            switch ( LA(1) )
        	            {
        	                case EQUAL_OPERATOR:
        	                	{
        	                		alt784=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt784)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2491:33: EQUAL_OPERATOR
        	        	    {
        	        	        EQUAL_OPERATOR2769 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_create_table_option14275);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulecreate_table_optionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        EQUAL_OPERATOR2769_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR2769));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR2769_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	        FOLLOWPUSH(FOLLOW_text_or_param_marker_in_create_table_option14278);
        	        text_or_param_marker2770=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_marker2770.tree);

        	    }
        	    break;
        	case 17:
        	    // MySQL.g:2492:4: INDEX_SYMBOL DIRECTORY_SYMBOL ( EQUAL_OPERATOR )? text_or_param_marker
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        INDEX_SYMBOL2771 = (pANTLR3_COMMON_TOKEN) MATCHT(INDEX_SYMBOL, &FOLLOW_INDEX_SYMBOL_in_create_table_option14283);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecreate_table_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        INDEX_SYMBOL2771_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INDEX_SYMBOL2771));
        	        ADAPTOR->addChild(ADAPTOR, root_0, INDEX_SYMBOL2771_tree);
        	        }

        	        DIRECTORY_SYMBOL2772 = (pANTLR3_COMMON_TOKEN) MATCHT(DIRECTORY_SYMBOL, &FOLLOW_DIRECTORY_SYMBOL_in_create_table_option14285);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecreate_table_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        DIRECTORY_SYMBOL2772_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DIRECTORY_SYMBOL2772));
        	        ADAPTOR->addChild(ADAPTOR, root_0, DIRECTORY_SYMBOL2772_tree);
        	        }

        	        // MySQL.g:2492:34: ( EQUAL_OPERATOR )?
        	        {
        	            int alt785=2;
        	            switch ( LA(1) )
        	            {
        	                case EQUAL_OPERATOR:
        	                	{
        	                		alt785=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt785)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2492:34: EQUAL_OPERATOR
        	        	    {
        	        	        EQUAL_OPERATOR2773 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_create_table_option14287);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulecreate_table_optionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        EQUAL_OPERATOR2773_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR2773));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR2773_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	        FOLLOWPUSH(FOLLOW_text_or_param_marker_in_create_table_option14290);
        	        text_or_param_marker2774=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_marker2774.tree);

        	    }
        	    break;
        	case 18:
        	    // MySQL.g:2493:4: TABLESPACE_SYMBOL identifier
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        TABLESPACE_SYMBOL2775 = (pANTLR3_COMMON_TOKEN) MATCHT(TABLESPACE_SYMBOL, &FOLLOW_TABLESPACE_SYMBOL_in_create_table_option14295);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecreate_table_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        TABLESPACE_SYMBOL2775_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, TABLESPACE_SYMBOL2775));
        	        ADAPTOR->addChild(ADAPTOR, root_0, TABLESPACE_SYMBOL2775_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_identifier_in_create_table_option14297);
        	        identifier2776=identifier(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecreate_table_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier2776.tree);

        	    }
        	    break;
        	case 19:
        	    // MySQL.g:2494:4: STORAGE_SYMBOL ( DISK_SYMBOL | MEMORY_SYMBOL )
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        STORAGE_SYMBOL2777 = (pANTLR3_COMMON_TOKEN) MATCHT(STORAGE_SYMBOL, &FOLLOW_STORAGE_SYMBOL_in_create_table_option14302);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecreate_table_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        STORAGE_SYMBOL2777_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, STORAGE_SYMBOL2777));
        	        ADAPTOR->addChild(ADAPTOR, root_0, STORAGE_SYMBOL2777_tree);
        	        }

        	        set2778=(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, set2778))
        	            );
        	            PERRORRECOVERY=ANTLR3_FALSE;
        	            FAILEDFLAG=ANTLR3_FALSE;

        	        }
        	        else
        	        {
        	            if (BACKTRACKING>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:2495:4: CONNECTION_SYMBOL ( EQUAL_OPERATOR )? text_or_param_marker
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        CONNECTION_SYMBOL2779 = (pANTLR3_COMMON_TOKEN) MATCHT(CONNECTION_SYMBOL, &FOLLOW_CONNECTION_SYMBOL_in_create_table_option14315);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecreate_table_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CONNECTION_SYMBOL2779_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CONNECTION_SYMBOL2779));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CONNECTION_SYMBOL2779_tree);
        	        }

        	        // MySQL.g:2495:22: ( EQUAL_OPERATOR )?
        	        {
        	            int alt786=2;
        	            switch ( LA(1) )
        	            {
        	                case EQUAL_OPERATOR:
        	                	{
        	                		alt786=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt786)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2495:22: EQUAL_OPERATOR
        	        	    {
        	        	        EQUAL_OPERATOR2780 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_create_table_option14317);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulecreate_table_optionEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        EQUAL_OPERATOR2780_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR2780));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR2780_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	        FOLLOWPUSH(FOLLOW_text_or_param_marker_in_create_table_option14320);
        	        text_or_param_marker2781=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_marker2781.tree);

        	    }
        	    break;
        	case 21:
        	    // MySQL.g:2496:4: KEY_BLOCK_SIZE_SYMBOL ( EQUAL_OPERATOR )? int_or_param_marker
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        KEY_BLOCK_SIZE_SYMBOL2782 = (pANTLR3_COMMON_TOKEN) MATCHT(KEY_BLOCK_SIZE_SYMBOL, &FOLLOW_KEY_BLOCK_SIZE_SYMBOL_in_create_table_option14325);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulecreate_table_optionEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        KEY_BLOCK_SIZE_SYMBOL2782_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, KEY_BLOCK_SIZE_SYMBOL2782));
        	        ADAPTOR->addChild(ADAPTOR, root_0, KEY_BLOCK_SIZE_SYMBOL2782_tree);
        	        }

        	        // MySQL.g:2496:26: ( EQUAL_OPERATOR )?
        	        {
        	            int alt787=2;
        	            switch ( LA(1) )
        	            {
        	                case EQUAL_OPERATOR:
        	                	{
        	                		alt787=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt787)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2496:26: EQUAL_OPERATOR
        	        	    {
        	        	        EQUAL_OPERATOR2783 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_create_table_option14327);
        	        	        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_int_or_param_marker_in_create_table_option14330);
        	        int_or_param_marker2784=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_marker2784.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:2500: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_SYMBOL2785;
    pANTLR3_COMMON_TOKEN    BY_SYMBOL2786;
    pANTLR3_COMMON_TOKEN    LINEAR_SYMBOL2787;
    pANTLR3_COMMON_TOKEN    HASH_SYMBOL2788;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL2789;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2791;
    pANTLR3_COMMON_TOKEN    LINEAR_SYMBOL2792;
    pANTLR3_COMMON_TOKEN    KEY_SYMBOL2793;
    pANTLR3_COMMON_TOKEN    set2795;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL2796;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2798;
    pANTLR3_COMMON_TOKEN    COLUMNS_SYMBOL2799;
    pANTLR3_COMMON_TOKEN    PARTITIONS_SYMBOL2801;
    pANTLR3_COMMON_TOKEN    INTEGER2802;
    pANTLR3_COMMON_TOKEN    SUBPARTITION_SYMBOL2803;
    pANTLR3_COMMON_TOKEN    BY_SYMBOL2804;
    pANTLR3_COMMON_TOKEN    LINEAR_SYMBOL2805;
    pANTLR3_COMMON_TOKEN    HASH_SYMBOL2806;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL2807;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2809;
    pANTLR3_COMMON_TOKEN    KEY_SYMBOL2810;
    pANTLR3_COMMON_TOKEN    SUBPARTITIONS_SYMBOL2812;
    pANTLR3_COMMON_TOKEN    INTEGER2813;
    MySQLParser_expression_return expression2790;
    #undef	RETURN_TYPE_expression2790
    #define	RETURN_TYPE_expression2790 MySQLParser_expression_return

    MySQLParser_identifier_list_with_parentheses_return identifier_list_with_parentheses2794;
    #undef	RETURN_TYPE_identifier_list_with_parentheses2794
    #define	RETURN_TYPE_identifier_list_with_parentheses2794 MySQLParser_identifier_list_with_parentheses_return

    MySQLParser_expression_return expression2797;
    #undef	RETURN_TYPE_expression2797
    #define	RETURN_TYPE_expression2797 MySQLParser_expression_return

    MySQLParser_identifier_list_with_parentheses_return identifier_list_with_parentheses2800;
    #undef	RETURN_TYPE_identifier_list_with_parentheses2800
    #define	RETURN_TYPE_identifier_list_with_parentheses2800 MySQLParser_identifier_list_with_parentheses_return

    MySQLParser_expression_return expression2808;
    #undef	RETURN_TYPE_expression2808
    #define	RETURN_TYPE_expression2808 MySQLParser_expression_return

    MySQLParser_identifier_list_with_parentheses_return identifier_list_with_parentheses2811;
    #undef	RETURN_TYPE_identifier_list_with_parentheses2811
    #define	RETURN_TYPE_identifier_list_with_parentheses2811 MySQLParser_identifier_list_with_parentheses_return

    MySQLParser_partition_definitions_return partition_definitions2814;
    #undef	RETURN_TYPE_partition_definitions2814
    #define	RETURN_TYPE_partition_definitions2814 MySQLParser_partition_definitions_return

    pANTLR3_BASE_TREE PARTITION_SYMBOL2785_tree;
    pANTLR3_BASE_TREE BY_SYMBOL2786_tree;
    pANTLR3_BASE_TREE LINEAR_SYMBOL2787_tree;
    pANTLR3_BASE_TREE HASH_SYMBOL2788_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2789_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2791_tree;
    pANTLR3_BASE_TREE LINEAR_SYMBOL2792_tree;
    pANTLR3_BASE_TREE KEY_SYMBOL2793_tree;
    pANTLR3_BASE_TREE set2795_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2796_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2798_tree;
    pANTLR3_BASE_TREE COLUMNS_SYMBOL2799_tree;
    pANTLR3_BASE_TREE PARTITIONS_SYMBOL2801_tree;
    pANTLR3_BASE_TREE INTEGER2802_tree;
    pANTLR3_BASE_TREE SUBPARTITION_SYMBOL2803_tree;
    pANTLR3_BASE_TREE BY_SYMBOL2804_tree;
    pANTLR3_BASE_TREE LINEAR_SYMBOL2805_tree;
    pANTLR3_BASE_TREE HASH_SYMBOL2806_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2807_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2809_tree;
    pANTLR3_BASE_TREE KEY_SYMBOL2810_tree;
    pANTLR3_BASE_TREE SUBPARTITIONS_SYMBOL2812_tree;
    pANTLR3_BASE_TREE INTEGER2813_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    PARTITION_SYMBOL2785       = NULL;
    BY_SYMBOL2786       = NULL;
    LINEAR_SYMBOL2787       = NULL;
    HASH_SYMBOL2788       = NULL;
    OPEN_PAR_SYMBOL2789       = NULL;
    CLOSE_PAR_SYMBOL2791       = NULL;
    LINEAR_SYMBOL2792       = NULL;
    KEY_SYMBOL2793       = NULL;
    set2795       = NULL;
    OPEN_PAR_SYMBOL2796       = NULL;
    CLOSE_PAR_SYMBOL2798       = NULL;
    COLUMNS_SYMBOL2799       = NULL;
    PARTITIONS_SYMBOL2801       = NULL;
    INTEGER2802       = NULL;
    SUBPARTITION_SYMBOL2803       = NULL;
    BY_SYMBOL2804       = NULL;
    LINEAR_SYMBOL2805       = NULL;
    HASH_SYMBOL2806       = NULL;
    OPEN_PAR_SYMBOL2807       = NULL;
    CLOSE_PAR_SYMBOL2809       = NULL;
    KEY_SYMBOL2810       = NULL;
    SUBPARTITIONS_SYMBOL2812       = NULL;
    INTEGER2813       = NULL;
    expression2790.tree = NULL;

    identifier_list_with_parentheses2794.tree = NULL;

    expression2797.tree = NULL;

    identifier_list_with_parentheses2800.tree = NULL;

    expression2808.tree = NULL;

    identifier_list_with_parentheses2811.tree = NULL;

    partition_definitions2814.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    PARTITION_SYMBOL2785_tree   = NULL;
    BY_SYMBOL2786_tree   = NULL;
    LINEAR_SYMBOL2787_tree   = NULL;
    HASH_SYMBOL2788_tree   = NULL;
    OPEN_PAR_SYMBOL2789_tree   = NULL;
    CLOSE_PAR_SYMBOL2791_tree   = NULL;
    LINEAR_SYMBOL2792_tree   = NULL;
    KEY_SYMBOL2793_tree   = NULL;
    set2795_tree   = NULL;
    OPEN_PAR_SYMBOL2796_tree   = NULL;
    CLOSE_PAR_SYMBOL2798_tree   = NULL;
    COLUMNS_SYMBOL2799_tree   = NULL;
    PARTITIONS_SYMBOL2801_tree   = NULL;
    INTEGER2802_tree   = NULL;
    SUBPARTITION_SYMBOL2803_tree   = NULL;
    BY_SYMBOL2804_tree   = NULL;
    LINEAR_SYMBOL2805_tree   = NULL;
    HASH_SYMBOL2806_tree   = NULL;
    OPEN_PAR_SYMBOL2807_tree   = NULL;
    CLOSE_PAR_SYMBOL2809_tree   = NULL;
    KEY_SYMBOL2810_tree   = NULL;
    SUBPARTITIONS_SYMBOL2812_tree   = NULL;
    INTEGER2813_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2500: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:2501: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_SYMBOL2785 = (pANTLR3_COMMON_TOKEN) MATCHT(PARTITION_SYMBOL, &FOLLOW_PARTITION_SYMBOL_in_partitioning14344);
            if  (HASEXCEPTION())
            {
                goto rulepartitioningEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            PARTITION_SYMBOL2785_tree = 
            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, PARTITION_SYMBOL2785))
            ;
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, PARTITION_SYMBOL2785_tree, root_0));
            }

            BY_SYMBOL2786 = (pANTLR3_COMMON_TOKEN) MATCHT(BY_SYMBOL, &FOLLOW_BY_SYMBOL_in_partitioning14347);
            if  (HASEXCEPTION())
            {
                goto rulepartitioningEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            BY_SYMBOL2786_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, BY_SYMBOL2786));
            ADAPTOR->addChild(ADAPTOR, root_0, BY_SYMBOL2786_tree);
            }

            // MySQL.g:2502: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 alt792=3;
                switch ( LA(1) )
                {
                case LINEAR_SYMBOL:
                	{
                		switch ( LA(2) )
                		{
                		case HASH_SYMBOL:
                			{
                				alt792=1;
                			}
                		    break;
                		case KEY_SYMBOL:
                			{
                				alt792=2;
                			}
                		    break;

                		default:
                		    if (BACKTRACKING>0)
                		    {
                		        FAILEDFLAG = ANTLR3_TRUE;
                		        return retval;
                		    }

                		    CONSTRUCTEX();
                		    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                		    EXCEPTION->message      = (void *)"";
                		    EXCEPTION->decisionNum  = 792;
                		    EXCEPTION->state        = 1;


                		    goto rulepartitioningEx;

                		}

                	}
                    break;
                case HASH_SYMBOL:
                	{
                		alt792=1;
                	}
                    break;
                case KEY_SYMBOL:
                	{
                		alt792=2;
                	}
                    break;
                case LIST_SYMBOL:
                case RANGE_SYMBOL:
                	{
                		alt792=3;
                	}
                    break;

                default:
                    if (BACKTRACKING>0)
                    {
                        FAILEDFLAG = ANTLR3_TRUE;
                        return retval;
                    }

                    CONSTRUCTEX();
                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    EXCEPTION->message      = (void *)"";
                    EXCEPTION->decisionNum  = 792;
                    EXCEPTION->state        = 0;


                    goto rulepartitioningEx;

                }

                switch (alt792)
                {
            	case 1:
            	    // MySQL.g:2503:4: ( LINEAR_SYMBOL )? HASH_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL
            	    {
            	        // MySQL.g:2503:4: ( LINEAR_SYMBOL )?
            	        {
            	            int alt789=2;
            	            switch ( LA(1) )
            	            {
            	                case LINEAR_SYMBOL:
            	                	{
            	                		alt789=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt789)
            	            {
            	        	case 1:
            	        	    // MySQL.g:2503:4: LINEAR_SYMBOL
            	        	    {
            	        	        LINEAR_SYMBOL2787 = (pANTLR3_COMMON_TOKEN) MATCHT(LINEAR_SYMBOL, &FOLLOW_LINEAR_SYMBOL_in_partitioning14356);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulepartitioningEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        LINEAR_SYMBOL2787_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, LINEAR_SYMBOL2787));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, LINEAR_SYMBOL2787_tree);
            	        	        }

            	        	    }
            	        	    break;

            	            }
            	        }

            	        HASH_SYMBOL2788 = (pANTLR3_COMMON_TOKEN) MATCHT(HASH_SYMBOL, &FOLLOW_HASH_SYMBOL_in_partitioning14359);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulepartitioningEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        HASH_SYMBOL2788_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, HASH_SYMBOL2788));
            	        ADAPTOR->addChild(ADAPTOR, root_0, HASH_SYMBOL2788_tree);
            	        }

            	        OPEN_PAR_SYMBOL2789 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_partitioning14361);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulepartitioningEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        OPEN_PAR_SYMBOL2789_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL2789));
            	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL2789_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_expression_in_partitioning14363);
            	        expression2790=expression(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulepartitioningEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2790.tree);

            	        CLOSE_PAR_SYMBOL2791 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_partitioning14365);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulepartitioningEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        CLOSE_PAR_SYMBOL2791_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL2791));
            	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL2791_tree);
            	        }

            	    }
            	    break;
            	case 2:
            	    // MySQL.g:2504:6: ( LINEAR_SYMBOL )? KEY_SYMBOL identifier_list_with_parentheses
            	    {
            	        // MySQL.g:2504:6: ( LINEAR_SYMBOL )?
            	        {
            	            int alt790=2;
            	            switch ( LA(1) )
            	            {
            	                case LINEAR_SYMBOL:
            	                	{
            	                		alt790=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt790)
            	            {
            	        	case 1:
            	        	    // MySQL.g:2504:6: LINEAR_SYMBOL
            	        	    {
            	        	        LINEAR_SYMBOL2792 = (pANTLR3_COMMON_TOKEN) MATCHT(LINEAR_SYMBOL, &FOLLOW_LINEAR_SYMBOL_in_partitioning14372);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulepartitioningEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        LINEAR_SYMBOL2792_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, LINEAR_SYMBOL2792));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, LINEAR_SYMBOL2792_tree);
            	        	        }

            	        	    }
            	        	    break;

            	            }
            	        }

            	        KEY_SYMBOL2793 = (pANTLR3_COMMON_TOKEN) MATCHT(KEY_SYMBOL, &FOLLOW_KEY_SYMBOL_in_partitioning14375);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulepartitioningEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        KEY_SYMBOL2793_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, KEY_SYMBOL2793));
            	        ADAPTOR->addChild(ADAPTOR, root_0, KEY_SYMBOL2793_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_identifier_list_with_parentheses_in_partitioning14377);
            	        identifier_list_with_parentheses2794=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_parentheses2794.tree);

            	    }
            	    break;
            	case 3:
            	    // MySQL.g:2505:6: ( RANGE_SYMBOL | LIST_SYMBOL ) ( OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL |{...}? => COLUMNS_SYMBOL identifier_list_with_parentheses )
            	    {
            	        set2795=(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, set2795))
            	            );
            	            PERRORRECOVERY=ANTLR3_FALSE;
            	            FAILEDFLAG=ANTLR3_FALSE;

            	        }
            	        else
            	        {
            	            if (BACKTRACKING>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:2506:5: ( OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL |{...}? => COLUMNS_SYMBOL identifier_list_with_parentheses )
            	        {
            	            int alt791=2;
            	            {
            	                int LA791_0 = LA(1);
            	                if ( (LA791_0 == OPEN_PAR_SYMBOL))
            	                {
            	                    alt791=1;
            	                }
            	                else if ( ((SERVER_VERSION >= 50500)) && (LA791_0 == COLUMNS_SYMBOL))
            	                {
            	                    alt791=2;
            	                }
            	                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 rulepartitioningEx;

            	                }
            	            }
            	            switch (alt791)
            	            {
            	        	case 1:
            	        	    // MySQL.g:2507:6: OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL
            	        	    {
            	        	        OPEN_PAR_SYMBOL2796 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_partitioning14404);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulepartitioningEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        OPEN_PAR_SYMBOL2796_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL2796));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL2796_tree);
            	        	        }

            	        	        FOLLOWPUSH(FOLLOW_expression_in_partitioning14406);
            	        	        expression2797=expression(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulepartitioningEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2797.tree);

            	        	        CLOSE_PAR_SYMBOL2798 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_partitioning14408);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulepartitioningEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        CLOSE_PAR_SYMBOL2798_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL2798));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL2798_tree);
            	        	        }

            	        	    }
            	        	    break;
            	        	case 2:
            	        	    // MySQL.g:2508: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_SYMBOL2799 = (pANTLR3_COMMON_TOKEN) MATCHT(COLUMNS_SYMBOL, &FOLLOW_COLUMNS_SYMBOL_in_partitioning14421);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulepartitioningEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        COLUMNS_SYMBOL2799_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COLUMNS_SYMBOL2799));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, COLUMNS_SYMBOL2799_tree);
            	        	        }

            	        	        FOLLOWPUSH(FOLLOW_identifier_list_with_parentheses_in_partitioning14423);
            	        	        identifier_list_with_parentheses2800=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_parentheses2800.tree);

            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;

                }
            }

            // MySQL.g:2511:3: ( PARTITIONS_SYMBOL INTEGER )?
            {
                int alt793=2;
                switch ( LA(1) )
                {
                    case PARTITIONS_SYMBOL:
                    	{
                    		alt793=1;
                    	}
                        break;
                }

                switch (alt793)
                {
            	case 1:
            	    // MySQL.g:2511:4: PARTITIONS_SYMBOL INTEGER
            	    {
            	        PARTITIONS_SYMBOL2801 = (pANTLR3_COMMON_TOKEN) MATCHT(PARTITIONS_SYMBOL, &FOLLOW_PARTITIONS_SYMBOL_in_partitioning14438);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulepartitioningEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        PARTITIONS_SYMBOL2801_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, PARTITIONS_SYMBOL2801));
            	        ADAPTOR->addChild(ADAPTOR, root_0, PARTITIONS_SYMBOL2801_tree);
            	        }

            	        INTEGER2802 = (pANTLR3_COMMON_TOKEN) MATCHT(INTEGER, &FOLLOW_INTEGER_in_partitioning14440);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulepartitioningEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        INTEGER2802_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INTEGER2802));
            	        ADAPTOR->addChild(ADAPTOR, root_0, INTEGER2802_tree);
            	        }

            	    }
            	    break;

                }
            }

            // MySQL.g:2512: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 alt798=2;
                switch ( LA(1) )
                {
                    case SUBPARTITION_SYMBOL:
                    	{
                    		alt798=1;
                    	}
                        break;
                }

                switch (alt798)
                {
            	case 1:
            	    // MySQL.g:2513: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_SYMBOL2803 = (pANTLR3_COMMON_TOKEN) MATCHT(SUBPARTITION_SYMBOL, &FOLLOW_SUBPARTITION_SYMBOL_in_partitioning14451);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulepartitioningEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        SUBPARTITION_SYMBOL2803_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SUBPARTITION_SYMBOL2803));
            	        ADAPTOR->addChild(ADAPTOR, root_0, SUBPARTITION_SYMBOL2803_tree);
            	        }

            	        BY_SYMBOL2804 = (pANTLR3_COMMON_TOKEN) MATCHT(BY_SYMBOL, &FOLLOW_BY_SYMBOL_in_partitioning14453);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulepartitioningEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        BY_SYMBOL2804_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, BY_SYMBOL2804));
            	        ADAPTOR->addChild(ADAPTOR, root_0, BY_SYMBOL2804_tree);
            	        }

            	        // MySQL.g:2513:34: ( LINEAR_SYMBOL )?
            	        {
            	            int alt794=2;
            	            switch ( LA(1) )
            	            {
            	                case LINEAR_SYMBOL:
            	                	{
            	                		alt794=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt794)
            	            {
            	        	case 1:
            	        	    // MySQL.g:2513:34: LINEAR_SYMBOL
            	        	    {
            	        	        LINEAR_SYMBOL2805 = (pANTLR3_COMMON_TOKEN) MATCHT(LINEAR_SYMBOL, &FOLLOW_LINEAR_SYMBOL_in_partitioning14455);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulepartitioningEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        LINEAR_SYMBOL2805_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, LINEAR_SYMBOL2805));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, LINEAR_SYMBOL2805_tree);
            	        	        }

            	        	    }
            	        	    break;

            	            }
            	        }

            	        // MySQL.g:2514:4: ( ( HASH_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL | KEY_SYMBOL identifier_list_with_parentheses ) ( SUBPARTITIONS_SYMBOL INTEGER )? )?
            	        {
            	            int alt797=2;
            	            switch ( LA(1) )
            	            {
            	                case HASH_SYMBOL:
            	                case KEY_SYMBOL:
            	                	{
            	                		alt797=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt797)
            	            {
            	        	case 1:
            	        	    // MySQL.g:2515:5: ( HASH_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL | KEY_SYMBOL identifier_list_with_parentheses ) ( SUBPARTITIONS_SYMBOL INTEGER )?
            	        	    {
            	        	        // MySQL.g:2515:5: ( HASH_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL | KEY_SYMBOL identifier_list_with_parentheses )
            	        	        {
            	        	            int alt795=2;
            	        	            switch ( LA(1) )
            	        	            {
            	        	            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        = 0;


            	        	                goto rulepartitioningEx;

            	        	            }

            	        	            switch (alt795)
            	        	            {
            	        	        	case 1:
            	        	        	    // MySQL.g:2516:7: HASH_SYMBOL OPEN_PAR_SYMBOL expression CLOSE_PAR_SYMBOL
            	        	        	    {
            	        	        	        HASH_SYMBOL2806 = (pANTLR3_COMMON_TOKEN) MATCHT(HASH_SYMBOL, &FOLLOW_HASH_SYMBOL_in_partitioning14475);
            	        	        	        if  (HASEXCEPTION())
            	        	        	        {
            	        	        	            goto rulepartitioningEx;
            	        	        	        }
            	        	        	        if (HASFAILED())
            	        	        	        {
            	        	        	            return retval;
            	        	        	        }

            	        	        	        if ( BACKTRACKING==0 ) {
            	        	        	        HASH_SYMBOL2806_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, HASH_SYMBOL2806));
            	        	        	        ADAPTOR->addChild(ADAPTOR, root_0, HASH_SYMBOL2806_tree);
            	        	        	        }

            	        	        	        OPEN_PAR_SYMBOL2807 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_partitioning14477);
            	        	        	        if  (HASEXCEPTION())
            	        	        	        {
            	        	        	            goto rulepartitioningEx;
            	        	        	        }
            	        	        	        if (HASFAILED())
            	        	        	        {
            	        	        	            return retval;
            	        	        	        }

            	        	        	        if ( BACKTRACKING==0 ) {
            	        	        	        OPEN_PAR_SYMBOL2807_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL2807));
            	        	        	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL2807_tree);
            	        	        	        }

            	        	        	        FOLLOWPUSH(FOLLOW_expression_in_partitioning14479);
            	        	        	        expression2808=expression(ctx);

            	        	        	        FOLLOWPOP();
            	        	        	        if  (HASEXCEPTION())
            	        	        	        {
            	        	        	            goto rulepartitioningEx;
            	        	        	        }
            	        	        	        if (HASFAILED())
            	        	        	        {
            	        	        	            return retval;
            	        	        	        }

            	        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2808.tree);

            	        	        	        CLOSE_PAR_SYMBOL2809 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_partitioning14481);
            	        	        	        if  (HASEXCEPTION())
            	        	        	        {
            	        	        	            goto rulepartitioningEx;
            	        	        	        }
            	        	        	        if (HASFAILED())
            	        	        	        {
            	        	        	            return retval;
            	        	        	        }

            	        	        	        if ( BACKTRACKING==0 ) {
            	        	        	        CLOSE_PAR_SYMBOL2809_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL2809));
            	        	        	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL2809_tree);
            	        	        	        }

            	        	        	    }
            	        	        	    break;
            	        	        	case 2:
            	        	        	    // MySQL.g:2517:8: KEY_SYMBOL identifier_list_with_parentheses
            	        	        	    {
            	        	        	        KEY_SYMBOL2810 = (pANTLR3_COMMON_TOKEN) MATCHT(KEY_SYMBOL, &FOLLOW_KEY_SYMBOL_in_partitioning14490);
            	        	        	        if  (HASEXCEPTION())
            	        	        	        {
            	        	        	            goto rulepartitioningEx;
            	        	        	        }
            	        	        	        if (HASFAILED())
            	        	        	        {
            	        	        	            return retval;
            	        	        	        }

            	        	        	        if ( BACKTRACKING==0 ) {
            	        	        	        KEY_SYMBOL2810_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, KEY_SYMBOL2810));
            	        	        	        ADAPTOR->addChild(ADAPTOR, root_0, KEY_SYMBOL2810_tree);
            	        	        	        }

            	        	        	        FOLLOWPUSH(FOLLOW_identifier_list_with_parentheses_in_partitioning14492);
            	        	        	        identifier_list_with_parentheses2811=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_parentheses2811.tree);

            	        	        	    }
            	        	        	    break;

            	        	            }
            	        	        }

            	        	        // MySQL.g:2519:5: ( SUBPARTITIONS_SYMBOL INTEGER )?
            	        	        {
            	        	            int alt796=2;
            	        	            switch ( LA(1) )
            	        	            {
            	        	                case SUBPARTITIONS_SYMBOL:
            	        	                	{
            	        	                		alt796=1;
            	        	                	}
            	        	                    break;
            	        	            }

            	        	            switch (alt796)
            	        	            {
            	        	        	case 1:
            	        	        	    // MySQL.g:2519:6: SUBPARTITIONS_SYMBOL INTEGER
            	        	        	    {
            	        	        	        SUBPARTITIONS_SYMBOL2812 = (pANTLR3_COMMON_TOKEN) MATCHT(SUBPARTITIONS_SYMBOL, &FOLLOW_SUBPARTITIONS_SYMBOL_in_partitioning14505);
            	        	        	        if  (HASEXCEPTION())
            	        	        	        {
            	        	        	            goto rulepartitioningEx;
            	        	        	        }
            	        	        	        if (HASFAILED())
            	        	        	        {
            	        	        	            return retval;
            	        	        	        }

            	        	        	        if ( BACKTRACKING==0 ) {
            	        	        	        SUBPARTITIONS_SYMBOL2812_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SUBPARTITIONS_SYMBOL2812));
            	        	        	        ADAPTOR->addChild(ADAPTOR, root_0, SUBPARTITIONS_SYMBOL2812_tree);
            	        	        	        }

            	        	        	        INTEGER2813 = (pANTLR3_COMMON_TOKEN) MATCHT(INTEGER, &FOLLOW_INTEGER_in_partitioning14507);
            	        	        	        if  (HASEXCEPTION())
            	        	        	        {
            	        	        	            goto rulepartitioningEx;
            	        	        	        }
            	        	        	        if (HASFAILED())
            	        	        	        {
            	        	        	            return retval;
            	        	        	        }

            	        	        	        if ( BACKTRACKING==0 ) {
            	        	        	        INTEGER2813_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INTEGER2813));
            	        	        	        ADAPTOR->addChild(ADAPTOR, root_0, INTEGER2813_tree);
            	        	        	        }

            	        	        	    }
            	        	        	    break;

            	        	            }
            	        	        }

            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;

                }
            }

            // MySQL.g:2522:6: ( partition_definitions )?
            {
                int alt799=2;
                switch ( LA(1) )
                {
                    case OPEN_PAR_SYMBOL:
                    	{
                    		switch ( LA(2) )
                    		{
                    		    case PARTITION_SYMBOL:
                    		    	{
                    		    		alt799=1;
                    		    	}
                    		        break;
                    		}

                    	}
                        break;
                }

                switch (alt799)
                {
            	case 1:
            	    // MySQL.g:2522:6: partition_definitions
            	    {
            	        FOLLOWPUSH(FOLLOW_partition_definitions_in_partitioning14530);
            	        partition_definitions2814=partition_definitions(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulepartitioningEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, partition_definitions2814.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:2525: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_SYMBOL2815;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL2817;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2819;
    MySQLParser_partition_definition_return partition_definition2816;
    #undef	RETURN_TYPE_partition_definition2816
    #define	RETURN_TYPE_partition_definition2816 MySQLParser_partition_definition_return

    MySQLParser_partition_definition_return partition_definition2818;
    #undef	RETURN_TYPE_partition_definition2818
    #define	RETURN_TYPE_partition_definition2818 MySQLParser_partition_definition_return

    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2815_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL2817_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2819_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    OPEN_PAR_SYMBOL2815       = NULL;
    COMMA_SYMBOL2817       = NULL;
    CLOSE_PAR_SYMBOL2819       = NULL;
    partition_definition2816.tree = NULL;

    partition_definition2818.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    OPEN_PAR_SYMBOL2815_tree   = NULL;
    COMMA_SYMBOL2817_tree   = NULL;
    CLOSE_PAR_SYMBOL2819_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2525:22: ( OPEN_PAR_SYMBOL partition_definition ( COMMA_SYMBOL partition_definition )* CLOSE_PAR_SYMBOL )
        // MySQL.g:2526:2: OPEN_PAR_SYMBOL partition_definition ( COMMA_SYMBOL partition_definition )* CLOSE_PAR_SYMBOL
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            OPEN_PAR_SYMBOL2815 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_partition_definitions14540);
            if  (HASEXCEPTION())
            {
                goto rulepartition_definitionsEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            OPEN_PAR_SYMBOL2815_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL2815));
            ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL2815_tree);
            }

            FOLLOWPUSH(FOLLOW_partition_definition_in_partition_definitions14542);
            partition_definition2816=partition_definition(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulepartition_definitionsEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, partition_definition2816.tree);

            // MySQL.g:2526:39: ( COMMA_SYMBOL partition_definition )*

            for (;;)
            {
                int alt800=2;
                switch ( LA(1) )
                {
                case COMMA_SYMBOL:
                	{
                		alt800=1;
                	}
                    break;

                }

                switch (alt800)
                {
            	case 1:
            	    // MySQL.g:2526:40: COMMA_SYMBOL partition_definition
            	    {
            	        COMMA_SYMBOL2817 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_partition_definitions14545);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulepartition_definitionsEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        COMMA_SYMBOL2817_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL2817));
            	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL2817_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_partition_definition_in_partition_definitions14547);
            	        partition_definition2818=partition_definition(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulepartition_definitionsEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, partition_definition2818.tree);

            	    }
            	    break;

            	default:
            	    goto loop800;	/* break out of the loop */
            	    break;
                }
            }
            loop800: ; /* Jump out to here if this rule does not match */


            CLOSE_PAR_SYMBOL2819 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_partition_definitions14551);
            if  (HASEXCEPTION())
            {
                goto rulepartition_definitionsEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            CLOSE_PAR_SYMBOL2819_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL2819));
            ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL2819_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:2529: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_SYMBOL2820;
    pANTLR3_COMMON_TOKEN    VALUES_SYMBOL2822;
    pANTLR3_COMMON_TOKEN    LESS_SYMBOL2823;
    pANTLR3_COMMON_TOKEN    THAN_SYMBOL2824;
    pANTLR3_COMMON_TOKEN    MAXVALUE_SYMBOL2826;
    pANTLR3_COMMON_TOKEN    IN_SYMBOL2827;
    pANTLR3_COMMON_TOKEN    STORAGE_SYMBOL2829;
    pANTLR3_COMMON_TOKEN    ENGINE_SYMBOL2830;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR2831;
    pANTLR3_COMMON_TOKEN    IDENTIFIER2832;
    pANTLR3_COMMON_TOKEN    COMMENT_SYMBOL2833;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR2834;
    pANTLR3_COMMON_TOKEN    DATA_SYMBOL2836;
    pANTLR3_COMMON_TOKEN    DIRECTORY_SYMBOL2837;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR2838;
    pANTLR3_COMMON_TOKEN    INDEX_SYMBOL2840;
    pANTLR3_COMMON_TOKEN    DIRECTORY_SYMBOL2841;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR2842;
    pANTLR3_COMMON_TOKEN    MAX_ROWS_SYMBOL2844;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR2845;
    pANTLR3_COMMON_TOKEN    INTEGER2846;
    pANTLR3_COMMON_TOKEN    MIN_ROWS_SYMBOL2847;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR2848;
    pANTLR3_COMMON_TOKEN    INTEGER2849;
    pANTLR3_COMMON_TOKEN    TABLESPACE_SYMBOL2850;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR2851;
    pANTLR3_COMMON_TOKEN    NODEGROUP_SYMBOL2853;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR2854;
    pANTLR3_COMMON_TOKEN    OPEN_PAR_SYMBOL2856;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL2858;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2860;
    MySQLParser_identifier_return identifier2821;
    #undef	RETURN_TYPE_identifier2821
    #define	RETURN_TYPE_identifier2821 MySQLParser_identifier_return

    MySQLParser_partition_value_list_return partition_value_list2825;
    #undef	RETURN_TYPE_partition_value_list2825
    #define	RETURN_TYPE_partition_value_list2825 MySQLParser_partition_value_list_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_string_literal_return string_literal2835;
    #undef	RETURN_TYPE_string_literal2835
    #define	RETURN_TYPE_string_literal2835 MySQLParser_string_literal_return

    MySQLParser_string_literal_return string_literal2839;
    #undef	RETURN_TYPE_string_literal2839
    #define	RETURN_TYPE_string_literal2839 MySQLParser_string_literal_return

    MySQLParser_string_literal_return string_literal2843;
    #undef	RETURN_TYPE_string_literal2843
    #define	RETURN_TYPE_string_literal2843 MySQLParser_string_literal_return

    MySQLParser_identifier_return identifier2852;
    #undef	RETURN_TYPE_identifier2852
    #define	RETURN_TYPE_identifier2852 MySQLParser_identifier_return

    MySQLParser_identifier_return identifier2855;
    #undef	RETURN_TYPE_identifier2855
    #define	RETURN_TYPE_identifier2855 MySQLParser_identifier_return

    MySQLParser_subpartition_definition_return subpartition_definition2857;
    #undef	RETURN_TYPE_subpartition_definition2857
    #define	RETURN_TYPE_subpartition_definition2857 MySQLParser_subpartition_definition_return

    MySQLParser_subpartition_definition_return subpartition_definition2859;
    #undef	RETURN_TYPE_subpartition_definition2859
    #define	RETURN_TYPE_subpartition_definition2859 MySQLParser_subpartition_definition_return

    pANTLR3_BASE_TREE PARTITION_SYMBOL2820_tree;
    pANTLR3_BASE_TREE VALUES_SYMBOL2822_tree;
    pANTLR3_BASE_TREE LESS_SYMBOL2823_tree;
    pANTLR3_BASE_TREE THAN_SYMBOL2824_tree;
    pANTLR3_BASE_TREE MAXVALUE_SYMBOL2826_tree;
    pANTLR3_BASE_TREE IN_SYMBOL2827_tree;
    pANTLR3_BASE_TREE STORAGE_SYMBOL2829_tree;
    pANTLR3_BASE_TREE ENGINE_SYMBOL2830_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR2831_tree;
    pANTLR3_BASE_TREE IDENTIFIER2832_tree;
    pANTLR3_BASE_TREE COMMENT_SYMBOL2833_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR2834_tree;
    pANTLR3_BASE_TREE DATA_SYMBOL2836_tree;
    pANTLR3_BASE_TREE DIRECTORY_SYMBOL2837_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR2838_tree;
    pANTLR3_BASE_TREE INDEX_SYMBOL2840_tree;
    pANTLR3_BASE_TREE DIRECTORY_SYMBOL2841_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR2842_tree;
    pANTLR3_BASE_TREE MAX_ROWS_SYMBOL2844_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR2845_tree;
    pANTLR3_BASE_TREE INTEGER2846_tree;
    pANTLR3_BASE_TREE MIN_ROWS_SYMBOL2847_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR2848_tree;
    pANTLR3_BASE_TREE INTEGER2849_tree;
    pANTLR3_BASE_TREE TABLESPACE_SYMBOL2850_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR2851_tree;
    pANTLR3_BASE_TREE NODEGROUP_SYMBOL2853_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR2854_tree;
    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2856_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL2858_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2860_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    PARTITION_SYMBOL2820       = NULL;
    VALUES_SYMBOL2822       = NULL;
    LESS_SYMBOL2823       = NULL;
    THAN_SYMBOL2824       = NULL;
    MAXVALUE_SYMBOL2826       = NULL;
    IN_SYMBOL2827       = NULL;
    STORAGE_SYMBOL2829       = NULL;
    ENGINE_SYMBOL2830       = NULL;
    EQUAL_OPERATOR2831       = NULL;
    IDENTIFIER2832       = NULL;
    COMMENT_SYMBOL2833       = NULL;
    EQUAL_OPERATOR2834       = NULL;
    DATA_SYMBOL2836       = NULL;
    DIRECTORY_SYMBOL2837       = NULL;
    EQUAL_OPERATOR2838       = NULL;
    INDEX_SYMBOL2840       = NULL;
    DIRECTORY_SYMBOL2841       = NULL;
    EQUAL_OPERATOR2842       = NULL;
    MAX_ROWS_SYMBOL2844       = NULL;
    EQUAL_OPERATOR2845       = NULL;
    INTEGER2846       = NULL;
    MIN_ROWS_SYMBOL2847       = NULL;
    EQUAL_OPERATOR2848       = NULL;
    INTEGER2849       = NULL;
    TABLESPACE_SYMBOL2850       = NULL;
    EQUAL_OPERATOR2851       = NULL;
    NODEGROUP_SYMBOL2853       = NULL;
    EQUAL_OPERATOR2854       = NULL;
    OPEN_PAR_SYMBOL2856       = NULL;
    COMMA_SYMBOL2858       = NULL;
    CLOSE_PAR_SYMBOL2860       = NULL;
    identifier2821.tree = NULL;

    partition_value_list2825.tree = NULL;

    partition_value_list2828.tree = NULL;

    string_literal2835.tree = NULL;

    string_literal2839.tree = NULL;

    string_literal2843.tree = NULL;

    identifier2852.tree = NULL;

    identifier2855.tree = NULL;

    subpartition_definition2857.tree = NULL;

    subpartition_definition2859.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    PARTITION_SYMBOL2820_tree   = NULL;
    VALUES_SYMBOL2822_tree   = NULL;
    LESS_SYMBOL2823_tree   = NULL;
    THAN_SYMBOL2824_tree   = NULL;
    MAXVALUE_SYMBOL2826_tree   = NULL;
    IN_SYMBOL2827_tree   = NULL;
    STORAGE_SYMBOL2829_tree   = NULL;
    ENGINE_SYMBOL2830_tree   = NULL;
    EQUAL_OPERATOR2831_tree   = NULL;
    IDENTIFIER2832_tree   = NULL;
    COMMENT_SYMBOL2833_tree   = NULL;
    EQUAL_OPERATOR2834_tree   = NULL;
    DATA_SYMBOL2836_tree   = NULL;
    DIRECTORY_SYMBOL2837_tree   = NULL;
    EQUAL_OPERATOR2838_tree   = NULL;
    INDEX_SYMBOL2840_tree   = NULL;
    DIRECTORY_SYMBOL2841_tree   = NULL;
    EQUAL_OPERATOR2842_tree   = NULL;
    MAX_ROWS_SYMBOL2844_tree   = NULL;
    EQUAL_OPERATOR2845_tree   = NULL;
    INTEGER2846_tree   = NULL;
    MIN_ROWS_SYMBOL2847_tree   = NULL;
    EQUAL_OPERATOR2848_tree   = NULL;
    INTEGER2849_tree   = NULL;
    TABLESPACE_SYMBOL2850_tree   = NULL;
    EQUAL_OPERATOR2851_tree   = NULL;
    NODEGROUP_SYMBOL2853_tree   = NULL;
    EQUAL_OPERATOR2854_tree   = NULL;
    OPEN_PAR_SYMBOL2856_tree   = NULL;
    COMMA_SYMBOL2858_tree   = NULL;
    CLOSE_PAR_SYMBOL2860_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2529: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:2530: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_SYMBOL2820 = (pANTLR3_COMMON_TOKEN) MATCHT(PARTITION_SYMBOL, &FOLLOW_PARTITION_SYMBOL_in_partition_definition14560);
            if  (HASEXCEPTION())
            {
                goto rulepartition_definitionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            PARTITION_SYMBOL2820_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, PARTITION_SYMBOL2820));
            ADAPTOR->addChild(ADAPTOR, root_0, PARTITION_SYMBOL2820_tree);
            }

            FOLLOWPUSH(FOLLOW_identifier_in_partition_definition14562);
            identifier2821=identifier(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulepartition_definitionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier2821.tree);

            // MySQL.g:2531:2: ( VALUES_SYMBOL ( LESS_SYMBOL THAN_SYMBOL ( partition_value_list | MAXVALUE_SYMBOL ) | IN_SYMBOL partition_value_list ) )?
            {
                int alt803=2;
                switch ( LA(1) )
                {
                    case VALUES_SYMBOL:
                    	{
                    		alt803=1;
                    	}
                        break;
                }

                switch (alt803)
                {
            	case 1:
            	    // MySQL.g:2532:3: VALUES_SYMBOL ( LESS_SYMBOL THAN_SYMBOL ( partition_value_list | MAXVALUE_SYMBOL ) | IN_SYMBOL partition_value_list )
            	    {
            	        VALUES_SYMBOL2822 = (pANTLR3_COMMON_TOKEN) MATCHT(VALUES_SYMBOL, &FOLLOW_VALUES_SYMBOL_in_partition_definition14569);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulepartition_definitionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        VALUES_SYMBOL2822_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, VALUES_SYMBOL2822));
            	        ADAPTOR->addChild(ADAPTOR, root_0, VALUES_SYMBOL2822_tree);
            	        }

            	        // MySQL.g:2533:3: ( LESS_SYMBOL THAN_SYMBOL ( partition_value_list | MAXVALUE_SYMBOL ) | IN_SYMBOL partition_value_list )
            	        {
            	            int alt802=2;
            	            switch ( LA(1) )
            	            {
            	            case LESS_SYMBOL:
            	            	{
            	            		alt802=1;
            	            	}
            	                break;
            	            case IN_SYMBOL:
            	            	{
            	            		alt802=2;
            	            	}
            	                break;

            	            default:
            	                if (BACKTRACKING>0)
            	                {
            	                    FAILEDFLAG = ANTLR3_TRUE;
            	                    return retval;
            	                }

            	                CONSTRUCTEX();
            	                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
            	                EXCEPTION->message      = (void *)"";
            	                EXCEPTION->decisionNum  = 802;
            	                EXCEPTION->state        = 0;


            	                goto rulepartition_definitionEx;

            	            }

            	            switch (alt802)
            	            {
            	        	case 1:
            	        	    // MySQL.g:2534:4: LESS_SYMBOL THAN_SYMBOL ( partition_value_list | MAXVALUE_SYMBOL )
            	        	    {
            	        	        LESS_SYMBOL2823 = (pANTLR3_COMMON_TOKEN) MATCHT(LESS_SYMBOL, &FOLLOW_LESS_SYMBOL_in_partition_definition14578);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulepartition_definitionEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        LESS_SYMBOL2823_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, LESS_SYMBOL2823));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, LESS_SYMBOL2823_tree);
            	        	        }

            	        	        THAN_SYMBOL2824 = (pANTLR3_COMMON_TOKEN) MATCHT(THAN_SYMBOL, &FOLLOW_THAN_SYMBOL_in_partition_definition14580);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulepartition_definitionEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        THAN_SYMBOL2824_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, THAN_SYMBOL2824));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, THAN_SYMBOL2824_tree);
            	        	        }

            	        	        // MySQL.g:2534:28: ( partition_value_list | MAXVALUE_SYMBOL )
            	        	        {
            	        	            int alt801=2;
            	        	            switch ( LA(1) )
            	        	            {
            	        	            case OPEN_PAR_SYMBOL:
            	        	            	{
            	        	            		alt801=1;
            	        	            	}
            	        	                break;
            	        	            case MAXVALUE_SYMBOL:
            	        	            	{
            	        	            		alt801=2;
            	        	            	}
            	        	                break;

            	        	            default:
            	        	                if (BACKTRACKING>0)
            	        	                {
            	        	                    FAILEDFLAG = ANTLR3_TRUE;
            	        	                    return retval;
            	        	                }

            	        	                CONSTRUCTEX();
            	        	                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
            	        	                EXCEPTION->message      = (void *)"";
            	        	                EXCEPTION->decisionNum  = 801;
            	        	                EXCEPTION->state        = 0;


            	        	                goto rulepartition_definitionEx;

            	        	            }

            	        	            switch (alt801)
            	        	            {
            	        	        	case 1:
            	        	        	    // MySQL.g:2534:29: partition_value_list
            	        	        	    {
            	        	        	        FOLLOWPUSH(FOLLOW_partition_value_list_in_partition_definition14583);
            	        	        	        partition_value_list2825=partition_value_list(ctx);

            	        	        	        FOLLOWPOP();
            	        	        	        if  (HASEXCEPTION())
            	        	        	        {
            	        	        	            goto rulepartition_definitionEx;
            	        	        	        }
            	        	        	        if (HASFAILED())
            	        	        	        {
            	        	        	            return retval;
            	        	        	        }

            	        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, partition_value_list2825.tree);

            	        	        	    }
            	        	        	    break;
            	        	        	case 2:
            	        	        	    // MySQL.g:2534:52: MAXVALUE_SYMBOL
            	        	        	    {
            	        	        	        MAXVALUE_SYMBOL2826 = (pANTLR3_COMMON_TOKEN) MATCHT(MAXVALUE_SYMBOL, &FOLLOW_MAXVALUE_SYMBOL_in_partition_definition14587);
            	        	        	        if  (HASEXCEPTION())
            	        	        	        {
            	        	        	            goto rulepartition_definitionEx;
            	        	        	        }
            	        	        	        if (HASFAILED())
            	        	        	        {
            	        	        	            return retval;
            	        	        	        }

            	        	        	        if ( BACKTRACKING==0 ) {
            	        	        	        MAXVALUE_SYMBOL2826_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MAXVALUE_SYMBOL2826));
            	        	        	        ADAPTOR->addChild(ADAPTOR, root_0, MAXVALUE_SYMBOL2826_tree);
            	        	        	        }

            	        	        	    }
            	        	        	    break;

            	        	            }
            	        	        }

            	        	    }
            	        	    break;
            	        	case 2:
            	        	    // MySQL.g:2535:6: IN_SYMBOL partition_value_list
            	        	    {
            	        	        IN_SYMBOL2827 = (pANTLR3_COMMON_TOKEN) MATCHT(IN_SYMBOL, &FOLLOW_IN_SYMBOL_in_partition_definition14595);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulepartition_definitionEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        IN_SYMBOL2827_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, IN_SYMBOL2827));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, IN_SYMBOL2827_tree);
            	        	        }

            	        	        FOLLOWPUSH(FOLLOW_partition_value_list_in_partition_definition14597);
            	        	        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;

            	            }
            	        }

            	    }
            	    break;

                }
            }

            // MySQL.g:2538:2: ( ( STORAGE_SYMBOL )? ENGINE_SYMBOL ( EQUAL_OPERATOR )? IDENTIFIER )?
            {
                int alt806=2;
                switch ( LA(1) )
                {
                    case ENGINE_SYMBOL:
                    case STORAGE_SYMBOL:
                    	{
                    		alt806=1;
                    	}
                        break;
                }

                switch (alt806)
                {
            	case 1:
            	    // MySQL.g:2538:3: ( STORAGE_SYMBOL )? ENGINE_SYMBOL ( EQUAL_OPERATOR )? IDENTIFIER
            	    {
            	        // MySQL.g:2538:3: ( STORAGE_SYMBOL )?
            	        {
            	            int alt804=2;
            	            switch ( LA(1) )
            	            {
            	                case STORAGE_SYMBOL:
            	                	{
            	                		alt804=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt804)
            	            {
            	        	case 1:
            	        	    // MySQL.g:2538:3: STORAGE_SYMBOL
            	        	    {
            	        	        STORAGE_SYMBOL2829 = (pANTLR3_COMMON_TOKEN) MATCHT(STORAGE_SYMBOL, &FOLLOW_STORAGE_SYMBOL_in_partition_definition14609);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulepartition_definitionEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        STORAGE_SYMBOL2829_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, STORAGE_SYMBOL2829));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, STORAGE_SYMBOL2829_tree);
            	        	        }

            	        	    }
            	        	    break;

            	            }
            	        }

            	        ENGINE_SYMBOL2830 = (pANTLR3_COMMON_TOKEN) MATCHT(ENGINE_SYMBOL, &FOLLOW_ENGINE_SYMBOL_in_partition_definition14612);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulepartition_definitionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        ENGINE_SYMBOL2830_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ENGINE_SYMBOL2830));
            	        ADAPTOR->addChild(ADAPTOR, root_0, ENGINE_SYMBOL2830_tree);
            	        }

            	        // MySQL.g:2538:33: ( EQUAL_OPERATOR )?
            	        {
            	            int alt805=2;
            	            switch ( LA(1) )
            	            {
            	                case EQUAL_OPERATOR:
            	                	{
            	                		alt805=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt805)
            	            {
            	        	case 1:
            	        	    // MySQL.g:2538:33: EQUAL_OPERATOR
            	        	    {
            	        	        EQUAL_OPERATOR2831 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_partition_definition14614);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulepartition_definitionEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        EQUAL_OPERATOR2831_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR2831));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR2831_tree);
            	        	        }

            	        	    }
            	        	    break;

            	            }
            	        }

            	        IDENTIFIER2832 = (pANTLR3_COMMON_TOKEN) MATCHT(IDENTIFIER, &FOLLOW_IDENTIFIER_in_partition_definition14617);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulepartition_definitionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        IDENTIFIER2832_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, IDENTIFIER2832));
            	        ADAPTOR->addChild(ADAPTOR, root_0, IDENTIFIER2832_tree);
            	        }

            	    }
            	    break;

                }
            }

            // MySQL.g:2539:2: ( COMMENT_SYMBOL ( EQUAL_OPERATOR )? string_literal )?
            {
                int alt808=2;
                switch ( LA(1) )
                {
                    case COMMENT_SYMBOL:
                    	{
                    		alt808=1;
                    	}
                        break;
                }

                switch (alt808)
                {
            	case 1:
            	    // MySQL.g:2539:3: COMMENT_SYMBOL ( EQUAL_OPERATOR )? string_literal
            	    {
            	        COMMENT_SYMBOL2833 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMENT_SYMBOL, &FOLLOW_COMMENT_SYMBOL_in_partition_definition14623);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulepartition_definitionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        COMMENT_SYMBOL2833_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMENT_SYMBOL2833));
            	        ADAPTOR->addChild(ADAPTOR, root_0, COMMENT_SYMBOL2833_tree);
            	        }

            	        // MySQL.g:2539:18: ( EQUAL_OPERATOR )?
            	        {
            	            int alt807=2;
            	            switch ( LA(1) )
            	            {
            	                case EQUAL_OPERATOR:
            	                	{
            	                		alt807=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt807)
            	            {
            	        	case 1:
            	        	    // MySQL.g:2539:18: EQUAL_OPERATOR
            	        	    {
            	        	        EQUAL_OPERATOR2834 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_partition_definition14625);
            	        	        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;

            	            }
            	        }

            	        FOLLOWPUSH(FOLLOW_string_literal_in_partition_definition14628);
            	        string_literal2835=string_literal(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulepartition_definitionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_literal2835.tree);

            	    }
            	    break;

                }
            }

            // MySQL.g:2540:2: ( DATA_SYMBOL DIRECTORY_SYMBOL ( EQUAL_OPERATOR )? string_literal )?
            {
                int alt810=2;
                switch ( LA(1) )
                {
                    case DATA_SYMBOL:
                    	{
                    		alt810=1;
                    	}
                        break;
                }

                switch (alt810)
                {
            	case 1:
            	    // MySQL.g:2540:3: DATA_SYMBOL DIRECTORY_SYMBOL ( EQUAL_OPERATOR )? string_literal
            	    {
            	        DATA_SYMBOL2836 = (pANTLR3_COMMON_TOKEN) MATCHT(DATA_SYMBOL, &FOLLOW_DATA_SYMBOL_in_partition_definition14634);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulepartition_definitionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        DATA_SYMBOL2836_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DATA_SYMBOL2836));
            	        ADAPTOR->addChild(ADAPTOR, root_0, DATA_SYMBOL2836_tree);
            	        }

            	        DIRECTORY_SYMBOL2837 = (pANTLR3_COMMON_TOKEN) MATCHT(DIRECTORY_SYMBOL, &FOLLOW_DIRECTORY_SYMBOL_in_partition_definition14636);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulepartition_definitionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        DIRECTORY_SYMBOL2837_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DIRECTORY_SYMBOL2837));
            	        ADAPTOR->addChild(ADAPTOR, root_0, DIRECTORY_SYMBOL2837_tree);
            	        }

            	        // MySQL.g:2540:32: ( EQUAL_OPERATOR )?
            	        {
            	            int alt809=2;
            	            switch ( LA(1) )
            	            {
            	                case EQUAL_OPERATOR:
            	                	{
            	                		alt809=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt809)
            	            {
            	        	case 1:
            	        	    // MySQL.g:2540:32: EQUAL_OPERATOR
            	        	    {
            	        	        EQUAL_OPERATOR2838 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_partition_definition14638);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulepartition_definitionEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        EQUAL_OPERATOR2838_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR2838));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR2838_tree);
            	        	        }

            	        	    }
            	        	    break;

            	            }
            	        }

            	        FOLLOWPUSH(FOLLOW_string_literal_in_partition_definition14641);
            	        string_literal2839=string_literal(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulepartition_definitionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_literal2839.tree);

            	    }
            	    break;

                }
            }

            // MySQL.g:2541:2: ( INDEX_SYMBOL DIRECTORY_SYMBOL ( EQUAL_OPERATOR )? string_literal )?
            {
                int alt812=2;
                switch ( LA(1) )
                {
                    case INDEX_SYMBOL:
                    	{
                    		alt812=1;
                    	}
                        break;
                }

                switch (alt812)
                {
            	case 1:
            	    // MySQL.g:2541:3: INDEX_SYMBOL DIRECTORY_SYMBOL ( EQUAL_OPERATOR )? string_literal
            	    {
            	        INDEX_SYMBOL2840 = (pANTLR3_COMMON_TOKEN) MATCHT(INDEX_SYMBOL, &FOLLOW_INDEX_SYMBOL_in_partition_definition14647);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulepartition_definitionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        INDEX_SYMBOL2840_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INDEX_SYMBOL2840));
            	        ADAPTOR->addChild(ADAPTOR, root_0, INDEX_SYMBOL2840_tree);
            	        }

            	        DIRECTORY_SYMBOL2841 = (pANTLR3_COMMON_TOKEN) MATCHT(DIRECTORY_SYMBOL, &FOLLOW_DIRECTORY_SYMBOL_in_partition_definition14649);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulepartition_definitionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        DIRECTORY_SYMBOL2841_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DIRECTORY_SYMBOL2841));
            	        ADAPTOR->addChild(ADAPTOR, root_0, DIRECTORY_SYMBOL2841_tree);
            	        }

            	        // MySQL.g:2541:33: ( EQUAL_OPERATOR )?
            	        {
            	            int alt811=2;
            	            switch ( LA(1) )
            	            {
            	                case EQUAL_OPERATOR:
            	                	{
            	                		alt811=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt811)
            	            {
            	        	case 1:
            	        	    // MySQL.g:2541:33: EQUAL_OPERATOR
            	        	    {
            	        	        EQUAL_OPERATOR2842 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_partition_definition14651);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulepartition_definitionEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        EQUAL_OPERATOR2842_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR2842));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR2842_tree);
            	        	        }

            	        	    }
            	        	    break;

            	            }
            	        }

            	        FOLLOWPUSH(FOLLOW_string_literal_in_partition_definition14654);
            	        string_literal2843=string_literal(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulepartition_definitionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_literal2843.tree);

            	    }
            	    break;

                }
            }

            // MySQL.g:2542:2: ( MAX_ROWS_SYMBOL ( EQUAL_OPERATOR )? INTEGER )?
            {
                int alt814=2;
                switch ( LA(1) )
                {
                    case MAX_ROWS_SYMBOL:
                    	{
                    		alt814=1;
                    	}
                        break;
                }

                switch (alt814)
                {
            	case 1:
            	    // MySQL.g:2542:3: MAX_ROWS_SYMBOL ( EQUAL_OPERATOR )? INTEGER
            	    {
            	        MAX_ROWS_SYMBOL2844 = (pANTLR3_COMMON_TOKEN) MATCHT(MAX_ROWS_SYMBOL, &FOLLOW_MAX_ROWS_SYMBOL_in_partition_definition14660);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulepartition_definitionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        MAX_ROWS_SYMBOL2844_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MAX_ROWS_SYMBOL2844));
            	        ADAPTOR->addChild(ADAPTOR, root_0, MAX_ROWS_SYMBOL2844_tree);
            	        }

            	        // MySQL.g:2542:19: ( EQUAL_OPERATOR )?
            	        {
            	            int alt813=2;
            	            switch ( LA(1) )
            	            {
            	                case EQUAL_OPERATOR:
            	                	{
            	                		alt813=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt813)
            	            {
            	        	case 1:
            	        	    // MySQL.g:2542:19: EQUAL_OPERATOR
            	        	    {
            	        	        EQUAL_OPERATOR2845 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_partition_definition14662);
            	        	        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;

            	            }
            	        }

            	        INTEGER2846 = (pANTLR3_COMMON_TOKEN) MATCHT(INTEGER, &FOLLOW_INTEGER_in_partition_definition14665);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulepartition_definitionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        INTEGER2846_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INTEGER2846));
            	        ADAPTOR->addChild(ADAPTOR, root_0, INTEGER2846_tree);
            	        }

            	    }
            	    break;

                }
            }

            // MySQL.g:2543:2: ( MIN_ROWS_SYMBOL ( EQUAL_OPERATOR )? INTEGER )?
            {
                int alt816=2;
                switch ( LA(1) )
                {
                    case MIN_ROWS_SYMBOL:
                    	{
                    		alt816=1;
                    	}
                        break;
                }

                switch (alt816)
                {
            	case 1:
            	    // MySQL.g:2543:3: MIN_ROWS_SYMBOL ( EQUAL_OPERATOR )? INTEGER
            	    {
            	        MIN_ROWS_SYMBOL2847 = (pANTLR3_COMMON_TOKEN) MATCHT(MIN_ROWS_SYMBOL, &FOLLOW_MIN_ROWS_SYMBOL_in_partition_definition14671);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulepartition_definitionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        MIN_ROWS_SYMBOL2847_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MIN_ROWS_SYMBOL2847));
            	        ADAPTOR->addChild(ADAPTOR, root_0, MIN_ROWS_SYMBOL2847_tree);
            	        }

            	        // MySQL.g:2543:19: ( EQUAL_OPERATOR )?
            	        {
            	            int alt815=2;
            	            switch ( LA(1) )
            	            {
            	                case EQUAL_OPERATOR:
            	                	{
            	                		alt815=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt815)
            	            {
            	        	case 1:
            	        	    // MySQL.g:2543:19: EQUAL_OPERATOR
            	        	    {
            	        	        EQUAL_OPERATOR2848 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_partition_definition14673);
            	        	        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_definition14676);
            	        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:2544:2: ( TABLESPACE_SYMBOL ( EQUAL_OPERATOR )? identifier )?
            {
                int alt818=2;
                switch ( LA(1) )
                {
                    case TABLESPACE_SYMBOL:
                    	{
                    		alt818=1;
                    	}
                        break;
                }

                switch (alt818)
                {
            	case 1:
            	    // MySQL.g:2544:3: TABLESPACE_SYMBOL ( EQUAL_OPERATOR )? identifier
            	    {
            	        TABLESPACE_SYMBOL2850 = (pANTLR3_COMMON_TOKEN) MATCHT(TABLESPACE_SYMBOL, &FOLLOW_TABLESPACE_SYMBOL_in_partition_definition14682);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulepartition_definitionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        TABLESPACE_SYMBOL2850_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, TABLESPACE_SYMBOL2850));
            	        ADAPTOR->addChild(ADAPTOR, root_0, TABLESPACE_SYMBOL2850_tree);
            	        }

            	        // MySQL.g:2544:21: ( EQUAL_OPERATOR )?
            	        {
            	            int alt817=2;
            	            switch ( LA(1) )
            	            {
            	                case EQUAL_OPERATOR:
            	                	{
            	                		alt817=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt817)
            	            {
            	        	case 1:
            	        	    // MySQL.g:2544:21: EQUAL_OPERATOR
            	        	    {
            	        	        EQUAL_OPERATOR2851 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_partition_definition14684);
            	        	        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;

            	            }
            	        }

            	        FOLLOWPUSH(FOLLOW_identifier_in_partition_definition14687);
            	        identifier2852=identifier(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulepartition_definitionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier2852.tree);

            	    }
            	    break;

                }
            }

            // MySQL.g:2545:2: ( NODEGROUP_SYMBOL ( EQUAL_OPERATOR )? identifier )?
            {
                int alt820=2;
                switch ( LA(1) )
                {
                    case NODEGROUP_SYMBOL:
                    	{
                    		alt820=1;
                    	}
                        break;
                }

                switch (alt820)
                {
            	case 1:
            	    // MySQL.g:2545:3: NODEGROUP_SYMBOL ( EQUAL_OPERATOR )? identifier
            	    {
            	        NODEGROUP_SYMBOL2853 = (pANTLR3_COMMON_TOKEN) MATCHT(NODEGROUP_SYMBOL, &FOLLOW_NODEGROUP_SYMBOL_in_partition_definition14693);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulepartition_definitionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        NODEGROUP_SYMBOL2853_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, NODEGROUP_SYMBOL2853));
            	        ADAPTOR->addChild(ADAPTOR, root_0, NODEGROUP_SYMBOL2853_tree);
            	        }

            	        // MySQL.g:2545:20: ( EQUAL_OPERATOR )?
            	        {
            	            int alt819=2;
            	            switch ( LA(1) )
            	            {
            	                case EQUAL_OPERATOR:
            	                	{
            	                		alt819=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt819)
            	            {
            	        	case 1:
            	        	    // MySQL.g:2545:20: EQUAL_OPERATOR
            	        	    {
            	        	        EQUAL_OPERATOR2854 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_partition_definition14695);
            	        	        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_definition14698);
            	        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:2546:2: ( OPEN_PAR_SYMBOL subpartition_definition ( COMMA_SYMBOL subpartition_definition )* CLOSE_PAR_SYMBOL )?
            {
                int alt822=2;
                switch ( LA(1) )
                {
                    case OPEN_PAR_SYMBOL:
                    	{
                    		alt822=1;
                    	}
                        break;
                }

                switch (alt822)
                {
            	case 1:
            	    // MySQL.g:2546:3: OPEN_PAR_SYMBOL subpartition_definition ( COMMA_SYMBOL subpartition_definition )* CLOSE_PAR_SYMBOL
            	    {
            	        OPEN_PAR_SYMBOL2856 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_partition_definition14704);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulepartition_definitionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        OPEN_PAR_SYMBOL2856_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL2856));
            	        ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL2856_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_subpartition_definition_in_partition_definition14706);
            	        subpartition_definition2857=subpartition_definition(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulepartition_definitionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, subpartition_definition2857.tree);

            	        // MySQL.g:2546:43: ( COMMA_SYMBOL subpartition_definition )*

            	        for (;;)
            	        {
            	            int alt821=2;
            	            switch ( LA(1) )
            	            {
            	            case COMMA_SYMBOL:
            	            	{
            	            		alt821=1;
            	            	}
            	                break;

            	            }

            	            switch (alt821)
            	            {
            	        	case 1:
            	        	    // MySQL.g:2546:44: COMMA_SYMBOL subpartition_definition
            	        	    {
            	        	        COMMA_SYMBOL2858 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_partition_definition14709);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulepartition_definitionEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        COMMA_SYMBOL2858_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL2858));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL2858_tree);
            	        	        }

            	        	        FOLLOWPUSH(FOLLOW_subpartition_definition_in_partition_definition14711);
            	        	        subpartition_definition2859=subpartition_definition(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulepartition_definitionEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, subpartition_definition2859.tree);

            	        	    }
            	        	    break;

            	        	default:
            	        	    goto loop821;	/* break out of the loop */
            	        	    break;
            	            }
            	        }
            	        loop821: ; /* Jump out to here if this rule does not match */


            	        CLOSE_PAR_SYMBOL2860 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_partition_definition14715);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulepartition_definitionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        CLOSE_PAR_SYMBOL2860_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL2860));
            	        ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL2860_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:2549: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_SYMBOL2861;
    pANTLR3_COMMON_TOKEN    STORAGE_SYMBOL2863;
    pANTLR3_COMMON_TOKEN    ENGINE_SYMBOL2864;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR2865;
    pANTLR3_COMMON_TOKEN    IDENTIFIER2866;
    pANTLR3_COMMON_TOKEN    COMMENT_SYMBOL2867;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR2868;
    pANTLR3_COMMON_TOKEN    DATA_SYMBOL2870;
    pANTLR3_COMMON_TOKEN    DIRECTORY_SYMBOL2871;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR2872;
    pANTLR3_COMMON_TOKEN    INDEX_SYMBOL2874;
    pANTLR3_COMMON_TOKEN    DIRECTORY_SYMBOL2875;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR2876;
    pANTLR3_COMMON_TOKEN    MAX_ROWS_SYMBOL2878;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR2879;
    pANTLR3_COMMON_TOKEN    INTEGER2880;
    pANTLR3_COMMON_TOKEN    MIN_ROWS_SYMBOL2881;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR2882;
    pANTLR3_COMMON_TOKEN    INTEGER2883;
    pANTLR3_COMMON_TOKEN    TABLESPACE_SYMBOL2884;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR2885;
    pANTLR3_COMMON_TOKEN    NODEGROUP_SYMBOL2887;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR2888;
    MySQLParser_identifier_return identifier2862;
    #undef	RETURN_TYPE_identifier2862
    #define	RETURN_TYPE_identifier2862 MySQLParser_identifier_return

    MySQLParser_string_literal_return string_literal2869;
    #undef	RETURN_TYPE_string_literal2869
    #define	RETURN_TYPE_string_literal2869 MySQLParser_string_literal_return

    MySQLParser_string_literal_return string_literal2873;
    #undef	RETURN_TYPE_string_literal2873
    #define	RETURN_TYPE_string_literal2873 MySQLParser_string_literal_return

    MySQLParser_string_literal_return string_literal2877;
    #undef	RETURN_TYPE_string_literal2877
    #define	RETURN_TYPE_string_literal2877 MySQLParser_string_literal_return

    MySQLParser_identifier_return identifier2886;
    #undef	RETURN_TYPE_identifier2886
    #define	RETURN_TYPE_identifier2886 MySQLParser_identifier_return

    MySQLParser_identifier_return identifier2889;
    #undef	RETURN_TYPE_identifier2889
    #define	RETURN_TYPE_identifier2889 MySQLParser_identifier_return

    pANTLR3_BASE_TREE SUBPARTITION_SYMBOL2861_tree;
    pANTLR3_BASE_TREE STORAGE_SYMBOL2863_tree;
    pANTLR3_BASE_TREE ENGINE_SYMBOL2864_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR2865_tree;
    pANTLR3_BASE_TREE IDENTIFIER2866_tree;
    pANTLR3_BASE_TREE COMMENT_SYMBOL2867_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR2868_tree;
    pANTLR3_BASE_TREE DATA_SYMBOL2870_tree;
    pANTLR3_BASE_TREE DIRECTORY_SYMBOL2871_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR2872_tree;
    pANTLR3_BASE_TREE INDEX_SYMBOL2874_tree;
    pANTLR3_BASE_TREE DIRECTORY_SYMBOL2875_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR2876_tree;
    pANTLR3_BASE_TREE MAX_ROWS_SYMBOL2878_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR2879_tree;
    pANTLR3_BASE_TREE INTEGER2880_tree;
    pANTLR3_BASE_TREE MIN_ROWS_SYMBOL2881_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR2882_tree;
    pANTLR3_BASE_TREE INTEGER2883_tree;
    pANTLR3_BASE_TREE TABLESPACE_SYMBOL2884_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR2885_tree;
    pANTLR3_BASE_TREE NODEGROUP_SYMBOL2887_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR2888_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    SUBPARTITION_SYMBOL2861       = NULL;
    STORAGE_SYMBOL2863       = NULL;
    ENGINE_SYMBOL2864       = NULL;
    EQUAL_OPERATOR2865       = NULL;
    IDENTIFIER2866       = NULL;
    COMMENT_SYMBOL2867       = NULL;
    EQUAL_OPERATOR2868       = NULL;
    DATA_SYMBOL2870       = NULL;
    DIRECTORY_SYMBOL2871       = NULL;
    EQUAL_OPERATOR2872       = NULL;
    INDEX_SYMBOL2874       = NULL;
    DIRECTORY_SYMBOL2875       = NULL;
    EQUAL_OPERATOR2876       = NULL;
    MAX_ROWS_SYMBOL2878       = NULL;
    EQUAL_OPERATOR2879       = NULL;
    INTEGER2880       = NULL;
    MIN_ROWS_SYMBOL2881       = NULL;
    EQUAL_OPERATOR2882       = NULL;
    INTEGER2883       = NULL;
    TABLESPACE_SYMBOL2884       = NULL;
    EQUAL_OPERATOR2885       = NULL;
    NODEGROUP_SYMBOL2887       = NULL;
    EQUAL_OPERATOR2888       = NULL;
    identifier2862.tree = NULL;

    string_literal2869.tree = NULL;

    string_literal2873.tree = NULL;

    string_literal2877.tree = NULL;

    identifier2886.tree = NULL;

    identifier2889.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    SUBPARTITION_SYMBOL2861_tree   = NULL;
    STORAGE_SYMBOL2863_tree   = NULL;
    ENGINE_SYMBOL2864_tree   = NULL;
    EQUAL_OPERATOR2865_tree   = NULL;
    IDENTIFIER2866_tree   = NULL;
    COMMENT_SYMBOL2867_tree   = NULL;
    EQUAL_OPERATOR2868_tree   = NULL;
    DATA_SYMBOL2870_tree   = NULL;
    DIRECTORY_SYMBOL2871_tree   = NULL;
    EQUAL_OPERATOR2872_tree   = NULL;
    INDEX_SYMBOL2874_tree   = NULL;
    DIRECTORY_SYMBOL2875_tree   = NULL;
    EQUAL_OPERATOR2876_tree   = NULL;
    MAX_ROWS_SYMBOL2878_tree   = NULL;
    EQUAL_OPERATOR2879_tree   = NULL;
    INTEGER2880_tree   = NULL;
    MIN_ROWS_SYMBOL2881_tree   = NULL;
    EQUAL_OPERATOR2882_tree   = NULL;
    INTEGER2883_tree   = NULL;
    TABLESPACE_SYMBOL2884_tree   = NULL;
    EQUAL_OPERATOR2885_tree   = NULL;
    NODEGROUP_SYMBOL2887_tree   = NULL;
    EQUAL_OPERATOR2888_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2549: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:2550: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_SYMBOL2861 = (pANTLR3_COMMON_TOKEN) MATCHT(SUBPARTITION_SYMBOL, &FOLLOW_SUBPARTITION_SYMBOL_in_subpartition_definition14726);
            if  (HASEXCEPTION())
            {
                goto rulesubpartition_definitionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            SUBPARTITION_SYMBOL2861_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SUBPARTITION_SYMBOL2861));
            ADAPTOR->addChild(ADAPTOR, root_0, SUBPARTITION_SYMBOL2861_tree);
            }

            FOLLOWPUSH(FOLLOW_identifier_in_subpartition_definition14728);
            identifier2862=identifier(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulesubpartition_definitionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier2862.tree);

            // MySQL.g:2551:3: ( ( STORAGE_SYMBOL )? ENGINE_SYMBOL ( EQUAL_OPERATOR )? IDENTIFIER )?
            {
                int alt825=2;
                switch ( LA(1) )
                {
                    case ENGINE_SYMBOL:
                    case STORAGE_SYMBOL:
                    	{
                    		alt825=1;
                    	}
                        break;
                }

                switch (alt825)
                {
            	case 1:
            	    // MySQL.g:2551:4: ( STORAGE_SYMBOL )? ENGINE_SYMBOL ( EQUAL_OPERATOR )? IDENTIFIER
            	    {
            	        // MySQL.g:2551:4: ( STORAGE_SYMBOL )?
            	        {
            	            int alt823=2;
            	            switch ( LA(1) )
            	            {
            	                case STORAGE_SYMBOL:
            	                	{
            	                		alt823=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt823)
            	            {
            	        	case 1:
            	        	    // MySQL.g:2551:4: STORAGE_SYMBOL
            	        	    {
            	        	        STORAGE_SYMBOL2863 = (pANTLR3_COMMON_TOKEN) MATCHT(STORAGE_SYMBOL, &FOLLOW_STORAGE_SYMBOL_in_subpartition_definition14733);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulesubpartition_definitionEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        STORAGE_SYMBOL2863_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, STORAGE_SYMBOL2863));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, STORAGE_SYMBOL2863_tree);
            	        	        }

            	        	    }
            	        	    break;

            	            }
            	        }

            	        ENGINE_SYMBOL2864 = (pANTLR3_COMMON_TOKEN) MATCHT(ENGINE_SYMBOL, &FOLLOW_ENGINE_SYMBOL_in_subpartition_definition14736);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulesubpartition_definitionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        ENGINE_SYMBOL2864_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ENGINE_SYMBOL2864));
            	        ADAPTOR->addChild(ADAPTOR, root_0, ENGINE_SYMBOL2864_tree);
            	        }

            	        // MySQL.g:2551:34: ( EQUAL_OPERATOR )?
            	        {
            	            int alt824=2;
            	            switch ( LA(1) )
            	            {
            	                case EQUAL_OPERATOR:
            	                	{
            	                		alt824=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt824)
            	            {
            	        	case 1:
            	        	    // MySQL.g:2551:34: EQUAL_OPERATOR
            	        	    {
            	        	        EQUAL_OPERATOR2865 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_subpartition_definition14738);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulesubpartition_definitionEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        EQUAL_OPERATOR2865_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR2865));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR2865_tree);
            	        	        }

            	        	    }
            	        	    break;

            	            }
            	        }

            	        IDENTIFIER2866 = (pANTLR3_COMMON_TOKEN) MATCHT(IDENTIFIER, &FOLLOW_IDENTIFIER_in_subpartition_definition14741);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulesubpartition_definitionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        IDENTIFIER2866_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, IDENTIFIER2866));
            	        ADAPTOR->addChild(ADAPTOR, root_0, IDENTIFIER2866_tree);
            	        }

            	    }
            	    break;

                }
            }

            // MySQL.g:2552:3: ( COMMENT_SYMBOL ( EQUAL_OPERATOR )? string_literal )?
            {
                int alt827=2;
                switch ( LA(1) )
                {
                    case COMMENT_SYMBOL:
                    	{
                    		alt827=1;
                    	}
                        break;
                }

                switch (alt827)
                {
            	case 1:
            	    // MySQL.g:2552:4: COMMENT_SYMBOL ( EQUAL_OPERATOR )? string_literal
            	    {
            	        COMMENT_SYMBOL2867 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMENT_SYMBOL, &FOLLOW_COMMENT_SYMBOL_in_subpartition_definition14748);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulesubpartition_definitionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        COMMENT_SYMBOL2867_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMENT_SYMBOL2867));
            	        ADAPTOR->addChild(ADAPTOR, root_0, COMMENT_SYMBOL2867_tree);
            	        }

            	        // MySQL.g:2552:19: ( EQUAL_OPERATOR )?
            	        {
            	            int alt826=2;
            	            switch ( LA(1) )
            	            {
            	                case EQUAL_OPERATOR:
            	                	{
            	                		alt826=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt826)
            	            {
            	        	case 1:
            	        	    // MySQL.g:2552:19: EQUAL_OPERATOR
            	        	    {
            	        	        EQUAL_OPERATOR2868 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_subpartition_definition14750);
            	        	        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;

            	            }
            	        }

            	        FOLLOWPUSH(FOLLOW_string_literal_in_subpartition_definition14753);
            	        string_literal2869=string_literal(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulesubpartition_definitionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_literal2869.tree);

            	    }
            	    break;

                }
            }

            // MySQL.g:2553:3: ( DATA_SYMBOL DIRECTORY_SYMBOL ( EQUAL_OPERATOR )? string_literal )?
            {
                int alt829=2;
                switch ( LA(1) )
                {
                    case DATA_SYMBOL:
                    	{
                    		alt829=1;
                    	}
                        break;
                }

                switch (alt829)
                {
            	case 1:
            	    // MySQL.g:2553:4: DATA_SYMBOL DIRECTORY_SYMBOL ( EQUAL_OPERATOR )? string_literal
            	    {
            	        DATA_SYMBOL2870 = (pANTLR3_COMMON_TOKEN) MATCHT(DATA_SYMBOL, &FOLLOW_DATA_SYMBOL_in_subpartition_definition14760);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulesubpartition_definitionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        DATA_SYMBOL2870_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DATA_SYMBOL2870));
            	        ADAPTOR->addChild(ADAPTOR, root_0, DATA_SYMBOL2870_tree);
            	        }

            	        DIRECTORY_SYMBOL2871 = (pANTLR3_COMMON_TOKEN) MATCHT(DIRECTORY_SYMBOL, &FOLLOW_DIRECTORY_SYMBOL_in_subpartition_definition14762);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulesubpartition_definitionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        DIRECTORY_SYMBOL2871_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DIRECTORY_SYMBOL2871));
            	        ADAPTOR->addChild(ADAPTOR, root_0, DIRECTORY_SYMBOL2871_tree);
            	        }

            	        // MySQL.g:2553:33: ( EQUAL_OPERATOR )?
            	        {
            	            int alt828=2;
            	            switch ( LA(1) )
            	            {
            	                case EQUAL_OPERATOR:
            	                	{
            	                		alt828=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt828)
            	            {
            	        	case 1:
            	        	    // MySQL.g:2553:33: EQUAL_OPERATOR
            	        	    {
            	        	        EQUAL_OPERATOR2872 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_subpartition_definition14764);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulesubpartition_definitionEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        EQUAL_OPERATOR2872_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR2872));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR2872_tree);
            	        	        }

            	        	    }
            	        	    break;

            	            }
            	        }

            	        FOLLOWPUSH(FOLLOW_string_literal_in_subpartition_definition14767);
            	        string_literal2873=string_literal(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulesubpartition_definitionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_literal2873.tree);

            	    }
            	    break;

                }
            }

            // MySQL.g:2554:3: ( INDEX_SYMBOL DIRECTORY_SYMBOL ( EQUAL_OPERATOR )? string_literal )?
            {
                int alt831=2;
                switch ( LA(1) )
                {
                    case INDEX_SYMBOL:
                    	{
                    		alt831=1;
                    	}
                        break;
                }

                switch (alt831)
                {
            	case 1:
            	    // MySQL.g:2554:4: INDEX_SYMBOL DIRECTORY_SYMBOL ( EQUAL_OPERATOR )? string_literal
            	    {
            	        INDEX_SYMBOL2874 = (pANTLR3_COMMON_TOKEN) MATCHT(INDEX_SYMBOL, &FOLLOW_INDEX_SYMBOL_in_subpartition_definition14774);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulesubpartition_definitionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        INDEX_SYMBOL2874_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INDEX_SYMBOL2874));
            	        ADAPTOR->addChild(ADAPTOR, root_0, INDEX_SYMBOL2874_tree);
            	        }

            	        DIRECTORY_SYMBOL2875 = (pANTLR3_COMMON_TOKEN) MATCHT(DIRECTORY_SYMBOL, &FOLLOW_DIRECTORY_SYMBOL_in_subpartition_definition14776);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulesubpartition_definitionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        DIRECTORY_SYMBOL2875_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DIRECTORY_SYMBOL2875));
            	        ADAPTOR->addChild(ADAPTOR, root_0, DIRECTORY_SYMBOL2875_tree);
            	        }

            	        // MySQL.g:2554:34: ( EQUAL_OPERATOR )?
            	        {
            	            int alt830=2;
            	            switch ( LA(1) )
            	            {
            	                case EQUAL_OPERATOR:
            	                	{
            	                		alt830=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt830)
            	            {
            	        	case 1:
            	        	    // MySQL.g:2554:34: EQUAL_OPERATOR
            	        	    {
            	        	        EQUAL_OPERATOR2876 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_subpartition_definition14778);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulesubpartition_definitionEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        EQUAL_OPERATOR2876_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR2876));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR2876_tree);
            	        	        }

            	        	    }
            	        	    break;

            	            }
            	        }

            	        FOLLOWPUSH(FOLLOW_string_literal_in_subpartition_definition14781);
            	        string_literal2877=string_literal(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulesubpartition_definitionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_literal2877.tree);

            	    }
            	    break;

                }
            }

            // MySQL.g:2555:3: ( MAX_ROWS_SYMBOL ( EQUAL_OPERATOR )? INTEGER )?
            {
                int alt833=2;
                switch ( LA(1) )
                {
                    case MAX_ROWS_SYMBOL:
                    	{
                    		alt833=1;
                    	}
                        break;
                }

                switch (alt833)
                {
            	case 1:
            	    // MySQL.g:2555:4: MAX_ROWS_SYMBOL ( EQUAL_OPERATOR )? INTEGER
            	    {
            	        MAX_ROWS_SYMBOL2878 = (pANTLR3_COMMON_TOKEN) MATCHT(MAX_ROWS_SYMBOL, &FOLLOW_MAX_ROWS_SYMBOL_in_subpartition_definition14788);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulesubpartition_definitionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        MAX_ROWS_SYMBOL2878_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MAX_ROWS_SYMBOL2878));
            	        ADAPTOR->addChild(ADAPTOR, root_0, MAX_ROWS_SYMBOL2878_tree);
            	        }

            	        // MySQL.g:2555:20: ( EQUAL_OPERATOR )?
            	        {
            	            int alt832=2;
            	            switch ( LA(1) )
            	            {
            	                case EQUAL_OPERATOR:
            	                	{
            	                		alt832=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt832)
            	            {
            	        	case 1:
            	        	    // MySQL.g:2555:20: EQUAL_OPERATOR
            	        	    {
            	        	        EQUAL_OPERATOR2879 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_subpartition_definition14790);
            	        	        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;

            	            }
            	        }

            	        INTEGER2880 = (pANTLR3_COMMON_TOKEN) MATCHT(INTEGER, &FOLLOW_INTEGER_in_subpartition_definition14793);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulesubpartition_definitionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        INTEGER2880_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INTEGER2880));
            	        ADAPTOR->addChild(ADAPTOR, root_0, INTEGER2880_tree);
            	        }

            	    }
            	    break;

                }
            }

            // MySQL.g:2556:3: ( MIN_ROWS_SYMBOL ( EQUAL_OPERATOR )? INTEGER )?
            {
                int alt835=2;
                switch ( LA(1) )
                {
                    case MIN_ROWS_SYMBOL:
                    	{
                    		alt835=1;
                    	}
                        break;
                }

                switch (alt835)
                {
            	case 1:
            	    // MySQL.g:2556:4: MIN_ROWS_SYMBOL ( EQUAL_OPERATOR )? INTEGER
            	    {
            	        MIN_ROWS_SYMBOL2881 = (pANTLR3_COMMON_TOKEN) MATCHT(MIN_ROWS_SYMBOL, &FOLLOW_MIN_ROWS_SYMBOL_in_subpartition_definition14800);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulesubpartition_definitionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        MIN_ROWS_SYMBOL2881_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MIN_ROWS_SYMBOL2881));
            	        ADAPTOR->addChild(ADAPTOR, root_0, MIN_ROWS_SYMBOL2881_tree);
            	        }

            	        // MySQL.g:2556:20: ( EQUAL_OPERATOR )?
            	        {
            	            int alt834=2;
            	            switch ( LA(1) )
            	            {
            	                case EQUAL_OPERATOR:
            	                	{
            	                		alt834=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt834)
            	            {
            	        	case 1:
            	        	    // MySQL.g:2556:20: EQUAL_OPERATOR
            	        	    {
            	        	        EQUAL_OPERATOR2882 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_subpartition_definition14802);
            	        	        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_definition14805);
            	        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:2557:3: ( TABLESPACE_SYMBOL ( EQUAL_OPERATOR )? identifier )?
            {
                int alt837=2;
                switch ( LA(1) )
                {
                    case TABLESPACE_SYMBOL:
                    	{
                    		alt837=1;
                    	}
                        break;
                }

                switch (alt837)
                {
            	case 1:
            	    // MySQL.g:2557:4: TABLESPACE_SYMBOL ( EQUAL_OPERATOR )? identifier
            	    {
            	        TABLESPACE_SYMBOL2884 = (pANTLR3_COMMON_TOKEN) MATCHT(TABLESPACE_SYMBOL, &FOLLOW_TABLESPACE_SYMBOL_in_subpartition_definition14812);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulesubpartition_definitionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        TABLESPACE_SYMBOL2884_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, TABLESPACE_SYMBOL2884));
            	        ADAPTOR->addChild(ADAPTOR, root_0, TABLESPACE_SYMBOL2884_tree);
            	        }

            	        // MySQL.g:2557:22: ( EQUAL_OPERATOR )?
            	        {
            	            int alt836=2;
            	            switch ( LA(1) )
            	            {
            	                case EQUAL_OPERATOR:
            	                	{
            	                		alt836=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt836)
            	            {
            	        	case 1:
            	        	    // MySQL.g:2557:22: EQUAL_OPERATOR
            	        	    {
            	        	        EQUAL_OPERATOR2885 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_subpartition_definition14814);
            	        	        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;

            	            }
            	        }

            	        FOLLOWPUSH(FOLLOW_identifier_in_subpartition_definition14817);
            	        identifier2886=identifier(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulesubpartition_definitionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier2886.tree);

            	    }
            	    break;

                }
            }

            // MySQL.g:2558:3: ( NODEGROUP_SYMBOL ( EQUAL_OPERATOR )? identifier )?
            {
                int alt839=2;
                switch ( LA(1) )
                {
                    case NODEGROUP_SYMBOL:
                    	{
                    		alt839=1;
                    	}
                        break;
                }

                switch (alt839)
                {
            	case 1:
            	    // MySQL.g:2558:4: NODEGROUP_SYMBOL ( EQUAL_OPERATOR )? identifier
            	    {
            	        NODEGROUP_SYMBOL2887 = (pANTLR3_COMMON_TOKEN) MATCHT(NODEGROUP_SYMBOL, &FOLLOW_NODEGROUP_SYMBOL_in_subpartition_definition14824);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulesubpartition_definitionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        NODEGROUP_SYMBOL2887_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, NODEGROUP_SYMBOL2887));
            	        ADAPTOR->addChild(ADAPTOR, root_0, NODEGROUP_SYMBOL2887_tree);
            	        }

            	        // MySQL.g:2558:21: ( EQUAL_OPERATOR )?
            	        {
            	            int alt838=2;
            	            switch ( LA(1) )
            	            {
            	                case EQUAL_OPERATOR:
            	                	{
            	                		alt838=1;
            	                	}
            	                    break;
            	            }

            	            switch (alt838)
            	            {
            	        	case 1:
            	        	    // MySQL.g:2558:21: EQUAL_OPERATOR
            	        	    {
            	        	        EQUAL_OPERATOR2888 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_subpartition_definition14826);
            	        	        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_definition14829);
            	        identifier2889=identifier(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulesubpartition_definitionEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier2889.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:2561: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_SYMBOL2890;
    pANTLR3_COMMON_TOKEN    MAXVALUE_SYMBOL2892;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL2893;
    pANTLR3_COMMON_TOKEN    MAXVALUE_SYMBOL2895;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL2896;
    MySQLParser_expression_return expression2891;
    #undef	RETURN_TYPE_expression2891
    #define	RETURN_TYPE_expression2891 MySQLParser_expression_return

    MySQLParser_expression_return expression2894;
    #undef	RETURN_TYPE_expression2894
    #define	RETURN_TYPE_expression2894 MySQLParser_expression_return

    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL2890_tree;
    pANTLR3_BASE_TREE MAXVALUE_SYMBOL2892_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL2893_tree;
    pANTLR3_BASE_TREE MAXVALUE_SYMBOL2895_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL2896_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    OPEN_PAR_SYMBOL2890       = NULL;
    MAXVALUE_SYMBOL2892       = NULL;
    COMMA_SYMBOL2893       = NULL;
    MAXVALUE_SYMBOL2895       = NULL;
    CLOSE_PAR_SYMBOL2896       = NULL;
    expression2891.tree = NULL;

    expression2894.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    OPEN_PAR_SYMBOL2890_tree   = NULL;
    MAXVALUE_SYMBOL2892_tree   = NULL;
    COMMA_SYMBOL2893_tree   = NULL;
    MAXVALUE_SYMBOL2895_tree   = NULL;
    CLOSE_PAR_SYMBOL2896_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2561:21: ( OPEN_PAR_SYMBOL ( expression | MAXVALUE_SYMBOL ) ( COMMA_SYMBOL ( expression | MAXVALUE_SYMBOL ) )* CLOSE_PAR_SYMBOL )
        // MySQL.g:2562: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_SYMBOL2890 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_partition_value_list14840);
            if  (HASEXCEPTION())
            {
                goto rulepartition_value_listEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            OPEN_PAR_SYMBOL2890_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL2890));
            ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL2890_tree);
            }

            // MySQL.g:2562:18: ( expression | MAXVALUE_SYMBOL )
            {
                int alt840=2;
                {
                    int LA840_0 = LA(1);
                    if ( (LA840_0 == BITWISE_NOT_OPERATOR || LA840_0 == INTERVAL_SYMBOL || LA840_0 == LOGICAL_NOT_OPERATOR || LA840_0 == MINUS_OPERATOR || LA840_0 == NCHAR_TEXT || LA840_0 == NOT2_SYMBOL || LA840_0 == NOT_SYMBOL || LA840_0 == PLUS_OPERATOR || LA840_0 == SINGLE_QUOTED_TEXT || LA840_0 == UNDERSCORE_CHARSET))
                    {
                        alt840=1;
                    }
                    else if ( ((((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES)))||((!SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))))) && (LA840_0 == DOUBLE_QUOTED_TEXT))
                    {
                        alt840=1;
                    }
                    else if ( (LA840_0 == FALSE_SYMBOL || LA840_0 == FLOAT || ((LA840_0 >= HEXNUMBER) && (LA840_0 <= HEXSTRING)) || LA840_0 == INTEGER || LA840_0 == TRUE_SYMBOL))
                    {
                        alt840=1;
                    }
                    else if ( ((SERVER_VERSION >= 50003)) && (((LA840_0 >= BITNUMBER) && (LA840_0 <= BITSTRING))))
                    {
                        alt840=1;
                    }
                    else if ( (((LA840_0 >= ACTION_SYMBOL) && (LA840_0 <= PARTITION_SYMBOL)) || ((LA840_0 >= AT_AT_SIGN_SYMBOL) && (LA840_0 <= AT_SIGN_SYMBOL)) || LA840_0 == BACK_TICK_QUOTED_ID || LA840_0 == BINARY_SYMBOL || ((LA840_0 >= BIT_AND_SYMBOL) && (LA840_0 <= BIT_XOR_SYMBOL)) || ((LA840_0 >= CASE_SYMBOL) && (LA840_0 <= CAST_SYMBOL)) || LA840_0 == CHAR_SYMBOL || ((LA840_0 >= CONVERT_SYMBOL) && (LA840_0 <= COUNT_SYMBOL)) || LA840_0 == CURDATE_SYMBOL || LA840_0 == CURRENT_USER_SYMBOL || LA840_0 == CURTIME_SYMBOL || LA840_0 == DATABASE_SYMBOL || LA840_0 == DATE_ADD_SYMBOL || LA840_0 == DATE_SUB_SYMBOL || LA840_0 == DOT_SYMBOL || LA840_0 == EXISTS_SYMBOL || LA840_0 == EXTRACT_SYMBOL || LA840_0 == GROUP_CONCAT_SYMBOL || ((LA840_0 >= IDENTIFIER) && (LA840_0 <= IF_SYMBOL)) || LA840_0 == INSERT_SYMBOL || LA840_0 == LEFT_SYMBOL || LA840_0 == MATCH_SYMBOL || LA840_0 == MAX_SYMBOL || LA840_0 == MIN_SYMBOL || LA840_0 == MOD_SYMBOL || LA840_0 == NOW_SYMBOL || LA840_0 == NULL2_SYMBOL || LA840_0 == NULL_SYMBOL || ((LA840_0 >= OPEN_CURLY_SYMBOL) && (LA840_0 <= OPEN_PAR_SYMBOL)) || LA840_0 == PARAM_MARKER || LA840_0 == POSITION_SYMBOL || ((LA840_0 >= REPEAT_SYMBOL) && (LA840_0 <= REPLACE_SYMBOL)) || LA840_0 == RIGHT_SYMBOL || LA840_0 == STDDEV_SAMP_SYMBOL || LA840_0 == STD_SYMBOL || LA840_0 == SUBSTRING_SYMBOL || ((LA840_0 >= SUM_SYMBOL) && (LA840_0 <= SYSDATE_SYMBOL)) || LA840_0 == TRIM_SYMBOL || ((LA840_0 >= UTC_DATE_SYMBOL) && (LA840_0 <= VALUES_SYMBOL)) || LA840_0 == VARIANCE_SYMBOL || LA840_0 == VAR_SAMP_SYMBOL))
                    {
                        alt840=1;
                    }
                    else if ( (LA840_0 == MAXVALUE_SYMBOL))
                    {
                        alt840=2;
                    }
                    else
                    {
                        if (BACKTRACKING>0)
                        {
                            FAILEDFLAG = ANTLR3_TRUE;
                            return retval;
                        }


                        CONSTRUCTEX();
                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                        EXCEPTION->message      = (void *)"";
                        EXCEPTION->decisionNum  = 840;
                        EXCEPTION->state        = 0;


                        goto rulepartition_value_listEx;

                    }
                }
                switch (alt840)
                {
            	case 1:
            	    // MySQL.g:2562:19: expression
            	    {
            	        FOLLOWPUSH(FOLLOW_expression_in_partition_value_list14843);
            	        expression2891=expression(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulepartition_value_listEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2891.tree);

            	    }
            	    break;
            	case 2:
            	    // MySQL.g:2562:32: MAXVALUE_SYMBOL
            	    {
            	        MAXVALUE_SYMBOL2892 = (pANTLR3_COMMON_TOKEN) MATCHT(MAXVALUE_SYMBOL, &FOLLOW_MAXVALUE_SYMBOL_in_partition_value_list14847);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulepartition_value_listEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        MAXVALUE_SYMBOL2892_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MAXVALUE_SYMBOL2892));
            	        ADAPTOR->addChild(ADAPTOR, root_0, MAXVALUE_SYMBOL2892_tree);
            	        }

            	    }
            	    break;

                }
            }

            // MySQL.g:2562:49: ( COMMA_SYMBOL ( expression | MAXVALUE_SYMBOL ) )*

            for (;;)
            {
                int alt842=2;
                switch ( LA(1) )
                {
                case COMMA_SYMBOL:
                	{
                		alt842=1;
                	}
                    break;

                }

                switch (alt842)
                {
            	case 1:
            	    // MySQL.g:2562:50: COMMA_SYMBOL ( expression | MAXVALUE_SYMBOL )
            	    {
            	        COMMA_SYMBOL2893 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_partition_value_list14851);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulepartition_value_listEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        COMMA_SYMBOL2893_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL2893));
            	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL2893_tree);
            	        }

            	        // MySQL.g:2562:63: ( expression | MAXVALUE_SYMBOL )
            	        {
            	            int alt841=2;
            	            {
            	                int LA841_0 = LA(1);
            	                if ( (LA841_0 == BITWISE_NOT_OPERATOR || LA841_0 == INTERVAL_SYMBOL || LA841_0 == LOGICAL_NOT_OPERATOR || LA841_0 == MINUS_OPERATOR || LA841_0 == NCHAR_TEXT || LA841_0 == NOT2_SYMBOL || LA841_0 == NOT_SYMBOL || LA841_0 == PLUS_OPERATOR || LA841_0 == SINGLE_QUOTED_TEXT || LA841_0 == UNDERSCORE_CHARSET))
            	                {
            	                    alt841=1;
            	                }
            	                else if ( ((((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES)))||((!SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))))) && (LA841_0 == DOUBLE_QUOTED_TEXT))
            	                {
            	                    alt841=1;
            	                }
            	                else if ( (LA841_0 == FALSE_SYMBOL || LA841_0 == FLOAT || ((LA841_0 >= HEXNUMBER) && (LA841_0 <= HEXSTRING)) || LA841_0 == INTEGER || LA841_0 == TRUE_SYMBOL))
            	                {
            	                    alt841=1;
            	                }
            	                else if ( ((SERVER_VERSION >= 50003)) && (((LA841_0 >= BITNUMBER) && (LA841_0 <= BITSTRING))))
            	                {
            	                    alt841=1;
            	                }
            	                else if ( (((LA841_0 >= ACTION_SYMBOL) && (LA841_0 <= PARTITION_SYMBOL)) || ((LA841_0 >= AT_AT_SIGN_SYMBOL) && (LA841_0 <= AT_SIGN_SYMBOL)) || LA841_0 == BACK_TICK_QUOTED_ID || LA841_0 == BINARY_SYMBOL || ((LA841_0 >= BIT_AND_SYMBOL) && (LA841_0 <= BIT_XOR_SYMBOL)) || ((LA841_0 >= CASE_SYMBOL) && (LA841_0 <= CAST_SYMBOL)) || LA841_0 == CHAR_SYMBOL || ((LA841_0 >= CONVERT_SYMBOL) && (LA841_0 <= COUNT_SYMBOL)) || LA841_0 == CURDATE_SYMBOL || LA841_0 == CURRENT_USER_SYMBOL || LA841_0 == CURTIME_SYMBOL || LA841_0 == DATABASE_SYMBOL || LA841_0 == DATE_ADD_SYMBOL || LA841_0 == DATE_SUB_SYMBOL || LA841_0 == DOT_SYMBOL || LA841_0 == EXISTS_SYMBOL || LA841_0 == EXTRACT_SYMBOL || LA841_0 == GROUP_CONCAT_SYMBOL || ((LA841_0 >= IDENTIFIER) && (LA841_0 <= IF_SYMBOL)) || LA841_0 == INSERT_SYMBOL || LA841_0 == LEFT_SYMBOL || LA841_0 == MATCH_SYMBOL || LA841_0 == MAX_SYMBOL || LA841_0 == MIN_SYMBOL || LA841_0 == MOD_SYMBOL || LA841_0 == NOW_SYMBOL || LA841_0 == NULL2_SYMBOL || LA841_0 == NULL_SYMBOL || ((LA841_0 >= OPEN_CURLY_SYMBOL) && (LA841_0 <= OPEN_PAR_SYMBOL)) || LA841_0 == PARAM_MARKER || LA841_0 == POSITION_SYMBOL || ((LA841_0 >= REPEAT_SYMBOL) && (LA841_0 <= REPLACE_SYMBOL)) || LA841_0 == RIGHT_SYMBOL || LA841_0 == STDDEV_SAMP_SYMBOL || LA841_0 == STD_SYMBOL || LA841_0 == SUBSTRING_SYMBOL || ((LA841_0 >= SUM_SYMBOL) && (LA841_0 <= SYSDATE_SYMBOL)) || LA841_0 == TRIM_SYMBOL || ((LA841_0 >= UTC_DATE_SYMBOL) && (LA841_0 <= VALUES_SYMBOL)) || LA841_0 == VARIANCE_SYMBOL || LA841_0 == VAR_SAMP_SYMBOL))
            	                {
            	                    alt841=1;
            	                }
            	                else if ( (LA841_0 == MAXVALUE_SYMBOL))
            	                {
            	                    alt841=2;
            	                }
            	                else
            	                {
            	                    if (BACKTRACKING>0)
            	                    {
            	                        FAILEDFLAG = ANTLR3_TRUE;
            	                        return retval;
            	                    }


            	                    CONSTRUCTEX();
            	                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
            	                    EXCEPTION->message      = (void *)"";
            	                    EXCEPTION->decisionNum  = 841;
            	                    EXCEPTION->state        = 0;


            	                    goto rulepartition_value_listEx;

            	                }
            	            }
            	            switch (alt841)
            	            {
            	        	case 1:
            	        	    // MySQL.g:2562:64: expression
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_expression_in_partition_value_list14854);
            	        	        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:2562:77: MAXVALUE_SYMBOL
            	        	    {
            	        	        MAXVALUE_SYMBOL2895 = (pANTLR3_COMMON_TOKEN) MATCHT(MAXVALUE_SYMBOL, &FOLLOW_MAXVALUE_SYMBOL_in_partition_value_list14858);
            	        	        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;

            	            }
            	        }

            	    }
            	    break;

            	default:
            	    goto loop842;	/* break out of the loop */
            	    break;
                }
            }
            loop842: ; /* Jump out to here if this rule does not match */


            CLOSE_PAR_SYMBOL2896 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_partition_value_list14863);
            if  (HASEXCEPTION())
            {
                goto rulepartition_value_listEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            CLOSE_PAR_SYMBOL2896_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL2896));
            ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL2896_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:2565: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_SYMBOL2897;
    pANTLR3_COMMON_TOKEN    EQUAL_OPERATOR2898;
    MySQLParser_user_return user2899;
    #undef	RETURN_TYPE_user2899
    #define	RETURN_TYPE_user2899 MySQLParser_user_return

    pANTLR3_BASE_TREE DEFINER_SYMBOL2897_tree;
    pANTLR3_BASE_TREE EQUAL_OPERATOR2898_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    DEFINER_SYMBOL2897       = NULL;
    EQUAL_OPERATOR2898       = NULL;
    user2899.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    DEFINER_SYMBOL2897_tree   = NULL;
    EQUAL_OPERATOR2898_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2565:15: ( DEFINER_SYMBOL ^ EQUAL_OPERATOR user )
        // MySQL.g:2566:2: DEFINER_SYMBOL ^ EQUAL_OPERATOR user
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            DEFINER_SYMBOL2897 = (pANTLR3_COMMON_TOKEN) MATCHT(DEFINER_SYMBOL, &FOLLOW_DEFINER_SYMBOL_in_definer_clause14872);
            if  (HASEXCEPTION())
            {
                goto ruledefiner_clauseEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            DEFINER_SYMBOL2897_tree = 
            (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DEFINER_SYMBOL2897))
            ;
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->becomeRoot(ADAPTOR, DEFINER_SYMBOL2897_tree, root_0));
            }

            EQUAL_OPERATOR2898 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_definer_clause14875);
            if  (HASEXCEPTION())
            {
                goto ruledefiner_clauseEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            EQUAL_OPERATOR2898_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR2898));
            ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR2898_tree);
            }

            FOLLOWPUSH(FOLLOW_user_in_definer_clause14877);
            user2899=user(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruledefiner_clauseEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, user2899.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:2569: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_SYMBOL2900;
    pANTLR3_COMMON_TOKEN    EXISTS_SYMBOL2901;

    pANTLR3_BASE_TREE IF_SYMBOL2900_tree;
    pANTLR3_BASE_TREE EXISTS_SYMBOL2901_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    IF_SYMBOL2900       = NULL;
    EXISTS_SYMBOL2901       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    IF_SYMBOL2900_tree   = NULL;
    EXISTS_SYMBOL2901_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2569:10: ( IF_SYMBOL EXISTS_SYMBOL )
        // MySQL.g:2570:2: IF_SYMBOL EXISTS_SYMBOL
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            IF_SYMBOL2900 = (pANTLR3_COMMON_TOKEN) MATCHT(IF_SYMBOL, &FOLLOW_IF_SYMBOL_in_if_exists14886);
            if  (HASEXCEPTION())
            {
                goto ruleif_existsEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            IF_SYMBOL2900_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, IF_SYMBOL2900));
            ADAPTOR->addChild(ADAPTOR, root_0, IF_SYMBOL2900_tree);
            }

            EXISTS_SYMBOL2901 = (pANTLR3_COMMON_TOKEN) MATCHT(EXISTS_SYMBOL, &FOLLOW_EXISTS_SYMBOL_in_if_exists14888);
            if  (HASEXCEPTION())
            {
                goto ruleif_existsEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            EXISTS_SYMBOL2901_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EXISTS_SYMBOL2901));
            ADAPTOR->addChild(ADAPTOR, root_0, EXISTS_SYMBOL2901_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:2573: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_SYMBOL2902;
    pANTLR3_COMMON_TOKEN    NOT_SYMBOL2903;
    pANTLR3_COMMON_TOKEN    EXISTS_SYMBOL2904;

    pANTLR3_BASE_TREE IF_SYMBOL2902_tree;
    pANTLR3_BASE_TREE NOT_SYMBOL2903_tree;
    pANTLR3_BASE_TREE EXISTS_SYMBOL2904_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    IF_SYMBOL2902       = NULL;
    NOT_SYMBOL2903       = NULL;
    EXISTS_SYMBOL2904       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    IF_SYMBOL2902_tree   = NULL;
    NOT_SYMBOL2903_tree   = NULL;
    EXISTS_SYMBOL2904_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2573:14: ( IF_SYMBOL NOT_SYMBOL EXISTS_SYMBOL )
        // MySQL.g:2574:2: IF_SYMBOL NOT_SYMBOL EXISTS_SYMBOL
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            IF_SYMBOL2902 = (pANTLR3_COMMON_TOKEN) MATCHT(IF_SYMBOL, &FOLLOW_IF_SYMBOL_in_if_not_exists14897);
            if  (HASEXCEPTION())
            {
                goto ruleif_not_existsEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            IF_SYMBOL2902_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, IF_SYMBOL2902));
            ADAPTOR->addChild(ADAPTOR, root_0, IF_SYMBOL2902_tree);
            }

            NOT_SYMBOL2903 = (pANTLR3_COMMON_TOKEN) MATCHT(NOT_SYMBOL, &FOLLOW_NOT_SYMBOL_in_if_not_exists14899);
            if  (HASEXCEPTION())
            {
                goto ruleif_not_existsEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            NOT_SYMBOL2903_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, NOT_SYMBOL2903));
            ADAPTOR->addChild(ADAPTOR, root_0, NOT_SYMBOL2903_tree);
            }

            EXISTS_SYMBOL2904 = (pANTLR3_COMMON_TOKEN) MATCHT(EXISTS_SYMBOL, &FOLLOW_EXISTS_SYMBOL_in_if_not_exists14901);
            if  (HASEXCEPTION())
            {
                goto ruleif_not_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_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:2577: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    set2905;
    MySQLParser_function_parameter_return function_parameter2906;
    #undef	RETURN_TYPE_function_parameter2906
    #define	RETURN_TYPE_function_parameter2906 MySQLParser_function_parameter_return

    pANTLR3_BASE_TREE set2905_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    set2905       = NULL;
    function_parameter2906.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    set2905_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2577:20: ( ( IN_SYMBOL | OUT_SYMBOL | INOUT_SYMBOL )? function_parameter )
        // MySQL.g:2578:2: ( IN_SYMBOL | OUT_SYMBOL | INOUT_SYMBOL )? function_parameter
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            // MySQL.g:2578:2: ( IN_SYMBOL | OUT_SYMBOL | INOUT_SYMBOL )?
            {
                int alt843=2;
                switch ( LA(1) )
                {
                    case INOUT_SYMBOL:
                    case IN_SYMBOL:
                    case OUT_SYMBOL:
                    	{
                    		alt843=1;
                    	}
                        break;
                }

                switch (alt843)
                {
            	case 1:
            	    // MySQL.g:
            	    {
            	        set2905=(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, set2905))
            	            );
            	            PERRORRECOVERY=ANTLR3_FALSE;
            	            FAILEDFLAG=ANTLR3_FALSE;

            	        }
            	        else
            	        {
            	            if (BACKTRACKING>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_parameter14923);
            function_parameter2906=function_parameter(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruleprocedure_parameterEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, function_parameter2906.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:2581: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 identifier2907;
    #undef	RETURN_TYPE_identifier2907
    #define	RETURN_TYPE_identifier2907 MySQLParser_identifier_return

    MySQLParser_data_type_return data_type2908;
    #undef	RETURN_TYPE_data_type2908
    #define	RETURN_TYPE_data_type2908 MySQLParser_data_type_return


    /* Initialize rule variables
     */

    root_0 = NULL;

    identifier2907.tree = NULL;

    data_type2908.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;




    retval.tree  = NULL;

    {
        // MySQL.g:2581:19: ( identifier data_type )
        // MySQL.g:2582:2: identifier data_type
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            FOLLOWPUSH(FOLLOW_identifier_in_function_parameter14932);
            identifier2907=identifier(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulefunction_parameterEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier2907.tree);

            FOLLOWPUSH(FOLLOW_data_type_in_function_parameter14934);
            data_type2908=data_type(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulefunction_parameterEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, data_type2908.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:2585: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_variants2909;
    #undef	RETURN_TYPE_table_identifier_variants2909
    #define	RETURN_TYPE_table_identifier_variants2909 MySQLParser_table_identifier_variants_return

    pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_table_identifier_variants;
    /* Initialize rule variables
     */

    root_0 = NULL;

    table_identifier_variants2909.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:2585:17: ( table_identifier_variants -> ^( TABLE_REF_ID table_identifier_variants ) )
        // MySQL.g:2586:2: table_identifier_variants
        {
            FOLLOWPUSH(FOLLOW_table_identifier_variants_in_table_identifier14943);
            table_identifier_variants2909=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_variants2909.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;
            	// 2586:28: -> ^( TABLE_REF_ID table_identifier_variants )
            	{
            	    // MySQL.g:2586: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:2589: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_SYMBOL2911;
    pANTLR3_COMMON_TOKEN    DOT_SYMBOL2913;
    MySQLParser_identifier_return identifier2910;
    #undef	RETURN_TYPE_identifier2910
    #define	RETURN_TYPE_identifier2910 MySQLParser_identifier_return

    MySQLParser_identifier_return identifier2912;
    #undef	RETURN_TYPE_identifier2912
    #define	RETURN_TYPE_identifier2912 MySQLParser_identifier_return

    MySQLParser_identifier_return identifier2914;
    #undef	RETURN_TYPE_identifier2914
    #define	RETURN_TYPE_identifier2914 MySQLParser_identifier_return

    pANTLR3_BASE_TREE DOT_SYMBOL2911_tree;
    pANTLR3_BASE_TREE DOT_SYMBOL2913_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    DOT_SYMBOL2911       = NULL;
    DOT_SYMBOL2913       = NULL;
    identifier2910.tree = NULL;

    identifier2912.tree = NULL;

    identifier2914.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    DOT_SYMBOL2911_tree   = NULL;
    DOT_SYMBOL2913_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:2589:26: ( identifier ( options {greedy=true; } : DOT_SYMBOL identifier )? | DOT_SYMBOL identifier )

            ANTLR3_UINT32 alt845;

            alt845=2;

            {
                int LA845_0 = LA(1);
                if ( (LA845_0 == BACK_TICK_QUOTED_ID || LA845_0 == IDENTIFIER))
                {
                    alt845=1;
                }
                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA845_0 == DOUBLE_QUOTED_TEXT))
                {
                    alt845=1;
                }
                else if ( (((LA845_0 >= ACTION_SYMBOL) && (LA845_0 <= PARTITION_SYMBOL))))
                {
                    alt845=1;
                }
                else if ( (LA845_0 == DOT_SYMBOL))
                {
                    alt845=2;
                }
                else
                {
                    if (BACKTRACKING>0)
                    {
                        FAILEDFLAG = ANTLR3_TRUE;
                        return retval;
                    }


                    CONSTRUCTEX();
                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    EXCEPTION->message      = (void *)"";
                    EXCEPTION->decisionNum  = 845;
                    EXCEPTION->state        = 0;


                    goto ruletable_identifier_variantsEx;

                }
            }
            switch (alt845)
            {
        	case 1:
        	    // MySQL.g:2592:2: identifier ( options {greedy=true; } : DOT_SYMBOL identifier )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_identifier_in_table_identifier_variants14964);
        	        identifier2910=identifier(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruletable_identifier_variantsEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier2910.tree);

        	        // MySQL.g:2592:13: ( options {greedy=true; } : DOT_SYMBOL identifier )?
        	        {
        	            int alt844=2;
        	            switch ( LA(1) )
        	            {
        	                case DOT_SYMBOL:
        	                	{
        	                		alt844=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt844)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2592:43: DOT_SYMBOL identifier
        	        	    {
        	        	        DOT_SYMBOL2911 = (pANTLR3_COMMON_TOKEN) MATCHT(DOT_SYMBOL, &FOLLOW_DOT_SYMBOL_in_table_identifier_variants14980);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruletable_identifier_variantsEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        DOT_SYMBOL2911_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DOT_SYMBOL2911));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, DOT_SYMBOL2911_tree);
        	        	        }

        	        	        FOLLOWPUSH(FOLLOW_identifier_in_table_identifier_variants14982);
        	        	        identifier2912=identifier(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruletable_identifier_variantsEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier2912.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:2593:4: DOT_SYMBOL identifier
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        DOT_SYMBOL2913 = (pANTLR3_COMMON_TOKEN) MATCHT(DOT_SYMBOL, &FOLLOW_DOT_SYMBOL_in_table_identifier_variants14989);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruletable_identifier_variantsEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        DOT_SYMBOL2913_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DOT_SYMBOL2913));
        	        ADAPTOR->addChild(ADAPTOR, root_0, DOT_SYMBOL2913_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_identifier_in_table_identifier_variants14991);
        	        identifier2914=identifier(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruletable_identifier_variantsEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier2914.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:2596: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_SYMBOL2916;
    MySQLParser_table_identifier_return table_identifier2915;
    #undef	RETURN_TYPE_table_identifier2915
    #define	RETURN_TYPE_table_identifier2915 MySQLParser_table_identifier_return

    MySQLParser_table_identifier_return table_identifier2917;
    #undef	RETURN_TYPE_table_identifier2917
    #define	RETURN_TYPE_table_identifier2917 MySQLParser_table_identifier_return

    pANTLR3_BASE_TREE COMMA_SYMBOL2916_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    COMMA_SYMBOL2916       = NULL;
    table_identifier2915.tree = NULL;

    table_identifier2917.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    COMMA_SYMBOL2916_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2596:22: ( table_identifier ( COMMA_SYMBOL table_identifier )* )
        // MySQL.g:2597:2: table_identifier ( COMMA_SYMBOL table_identifier )*
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            FOLLOWPUSH(FOLLOW_table_identifier_in_table_identifier_list15000);
            table_identifier2915=table_identifier(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruletable_identifier_listEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, table_identifier2915.tree);

            // MySQL.g:2597:19: ( COMMA_SYMBOL table_identifier )*

            for (;;)
            {
                int alt846=2;
                switch ( LA(1) )
                {
                case COMMA_SYMBOL:
                	{
                		alt846=1;
                	}
                    break;

                }

                switch (alt846)
                {
            	case 1:
            	    // MySQL.g:2597:20: COMMA_SYMBOL table_identifier
            	    {
            	        COMMA_SYMBOL2916 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_table_identifier_list15003);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruletable_identifier_listEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        COMMA_SYMBOL2916_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL2916));
            	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL2916_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_table_identifier_in_table_identifier_list15005);
            	        table_identifier2917=table_identifier(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruletable_identifier_listEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, table_identifier2917.tree);

            	    }
            	    break;

            	default:
            	    goto loop846;	/* break out of the loop */
            	    break;
                }
            }
            loop846: ; /* 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:2600: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_SYMBOL2919;
    MySQLParser_qualified_identifier_return qualified_identifier2918;
    #undef	RETURN_TYPE_qualified_identifier2918
    #define	RETURN_TYPE_qualified_identifier2918 MySQLParser_qualified_identifier_return

    MySQLParser_qualified_identifier_return qualified_identifier2920;
    #undef	RETURN_TYPE_qualified_identifier2920
    #define	RETURN_TYPE_qualified_identifier2920 MySQLParser_qualified_identifier_return

    pANTLR3_BASE_TREE COMMA_SYMBOL2919_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    COMMA_SYMBOL2919       = NULL;
    qualified_identifier2918.tree = NULL;

    qualified_identifier2920.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    COMMA_SYMBOL2919_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2600:26: ( qualified_identifier ( COMMA_SYMBOL qualified_identifier )* )
        // MySQL.g:2601:2: qualified_identifier ( COMMA_SYMBOL qualified_identifier )*
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            FOLLOWPUSH(FOLLOW_qualified_identifier_in_qualified_identifier_list15023);
            qualified_identifier2918=qualified_identifier(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulequalified_identifier_listEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, qualified_identifier2918.tree);

            // MySQL.g:2601:23: ( COMMA_SYMBOL qualified_identifier )*

            for (;;)
            {
                int alt847=2;
                switch ( LA(1) )
                {
                case COMMA_SYMBOL:
                	{
                		alt847=1;
                	}
                    break;

                }

                switch (alt847)
                {
            	case 1:
            	    // MySQL.g:2601:24: COMMA_SYMBOL qualified_identifier
            	    {
            	        COMMA_SYMBOL2919 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_qualified_identifier_list15026);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulequalified_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_qualified_identifier_in_qualified_identifier_list15028);
            	        qualified_identifier2920=qualified_identifier(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulequalified_identifier_listEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, qualified_identifier2920.tree);

            	    }
            	    break;

            	default:
            	    goto loop847;	/* break out of the loop */
            	    break;
                }
            }
            loop847: ; /* 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:2604: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_SYMBOL2922;
    MySQLParser_identifier_return identifier2921;
    #undef	RETURN_TYPE_identifier2921
    #define	RETURN_TYPE_identifier2921 MySQLParser_identifier_return

    MySQLParser_identifier_return identifier2923;
    #undef	RETURN_TYPE_identifier2923
    #define	RETURN_TYPE_identifier2923 MySQLParser_identifier_return

    pANTLR3_BASE_TREE DOT_SYMBOL2922_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    DOT_SYMBOL2922       = NULL;
    identifier2921.tree = NULL;

    identifier2923.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    DOT_SYMBOL2922_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2604:21: ( identifier ( DOT_SYMBOL identifier )? )
        // MySQL.g:2605:2: identifier ( DOT_SYMBOL identifier )?
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            FOLLOWPUSH(FOLLOW_identifier_in_qualified_identifier15046);
            identifier2921=identifier(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulequalified_identifierEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier2921.tree);

            // MySQL.g:2605:13: ( DOT_SYMBOL identifier )?
            {
                int alt848=2;
                switch ( LA(1) )
                {
                    case DOT_SYMBOL:
                    	{
                    		{
                    		    int LA848_1 = LA(2);
                    		    if ( (((LA848_1 >= ACTION_SYMBOL) && (LA848_1 <= PARTITION_SYMBOL)) || LA848_1 == BACK_TICK_QUOTED_ID || LA848_1 == DOUBLE_QUOTED_TEXT || LA848_1 == IDENTIFIER))
                    		    {
                    		        alt848=1;
                    		    }
                    		}
                    	}
                        break;
                }

                switch (alt848)
                {
            	case 1:
            	    // MySQL.g:2605:14: DOT_SYMBOL identifier
            	    {
            	        DOT_SYMBOL2922 = (pANTLR3_COMMON_TOKEN) MATCHT(DOT_SYMBOL, &FOLLOW_DOT_SYMBOL_in_qualified_identifier15049);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulequalified_identifierEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        DOT_SYMBOL2922_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DOT_SYMBOL2922));
            	        ADAPTOR->addChild(ADAPTOR, root_0, DOT_SYMBOL2922_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_identifier_in_qualified_identifier15051);
            	        identifier2923=identifier(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulequalified_identifierEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier2923.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:2608: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_SYMBOL2925;
    pANTLR3_COMMON_TOKEN    MULT_OPERATOR2926;
    MySQLParser_qualified_identifier_return qualified_identifier2924;
    #undef	RETURN_TYPE_qualified_identifier2924
    #define	RETURN_TYPE_qualified_identifier2924 MySQLParser_qualified_identifier_return

    pANTLR3_BASE_TREE DOT_SYMBOL2925_tree;
    pANTLR3_BASE_TREE MULT_OPERATOR2926_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    DOT_SYMBOL2925       = NULL;
    MULT_OPERATOR2926       = NULL;
    qualified_identifier2924.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    DOT_SYMBOL2925_tree   = NULL;
    MULT_OPERATOR2926_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2608:35: ( qualified_identifier DOT_SYMBOL MULT_OPERATOR )
        // MySQL.g:2609:2: qualified_identifier DOT_SYMBOL MULT_OPERATOR
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            FOLLOWPUSH(FOLLOW_qualified_identifier_in_qualified_identifier_with_wildcard15062);
            qualified_identifier2924=qualified_identifier(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulequalified_identifier_with_wildcardEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, qualified_identifier2924.tree);

            DOT_SYMBOL2925 = (pANTLR3_COMMON_TOKEN) MATCHT(DOT_SYMBOL, &FOLLOW_DOT_SYMBOL_in_qualified_identifier_with_wildcard15064);
            if  (HASEXCEPTION())
            {
                goto rulequalified_identifier_with_wildcardEx;
            }
            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);
            }

            MULT_OPERATOR2926 = (pANTLR3_COMMON_TOKEN) MATCHT(MULT_OPERATOR, &FOLLOW_MULT_OPERATOR_in_qualified_identifier_with_wildcard15066);
            if  (HASEXCEPTION())
            {
                goto rulequalified_identifier_with_wildcardEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            MULT_OPERATOR2926_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, MULT_OPERATOR2926));
            ADAPTOR->addChild(ADAPTOR, root_0, MULT_OPERATOR2926_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:2614: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_identifier2927;
    #undef	RETURN_TYPE_qualified_identifier2927
    #define	RETURN_TYPE_qualified_identifier2927 MySQLParser_qualified_identifier_return

    pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_qualified_identifier;
    /* Initialize rule variables
     */

    root_0 = NULL;

    qualified_identifier2927.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:2614:13: ( qualified_identifier -> ^( TABLE_REF_ID qualified_identifier ) )
        // MySQL.g:2615:2: qualified_identifier
        {
            FOLLOWPUSH(FOLLOW_qualified_identifier_in_target_table15084);
            qualified_identifier2927=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_identifier2927.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;
            	// 2615:23: -> ^( TABLE_REF_ID qualified_identifier )
            	{
            	    // MySQL.g:2615: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:2618: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_SYMBOL2929;
    pANTLR3_COMMON_TOKEN    MULT_OPERATOR2930;
    MySQLParser_qualified_identifier_return qualified_identifier2928;
    #undef	RETURN_TYPE_qualified_identifier2928
    #define	RETURN_TYPE_qualified_identifier2928 MySQLParser_qualified_identifier_return

    pANTLR3_BASE_TREE DOT_SYMBOL2929_tree;
    pANTLR3_BASE_TREE MULT_OPERATOR2930_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_SYMBOL2929       = NULL;
    MULT_OPERATOR2930       = NULL;
    qualified_identifier2928.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    DOT_SYMBOL2929_tree   = NULL;
    MULT_OPERATOR2930_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:2618:36: ( qualified_identifier ( DOT_SYMBOL MULT_OPERATOR )? -> ^( TABLE_REF_ID qualified_identifier ( DOT_SYMBOL MULT_OPERATOR )? ) )
        // MySQL.g:2619:2: qualified_identifier ( DOT_SYMBOL MULT_OPERATOR )?
        {
            FOLLOWPUSH(FOLLOW_qualified_identifier_in_target_table_with_optional_wildcard15102);
            qualified_identifier2928=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_identifier2928.tree, NULL); }

            // MySQL.g:2619:23: ( DOT_SYMBOL MULT_OPERATOR )?
            {
                int alt849=2;
                switch ( LA(1) )
                {
                    case DOT_SYMBOL:
                    	{
                    		alt849=1;
                    	}
                        break;
                }

                switch (alt849)
                {
            	case 1:
            	    // MySQL.g:2619:24: DOT_SYMBOL MULT_OPERATOR
            	    {
            	        DOT_SYMBOL2929 = (pANTLR3_COMMON_TOKEN) MATCHT(DOT_SYMBOL, &FOLLOW_DOT_SYMBOL_in_target_table_with_optional_wildcard15105);
            	        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_SYMBOL2929, NULL); }


            	        MULT_OPERATOR2930 = (pANTLR3_COMMON_TOKEN) MATCHT(MULT_OPERATOR, &FOLLOW_MULT_OPERATOR_in_target_table_with_optional_wildcard15107);
            	        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_OPERATOR2930, NULL); }


            	    }
            	    break;

                }
            }

            /* AST REWRITE
             * elements          : MULT_OPERATOR, qualified_identifier, 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;
            	// 2619:51: -> ^( TABLE_REF_ID qualified_identifier ( DOT_SYMBOL MULT_OPERATOR )? )
            	{
            	    // MySQL.g:2619: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:2619: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:2622: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_OPERATOR2932;
    MySQLParser_field_name_return field_name2931;
    #undef	RETURN_TYPE_field_name2931
    #define	RETURN_TYPE_field_name2931 MySQLParser_field_name_return

    MySQLParser_expression_return expression2933;
    #undef	RETURN_TYPE_expression2933
    #define	RETURN_TYPE_expression2933 MySQLParser_expression_return

    pANTLR3_BASE_TREE EQUAL_OPERATOR2932_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    EQUAL_OPERATOR2932       = NULL;
    field_name2931.tree = NULL;

    expression2933.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    EQUAL_OPERATOR2932_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2622:18: ( field_name EQUAL_OPERATOR expression )
        // MySQL.g:2623:2: field_name EQUAL_OPERATOR expression
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            FOLLOWPUSH(FOLLOW_field_name_in_column_assignment15134);
            field_name2931=field_name(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulecolumn_assignmentEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, field_name2931.tree);

            EQUAL_OPERATOR2932 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_column_assignment15136);
            if  (HASEXCEPTION())
            {
                goto rulecolumn_assignmentEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            EQUAL_OPERATOR2932_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR2932));
            ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR2932_tree);
            }

            FOLLOWPUSH(FOLLOW_expression_in_column_assignment15138);
            expression2933=expression(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulecolumn_assignmentEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2933.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:2626: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_SYMBOL2935;
    MySQLParser_field_name_return field_name2934;
    #undef	RETURN_TYPE_field_name2934
    #define	RETURN_TYPE_field_name2934 MySQLParser_field_name_return

    MySQLParser_field_name_return field_name2936;
    #undef	RETURN_TYPE_field_name2936
    #define	RETURN_TYPE_field_name2936 MySQLParser_field_name_return

    pANTLR3_BASE_TREE COMMA_SYMBOL2935_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    COMMA_SYMBOL2935       = NULL;
    field_name2934.tree = NULL;

    field_name2936.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    COMMA_SYMBOL2935_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2626:16: ( field_name ( COMMA_SYMBOL field_name )* )
        // MySQL.g:2627:2: field_name ( COMMA_SYMBOL field_name )*
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            FOLLOWPUSH(FOLLOW_field_name_in_field_name_list15147);
            field_name2934=field_name(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulefield_name_listEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, field_name2934.tree);

            // MySQL.g:2627:13: ( COMMA_SYMBOL field_name )*

            for (;;)
            {
                int alt850=2;
                switch ( LA(1) )
                {
                case COMMA_SYMBOL:
                	{
                		alt850=1;
                	}
                    break;

                }

                switch (alt850)
                {
            	case 1:
            	    // MySQL.g:2627:14: COMMA_SYMBOL field_name
            	    {
            	        COMMA_SYMBOL2935 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_field_name_list15150);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulefield_name_listEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        COMMA_SYMBOL2935_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL2935));
            	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL2935_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_field_name_in_field_name_list15152);
            	        field_name2936=field_name(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulefield_name_listEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, field_name2936.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 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:2630: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_entry2937;
    #undef	RETURN_TYPE_field_name_entry2937
    #define	RETURN_TYPE_field_name_entry2937 MySQLParser_field_name_entry_return

    pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_field_name_entry;
    /* Initialize rule variables
     */

    root_0 = NULL;

    field_name_entry2937.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:2630:11: ( field_name_entry -> ^( FIELD_REF_ID field_name_entry ) )
        // MySQL.g:2631:2: field_name_entry
        {
            FOLLOWPUSH(FOLLOW_field_name_entry_in_field_name15163);
            field_name_entry2937=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_entry2937.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;
            	// 2631:19: -> ^( FIELD_REF_ID field_name_entry )
            	{
            	    // MySQL.g:2631: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:2635: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_SYMBOL2939;
    pANTLR3_COMMON_TOKEN    DOT_SYMBOL2941;
    MySQLParser_identifier_return identifier2938;
    #undef	RETURN_TYPE_identifier2938
    #define	RETURN_TYPE_identifier2938 MySQLParser_identifier_return

    MySQLParser_identifier_return identifier2940;
    #undef	RETURN_TYPE_identifier2940
    #define	RETURN_TYPE_identifier2940 MySQLParser_identifier_return

    MySQLParser_identifier_return identifier2942;
    #undef	RETURN_TYPE_identifier2942
    #define	RETURN_TYPE_identifier2942 MySQLParser_identifier_return

    pANTLR3_BASE_TREE DOT_SYMBOL2939_tree;
    pANTLR3_BASE_TREE DOT_SYMBOL2941_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    DOT_SYMBOL2939       = NULL;
    DOT_SYMBOL2941       = NULL;
    identifier2938.tree = NULL;

    identifier2940.tree = NULL;

    identifier2942.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    DOT_SYMBOL2939_tree   = NULL;
    DOT_SYMBOL2941_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2635:17: ( ( ( identifier )? DOT_SYMBOL ( identifier DOT_SYMBOL )? )? identifier )
        // MySQL.g:2636:2: ( ( identifier )? DOT_SYMBOL ( identifier DOT_SYMBOL )? )? identifier
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            // MySQL.g:2636:2: ( ( identifier )? DOT_SYMBOL ( identifier DOT_SYMBOL )? )?
            {
                int alt853=2;
                {
                    int LA853_0 = LA(1);
                    if ( (LA853_0 == IDENTIFIER))
                    {
                        switch ( LA(2) )
                        {
                            case DOT_SYMBOL:
                            	{
                            		alt853=1;
                            	}
                                break;
                        }

                    }
                    else if ( (LA853_0 == BACK_TICK_QUOTED_ID))
                    {
                        switch ( LA(2) )
                        {
                            case DOT_SYMBOL:
                            	{
                            		alt853=1;
                            	}
                                break;
                        }

                    }
                    else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA853_0 == DOUBLE_QUOTED_TEXT))
                    {
                        {
                            int LA853_3 = LA(2);
                            if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA853_3 == DOT_SYMBOL))
                            {
                                alt853=1;
                            }
                        }
                    }
                    else if ( (((LA853_0 >= ACTION_SYMBOL) && (LA853_0 <= YEAR_SYMBOL))))
                    {
                        switch ( LA(2) )
                        {
                            case DOT_SYMBOL:
                            	{
                            		alt853=1;
                            	}
                                break;
                        }

                    }
                    else if ( (LA853_0 == PARTITION_SYMBOL))
                    {
                        switch ( LA(2) )
                        {
                            case DOT_SYMBOL:
                            	{
                            		alt853=1;
                            	}
                                break;
                        }

                    }
                    else if ( (((LA853_0 >= ASCII_SYMBOL) && (LA853_0 <= XA_SYMBOL))))
                    {
                        switch ( LA(2) )
                        {
                            case DOT_SYMBOL:
                            	{
                            		alt853=1;
                            	}
                                break;
                        }

                    }
                    else if ( (LA853_0 == DOT_SYMBOL))
                    {
                        alt853=1;
                    }
                }
                switch (alt853)
                {
            	case 1:
            	    // MySQL.g:2636:3: ( identifier )? DOT_SYMBOL ( identifier DOT_SYMBOL )?
            	    {
            	        // MySQL.g:2636:3: ( identifier )?
            	        {
            	            int alt851=2;
            	            {
            	                int LA851_0 = LA(1);
            	                if ( (LA851_0 == BACK_TICK_QUOTED_ID || LA851_0 == IDENTIFIER))
            	                {
            	                    alt851=1;
            	                }
            	                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA851_0 == DOUBLE_QUOTED_TEXT))
            	                {
            	                    alt851=1;
            	                }
            	                else if ( (((LA851_0 >= ACTION_SYMBOL) && (LA851_0 <= PARTITION_SYMBOL))))
            	                {
            	                    alt851=1;
            	                }
            	            }
            	            switch (alt851)
            	            {
            	        	case 1:
            	        	    // MySQL.g:2636:3: identifier
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_identifier_in_field_name_entry15182);
            	        	        identifier2938=identifier(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulefield_name_entryEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier2938.tree);

            	        	    }
            	        	    break;

            	            }
            	        }

            	        DOT_SYMBOL2939 = (pANTLR3_COMMON_TOKEN) MATCHT(DOT_SYMBOL, &FOLLOW_DOT_SYMBOL_in_field_name_entry15185);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulefield_name_entryEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        DOT_SYMBOL2939_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DOT_SYMBOL2939));
            	        ADAPTOR->addChild(ADAPTOR, root_0, DOT_SYMBOL2939_tree);
            	        }

            	        // MySQL.g:2636:26: ( identifier DOT_SYMBOL )?
            	        {
            	            int alt852=2;
            	            {
            	                int LA852_0 = LA(1);
            	                if ( (LA852_0 == IDENTIFIER))
            	                {
            	                    switch ( LA(2) )
            	                    {
            	                        case DOT_SYMBOL:
            	                        	{
            	                        		alt852=1;
            	                        	}
            	                            break;
            	                    }

            	                }
            	                else if ( (LA852_0 == BACK_TICK_QUOTED_ID))
            	                {
            	                    switch ( LA(2) )
            	                    {
            	                        case DOT_SYMBOL:
            	                        	{
            	                        		alt852=1;
            	                        	}
            	                            break;
            	                    }

            	                }
            	                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA852_0 == DOUBLE_QUOTED_TEXT))
            	                {
            	                    {
            	                        int LA852_3 = LA(2);
            	                        if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA852_3 == DOT_SYMBOL))
            	                        {
            	                            alt852=1;
            	                        }
            	                    }
            	                }
            	                else if ( (((LA852_0 >= ACTION_SYMBOL) && (LA852_0 <= YEAR_SYMBOL))))
            	                {
            	                    switch ( LA(2) )
            	                    {
            	                        case DOT_SYMBOL:
            	                        	{
            	                        		alt852=1;
            	                        	}
            	                            break;
            	                    }

            	                }
            	                else if ( (LA852_0 == PARTITION_SYMBOL))
            	                {
            	                    switch ( LA(2) )
            	                    {
            	                        case DOT_SYMBOL:
            	                        	{
            	                        		alt852=1;
            	                        	}
            	                            break;
            	                    }

            	                }
            	                else if ( (((LA852_0 >= ASCII_SYMBOL) && (LA852_0 <= XA_SYMBOL))))
            	                {
            	                    switch ( LA(2) )
            	                    {
            	                        case DOT_SYMBOL:
            	                        	{
            	                        		alt852=1;
            	                        	}
            	                            break;
            	                    }

            	                }
            	            }
            	            switch (alt852)
            	            {
            	        	case 1:
            	        	    // MySQL.g:2636:27: identifier DOT_SYMBOL
            	        	    {
            	        	        FOLLOWPUSH(FOLLOW_identifier_in_field_name_entry15188);
            	        	        identifier2940=identifier(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulefield_name_entryEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier2940.tree);

            	        	        DOT_SYMBOL2941 = (pANTLR3_COMMON_TOKEN) MATCHT(DOT_SYMBOL, &FOLLOW_DOT_SYMBOL_in_field_name_entry15190);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto rulefield_name_entryEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        DOT_SYMBOL2941_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DOT_SYMBOL2941));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, DOT_SYMBOL2941_tree);
            	        	        }

            	        	    }
            	        	    break;

            	            }
            	        }

            	    }
            	    break;

                }
            }

            FOLLOWPUSH(FOLLOW_identifier_in_field_name_entry15196);
            identifier2942=identifier(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulefield_name_entryEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier2942.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:2639: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_SYMBOL2944;
    MySQLParser_column_assignment_with_default_return column_assignment_with_default2943;
    #undef	RETURN_TYPE_column_assignment_with_default2943
    #define	RETURN_TYPE_column_assignment_with_default2943 MySQLParser_column_assignment_with_default_return

    MySQLParser_column_assignment_with_default_return column_assignment_with_default2945;
    #undef	RETURN_TYPE_column_assignment_with_default2945
    #define	RETURN_TYPE_column_assignment_with_default2945 MySQLParser_column_assignment_with_default_return

    pANTLR3_BASE_TREE COMMA_SYMBOL2944_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_SYMBOL2944       = NULL;
    column_assignment_with_default2943.tree = NULL;

    column_assignment_with_default2945.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    COMMA_SYMBOL2944_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:2639: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:2640:2: column_assignment_with_default ( COMMA_SYMBOL column_assignment_with_default )*
        {
            FOLLOWPUSH(FOLLOW_column_assignment_with_default_in_column_assignment_list_with_default15205);
            column_assignment_with_default2943=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_default2943.tree, NULL); }

            // MySQL.g:2640:33: ( COMMA_SYMBOL column_assignment_with_default )*

            for (;;)
            {
                int alt854=2;
                switch ( LA(1) )
                {
                case COMMA_SYMBOL:
                	{
                		alt854=1;
                	}
                    break;

                }

                switch (alt854)
                {
            	case 1:
            	    // MySQL.g:2640:34: COMMA_SYMBOL column_assignment_with_default
            	    {
            	        COMMA_SYMBOL2944 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_column_assignment_list_with_default15208);
            	        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_SYMBOL2944, NULL); }


            	        FOLLOWPUSH(FOLLOW_column_assignment_with_default_in_column_assignment_list_with_default15210);
            	        column_assignment_with_default2945=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_default2945.tree, NULL); }

            	    }
            	    break;

            	default:
            	    goto loop854;	/* break out of the loop */
            	    break;
                }
            }
            loop854: ; /* Jump out to here if this rule does not match */


            /* AST REWRITE
             * elements          : column_assignment_with_default, column_assignment_with_default, 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;
            	// 2641:3: -> ^( COLUMN_ASSIGNMENT_LIST column_assignment_with_default ( COMMA_SYMBOL column_assignment_with_default )* )
            	{
            	    // MySQL.g:2641: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:2641:62: ( COMMA_SYMBOL column_assignment_with_default )*
            	        {
            	        	while ( (stream_column_assignment_with_default != NULL && stream_column_assignment_with_default->hasNext(stream_column_assignment_with_default)) || (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_column_assignment_with_default == NULL ? NULL : stream_column_assignment_with_default->nextTree(stream_column_assignment_with_default));

            	        	}
            	        	if (stream_column_assignment_with_default != NULL) stream_column_assignment_with_default->reset(stream_column_assignment_with_default);
            	        	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 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:2644: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_OPERATOR2947;
    pANTLR3_COMMON_TOKEN    DEFAULT_SYMBOL2949;
    MySQLParser_field_name_return field_name2946;
    #undef	RETURN_TYPE_field_name2946
    #define	RETURN_TYPE_field_name2946 MySQLParser_field_name_return

    MySQLParser_expression_return expression2948;
    #undef	RETURN_TYPE_expression2948
    #define	RETURN_TYPE_expression2948 MySQLParser_expression_return

    pANTLR3_BASE_TREE EQUAL_OPERATOR2947_tree;
    pANTLR3_BASE_TREE DEFAULT_SYMBOL2949_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    EQUAL_OPERATOR2947       = NULL;
    DEFAULT_SYMBOL2949       = NULL;
    field_name2946.tree = NULL;

    expression2948.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    EQUAL_OPERATOR2947_tree   = NULL;
    DEFAULT_SYMBOL2949_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2644:31: ( field_name EQUAL_OPERATOR ( expression | DEFAULT_SYMBOL ) )
        // MySQL.g:2645:2: field_name EQUAL_OPERATOR ( expression | DEFAULT_SYMBOL )
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            FOLLOWPUSH(FOLLOW_field_name_in_column_assignment_with_default15238);
            field_name2946=field_name(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulecolumn_assignment_with_defaultEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, field_name2946.tree);

            EQUAL_OPERATOR2947 = (pANTLR3_COMMON_TOKEN) MATCHT(EQUAL_OPERATOR, &FOLLOW_EQUAL_OPERATOR_in_column_assignment_with_default15240);
            if  (HASEXCEPTION())
            {
                goto rulecolumn_assignment_with_defaultEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            EQUAL_OPERATOR2947_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, EQUAL_OPERATOR2947));
            ADAPTOR->addChild(ADAPTOR, root_0, EQUAL_OPERATOR2947_tree);
            }

            // MySQL.g:2645:28: ( expression | DEFAULT_SYMBOL )
            {
                int alt855=2;
                {
                    int LA855_0 = LA(1);
                    if ( (LA855_0 == BITWISE_NOT_OPERATOR || LA855_0 == INTERVAL_SYMBOL || LA855_0 == LOGICAL_NOT_OPERATOR || LA855_0 == MINUS_OPERATOR || LA855_0 == NCHAR_TEXT || LA855_0 == NOT2_SYMBOL || LA855_0 == NOT_SYMBOL || LA855_0 == PLUS_OPERATOR || LA855_0 == SINGLE_QUOTED_TEXT || LA855_0 == UNDERSCORE_CHARSET))
                    {
                        alt855=1;
                    }
                    else if ( ((((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES)))||((!SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))))) && (LA855_0 == DOUBLE_QUOTED_TEXT))
                    {
                        alt855=1;
                    }
                    else if ( (LA855_0 == FALSE_SYMBOL || LA855_0 == FLOAT || ((LA855_0 >= HEXNUMBER) && (LA855_0 <= HEXSTRING)) || LA855_0 == INTEGER || LA855_0 == TRUE_SYMBOL))
                    {
                        alt855=1;
                    }
                    else if ( ((SERVER_VERSION >= 50003)) && (((LA855_0 >= BITNUMBER) && (LA855_0 <= BITSTRING))))
                    {
                        alt855=1;
                    }
                    else if ( (((LA855_0 >= ACTION_SYMBOL) && (LA855_0 <= PARTITION_SYMBOL)) || ((LA855_0 >= AT_AT_SIGN_SYMBOL) && (LA855_0 <= AT_SIGN_SYMBOL)) || LA855_0 == BACK_TICK_QUOTED_ID || LA855_0 == BINARY_SYMBOL || ((LA855_0 >= BIT_AND_SYMBOL) && (LA855_0 <= BIT_XOR_SYMBOL)) || ((LA855_0 >= CASE_SYMBOL) && (LA855_0 <= CAST_SYMBOL)) || LA855_0 == CHAR_SYMBOL || ((LA855_0 >= CONVERT_SYMBOL) && (LA855_0 <= COUNT_SYMBOL)) || LA855_0 == CURDATE_SYMBOL || LA855_0 == CURRENT_USER_SYMBOL || LA855_0 == CURTIME_SYMBOL || LA855_0 == DATABASE_SYMBOL || LA855_0 == DATE_ADD_SYMBOL || LA855_0 == DATE_SUB_SYMBOL || LA855_0 == DOT_SYMBOL || LA855_0 == EXISTS_SYMBOL || LA855_0 == EXTRACT_SYMBOL || LA855_0 == GROUP_CONCAT_SYMBOL || ((LA855_0 >= IDENTIFIER) && (LA855_0 <= IF_SYMBOL)) || LA855_0 == INSERT_SYMBOL || LA855_0 == LEFT_SYMBOL || LA855_0 == MATCH_SYMBOL || LA855_0 == MAX_SYMBOL || LA855_0 == MIN_SYMBOL || LA855_0 == MOD_SYMBOL || LA855_0 == NOW_SYMBOL || LA855_0 == NULL2_SYMBOL || LA855_0 == NULL_SYMBOL || ((LA855_0 >= OPEN_CURLY_SYMBOL) && (LA855_0 <= OPEN_PAR_SYMBOL)) || LA855_0 == PARAM_MARKER || LA855_0 == POSITION_SYMBOL || ((LA855_0 >= REPEAT_SYMBOL) && (LA855_0 <= REPLACE_SYMBOL)) || LA855_0 == RIGHT_SYMBOL || LA855_0 == STDDEV_SAMP_SYMBOL || LA855_0 == STD_SYMBOL || LA855_0 == SUBSTRING_SYMBOL || ((LA855_0 >= SUM_SYMBOL) && (LA855_0 <= SYSDATE_SYMBOL)) || LA855_0 == TRIM_SYMBOL || ((LA855_0 >= UTC_DATE_SYMBOL) && (LA855_0 <= VALUES_SYMBOL)) || LA855_0 == VARIANCE_SYMBOL || LA855_0 == VAR_SAMP_SYMBOL))
                    {
                        alt855=1;
                    }
                    else if ( (LA855_0 == DEFAULT_SYMBOL))
                    {
                        alt855=2;
                    }
                    else
                    {
                        if (BACKTRACKING>0)
                        {
                            FAILEDFLAG = ANTLR3_TRUE;
                            return retval;
                        }


                        CONSTRUCTEX();
                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                        EXCEPTION->message      = (void *)"";
                        EXCEPTION->decisionNum  = 855;
                        EXCEPTION->state        = 0;


                        goto rulecolumn_assignment_with_defaultEx;

                    }
                }
                switch (alt855)
                {
            	case 1:
            	    // MySQL.g:2645:29: expression
            	    {
            	        FOLLOWPUSH(FOLLOW_expression_in_column_assignment_with_default15243);
            	        expression2948=expression(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecolumn_assignment_with_defaultEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, expression2948.tree);

            	    }
            	    break;
            	case 2:
            	    // MySQL.g:2645:42: DEFAULT_SYMBOL
            	    {
            	        DEFAULT_SYMBOL2949 = (pANTLR3_COMMON_TOKEN) MATCHT(DEFAULT_SYMBOL, &FOLLOW_DEFAULT_SYMBOL_in_column_assignment_with_default15247);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecolumn_assignment_with_defaultEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        DEFAULT_SYMBOL2949_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DEFAULT_SYMBOL2949));
            	        ADAPTOR->addChild(ADAPTOR, root_0, DEFAULT_SYMBOL2949_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:2648: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_SYMBOL2952;
    pANTLR3_COMMON_TOKEN    BINARY_SYMBOL2953;
    MySQLParser_charset_return charset2950;
    #undef	RETURN_TYPE_charset2950
    #define	RETURN_TYPE_charset2950 MySQLParser_charset_return

    MySQLParser_text_or_identifier_return text_or_identifier2951;
    #undef	RETURN_TYPE_text_or_identifier2951
    #define	RETURN_TYPE_text_or_identifier2951 MySQLParser_text_or_identifier_return

    pANTLR3_BASE_TREE DEFAULT_SYMBOL2952_tree;
    pANTLR3_BASE_TREE BINARY_SYMBOL2953_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    DEFAULT_SYMBOL2952       = NULL;
    BINARY_SYMBOL2953       = NULL;
    charset2950.tree = NULL;

    text_or_identifier2951.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    DEFAULT_SYMBOL2952_tree   = NULL;
    BINARY_SYMBOL2953_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2648:15: ( charset ( text_or_identifier | DEFAULT_SYMBOL | BINARY_SYMBOL ) )
        // MySQL.g:2649:2: charset ( text_or_identifier | DEFAULT_SYMBOL | BINARY_SYMBOL )
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            FOLLOWPUSH(FOLLOW_charset_in_charset_clause15257);
            charset2950=charset(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulecharset_clauseEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, charset2950.tree);

            // MySQL.g:2649:10: ( text_or_identifier | DEFAULT_SYMBOL | BINARY_SYMBOL )
            {
                int alt856=3;
                {
                    int LA856_0 = LA(1);
                    if ( (LA856_0 == NCHAR_TEXT || LA856_0 == SINGLE_QUOTED_TEXT || LA856_0 == UNDERSCORE_CHARSET))
                    {
                        alt856=1;
                    }
                    else if ( ((((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES)))||((!SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))))) && (LA856_0 == DOUBLE_QUOTED_TEXT))
                    {
                        alt856=1;
                    }
                    else if ( (((LA856_0 >= ACTION_SYMBOL) && (LA856_0 <= PARTITION_SYMBOL)) || LA856_0 == BACK_TICK_QUOTED_ID || LA856_0 == IDENTIFIER))
                    {
                        alt856=1;
                    }
                    else if ( (LA856_0 == DEFAULT_SYMBOL))
                    {
                        alt856=2;
                    }
                    else if ( (LA856_0 == BINARY_SYMBOL))
                    {
                        alt856=3;
                    }
                    else
                    {
                        if (BACKTRACKING>0)
                        {
                            FAILEDFLAG = ANTLR3_TRUE;
                            return retval;
                        }


                        CONSTRUCTEX();
                        EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                        EXCEPTION->message      = (void *)"";
                        EXCEPTION->decisionNum  = 856;
                        EXCEPTION->state        = 0;


                        goto rulecharset_clauseEx;

                    }
                }
                switch (alt856)
                {
            	case 1:
            	    // MySQL.g:2649:11: text_or_identifier
            	    {
            	        FOLLOWPUSH(FOLLOW_text_or_identifier_in_charset_clause15260);
            	        text_or_identifier2951=text_or_identifier(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecharset_clauseEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, text_or_identifier2951.tree);

            	    }
            	    break;
            	case 2:
            	    // MySQL.g:2649:32: DEFAULT_SYMBOL
            	    {
            	        DEFAULT_SYMBOL2952 = (pANTLR3_COMMON_TOKEN) MATCHT(DEFAULT_SYMBOL, &FOLLOW_DEFAULT_SYMBOL_in_charset_clause15264);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecharset_clauseEx;
            	        }
            	        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;
            	case 3:
            	    // MySQL.g:2649:49: BINARY_SYMBOL
            	    {
            	        BINARY_SYMBOL2953 = (pANTLR3_COMMON_TOKEN) MATCHT(BINARY_SYMBOL, &FOLLOW_BINARY_SYMBOL_in_charset_clause15268);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulecharset_clauseEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        BINARY_SYMBOL2953_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, BINARY_SYMBOL2953));
            	        ADAPTOR->addChild(ADAPTOR, root_0, BINARY_SYMBOL2953_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:2652: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_SYMBOL2954;
    MySQLParser_field_term_return field_term2955;
    #undef	RETURN_TYPE_field_term2955
    #define	RETURN_TYPE_field_term2955 MySQLParser_field_term_return

    pANTLR3_BASE_TREE COLUMNS_SYMBOL2954_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    COLUMNS_SYMBOL2954       = NULL;
    field_term2955.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    COLUMNS_SYMBOL2954_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2652:14: ( COLUMNS_SYMBOL ( field_term )+ )
        // MySQL.g:2653:2: COLUMNS_SYMBOL ( field_term )+
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            COLUMNS_SYMBOL2954 = (pANTLR3_COMMON_TOKEN) MATCHT(COLUMNS_SYMBOL, &FOLLOW_COLUMNS_SYMBOL_in_fields_clause15278);
            if  (HASEXCEPTION())
            {
                goto rulefields_clauseEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            COLUMNS_SYMBOL2954_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COLUMNS_SYMBOL2954));
            ADAPTOR->addChild(ADAPTOR, root_0, COLUMNS_SYMBOL2954_tree);
            }

            // MySQL.g:2653:17: ( field_term )+
            {
                int cnt857=0;

                for (;;)
                {
                    int alt857=2;
            	switch ( LA(1) )
            	{
            	case ENCLOSED_SYMBOL:
            	case ESCAPED_SYMBOL:
            	case OPTIONALLY_SYMBOL:
            	case TERMINATED_SYMBOL:
            		{
            			alt857=1;
            		}
            	    break;

            	}

            	switch (alt857)
            	{
            	    case 1:
            	        // MySQL.g:2653:17: field_term
            	        {
            	            FOLLOWPUSH(FOLLOW_field_term_in_fields_clause15280);
            	            field_term2955=field_term(ctx);

            	            FOLLOWPOP();
            	            if  (HASEXCEPTION())
            	            {
            	                goto rulefields_clauseEx;
            	            }
            	            if (HASFAILED())
            	            {
            	                return retval;
            	            }

            	            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, field_term2955.tree);

            	        }
            	        break;

            	    default:

            		if ( cnt857 >= 1 )
            		{
            		    goto loop857;
            		}
            		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;
            	}
            	cnt857++;
                }
                loop857: ;	/* 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:2656: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_SYMBOL2956;
    pANTLR3_COMMON_TOKEN    BY_SYMBOL2957;
    pANTLR3_COMMON_TOKEN    OPTIONALLY_SYMBOL2959;
    pANTLR3_COMMON_TOKEN    ENCLOSED_SYMBOL2960;
    pANTLR3_COMMON_TOKEN    BY_SYMBOL2961;
    pANTLR3_COMMON_TOKEN    ESCAPED_SYMBOL2963;
    pANTLR3_COMMON_TOKEN    BY_SYMBOL2964;
    MySQLParser_string_literal_return string_literal2958;
    #undef	RETURN_TYPE_string_literal2958
    #define	RETURN_TYPE_string_literal2958 MySQLParser_string_literal_return

    MySQLParser_string_literal_return string_literal2962;
    #undef	RETURN_TYPE_string_literal2962
    #define	RETURN_TYPE_string_literal2962 MySQLParser_string_literal_return

    MySQLParser_string_literal_return string_literal2965;
    #undef	RETURN_TYPE_string_literal2965
    #define	RETURN_TYPE_string_literal2965 MySQLParser_string_literal_return

    pANTLR3_BASE_TREE TERMINATED_SYMBOL2956_tree;
    pANTLR3_BASE_TREE BY_SYMBOL2957_tree;
    pANTLR3_BASE_TREE OPTIONALLY_SYMBOL2959_tree;
    pANTLR3_BASE_TREE ENCLOSED_SYMBOL2960_tree;
    pANTLR3_BASE_TREE BY_SYMBOL2961_tree;
    pANTLR3_BASE_TREE ESCAPED_SYMBOL2963_tree;
    pANTLR3_BASE_TREE BY_SYMBOL2964_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    TERMINATED_SYMBOL2956       = NULL;
    BY_SYMBOL2957       = NULL;
    OPTIONALLY_SYMBOL2959       = NULL;
    ENCLOSED_SYMBOL2960       = NULL;
    BY_SYMBOL2961       = NULL;
    ESCAPED_SYMBOL2963       = NULL;
    BY_SYMBOL2964       = NULL;
    string_literal2958.tree = NULL;

    string_literal2962.tree = NULL;

    string_literal2965.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    TERMINATED_SYMBOL2956_tree   = NULL;
    BY_SYMBOL2957_tree   = NULL;
    OPTIONALLY_SYMBOL2959_tree   = NULL;
    ENCLOSED_SYMBOL2960_tree   = NULL;
    BY_SYMBOL2961_tree   = NULL;
    ESCAPED_SYMBOL2963_tree   = NULL;
    BY_SYMBOL2964_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:2656:11: ( TERMINATED_SYMBOL BY_SYMBOL string_literal | ( OPTIONALLY_SYMBOL )? ENCLOSED_SYMBOL BY_SYMBOL string_literal | ESCAPED_SYMBOL BY_SYMBOL string_literal )

            ANTLR3_UINT32 alt859;

            alt859=3;

            switch ( LA(1) )
            {
            case TERMINATED_SYMBOL:
            	{
            		alt859=1;
            	}
                break;
            case ENCLOSED_SYMBOL:
            case OPTIONALLY_SYMBOL:
            	{
            		alt859=2;
            	}
                break;
            case ESCAPED_SYMBOL:
            	{
            		alt859=3;
            	}
                break;

            default:
                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 rulefield_termEx;

            }

            switch (alt859)
            {
        	case 1:
        	    // MySQL.g:2657:2: TERMINATED_SYMBOL BY_SYMBOL string_literal
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        TERMINATED_SYMBOL2956 = (pANTLR3_COMMON_TOKEN) MATCHT(TERMINATED_SYMBOL, &FOLLOW_TERMINATED_SYMBOL_in_field_term15290);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefield_termEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        TERMINATED_SYMBOL2956_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, TERMINATED_SYMBOL2956));
        	        ADAPTOR->addChild(ADAPTOR, root_0, TERMINATED_SYMBOL2956_tree);
        	        }

        	        BY_SYMBOL2957 = (pANTLR3_COMMON_TOKEN) MATCHT(BY_SYMBOL, &FOLLOW_BY_SYMBOL_in_field_term15292);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefield_termEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        BY_SYMBOL2957_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, BY_SYMBOL2957));
        	        ADAPTOR->addChild(ADAPTOR, root_0, BY_SYMBOL2957_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_string_literal_in_field_term15294);
        	        string_literal2958=string_literal(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefield_termEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_literal2958.tree);

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:2658:4: ( OPTIONALLY_SYMBOL )? ENCLOSED_SYMBOL BY_SYMBOL string_literal
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        // MySQL.g:2658:4: ( OPTIONALLY_SYMBOL )?
        	        {
        	            int alt858=2;
        	            switch ( LA(1) )
        	            {
        	                case OPTIONALLY_SYMBOL:
        	                	{
        	                		alt858=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt858)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2658:4: OPTIONALLY_SYMBOL
        	        	    {
        	        	        OPTIONALLY_SYMBOL2959 = (pANTLR3_COMMON_TOKEN) MATCHT(OPTIONALLY_SYMBOL, &FOLLOW_OPTIONALLY_SYMBOL_in_field_term15299);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulefield_termEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        OPTIONALLY_SYMBOL2959_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPTIONALLY_SYMBOL2959));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, OPTIONALLY_SYMBOL2959_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	        ENCLOSED_SYMBOL2960 = (pANTLR3_COMMON_TOKEN) MATCHT(ENCLOSED_SYMBOL, &FOLLOW_ENCLOSED_SYMBOL_in_field_term15302);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefield_termEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        ENCLOSED_SYMBOL2960_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ENCLOSED_SYMBOL2960));
        	        ADAPTOR->addChild(ADAPTOR, root_0, ENCLOSED_SYMBOL2960_tree);
        	        }

        	        BY_SYMBOL2961 = (pANTLR3_COMMON_TOKEN) MATCHT(BY_SYMBOL, &FOLLOW_BY_SYMBOL_in_field_term15304);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefield_termEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        BY_SYMBOL2961_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, BY_SYMBOL2961));
        	        ADAPTOR->addChild(ADAPTOR, root_0, BY_SYMBOL2961_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_string_literal_in_field_term15306);
        	        string_literal2962=string_literal(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefield_termEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_literal2962.tree);

        	    }
        	    break;
        	case 3:
        	    // MySQL.g:2659:4: ESCAPED_SYMBOL BY_SYMBOL string_literal
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        ESCAPED_SYMBOL2963 = (pANTLR3_COMMON_TOKEN) MATCHT(ESCAPED_SYMBOL, &FOLLOW_ESCAPED_SYMBOL_in_field_term15311);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulefield_termEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        ESCAPED_SYMBOL2963_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, ESCAPED_SYMBOL2963));
        	        ADAPTOR->addChild(ADAPTOR, root_0, ESCAPED_SYMBOL2963_tree);
        	        }

        	        BY_SYMBOL2964 = (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_SYMBOL2964_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, BY_SYMBOL2964));
        	        ADAPTOR->addChild(ADAPTOR, root_0, BY_SYMBOL2964_tree);
        	        }

        	        FOLLOWPUSH(FOLLOW_string_literal_in_field_term15315);
        	        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;

            }
        }
    }

    // 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:2662: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_SYMBOL2966;
    MySQLParser_line_term_return line_term2967;
    #undef	RETURN_TYPE_line_term2967
    #define	RETURN_TYPE_line_term2967 MySQLParser_line_term_return

    pANTLR3_BASE_TREE LINES_SYMBOL2966_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    LINES_SYMBOL2966       = NULL;
    line_term2967.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    LINES_SYMBOL2966_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2662:13: ( LINES_SYMBOL ( line_term )+ )
        // MySQL.g:2663:2: LINES_SYMBOL ( line_term )+
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            LINES_SYMBOL2966 = (pANTLR3_COMMON_TOKEN) MATCHT(LINES_SYMBOL, &FOLLOW_LINES_SYMBOL_in_lines_clause15324);
            if  (HASEXCEPTION())
            {
                goto rulelines_clauseEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            LINES_SYMBOL2966_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, LINES_SYMBOL2966));
            ADAPTOR->addChild(ADAPTOR, root_0, LINES_SYMBOL2966_tree);
            }

            // MySQL.g:2663:15: ( line_term )+
            {
                int cnt860=0;

                for (;;)
                {
                    int alt860=2;
            	switch ( LA(1) )
            	{
            	case STARTING_SYMBOL:
            	case TERMINATED_SYMBOL:
            		{
            			alt860=1;
            		}
            	    break;

            	}

            	switch (alt860)
            	{
            	    case 1:
            	        // MySQL.g:2663:15: line_term
            	        {
            	            FOLLOWPUSH(FOLLOW_line_term_in_lines_clause15326);
            	            line_term2967=line_term(ctx);

            	            FOLLOWPOP();
            	            if  (HASEXCEPTION())
            	            {
            	                goto rulelines_clauseEx;
            	            }
            	            if (HASFAILED())
            	            {
            	                return retval;
            	            }

            	            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, line_term2967.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 rulelines_clauseEx;
            	}
            	cnt860++;
                }
                loop860: ;	/* 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:2666: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    set2968;
    pANTLR3_COMMON_TOKEN    BY_SYMBOL2969;
    MySQLParser_string_literal_return string_literal2970;
    #undef	RETURN_TYPE_string_literal2970
    #define	RETURN_TYPE_string_literal2970 MySQLParser_string_literal_return

    pANTLR3_BASE_TREE set2968_tree;
    pANTLR3_BASE_TREE BY_SYMBOL2969_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    set2968       = NULL;
    BY_SYMBOL2969       = NULL;
    string_literal2970.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    set2968_tree   = NULL;
    BY_SYMBOL2969_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2666:10: ( ( TERMINATED_SYMBOL | STARTING_SYMBOL ) BY_SYMBOL string_literal )
        // MySQL.g:2667:2: ( TERMINATED_SYMBOL | STARTING_SYMBOL ) BY_SYMBOL string_literal
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            set2968=(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, set2968))
                );
                PERRORRECOVERY=ANTLR3_FALSE;
                FAILEDFLAG=ANTLR3_FALSE;

            }
            else
            {
                if (BACKTRACKING>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_SYMBOL2969 = (pANTLR3_COMMON_TOKEN) MATCHT(BY_SYMBOL, &FOLLOW_BY_SYMBOL_in_line_term15344);
            if  (HASEXCEPTION())
            {
                goto ruleline_termEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            BY_SYMBOL2969_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, BY_SYMBOL2969));
            ADAPTOR->addChild(ADAPTOR, root_0, BY_SYMBOL2969_tree);
            }

            FOLLOWPUSH(FOLLOW_string_literal_in_line_term15346);
            string_literal2970=string_literal(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruleline_termEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_literal2970.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:2670: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_SYMBOL2972;
    MySQLParser_user_return user2971;
    #undef	RETURN_TYPE_user2971
    #define	RETURN_TYPE_user2971 MySQLParser_user_return

    MySQLParser_user_return user2973;
    #undef	RETURN_TYPE_user2973
    #define	RETURN_TYPE_user2973 MySQLParser_user_return

    pANTLR3_BASE_TREE COMMA_SYMBOL2972_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    COMMA_SYMBOL2972       = NULL;
    user2971.tree = NULL;

    user2973.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    COMMA_SYMBOL2972_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2670:10: ( user ( COMMA_SYMBOL user )* )
        // MySQL.g:2671:2: user ( COMMA_SYMBOL user )*
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            FOLLOWPUSH(FOLLOW_user_in_user_list15355);
            user2971=user(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruleuser_listEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, user2971.tree);

            // MySQL.g:2671:7: ( COMMA_SYMBOL user )*

            for (;;)
            {
                int alt861=2;
                switch ( LA(1) )
                {
                case COMMA_SYMBOL:
                	{
                		alt861=1;
                	}
                    break;

                }

                switch (alt861)
                {
            	case 1:
            	    // MySQL.g:2671:8: COMMA_SYMBOL user
            	    {
            	        COMMA_SYMBOL2972 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_user_list15358);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleuser_listEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        COMMA_SYMBOL2972_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL2972));
            	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL2972_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_user_in_user_list15360);
            	        user2973=user(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleuser_listEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, user2973.tree);

            	    }
            	    break;

            	default:
            	    goto loop861;	/* break out of the loop */
            	    break;
                }
            }
            loop861: ; /* 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:2674: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_SYMBOL2975;
    pANTLR3_COMMON_TOKEN    BY_SYMBOL2976;
    pANTLR3_COMMON_TOKEN    PASSWORD_SYMBOL2977;
    pANTLR3_COMMON_TOKEN    WITH_SYMBOL2979;
    pANTLR3_COMMON_TOKEN    AS_SYMBOL2981;
    MySQLParser_user_return user2974;
    #undef	RETURN_TYPE_user2974
    #define	RETURN_TYPE_user2974 MySQLParser_user_return

    MySQLParser_string_literal_return string_literal2978;
    #undef	RETURN_TYPE_string_literal2978
    #define	RETURN_TYPE_string_literal2978 MySQLParser_string_literal_return

    MySQLParser_pure_identifier_return pure_identifier2980;
    #undef	RETURN_TYPE_pure_identifier2980
    #define	RETURN_TYPE_pure_identifier2980 MySQLParser_pure_identifier_return

    MySQLParser_string_literal_return string_literal2982;
    #undef	RETURN_TYPE_string_literal2982
    #define	RETURN_TYPE_string_literal2982 MySQLParser_string_literal_return

    pANTLR3_BASE_TREE IDENTIFIED_SYMBOL2975_tree;
    pANTLR3_BASE_TREE BY_SYMBOL2976_tree;
    pANTLR3_BASE_TREE PASSWORD_SYMBOL2977_tree;
    pANTLR3_BASE_TREE WITH_SYMBOL2979_tree;
    pANTLR3_BASE_TREE AS_SYMBOL2981_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    IDENTIFIED_SYMBOL2975       = NULL;
    BY_SYMBOL2976       = NULL;
    PASSWORD_SYMBOL2977       = NULL;
    WITH_SYMBOL2979       = NULL;
    AS_SYMBOL2981       = NULL;
    user2974.tree = NULL;

    string_literal2978.tree = NULL;

    pure_identifier2980.tree = NULL;

    string_literal2982.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    IDENTIFIED_SYMBOL2975_tree   = NULL;
    BY_SYMBOL2976_tree   = NULL;
    PASSWORD_SYMBOL2977_tree   = NULL;
    WITH_SYMBOL2979_tree   = NULL;
    AS_SYMBOL2981_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2674:19: ( user ( IDENTIFIED_SYMBOL ( BY_SYMBOL ( PASSWORD_SYMBOL )? string_literal | WITH_SYMBOL pure_identifier ( AS_SYMBOL string_literal )? ) )? )
        // MySQL.g:2675: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_specification15371);
            user2974=user(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruleuser_specificationEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, user2974.tree);

            // MySQL.g:2676:2: ( IDENTIFIED_SYMBOL ( BY_SYMBOL ( PASSWORD_SYMBOL )? string_literal | WITH_SYMBOL pure_identifier ( AS_SYMBOL string_literal )? ) )?
            {
                int alt865=2;
                switch ( LA(1) )
                {
                    case IDENTIFIED_SYMBOL:
                    	{
                    		alt865=1;
                    	}
                        break;
                }

                switch (alt865)
                {
            	case 1:
            	    // MySQL.g:2677:3: IDENTIFIED_SYMBOL ( BY_SYMBOL ( PASSWORD_SYMBOL )? string_literal | WITH_SYMBOL pure_identifier ( AS_SYMBOL string_literal )? )
            	    {
            	        IDENTIFIED_SYMBOL2975 = (pANTLR3_COMMON_TOKEN) MATCHT(IDENTIFIED_SYMBOL, &FOLLOW_IDENTIFIED_SYMBOL_in_user_specification15378);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleuser_specificationEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        IDENTIFIED_SYMBOL2975_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, IDENTIFIED_SYMBOL2975));
            	        ADAPTOR->addChild(ADAPTOR, root_0, IDENTIFIED_SYMBOL2975_tree);
            	        }

            	        // MySQL.g:2678:3: ( BY_SYMBOL ( PASSWORD_SYMBOL )? string_literal | WITH_SYMBOL pure_identifier ( AS_SYMBOL string_literal )? )
            	        {
            	            int alt864=2;
            	            switch ( LA(1) )
            	            {
            	            case BY_SYMBOL:
            	            	{
            	            		alt864=1;
            	            	}
            	                break;
            	            case WITH_SYMBOL:
            	            	{
            	            		alt864=2;
            	            	}
            	                break;

            	            default:
            	                if (BACKTRACKING>0)
            	                {
            	                    FAILEDFLAG = ANTLR3_TRUE;
            	                    return retval;
            	                }

            	                CONSTRUCTEX();
            	                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
            	                EXCEPTION->message      = (void *)"";
            	                EXCEPTION->decisionNum  = 864;
            	                EXCEPTION->state        = 0;


            	                goto ruleuser_specificationEx;

            	            }

            	            switch (alt864)
            	            {
            	        	case 1:
            	        	    // MySQL.g:2679:4: BY_SYMBOL ( PASSWORD_SYMBOL )? string_literal
            	        	    {
            	        	        BY_SYMBOL2976 = (pANTLR3_COMMON_TOKEN) MATCHT(BY_SYMBOL, &FOLLOW_BY_SYMBOL_in_user_specification15387);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleuser_specificationEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        BY_SYMBOL2976_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, BY_SYMBOL2976));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, BY_SYMBOL2976_tree);
            	        	        }

            	        	        // MySQL.g:2679:14: ( PASSWORD_SYMBOL )?
            	        	        {
            	        	            int alt862=2;
            	        	            switch ( LA(1) )
            	        	            {
            	        	                case PASSWORD_SYMBOL:
            	        	                	{
            	        	                		alt862=1;
            	        	                	}
            	        	                    break;
            	        	            }

            	        	            switch (alt862)
            	        	            {
            	        	        	case 1:
            	        	        	    // MySQL.g:2679:14: PASSWORD_SYMBOL
            	        	        	    {
            	        	        	        PASSWORD_SYMBOL2977 = (pANTLR3_COMMON_TOKEN) MATCHT(PASSWORD_SYMBOL, &FOLLOW_PASSWORD_SYMBOL_in_user_specification15389);
            	        	        	        if  (HASEXCEPTION())
            	        	        	        {
            	        	        	            goto ruleuser_specificationEx;
            	        	        	        }
            	        	        	        if (HASFAILED())
            	        	        	        {
            	        	        	            return retval;
            	        	        	        }

            	        	        	        if ( BACKTRACKING==0 ) {
            	        	        	        PASSWORD_SYMBOL2977_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, PASSWORD_SYMBOL2977));
            	        	        	        ADAPTOR->addChild(ADAPTOR, root_0, PASSWORD_SYMBOL2977_tree);
            	        	        	        }

            	        	        	    }
            	        	        	    break;

            	        	            }
            	        	        }

            	        	        FOLLOWPUSH(FOLLOW_string_literal_in_user_specification15392);
            	        	        string_literal2978=string_literal(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleuser_specificationEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_literal2978.tree);

            	        	    }
            	        	    break;
            	        	case 2:
            	        	    // MySQL.g:2680:6: WITH_SYMBOL pure_identifier ( AS_SYMBOL string_literal )?
            	        	    {
            	        	        WITH_SYMBOL2979 = (pANTLR3_COMMON_TOKEN) MATCHT(WITH_SYMBOL, &FOLLOW_WITH_SYMBOL_in_user_specification15399);
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleuser_specificationEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) {
            	        	        WITH_SYMBOL2979_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, WITH_SYMBOL2979));
            	        	        ADAPTOR->addChild(ADAPTOR, root_0, WITH_SYMBOL2979_tree);
            	        	        }

            	        	        FOLLOWPUSH(FOLLOW_pure_identifier_in_user_specification15401);
            	        	        pure_identifier2980=pure_identifier(ctx);

            	        	        FOLLOWPOP();
            	        	        if  (HASEXCEPTION())
            	        	        {
            	        	            goto ruleuser_specificationEx;
            	        	        }
            	        	        if (HASFAILED())
            	        	        {
            	        	            return retval;
            	        	        }

            	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, pure_identifier2980.tree);

            	        	        // MySQL.g:2680:34: ( AS_SYMBOL string_literal )?
            	        	        {
            	        	            int alt863=2;
            	        	            switch ( LA(1) )
            	        	            {
            	        	                case AS_SYMBOL:
            	        	                	{
            	        	                		alt863=1;
            	        	                	}
            	        	                    break;
            	        	            }

            	        	            switch (alt863)
            	        	            {
            	        	        	case 1:
            	        	        	    // MySQL.g:2680:35: AS_SYMBOL string_literal
            	        	        	    {
            	        	        	        AS_SYMBOL2981 = (pANTLR3_COMMON_TOKEN) MATCHT(AS_SYMBOL, &FOLLOW_AS_SYMBOL_in_user_specification15404);
            	        	        	        if  (HASEXCEPTION())
            	        	        	        {
            	        	        	            goto ruleuser_specificationEx;
            	        	        	        }
            	        	        	        if (HASFAILED())
            	        	        	        {
            	        	        	            return retval;
            	        	        	        }

            	        	        	        if ( BACKTRACKING==0 ) {
            	        	        	        AS_SYMBOL2981_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, AS_SYMBOL2981));
            	        	        	        ADAPTOR->addChild(ADAPTOR, root_0, AS_SYMBOL2981_tree);
            	        	        	        }

            	        	        	        FOLLOWPUSH(FOLLOW_string_literal_in_user_specification15406);
            	        	        	        string_literal2982=string_literal(ctx);

            	        	        	        FOLLOWPOP();
            	        	        	        if  (HASEXCEPTION())
            	        	        	        {
            	        	        	            goto ruleuser_specificationEx;
            	        	        	        }
            	        	        	        if (HASFAILED())
            	        	        	        {
            	        	        	            return retval;
            	        	        	        }

            	        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_literal2982.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:2685: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_SYMBOL2984;
    pANTLR3_COMMON_TOKEN    CURRENT_USER_SYMBOL2986;
    MySQLParser_text_or_identifier_return text_or_identifier2983;
    #undef	RETURN_TYPE_text_or_identifier2983
    #define	RETURN_TYPE_text_or_identifier2983 MySQLParser_text_or_identifier_return

    MySQLParser_text_or_identifier_return text_or_identifier2985;
    #undef	RETURN_TYPE_text_or_identifier2985
    #define	RETURN_TYPE_text_or_identifier2985 MySQLParser_text_or_identifier_return

    MySQLParser_parentheses_return parentheses2987;
    #undef	RETURN_TYPE_parentheses2987
    #define	RETURN_TYPE_parentheses2987 MySQLParser_parentheses_return

    pANTLR3_BASE_TREE AT_SIGN_SYMBOL2984_tree;
    pANTLR3_BASE_TREE CURRENT_USER_SYMBOL2986_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    AT_SIGN_SYMBOL2984       = NULL;
    CURRENT_USER_SYMBOL2986       = NULL;
    text_or_identifier2983.tree = NULL;

    text_or_identifier2985.tree = NULL;

    parentheses2987.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    AT_SIGN_SYMBOL2984_tree   = NULL;
    CURRENT_USER_SYMBOL2986_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:2685:5: ( text_or_identifier ( AT_SIGN_SYMBOL text_or_identifier )? | CURRENT_USER_SYMBOL ( parentheses )? )

            ANTLR3_UINT32 alt868;

            alt868=2;

            {
                int LA868_0 = LA(1);
                if ( (LA868_0 == NCHAR_TEXT || LA868_0 == SINGLE_QUOTED_TEXT || LA868_0 == UNDERSCORE_CHARSET))
                {
                    alt868=1;
                }
                else if ( ((((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES)))||((!SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))))) && (LA868_0 == DOUBLE_QUOTED_TEXT))
                {
                    alt868=1;
                }
                else if ( (((LA868_0 >= ACTION_SYMBOL) && (LA868_0 <= PARTITION_SYMBOL)) || LA868_0 == BACK_TICK_QUOTED_ID || LA868_0 == IDENTIFIER))
                {
                    alt868=1;
                }
                else if ( (LA868_0 == CURRENT_USER_SYMBOL))
                {
                    alt868=2;
                }
                else
                {
                    if (BACKTRACKING>0)
                    {
                        FAILEDFLAG = ANTLR3_TRUE;
                        return retval;
                    }


                    CONSTRUCTEX();
                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    EXCEPTION->message      = (void *)"";
                    EXCEPTION->decisionNum  = 868;
                    EXCEPTION->state        = 0;


                    goto ruleuserEx;

                }
            }
            switch (alt868)
            {
        	case 1:
        	    // MySQL.g:2686:2: text_or_identifier ( AT_SIGN_SYMBOL text_or_identifier )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_text_or_identifier_in_user15425);
        	        text_or_identifier2983=text_or_identifier(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleuserEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, text_or_identifier2983.tree);

        	        // MySQL.g:2686:21: ( AT_SIGN_SYMBOL text_or_identifier )?
        	        {
        	            int alt866=2;
        	            switch ( LA(1) )
        	            {
        	                case AT_SIGN_SYMBOL:
        	                	{
        	                		alt866=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt866)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2686:22: AT_SIGN_SYMBOL text_or_identifier
        	        	    {
        	        	        AT_SIGN_SYMBOL2984 = (pANTLR3_COMMON_TOKEN) MATCHT(AT_SIGN_SYMBOL, &FOLLOW_AT_SIGN_SYMBOL_in_user15428);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleuserEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        AT_SIGN_SYMBOL2984_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, AT_SIGN_SYMBOL2984));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, AT_SIGN_SYMBOL2984_tree);
        	        	        }

        	        	        FOLLOWPUSH(FOLLOW_text_or_identifier_in_user15430);
        	        	        text_or_identifier2985=text_or_identifier(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleuserEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, text_or_identifier2985.tree);

        	        	    }
        	        	    break;

        	            }
        	        }

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:2687:4: CURRENT_USER_SYMBOL ( parentheses )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        CURRENT_USER_SYMBOL2986 = (pANTLR3_COMMON_TOKEN) MATCHT(CURRENT_USER_SYMBOL, &FOLLOW_CURRENT_USER_SYMBOL_in_user15437);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleuserEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CURRENT_USER_SYMBOL2986_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CURRENT_USER_SYMBOL2986));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CURRENT_USER_SYMBOL2986_tree);
        	        }

        	        // MySQL.g:2687:24: ( parentheses )?
        	        {
        	            int alt867=2;
        	            switch ( LA(1) )
        	            {
        	                case OPEN_PAR_SYMBOL:
        	                	{
        	                		alt867=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt867)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2687:24: parentheses
        	        	    {
        	        	        FOLLOWPUSH(FOLLOW_parentheses_in_user15439);
        	        	        parentheses2987=parentheses(ctx);

        	        	        FOLLOWPOP();
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto ruleuserEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, parentheses2987.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:2690: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_SYMBOL2988;
    MySQLParser_text_or_param_marker_return text_or_param_marker2989;
    #undef	RETURN_TYPE_text_or_param_marker2989
    #define	RETURN_TYPE_text_or_param_marker2989 MySQLParser_text_or_param_marker_return

    pANTLR3_BASE_TREE LIKE_SYMBOL2988_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    LIKE_SYMBOL2988       = NULL;
    text_or_param_marker2989.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    LIKE_SYMBOL2988_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2690:12: ( LIKE_SYMBOL text_or_param_marker )
        // MySQL.g:2691:2: LIKE_SYMBOL text_or_param_marker
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            LIKE_SYMBOL2988 = (pANTLR3_COMMON_TOKEN) MATCHT(LIKE_SYMBOL, &FOLLOW_LIKE_SYMBOL_in_like_clause15449);
            if  (HASEXCEPTION())
            {
                goto rulelike_clauseEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            LIKE_SYMBOL2988_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, LIKE_SYMBOL2988));
            ADAPTOR->addChild(ADAPTOR, root_0, LIKE_SYMBOL2988_tree);
            }

            FOLLOWPUSH(FOLLOW_text_or_param_marker_in_like_clause15451);
            text_or_param_marker2989=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_marker2989.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:2694: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_clause2990;
    #undef	RETURN_TYPE_like_clause2990
    #define	RETURN_TYPE_like_clause2990 MySQLParser_like_clause_return

    MySQLParser_where_clause_return where_clause2991;
    #undef	RETURN_TYPE_where_clause2991
    #define	RETURN_TYPE_where_clause2991 MySQLParser_where_clause_return


    /* Initialize rule variables
     */

    root_0 = NULL;

    like_clause2990.tree = NULL;

    where_clause2991.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;




    retval.tree  = NULL;

    {
        {
            //  MySQL.g:2694:14: ( like_clause | where_clause )

            ANTLR3_UINT32 alt869;

            alt869=2;

            switch ( LA(1) )
            {
            case LIKE_SYMBOL:
            	{
            		alt869=1;
            	}
                break;
            case WHERE_SYMBOL:
            	{
            		alt869=2;
            	}
                break;

            default:
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                EXCEPTION->message      = (void *)"";
                EXCEPTION->decisionNum  = 869;
                EXCEPTION->state        = 0;


                goto rulelike_or_whereEx;

            }

            switch (alt869)
            {
        	case 1:
        	    // MySQL.g:2695:2: like_clause
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_like_clause_in_like_or_where15460);
        	        like_clause2990=like_clause(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulelike_or_whereEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, like_clause2990.tree);

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:2695:16: where_clause
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_where_clause_in_like_or_where15464);
        	        where_clause2991=where_clause(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulelike_or_whereEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, where_clause2991.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:2698: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    set2992;

    pANTLR3_BASE_TREE set2992_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    set2992       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    set2992_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2698:14: ({...}? => ( ONLINE_SYMBOL | OFFLINE_SYMBOL ) )
        // MySQL.g:2699: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";


            }

            set2992=(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, set2992))
                );
                PERRORRECOVERY=ANTLR3_FALSE;
                FAILEDFLAG=ANTLR3_FALSE;

            }
            else
            {
                if (BACKTRACKING>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:2702: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_SYMBOL2993;
    pANTLR3_COMMON_TOKEN    NO_WRITE_TO_BINLOG_SYMBOL2994;

    pANTLR3_BASE_TREE LOCAL_SYMBOL2993_tree;
    pANTLR3_BASE_TREE NO_WRITE_TO_BINLOG_SYMBOL2994_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    LOCAL_SYMBOL2993       = NULL;
    NO_WRITE_TO_BINLOG_SYMBOL2994       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    LOCAL_SYMBOL2993_tree   = NULL;
    NO_WRITE_TO_BINLOG_SYMBOL2994_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:2702:20: ({...}? => LOCAL_SYMBOL | NO_WRITE_TO_BINLOG_SYMBOL )

            ANTLR3_UINT32 alt870;

            alt870=2;

            {
                int LA870_0 = LA(1);
                if ( ((LA(1) == LOCAL_SYMBOL)) && (LA870_0 == LOCAL_SYMBOL))
                {
                    alt870=1;
                }
                else if ( (LA870_0 == NO_WRITE_TO_BINLOG_SYMBOL))
                {
                    alt870=2;
                }
                else
                {
                    if (BACKTRACKING>0)
                    {
                        FAILEDFLAG = ANTLR3_TRUE;
                        return retval;
                    }


                    CONSTRUCTEX();
                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    EXCEPTION->message      = (void *)"";
                    EXCEPTION->decisionNum  = 870;
                    EXCEPTION->state        = 0;


                    goto ruleno_write_to_bin_logEx;

                }
            }
            switch (alt870)
            {
        	case 1:
        	    // MySQL.g:2703: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_SYMBOL2993 = (pANTLR3_COMMON_TOKEN) MATCHT(LOCAL_SYMBOL, &FOLLOW_LOCAL_SYMBOL_in_no_write_to_bin_log15496);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleno_write_to_bin_logEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        LOCAL_SYMBOL2993_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, LOCAL_SYMBOL2993));
        	        ADAPTOR->addChild(ADAPTOR, root_0, LOCAL_SYMBOL2993_tree);
        	        }

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:2704:4: NO_WRITE_TO_BINLOG_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        NO_WRITE_TO_BINLOG_SYMBOL2994 = (pANTLR3_COMMON_TOKEN) MATCHT(NO_WRITE_TO_BINLOG_SYMBOL, &FOLLOW_NO_WRITE_TO_BINLOG_SYMBOL_in_no_write_to_bin_log15502);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleno_write_to_bin_logEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        NO_WRITE_TO_BINLOG_SYMBOL2994_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, NO_WRITE_TO_BINLOG_SYMBOL2994));
        	        ADAPTOR->addChild(ADAPTOR, root_0, NO_WRITE_TO_BINLOG_SYMBOL2994_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:2707: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_SYMBOL2995;
    MySQLParser_identifier_list_with_parentheses_return identifier_list_with_parentheses2996;
    #undef	RETURN_TYPE_identifier_list_with_parentheses2996
    #define	RETURN_TYPE_identifier_list_with_parentheses2996 MySQLParser_identifier_list_with_parentheses_return

    pANTLR3_BASE_TREE PARTITION_SYMBOL2995_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    PARTITION_SYMBOL2995       = NULL;
    identifier_list_with_parentheses2996.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    PARTITION_SYMBOL2995_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2707:14: ({...}? => PARTITION_SYMBOL identifier_list_with_parentheses )
        // MySQL.g:2708: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_SYMBOL2995 = (pANTLR3_COMMON_TOKEN) MATCHT(PARTITION_SYMBOL, &FOLLOW_PARTITION_SYMBOL_in_use_partition15515);
            if  (HASEXCEPTION())
            {
                goto ruleuse_partitionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            PARTITION_SYMBOL2995_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, PARTITION_SYMBOL2995));
            ADAPTOR->addChild(ADAPTOR, root_0, PARTITION_SYMBOL2995_tree);
            }

            FOLLOWPUSH(FOLLOW_identifier_list_with_parentheses_in_use_partition15517);
            identifier_list_with_parentheses2996=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_parentheses2996.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:2714: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    IDENTIFIER2997;
    pANTLR3_COMMON_TOKEN    BACK_TICK_QUOTED_ID2998;
    pANTLR3_COMMON_TOKEN    DOUBLE_QUOTED_TEXT2999;

    pANTLR3_BASE_TREE IDENTIFIER2997_tree;
    pANTLR3_BASE_TREE BACK_TICK_QUOTED_ID2998_tree;
    pANTLR3_BASE_TREE DOUBLE_QUOTED_TEXT2999_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    IDENTIFIER2997       = NULL;
    BACK_TICK_QUOTED_ID2998       = NULL;
    DOUBLE_QUOTED_TEXT2999       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    IDENTIFIER2997_tree   = NULL;
    BACK_TICK_QUOTED_ID2998_tree   = NULL;
    DOUBLE_QUOTED_TEXT2999_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:2714:16: ( IDENTIFIER | BACK_TICK_QUOTED_ID |{...}? => DOUBLE_QUOTED_TEXT )

            ANTLR3_UINT32 alt871;

            alt871=3;

            {
                int LA871_0 = LA(1);
                if ( (LA871_0 == IDENTIFIER))
                {
                    alt871=1;
                }
                else if ( (LA871_0 == BACK_TICK_QUOTED_ID))
                {
                    alt871=2;
                }
                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA871_0 == DOUBLE_QUOTED_TEXT))
                {
                    alt871=3;
                }
                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 rulepure_identifierEx;

                }
            }
            switch (alt871)
            {
        	case 1:
        	    // MySQL.g:2715:2: IDENTIFIER
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        IDENTIFIER2997 = (pANTLR3_COMMON_TOKEN) MATCHT(IDENTIFIER, &FOLLOW_IDENTIFIER_in_pure_identifier15529);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulepure_identifierEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        IDENTIFIER2997_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, IDENTIFIER2997));
        	        ADAPTOR->addChild(ADAPTOR, root_0, IDENTIFIER2997_tree);
        	        }

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:2716:4: BACK_TICK_QUOTED_ID
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        BACK_TICK_QUOTED_ID2998 = (pANTLR3_COMMON_TOKEN) MATCHT(BACK_TICK_QUOTED_ID, &FOLLOW_BACK_TICK_QUOTED_ID_in_pure_identifier15534);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulepure_identifierEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        BACK_TICK_QUOTED_ID2998_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, BACK_TICK_QUOTED_ID2998));
        	        ADAPTOR->addChild(ADAPTOR, root_0, BACK_TICK_QUOTED_ID2998_tree);
        	        }

        	    }
        	    break;
        	case 3:
        	    // MySQL.g:2717: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_TEXT2999 = (pANTLR3_COMMON_TOKEN) MATCHT(DOUBLE_QUOTED_TEXT, &FOLLOW_DOUBLE_QUOTED_TEXT_in_pure_identifier15543);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulepure_identifierEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        DOUBLE_QUOTED_TEXT2999_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DOUBLE_QUOTED_TEXT2999));
        	        ADAPTOR->addChild(ADAPTOR, root_0, DOUBLE_QUOTED_TEXT2999_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:2721: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_identifier3000;
    #undef	RETURN_TYPE_pure_identifier3000
    #define	RETURN_TYPE_pure_identifier3000 MySQLParser_pure_identifier_return

    MySQLParser_keyword_return keyword3001;
    #undef	RETURN_TYPE_keyword3001
    #define	RETURN_TYPE_keyword3001 MySQLParser_keyword_return


    /* Initialize rule variables
     */

    root_0 = NULL;

    pure_identifier3000.tree = NULL;

    keyword3001.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;




    retval.tree  = NULL;

    {
        {
            //  MySQL.g:2721:11: ( pure_identifier | keyword )

            ANTLR3_UINT32 alt872;

            alt872=2;

            {
                int LA872_0 = LA(1);
                if ( (LA872_0 == BACK_TICK_QUOTED_ID || LA872_0 == IDENTIFIER))
                {
                    alt872=1;
                }
                else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA872_0 == DOUBLE_QUOTED_TEXT))
                {
                    alt872=1;
                }
                else if ( (((LA872_0 >= ACTION_SYMBOL) && (LA872_0 <= PARTITION_SYMBOL))))
                {
                    alt872=2;
                }
                else
                {
                    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 ruleidentifierEx;

                }
            }
            switch (alt872)
            {
        	case 1:
        	    // MySQL.g:2722:2: pure_identifier
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_pure_identifier_in_identifier15553);
        	        pure_identifier3000=pure_identifier(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleidentifierEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, pure_identifier3000.tree);

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:2723:4: keyword
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_keyword_in_identifier15558);
        	        keyword3001=keyword(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleidentifierEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, keyword3001.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:2726: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_SYMBOL3003;
    MySQLParser_identifier_return identifier3002;
    #undef	RETURN_TYPE_identifier3002
    #define	RETURN_TYPE_identifier3002 MySQLParser_identifier_return

    MySQLParser_identifier_return identifier3004;
    #undef	RETURN_TYPE_identifier3004
    #define	RETURN_TYPE_identifier3004 MySQLParser_identifier_return

    pANTLR3_BASE_TREE COMMA_SYMBOL3003_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    COMMA_SYMBOL3003       = NULL;
    identifier3002.tree = NULL;

    identifier3004.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    COMMA_SYMBOL3003_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2726:16: ( identifier ( options {greedy=true; } : COMMA_SYMBOL identifier )* )
        // MySQL.g:2727:2: identifier ( options {greedy=true; } : COMMA_SYMBOL identifier )*
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            FOLLOWPUSH(FOLLOW_identifier_in_identifier_list15567);
            identifier3002=identifier(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruleidentifier_listEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier3002.tree);

            // MySQL.g:2727:13: ( options {greedy=true; } : COMMA_SYMBOL identifier )*

            for (;;)
            {
                int alt873=2;
                switch ( LA(1) )
                {
                case COMMA_SYMBOL:
                	{
                		{
                		   /* dfaLoopbackState(k,edges,eotPredictsAlt,description,stateNumber,semPredState)
                		    */
                		    int LA873_15 = LA(2);
                		    if ( (LA873_15 == DES_KEY_FILE_SYMBOL))
                		    {
                		        alt873=1;
                		    }
                		    else if ( (LA873_15 == HOSTS_SYMBOL))
                		    {
                		        alt873=1;
                		    }
                		    else if ( (LA873_15 == ENGINE_SYMBOL || LA873_15 == ERROR_SYMBOL || LA873_15 == GENERAL_SYMBOL || LA873_15 == RELAY_SYMBOL || LA873_15 == SLOW_SYMBOL))
                		    {
                		        alt873=1;
                		    }
                		    else if ( (LA873_15 == LOGS_SYMBOL))
                		    {
                		        alt873=1;
                		    }
                		    else if ( (LA873_15 == PRIVILEGES_SYMBOL))
                		    {
                		        alt873=1;
                		    }
                		    else if ( (LA873_15 == QUERY_SYMBOL))
                		    {
                		        alt873=1;
                		    }
                		    else if ( (LA873_15 == STATUS_SYMBOL))
                		    {
                		        alt873=1;
                		    }
                		    else if ( (LA873_15 == TABLES_SYMBOL))
                		    {
                		        alt873=1;
                		    }
                		    else if ( (((LA873_15 >= ACTION_SYMBOL) && (LA873_15 <= DELAY_KEY_WRITE_SYMBOL)) || ((LA873_15 >= DIAGNOSTICS_SYMBOL) && (LA873_15 <= ENGINES_SYMBOL)) || ((LA873_15 >= ENUM_SYMBOL) && (LA873_15 <= ERRORS_SYMBOL)) || ((LA873_15 >= ESCAPE_SYMBOL) && (LA873_15 <= FUNCTION_SYMBOL)) || ((LA873_15 >= GEOMETRYCOLLECTION_SYMBOL) && (LA873_15 <= HASH_SYMBOL)) || ((LA873_15 >= HOUR_SYMBOL) && (LA873_15 <= LOGFILE_SYMBOL)) || ((LA873_15 >= MASTER_AUTO_POSITION_SYMBOL) && (LA873_15 <= PREV_SYMBOL)) || ((LA873_15 >= PROCESSLIST_SYMBOL) && (LA873_15 <= QUARTER_SYMBOL)) || ((LA873_15 >= QUICK_SYMBOL) && (LA873_15 <= RELAY_LOG_POS_SYMBOL)) || ((LA873_15 >= RELAY_THREAD_SYMBOL) && (LA873_15 <= SIMPLE_SYMBOL)) || ((LA873_15 >= SNAPSHOT_SYMBOL) && (LA873_15 <= STATS_SAMPLE_PAGES_SYMBOL)) || ((LA873_15 >= STORAGE_SYMBOL) && (LA873_15 <= TABLESPACE_SYMBOL)) || ((LA873_15 >= TABLE_CHECKSUM_SYMBOL) && (LA873_15 <= PARTITION_SYMBOL)) || LA873_15 == BACK_TICK_QUOTED_ID || LA873_15 == DOUBLE_QUOTED_TEXT || LA873_15 == IDENTIFIER))
                		    {
                		        alt873=1;
                		    }

                		}
                	}
                    break;

                }

                switch (alt873)
                {
            	case 1:
            	    // MySQL.g:2727:43: COMMA_SYMBOL identifier
            	    {
            	        COMMA_SYMBOL3003 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_identifier_list15583);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleidentifier_listEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        COMMA_SYMBOL3003_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL3003));
            	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL3003_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_identifier_in_identifier_list15585);
            	        identifier3004=identifier(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleidentifier_listEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier3004.tree);

            	    }
            	    break;

            	default:
            	    goto loop873;	/* break out of the loop */
            	    break;
                }
            }
            loop873: ; /* 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:2730: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_SYMBOL3005;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL3007;
    MySQLParser_identifier_list_return identifier_list3006;
    #undef	RETURN_TYPE_identifier_list3006
    #define	RETURN_TYPE_identifier_list3006 MySQLParser_identifier_list_return

    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL3005_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL3007_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    OPEN_PAR_SYMBOL3005       = NULL;
    CLOSE_PAR_SYMBOL3007       = NULL;
    identifier_list3006.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    OPEN_PAR_SYMBOL3005_tree   = NULL;
    CLOSE_PAR_SYMBOL3007_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2730:33: ( OPEN_PAR_SYMBOL identifier_list CLOSE_PAR_SYMBOL )
        // MySQL.g:2731:2: OPEN_PAR_SYMBOL identifier_list CLOSE_PAR_SYMBOL
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            OPEN_PAR_SYMBOL3005 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_identifier_list_with_parentheses15596);
            if  (HASEXCEPTION())
            {
                goto ruleidentifier_list_with_parenthesesEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            OPEN_PAR_SYMBOL3005_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL3005));
            ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL3005_tree);
            }

            FOLLOWPUSH(FOLLOW_identifier_list_in_identifier_list_with_parentheses15598);
            identifier_list3006=identifier_list(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto ruleidentifier_list_with_parenthesesEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier_list3006.tree);

            CLOSE_PAR_SYMBOL3007 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_identifier_list_with_parentheses15600);
            if  (HASEXCEPTION())
            {
                goto ruleidentifier_list_with_parenthesesEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            CLOSE_PAR_SYMBOL3007_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL3007));
            ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL3007_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:2734: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    INTEGER3008;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL3009;
    pANTLR3_COMMON_TOKEN    INTEGER3010;

    pANTLR3_BASE_TREE INTEGER3008_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL3009_tree;
    pANTLR3_BASE_TREE INTEGER3010_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    INTEGER3008       = NULL;
    COMMA_SYMBOL3009       = NULL;
    INTEGER3010       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    INTEGER3008_tree   = NULL;
    COMMA_SYMBOL3009_tree   = NULL;
    INTEGER3010_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2734:13: ( INTEGER ( COMMA_SYMBOL INTEGER )* )
        // MySQL.g:2735:2: INTEGER ( COMMA_SYMBOL INTEGER )*
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            INTEGER3008 = (pANTLR3_COMMON_TOKEN) MATCHT(INTEGER, &FOLLOW_INTEGER_in_integer_list15609);
            if  (HASEXCEPTION())
            {
                goto ruleinteger_listEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            INTEGER3008_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INTEGER3008));
            ADAPTOR->addChild(ADAPTOR, root_0, INTEGER3008_tree);
            }

            // MySQL.g:2735:10: ( COMMA_SYMBOL INTEGER )*

            for (;;)
            {
                int alt874=2;
                switch ( LA(1) )
                {
                case COMMA_SYMBOL:
                	{
                		alt874=1;
                	}
                    break;

                }

                switch (alt874)
                {
            	case 1:
            	    // MySQL.g:2735:11: COMMA_SYMBOL INTEGER
            	    {
            	        COMMA_SYMBOL3009 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_integer_list15612);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleinteger_listEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        COMMA_SYMBOL3009_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL3009));
            	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL3009_tree);
            	        }

            	        INTEGER3010 = (pANTLR3_COMMON_TOKEN) MATCHT(INTEGER, &FOLLOW_INTEGER_in_integer_list15614);
            	        if  (HASEXCEPTION())
            	        {
            	            goto ruleinteger_listEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        INTEGER3010_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INTEGER3010));
            	        ADAPTOR->addChild(ADAPTOR, root_0, INTEGER3010_tree);
            	        }

            	    }
            	    break;

            	default:
            	    goto loop874;	/* break out of the loop */
            	    break;
                }
            }
            loop874: ; /* 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:2738: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_SYMBOL3011;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL3013;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL3015;
    MySQLParser_string_literal_return string_literal3012;
    #undef	RETURN_TYPE_string_literal3012
    #define	RETURN_TYPE_string_literal3012 MySQLParser_string_literal_return

    MySQLParser_string_literal_return string_literal3014;
    #undef	RETURN_TYPE_string_literal3014
    #define	RETURN_TYPE_string_literal3014 MySQLParser_string_literal_return

    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL3011_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL3013_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL3015_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    OPEN_PAR_SYMBOL3011       = NULL;
    COMMA_SYMBOL3013       = NULL;
    CLOSE_PAR_SYMBOL3015       = NULL;
    string_literal3012.tree = NULL;

    string_literal3014.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    OPEN_PAR_SYMBOL3011_tree   = NULL;
    COMMA_SYMBOL3013_tree   = NULL;
    CLOSE_PAR_SYMBOL3015_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2738:12: ( OPEN_PAR_SYMBOL string_literal ( COMMA_SYMBOL string_literal )* CLOSE_PAR_SYMBOL )
        // MySQL.g:2739:2: OPEN_PAR_SYMBOL string_literal ( COMMA_SYMBOL string_literal )* CLOSE_PAR_SYMBOL
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            OPEN_PAR_SYMBOL3011 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_string_list15625);
            if  (HASEXCEPTION())
            {
                goto rulestring_listEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            OPEN_PAR_SYMBOL3011_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL3011));
            ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL3011_tree);
            }

            FOLLOWPUSH(FOLLOW_string_literal_in_string_list15627);
            string_literal3012=string_literal(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulestring_listEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_literal3012.tree);

            // MySQL.g:2739:33: ( COMMA_SYMBOL string_literal )*

            for (;;)
            {
                int alt875=2;
                switch ( LA(1) )
                {
                case COMMA_SYMBOL:
                	{
                		alt875=1;
                	}
                    break;

                }

                switch (alt875)
                {
            	case 1:
            	    // MySQL.g:2739:34: COMMA_SYMBOL string_literal
            	    {
            	        COMMA_SYMBOL3013 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_string_list15630);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulestring_listEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        COMMA_SYMBOL3013_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL3013));
            	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL3013_tree);
            	        }

            	        FOLLOWPUSH(FOLLOW_string_literal_in_string_list15632);
            	        string_literal3014=string_literal(ctx);

            	        FOLLOWPOP();
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulestring_listEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_literal3014.tree);

            	    }
            	    break;

            	default:
            	    goto loop875;	/* break out of the loop */
            	    break;
                }
            }
            loop875: ; /* Jump out to here if this rule does not match */


            CLOSE_PAR_SYMBOL3015 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_string_list15636);
            if  (HASEXCEPTION())
            {
                goto rulestring_listEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            CLOSE_PAR_SYMBOL3015_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL3015));
            ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL3015_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:2742: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_literal3016;
    #undef	RETURN_TYPE_string_literal3016
    #define	RETURN_TYPE_string_literal3016 MySQLParser_string_literal_return

    MySQLParser_number_literal_return number_literal3017;
    #undef	RETURN_TYPE_number_literal3017
    #define	RETURN_TYPE_number_literal3017 MySQLParser_number_literal_return

    MySQLParser_hex_literal_return hex_literal3018;
    #undef	RETURN_TYPE_hex_literal3018
    #define	RETURN_TYPE_hex_literal3018 MySQLParser_hex_literal_return

    MySQLParser_bool_literal_return bool_literal3019;
    #undef	RETURN_TYPE_bool_literal3019
    #define	RETURN_TYPE_bool_literal3019 MySQLParser_bool_literal_return

    MySQLParser_bit_literal_return bit_literal3020;
    #undef	RETURN_TYPE_bit_literal3020
    #define	RETURN_TYPE_bit_literal3020 MySQLParser_bit_literal_return

    MySQLParser_null_literal_return null_literal3021;
    #undef	RETURN_TYPE_null_literal3021
    #define	RETURN_TYPE_null_literal3021 MySQLParser_null_literal_return

    MySQLParser_temporal_literal_return temporal_literal3022;
    #undef	RETURN_TYPE_temporal_literal3022
    #define	RETURN_TYPE_temporal_literal3022 MySQLParser_temporal_literal_return


    /* Initialize rule variables
     */

    root_0 = NULL;

    string_literal3016.tree = NULL;

    number_literal3017.tree = NULL;

    hex_literal3018.tree = NULL;

    bool_literal3019.tree = NULL;

    bit_literal3020.tree = NULL;

    null_literal3021.tree = NULL;

    temporal_literal3022.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;




    retval.tree  = NULL;

    {
        {
            //  MySQL.g:2742:8: ( string_literal | number_literal | hex_literal | bool_literal |{...}? => bit_literal | null_literal |{...}? temporal_literal )

            ANTLR3_UINT32 alt876;

            alt876=7;

            {
                int LA876_0 = LA(1);
                if ( (LA876_0 == NCHAR_TEXT || LA876_0 == SINGLE_QUOTED_TEXT))
                {
                    alt876=1;
                }
                else if ( (LA876_0 == UNDERSCORE_CHARSET))
                {
                    {
                        int LA876_2 = LA(2);
                        if ( (LA876_2 == DOUBLE_QUOTED_TEXT || LA876_2 == SINGLE_QUOTED_TEXT))
                        {
                            alt876=1;
                        }
                        else if ( (((LA876_2 >= HEXNUMBER) && (LA876_2 <= HEXSTRING))))
                        {
                            alt876=3;
                        }
                        else if ( ((SERVER_VERSION >= 50003)) && (((LA876_2 >= BITNUMBER) && (LA876_2 <= BITSTRING))))
                        {
                            alt876=5;
                        }
                        else
                        {
                            if (BACKTRACKING>0)
                            {
                                FAILEDFLAG = ANTLR3_TRUE;
                                return retval;
                            }


                            CONSTRUCTEX();
                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                            EXCEPTION->message      = (void *)"";
                            EXCEPTION->decisionNum  = 876;
                            EXCEPTION->state        = 2;


                            goto ruleliteralEx;

                        }
                    }
                }
                else if ( ((!SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA876_0 == DOUBLE_QUOTED_TEXT))
                {
                    alt876=1;
                }
                else if ( (LA876_0 == FLOAT || LA876_0 == INTEGER))
                {
                    alt876=2;
                }
                else if ( (((LA876_0 >= HEXNUMBER) && (LA876_0 <= HEXSTRING))))
                {
                    alt876=3;
                }
                else if ( (LA876_0 == FALSE_SYMBOL || LA876_0 == TRUE_SYMBOL))
                {
                    alt876=4;
                }
                else if ( ((SERVER_VERSION >= 50003)) && (((LA876_0 >= BITNUMBER) && (LA876_0 <= BITSTRING))))
                {
                    alt876=5;
                }
                else if ( (LA876_0 == NULL2_SYMBOL || LA876_0 == NULL_SYMBOL))
                {
                    alt876=6;
                }
                else if ( (LA876_0 == DATE_SYMBOL || ((LA876_0 >= TIMESTAMP_SYMBOL) && (LA876_0 <= TIME_SYMBOL))))
                {
                    alt876=7;
                }
                else
                {
                    if (BACKTRACKING>0)
                    {
                        FAILEDFLAG = ANTLR3_TRUE;
                        return retval;
                    }


                    CONSTRUCTEX();
                    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                    EXCEPTION->message      = (void *)"";
                    EXCEPTION->decisionNum  = 876;
                    EXCEPTION->state        = 0;


                    goto ruleliteralEx;

                }
            }
            switch (alt876)
            {
        	case 1:
        	    // MySQL.g:2743:2: string_literal
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_string_literal_in_literal15645);
        	        string_literal3016=string_literal(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleliteralEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_literal3016.tree);

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:2744:4: number_literal
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_number_literal_in_literal15650);
        	        number_literal3017=number_literal(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleliteralEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, number_literal3017.tree);

        	    }
        	    break;
        	case 3:
        	    // MySQL.g:2745:4: hex_literal
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_hex_literal_in_literal15655);
        	        hex_literal3018=hex_literal(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleliteralEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, hex_literal3018.tree);

        	    }
        	    break;
        	case 4:
        	    // MySQL.g:2746:4: bool_literal
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_bool_literal_in_literal15660);
        	        bool_literal3019=bool_literal(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleliteralEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, bool_literal3019.tree);

        	    }
        	    break;
        	case 5:
        	    // MySQL.g:2747: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_literal15669);
        	        bit_literal3020=bit_literal(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleliteralEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, bit_literal3020.tree);

        	    }
        	    break;
        	case 6:
        	    // MySQL.g:2748:4: null_literal
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_null_literal_in_literal15674);
        	        null_literal3021=null_literal(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleliteralEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, null_literal3021.tree);

        	    }
        	    break;
        	case 7:
        	    // MySQL.g:2750: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_literal15686);
        	        temporal_literal3022=temporal_literal(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruleliteralEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, temporal_literal3022.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:2755: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 string3023;
    #undef	RETURN_TYPE_string3023
    #define	RETURN_TYPE_string3023 MySQLParser_string_return

    pANTLR3_REWRITE_RULE_SUBTREE_STREAM stream_string;
    /* Initialize rule variables
     */

    root_0 = NULL;

    string3023.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:2755:15: ( string -> ^( STRING string ) )
        // MySQL.g:2756:2: string
        {
            FOLLOWPUSH(FOLLOW_string_in_string_literal15697);
            string3023=string(ctx);

            FOLLOWPOP();
            if  (HASEXCEPTION())
            {
                goto rulestring_literalEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) { CREATE_stream_string; stream_string->add(stream_string, string3023.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;
            	// 2756:9: -> ^( STRING string )
            	{
            	    // MySQL.g:2756: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:2759: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_TEXT3024;
    pANTLR3_COMMON_TOKEN    UNDERSCORE_CHARSET3025;
    pANTLR3_COMMON_TOKEN    SINGLE_QUOTED_TEXT3026;
    pANTLR3_COMMON_TOKEN    DOUBLE_QUOTED_TEXT3027;

    pANTLR3_BASE_TREE NCHAR_TEXT3024_tree;
    pANTLR3_BASE_TREE UNDERSCORE_CHARSET3025_tree;
    pANTLR3_BASE_TREE SINGLE_QUOTED_TEXT3026_tree;
    pANTLR3_BASE_TREE DOUBLE_QUOTED_TEXT3027_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    NCHAR_TEXT3024       = NULL;
    UNDERSCORE_CHARSET3025       = NULL;
    SINGLE_QUOTED_TEXT3026       = NULL;
    DOUBLE_QUOTED_TEXT3027       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    NCHAR_TEXT3024_tree   = NULL;
    UNDERSCORE_CHARSET3025_tree   = NULL;
    SINGLE_QUOTED_TEXT3026_tree   = NULL;
    DOUBLE_QUOTED_TEXT3027_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:2759:7: ( NCHAR_TEXT | ( UNDERSCORE_CHARSET )? ( options {greedy=true; } : SINGLE_QUOTED_TEXT |{...}? => DOUBLE_QUOTED_TEXT )+ )

            ANTLR3_UINT32 alt879;

            alt879=2;

            {
                int LA879_0 = LA(1);
                if ( (LA879_0 == NCHAR_TEXT))
                {
                    alt879=1;
                }
                else if ( (LA879_0 == SINGLE_QUOTED_TEXT || LA879_0 == UNDERSCORE_CHARSET))
                {
                    alt879=2;
                }
                else if ( ((!SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA879_0 == DOUBLE_QUOTED_TEXT))
                {
                    alt879=2;
                }
                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 rulestringEx;

                }
            }
            switch (alt879)
            {
        	case 1:
        	    // MySQL.g:2760:2: NCHAR_TEXT
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        NCHAR_TEXT3024 = (pANTLR3_COMMON_TOKEN) MATCHT(NCHAR_TEXT, &FOLLOW_NCHAR_TEXT_in_string15714);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulestringEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        NCHAR_TEXT3024_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, NCHAR_TEXT3024));
        	        ADAPTOR->addChild(ADAPTOR, root_0, NCHAR_TEXT3024_tree);
        	        }

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:2761:4: ( UNDERSCORE_CHARSET )? ( options {greedy=true; } : SINGLE_QUOTED_TEXT |{...}? => DOUBLE_QUOTED_TEXT )+
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        // MySQL.g:2761:4: ( UNDERSCORE_CHARSET )?
        	        {
        	            int alt877=2;
        	            switch ( LA(1) )
        	            {
        	                case UNDERSCORE_CHARSET:
        	                	{
        	                		alt877=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt877)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2761:4: UNDERSCORE_CHARSET
        	        	    {
        	        	        UNDERSCORE_CHARSET3025 = (pANTLR3_COMMON_TOKEN) MATCHT(UNDERSCORE_CHARSET, &FOLLOW_UNDERSCORE_CHARSET_in_string15719);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulestringEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        UNDERSCORE_CHARSET3025_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, UNDERSCORE_CHARSET3025));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, UNDERSCORE_CHARSET3025_tree);
        	        	        }

        	        	    }
        	        	    break;

        	            }
        	        }

        	        // MySQL.g:2761:24: ( options {greedy=true; } : SINGLE_QUOTED_TEXT |{...}? => DOUBLE_QUOTED_TEXT )+
        	        {
        	            int cnt878=0;

        	            for (;;)
        	            {
        	                int alt878=3;
        	        	{
        	        	   /* dfaLoopbackState(k,edges,eotPredictsAlt,description,stateNumber,semPredState)
        	        	    */
        	        	    int LA878_0 = LA(1);
        	        	    if ( ((((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES)))||((!SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))))) && (LA878_0 == DOUBLE_QUOTED_TEXT))
        	        	    {
        	        	        {
        	        	           /* dfaLoopbackState(k,edges,eotPredictsAlt,description,stateNumber,semPredState)
        	        	            */
        	        	            int LA878_68 = LA(2);
        	        	            if ( ((!SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))))
        	        	            {
        	        	                alt878=2;
        	        	            }

        	        	        }
        	        	    }
        	        	    else if ( (LA878_0 == SINGLE_QUOTED_TEXT))
        	        	    {
        	        	        alt878=1;
        	        	    }

        	        	}
        	        	switch (alt878)
        	        	{
        	        	    case 1:
        	        	        // MySQL.g:2761:54: SINGLE_QUOTED_TEXT
        	        	        {
        	        	            SINGLE_QUOTED_TEXT3026 = (pANTLR3_COMMON_TOKEN) MATCHT(SINGLE_QUOTED_TEXT, &FOLLOW_SINGLE_QUOTED_TEXT_in_string15736);
        	        	            if  (HASEXCEPTION())
        	        	            {
        	        	                goto rulestringEx;
        	        	            }
        	        	            if (HASFAILED())
        	        	            {
        	        	                return retval;
        	        	            }

        	        	            if ( BACKTRACKING==0 ) {
        	        	            SINGLE_QUOTED_TEXT3026_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SINGLE_QUOTED_TEXT3026));
        	        	            ADAPTOR->addChild(ADAPTOR, root_0, SINGLE_QUOTED_TEXT3026_tree);
        	        	            }

        	        	        }
        	        	        break;
        	        	    case 2:
        	        	        // MySQL.g:2761: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_TEXT3027 = (pANTLR3_COMMON_TOKEN) MATCHT(DOUBLE_QUOTED_TEXT, &FOLLOW_DOUBLE_QUOTED_TEXT_in_string15744);
        	        	            if  (HASEXCEPTION())
        	        	            {
        	        	                goto rulestringEx;
        	        	            }
        	        	            if (HASFAILED())
        	        	            {
        	        	                return retval;
        	        	            }

        	        	            if ( BACKTRACKING==0 ) {
        	        	            DOUBLE_QUOTED_TEXT3027_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DOUBLE_QUOTED_TEXT3027));
        	        	            ADAPTOR->addChild(ADAPTOR, root_0, DOUBLE_QUOTED_TEXT3027_tree);
        	        	            }

        	        	        }
        	        	        break;

        	        	    default:

        	        		if ( cnt878 >= 1 )
        	        		{
        	        		    goto loop878;
        	        		}
        	        		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;
        	        	}
        	        	cnt878++;
        	            }
        	            loop878: ;	/* 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:2764: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    set3028;

    pANTLR3_BASE_TREE set3028_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    set3028       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    set3028_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2764:15: ( INTEGER | FLOAT )
        // MySQL.g:
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            set3028=(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, set3028))
                );
                PERRORRECOVERY=ANTLR3_FALSE;
                FAILEDFLAG=ANTLR3_FALSE;

            }
            else
            {
                if (BACKTRACKING>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:2769: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_CHARSET3029;
    pANTLR3_COMMON_TOKEN    set3030;

    pANTLR3_BASE_TREE UNDERSCORE_CHARSET3029_tree;
    pANTLR3_BASE_TREE set3030_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    UNDERSCORE_CHARSET3029       = NULL;
    set3030       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    UNDERSCORE_CHARSET3029_tree   = NULL;
    set3030_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2769:12: ( ( UNDERSCORE_CHARSET )? ( HEXNUMBER | HEXSTRING ) )
        // MySQL.g:2770:2: ( UNDERSCORE_CHARSET )? ( HEXNUMBER | HEXSTRING )
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            // MySQL.g:2770:2: ( UNDERSCORE_CHARSET )?
            {
                int alt880=2;
                switch ( LA(1) )
                {
                    case UNDERSCORE_CHARSET:
                    	{
                    		alt880=1;
                    	}
                        break;
                }

                switch (alt880)
                {
            	case 1:
            	    // MySQL.g:2770:2: UNDERSCORE_CHARSET
            	    {
            	        UNDERSCORE_CHARSET3029 = (pANTLR3_COMMON_TOKEN) MATCHT(UNDERSCORE_CHARSET, &FOLLOW_UNDERSCORE_CHARSET_in_hex_literal15769);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulehex_literalEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        UNDERSCORE_CHARSET3029_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, UNDERSCORE_CHARSET3029));
            	        ADAPTOR->addChild(ADAPTOR, root_0, UNDERSCORE_CHARSET3029_tree);
            	        }

            	    }
            	    break;

                }
            }

            set3030=(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, set3030))
                );
                PERRORRECOVERY=ANTLR3_FALSE;
                FAILEDFLAG=ANTLR3_FALSE;

            }
            else
            {
                if (BACKTRACKING>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:2773: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    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:13: ( TRUE_SYMBOL | FALSE_SYMBOL )
        // MySQL.g:
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            set3031=(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, 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 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:2778: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_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 )? ( BITNUMBER | BITSTRING ) )
        // MySQL.g:2779:2: ( UNDERSCORE_CHARSET )? ( BITNUMBER | BITSTRING )
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            // MySQL.g:2779:2: ( UNDERSCORE_CHARSET )?
            {
                int alt881=2;
                switch ( LA(1) )
                {
                    case UNDERSCORE_CHARSET:
                    	{
                    		alt881=1;
                    	}
                        break;
                }

                switch (alt881)
                {
            	case 1:
            	    // MySQL.g:2779:2: UNDERSCORE_CHARSET
            	    {
            	        UNDERSCORE_CHARSET3032 = (pANTLR3_COMMON_TOKEN) MATCHT(UNDERSCORE_CHARSET, &FOLLOW_UNDERSCORE_CHARSET_in_bit_literal15801);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulebit_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) >= BITNUMBER) && (LA(1) <= BITSTRING)) )
            {
                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 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:2782: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    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: ( NULL_SYMBOL | NULL2_SYMBOL )
        // MySQL.g:
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            set3034=(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, 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 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:2787: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_SYMBOL3035;
    pANTLR3_COMMON_TOKEN    SINGLE_QUOTED_TEXT3036;
    pANTLR3_COMMON_TOKEN    TIME_SYMBOL3037;
    pANTLR3_COMMON_TOKEN    SINGLE_QUOTED_TEXT3038;
    pANTLR3_COMMON_TOKEN    TIMESTAMP_SYMBOL3039;
    pANTLR3_COMMON_TOKEN    SINGLE_QUOTED_TEXT3040;

    pANTLR3_BASE_TREE DATE_SYMBOL3035_tree;
    pANTLR3_BASE_TREE SINGLE_QUOTED_TEXT3036_tree;
    pANTLR3_BASE_TREE TIME_SYMBOL3037_tree;
    pANTLR3_BASE_TREE SINGLE_QUOTED_TEXT3038_tree;
    pANTLR3_BASE_TREE TIMESTAMP_SYMBOL3039_tree;
    pANTLR3_BASE_TREE SINGLE_QUOTED_TEXT3040_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    DATE_SYMBOL3035       = NULL;
    SINGLE_QUOTED_TEXT3036       = NULL;
    TIME_SYMBOL3037       = NULL;
    SINGLE_QUOTED_TEXT3038       = NULL;
    TIMESTAMP_SYMBOL3039       = NULL;
    SINGLE_QUOTED_TEXT3040       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    DATE_SYMBOL3035_tree   = NULL;
    SINGLE_QUOTED_TEXT3036_tree   = NULL;
    TIME_SYMBOL3037_tree   = NULL;
    SINGLE_QUOTED_TEXT3038_tree   = NULL;
    TIMESTAMP_SYMBOL3039_tree   = NULL;
    SINGLE_QUOTED_TEXT3040_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:2787:17: ( DATE_SYMBOL SINGLE_QUOTED_TEXT | TIME_SYMBOL SINGLE_QUOTED_TEXT | TIMESTAMP_SYMBOL SINGLE_QUOTED_TEXT )

            ANTLR3_UINT32 alt882;

            alt882=3;

            switch ( LA(1) )
            {
            case DATE_SYMBOL:
            	{
            		alt882=1;
            	}
                break;
            case TIME_SYMBOL:
            	{
            		alt882=2;
            	}
                break;
            case TIMESTAMP_SYMBOL:
            	{
            		alt882=3;
            	}
                break;

            default:
                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 ruletemporal_literalEx;

            }

            switch (alt882)
            {
        	case 1:
        	    // MySQL.g:2788:2: DATE_SYMBOL SINGLE_QUOTED_TEXT
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        DATE_SYMBOL3035 = (pANTLR3_COMMON_TOKEN) MATCHT(DATE_SYMBOL, &FOLLOW_DATE_SYMBOL_in_temporal_literal15833);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruletemporal_literalEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        DATE_SYMBOL3035_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DATE_SYMBOL3035));
        	        ADAPTOR->addChild(ADAPTOR, root_0, DATE_SYMBOL3035_tree);
        	        }

        	        SINGLE_QUOTED_TEXT3036 = (pANTLR3_COMMON_TOKEN) MATCHT(SINGLE_QUOTED_TEXT, &FOLLOW_SINGLE_QUOTED_TEXT_in_temporal_literal15835);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruletemporal_literalEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        SINGLE_QUOTED_TEXT3036_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SINGLE_QUOTED_TEXT3036));
        	        ADAPTOR->addChild(ADAPTOR, root_0, SINGLE_QUOTED_TEXT3036_tree);
        	        }

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:2789:4: TIME_SYMBOL SINGLE_QUOTED_TEXT
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        TIME_SYMBOL3037 = (pANTLR3_COMMON_TOKEN) MATCHT(TIME_SYMBOL, &FOLLOW_TIME_SYMBOL_in_temporal_literal15840);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruletemporal_literalEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        TIME_SYMBOL3037_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, TIME_SYMBOL3037));
        	        ADAPTOR->addChild(ADAPTOR, root_0, TIME_SYMBOL3037_tree);
        	        }

        	        SINGLE_QUOTED_TEXT3038 = (pANTLR3_COMMON_TOKEN) MATCHT(SINGLE_QUOTED_TEXT, &FOLLOW_SINGLE_QUOTED_TEXT_in_temporal_literal15842);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruletemporal_literalEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        SINGLE_QUOTED_TEXT3038_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SINGLE_QUOTED_TEXT3038));
        	        ADAPTOR->addChild(ADAPTOR, root_0, SINGLE_QUOTED_TEXT3038_tree);
        	        }

        	    }
        	    break;
        	case 3:
        	    // MySQL.g:2790:4: TIMESTAMP_SYMBOL SINGLE_QUOTED_TEXT
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        TIMESTAMP_SYMBOL3039 = (pANTLR3_COMMON_TOKEN) MATCHT(TIMESTAMP_SYMBOL, &FOLLOW_TIMESTAMP_SYMBOL_in_temporal_literal15847);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruletemporal_literalEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        TIMESTAMP_SYMBOL3039_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, TIMESTAMP_SYMBOL3039));
        	        ADAPTOR->addChild(ADAPTOR, root_0, TIMESTAMP_SYMBOL3039_tree);
        	        }

        	        SINGLE_QUOTED_TEXT3040 = (pANTLR3_COMMON_TOKEN) MATCHT(SINGLE_QUOTED_TEXT, &FOLLOW_SINGLE_QUOTED_TEXT_in_temporal_literal15849);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruletemporal_literalEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        SINGLE_QUOTED_TEXT3040_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, SINGLE_QUOTED_TEXT3040));
        	        ADAPTOR->addChild(ADAPTOR, root_0, SINGLE_QUOTED_TEXT3040_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:2795: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    set3041;

    pANTLR3_BASE_TREE set3041_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    set3041       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    set3041_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2795:13: ( INTEGER_SYMBOL | INT_SYMBOL | TINYINT_SYMBOL | SMALLINT_SYMBOL | MEDIUMINT_SYMBOL | BIGINT_SYMBOL )
        // MySQL.g:
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            set3041=(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, set3041))
                );
                PERRORRECOVERY=ANTLR3_FALSE;
                FAILEDFLAG=ANTLR3_FALSE;

            }
            else
            {
                if (BACKTRACKING>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:2804: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_SYMBOL3042;
    pANTLR3_COMMON_TOKEN    DOUBLE_SYMBOL3043;
    pANTLR3_COMMON_TOKEN    PRECISION_SYMBOL3044;

    pANTLR3_BASE_TREE REAL_SYMBOL3042_tree;
    pANTLR3_BASE_TREE DOUBLE_SYMBOL3043_tree;
    pANTLR3_BASE_TREE PRECISION_SYMBOL3044_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    REAL_SYMBOL3042       = NULL;
    DOUBLE_SYMBOL3043       = NULL;
    PRECISION_SYMBOL3044       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    REAL_SYMBOL3042_tree   = NULL;
    DOUBLE_SYMBOL3043_tree   = NULL;
    PRECISION_SYMBOL3044_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:2804:13: ( REAL_SYMBOL | DOUBLE_SYMBOL ( PRECISION_SYMBOL )? )

            ANTLR3_UINT32 alt884;

            alt884=2;

            switch ( LA(1) )
            {
            case REAL_SYMBOL:
            	{
            		alt884=1;
            	}
                break;
            case DOUBLE_SYMBOL:
            	{
            		alt884=2;
            	}
                break;

            default:
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                EXCEPTION->message      = (void *)"";
                EXCEPTION->decisionNum  = 884;
                EXCEPTION->state        = 0;


                goto rulereal_literalEx;

            }

            switch (alt884)
            {
        	case 1:
        	    // MySQL.g:2805:2: REAL_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        REAL_SYMBOL3042 = (pANTLR3_COMMON_TOKEN) MATCHT(REAL_SYMBOL, &FOLLOW_REAL_SYMBOL_in_real_literal15894);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulereal_literalEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        REAL_SYMBOL3042_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, REAL_SYMBOL3042));
        	        ADAPTOR->addChild(ADAPTOR, root_0, REAL_SYMBOL3042_tree);
        	        }

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:2805:16: DOUBLE_SYMBOL ( PRECISION_SYMBOL )?
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        DOUBLE_SYMBOL3043 = (pANTLR3_COMMON_TOKEN) MATCHT(DOUBLE_SYMBOL, &FOLLOW_DOUBLE_SYMBOL_in_real_literal15898);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulereal_literalEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        DOUBLE_SYMBOL3043_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, DOUBLE_SYMBOL3043));
        	        ADAPTOR->addChild(ADAPTOR, root_0, DOUBLE_SYMBOL3043_tree);
        	        }

        	        // MySQL.g:2805:30: ( PRECISION_SYMBOL )?
        	        {
        	            int alt883=2;
        	            switch ( LA(1) )
        	            {
        	                case PRECISION_SYMBOL:
        	                	{
        	                		alt883=1;
        	                	}
        	                    break;
        	            }

        	            switch (alt883)
        	            {
        	        	case 1:
        	        	    // MySQL.g:2805:30: PRECISION_SYMBOL
        	        	    {
        	        	        PRECISION_SYMBOL3044 = (pANTLR3_COMMON_TOKEN) MATCHT(PRECISION_SYMBOL, &FOLLOW_PRECISION_SYMBOL_in_real_literal15900);
        	        	        if  (HASEXCEPTION())
        	        	        {
        	        	            goto rulereal_literalEx;
        	        	        }
        	        	        if (HASFAILED())
        	        	        {
        	        	            return retval;
        	        	        }

        	        	        if ( BACKTRACKING==0 ) {
        	        	        PRECISION_SYMBOL3044_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, PRECISION_SYMBOL3044));
        	        	        ADAPTOR->addChild(ADAPTOR, root_0, PRECISION_SYMBOL3044_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:2808: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_SYMBOL3045;
    pANTLR3_COMMON_TOKEN    INTEGER3046;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL3047;
    pANTLR3_COMMON_TOKEN    INTEGER3048;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL3049;

    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL3045_tree;
    pANTLR3_BASE_TREE INTEGER3046_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL3047_tree;
    pANTLR3_BASE_TREE INTEGER3048_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL3049_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    OPEN_PAR_SYMBOL3045       = NULL;
    INTEGER3046       = NULL;
    COMMA_SYMBOL3047       = NULL;
    INTEGER3048       = NULL;
    CLOSE_PAR_SYMBOL3049       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    OPEN_PAR_SYMBOL3045_tree   = NULL;
    INTEGER3046_tree   = NULL;
    COMMA_SYMBOL3047_tree   = NULL;
    INTEGER3048_tree   = NULL;
    CLOSE_PAR_SYMBOL3049_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2808:14: ( OPEN_PAR_SYMBOL INTEGER ( COMMA_SYMBOL INTEGER )? CLOSE_PAR_SYMBOL )
        // MySQL.g:2810:2: OPEN_PAR_SYMBOL INTEGER ( COMMA_SYMBOL INTEGER )? CLOSE_PAR_SYMBOL
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            OPEN_PAR_SYMBOL3045 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_float_options15912);
            if  (HASEXCEPTION())
            {
                goto rulefloat_optionsEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            OPEN_PAR_SYMBOL3045_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL3045));
            ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL3045_tree);
            }

            INTEGER3046 = (pANTLR3_COMMON_TOKEN) MATCHT(INTEGER, &FOLLOW_INTEGER_in_float_options15914);
            if  (HASEXCEPTION())
            {
                goto rulefloat_optionsEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            INTEGER3046_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INTEGER3046));
            ADAPTOR->addChild(ADAPTOR, root_0, INTEGER3046_tree);
            }

            // MySQL.g:2810:26: ( COMMA_SYMBOL INTEGER )?
            {
                int alt885=2;
                switch ( LA(1) )
                {
                    case COMMA_SYMBOL:
                    	{
                    		alt885=1;
                    	}
                        break;
                }

                switch (alt885)
                {
            	case 1:
            	    // MySQL.g:2810:27: COMMA_SYMBOL INTEGER
            	    {
            	        COMMA_SYMBOL3047 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_float_options15917);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulefloat_optionsEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        COMMA_SYMBOL3047_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL3047));
            	        ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL3047_tree);
            	        }

            	        INTEGER3048 = (pANTLR3_COMMON_TOKEN) MATCHT(INTEGER, &FOLLOW_INTEGER_in_float_options15919);
            	        if  (HASEXCEPTION())
            	        {
            	            goto rulefloat_optionsEx;
            	        }
            	        if (HASFAILED())
            	        {
            	            return retval;
            	        }

            	        if ( BACKTRACKING==0 ) {
            	        INTEGER3048_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INTEGER3048));
            	        ADAPTOR->addChild(ADAPTOR, root_0, INTEGER3048_tree);
            	        }

            	    }
            	    break;

                }
            }

            CLOSE_PAR_SYMBOL3049 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_float_options15923);
            if  (HASEXCEPTION())
            {
                goto rulefloat_optionsEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            CLOSE_PAR_SYMBOL3049_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL3049));
            ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL3049_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:2813: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_SYMBOL3050;
    pANTLR3_COMMON_TOKEN    INTEGER3051;
    pANTLR3_COMMON_TOKEN    COMMA_SYMBOL3052;
    pANTLR3_COMMON_TOKEN    INTEGER3053;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL3054;

    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL3050_tree;
    pANTLR3_BASE_TREE INTEGER3051_tree;
    pANTLR3_BASE_TREE COMMA_SYMBOL3052_tree;
    pANTLR3_BASE_TREE INTEGER3053_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL3054_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    OPEN_PAR_SYMBOL3050       = NULL;
    INTEGER3051       = NULL;
    COMMA_SYMBOL3052       = NULL;
    INTEGER3053       = NULL;
    CLOSE_PAR_SYMBOL3054       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    OPEN_PAR_SYMBOL3050_tree   = NULL;
    INTEGER3051_tree   = NULL;
    COMMA_SYMBOL3052_tree   = NULL;
    INTEGER3053_tree   = NULL;
    CLOSE_PAR_SYMBOL3054_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2813:10: ( OPEN_PAR_SYMBOL INTEGER COMMA_SYMBOL INTEGER CLOSE_PAR_SYMBOL )
        // MySQL.g:2814:2: OPEN_PAR_SYMBOL INTEGER COMMA_SYMBOL INTEGER CLOSE_PAR_SYMBOL
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            OPEN_PAR_SYMBOL3050 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_precision15932);
            if  (HASEXCEPTION())
            {
                goto ruleprecisionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            OPEN_PAR_SYMBOL3050_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL3050));
            ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL3050_tree);
            }

            INTEGER3051 = (pANTLR3_COMMON_TOKEN) MATCHT(INTEGER, &FOLLOW_INTEGER_in_precision15934);
            if  (HASEXCEPTION())
            {
                goto ruleprecisionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            INTEGER3051_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INTEGER3051));
            ADAPTOR->addChild(ADAPTOR, root_0, INTEGER3051_tree);
            }

            COMMA_SYMBOL3052 = (pANTLR3_COMMON_TOKEN) MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_precision15936);
            if  (HASEXCEPTION())
            {
                goto ruleprecisionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            COMMA_SYMBOL3052_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, COMMA_SYMBOL3052));
            ADAPTOR->addChild(ADAPTOR, root_0, COMMA_SYMBOL3052_tree);
            }

            INTEGER3053 = (pANTLR3_COMMON_TOKEN) MATCHT(INTEGER, &FOLLOW_INTEGER_in_precision15938);
            if  (HASEXCEPTION())
            {
                goto ruleprecisionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            INTEGER3053_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, INTEGER3053));
            ADAPTOR->addChild(ADAPTOR, root_0, INTEGER3053_tree);
            }

            CLOSE_PAR_SYMBOL3054 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_precision15940);
            if  (HASEXCEPTION())
            {
                goto ruleprecisionEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            CLOSE_PAR_SYMBOL3054_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL3054));
            ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL3054_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:2817: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_SYMBOL3055;
    pANTLR3_COMMON_TOKEN    NATIONAL_SYMBOL3056;
    pANTLR3_COMMON_TOKEN    CHAR_SYMBOL3057;

    pANTLR3_BASE_TREE NCHAR_SYMBOL3055_tree;
    pANTLR3_BASE_TREE NATIONAL_SYMBOL3056_tree;
    pANTLR3_BASE_TREE CHAR_SYMBOL3057_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    NCHAR_SYMBOL3055       = NULL;
    NATIONAL_SYMBOL3056       = NULL;
    CHAR_SYMBOL3057       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    NCHAR_SYMBOL3055_tree   = NULL;
    NATIONAL_SYMBOL3056_tree   = NULL;
    CHAR_SYMBOL3057_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:2817:14: ( NCHAR_SYMBOL |{...}? NATIONAL_SYMBOL CHAR_SYMBOL )

            ANTLR3_UINT32 alt886;

            alt886=2;

            switch ( LA(1) )
            {
            case NCHAR_SYMBOL:
            	{
            		alt886=1;
            	}
                break;
            case NATIONAL_SYMBOL:
            	{
            		alt886=2;
            	}
                break;

            default:
                if (BACKTRACKING>0)
                {
                    FAILEDFLAG = ANTLR3_TRUE;
                    return retval;
                }

                CONSTRUCTEX();
                EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                EXCEPTION->message      = (void *)"";
                EXCEPTION->decisionNum  = 886;
                EXCEPTION->state        = 0;


                goto rulenchar_literalEx;

            }

            switch (alt886)
            {
        	case 1:
        	    // MySQL.g:2818:2: NCHAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        NCHAR_SYMBOL3055 = (pANTLR3_COMMON_TOKEN) MATCHT(NCHAR_SYMBOL, &FOLLOW_NCHAR_SYMBOL_in_nchar_literal15949);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulenchar_literalEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        NCHAR_SYMBOL3055_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, NCHAR_SYMBOL3055));
        	        ADAPTOR->addChild(ADAPTOR, root_0, NCHAR_SYMBOL3055_tree);
        	        }

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:2819: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_SYMBOL3056 = (pANTLR3_COMMON_TOKEN) MATCHT(NATIONAL_SYMBOL, &FOLLOW_NATIONAL_SYMBOL_in_nchar_literal15956);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulenchar_literalEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        NATIONAL_SYMBOL3056_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, NATIONAL_SYMBOL3056));
        	        ADAPTOR->addChild(ADAPTOR, root_0, NATIONAL_SYMBOL3056_tree);
        	        }

        	        CHAR_SYMBOL3057 = (pANTLR3_COMMON_TOKEN) MATCHT(CHAR_SYMBOL, &FOLLOW_CHAR_SYMBOL_in_nchar_literal15958);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulenchar_literalEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CHAR_SYMBOL3057_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CHAR_SYMBOL3057));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CHAR_SYMBOL3057_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:2822: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_SYMBOL3058;
    pANTLR3_COMMON_TOKEN    VARYING_SYMBOL3059;
    pANTLR3_COMMON_TOKEN    VARCHAR_SYMBOL3060;

    pANTLR3_BASE_TREE CHAR_SYMBOL3058_tree;
    pANTLR3_BASE_TREE VARYING_SYMBOL3059_tree;
    pANTLR3_BASE_TREE VARCHAR_SYMBOL3060_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    CHAR_SYMBOL3058       = NULL;
    VARYING_SYMBOL3059       = NULL;
    VARCHAR_SYMBOL3060       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    CHAR_SYMBOL3058_tree   = NULL;
    VARYING_SYMBOL3059_tree   = NULL;
    VARCHAR_SYMBOL3060_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:2822:16: ( CHAR_SYMBOL VARYING_SYMBOL | VARCHAR_SYMBOL )

            ANTLR3_UINT32 alt887;

            alt887=2;

            switch ( LA(1) )
            {
            case CHAR_SYMBOL:
            	{
            		alt887=1;
            	}
                break;
            case VARCHAR_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 rulevarchar_literalEx;

            }

            switch (alt887)
            {
        	case 1:
        	    // MySQL.g:2823:2: CHAR_SYMBOL VARYING_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        CHAR_SYMBOL3058 = (pANTLR3_COMMON_TOKEN) MATCHT(CHAR_SYMBOL, &FOLLOW_CHAR_SYMBOL_in_varchar_literal15968);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulevarchar_literalEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CHAR_SYMBOL3058_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CHAR_SYMBOL3058));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CHAR_SYMBOL3058_tree);
        	        }

        	        VARYING_SYMBOL3059 = (pANTLR3_COMMON_TOKEN) MATCHT(VARYING_SYMBOL, &FOLLOW_VARYING_SYMBOL_in_varchar_literal15970);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulevarchar_literalEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        VARYING_SYMBOL3059_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, VARYING_SYMBOL3059));
        	        ADAPTOR->addChild(ADAPTOR, root_0, VARYING_SYMBOL3059_tree);
        	        }

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:2824:4: VARCHAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        VARCHAR_SYMBOL3060 = (pANTLR3_COMMON_TOKEN) MATCHT(VARCHAR_SYMBOL, &FOLLOW_VARCHAR_SYMBOL_in_varchar_literal15975);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulevarchar_literalEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        VARCHAR_SYMBOL3060_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, VARCHAR_SYMBOL3060));
        	        ADAPTOR->addChild(ADAPTOR, root_0, VARCHAR_SYMBOL3060_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:2827: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_SYMBOL3061;
    pANTLR3_COMMON_TOKEN    VARCHAR_SYMBOL3062;
    pANTLR3_COMMON_TOKEN    NVARCHAR_SYMBOL3063;
    pANTLR3_COMMON_TOKEN    NCHAR_SYMBOL3064;
    pANTLR3_COMMON_TOKEN    VARCHAR_SYMBOL3065;
    pANTLR3_COMMON_TOKEN    NATIONAL_SYMBOL3066;
    pANTLR3_COMMON_TOKEN    CHAR_SYMBOL3067;
    pANTLR3_COMMON_TOKEN    VARYING_SYMBOL3068;
    pANTLR3_COMMON_TOKEN    NCHAR_SYMBOL3069;
    pANTLR3_COMMON_TOKEN    VARYING_SYMBOL3070;

    pANTLR3_BASE_TREE NATIONAL_SYMBOL3061_tree;
    pANTLR3_BASE_TREE VARCHAR_SYMBOL3062_tree;
    pANTLR3_BASE_TREE NVARCHAR_SYMBOL3063_tree;
    pANTLR3_BASE_TREE NCHAR_SYMBOL3064_tree;
    pANTLR3_BASE_TREE VARCHAR_SYMBOL3065_tree;
    pANTLR3_BASE_TREE NATIONAL_SYMBOL3066_tree;
    pANTLR3_BASE_TREE CHAR_SYMBOL3067_tree;
    pANTLR3_BASE_TREE VARYING_SYMBOL3068_tree;
    pANTLR3_BASE_TREE NCHAR_SYMBOL3069_tree;
    pANTLR3_BASE_TREE VARYING_SYMBOL3070_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    NATIONAL_SYMBOL3061       = NULL;
    VARCHAR_SYMBOL3062       = NULL;
    NVARCHAR_SYMBOL3063       = NULL;
    NCHAR_SYMBOL3064       = NULL;
    VARCHAR_SYMBOL3065       = NULL;
    NATIONAL_SYMBOL3066       = NULL;
    CHAR_SYMBOL3067       = NULL;
    VARYING_SYMBOL3068       = NULL;
    NCHAR_SYMBOL3069       = NULL;
    VARYING_SYMBOL3070       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    NATIONAL_SYMBOL3061_tree   = NULL;
    VARCHAR_SYMBOL3062_tree   = NULL;
    NVARCHAR_SYMBOL3063_tree   = NULL;
    NCHAR_SYMBOL3064_tree   = NULL;
    VARCHAR_SYMBOL3065_tree   = NULL;
    NATIONAL_SYMBOL3066_tree   = NULL;
    CHAR_SYMBOL3067_tree   = NULL;
    VARYING_SYMBOL3068_tree   = NULL;
    NCHAR_SYMBOL3069_tree   = NULL;
    VARYING_SYMBOL3070_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:2827:17: ( NATIONAL_SYMBOL VARCHAR_SYMBOL | NVARCHAR_SYMBOL | NCHAR_SYMBOL VARCHAR_SYMBOL | NATIONAL_SYMBOL CHAR_SYMBOL VARYING_SYMBOL | NCHAR_SYMBOL VARYING_SYMBOL )

            ANTLR3_UINT32 alt888;

            alt888=5;

            switch ( LA(1) )
            {
            case NATIONAL_SYMBOL:
            	{
            		switch ( LA(2) )
            		{
            		case VARCHAR_SYMBOL:
            			{
            				alt888=1;
            			}
            		    break;
            		case CHAR_SYMBOL:
            			{
            				alt888=4;
            			}
            		    break;

            		default:
            		    if (BACKTRACKING>0)
            		    {
            		        FAILEDFLAG = ANTLR3_TRUE;
            		        return retval;
            		    }

            		    CONSTRUCTEX();
            		    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
            		    EXCEPTION->message      = (void *)"";
            		    EXCEPTION->decisionNum  = 888;
            		    EXCEPTION->state        = 1;


            		    goto rulenvarchar_literalEx;

            		}

            	}
                break;
            case NVARCHAR_SYMBOL:
            	{
            		alt888=2;
            	}
                break;
            case NCHAR_SYMBOL:
            	{
            		switch ( LA(2) )
            		{
            		case VARCHAR_SYMBOL:
            			{
            				alt888=3;
            			}
            		    break;
            		case VARYING_SYMBOL:
            			{
            				alt888=5;
            			}
            		    break;

            		default:
            		    if (BACKTRACKING>0)
            		    {
            		        FAILEDFLAG = ANTLR3_TRUE;
            		        return retval;
            		    }

            		    CONSTRUCTEX();
            		    EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
            		    EXCEPTION->message      = (void *)"";
            		    EXCEPTION->decisionNum  = 888;
            		    EXCEPTION->state        = 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  = 888;
                EXCEPTION->state        = 0;


                goto rulenvarchar_literalEx;

            }

            switch (alt888)
            {
        	case 1:
        	    // MySQL.g:2828:2: NATIONAL_SYMBOL VARCHAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        NATIONAL_SYMBOL3061 = (pANTLR3_COMMON_TOKEN) MATCHT(NATIONAL_SYMBOL, &FOLLOW_NATIONAL_SYMBOL_in_nvarchar_literal15984);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulenvarchar_literalEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        NATIONAL_SYMBOL3061_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, NATIONAL_SYMBOL3061));
        	        ADAPTOR->addChild(ADAPTOR, root_0, NATIONAL_SYMBOL3061_tree);
        	        }

        	        VARCHAR_SYMBOL3062 = (pANTLR3_COMMON_TOKEN) MATCHT(VARCHAR_SYMBOL, &FOLLOW_VARCHAR_SYMBOL_in_nvarchar_literal15986);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulenvarchar_literalEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        VARCHAR_SYMBOL3062_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, VARCHAR_SYMBOL3062));
        	        ADAPTOR->addChild(ADAPTOR, root_0, VARCHAR_SYMBOL3062_tree);
        	        }

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:2829:4: NVARCHAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        NVARCHAR_SYMBOL3063 = (pANTLR3_COMMON_TOKEN) MATCHT(NVARCHAR_SYMBOL, &FOLLOW_NVARCHAR_SYMBOL_in_nvarchar_literal15991);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulenvarchar_literalEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        NVARCHAR_SYMBOL3063_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, NVARCHAR_SYMBOL3063));
        	        ADAPTOR->addChild(ADAPTOR, root_0, NVARCHAR_SYMBOL3063_tree);
        	        }

        	    }
        	    break;
        	case 3:
        	    // MySQL.g:2830:4: NCHAR_SYMBOL VARCHAR_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        NCHAR_SYMBOL3064 = (pANTLR3_COMMON_TOKEN) MATCHT(NCHAR_SYMBOL, &FOLLOW_NCHAR_SYMBOL_in_nvarchar_literal15996);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulenvarchar_literalEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        NCHAR_SYMBOL3064_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, NCHAR_SYMBOL3064));
        	        ADAPTOR->addChild(ADAPTOR, root_0, NCHAR_SYMBOL3064_tree);
        	        }

        	        VARCHAR_SYMBOL3065 = (pANTLR3_COMMON_TOKEN) MATCHT(VARCHAR_SYMBOL, &FOLLOW_VARCHAR_SYMBOL_in_nvarchar_literal15998);
        	        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 4:
        	    // MySQL.g:2831:4: NATIONAL_SYMBOL CHAR_SYMBOL VARYING_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        NATIONAL_SYMBOL3066 = (pANTLR3_COMMON_TOKEN) MATCHT(NATIONAL_SYMBOL, &FOLLOW_NATIONAL_SYMBOL_in_nvarchar_literal16003);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulenvarchar_literalEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        NATIONAL_SYMBOL3066_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, NATIONAL_SYMBOL3066));
        	        ADAPTOR->addChild(ADAPTOR, root_0, NATIONAL_SYMBOL3066_tree);
        	        }

        	        CHAR_SYMBOL3067 = (pANTLR3_COMMON_TOKEN) MATCHT(CHAR_SYMBOL, &FOLLOW_CHAR_SYMBOL_in_nvarchar_literal16005);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulenvarchar_literalEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        CHAR_SYMBOL3067_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CHAR_SYMBOL3067));
        	        ADAPTOR->addChild(ADAPTOR, root_0, CHAR_SYMBOL3067_tree);
        	        }

        	        VARYING_SYMBOL3068 = (pANTLR3_COMMON_TOKEN) MATCHT(VARYING_SYMBOL, &FOLLOW_VARYING_SYMBOL_in_nvarchar_literal16007);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulenvarchar_literalEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        VARYING_SYMBOL3068_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, VARYING_SYMBOL3068));
        	        ADAPTOR->addChild(ADAPTOR, root_0, VARYING_SYMBOL3068_tree);
        	        }

        	    }
        	    break;
        	case 5:
        	    // MySQL.g:2832:4: NCHAR_SYMBOL VARYING_SYMBOL
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        NCHAR_SYMBOL3069 = (pANTLR3_COMMON_TOKEN) MATCHT(NCHAR_SYMBOL, &FOLLOW_NCHAR_SYMBOL_in_nvarchar_literal16012);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulenvarchar_literalEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        NCHAR_SYMBOL3069_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, NCHAR_SYMBOL3069));
        	        ADAPTOR->addChild(ADAPTOR, root_0, NCHAR_SYMBOL3069_tree);
        	        }

        	        VARYING_SYMBOL3070 = (pANTLR3_COMMON_TOKEN) MATCHT(VARYING_SYMBOL, &FOLLOW_VARYING_SYMBOL_in_nvarchar_literal16014);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulenvarchar_literalEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        VARYING_SYMBOL3070_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, VARYING_SYMBOL3070));
        	        ADAPTOR->addChild(ADAPTOR, root_0, VARYING_SYMBOL3070_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:2835: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    set3071;

    pANTLR3_BASE_TREE set3071_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    set3071       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    set3071_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2835:20: ( INTEGER | PARAM_MARKER )
        // MySQL.g:
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            set3071=(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, set3071))
                );
                PERRORRECOVERY=ANTLR3_FALSE;
                FAILEDFLAG=ANTLR3_FALSE;

            }
            else
            {
                if (BACKTRACKING>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:2839: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_MARKER3073;
    MySQLParser_string_literal_return string_literal3072;
    #undef	RETURN_TYPE_string_literal3072
    #define	RETURN_TYPE_string_literal3072 MySQLParser_string_literal_return

    pANTLR3_BASE_TREE PARAM_MARKER3073_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    PARAM_MARKER3073       = NULL;
    string_literal3072.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    PARAM_MARKER3073_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:2839:21: ( string_literal | PARAM_MARKER )

            ANTLR3_UINT32 alt889;

            alt889=2;

            {
                int LA889_0 = LA(1);
                if ( (LA889_0 == NCHAR_TEXT || LA889_0 == SINGLE_QUOTED_TEXT || LA889_0 == UNDERSCORE_CHARSET))
                {
                    alt889=1;
                }
                else if ( ((!SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))) && (LA889_0 == DOUBLE_QUOTED_TEXT))
                {
                    alt889=1;
                }
                else if ( (LA889_0 == PARAM_MARKER))
                {
                    alt889=2;
                }
                else
                {
                    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 ruletext_or_param_markerEx;

                }
            }
            switch (alt889)
            {
        	case 1:
        	    // MySQL.g:2840:2: string_literal
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_string_literal_in_text_or_param_marker16036);
        	        string_literal3072=string_literal(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruletext_or_param_markerEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_literal3072.tree);

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:2840:19: PARAM_MARKER
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        PARAM_MARKER3073 = (pANTLR3_COMMON_TOKEN) MATCHT(PARAM_MARKER, &FOLLOW_PARAM_MARKER_in_text_or_param_marker16040);
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruletext_or_param_markerEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        PARAM_MARKER3073_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, PARAM_MARKER3073));
        	        ADAPTOR->addChild(ADAPTOR, root_0, PARAM_MARKER3073_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:2843: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_literal3074;
    #undef	RETURN_TYPE_string_literal3074
    #define	RETURN_TYPE_string_literal3074 MySQLParser_string_literal_return

    MySQLParser_identifier_return identifier3075;
    #undef	RETURN_TYPE_identifier3075
    #define	RETURN_TYPE_identifier3075 MySQLParser_identifier_return


    /* Initialize rule variables
     */

    root_0 = NULL;

    string_literal3074.tree = NULL;

    identifier3075.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;




    retval.tree  = NULL;

    {
        {
            //  MySQL.g:2843:19: ( string_literal | identifier )

            ANTLR3_UINT32 alt890;

            alt890=2;

            {
                int LA890_0 = LA(1);
                if ( (LA890_0 == NCHAR_TEXT || LA890_0 == SINGLE_QUOTED_TEXT || LA890_0 == UNDERSCORE_CHARSET))
                {
                    alt890=1;
                }
                else if ( ((((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES)))||((!SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))))) && (LA890_0 == DOUBLE_QUOTED_TEXT))
                {
                    {
                        int LA890_4 = LA(2);
                        if ( ((!SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))))
                        {
                            alt890=1;
                        }
                        else if ( ((SQL_MODE_ACTIVE(SQL_MODE_ANSI_QUOTES))))
                        {
                            alt890=2;
                        }
                        else
                        {
                            if (BACKTRACKING>0)
                            {
                                FAILEDFLAG = ANTLR3_TRUE;
                                return retval;
                            }


                            CONSTRUCTEX();
                            EXCEPTION->type         = ANTLR3_NO_VIABLE_ALT_EXCEPTION;
                            EXCEPTION->message      = (void *)"";
                            EXCEPTION->decisionNum  = 890;
                            EXCEPTION->state        = 4;


                            goto ruletext_or_identifierEx;

                        }
                    }
                }
                else if ( (((LA890_0 >= ACTION_SYMBOL) && (LA890_0 <= PARTITION_SYMBOL)) || LA890_0 == BACK_TICK_QUOTED_ID || LA890_0 == IDENTIFIER))
                {
                    alt890=2;
                }
                else
                {
                    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 ruletext_or_identifierEx;

                }
            }
            switch (alt890)
            {
        	case 1:
        	    // MySQL.g:2844:2: string_literal
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_string_literal_in_text_or_identifier16049);
        	        string_literal3074=string_literal(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruletext_or_identifierEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, string_literal3074.tree);

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:2844:19: identifier
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_identifier_in_text_or_identifier16053);
        	        identifier3075=identifier(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto ruletext_or_identifierEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, identifier3075.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:2847: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    set3076;

    pANTLR3_BASE_TREE set3076_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    set3076       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    set3076_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2847:15: ( FLOAT | PARAM_MARKER )
        // MySQL.g:
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            set3076=(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, set3076))
                );
                PERRORRECOVERY=ANTLR3_FALSE;
                FAILEDFLAG=ANTLR3_FALSE;

            }
            else
            {
                if (BACKTRACKING>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:2851: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    set3077;

    pANTLR3_BASE_TREE set3077_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    set3077       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    set3077_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2851:12: ( INTEGER | HEXNUMBER | IDENTIFIER )
        // MySQL.g:
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            set3077=(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, set3077))
                );
                PERRORRECOVERY=ANTLR3_FALSE;
                FAILEDFLAG=ANTLR3_FALSE;

            }
            else
            {
                if (BACKTRACKING>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:2857: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_SYMBOL3078;
    pANTLR3_COMMON_TOKEN    CLOSE_PAR_SYMBOL3079;

    pANTLR3_BASE_TREE OPEN_PAR_SYMBOL3078_tree;
    pANTLR3_BASE_TREE CLOSE_PAR_SYMBOL3079_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    OPEN_PAR_SYMBOL3078       = NULL;
    CLOSE_PAR_SYMBOL3079       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    OPEN_PAR_SYMBOL3078_tree   = NULL;
    CLOSE_PAR_SYMBOL3079_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2857:12: ( OPEN_PAR_SYMBOL CLOSE_PAR_SYMBOL )
        // MySQL.g:2858:2: OPEN_PAR_SYMBOL CLOSE_PAR_SYMBOL
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            OPEN_PAR_SYMBOL3078 = (pANTLR3_COMMON_TOKEN) MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_parentheses16095);
            if  (HASEXCEPTION())
            {
                goto ruleparenthesesEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            OPEN_PAR_SYMBOL3078_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, OPEN_PAR_SYMBOL3078));
            ADAPTOR->addChild(ADAPTOR, root_0, OPEN_PAR_SYMBOL3078_tree);
            }

            CLOSE_PAR_SYMBOL3079 = (pANTLR3_COMMON_TOKEN) MATCHT(CLOSE_PAR_SYMBOL, &FOLLOW_CLOSE_PAR_SYMBOL_in_parentheses16097);
            if  (HASEXCEPTION())
            {
                goto ruleparenthesesEx;
            }
            if (HASFAILED())
            {
                return retval;
            }

            if ( BACKTRACKING==0 ) {
            CLOSE_PAR_SYMBOL3079_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, CLOSE_PAR_SYMBOL3079));
            ADAPTOR->addChild(ADAPTOR, root_0, CLOSE_PAR_SYMBOL3079_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:2861: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    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:2861:6: ( EQUAL_OPERATOR | ASSIGN_OPERATOR )
        // MySQL.g:
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            set3080=(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, 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 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:2865: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    set3081;

    pANTLR3_BASE_TREE set3081_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    set3081       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    set3081_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2865:12: ( GLOBAL_SYMBOL | LOCAL_SYMBOL | SESSION_SYMBOL )
        // MySQL.g:
        {
            root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


            set3081=(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, set3081))
                );
                PERRORRECOVERY=ANTLR3_FALSE;
                FAILEDFLAG=ANTLR3_FALSE;

            }
            else
            {
                if (BACKTRACKING>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:2870: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_SYMBOL3083;
    pANTLR3_COMMON_TOKEN    set3084;
    MySQLParser_keyword_sp_return keyword_sp3082;
    #undef	RETURN_TYPE_keyword_sp3082
    #define	RETURN_TYPE_keyword_sp3082 MySQLParser_keyword_sp_return

    pANTLR3_BASE_TREE PARTITION_SYMBOL3083_tree;
    pANTLR3_BASE_TREE set3084_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    PARTITION_SYMBOL3083       = NULL;
    set3084       = NULL;
    keyword_sp3082.tree = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    PARTITION_SYMBOL3083_tree   = NULL;
    set3084_tree   = NULL;


    retval.tree  = NULL;

    {
        {
            //  MySQL.g:2870: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 alt891;

            alt891=3;

            {
                int LA891_0 = LA(1);
                if ( (((LA891_0 >= ACTION_SYMBOL) && (LA891_0 <= YEAR_SYMBOL))))
                {
                    alt891=1;
                }
                else if ( (LA891_0 == PARTITION_SYMBOL))
                {
                    alt891=2;
                }
                else if ( (((LA891_0 >= ASCII_SYMBOL) && (LA891_0 <= XA_SYMBOL))))
                {
                    alt891=3;
                }
                else
                {
                    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 rulekeywordEx;

                }
            }
            switch (alt891)
            {
        	case 1:
        	    // MySQL.g:2871:2: keyword_sp
        	    {
        	        root_0 = (pANTLR3_BASE_TREE)(ADAPTOR->nilNode(ADAPTOR));


        	        FOLLOWPUSH(FOLLOW_keyword_sp_in_keyword16137);
        	        keyword_sp3082=keyword_sp(ctx);

        	        FOLLOWPOP();
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulekeywordEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) ADAPTOR->addChild(ADAPTOR, root_0, keyword_sp3082.tree);

        	    }
        	    break;
        	case 2:
        	    // MySQL.g:2872: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_SYMBOL3083 = (pANTLR3_COMMON_TOKEN) MATCHT(PARTITION_SYMBOL, &FOLLOW_PARTITION_SYMBOL_in_keyword16144);
        	        if  (HASEXCEPTION())
        	        {
        	            goto rulekeywordEx;
        	        }
        	        if (HASFAILED())
        	        {
        	            return retval;
        	        }

        	        if ( BACKTRACKING==0 ) {
        	        PARTITION_SYMBOL3083_tree = (pANTLR3_BASE_TREE)(ADAPTOR->create(ADAPTOR, PARTITION_SYMBOL3083));
        	        ADAPTOR->addChild(ADAPTOR, root_0, PARTITION_SYMBOL3083_tree);
        	        }

        	    }
        	    break;
        	case 3:
        	    // MySQL.g:2873: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));


        	        set3084=(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, 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 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:2938: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    set3085;

    pANTLR3_BASE_TREE set3085_tree;

    /* Initialize rule variables
     */

    root_0 = NULL;

    set3085       = NULL;
    retval.start = LT(1); retval.stop = retval.start;


    set3085_tree   = NULL;


    retval.tree  = NULL;

    {
        // MySQL.g:2938: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));


            set3085=(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, set3085))
                );
                PERRORRECOVERY=ANTLR3_FALSE;
                FAILEDFLAG=ANTLR3_FALSE;

            }
            else
            {
                if (BACKTRACKING>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:872:2: ( qualified_identifier_with_wildcard )
    // MySQL.g:872:3: qualified_identifier_with_wildcard
    {
        FOLLOWPUSH(FOLLOW_qualified_identifier_with_wildcard_in_synpred1_MySQL4400);
        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:1738:4: ( OPEN_PAR_SYMBOL expression COMMA_SYMBOL )
    // MySQL.g:1738:5: OPEN_PAR_SYMBOL expression COMMA_SYMBOL
    {
         MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_synpred2_MySQL9781);
        if  (HASEXCEPTION())
        {
            goto rulesynpred2_MySQLEx;
        }
        if (HASFAILED())
        {
            return ;
        }


        FOLLOWPUSH(FOLLOW_expression_in_synpred2_MySQL9783);
        expression(ctx);

        FOLLOWPOP();
        if  (HASEXCEPTION())
        {
            goto rulesynpred2_MySQLEx;
        }
        if (HASFAILED())
        {
            return ;
        }


         MATCHT(COMMA_SYMBOL, &FOLLOW_COMMA_SYMBOL_in_synpred2_MySQL9785);
        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:1758:5: ( qualified_identifier OPEN_PAR_SYMBOL )
    // MySQL.g:1758:6: qualified_identifier OPEN_PAR_SYMBOL
    {
        FOLLOWPUSH(FOLLOW_qualified_identifier_in_synpred3_MySQL9901);
        qualified_identifier(ctx);

        FOLLOWPOP();
        if  (HASEXCEPTION())
        {
            goto rulesynpred3_MySQLEx;
        }
        if (HASFAILED())
        {
            return ;
        }


         MATCHT(OPEN_PAR_SYMBOL, &FOLLOW_OPEN_PAR_SYMBOL_in_synpred3_MySQL9903);
        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
 * =============================================================================
 */
