Merge branch 'dev' into feat_flinkSql
This commit is contained in:
		
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							@ -1,7 +1,8 @@
 | 
			
		||||
 | 
			
		||||
lexer grammar HiveSqlLexer;
 | 
			
		||||
 | 
			
		||||
// Lexer rules
 | 
			
		||||
T_ACTION          : A C T I O N ; 
 | 
			
		||||
T_ACTION          : A C T I O N ;
 | 
			
		||||
T_ADD2            : A D D ;
 | 
			
		||||
T_ALL             : A L L ;
 | 
			
		||||
T_ALLOCATE        : A L L O C A T E ;
 | 
			
		||||
@ -11,27 +12,27 @@ T_ANSI_NULLS      : A N S I '_' N U L L S ;
 | 
			
		||||
T_ANSI_PADDING    : A N S I '_' P A D D I N G ;
 | 
			
		||||
T_AS              : A S ;
 | 
			
		||||
T_ASC             : A S C ;
 | 
			
		||||
T_ASSOCIATE       : A S S O C I A T E ; 
 | 
			
		||||
T_ASSOCIATE       : A S S O C I A T E ;
 | 
			
		||||
T_AT              : A T ;
 | 
			
		||||
T_AUTO_INCREMENT  : A U T O '_' I N C R E M E N T ;
 | 
			
		||||
T_AVG             : A V G ; 
 | 
			
		||||
T_AVG             : A V G ;
 | 
			
		||||
T_BATCHSIZE       : B A T C H S I Z E ;
 | 
			
		||||
T_BEGIN           : B E G I N ;
 | 
			
		||||
T_BETWEEN         : B E T W E E N ; 
 | 
			
		||||
T_BETWEEN         : B E T W E E N ;
 | 
			
		||||
T_BIGINT          : B I G I N T ;
 | 
			
		||||
T_BINARY_DOUBLE   : B I N A R Y '_' D O U B L E ;
 | 
			
		||||
T_BINARY_FLOAT    : B I N A R Y '_' F L O A T ;
 | 
			
		||||
T_BINARY_INTEGER  : B I N A R Y '_' I N T E G E R ;
 | 
			
		||||
T_BIT             : B I T ;
 | 
			
		||||
T_BODY            : B O D Y ; 
 | 
			
		||||
T_BODY            : B O D Y ;
 | 
			
		||||
T_BREAK           : B R E A K ;
 | 
			
		||||
T_BY              : B Y ;
 | 
			
		||||
T_BYTE            : B Y T E ; 
 | 
			
		||||
T_BYTE            : B Y T E ;
 | 
			
		||||
T_CALL            : C A L L ;
 | 
			
		||||
T_CALLER          : C A L L E R ;
 | 
			
		||||
T_CASCADE         : C A S C A D E ; 
 | 
			
		||||
T_CASCADE         : C A S C A D E ;
 | 
			
		||||
T_CASE            : C A S E ;
 | 
			
		||||
T_CASESPECIFIC    : C A S E S P E C I F I C ; 
 | 
			
		||||
T_CASESPECIFIC    : C A S E S P E C I F I C ;
 | 
			
		||||
T_CAST            : C A S T ;
 | 
			
		||||
T_CHAR            : C H A R ;
 | 
			
		||||
T_CHARACTER       : C H A R A C T E R ;
 | 
			
		||||
@ -39,23 +40,23 @@ T_CHARSET         : C H A R S E T ;
 | 
			
		||||
T_CLIENT          : C L I E N T ;
 | 
			
		||||
T_CLOSE           : C L O S E ;
 | 
			
		||||
T_CLUSTERED       : C L U S T E R E D;
 | 
			
		||||
T_CMP             : C M P ; 
 | 
			
		||||
T_COLLECT         : C O L L E C T ; 
 | 
			
		||||
T_COLLECTION      : C O L L E C T I O N ; 
 | 
			
		||||
T_CMP             : C M P ;
 | 
			
		||||
T_COLLECT         : C O L L E C T ;
 | 
			
		||||
T_COLLECTION      : C O L L E C T I O N ;
 | 
			
		||||
T_COLUMN          : C O L U M N ;
 | 
			
		||||
T_COMMENT         : C O M M E N T;
 | 
			
		||||
T_CONSTANT        : C O N S T A N T ;
 | 
			
		||||
T_COMMIT          : C O M M I T ; 
 | 
			
		||||
T_COMMIT          : C O M M I T ;
 | 
			
		||||
T_COMPRESS        : C O M P R E S S ;
 | 
			
		||||
T_CONCAT          : C O N C A T;
 | 
			
		||||
T_CONDITION       : C O N D I T I O N ;
 | 
			
		||||
T_CONSTRAINT      : C O N S T R A I N T ; 
 | 
			
		||||
T_CONSTRAINT      : C O N S T R A I N T ;
 | 
			
		||||
T_CONTINUE        : C O N T I N U E ;
 | 
			
		||||
T_COPY            : C O P Y ;
 | 
			
		||||
T_COUNT           : C O U N T ;
 | 
			
		||||
T_COUNT_BIG       : C O U N T '_' B I G;
 | 
			
		||||
T_CREATE          : C R E A T E ;
 | 
			
		||||
T_CREATION        : C R E A T I O N ; 
 | 
			
		||||
T_CREATION        : C R E A T I O N ;
 | 
			
		||||
T_CREATOR         : C R E A T O R ;
 | 
			
		||||
T_CS              : C S;
 | 
			
		||||
T_CURRENT         : C U R R E N T ;
 | 
			
		||||
@ -64,79 +65,79 @@ T_CURSOR          : C U R S O R ;
 | 
			
		||||
T_DATABASE        : D A T A B A S E ;
 | 
			
		||||
T_DATA            : D A T A ;
 | 
			
		||||
T_DATE            : D A T E ;
 | 
			
		||||
T_DATETIME        : D A T E T I M E ; 
 | 
			
		||||
T_DATETIME        : D A T E T I M E ;
 | 
			
		||||
T_DAY             : D A Y ;
 | 
			
		||||
T_DAYS            : D A Y S ;
 | 
			
		||||
T_DEC             : D E C ;
 | 
			
		||||
T_DECIMAL         : D E C I M A L ;
 | 
			
		||||
T_DECLARE         : D E C L A R E ;
 | 
			
		||||
T_DEFAULT         : D E F A U L T ;
 | 
			
		||||
T_DEFERRED        : D E F E R R E D ; 
 | 
			
		||||
T_DEFINED         : D E F I N E D ; 
 | 
			
		||||
T_DEFERRED        : D E F E R R E D ;
 | 
			
		||||
T_DEFINED         : D E F I N E D ;
 | 
			
		||||
T_DEFINER         : D E F I N E R ;
 | 
			
		||||
T_DEFINITION      : D E F I N I T I O N ; 
 | 
			
		||||
T_DEFINITION      : D E F I N I T I O N ;
 | 
			
		||||
T_DELETE          : D E L E T E ;
 | 
			
		||||
T_DELIMITED       : D E L I M I T E D ; 
 | 
			
		||||
T_DELIMITER       : D E L I M I T E R ; 
 | 
			
		||||
T_DELIMITED       : D E L I M I T E D ;
 | 
			
		||||
T_DELIMITER       : D E L I M I T E R ;
 | 
			
		||||
T_DESC            : D E S C ;
 | 
			
		||||
T_DESCRIBE        : D E S C R I B E ; 
 | 
			
		||||
T_DESCRIBE        : D E S C R I B E ;
 | 
			
		||||
T_DIAGNOSTICS     : D I A G N O S T I C S ;
 | 
			
		||||
T_DIR             : D I R ;
 | 
			
		||||
T_DIRECTORY       : D I R E C T O R Y ; 
 | 
			
		||||
T_DIRECTORY       : D I R E C T O R Y ;
 | 
			
		||||
T_DISTINCT        : D I S T I N C T ;
 | 
			
		||||
T_DISTRIBUTE      : D I S T R I B U T E ;
 | 
			
		||||
T_DO              : D O ;
 | 
			
		||||
T_DOUBLE          : D O U B L E ;
 | 
			
		||||
T_DROP            : D R O P ;
 | 
			
		||||
T_DYNAMIC         : D Y N A M I C ; 
 | 
			
		||||
T_DYNAMIC         : D Y N A M I C ;
 | 
			
		||||
T_ELSE            : E L S E ;
 | 
			
		||||
T_ELSEIF          : E L S E I F ;
 | 
			
		||||
T_ELSIF           : E L S I F ;
 | 
			
		||||
T_ENABLE          : E N A B L E ;
 | 
			
		||||
T_END             : E N D ;
 | 
			
		||||
T_ENGINE          : E N G I N E ;
 | 
			
		||||
T_ESCAPED         : E S C A P E D ; 
 | 
			
		||||
T_ESCAPED         : E S C A P E D ;
 | 
			
		||||
T_EXCEPT          : E X C E P T ;
 | 
			
		||||
T_EXEC            : E X E C ;
 | 
			
		||||
T_EXECUTE         : E X E C U T E ;
 | 
			
		||||
T_EXCEPTION       : E X C E P T I O N ;
 | 
			
		||||
T_EXCLUSIVE       : E X C L U S I V E ; 
 | 
			
		||||
T_EXISTS          : E X I S T S ; 
 | 
			
		||||
T_EXCLUSIVE       : E X C L U S I V E ;
 | 
			
		||||
T_EXISTS          : E X I S T S ;
 | 
			
		||||
T_EXIT            : E X I T ;
 | 
			
		||||
T_FALLBACK        : F A L L B A C K ;
 | 
			
		||||
T_FALSE           : F A L S E ;
 | 
			
		||||
T_FETCH           : F E T C H ;
 | 
			
		||||
T_FIELDS          : F I E L D S ; 
 | 
			
		||||
T_FIELDS          : F I E L D S ;
 | 
			
		||||
T_FILE            : F I L E ;
 | 
			
		||||
T_FILES           : F I L E S ; 
 | 
			
		||||
T_FILES           : F I L E S ;
 | 
			
		||||
T_FLOAT           : F L O A T ;
 | 
			
		||||
T_FOR             : F O R ;
 | 
			
		||||
T_FOREIGN         : F O R E I G N ; 
 | 
			
		||||
T_FOREIGN         : F O R E I G N ;
 | 
			
		||||
T_FORMAT          : F O R M A T ;
 | 
			
		||||
T_FOUND           : F O U N D ;
 | 
			
		||||
T_FROM            : F R O M ; 
 | 
			
		||||
T_FROM            : F R O M ;
 | 
			
		||||
T_FULL            : F U L L ;
 | 
			
		||||
T_FUNCTION        : F U N C T I O N ;
 | 
			
		||||
T_GET             : G E T ;
 | 
			
		||||
T_GLOBAL          : G L O B A L ; 
 | 
			
		||||
T_GLOBAL          : G L O B A L ;
 | 
			
		||||
T_GO              : G O ;
 | 
			
		||||
T_GRANT           : G R A N T ; 
 | 
			
		||||
T_GRANT           : G R A N T ;
 | 
			
		||||
T_GROUP           : G R O U P ;
 | 
			
		||||
T_HANDLER         : H A N D L E R ;
 | 
			
		||||
T_HASH            : H A S H ;
 | 
			
		||||
T_HAVING          : H A V I N G ;
 | 
			
		||||
T_HDFS            : H D F S ; 
 | 
			
		||||
T_HDFS            : H D F S ;
 | 
			
		||||
T_HIVE            : H I V E ;
 | 
			
		||||
T_HOST            : H O S T ;
 | 
			
		||||
T_IDENTITY        : I D E N T I T Y ; 
 | 
			
		||||
T_IDENTITY        : I D E N T I T Y ;
 | 
			
		||||
T_IF              : I F ;
 | 
			
		||||
T_IGNORE          : I G N O R E ; 
 | 
			
		||||
T_IGNORE          : I G N O R E ;
 | 
			
		||||
T_IMMEDIATE       : I M M E D I A T E ;
 | 
			
		||||
T_IN              : I N ;
 | 
			
		||||
T_INCLUDE         : I N C L U D E ;
 | 
			
		||||
T_INDEX           : I N D E X ;
 | 
			
		||||
T_INITRANS        : I N I T R A N S ;
 | 
			
		||||
T_INNER           : I N N E R ; 
 | 
			
		||||
T_INNER           : I N N E R ;
 | 
			
		||||
T_INOUT           : I N O U T;
 | 
			
		||||
T_INSERT          : I N S E R T ;
 | 
			
		||||
T_INT             : I N T ;
 | 
			
		||||
@ -145,55 +146,55 @@ T_INT4            : I N T '4';
 | 
			
		||||
T_INT8            : I N T '8';
 | 
			
		||||
T_INTEGER         : I N T E G E R ;
 | 
			
		||||
T_INTERSECT       : I N T E R S E C T ;
 | 
			
		||||
T_INTERVAL        : I N T E R V A L ; 
 | 
			
		||||
T_INTERVAL        : I N T E R V A L ;
 | 
			
		||||
T_INTO            : I N T O ;
 | 
			
		||||
T_INVOKER         : I N V O K E R ;
 | 
			
		||||
T_IS              : I S ;
 | 
			
		||||
T_ISOPEN          : I S O P E N ;
 | 
			
		||||
T_ITEMS           : I T E M S ; 
 | 
			
		||||
T_ITEMS           : I T E M S ;
 | 
			
		||||
T_JOIN            : J O I N ;
 | 
			
		||||
T_KEEP            : K E E P; 
 | 
			
		||||
T_KEEP            : K E E P;
 | 
			
		||||
T_KEY             : K E Y ;
 | 
			
		||||
T_KEYS            : K E Y S ;
 | 
			
		||||
T_LANGUAGE        : L A N G U A G E ;
 | 
			
		||||
T_LEAVE           : L E A V E ;
 | 
			
		||||
T_LEFT            : L E F T ;
 | 
			
		||||
T_LIKE            : L I K E ; 
 | 
			
		||||
T_LIKE            : L I K E ;
 | 
			
		||||
T_LIMIT           : L I M I T ;
 | 
			
		||||
T_LINES           : L I N E S ; 
 | 
			
		||||
T_LINES           : L I N E S ;
 | 
			
		||||
T_LOCAL           : L O C A L ;
 | 
			
		||||
T_LOCATION        : L O C A T I O N ;
 | 
			
		||||
T_LOCATOR         : L O C A T O R ; 
 | 
			
		||||
T_LOCATORS        : L O C A T O R S ; 
 | 
			
		||||
T_LOCKS           : L O C K S ; 
 | 
			
		||||
T_LOG             : L O G ; 
 | 
			
		||||
T_LOGGED          : L O G G E D ; 
 | 
			
		||||
T_LOGGING         : L O G G I N G ; 
 | 
			
		||||
T_LOCATOR         : L O C A T O R ;
 | 
			
		||||
T_LOCATORS        : L O C A T O R S ;
 | 
			
		||||
T_LOCKS           : L O C K S ;
 | 
			
		||||
T_LOG             : L O G ;
 | 
			
		||||
T_LOGGED          : L O G G E D ;
 | 
			
		||||
T_LOGGING         : L O G G I N G ;
 | 
			
		||||
T_LOOP            : L O O P ;
 | 
			
		||||
T_MAP             : M A P ; 
 | 
			
		||||
T_MATCHED         : M A T C H E D ; 
 | 
			
		||||
T_MAP             : M A P ;
 | 
			
		||||
T_MATCHED         : M A T C H E D ;
 | 
			
		||||
T_MAX             : M A X ;
 | 
			
		||||
T_MAXTRANS        : M A X T R A N S ; 
 | 
			
		||||
T_MERGE           : M E R G E ; 
 | 
			
		||||
T_MAXTRANS        : M A X T R A N S ;
 | 
			
		||||
T_MERGE           : M E R G E ;
 | 
			
		||||
T_MESSAGE_TEXT    : M E S S A G E '_' T E X T ;
 | 
			
		||||
T_MICROSECOND     : M I C R O S E C O N D ;
 | 
			
		||||
T_MICROSECONDS    : M I C R O S E C O N D S;
 | 
			
		||||
T_MIN             : M I N ;
 | 
			
		||||
T_MULTISET        : M U L T I S E T ; 
 | 
			
		||||
T_NCHAR           : N C H A R ; 
 | 
			
		||||
T_MULTISET        : M U L T I S E T ;
 | 
			
		||||
T_NCHAR           : N C H A R ;
 | 
			
		||||
T_NEW             : N E W ;
 | 
			
		||||
T_NVARCHAR        : N V A R C H A R ; 
 | 
			
		||||
T_NVARCHAR        : N V A R C H A R ;
 | 
			
		||||
T_NO              : N O ;
 | 
			
		||||
T_NOCOUNT         : N O C O U N T ;
 | 
			
		||||
T_NOCOMPRESS      : N O C O M P R E S S ; 
 | 
			
		||||
T_NOCOMPRESS      : N O C O M P R E S S ;
 | 
			
		||||
T_NOLOGGING       : N O L O G G I N G ;
 | 
			
		||||
T_NONE            : N O N E ;
 | 
			
		||||
T_NOT             : N O T ;
 | 
			
		||||
T_NOTFOUND        : N O T F O U N D ; 
 | 
			
		||||
T_NOTFOUND        : N O T F O U N D ;
 | 
			
		||||
T_NULL            : N U L L ;
 | 
			
		||||
T_NUMERIC         : N U M E R I C ; 
 | 
			
		||||
T_NUMERIC         : N U M E R I C ;
 | 
			
		||||
T_NUMBER          : N U M B E R ;
 | 
			
		||||
T_OBJECT          : O B J E C T ; 
 | 
			
		||||
T_OBJECT          : O B J E C T ;
 | 
			
		||||
T_OFF             : O F F ;
 | 
			
		||||
T_ON              : O N ;
 | 
			
		||||
T_ONLY            : O N L Y ;
 | 
			
		||||
@ -203,31 +204,31 @@ T_ORDER           : O R D E R;
 | 
			
		||||
T_OUT             : O U T ;
 | 
			
		||||
T_OUTER           : O U T E R ;
 | 
			
		||||
T_OVER            : O V E R ;
 | 
			
		||||
T_OVERWRITE       : O V E R W R I T E ; 
 | 
			
		||||
T_OWNER           : O W N E R ; 
 | 
			
		||||
T_PACKAGE         : P A C K A G E ; 
 | 
			
		||||
T_PARTITION       : P A R T I T I O N ; 
 | 
			
		||||
T_PCTFREE         : P C T F R E E ; 
 | 
			
		||||
T_OVERWRITE       : O V E R W R I T E ;
 | 
			
		||||
T_OWNER           : O W N E R ;
 | 
			
		||||
T_PACKAGE         : P A C K A G E ;
 | 
			
		||||
T_PARTITION       : P A R T I T I O N ;
 | 
			
		||||
T_PCTFREE         : P C T F R E E ;
 | 
			
		||||
T_PCTUSED         : P C T U S E D ;
 | 
			
		||||
T_PLS_INTEGER     : P L S '_' I N T E G E R ;
 | 
			
		||||
T_PRECISION       : P R E C I S I O N ; 
 | 
			
		||||
T_PRESERVE        : P R E S E R V E ; 
 | 
			
		||||
T_PRECISION       : P R E C I S I O N ;
 | 
			
		||||
T_PRESERVE        : P R E S E R V E ;
 | 
			
		||||
T_PRIMARY         : P R I M A R Y ;
 | 
			
		||||
T_PRINT           : P R I N T ; 
 | 
			
		||||
T_PRINT           : P R I N T ;
 | 
			
		||||
T_PROC            : P R O C ;
 | 
			
		||||
T_PROCEDURE       : P R O C E D U R E ;
 | 
			
		||||
T_QUALIFY         : Q U A L I F Y ;
 | 
			
		||||
T_QUERY_BAND      : Q U E R Y '_' B A N D ; 
 | 
			
		||||
T_QUIT            : Q U I T ; 
 | 
			
		||||
T_QUERY_BAND      : Q U E R Y '_' B A N D ;
 | 
			
		||||
T_QUIT            : Q U I T ;
 | 
			
		||||
T_QUOTED_IDENTIFIER : Q U O T E D '_' I D E N T I F I E R ;
 | 
			
		||||
T_RAISE           : R A I S E ;
 | 
			
		||||
T_REAL            : R E A L ; 
 | 
			
		||||
T_REFERENCES      : R E F E R E N C E S ; 
 | 
			
		||||
T_REAL            : R E A L ;
 | 
			
		||||
T_REFERENCES      : R E F E R E N C E S ;
 | 
			
		||||
T_REGEXP          : R E G E X P ;
 | 
			
		||||
T_REPLACE         : R E P L A C E ; 
 | 
			
		||||
T_REPLACE         : R E P L A C E ;
 | 
			
		||||
T_RESIGNAL        : R E S I G N A L ;
 | 
			
		||||
T_RESTRICT        : R E S T R I C T ; 
 | 
			
		||||
T_RESULT          : R E S U L T ; 
 | 
			
		||||
T_RESTRICT        : R E S T R I C T ;
 | 
			
		||||
T_RESULT          : R E S U L T ;
 | 
			
		||||
T_RESULT_SET_LOCATOR : R E S U L T '_' S E T '_' L O C A T O R ;
 | 
			
		||||
T_RETURN          : R E T U R N ;
 | 
			
		||||
T_RETURNS         : R E T U R N S ;
 | 
			
		||||
@ -236,66 +237,66 @@ T_RIGHT           : R I G H T ;
 | 
			
		||||
T_RLIKE           : R L I K E ;
 | 
			
		||||
T_ROLE            : R O L E ;
 | 
			
		||||
T_ROLLBACK        : R O L L B A C K ;
 | 
			
		||||
T_ROW             : R O W ; 
 | 
			
		||||
T_ROWS            : R O W S ; 
 | 
			
		||||
T_ROWTYPE         : R O W T Y P E ; 
 | 
			
		||||
T_ROW             : R O W ;
 | 
			
		||||
T_ROWS            : R O W S ;
 | 
			
		||||
T_ROWTYPE         : R O W T Y P E ;
 | 
			
		||||
T_ROW_COUNT       : R O W '_' C O U N T ;
 | 
			
		||||
T_RR              : R R;
 | 
			
		||||
T_RS              : R S ;
 | 
			
		||||
T_PWD             : P W D ; 
 | 
			
		||||
T_PWD             : P W D ;
 | 
			
		||||
T_TRIM            : T R I M ;
 | 
			
		||||
T_SCHEMA          : S C H E M A ;
 | 
			
		||||
T_SECOND          : S E C O N D ;
 | 
			
		||||
T_SECONDS         : S E C O N D S;
 | 
			
		||||
T_SECURITY        : S E C U R I T Y ; 
 | 
			
		||||
T_SEGMENT         : S E G M E N T ; 
 | 
			
		||||
T_SECURITY        : S E C U R I T Y ;
 | 
			
		||||
T_SEGMENT         : S E G M E N T ;
 | 
			
		||||
T_SEL             : S E L ;
 | 
			
		||||
T_SELECT          : S E L E C T ; 
 | 
			
		||||
T_SELECT          : S E L E C T ;
 | 
			
		||||
T_SET             : S E T ;
 | 
			
		||||
T_SESSION         : S E S S I O N ; 
 | 
			
		||||
T_SESSION         : S E S S I O N ;
 | 
			
		||||
T_SESSIONS        : S E S S I O N S ;
 | 
			
		||||
T_SETS            : S E T S;
 | 
			
		||||
T_SHARE           : S H A R E ; 
 | 
			
		||||
T_SHARE           : S H A R E ;
 | 
			
		||||
T_SIGNAL          : S I G N A L ;
 | 
			
		||||
T_SIMPLE_DOUBLE   : S I M P L E '_' D O U B L E ;
 | 
			
		||||
T_SIMPLE_FLOAT    : S I M P L E '_' F L O A T ;
 | 
			
		||||
T_SIMPLE_INTEGER  : S I M P L E '_' I N T E G E R ;
 | 
			
		||||
T_SMALLDATETIME   : S M A L L D A T E T I M E ;
 | 
			
		||||
T_SMALLINT        : S M A L L I N T ;
 | 
			
		||||
T_SQL             : S Q L ; 
 | 
			
		||||
T_SQL             : S Q L ;
 | 
			
		||||
T_SQLEXCEPTION    : S Q L E X C E P T I O N ;
 | 
			
		||||
T_SQLINSERT       : S Q L I N S E R T ;
 | 
			
		||||
T_SQLSTATE        : S Q L S T A T E ;
 | 
			
		||||
T_SQLWARNING      : S Q L W A R N I N G ;
 | 
			
		||||
T_STATS           : S T A T S ; 
 | 
			
		||||
T_STATS           : S T A T S ;
 | 
			
		||||
T_STATISTICS      : S T A T I S T I C S ;
 | 
			
		||||
T_STEP            : S T E P ; 
 | 
			
		||||
T_STORAGE         : S T O R A G E ; 
 | 
			
		||||
T_STEP            : S T E P ;
 | 
			
		||||
T_STORAGE         : S T O R A G E ;
 | 
			
		||||
T_STORED          : S T O R E D ;
 | 
			
		||||
T_STRING          : S T R I N G ;
 | 
			
		||||
T_SUBDIR          : S U B D I R ; 
 | 
			
		||||
T_SUBSTRING       : S U B S T R I N G ; 
 | 
			
		||||
T_SUBDIR          : S U B D I R ;
 | 
			
		||||
T_SUBSTRING       : S U B S T R I N G ;
 | 
			
		||||
T_SUM             : S U M ;
 | 
			
		||||
T_SUMMARY         : S U M M A R Y ;
 | 
			
		||||
T_SYS_REFCURSOR   : S Y S '_' R E F C U R S O R ; 
 | 
			
		||||
T_SYS_REFCURSOR   : S Y S '_' R E F C U R S O R ;
 | 
			
		||||
T_TABLE           : T A B L E ;
 | 
			
		||||
T_TABLESPACE      : T A B L E S P A C E ; 
 | 
			
		||||
T_TABLESPACE      : T A B L E S P A C E ;
 | 
			
		||||
T_TEMPORARY       : T E M P O R A R Y ;
 | 
			
		||||
T_TERMINATED      : T E R M I N A T E D ; 
 | 
			
		||||
T_TERMINATED      : T E R M I N A T E D ;
 | 
			
		||||
T_TEXTIMAGE_ON    : T E X T I M A G E '_' O N ;
 | 
			
		||||
T_THEN            : T H E N ;
 | 
			
		||||
T_TIMESTAMP       : T I M E S T A M P ;
 | 
			
		||||
T_TINYINT         : T I N Y I N T ;
 | 
			
		||||
T_TITLE           : T I T L E ;
 | 
			
		||||
T_TO              : T O ; 
 | 
			
		||||
T_TO              : T O ;
 | 
			
		||||
T_TOP             : T O P ;
 | 
			
		||||
T_TRANSACTION     : T R A N S A C T I O N ;
 | 
			
		||||
T_TRUE            : T R U E ;
 | 
			
		||||
T_TRUNCATE        : T R U N C A T E;
 | 
			
		||||
T_TYPE            : T Y P E ; 
 | 
			
		||||
T_TYPE            : T Y P E ;
 | 
			
		||||
T_UNION           : U N I O N ;
 | 
			
		||||
T_UNIQUE          : U N I Q U E ;
 | 
			
		||||
T_UPDATE          : U P D A T E ; 
 | 
			
		||||
T_UPDATE          : U P D A T E ;
 | 
			
		||||
T_UR              : U R ;
 | 
			
		||||
T_USE             : U S E ;
 | 
			
		||||
T_USING           : U S I N G ;
 | 
			
		||||
@ -309,47 +310,50 @@ T_VOLATILE        : V O L A T I L E ;
 | 
			
		||||
T_WHEN            : W H E N ;
 | 
			
		||||
T_WHERE           : W H E R E ;
 | 
			
		||||
T_WHILE           : W H I L E ;
 | 
			
		||||
T_WITH            : W I T H ; 
 | 
			
		||||
T_WITH            : W I T H ;
 | 
			
		||||
T_WITHOUT         : W I T H O U T ;
 | 
			
		||||
T_WORK            : W O R K ;
 | 
			
		||||
T_XACT_ABORT      : X A C T '_' A B O R T ;
 | 
			
		||||
T_XML             : X M L ;
 | 
			
		||||
T_YES             : Y E S ; 
 | 
			
		||||
T_YES             : Y E S ;
 | 
			
		||||
 | 
			
		||||
// Functions with specific syntax
 | 
			
		||||
T_ACTIVITY_COUNT       : A C T I V I T Y '_' C O U N T ;
 | 
			
		||||
T_CUME_DIST            : C U M E '_' D I S T ; 
 | 
			
		||||
T_CUME_DIST            : C U M E '_' D I S T ;
 | 
			
		||||
T_CURRENT_DATE         : C U R R E N T '_' D A T E ;
 | 
			
		||||
T_CURRENT_TIMESTAMP    : C U R R E N T '_' T I M E S T A M P ;
 | 
			
		||||
T_CURRENT_USER         : C U R R E N T '_' U S E R ;
 | 
			
		||||
T_DENSE_RANK           : D E N S E '_' R A N K ;
 | 
			
		||||
T_FIRST_VALUE          : F I R S T '_' V A L U E; 
 | 
			
		||||
T_FIRST_VALUE          : F I R S T '_' V A L U E;
 | 
			
		||||
T_LAG                  : L A G ;
 | 
			
		||||
T_LAST_VALUE           : L A S T '_' V A L U E; 
 | 
			
		||||
T_LEAD                 : L E A D ; 
 | 
			
		||||
T_LAST_VALUE           : L A S T '_' V A L U E;
 | 
			
		||||
T_LEAD                 : L E A D ;
 | 
			
		||||
T_MAX_PART_STRING      : M A X '_' P A R T '_' S T R I N G ;
 | 
			
		||||
T_MIN_PART_STRING      : M I N '_' P A R T '_' S T R I N G ;
 | 
			
		||||
T_MAX_PART_INT         : M A X '_' P A R T '_' I N T ;
 | 
			
		||||
T_MIN_PART_INT         : M I N '_' P A R T '_' I N T ;
 | 
			
		||||
T_MAX_PART_DATE        : M A X '_' P A R T '_' D A T E ;
 | 
			
		||||
T_MIN_PART_DATE        : M I N '_' P A R T '_' D A T E ;
 | 
			
		||||
T_PART_COUNT           : P A R T '_' C O U N T ; 
 | 
			
		||||
T_PART_COUNT           : P A R T '_' C O U N T ;
 | 
			
		||||
T_PART_LOC             : P A R T '_' L O C ;
 | 
			
		||||
T_RANK                 : R A N K ;
 | 
			
		||||
T_ROW_NUMBER           : R O W '_' N U M B E R;
 | 
			
		||||
T_STDEV                : S T D E V ;
 | 
			
		||||
T_SYSDATE              : S Y S D A T E ;
 | 
			
		||||
T_VARIANCE             : V A R I A N C E ; 
 | 
			
		||||
T_USER                 : U S E R; 
 | 
			
		||||
T_VARIANCE             : V A R I A N C E ;
 | 
			
		||||
T_USER                 : U S E R;
 | 
			
		||||
 | 
			
		||||
T_ADD          : '+' ;
 | 
			
		||||
T_COLON        : ':' ;
 | 
			
		||||
T_COMMA        : ',' ;
 | 
			
		||||
T_PIPE         : '||' ;
 | 
			
		||||
T_DIV          : '/' ;
 | 
			
		||||
T_DOT          : '.' ;
 | 
			
		||||
T_DOT2         : '..' ;
 | 
			
		||||
T_EQUAL        : '=' ;
 | 
			
		||||
T_EQUAL2       : '==' ;
 | 
			
		||||
T_SHARP        : '#'  ;
 | 
			
		||||
T_NOTE         : '!'  ;
 | 
			
		||||
T_NOTEQUAL     : '<>' ;
 | 
			
		||||
T_NOTEQUAL2    : '!=' ;
 | 
			
		||||
T_GREATER      : '>' ;
 | 
			
		||||
@ -357,10 +361,12 @@ T_GREATEREQUAL : '>=' ;
 | 
			
		||||
T_LESS         : '<' ;
 | 
			
		||||
T_LESSEQUAL    : '<=' ;
 | 
			
		||||
T_MUL          : '*' ;
 | 
			
		||||
T_PRECENT      : '%' ;
 | 
			
		||||
T_CALLS        : '@' ;
 | 
			
		||||
T_OPEN_B       : '{' ;
 | 
			
		||||
T_OPEN_P       : '(' ;
 | 
			
		||||
T_OPEN_SB      : '[' ;
 | 
			
		||||
T_CLOSE_B      : '}' ; 
 | 
			
		||||
T_CLOSE_B      : '}' ;
 | 
			
		||||
T_CLOSE_P      : ')' ;
 | 
			
		||||
T_CLOSE_SB     : ']' ;
 | 
			
		||||
T_SEMICOLON    : ';' ;
 | 
			
		||||
@ -381,11 +387,11 @@ L_M_COMMENT : '/*' .*? '*/' -> channel(HIDDEN) ;                       // Multil
 | 
			
		||||
L_S_COMMENT : ('--' | '//')  .*? '\r'? '\n' -> channel(HIDDEN) ;       // Single line comment
 | 
			
		||||
 | 
			
		||||
L_FILE      : ([a-zA-Z] ':' '\\'?)? L_ID ('\\' L_ID)*                  // File path (a/b/c Linux path causes conflicts with division operator and handled at parser level)
 | 
			
		||||
            ; 
 | 
			
		||||
 | 
			
		||||
L_LABEL     : ([a-zA-Z] | L_DIGIT | '_')* ':'            
 | 
			
		||||
            ;
 | 
			
		||||
            
 | 
			
		||||
 | 
			
		||||
L_LABEL     : ([a-zA-Z] | L_DIGIT | '_')* ':'
 | 
			
		||||
            ;
 | 
			
		||||
 | 
			
		||||
fragment
 | 
			
		||||
L_ID_PART  :
 | 
			
		||||
             [a-zA-Z] ([a-zA-Z] | L_DIGIT | '_')*                           // Identifier part
 | 
			
		||||
@ -397,8 +403,8 @@ L_ID_PART  :
 | 
			
		||||
            ;
 | 
			
		||||
fragment
 | 
			
		||||
L_STR_ESC_D :                                                          // Double quoted string escape sequence
 | 
			
		||||
              '""' | '\\"' 
 | 
			
		||||
            ;            
 | 
			
		||||
              '""' | '\\"'
 | 
			
		||||
            ;
 | 
			
		||||
fragment
 | 
			
		||||
L_DIGIT     : [0-9]                                                    // Digit
 | 
			
		||||
            ;
 | 
			
		||||
 | 
			
		||||
@ -1,3 +0,0 @@
 | 
			
		||||
# Hive SQL Grammar
 | 
			
		||||
 | 
			
		||||
Source file from [Hive Github](https://github.com/apache/hive/tree/master/hplsql/src/main/antlr4/org/apache/hive/hplsql)
 | 
			
		||||
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							@ -1,384 +1,404 @@
 | 
			
		||||
T__0=1
 | 
			
		||||
T__1=2
 | 
			
		||||
T__2=3
 | 
			
		||||
T__3=4
 | 
			
		||||
T__4=5
 | 
			
		||||
T__5=6
 | 
			
		||||
T__6=7
 | 
			
		||||
T__7=8
 | 
			
		||||
T__8=9
 | 
			
		||||
T__9=10
 | 
			
		||||
T_GO=11
 | 
			
		||||
T_BEGIN=12
 | 
			
		||||
T_SEMICOLON=13
 | 
			
		||||
T_END=14
 | 
			
		||||
T_EXCEPTION=15
 | 
			
		||||
T_WHEN=16
 | 
			
		||||
L_ID=17
 | 
			
		||||
T_THEN=18
 | 
			
		||||
T_NULL=19
 | 
			
		||||
T_SET=20
 | 
			
		||||
T_COMMA=21
 | 
			
		||||
T_COLON=22
 | 
			
		||||
T_EQUAL=23
 | 
			
		||||
T_OPEN_P=24
 | 
			
		||||
T_CLOSE_P=25
 | 
			
		||||
T_ALLOCATE=26
 | 
			
		||||
T_CURSOR=27
 | 
			
		||||
T_FOR=28
 | 
			
		||||
T_RESULT=29
 | 
			
		||||
T_PROCEDURE=30
 | 
			
		||||
T_ASSOCIATE=31
 | 
			
		||||
T_LOCATOR=32
 | 
			
		||||
T_LOCATORS=33
 | 
			
		||||
T_WITH=34
 | 
			
		||||
T_TRANSACTION=35
 | 
			
		||||
T_BREAK=36
 | 
			
		||||
T_CALL=37
 | 
			
		||||
T_DECLARE=38
 | 
			
		||||
T_AS=39
 | 
			
		||||
T_CONSTANT=40
 | 
			
		||||
T_CONDITION=41
 | 
			
		||||
T_IS=42
 | 
			
		||||
T_RETURN=43
 | 
			
		||||
T_ONLY=44
 | 
			
		||||
T_TO=45
 | 
			
		||||
T_CALLER=46
 | 
			
		||||
T_CLIENT=47
 | 
			
		||||
T_WITHOUT=48
 | 
			
		||||
T_CONTINUE=49
 | 
			
		||||
T_EXIT=50
 | 
			
		||||
T_HANDLER=51
 | 
			
		||||
T_SQLEXCEPTION=52
 | 
			
		||||
T_SQLWARNING=53
 | 
			
		||||
T_NOT=54
 | 
			
		||||
T_FOUND=55
 | 
			
		||||
T_GLOBAL=56
 | 
			
		||||
T_TEMPORARY=57
 | 
			
		||||
T_TABLE=58
 | 
			
		||||
T_CREATE=59
 | 
			
		||||
T_IF=60
 | 
			
		||||
T_EXISTS=61
 | 
			
		||||
T_LOCAL=62
 | 
			
		||||
T_MULTISET=63
 | 
			
		||||
T_VOLATILE=64
 | 
			
		||||
T_LIKE=65
 | 
			
		||||
T_CONSTRAINT=66
 | 
			
		||||
T_PRIMARY=67
 | 
			
		||||
T_KEY=68
 | 
			
		||||
T_UNIQUE=69
 | 
			
		||||
T_REFERENCES=70
 | 
			
		||||
T_IDENTITY=71
 | 
			
		||||
L_INT=72
 | 
			
		||||
T_AUTO_INCREMENT=73
 | 
			
		||||
T_ENABLE=74
 | 
			
		||||
T_CLUSTERED=75
 | 
			
		||||
T_ASC=76
 | 
			
		||||
T_DESC=77
 | 
			
		||||
T_FOREIGN=78
 | 
			
		||||
T_ON=79
 | 
			
		||||
T_UPDATE=80
 | 
			
		||||
T_DELETE=81
 | 
			
		||||
T_NO=82
 | 
			
		||||
T_ACTION=83
 | 
			
		||||
T_RESTRICT=84
 | 
			
		||||
T_DEFAULT=85
 | 
			
		||||
T_CASCADE=86
 | 
			
		||||
T_LOG=87
 | 
			
		||||
T_FALLBACK=88
 | 
			
		||||
T_COMMIT=89
 | 
			
		||||
T_PRESERVE=90
 | 
			
		||||
T_ROWS=91
 | 
			
		||||
T_SEGMENT=92
 | 
			
		||||
T_CREATION=93
 | 
			
		||||
T_IMMEDIATE=94
 | 
			
		||||
T_DEFERRED=95
 | 
			
		||||
T_PCTFREE=96
 | 
			
		||||
T_PCTUSED=97
 | 
			
		||||
T_INITRANS=98
 | 
			
		||||
T_MAXTRANS=99
 | 
			
		||||
T_NOCOMPRESS=100
 | 
			
		||||
T_LOGGING=101
 | 
			
		||||
T_NOLOGGING=102
 | 
			
		||||
T_STORAGE=103
 | 
			
		||||
T_TABLESPACE=104
 | 
			
		||||
T_INDEX=105
 | 
			
		||||
T_IN=106
 | 
			
		||||
T_REPLACE=107
 | 
			
		||||
T_DISTRIBUTE=108
 | 
			
		||||
T_BY=109
 | 
			
		||||
T_HASH=110
 | 
			
		||||
T_LOGGED=111
 | 
			
		||||
T_COMPRESS=112
 | 
			
		||||
T_YES=113
 | 
			
		||||
T_DEFINITION=114
 | 
			
		||||
T_DROP=115
 | 
			
		||||
T_DATA=116
 | 
			
		||||
T_STORED=117
 | 
			
		||||
T_ROW=118
 | 
			
		||||
T_FORMAT=119
 | 
			
		||||
T_DELIMITED=120
 | 
			
		||||
T_FIELDS=121
 | 
			
		||||
T_TERMINATED=122
 | 
			
		||||
T_ESCAPED=123
 | 
			
		||||
T_COLLECTION=124
 | 
			
		||||
T_ITEMS=125
 | 
			
		||||
T_MAP=126
 | 
			
		||||
T_KEYS=127
 | 
			
		||||
T_LINES=128
 | 
			
		||||
T_DEFINED=129
 | 
			
		||||
T_TEXTIMAGE_ON=130
 | 
			
		||||
T_COMMENT=131
 | 
			
		||||
T_CHARACTER=132
 | 
			
		||||
T_CHARSET=133
 | 
			
		||||
T_ENGINE=134
 | 
			
		||||
T_ALTER=135
 | 
			
		||||
T_ADD2=136
 | 
			
		||||
T_CHAR=137
 | 
			
		||||
T_BIGINT=138
 | 
			
		||||
T_BINARY_DOUBLE=139
 | 
			
		||||
T_BINARY_FLOAT=140
 | 
			
		||||
T_BINARY_INTEGER=141
 | 
			
		||||
T_BIT=142
 | 
			
		||||
T_DATE=143
 | 
			
		||||
T_DATETIME=144
 | 
			
		||||
T_DEC=145
 | 
			
		||||
T_DECIMAL=146
 | 
			
		||||
T_DOUBLE=147
 | 
			
		||||
T_PRECISION=148
 | 
			
		||||
T_FLOAT=149
 | 
			
		||||
T_INT=150
 | 
			
		||||
T_INT2=151
 | 
			
		||||
T_INT4=152
 | 
			
		||||
T_INT8=153
 | 
			
		||||
T_INTEGER=154
 | 
			
		||||
T_NCHAR=155
 | 
			
		||||
T_NVARCHAR=156
 | 
			
		||||
T_NUMBER=157
 | 
			
		||||
T_NUMERIC=158
 | 
			
		||||
T_PLS_INTEGER=159
 | 
			
		||||
T_REAL=160
 | 
			
		||||
T_RESULT_SET_LOCATOR=161
 | 
			
		||||
T_VARYING=162
 | 
			
		||||
T_SIMPLE_FLOAT=163
 | 
			
		||||
T_SIMPLE_DOUBLE=164
 | 
			
		||||
T_SIMPLE_INTEGER=165
 | 
			
		||||
T_SMALLINT=166
 | 
			
		||||
T_SMALLDATETIME=167
 | 
			
		||||
T_STRING=168
 | 
			
		||||
T_SYS_REFCURSOR=169
 | 
			
		||||
T_TIMESTAMP=170
 | 
			
		||||
T_TINYINT=171
 | 
			
		||||
T_VARCHAR=172
 | 
			
		||||
T_VARCHAR2=173
 | 
			
		||||
T_XML=174
 | 
			
		||||
T_TYPE=175
 | 
			
		||||
T_ROWTYPE=176
 | 
			
		||||
T_MAX=177
 | 
			
		||||
T_BYTE=178
 | 
			
		||||
T_CASESPECIFIC=179
 | 
			
		||||
T_CS=180
 | 
			
		||||
T_DATABASE=181
 | 
			
		||||
T_SCHEMA=182
 | 
			
		||||
T_LOCATION=183
 | 
			
		||||
T_OR=184
 | 
			
		||||
T_FUNCTION=185
 | 
			
		||||
T_RETURNS=186
 | 
			
		||||
T_PACKAGE=187
 | 
			
		||||
T_PROC=188
 | 
			
		||||
T_BODY=189
 | 
			
		||||
T_OUT=190
 | 
			
		||||
T_INOUT=191
 | 
			
		||||
T_LANGUAGE=192
 | 
			
		||||
T_SQL=193
 | 
			
		||||
T_SECURITY=194
 | 
			
		||||
T_CREATOR=195
 | 
			
		||||
T_DEFINER=196
 | 
			
		||||
T_INVOKER=197
 | 
			
		||||
T_OWNER=198
 | 
			
		||||
T_DYNAMIC=199
 | 
			
		||||
T_SETS=200
 | 
			
		||||
T_EXEC=201
 | 
			
		||||
T_EXECUTE=202
 | 
			
		||||
T_INTO=203
 | 
			
		||||
T_ELSE=204
 | 
			
		||||
T_ELSIF=205
 | 
			
		||||
T_ELSEIF=206
 | 
			
		||||
T_INCLUDE=207
 | 
			
		||||
T_INSERT=208
 | 
			
		||||
T_OVERWRITE=209
 | 
			
		||||
T_VALUES=210
 | 
			
		||||
T_DIRECTORY=211
 | 
			
		||||
T_GET=212
 | 
			
		||||
T_DIAGNOSTICS=213
 | 
			
		||||
T_MESSAGE_TEXT=214
 | 
			
		||||
T_ROW_COUNT=215
 | 
			
		||||
T_GRANT=216
 | 
			
		||||
T_ROLE=217
 | 
			
		||||
T_LEAVE=218
 | 
			
		||||
T_OBJECT=219
 | 
			
		||||
T_AT=220
 | 
			
		||||
T_OPEN=221
 | 
			
		||||
T_FETCH=222
 | 
			
		||||
T_FROM=223
 | 
			
		||||
T_COLLECT=224
 | 
			
		||||
T_STATISTICS=225
 | 
			
		||||
T_STATS=226
 | 
			
		||||
T_COLUMN=227
 | 
			
		||||
T_CLOSE=228
 | 
			
		||||
T_CMP=229
 | 
			
		||||
T_SUM=230
 | 
			
		||||
T_COPY=231
 | 
			
		||||
T_HDFS=232
 | 
			
		||||
T_BATCHSIZE=233
 | 
			
		||||
T_DELIMITER=234
 | 
			
		||||
T_SQLINSERT=235
 | 
			
		||||
T_IGNORE=236
 | 
			
		||||
T_WORK=237
 | 
			
		||||
T_PRINT=238
 | 
			
		||||
T_QUIT=239
 | 
			
		||||
T_RAISE=240
 | 
			
		||||
T_RESIGNAL=241
 | 
			
		||||
T_SQLSTATE=242
 | 
			
		||||
T_VALUE=243
 | 
			
		||||
T_ROLLBACK=244
 | 
			
		||||
T_CURRENT=245
 | 
			
		||||
T_CURRENT_SCHEMA=246
 | 
			
		||||
T_ANSI_NULLS=247
 | 
			
		||||
T_ANSI_PADDING=248
 | 
			
		||||
T_NOCOUNT=249
 | 
			
		||||
T_QUOTED_IDENTIFIER=250
 | 
			
		||||
T_XACT_ABORT=251
 | 
			
		||||
T_OFF=252
 | 
			
		||||
T_QUERY_BAND=253
 | 
			
		||||
T_NONE=254
 | 
			
		||||
T_SESSION=255
 | 
			
		||||
T_ACTION=1
 | 
			
		||||
T_ADD2=2
 | 
			
		||||
T_ALL=3
 | 
			
		||||
T_ALLOCATE=4
 | 
			
		||||
T_ALTER=5
 | 
			
		||||
T_AND=6
 | 
			
		||||
T_ANSI_NULLS=7
 | 
			
		||||
T_ANSI_PADDING=8
 | 
			
		||||
T_AS=9
 | 
			
		||||
T_ASC=10
 | 
			
		||||
T_ASSOCIATE=11
 | 
			
		||||
T_AT=12
 | 
			
		||||
T_AUTO_INCREMENT=13
 | 
			
		||||
T_AVG=14
 | 
			
		||||
T_BATCHSIZE=15
 | 
			
		||||
T_BEGIN=16
 | 
			
		||||
T_BETWEEN=17
 | 
			
		||||
T_BIGINT=18
 | 
			
		||||
T_BINARY_DOUBLE=19
 | 
			
		||||
T_BINARY_FLOAT=20
 | 
			
		||||
T_BINARY_INTEGER=21
 | 
			
		||||
T_BIT=22
 | 
			
		||||
T_BODY=23
 | 
			
		||||
T_BREAK=24
 | 
			
		||||
T_BY=25
 | 
			
		||||
T_BYTE=26
 | 
			
		||||
T_CALL=27
 | 
			
		||||
T_CALLER=28
 | 
			
		||||
T_CASCADE=29
 | 
			
		||||
T_CASE=30
 | 
			
		||||
T_CASESPECIFIC=31
 | 
			
		||||
T_CAST=32
 | 
			
		||||
T_CHAR=33
 | 
			
		||||
T_CHARACTER=34
 | 
			
		||||
T_CHARSET=35
 | 
			
		||||
T_CLIENT=36
 | 
			
		||||
T_CLOSE=37
 | 
			
		||||
T_CLUSTERED=38
 | 
			
		||||
T_CMP=39
 | 
			
		||||
T_COLLECT=40
 | 
			
		||||
T_COLLECTION=41
 | 
			
		||||
T_COLUMN=42
 | 
			
		||||
T_COMMENT=43
 | 
			
		||||
T_CONSTANT=44
 | 
			
		||||
T_COMMIT=45
 | 
			
		||||
T_COMPRESS=46
 | 
			
		||||
T_CONCAT=47
 | 
			
		||||
T_CONDITION=48
 | 
			
		||||
T_CONSTRAINT=49
 | 
			
		||||
T_CONTINUE=50
 | 
			
		||||
T_COPY=51
 | 
			
		||||
T_COUNT=52
 | 
			
		||||
T_COUNT_BIG=53
 | 
			
		||||
T_CREATE=54
 | 
			
		||||
T_CREATION=55
 | 
			
		||||
T_CREATOR=56
 | 
			
		||||
T_CS=57
 | 
			
		||||
T_CURRENT=58
 | 
			
		||||
T_CURRENT_SCHEMA=59
 | 
			
		||||
T_CURSOR=60
 | 
			
		||||
T_DATABASE=61
 | 
			
		||||
T_DATA=62
 | 
			
		||||
T_DATE=63
 | 
			
		||||
T_DATETIME=64
 | 
			
		||||
T_DAY=65
 | 
			
		||||
T_DAYS=66
 | 
			
		||||
T_DEC=67
 | 
			
		||||
T_DECIMAL=68
 | 
			
		||||
T_DECLARE=69
 | 
			
		||||
T_DEFAULT=70
 | 
			
		||||
T_DEFERRED=71
 | 
			
		||||
T_DEFINED=72
 | 
			
		||||
T_DEFINER=73
 | 
			
		||||
T_DEFINITION=74
 | 
			
		||||
T_DELETE=75
 | 
			
		||||
T_DELIMITED=76
 | 
			
		||||
T_DELIMITER=77
 | 
			
		||||
T_DESC=78
 | 
			
		||||
T_DESCRIBE=79
 | 
			
		||||
T_DIAGNOSTICS=80
 | 
			
		||||
T_DIR=81
 | 
			
		||||
T_DIRECTORY=82
 | 
			
		||||
T_DISTINCT=83
 | 
			
		||||
T_DISTRIBUTE=84
 | 
			
		||||
T_DO=85
 | 
			
		||||
T_DOUBLE=86
 | 
			
		||||
T_DROP=87
 | 
			
		||||
T_DYNAMIC=88
 | 
			
		||||
T_ELSE=89
 | 
			
		||||
T_ELSEIF=90
 | 
			
		||||
T_ELSIF=91
 | 
			
		||||
T_ENABLE=92
 | 
			
		||||
T_END=93
 | 
			
		||||
T_ENGINE=94
 | 
			
		||||
T_ESCAPED=95
 | 
			
		||||
T_EXCEPT=96
 | 
			
		||||
T_EXEC=97
 | 
			
		||||
T_EXECUTE=98
 | 
			
		||||
T_EXCEPTION=99
 | 
			
		||||
T_EXCLUSIVE=100
 | 
			
		||||
T_EXISTS=101
 | 
			
		||||
T_EXIT=102
 | 
			
		||||
T_FALLBACK=103
 | 
			
		||||
T_FALSE=104
 | 
			
		||||
T_FETCH=105
 | 
			
		||||
T_FIELDS=106
 | 
			
		||||
T_FILE=107
 | 
			
		||||
T_FILES=108
 | 
			
		||||
T_FLOAT=109
 | 
			
		||||
T_FOR=110
 | 
			
		||||
T_FOREIGN=111
 | 
			
		||||
T_FORMAT=112
 | 
			
		||||
T_FOUND=113
 | 
			
		||||
T_FROM=114
 | 
			
		||||
T_FULL=115
 | 
			
		||||
T_FUNCTION=116
 | 
			
		||||
T_GET=117
 | 
			
		||||
T_GLOBAL=118
 | 
			
		||||
T_GO=119
 | 
			
		||||
T_GRANT=120
 | 
			
		||||
T_GROUP=121
 | 
			
		||||
T_HANDLER=122
 | 
			
		||||
T_HASH=123
 | 
			
		||||
T_HAVING=124
 | 
			
		||||
T_HDFS=125
 | 
			
		||||
T_HIVE=126
 | 
			
		||||
T_HOST=127
 | 
			
		||||
T_IDENTITY=128
 | 
			
		||||
T_IF=129
 | 
			
		||||
T_IGNORE=130
 | 
			
		||||
T_IMMEDIATE=131
 | 
			
		||||
T_IN=132
 | 
			
		||||
T_INCLUDE=133
 | 
			
		||||
T_INDEX=134
 | 
			
		||||
T_INITRANS=135
 | 
			
		||||
T_INNER=136
 | 
			
		||||
T_INOUT=137
 | 
			
		||||
T_INSERT=138
 | 
			
		||||
T_INT=139
 | 
			
		||||
T_INT2=140
 | 
			
		||||
T_INT4=141
 | 
			
		||||
T_INT8=142
 | 
			
		||||
T_INTEGER=143
 | 
			
		||||
T_INTERSECT=144
 | 
			
		||||
T_INTERVAL=145
 | 
			
		||||
T_INTO=146
 | 
			
		||||
T_INVOKER=147
 | 
			
		||||
T_IS=148
 | 
			
		||||
T_ISOPEN=149
 | 
			
		||||
T_ITEMS=150
 | 
			
		||||
T_JOIN=151
 | 
			
		||||
T_KEEP=152
 | 
			
		||||
T_KEY=153
 | 
			
		||||
T_KEYS=154
 | 
			
		||||
T_LANGUAGE=155
 | 
			
		||||
T_LEAVE=156
 | 
			
		||||
T_LEFT=157
 | 
			
		||||
T_LIKE=158
 | 
			
		||||
T_LIMIT=159
 | 
			
		||||
T_LINES=160
 | 
			
		||||
T_LOCAL=161
 | 
			
		||||
T_LOCATION=162
 | 
			
		||||
T_LOCATOR=163
 | 
			
		||||
T_LOCATORS=164
 | 
			
		||||
T_LOCKS=165
 | 
			
		||||
T_LOG=166
 | 
			
		||||
T_LOGGED=167
 | 
			
		||||
T_LOGGING=168
 | 
			
		||||
T_LOOP=169
 | 
			
		||||
T_MAP=170
 | 
			
		||||
T_MATCHED=171
 | 
			
		||||
T_MAX=172
 | 
			
		||||
T_MAXTRANS=173
 | 
			
		||||
T_MERGE=174
 | 
			
		||||
T_MESSAGE_TEXT=175
 | 
			
		||||
T_MICROSECOND=176
 | 
			
		||||
T_MICROSECONDS=177
 | 
			
		||||
T_MIN=178
 | 
			
		||||
T_MULTISET=179
 | 
			
		||||
T_NCHAR=180
 | 
			
		||||
T_NEW=181
 | 
			
		||||
T_NVARCHAR=182
 | 
			
		||||
T_NO=183
 | 
			
		||||
T_NOCOUNT=184
 | 
			
		||||
T_NOCOMPRESS=185
 | 
			
		||||
T_NOLOGGING=186
 | 
			
		||||
T_NONE=187
 | 
			
		||||
T_NOT=188
 | 
			
		||||
T_NOTFOUND=189
 | 
			
		||||
T_NULL=190
 | 
			
		||||
T_NUMERIC=191
 | 
			
		||||
T_NUMBER=192
 | 
			
		||||
T_OBJECT=193
 | 
			
		||||
T_OFF=194
 | 
			
		||||
T_ON=195
 | 
			
		||||
T_ONLY=196
 | 
			
		||||
T_OPEN=197
 | 
			
		||||
T_OR=198
 | 
			
		||||
T_ORDER=199
 | 
			
		||||
T_OUT=200
 | 
			
		||||
T_OUTER=201
 | 
			
		||||
T_OVER=202
 | 
			
		||||
T_OVERWRITE=203
 | 
			
		||||
T_OWNER=204
 | 
			
		||||
T_PACKAGE=205
 | 
			
		||||
T_PARTITION=206
 | 
			
		||||
T_PCTFREE=207
 | 
			
		||||
T_PCTUSED=208
 | 
			
		||||
T_PLS_INTEGER=209
 | 
			
		||||
T_PRECISION=210
 | 
			
		||||
T_PRESERVE=211
 | 
			
		||||
T_PRIMARY=212
 | 
			
		||||
T_PRINT=213
 | 
			
		||||
T_PROC=214
 | 
			
		||||
T_PROCEDURE=215
 | 
			
		||||
T_QUALIFY=216
 | 
			
		||||
T_QUERY_BAND=217
 | 
			
		||||
T_QUIT=218
 | 
			
		||||
T_QUOTED_IDENTIFIER=219
 | 
			
		||||
T_RAISE=220
 | 
			
		||||
T_REAL=221
 | 
			
		||||
T_REFERENCES=222
 | 
			
		||||
T_REGEXP=223
 | 
			
		||||
T_REPLACE=224
 | 
			
		||||
T_RESIGNAL=225
 | 
			
		||||
T_RESTRICT=226
 | 
			
		||||
T_RESULT=227
 | 
			
		||||
T_RESULT_SET_LOCATOR=228
 | 
			
		||||
T_RETURN=229
 | 
			
		||||
T_RETURNS=230
 | 
			
		||||
T_REVERSE=231
 | 
			
		||||
T_RIGHT=232
 | 
			
		||||
T_RLIKE=233
 | 
			
		||||
T_ROLE=234
 | 
			
		||||
T_ROLLBACK=235
 | 
			
		||||
T_ROW=236
 | 
			
		||||
T_ROWS=237
 | 
			
		||||
T_ROWTYPE=238
 | 
			
		||||
T_ROW_COUNT=239
 | 
			
		||||
T_RR=240
 | 
			
		||||
T_RS=241
 | 
			
		||||
T_PWD=242
 | 
			
		||||
T_TRIM=243
 | 
			
		||||
T_SCHEMA=244
 | 
			
		||||
T_SECOND=245
 | 
			
		||||
T_SECONDS=246
 | 
			
		||||
T_SECURITY=247
 | 
			
		||||
T_SEGMENT=248
 | 
			
		||||
T_SEL=249
 | 
			
		||||
T_SELECT=250
 | 
			
		||||
T_SET=251
 | 
			
		||||
T_SESSION=252
 | 
			
		||||
T_SESSIONS=253
 | 
			
		||||
T_SETS=254
 | 
			
		||||
T_SHARE=255
 | 
			
		||||
T_SIGNAL=256
 | 
			
		||||
T_SUMMARY=257
 | 
			
		||||
T_TOP=258
 | 
			
		||||
T_LIMIT=259
 | 
			
		||||
T_TRUNCATE=260
 | 
			
		||||
T_USE=261
 | 
			
		||||
T_WHILE=262
 | 
			
		||||
T_DO=263
 | 
			
		||||
T_LOOP=264
 | 
			
		||||
T_REVERSE=265
 | 
			
		||||
T_DOT2=266
 | 
			
		||||
T_STEP=267
 | 
			
		||||
L_LABEL=268
 | 
			
		||||
T_LESS=269
 | 
			
		||||
T_GREATER=270
 | 
			
		||||
T_USING=271
 | 
			
		||||
T_UNION=272
 | 
			
		||||
T_ALL=273
 | 
			
		||||
T_EXCEPT=274
 | 
			
		||||
T_INTERSECT=275
 | 
			
		||||
T_SELECT=276
 | 
			
		||||
T_SEL=277
 | 
			
		||||
T_DISTINCT=278
 | 
			
		||||
T_TITLE=279
 | 
			
		||||
L_S_STRING=280
 | 
			
		||||
T_INNER=281
 | 
			
		||||
T_JOIN=282
 | 
			
		||||
T_LEFT=283
 | 
			
		||||
T_RIGHT=284
 | 
			
		||||
T_FULL=285
 | 
			
		||||
T_OUTER=286
 | 
			
		||||
T_WHERE=287
 | 
			
		||||
T_GROUP=288
 | 
			
		||||
T_HAVING=289
 | 
			
		||||
T_QUALIFY=290
 | 
			
		||||
T_ORDER=291
 | 
			
		||||
T_RR=292
 | 
			
		||||
T_RS=293
 | 
			
		||||
T_UR=294
 | 
			
		||||
T_AND=295
 | 
			
		||||
T_KEEP=296
 | 
			
		||||
T_EXCLUSIVE=297
 | 
			
		||||
T_SHARE=298
 | 
			
		||||
T_LOCKS=299
 | 
			
		||||
T_MERGE=300
 | 
			
		||||
T_MATCHED=301
 | 
			
		||||
T_DESCRIBE=302
 | 
			
		||||
T_BETWEEN=303
 | 
			
		||||
T_EQUAL2=304
 | 
			
		||||
T_NOTEQUAL=305
 | 
			
		||||
T_NOTEQUAL2=306
 | 
			
		||||
T_LESSEQUAL=307
 | 
			
		||||
T_GREATEREQUAL=308
 | 
			
		||||
T_RLIKE=309
 | 
			
		||||
T_REGEXP=310
 | 
			
		||||
T_MUL=311
 | 
			
		||||
T_DIV=312
 | 
			
		||||
T_ADD=313
 | 
			
		||||
T_SUB=314
 | 
			
		||||
T_INTERVAL=315
 | 
			
		||||
T_DAY=316
 | 
			
		||||
T_DAYS=317
 | 
			
		||||
T_MICROSECOND=318
 | 
			
		||||
T_MICROSECONDS=319
 | 
			
		||||
T_SECOND=320
 | 
			
		||||
T_SECONDS=321
 | 
			
		||||
T_PIPE=322
 | 
			
		||||
T_CONCAT=323
 | 
			
		||||
T_CASE=324
 | 
			
		||||
T_ISOPEN=325
 | 
			
		||||
T_NOTFOUND=326
 | 
			
		||||
T_AVG=327
 | 
			
		||||
T_COUNT=328
 | 
			
		||||
T_COUNT_BIG=329
 | 
			
		||||
T_CUME_DIST=330
 | 
			
		||||
T_DENSE_RANK=331
 | 
			
		||||
T_FIRST_VALUE=332
 | 
			
		||||
T_LAG=333
 | 
			
		||||
T_LAST_VALUE=334
 | 
			
		||||
T_LEAD=335
 | 
			
		||||
T_MIN=336
 | 
			
		||||
T_RANK=337
 | 
			
		||||
T_ROW_NUMBER=338
 | 
			
		||||
T_STDEV=339
 | 
			
		||||
T_VAR=340
 | 
			
		||||
T_VARIANCE=341
 | 
			
		||||
T_OVER=342
 | 
			
		||||
T_PARTITION=343
 | 
			
		||||
T_ACTIVITY_COUNT=344
 | 
			
		||||
T_CAST=345
 | 
			
		||||
T_CURRENT_DATE=346
 | 
			
		||||
T_CURRENT_TIMESTAMP=347
 | 
			
		||||
T_CURRENT_USER=348
 | 
			
		||||
T_USER=349
 | 
			
		||||
T_MAX_PART_STRING=350
 | 
			
		||||
T_MIN_PART_STRING=351
 | 
			
		||||
T_MAX_PART_INT=352
 | 
			
		||||
T_MIN_PART_INT=353
 | 
			
		||||
T_MAX_PART_DATE=354
 | 
			
		||||
T_MIN_PART_DATE=355
 | 
			
		||||
T_PART_COUNT=356
 | 
			
		||||
T_PART_LOC=357
 | 
			
		||||
T_TRIM=358
 | 
			
		||||
T_SUBSTRING=359
 | 
			
		||||
T_SYSDATE=360
 | 
			
		||||
T_HIVE=361
 | 
			
		||||
T_HOST=362
 | 
			
		||||
L_FILE=363
 | 
			
		||||
L_D_STRING=364
 | 
			
		||||
L_DEC=365
 | 
			
		||||
T_TRUE=366
 | 
			
		||||
T_FALSE=367
 | 
			
		||||
T_DIR=368
 | 
			
		||||
T_FILE=369
 | 
			
		||||
T_FILES=370
 | 
			
		||||
T_NEW=371
 | 
			
		||||
T_PWD=372
 | 
			
		||||
T_SESSIONS=373
 | 
			
		||||
T_SUBDIR=374
 | 
			
		||||
'@'=1
 | 
			
		||||
'#'=2
 | 
			
		||||
'/'=3
 | 
			
		||||
'%'=4
 | 
			
		||||
'.'=5
 | 
			
		||||
'*'=6
 | 
			
		||||
'!'=7
 | 
			
		||||
';'=8
 | 
			
		||||
'-'=9
 | 
			
		||||
'+'=10
 | 
			
		||||
T_SIMPLE_DOUBLE=257
 | 
			
		||||
T_SIMPLE_FLOAT=258
 | 
			
		||||
T_SIMPLE_INTEGER=259
 | 
			
		||||
T_SMALLDATETIME=260
 | 
			
		||||
T_SMALLINT=261
 | 
			
		||||
T_SQL=262
 | 
			
		||||
T_SQLEXCEPTION=263
 | 
			
		||||
T_SQLINSERT=264
 | 
			
		||||
T_SQLSTATE=265
 | 
			
		||||
T_SQLWARNING=266
 | 
			
		||||
T_STATS=267
 | 
			
		||||
T_STATISTICS=268
 | 
			
		||||
T_STEP=269
 | 
			
		||||
T_STORAGE=270
 | 
			
		||||
T_STORED=271
 | 
			
		||||
T_STRING=272
 | 
			
		||||
T_SUBDIR=273
 | 
			
		||||
T_SUBSTRING=274
 | 
			
		||||
T_SUM=275
 | 
			
		||||
T_SUMMARY=276
 | 
			
		||||
T_SYS_REFCURSOR=277
 | 
			
		||||
T_TABLE=278
 | 
			
		||||
T_TABLESPACE=279
 | 
			
		||||
T_TEMPORARY=280
 | 
			
		||||
T_TERMINATED=281
 | 
			
		||||
T_TEXTIMAGE_ON=282
 | 
			
		||||
T_THEN=283
 | 
			
		||||
T_TIMESTAMP=284
 | 
			
		||||
T_TINYINT=285
 | 
			
		||||
T_TITLE=286
 | 
			
		||||
T_TO=287
 | 
			
		||||
T_TOP=288
 | 
			
		||||
T_TRANSACTION=289
 | 
			
		||||
T_TRUE=290
 | 
			
		||||
T_TRUNCATE=291
 | 
			
		||||
T_TYPE=292
 | 
			
		||||
T_UNION=293
 | 
			
		||||
T_UNIQUE=294
 | 
			
		||||
T_UPDATE=295
 | 
			
		||||
T_UR=296
 | 
			
		||||
T_USE=297
 | 
			
		||||
T_USING=298
 | 
			
		||||
T_VALUE=299
 | 
			
		||||
T_VALUES=300
 | 
			
		||||
T_VAR=301
 | 
			
		||||
T_VARCHAR=302
 | 
			
		||||
T_VARCHAR2=303
 | 
			
		||||
T_VARYING=304
 | 
			
		||||
T_VOLATILE=305
 | 
			
		||||
T_WHEN=306
 | 
			
		||||
T_WHERE=307
 | 
			
		||||
T_WHILE=308
 | 
			
		||||
T_WITH=309
 | 
			
		||||
T_WITHOUT=310
 | 
			
		||||
T_WORK=311
 | 
			
		||||
T_XACT_ABORT=312
 | 
			
		||||
T_XML=313
 | 
			
		||||
T_YES=314
 | 
			
		||||
T_ACTIVITY_COUNT=315
 | 
			
		||||
T_CUME_DIST=316
 | 
			
		||||
T_CURRENT_DATE=317
 | 
			
		||||
T_CURRENT_TIMESTAMP=318
 | 
			
		||||
T_CURRENT_USER=319
 | 
			
		||||
T_DENSE_RANK=320
 | 
			
		||||
T_FIRST_VALUE=321
 | 
			
		||||
T_LAG=322
 | 
			
		||||
T_LAST_VALUE=323
 | 
			
		||||
T_LEAD=324
 | 
			
		||||
T_MAX_PART_STRING=325
 | 
			
		||||
T_MIN_PART_STRING=326
 | 
			
		||||
T_MAX_PART_INT=327
 | 
			
		||||
T_MIN_PART_INT=328
 | 
			
		||||
T_MAX_PART_DATE=329
 | 
			
		||||
T_MIN_PART_DATE=330
 | 
			
		||||
T_PART_COUNT=331
 | 
			
		||||
T_PART_LOC=332
 | 
			
		||||
T_RANK=333
 | 
			
		||||
T_ROW_NUMBER=334
 | 
			
		||||
T_STDEV=335
 | 
			
		||||
T_SYSDATE=336
 | 
			
		||||
T_VARIANCE=337
 | 
			
		||||
T_USER=338
 | 
			
		||||
T_ADD=339
 | 
			
		||||
T_COLON=340
 | 
			
		||||
T_COMMA=341
 | 
			
		||||
T_PIPE=342
 | 
			
		||||
T_DIV=343
 | 
			
		||||
T_DOT=344
 | 
			
		||||
T_DOT2=345
 | 
			
		||||
T_EQUAL=346
 | 
			
		||||
T_EQUAL2=347
 | 
			
		||||
T_SHARP=348
 | 
			
		||||
T_NOTE=349
 | 
			
		||||
T_NOTEQUAL=350
 | 
			
		||||
T_NOTEQUAL2=351
 | 
			
		||||
T_GREATER=352
 | 
			
		||||
T_GREATEREQUAL=353
 | 
			
		||||
T_LESS=354
 | 
			
		||||
T_LESSEQUAL=355
 | 
			
		||||
T_MUL=356
 | 
			
		||||
T_PRECENT=357
 | 
			
		||||
T_CALLS=358
 | 
			
		||||
T_OPEN_B=359
 | 
			
		||||
T_OPEN_P=360
 | 
			
		||||
T_OPEN_SB=361
 | 
			
		||||
T_CLOSE_B=362
 | 
			
		||||
T_CLOSE_P=363
 | 
			
		||||
T_CLOSE_SB=364
 | 
			
		||||
T_SEMICOLON=365
 | 
			
		||||
T_SUB=366
 | 
			
		||||
L_ID=367
 | 
			
		||||
L_S_STRING=368
 | 
			
		||||
L_D_STRING=369
 | 
			
		||||
L_INT=370
 | 
			
		||||
L_DEC=371
 | 
			
		||||
L_WS=372
 | 
			
		||||
L_M_COMMENT=373
 | 
			
		||||
L_S_COMMENT=374
 | 
			
		||||
L_FILE=375
 | 
			
		||||
L_LABEL=376
 | 
			
		||||
'+'=339
 | 
			
		||||
':'=340
 | 
			
		||||
','=341
 | 
			
		||||
'||'=342
 | 
			
		||||
'/'=343
 | 
			
		||||
'.'=344
 | 
			
		||||
'..'=345
 | 
			
		||||
'='=346
 | 
			
		||||
'=='=347
 | 
			
		||||
'#'=348
 | 
			
		||||
'!'=349
 | 
			
		||||
'<>'=350
 | 
			
		||||
'!='=351
 | 
			
		||||
'>'=352
 | 
			
		||||
'>='=353
 | 
			
		||||
'<'=354
 | 
			
		||||
'<='=355
 | 
			
		||||
'*'=356
 | 
			
		||||
'%'=357
 | 
			
		||||
'@'=358
 | 
			
		||||
'{'=359
 | 
			
		||||
'('=360
 | 
			
		||||
'['=361
 | 
			
		||||
'}'=362
 | 
			
		||||
')'=363
 | 
			
		||||
']'=364
 | 
			
		||||
';'=365
 | 
			
		||||
'-'=366
 | 
			
		||||
 | 
			
		||||
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							@ -1,20 +1,404 @@
 | 
			
		||||
T__0=1
 | 
			
		||||
T__1=2
 | 
			
		||||
T__2=3
 | 
			
		||||
T__3=4
 | 
			
		||||
T__4=5
 | 
			
		||||
T__5=6
 | 
			
		||||
T__6=7
 | 
			
		||||
T__7=8
 | 
			
		||||
T__8=9
 | 
			
		||||
T__9=10
 | 
			
		||||
'@'=1
 | 
			
		||||
'#'=2
 | 
			
		||||
'/'=3
 | 
			
		||||
'%'=4
 | 
			
		||||
'.'=5
 | 
			
		||||
'*'=6
 | 
			
		||||
'!'=7
 | 
			
		||||
';'=8
 | 
			
		||||
'-'=9
 | 
			
		||||
'+'=10
 | 
			
		||||
T_ACTION=1
 | 
			
		||||
T_ADD2=2
 | 
			
		||||
T_ALL=3
 | 
			
		||||
T_ALLOCATE=4
 | 
			
		||||
T_ALTER=5
 | 
			
		||||
T_AND=6
 | 
			
		||||
T_ANSI_NULLS=7
 | 
			
		||||
T_ANSI_PADDING=8
 | 
			
		||||
T_AS=9
 | 
			
		||||
T_ASC=10
 | 
			
		||||
T_ASSOCIATE=11
 | 
			
		||||
T_AT=12
 | 
			
		||||
T_AUTO_INCREMENT=13
 | 
			
		||||
T_AVG=14
 | 
			
		||||
T_BATCHSIZE=15
 | 
			
		||||
T_BEGIN=16
 | 
			
		||||
T_BETWEEN=17
 | 
			
		||||
T_BIGINT=18
 | 
			
		||||
T_BINARY_DOUBLE=19
 | 
			
		||||
T_BINARY_FLOAT=20
 | 
			
		||||
T_BINARY_INTEGER=21
 | 
			
		||||
T_BIT=22
 | 
			
		||||
T_BODY=23
 | 
			
		||||
T_BREAK=24
 | 
			
		||||
T_BY=25
 | 
			
		||||
T_BYTE=26
 | 
			
		||||
T_CALL=27
 | 
			
		||||
T_CALLER=28
 | 
			
		||||
T_CASCADE=29
 | 
			
		||||
T_CASE=30
 | 
			
		||||
T_CASESPECIFIC=31
 | 
			
		||||
T_CAST=32
 | 
			
		||||
T_CHAR=33
 | 
			
		||||
T_CHARACTER=34
 | 
			
		||||
T_CHARSET=35
 | 
			
		||||
T_CLIENT=36
 | 
			
		||||
T_CLOSE=37
 | 
			
		||||
T_CLUSTERED=38
 | 
			
		||||
T_CMP=39
 | 
			
		||||
T_COLLECT=40
 | 
			
		||||
T_COLLECTION=41
 | 
			
		||||
T_COLUMN=42
 | 
			
		||||
T_COMMENT=43
 | 
			
		||||
T_CONSTANT=44
 | 
			
		||||
T_COMMIT=45
 | 
			
		||||
T_COMPRESS=46
 | 
			
		||||
T_CONCAT=47
 | 
			
		||||
T_CONDITION=48
 | 
			
		||||
T_CONSTRAINT=49
 | 
			
		||||
T_CONTINUE=50
 | 
			
		||||
T_COPY=51
 | 
			
		||||
T_COUNT=52
 | 
			
		||||
T_COUNT_BIG=53
 | 
			
		||||
T_CREATE=54
 | 
			
		||||
T_CREATION=55
 | 
			
		||||
T_CREATOR=56
 | 
			
		||||
T_CS=57
 | 
			
		||||
T_CURRENT=58
 | 
			
		||||
T_CURRENT_SCHEMA=59
 | 
			
		||||
T_CURSOR=60
 | 
			
		||||
T_DATABASE=61
 | 
			
		||||
T_DATA=62
 | 
			
		||||
T_DATE=63
 | 
			
		||||
T_DATETIME=64
 | 
			
		||||
T_DAY=65
 | 
			
		||||
T_DAYS=66
 | 
			
		||||
T_DEC=67
 | 
			
		||||
T_DECIMAL=68
 | 
			
		||||
T_DECLARE=69
 | 
			
		||||
T_DEFAULT=70
 | 
			
		||||
T_DEFERRED=71
 | 
			
		||||
T_DEFINED=72
 | 
			
		||||
T_DEFINER=73
 | 
			
		||||
T_DEFINITION=74
 | 
			
		||||
T_DELETE=75
 | 
			
		||||
T_DELIMITED=76
 | 
			
		||||
T_DELIMITER=77
 | 
			
		||||
T_DESC=78
 | 
			
		||||
T_DESCRIBE=79
 | 
			
		||||
T_DIAGNOSTICS=80
 | 
			
		||||
T_DIR=81
 | 
			
		||||
T_DIRECTORY=82
 | 
			
		||||
T_DISTINCT=83
 | 
			
		||||
T_DISTRIBUTE=84
 | 
			
		||||
T_DO=85
 | 
			
		||||
T_DOUBLE=86
 | 
			
		||||
T_DROP=87
 | 
			
		||||
T_DYNAMIC=88
 | 
			
		||||
T_ELSE=89
 | 
			
		||||
T_ELSEIF=90
 | 
			
		||||
T_ELSIF=91
 | 
			
		||||
T_ENABLE=92
 | 
			
		||||
T_END=93
 | 
			
		||||
T_ENGINE=94
 | 
			
		||||
T_ESCAPED=95
 | 
			
		||||
T_EXCEPT=96
 | 
			
		||||
T_EXEC=97
 | 
			
		||||
T_EXECUTE=98
 | 
			
		||||
T_EXCEPTION=99
 | 
			
		||||
T_EXCLUSIVE=100
 | 
			
		||||
T_EXISTS=101
 | 
			
		||||
T_EXIT=102
 | 
			
		||||
T_FALLBACK=103
 | 
			
		||||
T_FALSE=104
 | 
			
		||||
T_FETCH=105
 | 
			
		||||
T_FIELDS=106
 | 
			
		||||
T_FILE=107
 | 
			
		||||
T_FILES=108
 | 
			
		||||
T_FLOAT=109
 | 
			
		||||
T_FOR=110
 | 
			
		||||
T_FOREIGN=111
 | 
			
		||||
T_FORMAT=112
 | 
			
		||||
T_FOUND=113
 | 
			
		||||
T_FROM=114
 | 
			
		||||
T_FULL=115
 | 
			
		||||
T_FUNCTION=116
 | 
			
		||||
T_GET=117
 | 
			
		||||
T_GLOBAL=118
 | 
			
		||||
T_GO=119
 | 
			
		||||
T_GRANT=120
 | 
			
		||||
T_GROUP=121
 | 
			
		||||
T_HANDLER=122
 | 
			
		||||
T_HASH=123
 | 
			
		||||
T_HAVING=124
 | 
			
		||||
T_HDFS=125
 | 
			
		||||
T_HIVE=126
 | 
			
		||||
T_HOST=127
 | 
			
		||||
T_IDENTITY=128
 | 
			
		||||
T_IF=129
 | 
			
		||||
T_IGNORE=130
 | 
			
		||||
T_IMMEDIATE=131
 | 
			
		||||
T_IN=132
 | 
			
		||||
T_INCLUDE=133
 | 
			
		||||
T_INDEX=134
 | 
			
		||||
T_INITRANS=135
 | 
			
		||||
T_INNER=136
 | 
			
		||||
T_INOUT=137
 | 
			
		||||
T_INSERT=138
 | 
			
		||||
T_INT=139
 | 
			
		||||
T_INT2=140
 | 
			
		||||
T_INT4=141
 | 
			
		||||
T_INT8=142
 | 
			
		||||
T_INTEGER=143
 | 
			
		||||
T_INTERSECT=144
 | 
			
		||||
T_INTERVAL=145
 | 
			
		||||
T_INTO=146
 | 
			
		||||
T_INVOKER=147
 | 
			
		||||
T_IS=148
 | 
			
		||||
T_ISOPEN=149
 | 
			
		||||
T_ITEMS=150
 | 
			
		||||
T_JOIN=151
 | 
			
		||||
T_KEEP=152
 | 
			
		||||
T_KEY=153
 | 
			
		||||
T_KEYS=154
 | 
			
		||||
T_LANGUAGE=155
 | 
			
		||||
T_LEAVE=156
 | 
			
		||||
T_LEFT=157
 | 
			
		||||
T_LIKE=158
 | 
			
		||||
T_LIMIT=159
 | 
			
		||||
T_LINES=160
 | 
			
		||||
T_LOCAL=161
 | 
			
		||||
T_LOCATION=162
 | 
			
		||||
T_LOCATOR=163
 | 
			
		||||
T_LOCATORS=164
 | 
			
		||||
T_LOCKS=165
 | 
			
		||||
T_LOG=166
 | 
			
		||||
T_LOGGED=167
 | 
			
		||||
T_LOGGING=168
 | 
			
		||||
T_LOOP=169
 | 
			
		||||
T_MAP=170
 | 
			
		||||
T_MATCHED=171
 | 
			
		||||
T_MAX=172
 | 
			
		||||
T_MAXTRANS=173
 | 
			
		||||
T_MERGE=174
 | 
			
		||||
T_MESSAGE_TEXT=175
 | 
			
		||||
T_MICROSECOND=176
 | 
			
		||||
T_MICROSECONDS=177
 | 
			
		||||
T_MIN=178
 | 
			
		||||
T_MULTISET=179
 | 
			
		||||
T_NCHAR=180
 | 
			
		||||
T_NEW=181
 | 
			
		||||
T_NVARCHAR=182
 | 
			
		||||
T_NO=183
 | 
			
		||||
T_NOCOUNT=184
 | 
			
		||||
T_NOCOMPRESS=185
 | 
			
		||||
T_NOLOGGING=186
 | 
			
		||||
T_NONE=187
 | 
			
		||||
T_NOT=188
 | 
			
		||||
T_NOTFOUND=189
 | 
			
		||||
T_NULL=190
 | 
			
		||||
T_NUMERIC=191
 | 
			
		||||
T_NUMBER=192
 | 
			
		||||
T_OBJECT=193
 | 
			
		||||
T_OFF=194
 | 
			
		||||
T_ON=195
 | 
			
		||||
T_ONLY=196
 | 
			
		||||
T_OPEN=197
 | 
			
		||||
T_OR=198
 | 
			
		||||
T_ORDER=199
 | 
			
		||||
T_OUT=200
 | 
			
		||||
T_OUTER=201
 | 
			
		||||
T_OVER=202
 | 
			
		||||
T_OVERWRITE=203
 | 
			
		||||
T_OWNER=204
 | 
			
		||||
T_PACKAGE=205
 | 
			
		||||
T_PARTITION=206
 | 
			
		||||
T_PCTFREE=207
 | 
			
		||||
T_PCTUSED=208
 | 
			
		||||
T_PLS_INTEGER=209
 | 
			
		||||
T_PRECISION=210
 | 
			
		||||
T_PRESERVE=211
 | 
			
		||||
T_PRIMARY=212
 | 
			
		||||
T_PRINT=213
 | 
			
		||||
T_PROC=214
 | 
			
		||||
T_PROCEDURE=215
 | 
			
		||||
T_QUALIFY=216
 | 
			
		||||
T_QUERY_BAND=217
 | 
			
		||||
T_QUIT=218
 | 
			
		||||
T_QUOTED_IDENTIFIER=219
 | 
			
		||||
T_RAISE=220
 | 
			
		||||
T_REAL=221
 | 
			
		||||
T_REFERENCES=222
 | 
			
		||||
T_REGEXP=223
 | 
			
		||||
T_REPLACE=224
 | 
			
		||||
T_RESIGNAL=225
 | 
			
		||||
T_RESTRICT=226
 | 
			
		||||
T_RESULT=227
 | 
			
		||||
T_RESULT_SET_LOCATOR=228
 | 
			
		||||
T_RETURN=229
 | 
			
		||||
T_RETURNS=230
 | 
			
		||||
T_REVERSE=231
 | 
			
		||||
T_RIGHT=232
 | 
			
		||||
T_RLIKE=233
 | 
			
		||||
T_ROLE=234
 | 
			
		||||
T_ROLLBACK=235
 | 
			
		||||
T_ROW=236
 | 
			
		||||
T_ROWS=237
 | 
			
		||||
T_ROWTYPE=238
 | 
			
		||||
T_ROW_COUNT=239
 | 
			
		||||
T_RR=240
 | 
			
		||||
T_RS=241
 | 
			
		||||
T_PWD=242
 | 
			
		||||
T_TRIM=243
 | 
			
		||||
T_SCHEMA=244
 | 
			
		||||
T_SECOND=245
 | 
			
		||||
T_SECONDS=246
 | 
			
		||||
T_SECURITY=247
 | 
			
		||||
T_SEGMENT=248
 | 
			
		||||
T_SEL=249
 | 
			
		||||
T_SELECT=250
 | 
			
		||||
T_SET=251
 | 
			
		||||
T_SESSION=252
 | 
			
		||||
T_SESSIONS=253
 | 
			
		||||
T_SETS=254
 | 
			
		||||
T_SHARE=255
 | 
			
		||||
T_SIGNAL=256
 | 
			
		||||
T_SIMPLE_DOUBLE=257
 | 
			
		||||
T_SIMPLE_FLOAT=258
 | 
			
		||||
T_SIMPLE_INTEGER=259
 | 
			
		||||
T_SMALLDATETIME=260
 | 
			
		||||
T_SMALLINT=261
 | 
			
		||||
T_SQL=262
 | 
			
		||||
T_SQLEXCEPTION=263
 | 
			
		||||
T_SQLINSERT=264
 | 
			
		||||
T_SQLSTATE=265
 | 
			
		||||
T_SQLWARNING=266
 | 
			
		||||
T_STATS=267
 | 
			
		||||
T_STATISTICS=268
 | 
			
		||||
T_STEP=269
 | 
			
		||||
T_STORAGE=270
 | 
			
		||||
T_STORED=271
 | 
			
		||||
T_STRING=272
 | 
			
		||||
T_SUBDIR=273
 | 
			
		||||
T_SUBSTRING=274
 | 
			
		||||
T_SUM=275
 | 
			
		||||
T_SUMMARY=276
 | 
			
		||||
T_SYS_REFCURSOR=277
 | 
			
		||||
T_TABLE=278
 | 
			
		||||
T_TABLESPACE=279
 | 
			
		||||
T_TEMPORARY=280
 | 
			
		||||
T_TERMINATED=281
 | 
			
		||||
T_TEXTIMAGE_ON=282
 | 
			
		||||
T_THEN=283
 | 
			
		||||
T_TIMESTAMP=284
 | 
			
		||||
T_TINYINT=285
 | 
			
		||||
T_TITLE=286
 | 
			
		||||
T_TO=287
 | 
			
		||||
T_TOP=288
 | 
			
		||||
T_TRANSACTION=289
 | 
			
		||||
T_TRUE=290
 | 
			
		||||
T_TRUNCATE=291
 | 
			
		||||
T_TYPE=292
 | 
			
		||||
T_UNION=293
 | 
			
		||||
T_UNIQUE=294
 | 
			
		||||
T_UPDATE=295
 | 
			
		||||
T_UR=296
 | 
			
		||||
T_USE=297
 | 
			
		||||
T_USING=298
 | 
			
		||||
T_VALUE=299
 | 
			
		||||
T_VALUES=300
 | 
			
		||||
T_VAR=301
 | 
			
		||||
T_VARCHAR=302
 | 
			
		||||
T_VARCHAR2=303
 | 
			
		||||
T_VARYING=304
 | 
			
		||||
T_VOLATILE=305
 | 
			
		||||
T_WHEN=306
 | 
			
		||||
T_WHERE=307
 | 
			
		||||
T_WHILE=308
 | 
			
		||||
T_WITH=309
 | 
			
		||||
T_WITHOUT=310
 | 
			
		||||
T_WORK=311
 | 
			
		||||
T_XACT_ABORT=312
 | 
			
		||||
T_XML=313
 | 
			
		||||
T_YES=314
 | 
			
		||||
T_ACTIVITY_COUNT=315
 | 
			
		||||
T_CUME_DIST=316
 | 
			
		||||
T_CURRENT_DATE=317
 | 
			
		||||
T_CURRENT_TIMESTAMP=318
 | 
			
		||||
T_CURRENT_USER=319
 | 
			
		||||
T_DENSE_RANK=320
 | 
			
		||||
T_FIRST_VALUE=321
 | 
			
		||||
T_LAG=322
 | 
			
		||||
T_LAST_VALUE=323
 | 
			
		||||
T_LEAD=324
 | 
			
		||||
T_MAX_PART_STRING=325
 | 
			
		||||
T_MIN_PART_STRING=326
 | 
			
		||||
T_MAX_PART_INT=327
 | 
			
		||||
T_MIN_PART_INT=328
 | 
			
		||||
T_MAX_PART_DATE=329
 | 
			
		||||
T_MIN_PART_DATE=330
 | 
			
		||||
T_PART_COUNT=331
 | 
			
		||||
T_PART_LOC=332
 | 
			
		||||
T_RANK=333
 | 
			
		||||
T_ROW_NUMBER=334
 | 
			
		||||
T_STDEV=335
 | 
			
		||||
T_SYSDATE=336
 | 
			
		||||
T_VARIANCE=337
 | 
			
		||||
T_USER=338
 | 
			
		||||
T_ADD=339
 | 
			
		||||
T_COLON=340
 | 
			
		||||
T_COMMA=341
 | 
			
		||||
T_PIPE=342
 | 
			
		||||
T_DIV=343
 | 
			
		||||
T_DOT=344
 | 
			
		||||
T_DOT2=345
 | 
			
		||||
T_EQUAL=346
 | 
			
		||||
T_EQUAL2=347
 | 
			
		||||
T_SHARP=348
 | 
			
		||||
T_NOTE=349
 | 
			
		||||
T_NOTEQUAL=350
 | 
			
		||||
T_NOTEQUAL2=351
 | 
			
		||||
T_GREATER=352
 | 
			
		||||
T_GREATEREQUAL=353
 | 
			
		||||
T_LESS=354
 | 
			
		||||
T_LESSEQUAL=355
 | 
			
		||||
T_MUL=356
 | 
			
		||||
T_PRECENT=357
 | 
			
		||||
T_CALLS=358
 | 
			
		||||
T_OPEN_B=359
 | 
			
		||||
T_OPEN_P=360
 | 
			
		||||
T_OPEN_SB=361
 | 
			
		||||
T_CLOSE_B=362
 | 
			
		||||
T_CLOSE_P=363
 | 
			
		||||
T_CLOSE_SB=364
 | 
			
		||||
T_SEMICOLON=365
 | 
			
		||||
T_SUB=366
 | 
			
		||||
L_ID=367
 | 
			
		||||
L_S_STRING=368
 | 
			
		||||
L_D_STRING=369
 | 
			
		||||
L_INT=370
 | 
			
		||||
L_DEC=371
 | 
			
		||||
L_WS=372
 | 
			
		||||
L_M_COMMENT=373
 | 
			
		||||
L_S_COMMENT=374
 | 
			
		||||
L_FILE=375
 | 
			
		||||
L_LABEL=376
 | 
			
		||||
'+'=339
 | 
			
		||||
':'=340
 | 
			
		||||
','=341
 | 
			
		||||
'||'=342
 | 
			
		||||
'/'=343
 | 
			
		||||
'.'=344
 | 
			
		||||
'..'=345
 | 
			
		||||
'='=346
 | 
			
		||||
'=='=347
 | 
			
		||||
'#'=348
 | 
			
		||||
'!'=349
 | 
			
		||||
'<>'=350
 | 
			
		||||
'!='=351
 | 
			
		||||
'>'=352
 | 
			
		||||
'>='=353
 | 
			
		||||
'<'=354
 | 
			
		||||
'<='=355
 | 
			
		||||
'*'=356
 | 
			
		||||
'%'=357
 | 
			
		||||
'@'=358
 | 
			
		||||
'{'=359
 | 
			
		||||
'('=360
 | 
			
		||||
'['=361
 | 
			
		||||
'}'=362
 | 
			
		||||
')'=363
 | 
			
		||||
']'=364
 | 
			
		||||
';'=365
 | 
			
		||||
'-'=366
 | 
			
		||||
 | 
			
		||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							@ -1,6 +1,6 @@
 | 
			
		||||
import { InputStream, CommonTokenStream, Lexer } from 'antlr4';
 | 
			
		||||
import { HiveSqlLexer } from '../lib/hive/HiveSqlLexer';
 | 
			
		||||
import { HiveSqlParser } from '../lib/hive/HiveSqlParser';
 | 
			
		||||
import { HiveSql } from '../lib/hive/HiveSql';
 | 
			
		||||
export * from '../lib/hive/HiveSqlListener';
 | 
			
		||||
export * from '../lib/hive/HiveSqlVisitor';
 | 
			
		||||
 | 
			
		||||
@ -14,7 +14,7 @@ export default class HiveSQL extends BasicParser {
 | 
			
		||||
    }
 | 
			
		||||
    public createParserFromLexer(lexer: Lexer) {
 | 
			
		||||
        const tokenStream = new CommonTokenStream(lexer);
 | 
			
		||||
        return new HiveSqlParser(tokenStream);
 | 
			
		||||
        return new HiveSql(tokenStream);
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -2,11 +2,15 @@ import SQLParser from '../../../src/parser/hive';
 | 
			
		||||
 | 
			
		||||
describe('HiveSQL Lexer tests', () => {
 | 
			
		||||
    const parser = new SQLParser();
 | 
			
		||||
    // select id,name,sex from user1;
 | 
			
		||||
    const sql = 'SELECT * FROM t1';
 | 
			
		||||
    const tokens = parser.getAllTokens(sql);
 | 
			
		||||
    test('select token counts', () => {
 | 
			
		||||
        const sql = 'SELECT * FROM t1';
 | 
			
		||||
        const tokens = parser.getAllTokens(sql);
 | 
			
		||||
        expect(tokens.length).toBe(4);
 | 
			
		||||
    });
 | 
			
		||||
 | 
			
		||||
    test('token counts', () => {
 | 
			
		||||
        expect(tokens.length).toBe(12);
 | 
			
		||||
    test('select token counts', () => {
 | 
			
		||||
        const sql = 'show create table_name;';
 | 
			
		||||
        const tokens = parser.getAllTokens(sql);
 | 
			
		||||
        expect(tokens.length).toBe(4);
 | 
			
		||||
    });
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
@ -1,17 +1,16 @@
 | 
			
		||||
import SQLParser, { HiveSqlListener } from '../../../src/parser/hive';
 | 
			
		||||
 | 
			
		||||
describe('Hive SQL Listener Tests', () => {
 | 
			
		||||
    const expectTableName = 'user1';
 | 
			
		||||
    const sql = `select id,name,sex from ${expectTableName};`;
 | 
			
		||||
    const parser = new SQLParser();
 | 
			
		||||
    test('Listener enterSelectList', async () => {
 | 
			
		||||
        const expectTableName = 'userName';
 | 
			
		||||
        const sql = `select ${expectTableName} from user1 where inc_day='20190601' limit 1000;`;
 | 
			
		||||
        const parserTree = parser.parse(sql);
 | 
			
		||||
 | 
			
		||||
    const parserTree = parser.parse(sql);
 | 
			
		||||
 | 
			
		||||
    test('Listener enterTableName', async () => {
 | 
			
		||||
        let result = '';
 | 
			
		||||
        class MyListener extends HiveSqlListener {
 | 
			
		||||
            enterTableName(ctx): void {
 | 
			
		||||
                result = ctx.getText().toLowerCase();
 | 
			
		||||
            enterSelect_list(ctx): void {
 | 
			
		||||
                result = ctx.getText();
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        const listenTableName: any = new MyListener();
 | 
			
		||||
@ -19,4 +18,18 @@ describe('Hive SQL Listener Tests', () => {
 | 
			
		||||
        await parser.listen(listenTableName, parserTree);
 | 
			
		||||
        expect(result).toBe(expectTableName);
 | 
			
		||||
    });
 | 
			
		||||
    test('Listener enterCreateTable', async () => {
 | 
			
		||||
        const sql = `drop table table_name;`;
 | 
			
		||||
        const parserTree = parser.parse(sql);
 | 
			
		||||
        let result = '';
 | 
			
		||||
        class MyListener extends HiveSqlListener {
 | 
			
		||||
            enterDrop_stmt(ctx): void {
 | 
			
		||||
                result = ctx.getText();
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        const listenTableName: any = new MyListener();
 | 
			
		||||
 | 
			
		||||
        await parser.listen(listenTableName, parserTree);
 | 
			
		||||
        expect(result).toBe('droptabletable_name');
 | 
			
		||||
    });
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
@ -2,17 +2,21 @@ import SQLParser from '../../../src/parser/hive';
 | 
			
		||||
 | 
			
		||||
describe('Hive SQL Syntax Tests', () => {
 | 
			
		||||
    const parser = new SQLParser();
 | 
			
		||||
 | 
			
		||||
    test('Select Statement', () => {
 | 
			
		||||
        const sql = 'SELECT * FROM employee WHERE salary>30000;';
 | 
			
		||||
        const result = parser.validate(sql);
 | 
			
		||||
 | 
			
		||||
        expect(result.length).toBe(0);
 | 
			
		||||
    });
 | 
			
		||||
 | 
			
		||||
    test('Select 1+1', () => {
 | 
			
		||||
        const sql = 'SELECT 1+1;';
 | 
			
		||||
    test('Create Table Statement', () => {
 | 
			
		||||
        const sql = 'CREATE TABLE person(name STRING,age INT);';
 | 
			
		||||
        const result = parser.validate(sql);
 | 
			
		||||
        expect(result.length).toBe(0);
 | 
			
		||||
    });
 | 
			
		||||
});
 | 
			
		||||
    test('Create Table Statement', () => {
 | 
			
		||||
        const sql = `alter table dm_gis.table_name add if not exists partition (inc_day = '20190601');`;
 | 
			
		||||
        const result = parser.validate(sql);
 | 
			
		||||
        expect(result.length).toBe(0);
 | 
			
		||||
    });
 | 
			
		||||
    test('Wrong Select Statement', () => {
 | 
			
		||||
        const sql = 'SELECT add ABC from Where ;'
 | 
			
		||||
        const result = parser.validate(sql);
 | 
			
		||||
        expect(result.length).toBe(2);
 | 
			
		||||
        expect(result[0].message).toBe(`no viable alternative at input 'SELECTaddABCfromWhere'`)
 | 
			
		||||
        expect(result[1].message).toBe(`mismatched input 'Where' expecting <EOF>`)
 | 
			
		||||
    });
 | 
			
		||||
});
 | 
			
		||||
@ -1,15 +1,15 @@
 | 
			
		||||
import SQLParser, { HiveSqlVisitor } from '../../../src/parser/hive';
 | 
			
		||||
 | 
			
		||||
describe('Generic SQL Visitor Tests', () => {
 | 
			
		||||
    const expectTableName = 'user1';
 | 
			
		||||
    const sql = `select id,name,sex from ${expectTableName};`;
 | 
			
		||||
    const expectTableName = 'dm_gis.dlv_addr_tc_count';
 | 
			
		||||
    const sql = `select citycode,tc,inc_day from ${expectTableName} where inc_day='20190501' limit 100;`;
 | 
			
		||||
    const parser = new SQLParser();
 | 
			
		||||
 | 
			
		||||
    const parserTree = parser.parse(sql, (error) => {
 | 
			
		||||
        console.log('Parse error:', error);
 | 
			
		||||
    });
 | 
			
		||||
 | 
			
		||||
    console.log('Parser tree string:', parser.toString(parserTree));
 | 
			
		||||
    // console.log('Parser tree string:', parser.toString(parserTree));
 | 
			
		||||
 | 
			
		||||
    test('Visitor visitTableName', () => {
 | 
			
		||||
        let result = '';
 | 
			
		||||
@ -19,6 +19,7 @@ describe('Generic SQL Visitor Tests', () => {
 | 
			
		||||
                super.visitTable_name(ctx);
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        const visitor: any = new MyVisitor();
 | 
			
		||||
        visitor.visit(parserTree);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user